croco-html 2.12.0 → 2.14.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 (71) hide show
  1. package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +5 -5
  2. package/esm2022/lib/components/editor/download-file-button-block/download-file-button-block.component.mjs +42 -0
  3. package/esm2022/lib/components/editor/external-video-block/external-video-block.component.mjs +24 -7
  4. package/esm2022/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +7 -6
  5. package/esm2022/lib/components/editor/image-editor/image-editor.component.mjs +9 -8
  6. package/esm2022/lib/components/editor/main-editor/main-editor.component.mjs +13 -12
  7. package/esm2022/lib/components/editor/main-editor-block/main-editor-block.component.mjs +18 -10
  8. package/esm2022/lib/components/editor/text-editor/text-editor.component.mjs +9 -8
  9. package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +15 -15
  10. package/esm2022/lib/components/file-id-select/file-id-select.component.mjs +7 -5
  11. package/esm2022/lib/components/html-view/html-view.component.mjs +5 -5
  12. package/esm2022/lib/components/upload-files-btn/upload-files-btn.component.mjs +5 -5
  13. package/esm2022/lib/components/xml-tags/file-image-tag-view/file-image-tag-view.component.mjs +3 -3
  14. package/esm2022/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +3 -3
  15. package/esm2022/lib/components/xml-tags/xml-tag-download-file-button/xml-tag-download-file-button.component.mjs +52 -0
  16. package/esm2022/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +5 -5
  17. package/esm2022/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.mjs +3 -3
  18. package/esm2022/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.mjs +4 -4
  19. package/esm2022/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.mjs +3 -3
  20. package/esm2022/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.mjs +4 -4
  21. package/esm2022/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.mjs +4 -4
  22. package/esm2022/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.mjs +3 -3
  23. package/esm2022/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +20 -11
  24. package/esm2022/lib/croco-html.module.mjs +66 -73
  25. package/esm2022/lib/extensions/DownloadButtonMethods.mjs +2 -2
  26. package/esm2022/lib/index.mjs +1 -3
  27. package/esm2022/lib/pipes/RichTextToHtmlPipe.mjs +4 -3
  28. package/esm2022/lib/pipes/TagToSpanPipe.mjs +4 -3
  29. package/esm2022/lib/pipes/ToHtmlBodyTagsPipe.mjs +4 -3
  30. package/esm2022/lib/pipes/ToPreviewHtmlPipe.mjs +4 -3
  31. package/esm2022/lib/pipes/to-preview.pipe.mjs +4 -3
  32. package/esm2022/lib/services/blob-create.service.mjs +4 -4
  33. package/esm2022/lib/services/file-upload.service.mjs +4 -41
  34. package/fesm2022/croco-html.mjs +395 -401
  35. package/fesm2022/croco-html.mjs.map +1 -1
  36. package/lib/components/add-files-btn/add-files-btn.component.d.ts +1 -1
  37. package/lib/components/editor/download-file-button-block/download-file-button-block.component.d.ts +13 -0
  38. package/lib/components/editor/external-video-block/external-video-block.component.d.ts +3 -1
  39. package/lib/components/editor/html-raw-editor/html-raw-editor.component.d.ts +1 -1
  40. package/lib/components/editor/image-editor/image-editor.component.d.ts +1 -1
  41. package/lib/components/editor/main-editor/main-editor.component.d.ts +1 -1
  42. package/lib/components/editor/main-editor-block/main-editor-block.component.d.ts +1 -1
  43. package/lib/components/editor/text-editor/text-editor.component.d.ts +1 -1
  44. package/lib/components/editor/visual-editor/visual-editor.component.d.ts +1 -1
  45. package/lib/components/file-id-select/file-id-select.component.d.ts +1 -1
  46. package/lib/components/html-view/html-view.component.d.ts +1 -1
  47. package/lib/components/upload-files-btn/upload-files-btn.component.d.ts +2 -2
  48. package/lib/components/xml-tags/file-image-tag-view/file-image-tag-view.component.d.ts +1 -1
  49. package/lib/components/xml-tags/html-raw-view/html-raw-view.component.d.ts +1 -1
  50. package/lib/components/xml-tags/{xml-tag-download-button/xml-tag-download-button.component.d.ts → xml-tag-download-file-button/xml-tag-download-file-button.component.d.ts} +3 -3
  51. package/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.d.ts +1 -1
  52. package/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.d.ts +1 -1
  53. package/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.d.ts +1 -1
  54. package/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.d.ts +1 -1
  55. package/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.d.ts +1 -1
  56. package/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.d.ts +1 -1
  57. package/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.d.ts +1 -1
  58. package/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.d.ts +1 -1
  59. package/lib/croco-html.module.d.ts +63 -65
  60. package/lib/index.d.ts +8 -8
  61. package/lib/pipes/RichTextToHtmlPipe.d.ts +1 -1
  62. package/lib/pipes/TagToSpanPipe.d.ts +1 -1
  63. package/lib/pipes/ToHtmlBodyTagsPipe.d.ts +1 -1
  64. package/lib/pipes/ToPreviewHtmlPipe.d.ts +1 -1
  65. package/lib/pipes/to-preview.pipe.d.ts +1 -1
  66. package/lib/services/blob-create.service.d.ts +2 -2
  67. package/lib/services/file-upload.service.d.ts +0 -4
  68. package/package.json +1 -1
  69. package/esm2022/lib/components/editor/download-button-block/download-button-block.component.mjs +0 -40
  70. package/esm2022/lib/components/xml-tags/xml-tag-download-button/xml-tag-download-button.component.mjs +0 -54
  71. package/lib/components/editor/download-button-block/download-button-block.component.d.ts +0 -13
@@ -1,7 +1,4 @@
1
- import { HttpEventType, HttpResponse } from '@angular/common/http';
2
1
  import { Inject, Injectable } from '@angular/core';
3
- import { throwError } from 'rxjs';
4
- import { filter, switchMap } from 'rxjs/operators';
5
2
  import * as i0 from "@angular/core";
6
3
  import * as i1 from "@angular/common/http";
7
4
  export class FileUploadService {
@@ -9,11 +6,6 @@ export class FileUploadService {
9
6
  this._httpClient = _httpClient;
10
7
  this.baseUrl = baseUrl;
11
8
  }
12
- postFile(file, createLocalCopiesNow = false, withProgress = false) {
13
- const formData = new FormData();
14
- formData.append(`fileKey1`, file, file.name);
15
- return this.postFilesInner(formData, createLocalCopiesNow, withProgress);
16
- }
17
9
  postFiles(files, createLocalCopiesNow = false) {
18
10
  const formData = new FormData();
19
11
  for (let i = 0; i < files.length; i++) {
@@ -23,40 +15,11 @@ export class FileUploadService {
23
15
  return this.postFilesInner(formData, createLocalCopiesNow);
24
16
  }
25
17
  postFilesInner(formData, createLocalCopiesNow = false, withProgress = false) {
26
- let endpoint = this.baseUrl + 'Api/Files/UploadFiles';
27
- if (createLocalCopiesNow) {
28
- endpoint += '/Now';
29
- }
18
+ let endpoint = createLocalCopiesNow
19
+ ? this.baseUrl + 'api/files/upload/now/with-handlers'
20
+ : this.baseUrl + 'Api/Files/UploadFiles';
30
21
  return this._httpClient.post(endpoint, formData, withProgress ? { reportProgress: true, observe: 'events' } : undefined);
31
22
  }
32
- uploadFileWithProgress(file, createLocalCopiesNow = false) {
33
- let uploadingLoaded;
34
- let uploadingTotal;
35
- return this.postFile(file, createLocalCopiesNow, true).pipe(filter((event) => {
36
- return event.type === HttpEventType.UploadProgress || event instanceof HttpResponse;
37
- }), switchMap((event) => {
38
- if (event.type === HttpEventType.UploadProgress) {
39
- uploadingLoaded = event.loaded;
40
- uploadingTotal = event.total;
41
- return [{ loading: true, uploadingLoaded, uploadingTotal }];
42
- }
43
- else {
44
- if (event.body.responseObject?.[0]) {
45
- return [
46
- {
47
- loading: false,
48
- fileId: event.body.responseObject[0],
49
- uploadingLoaded,
50
- uploadingTotal,
51
- },
52
- ];
53
- }
54
- else {
55
- return throwError(() => new Error(event.body.message));
56
- }
57
- }
58
- }));
59
- }
60
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileUploadService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
24
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileUploadService, providedIn: 'root' }); }
62
25
  }
@@ -67,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
67
30
  type: Inject,
68
31
  args: ['BASE_URL']
69
32
  }] }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsYUFBYSxFQUFFLFlBQVksRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQXVCbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLFdBQXVCLEVBQ0gsT0FBZTtRQURuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNILFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDMUMsQ0FBQztJQW9CRyxRQUFRLENBQ2IsSUFBVSxFQUNWLG9CQUFvQixHQUFHLEtBQUssRUFDNUIsWUFBWSxHQUFHLEtBQUs7UUFFcEIsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUUxQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFlLEVBQUUsb0JBQW9CLEdBQUcsS0FBSztRQUM1RCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBRTFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsWUFBb0IsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBa0JNLGNBQWMsQ0FDbkIsUUFBa0IsRUFDbEIsb0JBQW9CLEdBQUcsS0FBSyxFQUM1QixZQUFZLEdBQUcsS0FBSztRQUVwQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLHVCQUF1QixDQUFDO1FBRXRELElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUN6QixRQUFRLElBQUksTUFBTSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUMxQixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVNLHNCQUFzQixDQUFDLElBQVUsRUFBRSxvQkFBb0IsR0FBRyxLQUFLO1FBQ3BFLElBQUksZUFBdUIsQ0FBQztRQUM1QixJQUFJLGNBQXNCLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3pELE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBZ0YsRUFBRTtZQUM3RixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLGNBQWMsSUFBSSxLQUFLLFlBQVksWUFBWSxDQUFDO1FBQ3RGLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ2hELGVBQWUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUMvQixjQUFjLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDN0IsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUM5RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ25DLE9BQU87d0JBQ0w7NEJBQ0UsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQzs0QkFDcEMsZUFBZTs0QkFDZixjQUFjO3lCQUNmO3FCQUNGLENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDekQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0E3R1UsaUJBQWlCLDRDQUdsQixVQUFVO2tIQUhULGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFJN0IsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUmVzcG9uc2UsIEh0dHBVcGxvYWRQcm9ncmVzc0V2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQXBpUmVzcG9uc2Uge1xuICBpc1N1Y2NlZWRlZDogYm9vbGVhbjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyaWNCYXNlQXBpUmVzcG9uc2U8VD4gZXh0ZW5kcyBCYXNlQXBpUmVzcG9uc2Uge1xuICByZXNwb25zZU9iamVjdDogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHMgZXh0ZW5kcyBCYXNlQXBpUmVzcG9uc2Uge1xuICByZXNwb25zZU9iamVjdDogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkRmlsZVdpdGhQcm9ncmVzc0V2ZW50IHtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgcmVzcG9uc2U/OiBCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM7XG4gIHVwbG9hZGluZ0xvYWRlZDogbnVtYmVyO1xuICB1cGxvYWRpbmdUb3RhbDogbnVtYmVyO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdCQVNFX1VSTCcpIHByaXZhdGUgYmFzZVVybDogc3RyaW5nLFxuICApIHt9XG5cbiAgcHVibGljIHBvc3RGaWxlKFxuICAgIGZpbGU6IEZpbGUsXG4gICAgY3JlYXRlTG9jYWxDb3BpZXNOb3c6IGJvb2xlYW4sXG4gICAgd2l0aFByb2dyZXNzOiB0cnVlLFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+PjtcblxuICBwdWJsaWMgcG9zdEZpbGUoXG4gICAgZmlsZTogRmlsZSxcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdz86IGJvb2xlYW4sXG4gICAgd2l0aFByb2dyZXNzPzogZmFsc2UsXG4gICk6IE9ic2VydmFibGU8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPjtcblxuICBwdWJsaWMgcG9zdEZpbGUoXG4gICAgZmlsZTogRmlsZSxcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdz86IGJvb2xlYW4sXG4gICAgd2l0aFByb2dyZXNzPzogYm9vbGVhbixcbiAgKTogT2JzZXJ2YWJsZTxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+IHwgT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPj47XG5cbiAgcHVibGljIHBvc3RGaWxlKFxuICAgIGZpbGU6IEZpbGUsXG4gICAgY3JlYXRlTG9jYWxDb3BpZXNOb3cgPSBmYWxzZSxcbiAgICB3aXRoUHJvZ3Jlc3MgPSBmYWxzZSxcbiAgKTogT2JzZXJ2YWJsZTxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+IHwgT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPj4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgZm9ybURhdGEuYXBwZW5kKGBmaWxlS2V5MWAsIGZpbGUsIGZpbGUubmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5wb3N0RmlsZXNJbm5lcihmb3JtRGF0YSwgY3JlYXRlTG9jYWxDb3BpZXNOb3csIHdpdGhQcm9ncmVzcyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdEZpbGVzKGZpbGVzOiBGaWxlTGlzdCwgY3JlYXRlTG9jYWxDb3BpZXNOb3cgPSBmYWxzZSk6IE9ic2VydmFibGU8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZmlsZVRvVXBsb2FkID0gZmlsZXMuaXRlbShpKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChgZmlsZUtleSR7aX1gLCBmaWxlVG9VcGxvYWQgYXMgQmxvYiwgZmlsZVRvVXBsb2FkPy5uYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wb3N0RmlsZXNJbm5lcihmb3JtRGF0YSwgY3JlYXRlTG9jYWxDb3BpZXNOb3cpO1xuICB9XG5cbiAgcHVibGljIHBvc3RGaWxlc0lubmVyKFxuICAgIGZvcm1EYXRhOiBGb3JtRGF0YSxcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdzogYm9vbGVhbixcbiAgICB3aXRoUHJvZ3Jlc3M6IHRydWUsXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4+O1xuXG4gIHB1YmxpYyBwb3N0RmlsZXNJbm5lcihcbiAgICBmb3JtRGF0YTogRm9ybURhdGEsXG4gICAgY3JlYXRlTG9jYWxDb3BpZXNOb3c/OiBib29sZWFuLFxuICAgIHdpdGhQcm9ncmVzcz86IGZhbHNlLFxuICApOiBPYnNlcnZhYmxlPEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz47XG4gIHB1YmxpYyBwb3N0RmlsZXNJbm5lcihcbiAgICBmb3JtRGF0YTogRm9ybURhdGEsXG4gICAgY3JlYXRlTG9jYWxDb3BpZXNOb3c6IGJvb2xlYW4sXG4gICAgd2l0aFByb2dyZXNzOiBib29sZWFuLFxuICApOiBPYnNlcnZhYmxlPEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4gfCBPYnNlcnZhYmxlPEh0dHBFdmVudDxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+PjtcbiAgcHVibGljIHBvc3RGaWxlc0lubmVyKFxuICAgIGZvcm1EYXRhOiBGb3JtRGF0YSxcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdyA9IGZhbHNlLFxuICAgIHdpdGhQcm9ncmVzcyA9IGZhbHNlLFxuICApOiBPYnNlcnZhYmxlPEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4gfCBPYnNlcnZhYmxlPEh0dHBFdmVudDxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+PiB7XG4gICAgbGV0IGVuZHBvaW50ID0gdGhpcy5iYXNlVXJsICsgJ0FwaS9GaWxlcy9VcGxvYWRGaWxlcyc7XG5cbiAgICBpZiAoY3JlYXRlTG9jYWxDb3BpZXNOb3cpIHtcbiAgICAgIGVuZHBvaW50ICs9ICcvTm93JztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4oXG4gICAgICBlbmRwb2ludCxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAgd2l0aFByb2dyZXNzID8geyByZXBvcnRQcm9ncmVzczogdHJ1ZSwgb2JzZXJ2ZTogJ2V2ZW50cycgfSA6IHVuZGVmaW5lZCxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHVwbG9hZEZpbGVXaXRoUHJvZ3Jlc3MoZmlsZTogRmlsZSwgY3JlYXRlTG9jYWxDb3BpZXNOb3cgPSBmYWxzZSk6IE9ic2VydmFibGU8VXBsb2FkRmlsZVdpdGhQcm9ncmVzc0V2ZW50PiB7XG4gICAgbGV0IHVwbG9hZGluZ0xvYWRlZDogbnVtYmVyO1xuICAgIGxldCB1cGxvYWRpbmdUb3RhbDogbnVtYmVyO1xuICAgIHJldHVybiB0aGlzLnBvc3RGaWxlKGZpbGUsIGNyZWF0ZUxvY2FsQ29waWVzTm93LCB0cnVlKS5waXBlKFxuICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIEh0dHBVcGxvYWRQcm9ncmVzc0V2ZW50IHwgSHR0cFJlc3BvbnNlPEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4gPT4ge1xuICAgICAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcyB8fCBldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgIHVwbG9hZGluZ0xvYWRlZCA9IGV2ZW50LmxvYWRlZDtcbiAgICAgICAgICB1cGxvYWRpbmdUb3RhbCA9IGV2ZW50LnRvdGFsO1xuICAgICAgICAgIHJldHVybiBbeyBsb2FkaW5nOiB0cnVlLCB1cGxvYWRpbmdMb2FkZWQsIHVwbG9hZGluZ1RvdGFsIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChldmVudC5ib2R5LnJlc3BvbnNlT2JqZWN0Py5bMF0pIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmaWxlSWQ6IGV2ZW50LmJvZHkucmVzcG9uc2VPYmplY3RbMF0sXG4gICAgICAgICAgICAgICAgdXBsb2FkaW5nTG9hZGVkLFxuICAgICAgICAgICAgICAgIHVwbG9hZGluZ1RvdGFsLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGV2ZW50LmJvZHkubWVzc2FnZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF3Qm5ELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDVSxXQUF1QixFQUNILE9BQWU7UUFEbkMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDSCxZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQzFDLENBQUM7SUFFRyxTQUFTLENBQUMsS0FBZSxFQUFFLG9CQUFvQixHQUFHLEtBQUs7UUFDNUQsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUUxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFlBQW9CLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQWtCTSxjQUFjLENBQ25CLFFBQWtCLEVBQ2xCLG9CQUFvQixHQUFHLEtBQUssRUFDNUIsWUFBWSxHQUFHLEtBQUs7UUFFcEIsSUFBSSxRQUFRLEdBQUcsb0JBQW9CO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLG9DQUFvQztZQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztRQUUzQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUMxQixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDO0lBQ0osQ0FBQzs4R0EvQ1UsaUJBQWlCLDRDQUdsQixVQUFVO2tIQUhULGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFJN0IsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFwaVJlc3BvbnNlIHtcbiAgaXNTdWNjZWVkZWQ6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmljQmFzZUFwaVJlc3BvbnNlPFQ+IGV4dGVuZHMgQmFzZUFwaVJlc3BvbnNlIHtcbiAgcmVzcG9uc2VPYmplY3Q6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzIGV4dGVuZHMgQmFzZUFwaVJlc3BvbnNlIHtcbiAgcmVzcG9uc2VPYmplY3Q6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZEZpbGVXaXRoUHJvZ3Jlc3NFdmVudCB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIHJlc3BvbnNlPzogQmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzO1xuICB1cGxvYWRpbmdMb2FkZWQ6IG51bWJlcjtcbiAgdXBsb2FkaW5nVG90YWw6IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnQkFTRV9VUkwnKSBwcml2YXRlIGJhc2VVcmw6IHN0cmluZyxcbiAgKSB7fVxuXG4gIHB1YmxpYyBwb3N0RmlsZXMoZmlsZXM6IEZpbGVMaXN0LCBjcmVhdGVMb2NhbENvcGllc05vdyA9IGZhbHNlKTogT2JzZXJ2YWJsZTxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBmaWxlVG9VcGxvYWQgPSBmaWxlcy5pdGVtKGkpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKGBmaWxlS2V5JHtpfWAsIGZpbGVUb1VwbG9hZCBhcyBCbG9iLCBmaWxlVG9VcGxvYWQ/Lm5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBvc3RGaWxlc0lubmVyKGZvcm1EYXRhLCBjcmVhdGVMb2NhbENvcGllc05vdyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdEZpbGVzSW5uZXIoXG4gICAgZm9ybURhdGE6IEZvcm1EYXRhLFxuICAgIGNyZWF0ZUxvY2FsQ29waWVzTm93OiBib29sZWFuLFxuICAgIHdpdGhQcm9ncmVzczogdHJ1ZSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPj47XG5cbiAgcHVibGljIHBvc3RGaWxlc0lubmVyKFxuICAgIGZvcm1EYXRhOiBGb3JtRGF0YSxcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdz86IGJvb2xlYW4sXG4gICAgd2l0aFByb2dyZXNzPzogZmFsc2UsXG4gICk6IE9ic2VydmFibGU8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPjtcbiAgcHVibGljIHBvc3RGaWxlc0lubmVyKFxuICAgIGZvcm1EYXRhOiBGb3JtRGF0YSxcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdzogYm9vbGVhbixcbiAgICB3aXRoUHJvZ3Jlc3M6IGJvb2xlYW4sXG4gICk6IE9ic2VydmFibGU8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPiB8IE9ic2VydmFibGU8SHR0cEV2ZW50PEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4+O1xuICBwdWJsaWMgcG9zdEZpbGVzSW5uZXIoXG4gICAgZm9ybURhdGE6IEZvcm1EYXRhLFxuICAgIGNyZWF0ZUxvY2FsQ29waWVzTm93ID0gZmFsc2UsXG4gICAgd2l0aFByb2dyZXNzID0gZmFsc2UsXG4gICk6IE9ic2VydmFibGU8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPiB8IE9ic2VydmFibGU8SHR0cEV2ZW50PEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4+IHtcbiAgICBsZXQgZW5kcG9pbnQgPSBjcmVhdGVMb2NhbENvcGllc05vd1xuICAgICAgPyB0aGlzLmJhc2VVcmwgKyAnYXBpL2ZpbGVzL3VwbG9hZC9ub3cvd2l0aC1oYW5kbGVycydcbiAgICAgIDogdGhpcy5iYXNlVXJsICsgJ0FwaS9GaWxlcy9VcGxvYWRGaWxlcyc7XG5cbiAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4oXG4gICAgICBlbmRwb2ludCxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAgd2l0aFByb2dyZXNzID8geyByZXBvcnRQcm9ncmVzczogdHJ1ZSwgb2JzZXJ2ZTogJ2V2ZW50cycgfSA6IHVuZGVmaW5lZCxcbiAgICApO1xuICB9XG59XG4iXX0=