@cleavelandprice/ngx-lib 4.2.0 → 4.3.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 (80) hide show
  1. package/README.md +5 -5
  2. package/esm2022/active-directory/active-directory.module.mjs +4 -4
  3. package/esm2022/active-directory/material/components/user-chooser/user-chooser.component.mjs +5 -5
  4. package/esm2022/active-directory/material/components/user-form-field/user-form-field.component.mjs +5 -5
  5. package/esm2022/active-directory/material/mat-active-directory.module.mjs +5 -5
  6. package/esm2022/active-directory/services/active-directory.service.mjs +3 -3
  7. package/esm2022/authentication/authentication.base.module.mjs +4 -4
  8. package/esm2022/authentication/material/components/login/login.component.mjs +5 -5
  9. package/esm2022/authentication/material/components/login-form/login-form.component.mjs +5 -5
  10. package/esm2022/authentication/material/mat-authentication.module.mjs +4 -4
  11. package/esm2022/authentication/material/services/mat-authentication.service.mjs +3 -3
  12. package/esm2022/authentication/object/authentication-object.module.mjs +4 -4
  13. package/esm2022/authentication/object/services/authentication-object.service.mjs +3 -3
  14. package/esm2022/authentication/token/authetiction-token.module.mjs +4 -4
  15. package/esm2022/authentication/token/services/authentication-token.service.mjs +3 -3
  16. package/esm2022/dialog/components/base/base.component.mjs +5 -5
  17. package/esm2022/dialog/components/choice/choice.component.mjs +5 -5
  18. package/esm2022/dialog/components/confirmation/confirmation.component.mjs +5 -5
  19. package/esm2022/dialog/components/input/input.component.mjs +5 -5
  20. package/esm2022/dialog/components/message/message.component.mjs +5 -5
  21. package/esm2022/dialog/dialog.module.mjs +5 -5
  22. package/esm2022/lib/ngx-lib.module.mjs +4 -4
  23. package/esm2022/lib/services/app-path-config.service.mjs +3 -3
  24. package/esm2022/msgraph/msgraph.module.mjs +5 -5
  25. package/esm2022/quill/components/editor/editor.component.mjs +6 -6
  26. package/esm2022/quill/components/raw/raw.component.mjs +5 -5
  27. package/esm2022/quill/mention/components/editor/editor.component.mjs +6 -18
  28. package/esm2022/quill/mention/quill-mention.module.mjs +4 -4
  29. package/esm2022/quill/quill.module.mjs +4 -4
  30. package/esm2022/sharepoint/components/user-photo/user-photo.component.mjs +3 -3
  31. package/esm2022/sharepoint/pipes/user-photo-url.pipe.mjs +4 -4
  32. package/esm2022/sharepoint/services/sharepoint.service.mjs +3 -3
  33. package/esm2022/sharepoint/sharepoint.module.mjs +4 -4
  34. package/esm2022/table/components/table/table.component.mjs +15 -6
  35. package/esm2022/table/model/table-column.mjs +1 -1
  36. package/esm2022/table/pipes/decimalPoints.mjs +14 -0
  37. package/esm2022/table/pipes/roundNumber.mjs +14 -0
  38. package/esm2022/table/table.api.mjs +3 -1
  39. package/esm2022/table/table.module.mjs +18 -8
  40. package/esm2022/upload/components/upload/upload.component.mjs +3 -3
  41. package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +5 -5
  42. package/esm2022/upload/services/upload.service.mjs +3 -3
  43. package/esm2022/upload/upload.module.mjs +4 -4
  44. package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +4 -4
  45. package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +4 -4
  46. package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +4 -4
  47. package/esm2022/url-utilities/url-utilities.module.mjs +5 -5
  48. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs +12 -12
  49. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs.map +1 -1
  50. package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs +7 -7
  51. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs +15 -15
  52. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs.map +1 -1
  53. package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs +7 -7
  54. package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs +7 -7
  55. package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs +4 -4
  56. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs +24 -24
  57. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  58. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs +4 -4
  59. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
  60. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +9 -21
  61. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
  62. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +13 -13
  63. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
  64. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs +13 -13
  65. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
  66. package/fesm2022/cleavelandprice-ngx-lib-table.mjs +53 -14
  67. package/fesm2022/cleavelandprice-ngx-lib-table.mjs.map +1 -1
  68. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs +14 -14
  69. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
  70. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs +13 -13
  71. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
  72. package/fesm2022/cleavelandprice-ngx-lib.mjs +7 -7
  73. package/package.json +7 -7
  74. package/quill/mention/components/editor/editor.component.d.ts +0 -4
  75. package/table/components/table/table.component.d.ts +3 -1
  76. package/table/model/table-column.d.ts +5 -1
  77. package/table/pipes/decimalPoints.d.ts +7 -0
  78. package/table/pipes/roundNumber.d.ts +7 -0
  79. package/table/table.api.d.ts +2 -0
  80. package/table/table.module.d.ts +3 -1
@@ -13,8 +13,8 @@ import { InputComponent } from './components/input/input.component';
13
13
  import { MessageComponent } from './components/message/message.component';
14
14
  import * as i0 from "@angular/core";
15
15
  export class DialogModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: DialogModule, imports: [CommonModule,
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: DialogModule, imports: [CommonModule,
18
18
  FormsModule,
19
19
  MatButtonModule,
20
20
  MatCheckboxModule,
@@ -30,7 +30,7 @@ export class DialogModule {
30
30
  ConfirmationComponent,
31
31
  InputComponent,
32
32
  MessageComponent] }); }
33
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DialogModule, imports: [CommonModule,
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DialogModule, imports: [CommonModule,
34
34
  FormsModule,
35
35
  MatButtonModule,
36
36
  MatCheckboxModule,
@@ -43,7 +43,7 @@ export class DialogModule {
43
43
  InputComponent,
44
44
  MessageComponent] }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DialogModule, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DialogModule, decorators: [{
47
47
  type: NgModule,
48
48
  args: [{
49
49
  declarations: [],
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
70
70
  ]
71
71
  }]
72
72
  }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2RpYWxvZy9zcmMvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBNEIxRSxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksWUF2QnJCLFlBQVk7WUFDWixXQUFXO1lBRVgsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFFZCxhQUFhO1lBQ2IsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2QsZ0JBQWdCLGFBR2hCLGFBQWE7WUFDYixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGNBQWM7WUFDZCxnQkFBZ0I7K0dBR1AsWUFBWSxZQXZCckIsWUFBWTtZQUNaLFdBQVc7WUFFWCxlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUVkLGFBQWE7WUFDYixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGNBQWM7WUFDZCxnQkFBZ0I7OzJGQVVQLFlBQVk7a0JBMUJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUVYLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFFZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hvaWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nob2ljZS9jaG9pY2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcblxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuXG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBDaG9pY2VDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uQ29tcG9uZW50LFxuICAgIElucHV0Q29tcG9uZW50LFxuICAgIE1lc3NhZ2VDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQ2hvaWNlQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBNZXNzYWdlQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nTW9kdWxlIHsgfVxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2RpYWxvZy9zcmMvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBNEIxRSxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksWUF2QnJCLFlBQVk7WUFDWixXQUFXO1lBRVgsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFFZCxhQUFhO1lBQ2IsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2QsZ0JBQWdCLGFBR2hCLGFBQWE7WUFDYixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGNBQWM7WUFDZCxnQkFBZ0I7K0dBR1AsWUFBWSxZQXZCckIsWUFBWTtZQUNaLFdBQVc7WUFFWCxlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUVkLGFBQWE7WUFDYixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGNBQWM7WUFDZCxnQkFBZ0I7OzJGQVVQLFlBQVk7a0JBMUJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUVYLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFFZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmFzZS9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENob2ljZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaG9pY2UvY2hvaWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcblxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuXHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgQ2hvaWNlQ29tcG9uZW50LFxyXG4gICAgQ29uZmlybWF0aW9uQ29tcG9uZW50LFxyXG4gICAgSW5wdXRDb21wb25lbnQsXHJcbiAgICBNZXNzYWdlQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgQ2hvaWNlQ29tcG9uZW50LFxyXG4gICAgQ29uZmlybWF0aW9uQ29tcG9uZW50LFxyXG4gICAgSW5wdXRDb21wb25lbnQsXHJcbiAgICBNZXNzYWdlQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
@@ -18,11 +18,11 @@ export class NgxLibModule {
18
18
  throw new Error('NgxLibModule is already loaded. Import it in the AppModule only');
19
19
  }
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NgxLibModule, deps: [{ token: NgxLibModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
22
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: NgxLibModule }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NgxLibModule }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NgxLibModule, deps: [{ token: NgxLibModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
22
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: NgxLibModule }); }
23
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NgxLibModule }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NgxLibModule, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NgxLibModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  declarations: [],
@@ -33,10 +33,10 @@ export class AppPathConfigService extends NgxLibServiceBase {
33
33
  getByAppFunction(name) {
34
34
  return this.#services.http.get(`${this.#url}/function/${name}`);
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AppPathConfigService, deps: [{ token: NgxLibServiceOptionsToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AppPathConfigService, providedIn: 'root' }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AppPathConfigService, deps: [{ token: NgxLibServiceOptionsToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AppPathConfigService, providedIn: 'root' }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AppPathConfigService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AppPathConfigService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root'
@@ -7,11 +7,11 @@ export class MSGraphModule {
7
7
  throw new Error('MSGraphModule is already loaded. Import it in the AppModule only');
8
8
  }
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: MSGraphModule, deps: [{ token: MSGraphModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: MSGraphModule, imports: [CommonModule] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: MSGraphModule, imports: [CommonModule] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: MSGraphModule, deps: [{ token: MSGraphModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: MSGraphModule, imports: [CommonModule] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: MSGraphModule, imports: [CommonModule] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: MSGraphModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: MSGraphModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [],
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
24
24
  }, {
25
25
  type: SkipSelf
26
26
  }] }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNncmFwaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9tc2dyYXBoL3NyYy9tc2dyYXBoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVE3RCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFvQyxZQUEyQjtRQUM3RCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQzs4R0FOVSxhQUFhOytHQUFiLGFBQWEsWUFIdEIsWUFBWTsrR0FHSCxhQUFhLFlBSHRCLFlBQVk7OzJGQUdILGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGOzswQkFFYyxRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1TR3JhcGhNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IE1TR3JhcGhNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdNU0dyYXBoTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XG4gICAgfVxuICB9XG59Il19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNncmFwaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9tc2dyYXBoL3NyYy9tc2dyYXBoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVE3RCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFvQyxZQUEyQjtRQUM3RCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQzs4R0FOVSxhQUFhOytHQUFiLGFBQWEsWUFIdEIsWUFBWTsrR0FHSCxhQUFhLFlBSHRCLFlBQVk7OzJGQUdILGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGOzswQkFFYyxRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1TR3JhcGhNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogTVNHcmFwaE1vZHVsZSkge1xyXG4gICAgaWYgKHBhcmVudE1vZHVsZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgJ01TR3JhcGhNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
@@ -258,14 +258,14 @@ export class EditorComponent {
258
258
  registerOnTouched(fn) {
259
259
  this.onTouched = fn;
260
260
  }
261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: EditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: EditorComponent, isStandalone: true, selector: "cpquill-editor", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, fullscreenHeight: { classPropertyName: "fullscreenHeight", publicName: "fullscreenHeight", isSignal: true, isRequired: false, transformFunction: null }, fullscreenWidth: { classPropertyName: "fullscreenWidth", publicName: "fullscreenWidth", isSignal: true, isRequired: false, transformFunction: null }, fullscreenMode: { classPropertyName: "fullscreenMode", publicName: "fullscreenMode", isSignal: true, isRequired: false, transformFunction: null }, enableTooltips: { classPropertyName: "enableTooltips", publicName: "enableTooltips", isSignal: true, isRequired: false, transformFunction: null }, fullscreen: { classPropertyName: "fullscreen", publicName: "fullscreen", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, applyReadonlyStyle: { classPropertyName: "applyReadonlyStyle", publicName: "applyReadonlyStyle", isSignal: true, isRequired: false, transformFunction: null }, showToolbar: { classPropertyName: "showToolbar", publicName: "showToolbar", isSignal: true, isRequired: false, transformFunction: null }, showBorder: { classPropertyName: "showBorder", publicName: "showBorder", isSignal: true, isRequired: false, transformFunction: null }, imageResizeModule: { classPropertyName: "imageResizeModule", publicName: "imageResizeModule", isSignal: true, isRequired: false, transformFunction: null }, imageDropModule: { classPropertyName: "imageDropModule", publicName: "imageDropModule", isSignal: true, isRequired: false, transformFunction: null }, syntaxModule: { classPropertyName: "syntaxModule", publicName: "syntaxModule", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange", placeholder: "placeholderChange", format: "formatChange", height: "heightChange", width: "widthChange", fullscreenHeight: "fullscreenHeightChange", fullscreenWidth: "fullscreenWidthChange", fullscreenMode: "fullscreenModeChange", enableTooltips: "enableTooltipsChange", fullscreen: "fullscreenChange", readonly: "readonlyChange", applyReadonlyStyle: "applyReadonlyStyleChange", showToolbar: "showToolbarChange", showBorder: "showBorderChange", imageResizeModule: "imageResizeModuleChange", imageDropModule: "imageDropModuleChange", syntaxModule: "syntaxModuleChange", fullscreenChanged: "fullscreenChanged", onBlur: "onBlur", onContentChanged: "onContentChanged", onEditorChanged: "onEditorChanged", onEditorCreated: "onEditorCreated", onFocus: "onFocus", onSelectionChanged: "onSelectionChanged" }, providers: [{
261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: EditorComponent, isStandalone: true, selector: "cpquill-editor", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, fullscreenHeight: { classPropertyName: "fullscreenHeight", publicName: "fullscreenHeight", isSignal: true, isRequired: false, transformFunction: null }, fullscreenWidth: { classPropertyName: "fullscreenWidth", publicName: "fullscreenWidth", isSignal: true, isRequired: false, transformFunction: null }, fullscreenMode: { classPropertyName: "fullscreenMode", publicName: "fullscreenMode", isSignal: true, isRequired: false, transformFunction: null }, enableTooltips: { classPropertyName: "enableTooltips", publicName: "enableTooltips", isSignal: true, isRequired: false, transformFunction: null }, fullscreen: { classPropertyName: "fullscreen", publicName: "fullscreen", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, applyReadonlyStyle: { classPropertyName: "applyReadonlyStyle", publicName: "applyReadonlyStyle", isSignal: true, isRequired: false, transformFunction: null }, showToolbar: { classPropertyName: "showToolbar", publicName: "showToolbar", isSignal: true, isRequired: false, transformFunction: null }, showBorder: { classPropertyName: "showBorder", publicName: "showBorder", isSignal: true, isRequired: false, transformFunction: null }, imageResizeModule: { classPropertyName: "imageResizeModule", publicName: "imageResizeModule", isSignal: true, isRequired: false, transformFunction: null }, imageDropModule: { classPropertyName: "imageDropModule", publicName: "imageDropModule", isSignal: true, isRequired: false, transformFunction: null }, syntaxModule: { classPropertyName: "syntaxModule", publicName: "syntaxModule", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange", placeholder: "placeholderChange", format: "formatChange", height: "heightChange", width: "widthChange", fullscreenHeight: "fullscreenHeightChange", fullscreenWidth: "fullscreenWidthChange", fullscreenMode: "fullscreenModeChange", enableTooltips: "enableTooltipsChange", fullscreen: "fullscreenChange", readonly: "readonlyChange", applyReadonlyStyle: "applyReadonlyStyleChange", showToolbar: "showToolbarChange", showBorder: "showBorderChange", imageResizeModule: "imageResizeModuleChange", imageDropModule: "imageDropModuleChange", syntaxModule: "syntaxModuleChange", fullscreenChanged: "fullscreenChanged", onBlur: "onBlur", onContentChanged: "onContentChanged", onEditorChanged: "onEditorChanged", onEditorCreated: "onEditorCreated", onFocus: "onFocus", onSelectionChanged: "onSelectionChanged" }, providers: [{
263
263
  provide: NG_VALUE_ACCESSOR,
264
264
  useExisting: forwardRef(() => EditorComponent),
265
265
  multi: true
266
- }], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (showFontStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\n }\n @if (config()!.buttons!.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\n }\n @if (config()!.buttons!.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\n }\n @if (config()!.buttons!.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (showBlockStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\n }\n @if (config()!.buttons!.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (showQuickHeadingStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\n }\n @if (config()!.buttons!.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (showListStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\n }\n @if (config()!.buttons!.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (showScriptStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\n }\n @if (config()!.buttons!.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (showIndentStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\n }\n @if (config()!.buttons!.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons!.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons!.fontSize) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons!.headingStyle) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons!.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons!.font) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons!.align) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons!.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (showMedia) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\n }\n @if (config()!.buttons!.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\n }\n @if (config()!.buttons!.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons!.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons!.editorSize) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize : config()!.icons!.popin) :\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize : config()!.icons!.popout)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons!.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QuillEditorComponent, selector: "quill-editor" }] }); }
266
+ }], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n [placeholder]=\"placeholder() ?? ''\"\r\n [format]=\"format()\"\r\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\r\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\r\n [readOnly]=\"readonly() ?? false\"\r\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\r\n [class.no-toolbar]=\"!showToolbar()\"\r\n [class.no-border]=\"!showBorder()\"\r\n [modules]=\"modules\"\r\n\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n\r\n @if (showToolbar()) {\r\n <div quill-editor-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\r\n </div>\r\n }\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\r\n <ng-container [ngTemplateOutlet]=\"heading\"/>\r\n <ng-container [ngTemplateOutlet]=\"color\"/>\r\n <ng-container [ngTemplateOutlet]=\"font\"/>\r\n <ng-container [ngTemplateOutlet]=\"align\"/>\r\n <ng-container [ngTemplateOutlet]=\"clean\"/>\r\n <ng-container [ngTemplateOutlet]=\"formula\"/>\r\n <ng-container [ngTemplateOutlet]=\"media\"/>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n @if (showFontStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.bold) {\r\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\r\n }\r\n @if (config()!.buttons!.italic) {\r\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\r\n }\r\n @if (config()!.buttons!.underline) {\r\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\r\n }\r\n @if (config()!.buttons!.strike) {\r\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n @if (showBlockStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.blockquote) {\r\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\r\n }\r\n @if (config()!.buttons!.codeblock) {\r\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n @if (showQuickHeadingStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.h1) {\r\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\r\n }\r\n @if (config()!.buttons!.h2) {\r\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n @if (showListStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.ordered) {\r\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\r\n }\r\n @if (config()!.buttons!.bulleted) {\r\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n @if (showScriptStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.subScript) {\r\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\r\n }\r\n @if (config()!.buttons!.superScript) {\r\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #indentStyle>\r\n @if (showIndentStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.decreaseIndent) {\r\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\r\n }\r\n @if (config()!.buttons!.increaseIndent) {\r\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n @if (config()!.buttons!.rtl) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n @if (config()!.buttons!.fontSize) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n @if (config()!.buttons!.headingStyle) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n @if (config()!.buttons!.color) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n @if (config()!.buttons!.font) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n @if (config()!.buttons!.align) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n @if (config()!.buttons!.clean) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n @if (showMedia) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.link) {\r\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\r\n }\r\n @if (config()!.buttons!.image) {\r\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\r\n }\r\n @if (config()!.buttons!.video) {\r\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n @if (config()!.buttons!.rawEditor) {\r\n <span class=\"ql-formats\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n\r\n @if (config()!.buttons!.editorSize) {\r\n <span class=\"ql-formats\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize : config()!.icons!.popin) :\r\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize : config()!.icons!.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n @if (config()!.buttons!.formula) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n }\r\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QuillEditorComponent, selector: "quill-editor" }] }); }
267
267
  }
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: EditorComponent, decorators: [{
268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EditorComponent, decorators: [{
269
269
  type: Component,
270
270
  args: [{ selector: 'cpquill-editor', standalone: true, imports: [
271
271
  FormsModule,
@@ -277,6 +277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
277
277
  provide: NG_VALUE_ACCESSOR,
278
278
  useExisting: forwardRef(() => EditorComponent),
279
279
  multi: true
280
- }], template: "<ng-container>\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (showFontStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\n }\n @if (config()!.buttons!.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\n }\n @if (config()!.buttons!.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\n }\n @if (config()!.buttons!.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (showBlockStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\n }\n @if (config()!.buttons!.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (showQuickHeadingStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\n }\n @if (config()!.buttons!.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (showListStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\n }\n @if (config()!.buttons!.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (showScriptStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\n }\n @if (config()!.buttons!.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (showIndentStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\n }\n @if (config()!.buttons!.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons!.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons!.fontSize) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons!.headingStyle) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons!.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons!.font) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons!.align) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons!.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (showMedia) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\n }\n @if (config()!.buttons!.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\n }\n @if (config()!.buttons!.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons!.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons!.editorSize) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize : config()!.icons!.popin) :\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize : config()!.icons!.popout)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons!.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
280
+ }], template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n [placeholder]=\"placeholder() ?? ''\"\r\n [format]=\"format()\"\r\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\r\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\r\n [readOnly]=\"readonly() ?? false\"\r\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\r\n [class.no-toolbar]=\"!showToolbar()\"\r\n [class.no-border]=\"!showBorder()\"\r\n [modules]=\"modules\"\r\n\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n\r\n @if (showToolbar()) {\r\n <div quill-editor-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\r\n </div>\r\n }\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\r\n <ng-container [ngTemplateOutlet]=\"heading\"/>\r\n <ng-container [ngTemplateOutlet]=\"color\"/>\r\n <ng-container [ngTemplateOutlet]=\"font\"/>\r\n <ng-container [ngTemplateOutlet]=\"align\"/>\r\n <ng-container [ngTemplateOutlet]=\"clean\"/>\r\n <ng-container [ngTemplateOutlet]=\"formula\"/>\r\n <ng-container [ngTemplateOutlet]=\"media\"/>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n @if (showFontStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.bold) {\r\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\r\n }\r\n @if (config()!.buttons!.italic) {\r\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\r\n }\r\n @if (config()!.buttons!.underline) {\r\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\r\n }\r\n @if (config()!.buttons!.strike) {\r\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n @if (showBlockStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.blockquote) {\r\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\r\n }\r\n @if (config()!.buttons!.codeblock) {\r\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n @if (showQuickHeadingStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.h1) {\r\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\r\n }\r\n @if (config()!.buttons!.h2) {\r\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n @if (showListStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.ordered) {\r\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\r\n }\r\n @if (config()!.buttons!.bulleted) {\r\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n @if (showScriptStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.subScript) {\r\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\r\n }\r\n @if (config()!.buttons!.superScript) {\r\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #indentStyle>\r\n @if (showIndentStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.decreaseIndent) {\r\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\r\n }\r\n @if (config()!.buttons!.increaseIndent) {\r\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n @if (config()!.buttons!.rtl) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n @if (config()!.buttons!.fontSize) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n @if (config()!.buttons!.headingStyle) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n @if (config()!.buttons!.color) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n @if (config()!.buttons!.font) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n @if (config()!.buttons!.align) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n @if (config()!.buttons!.clean) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n @if (showMedia) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.link) {\r\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\r\n }\r\n @if (config()!.buttons!.image) {\r\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\r\n }\r\n @if (config()!.buttons!.video) {\r\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n @if (config()!.buttons!.rawEditor) {\r\n <span class=\"ql-formats\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n\r\n @if (config()!.buttons!.editorSize) {\r\n <span class=\"ql-formats\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize : config()!.icons!.popin) :\r\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize : config()!.icons!.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n @if (config()!.buttons!.formula) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n }\r\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
281
281
  }] });
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBMEUsb0JBQW9CLEVBQW1CLE1BQU0sV0FBVyxDQUFDO0FBRTFJLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQW9CcEQsTUFBTSxPQUFPLGVBQWU7SUFsQjVCO1FBMkJFLFVBQUssR0FBRyxNQUFNLENBQWEsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQTZCLENBQUEsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFlBQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUIsV0FBTSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBSzNDLGFBQVEsR0FBcUIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDLDBDQUEwQztRQUN2RixjQUFTLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsMENBQTBDO1FBQzVFLFlBQVk7UUFFWixXQUFNLEdBQUcsS0FBSyxDQUFTLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFOUIsdUVBQXVFO1FBQ3ZFLFdBQU0sR0FBRyxLQUFLLEVBQXVDLENBQUM7UUFDdEQsV0FBTSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3pCLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2xDLG1CQUFjLEdBQUcsS0FBSyxFQUF1QixDQUFDO1FBRTlDLG1CQUFjLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDbEMsZUFBVSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUM1Qix1QkFBa0IsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQy9CLGVBQVUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUU5QixnQ0FBZ0M7UUFDaEMsc0JBQWlCLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDckMsb0JBQWUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUNuQyxpQkFBWSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ2hDLFlBQVk7UUFDWixZQUFZO1FBRVosc0JBQWlCLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFFdEMsNEJBQTRCO1FBQzVCLFdBQU0sR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxNQUFNLEVBQStDLENBQUM7UUFDeEUsb0JBQWUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUMzQixZQUFPLEdBQUcsTUFBTSxFQUFTLENBQUM7UUFDMUIsdUJBQWtCLEdBQUcsTUFBTSxFQUFtQixDQUFDO0tBb09oRDtJQTFSQyxJQUFJLGNBQWMsS0FBYyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUM3SCxJQUFJLGFBQWEsS0FBYyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUMxTCxJQUFJLHFCQUFxQixLQUFjLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3JILElBQUksZUFBZSxLQUFjLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3ZJLElBQUksYUFBYSxLQUFjLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3ZILElBQUksU0FBUyxLQUFlLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQy9JLElBQUksZUFBZSxLQUFjLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRTlILEtBQUssQ0FBMkQ7SUFDaEUsVUFBVSxDQUE2RDtJQUN2RSxPQUFPLENBQXFCO0lBNkM1QixZQUFZO0lBRVosUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQjs7OztXQUlHO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUNkLEdBQUcsYUFBYTtZQUNoQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU07WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLElBQUksY0FBYztZQUNqRCxLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxZQUFZO2dCQUNmLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUs7YUFDeEI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxlQUFlO2dCQUNsQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRO2FBQzNCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBRTdDLGlDQUFpQztRQUNqQzs7V0FFRztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGlCQUFpQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FB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RSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrR0FBa0c7SUFDbEcsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsOEZBQThGO0lBQzlGLGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0F0UlUsZUFBZTtrR0FBZixlQUFlLDJzR0FOZixDQUFDO2dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsa0VBZW1CLG9CQUFvQixnRUM5QzNDLGtyU0E0UWMsc1pEdlBWLFdBQVcscStCQUNYLE9BQU8sMklBQ1AsVUFBVSxpUkFDVixnQkFBZ0Isb0pBQ2hCLG9CQUFvQjs7MkZBUVgsZUFBZTtrQkFsQjNCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3FCQUNyQixhQUNVLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIG1vZGVsLCBPbkluaXQsIG91dHB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBCbHVyLCBDb250ZW50Q2hhbmdlLCBFZGl0b3JDaGFuZ2VDb250ZW50LCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24sIEZvY3VzLCBRdWlsbEVkaXRvckNvbXBvbmVudCwgU2VsZWN0aW9uQ2hhbmdlIH0gZnJvbSAnbmd4LXF1aWxsJztcclxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvY29uZmlnJztcclxuaW1wb3J0IHsgRGVmYXVsdEJ1dHRvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9kZWZhdWx0LWJ1dHRvbnMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Q29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVmYXVsdC1jb25maWcnO1xyXG5pbXBvcnQgeyBEZWZhdWx0SWNvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9kZWZhdWx0LWljb25zJztcclxuaW1wb3J0IHsgRGVmYXVsdFRvb2x0aXBzIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVmYXVsdC10b29sdGlwcyc7XHJcbmltcG9ydCB7IERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbC9kaWFsb2ctZGF0YSc7XHJcbmltcG9ydCB7IFJhd0NvbXBvbmVudCB9IGZyb20gJy4uL3Jhdy9yYXcuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3BxdWlsbC1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50LnNjc3MnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgTWF0VG9vbHRpcCxcclxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXHJcbiAgICBRdWlsbEVkaXRvckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWRpdG9yQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIGdldCBzaG93QmxvY2tTdHlsZSgpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5ibG9ja3F1b3RlIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LmNvZGVibG9jaykgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dGb250U3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uYm9sZCB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5pdGFsaWMgfHwgdGhpcy5jb25maWcoKT8uYnV0dG9ucz8uc3RyaWtlIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnVuZGVybGluZSkgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dRdWlja0hlYWRpbmdTdHlsZSgpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5oMSB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5oMikgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dJbmRlbnRTdHlsZSgpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5kZWNyZWFzZUluZGVudCB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5pbmNyZWFzZUluZGVudCkgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dMaXN0U3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uYnVsbGV0ZWQgfHwgdGhpcy5jb25maWcoKT8uYnV0dG9ucz8ub3JkZXJlZCkgPz8gZmFsc2UgfTtcclxuICBnZXQgc2hvd01lZGlhKCk6IGJvb2xlYW4gIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5saW5rIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LmltYWdlIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnZpZGVvKSA/PyBmYWxzZSB9O1xyXG4gIGdldCBzaG93U2NyaXB0U3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uc3ViU2NyaXB0IHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnN1cGVyU2NyaXB0KSA/PyBmYWxzZSB9O1xyXG5cclxuICAjZGF0YSA9IGluamVjdDxEaWFsb2dEYXRhPihNQVRfRElBTE9HX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgI2RpYWxvZ1JlZiA9IGluamVjdChNYXREaWFsb2dSZWY8RWRpdG9yQ29tcG9uZW50PiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICAjZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XHJcbiAgXHJcbiAgICBlZGl0b3IgPSB2aWV3Q2hpbGQoUXVpbGxFZGl0b3JDb21wb25lbnQpO1xyXG5cclxuICAvLyNyZWdpb24gQ29udHJvbFZhbHVlQWNjZXNzb3Igc3R1ZmZcclxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81MDYxODA1MC9ob3ctdG8tY3JlYXRlLWN1c3RvbS1pbnB1dC1jb21wb25lbnQtd2l0aC1uZ21vZGVsLXdvcmtpbmctaW4tYW5ndWxhci02XHJcbiAgdmFsdWU6IGFueTsgLy8gc3RyaW5nXHJcbiAgb25DaGFuZ2U6IChfOiBhbnkpID0+IHZvaWQgPSAoXzogYW55KSA9PiB7fTsgLy8gSW52b2tlZCB3aGVuIHRoZSBtb2RlbCBoYXMgYmVlbiBjaGFuZ2VkXHJcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307IC8vIEludm9rZWQgd2hlbiB0aGUgbW9kZWwgaGFzIGJlZW4gdG91Y2hlZFxyXG4gIC8vI2VuZHJlZ2lvblxyXG4gIFxyXG4gIGNvbmZpZyA9IG1vZGVsPENvbmZpZz4oRGVmYXVsdENvbmZpZyk7XHJcbiAgcGxhY2Vob2xkZXIgPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgXHJcbiAgLy8jcmVnaW9uIFRoZXNlIGNhbiBiZSBwYXNzZWQgaW4gYXMgQElucHV0KCksIG9yIHVzZSB2YWx1ZXMgZnJvbSBjb25maWdcclxuICBmb3JtYXQgPSBtb2RlbDwnb2JqZWN0JyB8ICdodG1sJyB8ICd0ZXh0JyB8ICdqc29uJz4oKTtcclxuICBoZWlnaHQgPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgd2lkdGggPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgZnVsbHNjcmVlbkhlaWdodCA9IG1vZGVsPHN0cmluZz4oKTtcclxuICBmdWxsc2NyZWVuV2lkdGggPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgZnVsbHNjcmVlbk1vZGUgPSBtb2RlbDwnZXhwYW5kJyB8ICdwb3BvdXQnPigpO1xyXG5cclxuICBlbmFibGVUb29sdGlwcyA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgZnVsbHNjcmVlbiA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgcmVhZG9ubHkgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIGFwcGx5UmVhZG9ubHlTdHlsZSA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgc2hvd1Rvb2xiYXIgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIHNob3dCb3JkZXIgPSBtb2RlbDxib29sZWFuPigpO1xyXG5cclxuICAvLyNyZWdpb24gT3B0aW9uYWwgUXVpbGwgbW9kdWxlc1xyXG4gIGltYWdlUmVzaXplTW9kdWxlID0gbW9kZWw8Ym9vbGVhbj4oKTtcclxuICBpbWFnZURyb3BNb2R1bGUgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIHN5bnRheE1vZHVsZSA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgLy8jZW5kcmVnaW9uXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGZ1bGxzY3JlZW5DaGFuZ2VkID0gb3V0cHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBQYXNzdGhyb3VnaCBldmVudHNcclxuICBvbkJsdXIgPSBvdXRwdXQ8Qmx1cj4oKTtcclxuICBvbkNvbnRlbnRDaGFuZ2VkID0gb3V0cHV0PENvbnRlbnRDaGFuZ2U+KCk7XHJcbiAgb25FZGl0b3JDaGFuZ2VkID0gb3V0cHV0PEVkaXRvckNoYW5nZUNvbnRlbnQgfCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24+KCk7XHJcbiAgb25FZGl0b3JDcmVhdGVkID0gb3V0cHV0KCk7XHJcbiAgb25Gb2N1cyA9IG91dHB1dDxGb2N1cz4oKTtcclxuICBvblNlbGVjdGlvbkNoYW5nZWQgPSBvdXRwdXQ8U2VsZWN0aW9uQ2hhbmdlPigpO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgXHJcbiAgICAvKmlmICghdGhpcy51c2Vycykge1xyXG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuZ2V0VXNlcnMoKS5zdWJzY3JpYmUodXNlcnMgPT5cclxuICAgICAgICB0aGlzLnVzZXJzID0gdXNlcnNcclxuICAgICAgKTtcclxuICAgIH0qL1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnLnNldCh7XHJcbiAgICAgIC4uLkRlZmF1bHRDb25maWcsXHJcbiAgICAgIC4uLnRoaXMuY29uZmlnKCksXHJcbiAgICAgIC4uLnRoaXMuI2RhdGE/LmNvbmZpZyxcclxuICAgICAgYnV0dG9uczogdGhpcy5jb25maWcoKT8uYnV0dG9ucyA/PyBEZWZhdWx0QnV0dG9ucyxcclxuICAgICAgaWNvbnM6IHtcclxuICAgICAgICAuLi5EZWZhdWx0SWNvbnMsXHJcbiAgICAgICAgLi4udGhpcy5jb25maWcoKT8uaWNvbnNcclxuICAgICAgfSxcclxuICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAuLi5EZWZhdWx0VG9vbHRpcHMsXHJcbiAgICAgICAgLi4udGhpcy5jb25maWcoKT8udG9vbHRpcHNcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgPz8gdGhpcy4jZGF0YT8udmFsdWU7XHJcblxyXG4gICAgLy8gTW92ZWQgdG8gY2xpZW50IHJlc3BvbnNpYmlsaXR5XHJcbiAgICAvKmlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSkge1xyXG4gICAgICBRdWlsbC5yZWdpc3RlcignbW9kdWxlcy9pbWFnZURyb3AnLCBJbWFnZURyb3ApO1xyXG4gICAgfSovXHJcblxyXG4gICAgdGhpcy5wbGFjZWhvbGRlci5zZXQodGhpcy5wbGFjZWhvbGRlcigpID8/IHRoaXMuI2RhdGE/LnBsYWNlaG9sZGVyKTtcclxuXHJcbiAgICB0aGlzLmltYWdlRHJvcE1vZHVsZS5zZXQodGhpcy5pbWFnZURyb3BNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5pbWFnZURyb3BNb2R1bGUgPz8gdGhpcy5jb25maWcoKSEuaW1hZ2VEcm9wTW9kdWxlKTtcclxuICAgIHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUuc2V0KHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5pbWFnZVJlc2l6ZU1vZHVsZSA/PyB0aGlzLmNvbmZpZygpIS5pbWFnZVJlc2l6ZU1vZHVsZSk7XHJcbiAgICB0aGlzLnN5bnRheE1vZHVsZS5zZXQodGhpcy5zeW50YXhNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5zeW50YXhNb2R1bGUgPz8gdGhpcy5jb25maWcoKSEuc3ludGF4TW9kdWxlKTtcclxuXHJcbiAgICB0aGlzLmZvcm1hdC5zZXQodGhpcy5mb3JtYXQoKSA/PyB0aGlzLiNkYXRhPy5mb3JtYXQgPz8gdGhpcy5jb25maWcoKSEuZm9ybWF0KTtcclxuICAgIHRoaXMuaGVpZ2h0LnNldCh0aGlzLmhlaWdodCgpID8/IHRoaXMuI2RhdGE/LmhlaWdodCA/PyB0aGlzLmNvbmZpZygpIS5oZWlnaHQpO1xyXG4gICAgdGhpcy53aWR0aC5zZXQodGhpcy53aWR0aCgpID8/IHRoaXMuI2RhdGE/LndpZHRoID8/IHRoaXMuY29uZmlnKCkhLndpZHRoKTtcclxuICAgIHRoaXMuZnVsbHNjcmVlbkhlaWdodC5zZXQodGhpcy5mdWxsc2NyZWVuSGVpZ2h0KCkgPz8gdGhpcy4jZGF0YT8ubWF4SGVpZ2h0ID8/IHRoaXMuY29uZmlnKCkhLmZ1bGxzY3JlZW5IZWlnaHQpO1xyXG4gICAgdGhpcy5mdWxsc2NyZWVuV2lkdGguc2V0KHRoaXMuZnVsbHNjcmVlbldpZHRoKCkgPz8gdGhpcy4jZGF0YT8ubWF4V2lkdGggPz8gdGhpcy5jb25maWcoKSEuZnVsbHNjcmVlbldpZHRoKTtcclxuICAgIHRoaXMuZnVsbHNjcmVlbk1vZGUuc2V0KHRoaXMuZnVsbHNjcmVlbk1vZGUoKSA/PyB0aGlzLiNkYXRhPy5mdWxsc2NyZWVuTW9kZSA/PyB0aGlzLmNvbmZpZygpIS5mdWxsc2NyZWVuTW9kZSk7XHJcblxyXG4gICAgdGhpcy5lbmFibGVUb29sdGlwcy5zZXQodGhpcy5lbmFibGVUb29sdGlwcygpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmVuYWJsZVRvb2x0aXBzKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5lbmFibGVUb29sdGlwcyA/PyB0aGlzLmNvbmZpZygpIS5lbmFibGVUb29sdGlwcyk7XHJcblxyXG4gICAgdGhpcy5mdWxsc2NyZWVuLnNldCh0aGlzLmZ1bGxzY3JlZW4oKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5mdWxsc2NyZWVuKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5mdWxsc2NyZWVuID8/IHRoaXMuY29uZmlnKCkhLmZ1bGxzY3JlZW4pO1xyXG5cclxuICAgIHRoaXMucmVhZG9ubHkuc2V0KHRoaXMucmVhZG9ubHkoKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5yZWFkb25seSgpIDpcclxuICAgICAgdGhpcy4jZGF0YT8ucmVhZG9ubHkgPz8gdGhpcy5jb25maWcoKSEucmVhZG9ubHkpO1xyXG5cclxuICAgIHRoaXMuYXBwbHlSZWFkb25seVN0eWxlLnNldCh0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSgpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSgpIDpcclxuICAgICAgdGhpcy4jZGF0YT8uYXBwbHlSZWFkb25seVN0eWxlID8/IHRoaXMuY29uZmlnKCkhLmFwcGx5UmVhZG9ubHlTdHlsZSk7XHJcblxyXG4gICAgdGhpcy5zaG93VG9vbGJhci5zZXQodGhpcy5zaG93VG9vbGJhcigpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLnNob3dUb29sYmFyKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5zaG93VG9vbGJhciA/PyB0aGlzLmNvbmZpZygpIS5zaG93VG9vbGJhcik7XHJcblxyXG4gICAgdGhpcy5zaG93Qm9yZGVyLnNldCh0aGlzLnNob3dCb3JkZXIoKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5zaG93Qm9yZGVyKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5zaG93Qm9yZGVyID8/IHRoaXMuY29uZmlnKCkhLnNob3dCb3JkZXIpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRnVsbHNjcmVlbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnKSB7XHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuLnNldCghdGhpcy5mdWxsc2NyZWVuKCkpO1xyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0aGlzLmZ1bGxzY3JlZW4oKSEpO1xyXG4gICAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlbigpKSB7XHJcbiAgICAgICAgdGhpcy4jZGlhbG9nUmVmPy5jbG9zZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdChmYWxzZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogRGlhbG9nRGF0YSA9IHtcclxuXHJcbiAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcclxuICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWcoKSxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyKCksXHJcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0KCkhLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSEsXHJcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSEsXHJcbiAgICAgICAgICBtYXhXaWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgZW5hYmxlVG9vbHRpcHM6IHRoaXMuZW5hYmxlVG9vbHRpcHMoKSEsXHJcbiAgICAgICAgICBmdWxsc2NyZWVuOiB0cnVlLFxyXG4gICAgICAgICAgZnVsbHNjcmVlbk1vZGU6IHRoaXMuZnVsbHNjcmVlbk1vZGUoKSEsXHJcbiAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSgpISxcclxuICAgICAgICAgIGFwcGx5UmVhZG9ubHlTdHlsZTogdGhpcy5hcHBseVJlYWRvbmx5U3R5bGUoKSEsXHJcbiAgICAgICAgICBzaG93VG9vbGJhcjogdGhpcy5zaG93VG9vbGJhcigpISxcclxuICAgICAgICAgIHNob3dCb3JkZXI6IHRoaXMuc2hvd0JvcmRlcigpISxcclxuICAgICAgICAgIGltYWdlUmVzaXplTW9kdWxlOiB0aGlzLmltYWdlUmVzaXplTW9kdWxlKCkhLFxyXG4gICAgICAgICAgaW1hZ2VEcm9wTW9kdWxlOiB0aGlzLmltYWdlRHJvcE1vZHVsZSgpISxcclxuICAgICAgICAgIHN5bnRheE1vZHVsZTogdGhpcy5zeW50YXhNb2R1bGUoKSFcclxuICAgICAgICAgIC8vdXNlcnM6IHRoaXMudXNlcnNcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLiNkaWFsb2cub3BlbihFZGl0b3JDb21wb25lbnQsIHtcclxuICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLmZ1bGxzY3JlZW5XaWR0aCgpLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSxcclxuICAgICAgICAgIGRhdGFcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuQ2hhbmdlZC5lbWl0KHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByYXdFZGl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy4jZGlhbG9nLm9wZW4oUmF3Q29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHRoaXMudmFsdWUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgaGVpZ2h0OiAnOTAlJyxcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfSlcclxuICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgaWYgKHZhbHVlID09PSAnX19ETyEhTk9UISFVUERBVEVfXycpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9vbHRpcCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbmFibGVUb29sdGlwcygpID8gdmFsIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9kdWxlcygpIHtcclxuICAgIC8vaWYgKCF0aGlzLnVzZXJzKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cclxuXHJcbiAgICBjb25zdCBtb2R1bGVzID0geyB9O1xyXG5cclxuICAgIGlmICghdGhpcy5zaG93VG9vbGJhcigpKSB7XHJcbiAgICAgIG1vZHVsZXNbJ3Rvb2xiYXInXSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlUmVzaXplTW9kdWxlKCkpIHtcclxuICAgICAgbW9kdWxlc1snaW1hZ2VSZXNpemUnXSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSgpKSB7XHJcbiAgICAgIG1vZHVsZXNbJ2ltYWdlRHJvcCddID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zeW50YXhNb2R1bGUoKSkge1xyXG4gICAgICBtb2R1bGVzWydzeW50YXgnXSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyppZiAodGhpcy5tZW50aW9uTW9kdWxlKSB7XHJcbiAgICAgIG1vZHVsZXNbJ21lbnRpb24nXSA9IHtcclxuICAgICAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXHJcblxyXG4gICAgICAgIG9uU2VsZWN0OiAoaXRlbTogRE9NU3RyaW5nTWFwLCBpbnNlcnRJdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZWRpdG9yIS5xdWlsbEVkaXRvclxyXG4gICAgICAgICAgaW5zZXJ0SXRlbShpdGVtKVxyXG4gICAgICAgICAgLy8gbmVjZXNzYXJ5IGJlY2F1c2UgcXVpbGwtbWVudGlvbiB0cmlnZ2VycyBjaGFuZ2VzIGFzICdhcGknIGluc3RlYWQgb2YgJ3VzZXInXHJcbiAgICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dChlZGl0b3IuZ2V0TGVuZ3RoKCkgLSAxLCAnJywgJ3VzZXInKVxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIHNvdXJjZTogKHNlYXJjaFRlcm06IHN0cmluZywgcmVuZGVyTGlzdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmVuZGVyTGlzdCh0aGlzLnVzZXJzPy5tYXAodSA9PiAoeyB2YWx1ZTogYCR7dS5kaXNwbGF5TmFtZX0gKCR7dS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pKSwgc2VhcmNoVGVybSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXM6IGFueVtdID0gW11cclxuXHJcbiAgICAgICAgICAgIHRoaXMudXNlcnMhLmZvckVhY2goKGVudHJ5KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgZW50cnkuZGlzcGxheU5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgIT09IC0xIHx8XHJcbiAgICAgICAgICAgICAgICBlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTFcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKHsgdmFsdWU6IGAke2VudHJ5LmRpc3BsYXlOYW1lfSAoJHtlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgcmVuZGVyTGlzdChtYXRjaGVzLCBzZWFyY2hUZXJtKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH0qL1xyXG5cclxuICAgIHJldHVybiBtb2R1bGVzO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG1ldGhvZHNcclxuICAvLyBNZXRob2QgdGhhdCBpcyBpbnZva2VkIG9uIGFuIHVwZGF0ZSBvZiBhIG1vZGVsLlxyXG4gIHVwZGF0ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIE92ZXJyaWRlc1xyXG5cclxuICAvLyBXcml0ZXMgYSBuZXcgaXRlbSB0byB0aGUgZWxlbWVudC5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8vIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcyBpbiB0aGUgVUkuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIC8vIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgYmx1ciBldmVudC5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcbn0iLCI8bmctY29udGFpbmVyPlxuICA8Zm9ybT5cbiAgICA8cXVpbGwtZWRpdG9yIG5hbWU9XCJlZGl0b3JcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVDaGFuZ2VzKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKCkgPz8gJydcIlxuICAgICAgW2Zvcm1hdF09XCJmb3JtYXQoKVwiXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cImZ1bGxzY3JlZW4oKSA/IGZ1bGxzY3JlZW5IZWlnaHQoKSA6IGhlaWdodCgpXCJcbiAgICAgIFtzdHlsZS53aWR0aF09XCJmdWxsc2NyZWVuKCkgPyBmdWxsc2NyZWVuV2lkdGgoKSA6IHdpZHRoKClcIlxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5KCkgPz8gZmFsc2VcIlxuICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5KCkgJiYgYXBwbHlSZWFkb25seVN0eWxlKClcIlxuICAgICAgW2NsYXNzLm5vLXRvb2xiYXJdPVwiIXNob3dUb29sYmFyKClcIlxuICAgICAgW2NsYXNzLm5vLWJvcmRlcl09XCIhc2hvd0JvcmRlcigpXCJcbiAgICAgIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxuXG4gICAgICAob25CbHVyKT1cIm9uQmx1ci5lbWl0KCRldmVudClcIlxuICAgICAgKG9uQ29udGVudENoYW5nZWQpPVwib25Db250ZW50Q2hhbmdlZC5lbWl0KCRldmVudClcIlxuICAgICAgKG9uRWRpdG9yQ2hhbmdlZCk9XCJvbkVkaXRvckNoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgIChvbkVkaXRvckNyZWF0ZWQpPVwib25FZGl0b3JDcmVhdGVkLmVtaXQoKVwiXG4gICAgICAob25Gb2N1cyk9XCJvbkZvY3VzLmVtaXQoJGV2ZW50KVwiXG4gICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KCRldmVudClcIj5cblxuICAgICAgQGlmIChzaG93VG9vbGJhcigpKSB7XG4gICAgICAgIDxkaXYgcXVpbGwtZWRpdG9yLXRvb2xiYXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sYmFyXCIvPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdG9yU2l6ZVwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9xdWlsbC1lZGl0b3I+XG4gIDwvZm9ybT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3Rvb2xiYXI+XG4gIDxkaXY+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250U3R5bGVcIi8+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJibG9ja1N0eWxlXCIvPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGluZ1N0eWxlXCIvPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFN0eWxlXCIvPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2NyaXB0U3R5bGVcIi8+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpbmRlbnRTdHlsZVwiLz5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJ0bFwiLz5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvbnRTaXplXCIvPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGluZ1wiLz5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbG9yXCIvPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9udFwiLz5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFsaWduXCIvPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2xlYW5cIi8+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb3JtdWxhXCIvPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVkaWFcIi8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb250U3R5bGU+XG4gIEBpZiAoc2hvd0ZvbnRTdHlsZSkge1xuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuYm9sZCkge1xuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYm9sZFwiICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuYm9sZCEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5pdGFsaWMpIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWl0YWxpY1wiICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5pdGFsaWMhKVwiPjwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEudW5kZXJsaW5lKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC11bmRlcmxpbmVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEudW5kZXJsaW5lISlcIj48L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLnN0cmlrZSkge1xuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtc3RyaWtlXCIgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLnN0cmlrZSEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgPC9zcGFuPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Jsb2NrU3R5bGU+XG4gIEBpZiAoc2hvd0Jsb2NrU3R5bGUpIHtcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmJsb2NrcXVvdGUpIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWJsb2NrcXVvdGVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuYmxvY2txdW90ZSEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5jb2RlYmxvY2spIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWNvZGUtYmxvY2tcIiAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmNvZGVibG9jayEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgPC9zcGFuPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRpbmdTdHlsZT5cbiAgQGlmIChzaG93UXVpY2tIZWFkaW5nU3R5bGUpIHtcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmgxKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjFcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuaDEhKVwiPjwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuaDIpIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWhlYWRlclwiIHZhbHVlPVwiMlwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5oMiEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgPC9zcGFuPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpc3RTdHlsZT5cbiAgQGlmIChzaG93TGlzdFN0eWxlKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5vcmRlcmVkKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saXN0XCIgdmFsdWU9XCJvcmRlcmVkXCIgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5vcmRlcmVkISlcIj48L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmJ1bGxldGVkKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saXN0XCIgdmFsdWU9XCJidWxsZXRcIiAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmJ1bGxldGVkISlcIj48L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L3NwYW4+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2NyaXB0U3R5bGU+XG4gIEBpZiAoc2hvd1NjcmlwdFN0eWxlKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5zdWJTY3JpcHQpIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXNjcmlwdFwiIHZhbHVlPVwic3ViXCIgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuc3ViU2NyaXB0ISlcIj48L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLnN1cGVyU2NyaXB0KSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1cGVyXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLnN1cGVyU2NyaXB0ISlcIj48L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L3NwYW4+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5kZW50U3R5bGU+XG4gIEBpZiAoc2hvd0luZGVudFN0eWxlKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5kZWNyZWFzZUluZGVudCkge1xuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCItMVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5kZWNyZWFzZUluZGVudCEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5pbmNyZWFzZUluZGVudCkge1xuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCIrMVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5pbmNyZWFzZUluZGVudCEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgPC9zcGFuPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3J0bD5cbiAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEucnRsKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtZGlyZWN0aW9uXCIgdmFsdWU9XCJydGxcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEucnRsISlcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9udFNpemU+XG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmZvbnRTaXplKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmZvbnRTaXplISlcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkaW5nPlxuICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5oZWFkaW5nU3R5bGUpIHtcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuaGVhZGluZ1N0eWxlISlcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1oZWFkZXJcIj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjFcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjJcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjNcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjRcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjVcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjZcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD1cInNlbGVjdGVkXCI+PC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L3NwYW4+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29sb3I+XG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmNvbG9yKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmNvbG9yISlcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1jb2xvclwiPjwvc2VsZWN0PlxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWJhY2tncm91bmRcIj48L3NlbGVjdD5cbiAgICA8L3NwYW4+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9udD5cbiAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuZm9udCkge1xuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5mb250ISlcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1mb250XCI+XG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzZXJpZlwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibW9ub3NwYWNlXCI+PC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L3NwYW4+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWxpZ24+XG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmFsaWduKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmFsaWduISlcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1hbGlnblwiPlxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2VudGVyXCI+PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJyaWdodFwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwianVzdGlmeVwiPjwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NsZWFuPlxuICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5jbGVhbikge1xuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5jbGVhbiEpXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY2xlYW5cIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbWVkaWE+XG4gIEBpZiAoc2hvd01lZGlhKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5saW5rKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saW5rXCIgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5saW5rISlcIj48L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmltYWdlKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbWFnZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5pbWFnZSEpXCI+PC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS52aWRlbykge1xuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtdmlkZW9cIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEudmlkZW8hKVwiPjwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvc3Bhbj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlZGl0b3JTaXplPlxuICA8ZGl2PlxuICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLnJhd0VkaXRvcikge1xuICAgICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgIDxidXR0b24gaWQ9XCJyYXdkb2dcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5yYXdFZGl0b3IhKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwicmF3RWRpdCgpXCI+XG4gICAgICAgICAgICBjb2RlXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuZWRpdG9yU2l6ZSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgIDxidXR0b24gaWQ9XCJmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGZ1bGxzY3JlZW4oKSA/XG4gICAgICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSgpID09PSAnZXhwYW5kJyA/IGNvbmZpZygpIS50b29sdGlwcyEubWluaW1pemUhIDogY29uZmlnKCkhLnRvb2x0aXBzIS5wb3BpbiEpIDpcbiAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnID8gY29uZmlnKCkhLnRvb2x0aXBzIS5tYXhpbWl6ZSEgOiBjb25maWcoKSEudG9vbHRpcHMhLnBvcG91dCEpKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwidG9nZ2xlRnVsbHNjcmVlbigpXCI+XG4gICAgICAgICAgICB7eyBmdWxsc2NyZWVuKCkgP1xuICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnID8gY29uZmlnKCkhLmljb25zIS5taW5pbWl6ZSA6IGNvbmZpZygpIS5pY29ucyEucG9waW4pIDpcbiAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSgpID09PSAnZXhwYW5kJyA/IGNvbmZpZygpIS5pY29ucyEubWF4aW1pemUgOiBjb25maWcoKSEuaWNvbnMhLnBvcG91dClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9ybXVsYT5cbiAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuZm9ybXVsYSkge1xuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5mb3JtdWxhISlcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1mb3JtdWxhXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuICB9XG48L25nLXRlbXBsYXRlPiJdfQ==
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBMEUsb0JBQW9CLEVBQW1CLE1BQU0sV0FBVyxDQUFDO0FBRTFJLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENB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QU0sRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FB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RSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrR0FBa0c7SUFDbEcsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsOEZBQThGO0lBQzlGLGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0F0UlUsZUFBZTtrR0FBZixlQUFlLDJzR0FOZixDQUFDO2dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsa0VBZW1CLG9CQUFvQixnRUM5QzNDLDBzVEE0UWMsc1pEdlBWLFdBQVcscStCQUNYLE9BQU8sMklBQ1AsVUFBVSxpUkFDVixnQkFBZ0Isb0pBQ2hCLG9CQUFvQjs7MkZBUVgsZUFBZTtrQkFsQjNCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3FCQUNyQixhQUNVLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIG1vZGVsLCBPbkluaXQsIG91dHB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBCbHVyLCBDb250ZW50Q2hhbmdlLCBFZGl0b3JDaGFuZ2VDb250ZW50LCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24sIEZvY3VzLCBRdWlsbEVkaXRvckNvbXBvbmVudCwgU2VsZWN0aW9uQ2hhbmdlIH0gZnJvbSAnbmd4LXF1aWxsJztcclxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvY29uZmlnJztcclxuaW1wb3J0IHsgRGVmYXVsdEJ1dHRvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9kZWZhdWx0LWJ1dHRvbnMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Q29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVmYXVsdC1jb25maWcnO1xyXG5pbXBvcnQgeyBEZWZhdWx0SWNvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9kZWZhdWx0LWljb25zJztcclxuaW1wb3J0IHsgRGVmYXVsdFRvb2x0aXBzIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVmYXVsdC10b29sdGlwcyc7XHJcbmltcG9ydCB7IERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbC9kaWFsb2ctZGF0YSc7XHJcbmltcG9ydCB7IFJhd0NvbXBvbmVudCB9IGZyb20gJy4uL3Jhdy9yYXcuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3BxdWlsbC1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50LnNjc3MnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgTWF0VG9vbHRpcCxcclxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXHJcbiAgICBRdWlsbEVkaXRvckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWRpdG9yQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIGdldCBzaG93QmxvY2tTdHlsZSgpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5ibG9ja3F1b3RlIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LmNvZGVibG9jaykgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dGb250U3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uYm9sZCB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5pdGFsaWMgfHwgdGhpcy5jb25maWcoKT8uYnV0dG9ucz8uc3RyaWtlIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnVuZGVybGluZSkgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dRdWlja0hlYWRpbmdTdHlsZSgpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5oMSB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5oMikgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dJbmRlbnRTdHlsZSgpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5kZWNyZWFzZUluZGVudCB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5pbmNyZWFzZUluZGVudCkgPz8gZmFsc2U7IH07XHJcbiAgZ2V0IHNob3dMaXN0U3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uYnVsbGV0ZWQgfHwgdGhpcy5jb25maWcoKT8uYnV0dG9ucz8ub3JkZXJlZCkgPz8gZmFsc2UgfTtcclxuICBnZXQgc2hvd01lZGlhKCk6IGJvb2xlYW4gIHsgcmV0dXJuICh0aGlzLmNvbmZpZygpPy5idXR0b25zPy5saW5rIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LmltYWdlIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnZpZGVvKSA/PyBmYWxzZSB9O1xyXG4gIGdldCBzaG93U2NyaXB0U3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uc3ViU2NyaXB0IHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnN1cGVyU2NyaXB0KSA/PyBmYWxzZSB9O1xyXG5cclxuICAjZGF0YSA9IGluamVjdDxEaWFsb2dEYXRhPihNQVRfRElBTE9HX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgI2RpYWxvZ1JlZiA9IGluamVjdChNYXREaWFsb2dSZWY8RWRpdG9yQ29tcG9uZW50PiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICAjZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XHJcbiAgXHJcbiAgICBlZGl0b3IgPSB2aWV3Q2hpbGQoUXVpbGxFZGl0b3JDb21wb25lbnQpO1xyXG5cclxuICAvLyNyZWdpb24gQ29udHJvbFZhbHVlQWNjZXNzb3Igc3R1ZmZcclxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81MDYxODA1MC9ob3ctdG8tY3JlYXRlLWN1c3RvbS1pbnB1dC1jb21wb25lbnQtd2l0aC1uZ21vZGVsLXdvcmtpbmctaW4tYW5ndWxhci02XHJcbiAgdmFsdWU6IGFueTsgLy8gc3RyaW5nXHJcbiAgb25DaGFuZ2U6IChfOiBhbnkpID0+IHZvaWQgPSAoXzogYW55KSA9PiB7fTsgLy8gSW52b2tlZCB3aGVuIHRoZSBtb2RlbCBoYXMgYmVlbiBjaGFuZ2VkXHJcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307IC8vIEludm9rZWQgd2hlbiB0aGUgbW9kZWwgaGFzIGJlZW4gdG91Y2hlZFxyXG4gIC8vI2VuZHJlZ2lvblxyXG4gIFxyXG4gIGNvbmZpZyA9IG1vZGVsPENvbmZpZz4oRGVmYXVsdENvbmZpZyk7XHJcbiAgcGxhY2Vob2xkZXIgPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgXHJcbiAgLy8jcmVnaW9uIFRoZXNlIGNhbiBiZSBwYXNzZWQgaW4gYXMgQElucHV0KCksIG9yIHVzZSB2YWx1ZXMgZnJvbSBjb25maWdcclxuICBmb3JtYXQgPSBtb2RlbDwnb2JqZWN0JyB8ICdodG1sJyB8ICd0ZXh0JyB8ICdqc29uJz4oKTtcclxuICBoZWlnaHQgPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgd2lkdGggPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgZnVsbHNjcmVlbkhlaWdodCA9IG1vZGVsPHN0cmluZz4oKTtcclxuICBmdWxsc2NyZWVuV2lkdGggPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgZnVsbHNjcmVlbk1vZGUgPSBtb2RlbDwnZXhwYW5kJyB8ICdwb3BvdXQnPigpO1xyXG5cclxuICBlbmFibGVUb29sdGlwcyA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgZnVsbHNjcmVlbiA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgcmVhZG9ubHkgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIGFwcGx5UmVhZG9ubHlTdHlsZSA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgc2hvd1Rvb2xiYXIgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIHNob3dCb3JkZXIgPSBtb2RlbDxib29sZWFuPigpO1xyXG5cclxuICAvLyNyZWdpb24gT3B0aW9uYWwgUXVpbGwgbW9kdWxlc1xyXG4gIGltYWdlUmVzaXplTW9kdWxlID0gbW9kZWw8Ym9vbGVhbj4oKTtcclxuICBpbWFnZURyb3BNb2R1bGUgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIHN5bnRheE1vZHVsZSA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgLy8jZW5kcmVnaW9uXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGZ1bGxzY3JlZW5DaGFuZ2VkID0gb3V0cHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBQYXNzdGhyb3VnaCBldmVudHNcclxuICBvbkJsdXIgPSBvdXRwdXQ8Qmx1cj4oKTtcclxuICBvbkNvbnRlbnRDaGFuZ2VkID0gb3V0cHV0PENvbnRlbnRDaGFuZ2U+KCk7XHJcbiAgb25FZGl0b3JDaGFuZ2VkID0gb3V0cHV0PEVkaXRvckNoYW5nZUNvbnRlbnQgfCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24+KCk7XHJcbiAgb25FZGl0b3JDcmVhdGVkID0gb3V0cHV0KCk7XHJcbiAgb25Gb2N1cyA9IG91dHB1dDxGb2N1cz4oKTtcclxuICBvblNlbGVjdGlvbkNoYW5nZWQgPSBvdXRwdXQ8U2VsZWN0aW9uQ2hhbmdlPigpO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgXHJcbiAgICAvKmlmICghdGhpcy51c2Vycykge1xyXG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuZ2V0VXNlcnMoKS5zdWJzY3JpYmUodXNlcnMgPT5cclxuICAgICAgICB0aGlzLnVzZXJzID0gdXNlcnNcclxuICAgICAgKTtcclxuICAgIH0qL1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnLnNldCh7XHJcbiAgICAgIC4uLkRlZmF1bHRDb25maWcsXHJcbiAgICAgIC4uLnRoaXMuY29uZmlnKCksXHJcbiAgICAgIC4uLnRoaXMuI2RhdGE/LmNvbmZpZyxcclxuICAgICAgYnV0dG9uczogdGhpcy5jb25maWcoKT8uYnV0dG9ucyA/PyBEZWZhdWx0QnV0dG9ucyxcclxuICAgICAgaWNvbnM6IHtcclxuICAgICAgICAuLi5EZWZhdWx0SWNvbnMsXHJcbiAgICAgICAgLi4udGhpcy5jb25maWcoKT8uaWNvbnNcclxuICAgICAgfSxcclxuICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAuLi5EZWZhdWx0VG9vbHRpcHMsXHJcbiAgICAgICAgLi4udGhpcy5jb25maWcoKT8udG9vbHRpcHNcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgPz8gdGhpcy4jZGF0YT8udmFsdWU7XHJcblxyXG4gICAgLy8gTW92ZWQgdG8gY2xpZW50IHJlc3BvbnNpYmlsaXR5XHJcbiAgICAvKmlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSkge1xyXG4gICAgICBRdWlsbC5yZWdpc3RlcignbW9kdWxlcy9pbWFnZURyb3AnLCBJbWFnZURyb3ApO1xyXG4gICAgfSovXHJcblxyXG4gICAgdGhpcy5wbGFjZWhvbGRlci5zZXQodGhpcy5wbGFjZWhvbGRlcigpID8/IHRoaXMuI2RhdGE/LnBsYWNlaG9sZGVyKTtcclxuXHJcbiAgICB0aGlzLmltYWdlRHJvcE1vZHVsZS5zZXQodGhpcy5pbWFnZURyb3BNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5pbWFnZURyb3BNb2R1bGUgPz8gdGhpcy5jb25maWcoKSEuaW1hZ2VEcm9wTW9kdWxlKTtcclxuICAgIHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUuc2V0KHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5pbWFnZVJlc2l6ZU1vZHVsZSA/PyB0aGlzLmNvbmZpZygpIS5pbWFnZVJlc2l6ZU1vZHVsZSk7XHJcbiAgICB0aGlzLnN5bnRheE1vZHVsZS5zZXQodGhpcy5zeW50YXhNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5zeW50YXhNb2R1bGUgPz8gdGhpcy5jb25maWcoKSEuc3ludGF4TW9kdWxlKTtcclxuXHJcbiAgICB0aGlzLmZvcm1hdC5zZXQodGhpcy5mb3JtYXQoKSA/PyB0aGlzLiNkYXRhPy5mb3JtYXQgPz8gdGhpcy5jb25maWcoKSEuZm9ybWF0KTtcclxuICAgIHRoaXMuaGVpZ2h0LnNldCh0aGlzLmhlaWdodCgpID8/IHRoaXMuI2RhdGE/LmhlaWdodCA/PyB0aGlzLmNvbmZpZygpIS5oZWlnaHQpO1xyXG4gICAgdGhpcy53aWR0aC5zZXQodGhpcy53aWR0aCgpID8/IHRoaXMuI2RhdGE/LndpZHRoID8/IHRoaXMuY29uZmlnKCkhLndpZHRoKTtcclxuICAgIHRoaXMuZnVsbHNjcmVlbkhlaWdodC5zZXQodGhpcy5mdWxsc2NyZWVuSGVpZ2h0KCkgPz8gdGhpcy4jZGF0YT8ubWF4SGVpZ2h0ID8/IHRoaXMuY29uZmlnKCkhLmZ1bGxzY3JlZW5IZWlnaHQpO1xyXG4gICAgdGhpcy5mdWxsc2NyZWVuV2lkdGguc2V0KHRoaXMuZnVsbHNjcmVlbldpZHRoKCkgPz8gdGhpcy4jZGF0YT8ubWF4V2lkdGggPz8gdGhpcy5jb25maWcoKSEuZnVsbHNjcmVlbldpZHRoKTtcclxuICAgIHRoaXMuZnVsbHNjcmVlbk1vZGUuc2V0KHRoaXMuZnVsbHNjcmVlbk1vZGUoKSA/PyB0aGlzLiNkYXRhPy5mdWxsc2NyZWVuTW9kZSA/PyB0aGlzLmNvbmZpZygpIS5mdWxsc2NyZWVuTW9kZSk7XHJcblxyXG4gICAgdGhpcy5lbmFibGVUb29sdGlwcy5zZXQodGhpcy5lbmFibGVUb29sdGlwcygpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmVuYWJsZVRvb2x0aXBzKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5lbmFibGVUb29sdGlwcyA/PyB0aGlzLmNvbmZpZygpIS5lbmFibGVUb29sdGlwcyk7XHJcblxyXG4gICAgdGhpcy5mdWxsc2NyZWVuLnNldCh0aGlzLmZ1bGxzY3JlZW4oKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5mdWxsc2NyZWVuKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5mdWxsc2NyZWVuID8/IHRoaXMuY29uZmlnKCkhLmZ1bGxzY3JlZW4pO1xyXG5cclxuICAgIHRoaXMucmVhZG9ubHkuc2V0KHRoaXMucmVhZG9ubHkoKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5yZWFkb25seSgpIDpcclxuICAgICAgdGhpcy4jZGF0YT8ucmVhZG9ubHkgPz8gdGhpcy5jb25maWcoKSEucmVhZG9ubHkpO1xyXG5cclxuICAgIHRoaXMuYXBwbHlSZWFkb25seVN0eWxlLnNldCh0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSgpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSgpIDpcclxuICAgICAgdGhpcy4jZGF0YT8uYXBwbHlSZWFkb25seVN0eWxlID8/IHRoaXMuY29uZmlnKCkhLmFwcGx5UmVhZG9ubHlTdHlsZSk7XHJcblxyXG4gICAgdGhpcy5zaG93VG9vbGJhci5zZXQodGhpcy5zaG93VG9vbGJhcigpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLnNob3dUb29sYmFyKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5zaG93VG9vbGJhciA/PyB0aGlzLmNvbmZpZygpIS5zaG93VG9vbGJhcik7XHJcblxyXG4gICAgdGhpcy5zaG93Qm9yZGVyLnNldCh0aGlzLnNob3dCb3JkZXIoKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5zaG93Qm9yZGVyKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5zaG93Qm9yZGVyID8/IHRoaXMuY29uZmlnKCkhLnNob3dCb3JkZXIpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRnVsbHNjcmVlbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnKSB7XHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuLnNldCghdGhpcy5mdWxsc2NyZWVuKCkpO1xyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0aGlzLmZ1bGxzY3JlZW4oKSEpO1xyXG4gICAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlbigpKSB7XHJcbiAgICAgICAgdGhpcy4jZGlhbG9nUmVmPy5jbG9zZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdChmYWxzZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogRGlhbG9nRGF0YSA9IHtcclxuXHJcbiAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcclxuICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWcoKSxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyKCksXHJcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0KCkhLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSEsXHJcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSEsXHJcbiAgICAgICAgICBtYXhXaWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgZW5hYmxlVG9vbHRpcHM6IHRoaXMuZW5hYmxlVG9vbHRpcHMoKSEsXHJcbiAgICAgICAgICBmdWxsc2NyZWVuOiB0cnVlLFxyXG4gICAgICAgICAgZnVsbHNjcmVlbk1vZGU6IHRoaXMuZnVsbHNjcmVlbk1vZGUoKSEsXHJcbiAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSgpISxcclxuICAgICAgICAgIGFwcGx5UmVhZG9ubHlTdHlsZTogdGhpcy5hcHBseVJlYWRvbmx5U3R5bGUoKSEsXHJcbiAgICAgICAgICBzaG93VG9vbGJhcjogdGhpcy5zaG93VG9vbGJhcigpISxcclxuICAgICAgICAgIHNob3dCb3JkZXI6IHRoaXMuc2hvd0JvcmRlcigpISxcclxuICAgICAgICAgIGltYWdlUmVzaXplTW9kdWxlOiB0aGlzLmltYWdlUmVzaXplTW9kdWxlKCkhLFxyXG4gICAgICAgICAgaW1hZ2VEcm9wTW9kdWxlOiB0aGlzLmltYWdlRHJvcE1vZHVsZSgpISxcclxuICAgICAgICAgIHN5bnRheE1vZHVsZTogdGhpcy5zeW50YXhNb2R1bGUoKSFcclxuICAgICAgICAgIC8vdXNlcnM6IHRoaXMudXNlcnNcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLiNkaWFsb2cub3BlbihFZGl0b3JDb21wb25lbnQsIHtcclxuICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLmZ1bGxzY3JlZW5XaWR0aCgpLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSxcclxuICAgICAgICAgIGRhdGFcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuQ2hhbmdlZC5lbWl0KHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByYXdFZGl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy4jZGlhbG9nLm9wZW4oUmF3Q29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHRoaXMudmFsdWUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgaGVpZ2h0OiAnOTAlJyxcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfSlcclxuICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgaWYgKHZhbHVlID09PSAnX19ETyEhTk9UISFVUERBVEVfXycpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9vbHRpcCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbmFibGVUb29sdGlwcygpID8gdmFsIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9kdWxlcygpIHtcclxuICAgIC8vaWYgKCF0aGlzLnVzZXJzKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cclxuXHJcbiAgICBjb25zdCBtb2R1bGVzID0geyB9O1xyXG5cclxuICAgIGlmICghdGhpcy5zaG93VG9vbGJhcigpKSB7XHJcbiAgICAgIG1vZHVsZXNbJ3Rvb2xiYXInXSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlUmVzaXplTW9kdWxlKCkpIHtcclxuICAgICAgbW9kdWxlc1snaW1hZ2VSZXNpemUnXSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSgpKSB7XHJcbiAgICAgIG1vZHVsZXNbJ2ltYWdlRHJvcCddID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zeW50YXhNb2R1bGUoKSkge1xyXG4gICAgICBtb2R1bGVzWydzeW50YXgnXSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyppZiAodGhpcy5tZW50aW9uTW9kdWxlKSB7XHJcbiAgICAgIG1vZHVsZXNbJ21lbnRpb24nXSA9IHtcclxuICAgICAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXHJcblxyXG4gICAgICAgIG9uU2VsZWN0OiAoaXRlbTogRE9NU3RyaW5nTWFwLCBpbnNlcnRJdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZWRpdG9yIS5xdWlsbEVkaXRvclxyXG4gICAgICAgICAgaW5zZXJ0SXRlbShpdGVtKVxyXG4gICAgICAgICAgLy8gbmVjZXNzYXJ5IGJlY2F1c2UgcXVpbGwtbWVudGlvbiB0cmlnZ2VycyBjaGFuZ2VzIGFzICdhcGknIGluc3RlYWQgb2YgJ3VzZXInXHJcbiAgICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dChlZGl0b3IuZ2V0TGVuZ3RoKCkgLSAxLCAnJywgJ3VzZXInKVxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIHNvdXJjZTogKHNlYXJjaFRlcm06IHN0cmluZywgcmVuZGVyTGlzdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmVuZGVyTGlzdCh0aGlzLnVzZXJzPy5tYXAodSA9PiAoeyB2YWx1ZTogYCR7dS5kaXNwbGF5TmFtZX0gKCR7dS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pKSwgc2VhcmNoVGVybSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXM6IGFueVtdID0gW11cclxuXHJcbiAgICAgICAgICAgIHRoaXMudXNlcnMhLmZvckVhY2goKGVudHJ5KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgZW50cnkuZGlzcGxheU5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgIT09IC0xIHx8XHJcbiAgICAgICAgICAgICAgICBlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTFcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKHsgdmFsdWU6IGAke2VudHJ5LmRpc3BsYXlOYW1lfSAoJHtlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgcmVuZGVyTGlzdChtYXRjaGVzLCBzZWFyY2hUZXJtKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH0qL1xyXG5cclxuICAgIHJldHVybiBtb2R1bGVzO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG1ldGhvZHNcclxuICAvLyBNZXRob2QgdGhhdCBpcyBpbnZva2VkIG9uIGFuIHVwZGF0ZSBvZiBhIG1vZGVsLlxyXG4gIHVwZGF0ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIE92ZXJyaWRlc1xyXG5cclxuICAvLyBXcml0ZXMgYSBuZXcgaXRlbSB0byB0aGUgZWxlbWVudC5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8vIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcyBpbiB0aGUgVUkuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIC8vIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgYmx1ciBldmVudC5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcbn0iLCI8bmctY29udGFpbmVyPlxyXG4gIDxmb3JtPlxyXG4gICAgPHF1aWxsLWVkaXRvciBuYW1lPVwiZWRpdG9yXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUNoYW5nZXMoKVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpID8/ICcnXCJcclxuICAgICAgW2Zvcm1hdF09XCJmb3JtYXQoKVwiXHJcbiAgICAgIFtzdHlsZS5oZWlnaHRdPVwiZnVsbHNjcmVlbigpID8gZnVsbHNjcmVlbkhlaWdodCgpIDogaGVpZ2h0KClcIlxyXG4gICAgICBbc3R5bGUud2lkdGhdPVwiZnVsbHNjcmVlbigpID8gZnVsbHNjcmVlbldpZHRoKCkgOiB3aWR0aCgpXCJcclxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5KCkgPz8gZmFsc2VcIlxyXG4gICAgICBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHkoKSAmJiBhcHBseVJlYWRvbmx5U3R5bGUoKVwiXHJcbiAgICAgIFtjbGFzcy5uby10b29sYmFyXT1cIiFzaG93VG9vbGJhcigpXCJcclxuICAgICAgW2NsYXNzLm5vLWJvcmRlcl09XCIhc2hvd0JvcmRlcigpXCJcclxuICAgICAgW21vZHVsZXNdPVwibW9kdWxlc1wiXHJcblxyXG4gICAgICAob25CbHVyKT1cIm9uQmx1ci5lbWl0KCRldmVudClcIlxyXG4gICAgICAob25Db250ZW50Q2hhbmdlZCk9XCJvbkNvbnRlbnRDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChvbkVkaXRvckNoYW5nZWQpPVwib25FZGl0b3JDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChvbkVkaXRvckNyZWF0ZWQpPVwib25FZGl0b3JDcmVhdGVkLmVtaXQoKVwiXHJcbiAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQpXCI+XHJcblxyXG4gICAgICBAaWYgKHNob3dUb29sYmFyKCkpIHtcclxuICAgICAgICA8ZGl2IHF1aWxsLWVkaXRvci10b29sYmFyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sYmFyXCIvPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGl0b3JTaXplXCIvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L3F1aWxsLWVkaXRvcj5cclxuICA8L2Zvcm0+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICN0b29sYmFyPlxyXG4gIDxkaXY+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvbnRTdHlsZVwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmxvY2tTdHlsZVwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGluZ1N0eWxlXCIvPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0U3R5bGVcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNjcmlwdFN0eWxlXCIvPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpbmRlbnRTdHlsZVwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicnRsXCIvPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250U2l6ZVwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGluZ1wiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sb3JcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvbnRcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFsaWduXCIvPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbGVhblwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9ybXVsYVwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVkaWFcIi8+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ZvbnRTdHlsZT5cclxuICBAaWYgKHNob3dGb250U3R5bGUpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5ib2xkKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWJvbGRcIiAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmJvbGQhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLml0YWxpYykge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pdGFsaWNcIiAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuaXRhbGljISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS51bmRlcmxpbmUpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtdW5kZXJsaW5lXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLnVuZGVybGluZSEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuc3RyaWtlKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXN0cmlrZVwiICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5zdHJpa2UhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNibG9ja1N0eWxlPlxyXG4gIEBpZiAoc2hvd0Jsb2NrU3R5bGUpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5ibG9ja3F1b3RlKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWJsb2NrcXVvdGVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuYmxvY2txdW90ZSEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuY29kZWJsb2NrKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWNvZGUtYmxvY2tcIiAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmNvZGVibG9jayEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2hlYWRpbmdTdHlsZT5cclxuICBAaWYgKHNob3dRdWlja0hlYWRpbmdTdHlsZSkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmgxKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWhlYWRlclwiIHZhbHVlPVwiMVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5oMSEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuaDIpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaGVhZGVyXCIgdmFsdWU9XCIyXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmgyISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9zcGFuPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGlzdFN0eWxlPlxyXG4gIEBpZiAoc2hvd0xpc3RTdHlsZSkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLm9yZGVyZWQpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwib3JkZXJlZFwiICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEub3JkZXJlZCEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuYnVsbGV0ZWQpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwiYnVsbGV0XCIgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5idWxsZXRlZCEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NjcmlwdFN0eWxlPlxyXG4gIEBpZiAoc2hvd1NjcmlwdFN0eWxlKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuc3ViU2NyaXB0KSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXNjcmlwdFwiIHZhbHVlPVwic3ViXCIgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuc3ViU2NyaXB0ISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5zdXBlclNjcmlwdCkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1cGVyXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLnN1cGVyU2NyaXB0ISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9zcGFuPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW5kZW50U3R5bGU+XHJcbiAgQGlmIChzaG93SW5kZW50U3R5bGUpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5kZWNyZWFzZUluZGVudCkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbmRlbnRcIiB2YWx1ZT1cIi0xXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmRlY3JlYXNlSW5kZW50ISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5pbmNyZWFzZUluZGVudCkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbmRlbnRcIiB2YWx1ZT1cIisxXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmluY3JlYXNlSW5kZW50ISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9zcGFuPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcnRsPlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLnJ0bCkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1kaXJlY3Rpb25cIiB2YWx1ZT1cInJ0bFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5ydGwhKVwiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZm9udFNpemU+XHJcbiAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuZm9udFNpemUpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5mb250U2l6ZSEpXCI+XHJcbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNtYWxsXCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaHVnZVwiPjwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2hlYWRpbmc+XHJcbiAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuaGVhZGluZ1N0eWxlKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuaGVhZGluZ1N0eWxlISlcIj5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWhlYWRlclwiPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjJcIj48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiM1wiPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCI0XCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjVcIj48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNlwiPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPjwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbG9yPlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmNvbG9yKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuY29sb3IhKVwiPlxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtY29sb3JcIj48L3NlbGVjdD5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWJhY2tncm91bmRcIj48L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ZvbnQ+XHJcbiAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuZm9udCkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmZvbnQhKVwiPlxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtZm9udFwiPlxyXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNlcmlmXCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1vbm9zcGFjZVwiPjwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FsaWduPlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmFsaWduKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuYWxpZ24hKVwiPlxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYWxpZ25cIj5cclxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJjZW50ZXJcIj48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmlnaHRcIj48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwianVzdGlmeVwiPjwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NsZWFuPlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmNsZWFuKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuY2xlYW4hKVwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY2xlYW5cIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI21lZGlhPlxyXG4gIEBpZiAoc2hvd01lZGlhKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEubGluaykge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saW5rXCIgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5saW5rISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5pbWFnZSkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbWFnZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5pbWFnZSEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEudmlkZW8pIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtdmlkZW9cIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEudmlkZW8hKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNlZGl0b3JTaXplPlxyXG4gIDxkaXY+XHJcbiAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5yYXdFZGl0b3IpIHtcclxuICAgICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBpZD1cInJhd2RvZ1wiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEucmF3RWRpdG9yISlcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwicmF3RWRpdCgpXCI+XHJcbiAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5lZGl0b3JTaXplKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJmdWxsc2NyZWVuXCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoZnVsbHNjcmVlbigpID9cclxuICAgICAgICAgICAgICAgICAgICAoZnVsbHNjcmVlbk1vZGUoKSA9PT0gJ2V4cGFuZCcgPyBjb25maWcoKSEudG9vbHRpcHMhLm1pbmltaXplISA6IGNvbmZpZygpIS50b29sdGlwcyEucG9waW4hKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnID8gY29uZmlnKCkhLnRvb2x0aXBzIS5tYXhpbWl6ZSEgOiBjb25maWcoKSEudG9vbHRpcHMhLnBvcG91dCEpKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJ0b2dnbGVGdWxsc2NyZWVuKClcIj5cclxuICAgICAgICAgICAge3sgZnVsbHNjcmVlbigpID9cclxuICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnID8gY29uZmlnKCkhLmljb25zIS5taW5pbWl6ZSA6IGNvbmZpZygpIS5pY29ucyEucG9waW4pIDpcclxuICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnID8gY29uZmlnKCkhLmljb25zIS5tYXhpbWl6ZSA6IGNvbmZpZygpIS5pY29ucyEucG9wb3V0KVxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb3JtdWxhPlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmZvcm11bGEpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5mb3JtdWxhISlcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWZvcm11bGFcIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -11,10 +11,10 @@ export class RawComponent {
11
11
  constructor() {
12
12
  this.data = inject(MAT_DIALOG_DATA);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RawComponent, isStandalone: true, selector: "cpquill-raw", ngImport: i0, template: "<mat-dialog-content>\n <form>\n <mat-form-field appearance=\"outline\">\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\n <mat-icon>cancel</mat-icon>\n <span>Cancel</span>\n </button>\n\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\n <mat-icon>done</mat-icon>\n <span>Accept</span>\n </button>\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: RawComponent, isStandalone: true, selector: "cpquill-raw", ngImport: i0, template: "<mat-dialog-content>\r\n <form>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\r\n <mat-icon>cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\r\n <mat-icon>done</mat-icon>\r\n <span>Accept</span>\r\n </button>\r\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RawComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RawComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'cpquill-raw', standalone: true, imports: [
20
20
  FormsModule,
@@ -25,6 +25,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
25
25
  MatFormField,
26
26
  MatIcon,
27
27
  MatInput
28
- ], template: "<mat-dialog-content>\n <form>\n <mat-form-field appearance=\"outline\">\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\n <mat-icon>cancel</mat-icon>\n <span>Cancel</span>\n </button>\n\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\n <mat-icon>done</mat-icon>\n <span>Accept</span>\n </button>\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"] }]
28
+ ], template: "<mat-dialog-content>\r\n <form>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\r\n <mat-icon>cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\r\n <mat-icon>done</mat-icon>\r\n <span>Accept</span>\r\n </button>\r\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"] }]
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL3Jhdy9yYXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvcmF3L3Jhdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWtCbkQsTUFBTSxPQUFPLFlBQVk7SUFoQnpCO1FBaUJFLFNBQUksR0FBRyxNQUFNLENBQVMsZUFBZSxDQUFDLENBQUM7S0FDeEM7OEdBRlksWUFBWTtrR0FBWixZQUFZLHVFQ3hCekIsd2xCQWtCcUIscUxETmpCLFdBQVcsd2lDQUNYLFNBQVMsaUxBQ1QsZ0JBQWdCLDRIQUNoQixjQUFjLHFMQUNkLGdCQUFnQix5R0FDaEIsWUFBWSw0TEFDWixPQUFPLDJJQUNQLFFBQVE7OzJGQUtDLFlBQVk7a0JBaEJ4QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxRQUFRO3FCQUNUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UsIE1hdERpYWxvZ0NvbnRlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3BxdWlsbC1yYXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uLFxuICAgIE1hdERpYWxvZ0FjdGlvbnMsXG4gICAgTWF0RGlhbG9nQ2xvc2UsXG4gICAgTWF0RGlhbG9nQ29udGVudCxcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0SWNvbixcbiAgICBNYXRJbnB1dFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmF3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Jhdy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgUmF3Q29tcG9uZW50IHtcbiAgZGF0YSA9IGluamVjdDxzdHJpbmc+KE1BVF9ESUFMT0dfREFUQSk7XG59IiwiPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8Zm9ybT5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJkYXRhXCIgbmFtZT1cImRhdGFcIj48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJ3YXJuXCIgbWF0LWRpYWxvZy1jbG9zZT1cIl9fRE8hIU5PVCEhVVBEQVRFX19cIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPkNhbmNlbDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW21hdC1kaWFsb2ctY2xvc2VdPVwiZGF0YVwiPlxuICAgICAgICA8bWF0LWljb24+ZG9uZTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPkFjY2VwdDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL3Jhdy9yYXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvcmF3L3Jhdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWtCbkQsTUFBTSxPQUFPLFlBQVk7SUFoQnpCO1FBaUJFLFNBQUksR0FBRyxNQUFNLENBQVMsZUFBZSxDQUFDLENBQUM7S0FDeEM7OEdBRlksWUFBWTtrR0FBWixZQUFZLHVFQ3hCekIsNG5CQWtCcUIscUxETmpCLFdBQVcsd2lDQUNYLFNBQVMsaUxBQ1QsZ0JBQWdCLDRIQUNoQixjQUFjLHFMQUNkLGdCQUFnQix5R0FDaEIsWUFBWSw0TEFDWixPQUFPLDJJQUNQLFFBQVE7OzJGQUtDLFlBQVk7a0JBaEJ4QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxRQUFRO3FCQUNUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UsIE1hdERpYWxvZ0NvbnRlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3BxdWlsbC1yYXcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b24sXHJcbiAgICBNYXREaWFsb2dBY3Rpb25zLFxyXG4gICAgTWF0RGlhbG9nQ2xvc2UsXHJcbiAgICBNYXREaWFsb2dDb250ZW50LFxyXG4gICAgTWF0Rm9ybUZpZWxkLFxyXG4gICAgTWF0SWNvbixcclxuICAgIE1hdElucHV0XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmF3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcmF3LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmF3Q29tcG9uZW50IHtcclxuICBkYXRhID0gaW5qZWN0PHN0cmluZz4oTUFUX0RJQUxPR19EQVRBKTtcclxufSIsIjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8Zm9ybT5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IFsobmdNb2RlbCldPVwiZGF0YVwiIG5hbWU9XCJkYXRhXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9mb3JtPlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwid2FyblwiIG1hdC1kaWFsb2ctY2xvc2U9XCJfX0RPISFOT1QhIVVQREFURV9fXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+Q2FuY2VsPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJkYXRhXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxyXG4gICAgICAgIDxzcGFuPkFjY2VwdDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz4iXX0=