@deeksha2309/sunbird-collection-editor 8.0.7 → 8.0.8

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 (107) hide show
  1. package/deeksha2309-sunbird-collection-editor.d.ts.map +1 -0
  2. package/esm2022/deeksha2309-sunbird-collection-editor.mjs +5 -0
  3. package/esm2022/lib/collection-editor-library.module.mjs +30 -6
  4. package/esm2022/lib/components/answer/answer.component.mjs +6 -3
  5. package/esm2022/lib/components/app-loader/app-loader.component.mjs +30 -0
  6. package/esm2022/lib/components/asset-browser/asset-browser.component.mjs +30 -12
  7. package/esm2022/lib/components/assign-page-number/assign-page-number.component.mjs +1 -1
  8. package/esm2022/lib/components/bulk-upload/bulk-upload.component.mjs +447 -0
  9. package/esm2022/lib/components/ckeditor-tool/ckeditor-tool.component.mjs +30 -12
  10. package/esm2022/lib/components/collection-icon/collection-icon.component.mjs +3 -3
  11. package/esm2022/lib/components/csv-upload/csv-upload.component.mjs +2 -2
  12. package/esm2022/lib/components/editor/editor.component.mjs +143 -64
  13. package/esm2022/lib/components/fancy-tree/fancy-tree.component.mjs +91 -9
  14. package/esm2022/lib/components/header/header.component.mjs +27 -9
  15. package/esm2022/lib/components/library/library.component.mjs +4 -4
  16. package/esm2022/lib/components/library-list/library-list.component.mjs +4 -4
  17. package/esm2022/lib/components/library-player/library-player.component.mjs +4 -4
  18. package/esm2022/lib/components/meta-form/meta-form.component.mjs +10 -18
  19. package/esm2022/lib/components/options/options.component.mjs +40 -27
  20. package/esm2022/lib/components/progress-status/progress-status.component.mjs +1 -1
  21. package/esm2022/lib/components/publish-checklist/publish-checklist.component.mjs +6 -3
  22. package/esm2022/lib/components/question/question.component.mjs +185 -77
  23. package/esm2022/lib/components/question-option-sub-menu/question-option-sub-menu.component.mjs +36 -0
  24. package/esm2022/lib/components/quml-player/quml-player.component.mjs +2 -2
  25. package/esm2022/lib/components/qumlplayer-page/qumlplayer-page.component.mjs +3 -3
  26. package/esm2022/lib/components/relational-metadata/relational-metadata.component.mjs +80 -0
  27. package/esm2022/lib/components/resource-reorder/resource-reorder.component.mjs +3 -3
  28. package/esm2022/lib/components/slider/slider.component.mjs +46 -0
  29. package/esm2022/lib/components/template/template.component.mjs +3 -3
  30. package/esm2022/lib/components/translations/translations.component.mjs +132 -0
  31. package/esm2022/lib/directives/date-format/date-format.pipe.mjs +34 -0
  32. package/esm2022/lib/interfaces/CreationContext.mjs +2 -0
  33. package/esm2022/lib/interfaces/editor.mjs +1 -1
  34. package/esm2022/lib/interfaces/loader.mjs +2 -0
  35. package/esm2022/lib/pipes/interpolate.pipe.mjs +17 -0
  36. package/esm2022/lib/pipes/sanitize-html.pipe.mjs +6 -8
  37. package/esm2022/lib/services/bulk-job/bulk-job.service.mjs +67 -0
  38. package/esm2022/lib/services/config/category.config.json +1 -0
  39. package/esm2022/lib/services/config/editor.config.json +29 -2
  40. package/esm2022/lib/services/config/label.config.json +16 -3
  41. package/esm2022/lib/services/config/player.config.json +3 -0
  42. package/esm2022/lib/services/config/url.config.json +17 -1
  43. package/esm2022/lib/services/editor/editor.service.mjs +64 -26
  44. package/esm2022/lib/services/question/question.service.mjs +27 -35
  45. package/esm2022/lib/services/tree/tree.service.mjs +20 -5
  46. package/fesm2022/{project-sunbird-sunbird-collection-editor.mjs → deeksha2309-sunbird-collection-editor.mjs} +1779 -483
  47. package/fesm2022/deeksha2309-sunbird-collection-editor.mjs.map +1 -0
  48. package/index.d.ts +2 -2
  49. package/lib/collection-editor-library.module.d.ts +51 -43
  50. package/lib/collection-editor-library.module.d.ts.map +1 -1
  51. package/lib/components/answer/answer.component.d.ts +2 -1
  52. package/lib/components/answer/answer.component.d.ts.map +1 -1
  53. package/lib/components/app-loader/app-loader.component.d.ts +18 -0
  54. package/lib/components/app-loader/app-loader.component.d.ts.map +1 -0
  55. package/lib/components/asset-browser/asset-browser.component.d.ts.map +1 -1
  56. package/lib/components/bulk-upload/bulk-upload.component.d.ts +71 -0
  57. package/lib/components/bulk-upload/bulk-upload.component.d.ts.map +1 -0
  58. package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts +1 -1
  59. package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts.map +1 -1
  60. package/lib/components/editor/editor.component.d.ts +11 -7
  61. package/lib/components/editor/editor.component.d.ts.map +1 -1
  62. package/lib/components/fancy-tree/fancy-tree.component.d.ts +11 -3
  63. package/lib/components/fancy-tree/fancy-tree.component.d.ts.map +1 -1
  64. package/lib/components/header/header.component.d.ts +6 -2
  65. package/lib/components/header/header.component.d.ts.map +1 -1
  66. package/lib/components/library/library.component.d.ts +1 -1
  67. package/lib/components/library/library.component.d.ts.map +1 -1
  68. package/lib/components/meta-form/meta-form.component.d.ts +3 -4
  69. package/lib/components/meta-form/meta-form.component.d.ts.map +1 -1
  70. package/lib/components/options/options.component.d.ts +15 -7
  71. package/lib/components/options/options.component.d.ts.map +1 -1
  72. package/lib/components/publish-checklist/publish-checklist.component.d.ts +2 -1
  73. package/lib/components/publish-checklist/publish-checklist.component.d.ts.map +1 -1
  74. package/lib/components/question/question.component.d.ts +21 -28
  75. package/lib/components/question/question.component.d.ts.map +1 -1
  76. package/lib/components/question-option-sub-menu/question-option-sub-menu.component.d.ts +27 -0
  77. package/lib/components/question-option-sub-menu/question-option-sub-menu.component.d.ts.map +1 -0
  78. package/lib/components/relational-metadata/relational-metadata.component.d.ts +25 -0
  79. package/lib/components/relational-metadata/relational-metadata.component.d.ts.map +1 -0
  80. package/lib/components/slider/slider.component.d.ts +25 -0
  81. package/lib/components/slider/slider.component.d.ts.map +1 -0
  82. package/lib/components/translations/translations.component.d.ts +70 -0
  83. package/lib/components/translations/translations.component.d.ts.map +1 -0
  84. package/lib/directives/date-format/date-format.pipe.d.ts +20 -0
  85. package/lib/directives/date-format/date-format.pipe.d.ts.map +1 -0
  86. package/lib/interfaces/CreationContext.d.ts +11 -0
  87. package/lib/interfaces/CreationContext.d.ts.map +1 -0
  88. package/lib/interfaces/editor.d.ts +10 -5
  89. package/lib/interfaces/editor.d.ts.map +1 -1
  90. package/lib/interfaces/loader.d.ts +11 -0
  91. package/lib/interfaces/loader.d.ts.map +1 -0
  92. package/lib/pipes/interpolate.pipe.d.ts +8 -0
  93. package/lib/pipes/interpolate.pipe.d.ts.map +1 -0
  94. package/lib/pipes/sanitize-html.pipe.d.ts +4 -4
  95. package/lib/pipes/sanitize-html.pipe.d.ts.map +1 -1
  96. package/lib/services/bulk-job/bulk-job.service.d.ts +17 -0
  97. package/lib/services/bulk-job/bulk-job.service.d.ts.map +1 -0
  98. package/lib/services/editor/editor.service.d.ts +7 -4
  99. package/lib/services/editor/editor.service.d.ts.map +1 -1
  100. package/lib/services/question/question.service.d.ts +2 -2
  101. package/lib/services/question/question.service.d.ts.map +1 -1
  102. package/lib/services/tree/tree.service.d.ts +3 -1
  103. package/lib/services/tree/tree.service.d.ts.map +1 -1
  104. package/package.json +5 -5
  105. package/esm2022/project-sunbird-sunbird-collection-editor.mjs +0 -5
  106. package/fesm2022/project-sunbird-sunbird-collection-editor.mjs.map +0 -1
  107. package/project-sunbird-sunbird-collection-editor.d.ts.map +0 -1
@@ -112,7 +112,7 @@ export class LibraryComponent {
112
112
  this.contentList = [];
113
113
  }
114
114
  else {
115
- this.contentList = _.compact(_.concat(_.get(response.result, 'content'), _.get(response.result, 'QuestionSet')));
115
+ this.contentList = _.filter(_.compact(_.concat(_.get(response.result, 'content'), _.get(response.result, 'QuestionSet'))), (item) => item.identifier !== this.collectionId);
116
116
  this.filterContentList();
117
117
  }
118
118
  });
@@ -229,14 +229,14 @@ export class LibraryComponent {
229
229
  this.editorService.contentsCountAddedInLibraryPage(true); // contents count updated from library page to zero
230
230
  }
231
231
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LibraryComponent, deps: [{ token: i1.EditorTelemetryService }, { token: i2.EditorService }, { token: i3.Router }, { token: i4.TreeService }, { token: i5.ToasterService }, { token: i6.ConfigService }, { token: i7.HelperService }], target: i0.ɵɵFactoryTarget.Component }); }
232
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LibraryComponent, selector: "lib-library", inputs: { libraryInput: "libraryInput" }, outputs: { libraryEmitter: "libraryEmitter" }, ngImport: i0, template: "<div class=\"add-to-library mb-0\">\n <!-- Blue Header -->\n <div class=\"sb-bg-color-primary add-to-library__header\">\n <div class=\"ui container sb-container relative position\">\n <div class=\"d-flex flex-ai-center\">\n <button class=\"sb-btn sb-btn-primary sb-btn-xs back-btn px-0\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('back','click','launch', telemetryService?.telemetryPageId)\"(click)=\"back();\"><i class=\"arrow left icon fs-1\"></i></button>\n <div class=\"ml-8 sb-color-white\">\n <div class=\"d-flex flex-ai-center fsmall\">\n <div class=\"font-weight-bold fs-1-16\">{{configService.labelConfig?.lbl?.addFromLibrary}}</div>\n <!-- <div class=\"sb-border-vertical mx-15\"></div>\n <div class=\"flex flex-wrap\">\n <h5>Chapter 1</h5>\n <span>Science</span><span class=\"add-to-library-dot\"></span><span>Class 10</span><span\n class=\"add-to-library-dot\"></span><span>DP-1205</span>\n </div> -->\n </div>\n </div>\n </div>\n </div>\n </div>\n<!-- Filter -->\n <lib-library-filter *ngIf=\"!showLoader\" [filterValues]=\"defaultFilters\" [searchFormConfig]=\"searchFormConfig\" [filterOpenStatus]=\"isFilterOpen\" [frameworkId]=\"frameworkId\" (filterChangeEvent)=\"onFilterChange($event);\"></lib-library-filter>\n <div class=\"ui container sb-container min-h-500\" *ngIf=\"!showLoader && contentList?.length\">\n <!-- Player Section -->\n <div class=\"sb-g add-to-library__toc-player\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <lib-library-list (contentChangeEvent)= \"onContentChangeEvent($event)\" [selectedContent] = \"selectedContent\"[contentList]=\"contentList\" [showAddedContent]=\"showAddedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-list>\n </section>\n <!-- Right Player Sections -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-8 sb-g-col-lg-8 relative position ml-24\">\n <lib-library-player [contentListDetails]=\"selectedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-player>\n </section>\n </div>\n </div>\n</div>\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"showLoader\">\n <div class=\"sb-g add-to-library__toc-player ml-30\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"sbaccordion__panel-content p-16 mb-8 sb-dock-skeleton-bx\">\n <div class=\"sbchapter__item\" *ngFor=\"let number of [].constructor(4)\">\n <lib-skeleton-loader [width]=\"'90%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n <div>\n <lib-skeleton-loader [width]=\"'30%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n</div>\n<div *ngIf=\"showSelectResourceModal\">\n <lib-resource-reorder [prevUnitSelect]= \"selectedUnit\" [collectionhierarcyData]=\"collectionhierarcyData\" [collectionUnits]=\"collectionHierarchy\" [selectedContentDetails]=\"selectedContent\" [collectionId]=\"collectionId\" (moveEvent)=\"showResourceTemplate($event)\"></lib-resource-reorder>\n</div>\n\n<!--empty result -->\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"!showLoader && !contentList?.length\">\n <div class=\"add-to-library__no-result\">\n <h5 class=\"font-weight-bold\">{{configService.labelConfig?.lbl?.noMatchingContent}}</h5>\n <img alt=\"No Content available\" class=\"mt-16\" src=\"assets/images/emptyResult.svg\">\n <h6 class=\"sb-color-gray-300 font-weight-normal mt-8\">{{configService.labelConfig?.lbl?.changeFilterMessage}}</h6>\n <button class=\"sb-btn sb-btn-secondary sb-btn-normal mt-16\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\" (click)=\"openFilter();\">{{configService.labelConfig?.lbl?.changeFilter}}</button>\n </div>\n </div>\n</div>", styles: [".add-to-library__header{height:55px;line-height:50px}.add-to-library__no-result{display:flex;flex-direction:column;align-items:center;padding:5.5rem 0 0;width:20rem;text-align:center;margin:0 auto}.sb-dock-skeleton-bx{border-top:.0625rem solid #e0e0e0;background:var(--gray-0);min-height:2rem;overflow:hidden;overflow-y:auto;box-shadow:#0000001a}.sb-dock-flex-auto{flex:1 1 auto}.sb-dock-width-auto{width:auto}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white);border:calculateRem(1px) solid #ddd;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem;padding:.5rem;cursor:pointer;min-height:3.2rem;position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sb-btn-dark-green{background:var(--green);border:solid 1px green!important;color:var(--white)}.b-none{border:none!important}.fs-0785{font-size:.785rem}.bg-white{background:#fff}.result-no-found{background:#fff!important;position:relative;z-index:99}.result-no-found .ui.container{width:100%!important;height:100vh}lib-chat-window,.chat_bot{display:none}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.LibraryFilterComponent, selector: "lib-library-filter", inputs: ["sessionContext", "filterValues", "filterOpenStatus", "searchFormConfig", "frameworkId"], outputs: ["filterChangeEvent"] }, { kind: "component", type: i10.LibraryListComponent, selector: "lib-library-list", inputs: ["contentList", "showAddedContent", "selectedContent"], outputs: ["contentChangeEvent", "moveEvent"] }, { kind: "component", type: i11.LibraryPlayerComponent, selector: "lib-library-player", inputs: ["contentListDetails"], outputs: ["moveEvent"] }, { kind: "component", type: i12.ResourceReorderComponent, selector: "lib-resource-reorder", inputs: ["selectedContentDetails", "collectionId", "collectionUnits", "programContext", "prevUnitSelect", "collectionhierarcyData"], outputs: ["moveEvent"] }, { kind: "component", type: i13.SkeletonLoaderComponent, selector: "lib-skeleton-loader", inputs: ["height", "width", "mTop"] }, { kind: "directive", type: i14.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }], encapsulation: i0.ViewEncapsulation.None }); }
232
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LibraryComponent, selector: "lib-content-library", inputs: { libraryInput: "libraryInput" }, outputs: { libraryEmitter: "libraryEmitter" }, ngImport: i0, template: "<div class=\"add-to-library mb-0\">\n <!-- Blue Header -->\n <div class=\"sb-bg-color-primary add-to-library__header\">\n <div class=\"ui container sb-container relative position\">\n <div class=\"d-flex flex-ai-center\">\n <button class=\"sb-btn sb-btn-primary sb-btn-xs back-btn px-0\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('back','click','launch', telemetryService?.telemetryPageId)\"(click)=\"back();\"><i class=\"arrow left icon fs-1\"></i></button>\n <div class=\"ml-8 sb-color-white\">\n <div class=\"d-flex flex-ai-center fsmall\">\n <div class=\"font-weight-bold fs-1-16\">{{configService.labelConfig?.lbl?.addFromLibrary}}</div>\n <!-- <div class=\"sb-border-vertical mx-15\"></div>\n <div class=\"flex flex-wrap\">\n <h5>Chapter 1</h5>\n <span>Science</span><span class=\"add-to-library-dot\"></span><span>Class 10</span><span\n class=\"add-to-library-dot\"></span><span>DP-1205</span>\n </div> -->\n </div>\n </div>\n </div>\n </div>\n </div>\n<!-- Filter -->\n <lib-library-filter *ngIf=\"!showLoader\" [filterValues]=\"defaultFilters\" [searchFormConfig]=\"searchFormConfig\" [filterOpenStatus]=\"isFilterOpen\" [frameworkId]=\"frameworkId\" (filterChangeEvent)=\"onFilterChange($event);\"></lib-library-filter>\n <div class=\"ui container sb-container min-h-500\" *ngIf=\"!showLoader && contentList?.length\">\n <!-- Player Section -->\n <div class=\"sb-g add-to-library__toc-player\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <lib-library-list (contentChangeEvent)= \"onContentChangeEvent($event)\" [selectedContent] = \"selectedContent\"[contentList]=\"contentList\" [showAddedContent]=\"showAddedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-list>\n </section>\n <!-- Right Player Sections -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-8 sb-g-col-lg-8 relative position ml-24\">\n <lib-library-player [contentListDetails]=\"selectedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-player>\n </section>\n </div>\n </div>\n</div>\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"showLoader\">\n <div class=\"sb-g add-to-library__toc-player ml-30\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"sbaccordion__panel-content p-16 mb-8 sb-dock-skeleton-bx\">\n <div class=\"sbchapter__item\" *ngFor=\"let number of [].constructor(4)\">\n <lib-skeleton-loader [width]=\"'90%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n <div>\n <lib-skeleton-loader [width]=\"'30%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n</div>\n<div *ngIf=\"showSelectResourceModal\">\n <lib-resource-reorder [prevUnitSelect]= \"selectedUnit\" [collectionhierarcyData]=\"collectionhierarcyData\" [collectionUnits]=\"collectionHierarchy\" [selectedContentDetails]=\"selectedContent\" [collectionId]=\"collectionId\" (moveEvent)=\"showResourceTemplate($event)\"></lib-resource-reorder>\n</div>\n\n<!--empty result -->\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"!showLoader && !contentList?.length\">\n <div class=\"add-to-library__no-result\">\n <h5 class=\"font-weight-bold\">{{configService.labelConfig?.lbl?.noMatchingContent}}</h5>\n <img alt=\"No Content available\" class=\"mt-16\" src=\"assets/images/emptyResult.svg\">\n <h6 class=\"sb-color-gray-300 font-weight-normal mt-8\">{{configService.labelConfig?.lbl?.changeFilterMessage}}</h6>\n <button class=\"sb-btn sb-btn-secondary sb-btn-normal mt-16\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\" (click)=\"openFilter();\">{{configService.labelConfig?.lbl?.changeFilter}}</button>\n </div>\n </div>\n</div>", styles: [".add-to-library__header{height:55px;line-height:50px}.add-to-library__no-result{display:flex;flex-direction:column;align-items:center;padding:5.5rem 0 0;width:20rem;text-align:center;margin:0 auto}.sb-dock-skeleton-bx{border-top:.0625rem solid #e0e0e0;background:var(--gray-0);min-height:2rem;overflow:hidden;overflow-y:auto;box-shadow:#0000001a}.sb-dock-flex-auto{flex:1 1 auto}.sb-dock-width-auto{width:auto}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white);border:calculateRem(1px) solid #ddd;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem;padding:.5rem;cursor:pointer;min-height:3.2rem;position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sb-btn-dark-green{background:var(--green);border:solid 1px green!important;color:var(--white)}.b-none{border:none!important}.fs-0785{font-size:.785rem}.bg-white{background:#fff}.result-no-found{background:#fff!important;position:relative;z-index:99}.result-no-found .ui.container{width:100%!important;height:100vh}lib-chat-window,.chat_bot{display:none}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.LibraryFilterComponent, selector: "lib-library-filter", inputs: ["sessionContext", "filterValues", "filterOpenStatus", "searchFormConfig", "frameworkId"], outputs: ["filterChangeEvent"] }, { kind: "component", type: i10.LibraryListComponent, selector: "lib-library-list", inputs: ["contentList", "showAddedContent", "selectedContent"], outputs: ["contentChangeEvent", "moveEvent"] }, { kind: "component", type: i11.LibraryPlayerComponent, selector: "lib-library-player", inputs: ["contentListDetails"], outputs: ["moveEvent"] }, { kind: "component", type: i12.ResourceReorderComponent, selector: "lib-resource-reorder", inputs: ["selectedContentDetails", "collectionId", "collectionUnits", "programContext", "prevUnitSelect", "collectionhierarcyData"], outputs: ["moveEvent"] }, { kind: "component", type: i13.SkeletonLoaderComponent, selector: "lib-skeleton-loader", inputs: ["height", "width", "mTop"] }, { kind: "directive", type: i14.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }], encapsulation: i0.ViewEncapsulation.None }); }
233
233
  }
234
234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LibraryComponent, decorators: [{
235
235
  type: Component,
236
- args: [{ selector: 'lib-library', encapsulation: ViewEncapsulation.None, template: "<div class=\"add-to-library mb-0\">\n <!-- Blue Header -->\n <div class=\"sb-bg-color-primary add-to-library__header\">\n <div class=\"ui container sb-container relative position\">\n <div class=\"d-flex flex-ai-center\">\n <button class=\"sb-btn sb-btn-primary sb-btn-xs back-btn px-0\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('back','click','launch', telemetryService?.telemetryPageId)\"(click)=\"back();\"><i class=\"arrow left icon fs-1\"></i></button>\n <div class=\"ml-8 sb-color-white\">\n <div class=\"d-flex flex-ai-center fsmall\">\n <div class=\"font-weight-bold fs-1-16\">{{configService.labelConfig?.lbl?.addFromLibrary}}</div>\n <!-- <div class=\"sb-border-vertical mx-15\"></div>\n <div class=\"flex flex-wrap\">\n <h5>Chapter 1</h5>\n <span>Science</span><span class=\"add-to-library-dot\"></span><span>Class 10</span><span\n class=\"add-to-library-dot\"></span><span>DP-1205</span>\n </div> -->\n </div>\n </div>\n </div>\n </div>\n </div>\n<!-- Filter -->\n <lib-library-filter *ngIf=\"!showLoader\" [filterValues]=\"defaultFilters\" [searchFormConfig]=\"searchFormConfig\" [filterOpenStatus]=\"isFilterOpen\" [frameworkId]=\"frameworkId\" (filterChangeEvent)=\"onFilterChange($event);\"></lib-library-filter>\n <div class=\"ui container sb-container min-h-500\" *ngIf=\"!showLoader && contentList?.length\">\n <!-- Player Section -->\n <div class=\"sb-g add-to-library__toc-player\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <lib-library-list (contentChangeEvent)= \"onContentChangeEvent($event)\" [selectedContent] = \"selectedContent\"[contentList]=\"contentList\" [showAddedContent]=\"showAddedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-list>\n </section>\n <!-- Right Player Sections -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-8 sb-g-col-lg-8 relative position ml-24\">\n <lib-library-player [contentListDetails]=\"selectedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-player>\n </section>\n </div>\n </div>\n</div>\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"showLoader\">\n <div class=\"sb-g add-to-library__toc-player ml-30\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"sbaccordion__panel-content p-16 mb-8 sb-dock-skeleton-bx\">\n <div class=\"sbchapter__item\" *ngFor=\"let number of [].constructor(4)\">\n <lib-skeleton-loader [width]=\"'90%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n <div>\n <lib-skeleton-loader [width]=\"'30%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n</div>\n<div *ngIf=\"showSelectResourceModal\">\n <lib-resource-reorder [prevUnitSelect]= \"selectedUnit\" [collectionhierarcyData]=\"collectionhierarcyData\" [collectionUnits]=\"collectionHierarchy\" [selectedContentDetails]=\"selectedContent\" [collectionId]=\"collectionId\" (moveEvent)=\"showResourceTemplate($event)\"></lib-resource-reorder>\n</div>\n\n<!--empty result -->\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"!showLoader && !contentList?.length\">\n <div class=\"add-to-library__no-result\">\n <h5 class=\"font-weight-bold\">{{configService.labelConfig?.lbl?.noMatchingContent}}</h5>\n <img alt=\"No Content available\" class=\"mt-16\" src=\"assets/images/emptyResult.svg\">\n <h6 class=\"sb-color-gray-300 font-weight-normal mt-8\">{{configService.labelConfig?.lbl?.changeFilterMessage}}</h6>\n <button class=\"sb-btn sb-btn-secondary sb-btn-normal mt-16\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\" (click)=\"openFilter();\">{{configService.labelConfig?.lbl?.changeFilter}}</button>\n </div>\n </div>\n</div>", styles: [".add-to-library__header{height:55px;line-height:50px}.add-to-library__no-result{display:flex;flex-direction:column;align-items:center;padding:5.5rem 0 0;width:20rem;text-align:center;margin:0 auto}.sb-dock-skeleton-bx{border-top:.0625rem solid #e0e0e0;background:var(--gray-0);min-height:2rem;overflow:hidden;overflow-y:auto;box-shadow:#0000001a}.sb-dock-flex-auto{flex:1 1 auto}.sb-dock-width-auto{width:auto}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white);border:calculateRem(1px) solid #ddd;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem;padding:.5rem;cursor:pointer;min-height:3.2rem;position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sb-btn-dark-green{background:var(--green);border:solid 1px green!important;color:var(--white)}.b-none{border:none!important}.fs-0785{font-size:.785rem}.bg-white{background:#fff}.result-no-found{background:#fff!important;position:relative;z-index:99}.result-no-found .ui.container{width:100%!important;height:100vh}lib-chat-window,.chat_bot{display:none}\n"] }]
236
+ args: [{ selector: 'lib-content-library', encapsulation: ViewEncapsulation.None, template: "<div class=\"add-to-library mb-0\">\n <!-- Blue Header -->\n <div class=\"sb-bg-color-primary add-to-library__header\">\n <div class=\"ui container sb-container relative position\">\n <div class=\"d-flex flex-ai-center\">\n <button class=\"sb-btn sb-btn-primary sb-btn-xs back-btn px-0\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('back','click','launch', telemetryService?.telemetryPageId)\"(click)=\"back();\"><i class=\"arrow left icon fs-1\"></i></button>\n <div class=\"ml-8 sb-color-white\">\n <div class=\"d-flex flex-ai-center fsmall\">\n <div class=\"font-weight-bold fs-1-16\">{{configService.labelConfig?.lbl?.addFromLibrary}}</div>\n <!-- <div class=\"sb-border-vertical mx-15\"></div>\n <div class=\"flex flex-wrap\">\n <h5>Chapter 1</h5>\n <span>Science</span><span class=\"add-to-library-dot\"></span><span>Class 10</span><span\n class=\"add-to-library-dot\"></span><span>DP-1205</span>\n </div> -->\n </div>\n </div>\n </div>\n </div>\n </div>\n<!-- Filter -->\n <lib-library-filter *ngIf=\"!showLoader\" [filterValues]=\"defaultFilters\" [searchFormConfig]=\"searchFormConfig\" [filterOpenStatus]=\"isFilterOpen\" [frameworkId]=\"frameworkId\" (filterChangeEvent)=\"onFilterChange($event);\"></lib-library-filter>\n <div class=\"ui container sb-container min-h-500\" *ngIf=\"!showLoader && contentList?.length\">\n <!-- Player Section -->\n <div class=\"sb-g add-to-library__toc-player\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <lib-library-list (contentChangeEvent)= \"onContentChangeEvent($event)\" [selectedContent] = \"selectedContent\"[contentList]=\"contentList\" [showAddedContent]=\"showAddedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-list>\n </section>\n <!-- Right Player Sections -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-8 sb-g-col-lg-8 relative position ml-24\">\n <lib-library-player [contentListDetails]=\"selectedContent\" (moveEvent)=\"showResourceTemplate($event)\"></lib-library-player>\n </section>\n </div>\n </div>\n</div>\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"showLoader\">\n <div class=\"sb-g add-to-library__toc-player ml-30\">\n <!-- Left Sidebar for cards -->\n <section class=\"sb-g-col-xs-12 sb-g-col-md-4 sb-g-col-lg-4\">\n <div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"sbaccordion__panel-content p-16 mb-8 sb-dock-skeleton-bx\">\n <div class=\"sbchapter__item\" *ngFor=\"let number of [].constructor(4)\">\n <lib-skeleton-loader [width]=\"'90%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n <div>\n <lib-skeleton-loader [width]=\"'30%'\" [height]=\"'12px'\" class=\"sb-dock-flex-auto\"></lib-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n</div>\n<div *ngIf=\"showSelectResourceModal\">\n <lib-resource-reorder [prevUnitSelect]= \"selectedUnit\" [collectionhierarcyData]=\"collectionhierarcyData\" [collectionUnits]=\"collectionHierarchy\" [selectedContentDetails]=\"selectedContent\" [collectionId]=\"collectionId\" (moveEvent)=\"showResourceTemplate($event)\"></lib-resource-reorder>\n</div>\n\n<!--empty result -->\n<div class=\"result-no-found\">\n <div class=\"ui container sb-container\" *ngIf=\"!showLoader && !contentList?.length\">\n <div class=\"add-to-library__no-result\">\n <h5 class=\"font-weight-bold\">{{configService.labelConfig?.lbl?.noMatchingContent}}</h5>\n <img alt=\"No Content available\" class=\"mt-16\" src=\"assets/images/emptyResult.svg\">\n <h6 class=\"sb-color-gray-300 font-weight-normal mt-8\">{{configService.labelConfig?.lbl?.changeFilterMessage}}</h6>\n <button class=\"sb-btn sb-btn-secondary sb-btn-normal mt-16\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\" (click)=\"openFilter();\">{{configService.labelConfig?.lbl?.changeFilter}}</button>\n </div>\n </div>\n</div>", styles: [".add-to-library__header{height:55px;line-height:50px}.add-to-library__no-result{display:flex;flex-direction:column;align-items:center;padding:5.5rem 0 0;width:20rem;text-align:center;margin:0 auto}.sb-dock-skeleton-bx{border-top:.0625rem solid #e0e0e0;background:var(--gray-0);min-height:2rem;overflow:hidden;overflow-y:auto;box-shadow:#0000001a}.sb-dock-flex-auto{flex:1 1 auto}.sb-dock-width-auto{width:auto}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white);border:calculateRem(1px) solid #ddd;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem;padding:.5rem;cursor:pointer;min-height:3.2rem;position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sb-btn-dark-green{background:var(--green);border:solid 1px green!important;color:var(--white)}.b-none{border:none!important}.fs-0785{font-size:.785rem}.bg-white{background:#fff}.result-no-found{background:#fff!important;position:relative;z-index:99}.result-no-found .ui.container{width:100%!important;height:100vh}lib-chat-window,.chat_bot{display:none}\n"] }]
237
237
  }], ctorParameters: function () { return [{ type: i1.EditorTelemetryService }, { type: i2.EditorService }, { type: i3.Router }, { type: i4.TreeService }, { type: i5.ToasterService }, { type: i6.ConfigService }, { type: i7.HelperService }]; }, propDecorators: { libraryInput: [{
238
238
  type: Input
239
239
  }], libraryEmitter: [{
240
240
  type: Output
241
241
  }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xsZWN0aW9uLWVkaXRvci1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9saWJyYXJ5L2xpYnJhcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS9saWJyYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sS0FBSyxDQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBZS9CLE1BQU0sT0FBTyxnQkFBZ0I7SUFvQjNCLFlBQW1CLGdCQUF3QyxFQUN2QyxhQUE0QixFQUM1QixNQUFjLEVBQ2QsV0FBd0IsRUFDeEIsY0FBOEIsRUFDL0IsYUFBNEIsRUFDM0IsYUFBNEI7UUFON0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBeEJ0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFNUMsV0FBTSxHQUFHLGtCQUFrQixDQUFDO1FBSW5DLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUVoQyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGVB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Q0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsSUFBSSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDekcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQzVFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQzdCLG9CQUFvQixHQUFHLENBQUMsQ0FBQzthQUMxQjtZQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbURBQW1EO0lBQy9HLENBQUM7K0dBeE9VLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDRJQ2hCN0IscTBJQXVFTTs7NEZEdkRPLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7NlFBRzVCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEFmdGVyVmlld0luaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJlZS90cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkaXRvci9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RvYXN0ZXIvdG9hc3Rlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclRlbGVtZXRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZWxlbWV0cnkvdGVsZW1ldHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hlbHBlci9oZWxwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1saWJyYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYnJhcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWJyYXJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGxpYnJhcnlJbnB1dDogYW55O1xuICBAT3V0cHV0KCkgbGlicmFyeUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIHNlYXJjaEZvcm1Db25maWc6IGFueTtcbiAgcHVibGljIHBhZ2VJZCA9ICdhZGRfZnJvbV9saWJyYXJ5JztcbiAgcHVibGljIGNvbnRlbnRMaXN0OiBhbnk7XG4gIHB1YmxpYyBzZWxlY3RlZENvbnRlbnQ6IGFueTtcbiAgcHVibGljIGNoaWxkTm9kZXM6IGFueTtcbiAgc2hvd1NlbGVjdFJlc291cmNlTW9kYWwgPSBmYWxzZTtcbiAgY29sbGVjdGlvblVuaXRzOiBhbnk7XG4gIGNvbGxlY3Rpb25IaWVyYXJjaHkgPSBbXTtcbiAgY29sbGVjdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBzaG93QWRkZWRDb250ZW50ID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93TG9hZGVyID0gdHJ1ZTtcbiAgcHVibGljIGlzRmlsdGVyT3BlbiA9IGZhbHNlO1xuICBjb2xsZWN0aW9uaGllcmFyY3lEYXRhOiBhbnk7XG4gIHB1YmxpYyBkZWZhdWx0RmlsdGVyczogYW55O1xuICBwYWdlU3RhcnRUaW1lOiBhbnk7XG4gIHNlbGVjdGVkVW5pdDogc3RyaW5nO1xuICBwdWJsaWMgZnJhbWV3b3JrSWQ6IGFueTtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbGVtZXRyeVNlcnZpY2U6IEVkaXRvclRlbGVtZXRyeVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0cmVlU2VydmljZTogVHJlZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBoZWxwZXJTZXJ2aWNlOiBIZWxwZXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgIHRoaXMucGFnZVN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBhY3RpdmVOb2RlID0gdGhpcy50cmVlU2VydmljZS5nZXRBY3RpdmVOb2RlKCk7XG4gICAgdGhpcy5zZWxlY3RlZFVuaXQgPSBfLmdldChhY3RpdmVOb2RlLCAnZGF0YS5pZCcpO1xuICAgIHRoaXMuY29sbGVjdGlvbklkID0gXy5nZXQodGhpcy5saWJyYXJ5SW5wdXQsICdjb2xsZWN0aW9uSWQnKTtcbiAgICB0aGlzLnNlYXJjaEZvcm1Db25maWcgPSBfLmdldCh0aGlzLmxpYnJhcnlJbnB1dCwgJ3NlYXJjaEZvcm1Db25maWcnKTtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZmV0Y2hDb2xsZWN0aW9uSGllcmFyY2h5KHRoaXMuY29sbGVjdGlvbklkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSA9IHJlc3BvbnNlLnJlc3VsdC5jb250ZW50O1xuICAgICAgdGhpcy5jb2xsZWN0aW9uSGllcmFyY2h5ID0gdGhpcy5nZXRVbml0V2l0aENoaWxkcmVuKHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgdGhpcy5jb2xsZWN0aW9uSWQpO1xuICAgICAgaWYgKF8uaGFzKHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ3RhcmdldEZXSWRzJykpIHtcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtJZCA9IF8uZmlyc3QoXy5jYXN0QXJyYXkodGhpcy5jb2xsZWN0aW9uaGllcmFyY3lEYXRhLnRhcmdldEZXSWRzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZyYW1ld29ya0lkID0gXy5maXJzdChfLmNhc3RBcnJheSh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEuZnJhbWV3b3JrKSk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldERlZmF1bHRGaWx0ZXJzKCk7XG4gICAgICB0aGlzLmZldGNoQ29udGVudExpc3QoKTtcbiAgICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZS50ZWxlbWV0cnlQYWdlSWQgPSB0aGlzLnBhZ2VJZDtcbiAgICAgIHRoaXMuY2hpbGROb2RlcyA9IF8uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ2NoaWxkTm9kZXMnKTtcbiAgICB9LCBlcnIgPT4ge1xuICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihfLmdldCh0aGlzLmNvbmZpZ1NlcnZpY2UsICdsYWJlbENvbmZpZy5tZXNzYWdlcy5lcnJvci4wMDEnKSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50ZWxlbWV0cnlTZXJ2aWNlLmltcHJlc3Npb24oe1xuICAgICAgdHlwZTogJ2VkaXQnLCBwYWdlaWQ6IHRoaXMudGVsZW1ldHJ5U2VydmljZS50ZWxlbWV0cnlQYWdlSWQsIHVyaTogdGhpcy5yb3V0ZXIudXJsLFxuICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gdGhpcy5wYWdlU3RhcnRUaW1lKSAvIDEwMDBcbiAgICB9KTtcbiAgfVxuXG4gIGJhY2soKSB7XG4gICAgdGhpcy5saWJyYXJ5RW1pdHRlci5lbWl0KHt9KTtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuY29udGVudHNDb3VudEFkZGVkSW5MaWJyYXJ5UGFnZSh0cnVlKTsgLy8gY29udGVudHMgY291bnQgdXBkYXRlZCBmcm9tIGxpYnJhcnkgcGFnZSB0byB6ZXJvXG4gIH1cblxuICBvbkZpbHRlckNoYW5nZShldmVudDogYW55KSB7XG4gICAgc3dpdGNoIChldmVudC5hY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2ZpbHRlckRhdGFDaGFuZ2UnOlxuICAgICAgICB0aGlzLmZldGNoQ29udGVudExpc3QoZXZlbnQuZmlsdGVycywgZXZlbnQucXVlcnkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ZpbHRlclN0YXR1c0NoYW5nZSc6XG4gICAgICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gZXZlbnQuZmlsdGVyU3RhdHVzO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzZXREZWZhdWx0RmlsdGVycygpIHtcbiAgICBjb25zdCBzZWxlY3RlZE5vZGUgPSB0aGlzLnRyZWVTZXJ2aWNlLmdldEFjdGl2ZU5vZGUoKTtcbiAgICBsZXQgY29udGVudFR5cGVzID0gXy5mbGF0dGVuKFxuICAgICAgXy5tYXAoXy5nZXQodGhpcy5lZGl0b3JTZXJ2aWNlLmVkaXRvckNvbmZpZy5jb25maWcsIGBoaWVyYXJjaHkubGV2ZWwke3NlbGVjdGVkTm9kZS5nZXRMZXZlbCgpIC0gMX0uY2hpbGRyZW5gKSwgKHZhbCkgPT4ge1xuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9KSk7XG5cbiAgICBpZiAoXy5pc0VtcHR5KGNvbnRlbnRUeXBlcykpIHtcbiAgICAgIGNvbnRlbnRUeXBlcyA9IF8ubWFwKHRoaXMuaGVscGVyU2VydmljZS5jb250ZW50UHJpbWFyeUNhdGVnb3JpZXMsICduYW1lJyk7XG4gICAgfVxuXG4gICAgdGhpcy5kZWZhdWx0RmlsdGVycyA9IF8ucGlja0J5KHtcbiAgICAgIHByaW1hcnlDYXRlZ29yeTogY29udGVudFR5cGVzXG4gICAgICAvLyBib2FyZDogW18uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ2JvYXJkJyldIHx8IF8uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ2JvYXJkSWRzJyksXG4gICAgICAvLyBncmFkZUxldmVsOiBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdncmFkZUxldmVsJykgfHwgXy5nZXQodGhpcy5jb2xsZWN0aW9uaGllcmFyY3lEYXRhLCAnZ3JhZGVMZXZlbElkcycpLFxuICAgICAgLy8gbWVkaXVtOiBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdtZWRpdW0nKSB8fCBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdtZWRpdW1JZHMnKSxcbiAgICAgIC8vIHN1YmplY3Q6IF8uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ3N1YmplY3QnKSB8fCBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdzdWJqZWN0SWRzJyksXG4gICAgfSk7XG4gIH1cblxuICBmZXRjaENvbnRlbnRMaXN0KGZpbHRlcnM/LCBxdWVyeT8pIHtcbiAgICBmaWx0ZXJzID0gZmlsdGVycyB8fCB0aGlzLmRlZmF1bHRGaWx0ZXJzO1xuICAgIGNvbnN0IGNoYW5uZWwgPSBfLmdldCh0aGlzLmVkaXRvclNlcnZpY2UuZWRpdG9yQ29uZmlnLCAnY29udGV4dC5jaGFubmVsJylcbiAgICBjb25zdCBvcHRpb24gPSB7XG4gICAgICB1cmw6ICdjb21wb3NpdGUvdjMvc2VhcmNoJyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVxdWVzdDoge1xuICAgICAgICAgIHF1ZXJ5OiBxdWVyeSB8fCAnJyxcbiAgICAgICAgICBmaWx0ZXJzOiBfLnBpY2tCeSh7IC4uLmZpbHRlcnMsIC4uLnsgc3RhdHVzOiBbJ0xpdmUnXSwgY2hhbm5lbCB9fSksXG4gICAgICAgICAgc29ydF9ieToge1xuICAgICAgICAgICAgbGFzdFVwZGF0ZWRPbjogJ2Rlc2MnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZmV0Y2hDb250ZW50TGlzdERldGFpbHMob3B0aW9uKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xuICAgICAgaWYgKCEoXy5nZXQocmVzcG9uc2UsICdyZXN1bHQuY291bnQnKSkpIHtcbiAgICAgICAgdGhpcy5jb250ZW50TGlzdCA9IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb250ZW50TGlzdCA9IF8uY29tcGFjdChfLmNvbmNhdChfLmdldChyZXNwb25zZS5yZXN1bHQsICdjb250ZW50JyksIF8uZ2V0KHJlc3BvbnNlLnJlc3VsdCwgJ1F1ZXN0aW9uU2V0JykpKTtcbiAgICAgICAgdGhpcy5maWx0ZXJDb250ZW50TGlzdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0VW5pdFdpdGhDaGlsZHJlbihkYXRhLCBjb2xsZWN0aW9uSWQsIGxldmVsPykge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGNvbnN0IGNoaWxkRGF0YSA9IGRhdGEuY2hpbGRyZW47XG4gICAgaWYgKF8uaXNFbXB0eShjaGlsZERhdGEpKSB7IHJldHVybiBbXTsgfVxuICAgIGRhdGEubGV2ZWwgPSBsZXZlbCA/IChsZXZlbCArIDEpIDogMTtcbiAgICBjb25zdCB0cmVlID0gY2hpbGREYXRhLm1hcChjaGlsZCA9PiB7XG4gICAgICBjb25zdCB0cmVlSXRlbTogYW55ID0gdGhpcy5nZW5lcmF0ZU5vZGVNZXRhKGNoaWxkKTtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICAgIHRyZWVJdGVtLnNob3dCdXR0b24gPSBfLmlzRW1wdHkoXy5nZXQodGhpcy5lZGl0b3JTZXJ2aWNlLmVkaXRvckNvbmZpZywgYGNvbmZpZy5oaWVyYXJjaHkubGV2ZWwke2RhdGEubGV2ZWx9LmNoaWxkcmVuYCkpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgY29uc3QgdHJlZVVuaXQgPSBzZWxmLmdldFVuaXRXaXRoQ2hpbGRyZW4oY2hpbGQsIGNvbGxlY3Rpb25JZCwgZGF0YS5sZXZlbCk7XG4gICAgICBjb25zdCB0cmVlQ2hpbGRyZW4gPSB0cmVlVW5pdCAmJiB0cmVlVW5pdC5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnZpc2liaWxpdHkgPT09ICdQYXJlbnQnICYmIGl0ZW0ubWltZVR5cGUgPT09ICdhcHBsaWNhdGlvbi92bmQuZWtzdGVwLmNvbnRlbnQtY29sbGVjdGlvbic7XG4gICAgICB9KTsgLy8gVE9ETzogcmV0aGluayB0aGlzIDogbmVlZCB0byBjaGVjayBmb3IgcXVlc3Rpb25TZXRcbiAgICAgIHRyZWVJdGVtLmNoaWxkcmVuID0gKHRyZWVDaGlsZHJlbiAmJiB0cmVlQ2hpbGRyZW4ubGVuZ3RoID4gMCkgPyB0cmVlQ2hpbGRyZW4gOiBudWxsO1xuICAgICAgcmV0dXJuIHRyZWVJdGVtO1xuICAgIH0pO1xuICAgIHJldHVybiB0cmVlO1xuICB9XG5cbiAgZ2VuZXJhdGVOb2RlTWV0YShub2RlKSB7XG4gICAgY29uc3Qgbm9kZU1ldGEgPSB7XG4gICAgICBpZGVudGlmaWVyOiBub2RlLmlkZW50aWZpZXIsXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXG4gICAgICBjb250ZW50VHlwZTogbm9kZS5jb250ZW50VHlwZSxcbiAgICAgIHRvcGljOiBub2RlLnRvcGljLFxuICAgICAgc3RhdHVzOiBub2RlLnN0YXR1cyxcbiAgICAgIGNyZWF0b3I6IG5vZGUuY3JlYXRvcixcbiAgICAgIGNyZWF0ZWRCeTogbm9kZS5jcmVhdGVkQnkgfHwgbnVsbCxcbiAgICAgIHBhcmVudElkOiBub2RlLnBhcmVudCB8fCBudWxsLFxuICAgICAgb3JnYW5pc2F0aW9uSWQ6IF8uaGFzKG5vZGUsICdvcmdhbmlzYXRpb25JZCcpID8gbm9kZS5vcmdhbmlzYXRpb25JZCA6IG51bGwsXG4gICAgICBwcmV2U3RhdHVzOiBub2RlLnByZXZTdGF0dXMgfHwgbnVsbCxcbiAgICAgIHZpc2liaWxpdHk6IG5vZGUudmlzaWJpbGl0eSxcbiAgICAgIG1pbWVUeXBlOiBub2RlLm1pbWVUeXBlXG4gICAgfTtcbiAgICByZXR1cm4gbm9kZU1ldGE7XG4gIH1cblxuXG4gIG9uQ29udGVudENoYW5nZUV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29udGVudCA9IGV2ZW50LmNvbnRlbnQ7XG4gIH1cblxuICBzaG93UmVzb3VyY2VUZW1wbGF0ZShldmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQuYWN0aW9uKSB7XG4gICAgICBjYXNlICdzaG93RmlsdGVyJzpcbiAgICAgICAgdGhpcy5vcGVuRmlsdGVyKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnb3BlbkhpZXJhcmNoeVBvcHVwJzpcbiAgICAgICAgdGhpcy5zaG93U2VsZWN0UmVzb3VyY2VNb2RhbCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xvc2VIaWVyYXJjaHlQb3B1cCc6XG4gICAgICAgIHRoaXMuc2hvd1NlbGVjdFJlc291cmNlTW9kYWwgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzaG93QWRkZWRDb250ZW50JzpcbiAgICAgICAgdGhpcy5zaG93QWRkZWRDb250ZW50ID0gZXZlbnQuc3RhdHVzO1xuICAgICAgICB0aGlzLmZpbHRlckNvbnRlbnRMaXN0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29udGVudEFkZGVkJzpcbiAgICAgICAgdGhpcy5jaGlsZE5vZGVzLnB1c2goZXZlbnQuZGF0YS5pZGVudGlmaWVyKTtcbiAgICAgICAgdGhpcy5nZXRIaWVyYXJjaHlEYXRhKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jb250ZW50c0NvdW50QWRkZWRJbkxpYnJhcnlQYWdlKCk7IC8vIGNvbnRlbnRzIGNvdW50IGFkZGVkIGZyb20gbGlicmFyeSBwYWdlXG4gICAgICAgIHRoaXMuZmlsdGVyQ29udGVudExpc3QodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzb3J0Q29udGVudExpc3QnOlxuICAgICAgICAgIHRoaXMuc29ydENvbnRlbnRMaXN0KGV2ZW50LnN0YXR1cyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgZ2V0SGllcmFyY2h5RGF0YSgpIHtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZmV0Y2hDb2xsZWN0aW9uSGllcmFyY2h5KHRoaXMuY29sbGVjdGlvbklkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSA9IHJlc3BvbnNlLnJlc3VsdC5jb250ZW50O1xuICAgIH0sIGVyciA9PiB7XG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKF8uZ2V0KHRoaXMuY29uZmlnU2VydmljZSwgJ2xhYmVsQ29uZmlnLm1lc3NhZ2VzLmVycm9yLjAwMScpKTtcbiAgICB9KTtcbiAgfVxuc29ydENvbnRlbnRMaXN0KHN0YXR1cykge1xuICB0aGlzLmNvbnRlbnRMaXN0ID0gdGhpcy5jb250ZW50TGlzdC5zb3J0KChhLCBiKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yU2VydmljZS5zb3J0KHN0YXR1cyA/IGIgOiBhLCBzdGF0dXMgPyBhIDogIGIsIHN0YXR1cyA/ICduYW1lJyA6ICdsYXN0VXBkYXRlZE9uJyk7XG4gIH0pO1xuICBjb25zdCBzZWxlY3RlZENvbnRlbnRJbmRleCA9IHRoaXMuc2hvd0FkZGVkQ29udGVudCA/IDAgOiBfLmZpbmRJbmRleCh0aGlzLmNvbnRlbnRMaXN0LCB7IGlzQWRkZWQ6IGZhbHNlIH0pO1xuICB0aGlzLnNlbGVjdGVkQ29udGVudCA9IHRoaXMuY29udGVudExpc3Rbc2VsZWN0ZWRDb250ZW50SW5kZXhdO1xufVxuXG4gIG9wZW5GaWx0ZXIoKTogdm9pZCB7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCdcbiAgICB9KTtcbiAgICB0aGlzLmlzRmlsdGVyT3BlbiA9IHRydWU7XG4gIH1cbiAgZmlsdGVyQ29udGVudExpc3QoaXNDb250ZW50QWRkZWQ/KSB7XG4gICAgaWYgKF8uaXNFbXB0eSh0aGlzLmNvbnRlbnRMaXN0KSkgeyByZXR1cm47IH1cbiAgICBfLmZvckVhY2godGhpcy5jb250ZW50TGlzdCwgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB2YWx1ZS5pc0FkZGVkID0gXy5pbmNsdWRlcyh0aGlzLmNoaWxkTm9kZXMsIHZhbHVlLmlkZW50aWZpZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghaXNDb250ZW50QWRkZWQpIHtcbiAgICAgIGxldCBzZWxlY3RlZENvbnRlbnRJbmRleCA9IHRoaXMuc2hvd0FkZGVkQ29udGVudCA/IDAgOiBfLmZpbmRJbmRleCh0aGlzLmNvbnRlbnRMaXN0LCB7IGlzQWRkZWQ6IGZhbHNlIH0pO1xuICAgICAgaWYgKHRoaXMuY29udGVudExpc3QubGVuZ3RoID09PSAxICYmIHRoaXMuY29udGVudExpc3RbMF1bJ2lzQWRkZWQnXSA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnNob3dBZGRlZENvbnRlbnQgPSB0cnVlO1xuICAgICAgICBzZWxlY3RlZENvbnRlbnRJbmRleCA9IDA7XG4gICAgICB9XG4gICAgICB0aGlzLnNlbGVjdGVkQ29udGVudCA9IHRoaXMuY29udGVudExpc3Rbc2VsZWN0ZWRDb250ZW50SW5kZXhdO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuY29udGVudHNDb3VudEFkZGVkSW5MaWJyYXJ5UGFnZSh0cnVlKTsgLy8gY29udGVudHMgY291bnQgdXBkYXRlZCBmcm9tIGxpYnJhcnkgcGFnZSB0byB6ZXJvXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGQtdG8tbGlicmFyeSBtYi0wXCI+XG4gIDwhLS0gQmx1ZSBIZWFkZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJzYi1iZy1jb2xvci1wcmltYXJ5IGFkZC10by1saWJyYXJ5X19oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidWkgY29udGFpbmVyIHNiLWNvbnRhaW5lciAgcmVsYXRpdmUgcG9zaXRpb25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1haS1jZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNiLWJ0biBzYi1idG4tcHJpbWFyeSBzYi1idG4teHMgYmFjay1idG4gcHgtMFwiIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICAgIFt0ZWxlbWV0cnlJbnRlcmFjdEVkYXRhXT1cInRlbGVtZXRyeVNlcnZpY2UuZ2V0VGVsZW1ldHJ5SW50ZXJhY3RFZGF0YSgnYmFjaycsJ2NsaWNrJywnbGF1bmNoJywgdGVsZW1ldHJ5U2VydmljZT8udGVsZW1ldHJ5UGFnZUlkKVwiKGNsaWNrKT1cImJhY2soKTtcIj48aSBjbGFzcz1cImFycm93IGxlZnQgaWNvbiBmcy0xXCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWwtOCBzYi1jb2xvci13aGl0ZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1haS1jZW50ZXIgZnNtYWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBmcy0xLTE2XCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LmFkZEZyb21MaWJyYXJ5fX08L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInNiLWJvcmRlci12ZXJ0aWNhbCBteC0xNVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgIDxoNT5DaGFwdGVyIDE8L2g1PlxuICAgICAgICAgICAgICA8c3Bhbj5TY2llbmNlPC9zcGFuPjxzcGFuIGNsYXNzPVwiYWRkLXRvLWxpYnJhcnktZG90XCI+PC9zcGFuPjxzcGFuPkNsYXNzIDEwPC9zcGFuPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGQtdG8tbGlicmFyeS1kb3RcIj48L3NwYW4+PHNwYW4+RFAtMTIwNTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48IS0tIEZpbHRlciAtLT5cbiAgPGxpYi1saWJyYXJ5LWZpbHRlciAqbmdJZj1cIiFzaG93TG9hZGVyXCIgW2ZpbHRlclZhbHVlc109XCJkZWZhdWx0RmlsdGVyc1wiIFtzZWFyY2hGb3JtQ29uZmlnXT1cInNlYXJjaEZvcm1Db25maWdcIiBbZmlsdGVyT3BlblN0YXR1c109XCJpc0ZpbHRlck9wZW5cIiBbZnJhbWV3b3JrSWRdPVwiZnJhbWV3b3JrSWRcIiAoZmlsdGVyQ2hhbmdlRXZlbnQpPVwib25GaWx0ZXJDaGFuZ2UoJGV2ZW50KTtcIj48L2xpYi1saWJyYXJ5LWZpbHRlcj5cbiAgPGRpdiBjbGFzcz1cInVpIGNvbnRhaW5lciBzYi1jb250YWluZXIgbWluLWgtNTAwXCIgKm5nSWY9XCIhc2hvd0xvYWRlciAmJiBjb250ZW50TGlzdD8ubGVuZ3RoXCI+XG4gICAgPCEtLSBQbGF5ZXIgU2VjdGlvbiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwic2ItZyBhZGQtdG8tbGlicmFyeV9fdG9jLXBsYXllclwiPlxuICAgICAgPCEtLSBMZWZ0IFNpZGViYXIgZm9yIGNhcmRzIC0tPlxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzYi1nLWNvbC14cy0xMiBzYi1nLWNvbC1tZC00IHNiLWctY29sLWxnLTRcIj5cbiAgICAgICAgICA8bGliLWxpYnJhcnktbGlzdCAoY29udGVudENoYW5nZUV2ZW50KT0gXCJvbkNvbnRlbnRDaGFuZ2VFdmVudCgkZXZlbnQpXCIgW3NlbGVjdGVkQ29udGVudF0gPSBcInNlbGVjdGVkQ29udGVudFwiW2NvbnRlbnRMaXN0XT1cImNvbnRlbnRMaXN0XCIgW3Nob3dBZGRlZENvbnRlbnRdPVwic2hvd0FkZGVkQ29udGVudFwiIChtb3ZlRXZlbnQpPVwic2hvd1Jlc291cmNlVGVtcGxhdGUoJGV2ZW50KVwiPjwvbGliLWxpYnJhcnktbGlzdD5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwhLS0gUmlnaHQgUGxheWVyIFNlY3Rpb25zIC0tPlxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzYi1nLWNvbC14cy0xMiBzYi1nLWNvbC1tZC04IHNiLWctY29sLWxnLTggcmVsYXRpdmUgcG9zaXRpb24gbWwtMjRcIj5cbiAgICAgICAgICA8bGliLWxpYnJhcnktcGxheWVyIFtjb250ZW50TGlzdERldGFpbHNdPVwic2VsZWN0ZWRDb250ZW50XCIgKG1vdmVFdmVudCk9XCJzaG93UmVzb3VyY2VUZW1wbGF0ZSgkZXZlbnQpXCI+PC9saWItbGlicmFyeS1wbGF5ZXI+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicmVzdWx0LW5vLWZvdW5kXCI+XG4gIDxkaXYgY2xhc3M9XCJ1aSBjb250YWluZXIgc2ItY29udGFpbmVyXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInNiLWcgYWRkLXRvLWxpYnJhcnlfX3RvYy1wbGF5ZXIgbWwtMzBcIj5cbiAgICAgIDwhLS0gTGVmdCBTaWRlYmFyIGZvciBjYXJkcyAtLT5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwic2ItZy1jb2wteHMtMTIgc2ItZy1jb2wtbWQtNCBzYi1nLWNvbC1sZy00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYnRvYy1jb250YWluZXIgcHItOCBtdC0yMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmFjY29yZGlvbl9fcGFuZWwtY29udGVudCBwLTE2IG1iLTggc2ItZG9jay1za2VsZXRvbi1ieFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiY2hhcHRlcl9faXRlbVwiICpuZ0Zvcj1cImxldCBudW1iZXIgb2YgW10uY29uc3RydWN0b3IoNClcIj5cbiAgICAgICAgICAgICAgPGxpYi1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIic5MCUnXCIgW2hlaWdodF09XCInMTJweCdcIiBjbGFzcz1cInNiLWRvY2stZmxleC1hdXRvXCI+PC9saWItc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsaWItc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInMzAlJ1wiIFtoZWlnaHRdPVwiJzEycHgnXCIgY2xhc3M9XCJzYi1kb2NrLWZsZXgtYXV0b1wiPjwvbGliLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwic2hvd1NlbGVjdFJlc291cmNlTW9kYWxcIj5cbiAgPGxpYi1yZXNvdXJjZS1yZW9yZGVyIFtwcmV2VW5pdFNlbGVjdF09IFwic2VsZWN0ZWRVbml0XCIgW2NvbGxlY3Rpb25oaWVyYXJjeURhdGFdPVwiY29sbGVjdGlvbmhpZXJhcmN5RGF0YVwiIFtjb2xsZWN0aW9uVW5pdHNdPVwiY29sbGVjdGlvbkhpZXJhcmNoeVwiIFtzZWxlY3RlZENvbnRlbnREZXRhaWxzXT1cInNlbGVjdGVkQ29udGVudFwiIFtjb2xsZWN0aW9uSWRdPVwiY29sbGVjdGlvbklkXCIgKG1vdmVFdmVudCk9XCJzaG93UmVzb3VyY2VUZW1wbGF0ZSgkZXZlbnQpXCI+PC9saWItcmVzb3VyY2UtcmVvcmRlcj5cbjwvZGl2PlxuXG48IS0tZW1wdHkgcmVzdWx0IC0tPlxuPGRpdiBjbGFzcz1cInJlc3VsdC1uby1mb3VuZFwiPlxuICA8ZGl2IGNsYXNzPVwidWkgY29udGFpbmVyIHNiLWNvbnRhaW5lclwiICpuZ0lmPVwiIXNob3dMb2FkZXIgJiYgIWNvbnRlbnRMaXN0Py5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXRvLWxpYnJhcnlfX25vLXJlc3VsdFwiPlxuICAgICAgPGg1IGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiPnt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5ub01hdGNoaW5nQ29udGVudH19PC9oNT5cbiAgICAgIDxpbWcgYWx0PVwiTm8gQ29udGVudCBhdmFpbGFibGVcIiBjbGFzcz1cIm10LTE2XCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9lbXB0eVJlc3VsdC5zdmdcIj5cbiAgICAgIDxoNiBjbGFzcz1cInNiLWNvbG9yLWdyYXktMzAwIGZvbnQtd2VpZ2h0LW5vcm1hbCBtdC04XCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LmNoYW5nZUZpbHRlck1lc3NhZ2V9fTwvaDY+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwic2ItYnRuIHNiLWJ0bi1zZWNvbmRhcnkgc2ItYnRuLW5vcm1hbCBtdC0xNlwiIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ2NoYW5nZV9maWx0ZXInLCdjbGljaycsJ2xhdW5jaCcsIHRlbGVtZXRyeVNlcnZpY2U/LnRlbGVtZXRyeVBhZ2VJZClcIiAoY2xpY2spPVwib3BlbkZpbHRlcigpO1wiPnt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5jaGFuZ2VGaWx0ZXJ9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xsZWN0aW9uLWVkaXRvci1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9saWJyYXJ5L2xpYnJhcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS9saWJyYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sS0FBSyxDQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBZS9CLE1BQU0sT0FBTyxnQkFBZ0I7SUFvQjNCLFlBQW1CLGdCQUF3QyxFQUN2QyxhQUE0QixFQUM1QixNQUFjLEVBQ2QsV0FBd0IsRUFDeEIsY0FBOEIsRUFDL0IsYUFBNEIsRUFDM0IsYUFBNEI7UUFON0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBeEJ0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFNUMsV0FBTSxHQUFHLGtCQUFrQixDQUFDO1FBSW5DLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUVoQyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFhaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUViLFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3pGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUN0RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7YUFDbEY7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDaEY7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1lBQy9CLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztZQUNqRixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUk7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbURBQW1EO0lBQy9HLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixRQUFRLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDcEIsS0FBSyxrQkFBa0I7Z0JBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEQsTUFBTTtZQUNSLEtBQUssb0JBQW9CO2dCQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZDLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdkgsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzNCLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDM0U7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDN0IsZUFBZSxFQUFFLFlBQVk7WUFDN0IsMEdBQTBHO1lBQzFHLHVIQUF1SDtZQUN2SCwyR0FBMkc7WUFDM0csOEdBQThHO1NBQy9HLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFRLEVBQUUsS0FBTTtRQUMvQixPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pFLE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxFQUFFLHFCQUFxQjtZQUMxQixJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxLQUFLLElBQUksRUFBRTtvQkFDbEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUMsQ0FBQztvQkFDbEUsT0FBTyxFQUFFO3dCQUNQLGFBQWEsRUFBRSxNQUFNO3FCQUN0QjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDN0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFDeEgsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBTTtRQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQztTQUFFO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQVEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25ELDJDQUEyQztZQUMzQyxRQUFRLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsSUFBSSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDdkksTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNFLE1BQU0sWUFBWSxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0RCxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssMkNBQTJDLENBQUM7WUFDdkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxREFBcUQ7WUFDekQsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNwRixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQUk7UUFDbkIsTUFBTSxRQUFRLEdBQUc7WUFDZixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUk7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSTtZQUM3QixjQUFjLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUMxRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFHRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBSztRQUN4QixRQUFRLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDcEIsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsTUFBTTtZQUNSLEtBQUssb0JBQW9CO2dCQUN2QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO2dCQUNwQyxNQUFNO1lBQ1IsS0FBSyxxQkFBcUI7Z0JBQ3hCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7Z0JBQ3JDLE1BQU07WUFDUixLQUFLLGtCQUFrQjtnQkFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUMseUNBQXlDO2dCQUMvRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLE1BQU07WUFDTixLQUFLLGlCQUFpQjtnQkFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25DLE1BQU07WUFDVjtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDekYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hELENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gsZUFBZSxDQUFDLE1BQU07UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUMsVUFBVTtRQUNSLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDZCxHQUFHLEVBQUUsQ0FBQztZQUNOLElBQUksRUFBRSxDQUFDO1lBQ1AsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUNELGlCQUFpQixDQUFDLGNBQWU7UUFDL0IsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUM1QyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDekMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9EO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ25CLElBQUksb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3pHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUM1RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixvQkFBb0IsR0FBRyxDQUFDLENBQUM7YUFDMUI7WUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1EQUFtRDtJQUMvRyxDQUFDOytHQXpPVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixvSkNoQjdCLHEwSUF1RU07OzRGRHZETyxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UscUJBQXFCLGlCQUdoQixpQkFBaUIsQ0FBQyxJQUFJOzZRQUc1QixZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBBZnRlclZpZXdJbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBUcmVlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyZWUvdHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0b3IvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2FzdGVyL3RvYXN0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVsZW1ldHJ5L3RlbGVtZXRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9oZWxwZXIvaGVscGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29udGVudC1saWJyYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYnJhcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWJyYXJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGxpYnJhcnlJbnB1dDogYW55O1xuICBAT3V0cHV0KCkgbGlicmFyeUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIHNlYXJjaEZvcm1Db25maWc6IGFueTtcbiAgcHVibGljIHBhZ2VJZCA9ICdhZGRfZnJvbV9saWJyYXJ5JztcbiAgcHVibGljIGNvbnRlbnRMaXN0OiBhbnk7XG4gIHB1YmxpYyBzZWxlY3RlZENvbnRlbnQ6IGFueTtcbiAgcHVibGljIGNoaWxkTm9kZXM6IGFueTtcbiAgc2hvd1NlbGVjdFJlc291cmNlTW9kYWwgPSBmYWxzZTtcbiAgY29sbGVjdGlvblVuaXRzOiBhbnk7XG4gIGNvbGxlY3Rpb25IaWVyYXJjaHkgPSBbXTtcbiAgY29sbGVjdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBzaG93QWRkZWRDb250ZW50ID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93TG9hZGVyID0gdHJ1ZTtcbiAgcHVibGljIGlzRmlsdGVyT3BlbiA9IGZhbHNlO1xuICBjb2xsZWN0aW9uaGllcmFyY3lEYXRhOiBhbnk7XG4gIHB1YmxpYyBkZWZhdWx0RmlsdGVyczogYW55O1xuICBwYWdlU3RhcnRUaW1lOiBhbnk7XG4gIHNlbGVjdGVkVW5pdDogc3RyaW5nO1xuICBwdWJsaWMgZnJhbWV3b3JrSWQ6IGFueTtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbGVtZXRyeVNlcnZpY2U6IEVkaXRvclRlbGVtZXRyeVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0cmVlU2VydmljZTogVHJlZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBoZWxwZXJTZXJ2aWNlOiBIZWxwZXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgIHRoaXMucGFnZVN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBhY3RpdmVOb2RlID0gdGhpcy50cmVlU2VydmljZS5nZXRBY3RpdmVOb2RlKCk7XG4gICAgdGhpcy5zZWxlY3RlZFVuaXQgPSBfLmdldChhY3RpdmVOb2RlLCAnZGF0YS5pZCcpO1xuICAgIHRoaXMuY29sbGVjdGlvbklkID0gXy5nZXQodGhpcy5saWJyYXJ5SW5wdXQsICdjb2xsZWN0aW9uSWQnKTtcbiAgICB0aGlzLnNlYXJjaEZvcm1Db25maWcgPSBfLmdldCh0aGlzLmxpYnJhcnlJbnB1dCwgJ3NlYXJjaEZvcm1Db25maWcnKTtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZmV0Y2hDb2xsZWN0aW9uSGllcmFyY2h5KHRoaXMuY29sbGVjdGlvbklkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSA9IHJlc3BvbnNlLnJlc3VsdC5jb250ZW50O1xuICAgICAgdGhpcy5jb2xsZWN0aW9uSGllcmFyY2h5ID0gdGhpcy5nZXRVbml0V2l0aENoaWxkcmVuKHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgdGhpcy5jb2xsZWN0aW9uSWQpO1xuICAgICAgaWYgKF8uaGFzKHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ3RhcmdldEZXSWRzJykpIHtcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtJZCA9IF8uZmlyc3QoXy5jYXN0QXJyYXkodGhpcy5jb2xsZWN0aW9uaGllcmFyY3lEYXRhLnRhcmdldEZXSWRzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZyYW1ld29ya0lkID0gXy5maXJzdChfLmNhc3RBcnJheSh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEuZnJhbWV3b3JrKSk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldERlZmF1bHRGaWx0ZXJzKCk7XG4gICAgICB0aGlzLmZldGNoQ29udGVudExpc3QoKTtcbiAgICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZS50ZWxlbWV0cnlQYWdlSWQgPSB0aGlzLnBhZ2VJZDtcbiAgICAgIHRoaXMuY2hpbGROb2RlcyA9IF8uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ2NoaWxkTm9kZXMnKTtcbiAgICB9LCBlcnIgPT4ge1xuICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihfLmdldCh0aGlzLmNvbmZpZ1NlcnZpY2UsICdsYWJlbENvbmZpZy5tZXNzYWdlcy5lcnJvci4wMDEnKSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50ZWxlbWV0cnlTZXJ2aWNlLmltcHJlc3Npb24oe1xuICAgICAgdHlwZTogJ2VkaXQnLCBwYWdlaWQ6IHRoaXMudGVsZW1ldHJ5U2VydmljZS50ZWxlbWV0cnlQYWdlSWQsIHVyaTogdGhpcy5yb3V0ZXIudXJsLFxuICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gdGhpcy5wYWdlU3RhcnRUaW1lKSAvIDEwMDBcbiAgICB9KTtcbiAgfVxuXG4gIGJhY2soKSB7XG4gICAgdGhpcy5saWJyYXJ5RW1pdHRlci5lbWl0KHt9KTtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuY29udGVudHNDb3VudEFkZGVkSW5MaWJyYXJ5UGFnZSh0cnVlKTsgLy8gY29udGVudHMgY291bnQgdXBkYXRlZCBmcm9tIGxpYnJhcnkgcGFnZSB0byB6ZXJvXG4gIH1cblxuICBvbkZpbHRlckNoYW5nZShldmVudDogYW55KSB7XG4gICAgc3dpdGNoIChldmVudC5hY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2ZpbHRlckRhdGFDaGFuZ2UnOlxuICAgICAgICB0aGlzLmZldGNoQ29udGVudExpc3QoZXZlbnQuZmlsdGVycywgZXZlbnQucXVlcnkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ZpbHRlclN0YXR1c0NoYW5nZSc6XG4gICAgICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gZXZlbnQuZmlsdGVyU3RhdHVzO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzZXREZWZhdWx0RmlsdGVycygpIHtcbiAgICBjb25zdCBzZWxlY3RlZE5vZGUgPSB0aGlzLnRyZWVTZXJ2aWNlLmdldEFjdGl2ZU5vZGUoKTtcbiAgICBsZXQgY29udGVudFR5cGVzID0gXy5mbGF0dGVuKFxuICAgICAgXy5tYXAoXy5nZXQodGhpcy5lZGl0b3JTZXJ2aWNlLmVkaXRvckNvbmZpZy5jb25maWcsIGBoaWVyYXJjaHkubGV2ZWwke3NlbGVjdGVkTm9kZS5nZXRMZXZlbCgpIC0gMX0uY2hpbGRyZW5gKSwgKHZhbCkgPT4ge1xuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9KSk7XG5cbiAgICBpZiAoXy5pc0VtcHR5KGNvbnRlbnRUeXBlcykpIHtcbiAgICAgIGNvbnRlbnRUeXBlcyA9IF8ubWFwKHRoaXMuaGVscGVyU2VydmljZS5jb250ZW50UHJpbWFyeUNhdGVnb3JpZXMsICduYW1lJyk7XG4gICAgfVxuXG4gICAgdGhpcy5kZWZhdWx0RmlsdGVycyA9IF8ucGlja0J5KHtcbiAgICAgIHByaW1hcnlDYXRlZ29yeTogY29udGVudFR5cGVzXG4gICAgICAvLyBib2FyZDogW18uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ2JvYXJkJyldIHx8IF8uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ2JvYXJkSWRzJyksXG4gICAgICAvLyBncmFkZUxldmVsOiBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdncmFkZUxldmVsJykgfHwgXy5nZXQodGhpcy5jb2xsZWN0aW9uaGllcmFyY3lEYXRhLCAnZ3JhZGVMZXZlbElkcycpLFxuICAgICAgLy8gbWVkaXVtOiBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdtZWRpdW0nKSB8fCBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdtZWRpdW1JZHMnKSxcbiAgICAgIC8vIHN1YmplY3Q6IF8uZ2V0KHRoaXMuY29sbGVjdGlvbmhpZXJhcmN5RGF0YSwgJ3N1YmplY3QnKSB8fCBfLmdldCh0aGlzLmNvbGxlY3Rpb25oaWVyYXJjeURhdGEsICdzdWJqZWN0SWRzJyksXG4gICAgfSk7XG4gIH1cblxuICBmZXRjaENvbnRlbnRMaXN0KGZpbHRlcnM/LCBxdWVyeT8pIHtcbiAgICBmaWx0ZXJzID0gZmlsdGVycyB8fCB0aGlzLmRlZmF1bHRGaWx0ZXJzO1xuICAgIGNvbnN0IGNoYW5uZWwgPSBfLmdldCh0aGlzLmVkaXRvclNlcnZpY2UuZWRpdG9yQ29uZmlnLCAnY29udGV4dC5jaGFubmVsJylcbiAgICBjb25zdCBvcHRpb24gPSB7XG4gICAgICB1cmw6ICdjb21wb3NpdGUvdjMvc2VhcmNoJyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVxdWVzdDoge1xuICAgICAgICAgIHF1ZXJ5OiBxdWVyeSB8fCAnJyxcbiAgICAgICAgICBmaWx0ZXJzOiBfLnBpY2tCeSh7IC4uLmZpbHRlcnMsIC4uLnsgc3RhdHVzOiBbJ0xpdmUnXSwgY2hhbm5lbCB9fSksXG4gICAgICAgICAgc29ydF9ieToge1xuICAgICAgICAgICAgbGFzdFVwZGF0ZWRPbjogJ2Rlc2MnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZmV0Y2hDb250ZW50TGlzdERldGFpbHMob3B0aW9uKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xuICAgICAgaWYgKCEoXy5nZXQocmVzcG9uc2UsICdyZXN1bHQuY291bnQnKSkpIHtcbiAgICAgICAgdGhpcy5jb250ZW50TGlzdCA9IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb250ZW50TGlzdCA9IF8uZmlsdGVyKF8uY29tcGFjdChfLmNvbmNhdChfLmdldChyZXNwb25zZS5yZXN1bHQsICdjb250ZW50JyksIF8uZ2V0KHJlc3BvbnNlLnJlc3VsdCwgJ1F1ZXN0aW9uU2V0JykpKSxcbiAgICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uaWRlbnRpZmllciAhPT0gdGhpcy5jb2xsZWN0aW9uSWQpO1xuICAgICAgICB0aGlzLmZpbHRlckNvbnRlbnRMaXN0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRVbml0V2l0aENoaWxkcmVuKGRhdGEsIGNvbGxlY3Rpb25JZCwgbGV2ZWw/KSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29uc3QgY2hpbGREYXRhID0gZGF0YS5jaGlsZHJlbjtcbiAgICBpZiAoXy5pc0VtcHR5KGNoaWxkRGF0YSkpIHsgcmV0dXJuIFtdOyB9XG4gICAgZGF0YS5sZXZlbCA9IGxldmVsID8gKGxldmVsICsgMSkgOiAxO1xuICAgIGNvbnN0IHRyZWUgPSBjaGlsZERhdGEubWFwKGNoaWxkID0+IHtcbiAgICAgIGNvbnN0IHRyZWVJdGVtOiBhbnkgPSB0aGlzLmdlbmVyYXRlTm9kZU1ldGEoY2hpbGQpO1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgICAgdHJlZUl0ZW0uc2hvd0J1dHRvbiA9IF8uaXNFbXB0eShfLmdldCh0aGlzLmVkaXRvclNlcnZpY2UuZWRpdG9yQ29uZmlnLCBgY29uZmlnLmhpZXJhcmNoeS5sZXZlbCR7ZGF0YS5sZXZlbH0uY2hpbGRyZW5gKSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICBjb25zdCB0cmVlVW5pdCA9IHNlbGYuZ2V0VW5pdFdpdGhDaGlsZHJlbihjaGlsZCwgY29sbGVjdGlvbklkLCBkYXRhLmxldmVsKTtcbiAgICAgIGNvbnN0IHRyZWVDaGlsZHJlbiA9IHRyZWVVbml0ICYmIHRyZWVVbml0LmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udmlzaWJpbGl0eSA9PT0gJ1BhcmVudCcgJiYgaXRlbS5taW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3ZuZC5la3N0ZXAuY29udGVudC1jb2xsZWN0aW9uJztcbiAgICAgIH0pOyAvLyBUT0RPOiByZXRoaW5rIHRoaXMgOiBuZWVkIHRvIGNoZWNrIGZvciBxdWVzdGlvblNldFxuICAgICAgdHJlZUl0ZW0uY2hpbGRyZW4gPSAodHJlZUNoaWxkcmVuICYmIHRyZWVDaGlsZHJlbi5sZW5ndGggPiAwKSA/IHRyZWVDaGlsZHJlbiA6IG51bGw7XG4gICAgICByZXR1cm4gdHJlZUl0ZW07XG4gICAgfSk7XG4gICAgcmV0dXJuIHRyZWU7XG4gIH1cblxuICBnZW5lcmF0ZU5vZGVNZXRhKG5vZGUpIHtcbiAgICBjb25zdCBub2RlTWV0YSA9IHtcbiAgICAgIGlkZW50aWZpZXI6IG5vZGUuaWRlbnRpZmllcixcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAgIGNvbnRlbnRUeXBlOiBub2RlLmNvbnRlbnRUeXBlLFxuICAgICAgdG9waWM6IG5vZGUudG9waWMsXG4gICAgICBzdGF0dXM6IG5vZGUuc3RhdHVzLFxuICAgICAgY3JlYXRvcjogbm9kZS5jcmVhdG9yLFxuICAgICAgY3JlYXRlZEJ5OiBub2RlLmNyZWF0ZWRCeSB8fCBudWxsLFxuICAgICAgcGFyZW50SWQ6IG5vZGUucGFyZW50IHx8IG51bGwsXG4gICAgICBvcmdhbmlzYXRpb25JZDogXy5oYXMobm9kZSwgJ29yZ2FuaXNhdGlvbklkJykgPyBub2RlLm9yZ2FuaXNhdGlvbklkIDogbnVsbCxcbiAgICAgIHByZXZTdGF0dXM6IG5vZGUucHJldlN0YXR1cyB8fCBudWxsLFxuICAgICAgdmlzaWJpbGl0eTogbm9kZS52aXNpYmlsaXR5LFxuICAgICAgbWltZVR5cGU6IG5vZGUubWltZVR5cGVcbiAgICB9O1xuICAgIHJldHVybiBub2RlTWV0YTtcbiAgfVxuXG5cbiAgb25Db250ZW50Q2hhbmdlRXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb250ZW50ID0gZXZlbnQuY29udGVudDtcbiAgfVxuXG4gIHNob3dSZXNvdXJjZVRlbXBsYXRlKGV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5hY3Rpb24pIHtcbiAgICAgIGNhc2UgJ3Nob3dGaWx0ZXInOlxuICAgICAgICB0aGlzLm9wZW5GaWx0ZXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvcGVuSGllcmFyY2h5UG9wdXAnOlxuICAgICAgICB0aGlzLnNob3dTZWxlY3RSZXNvdXJjZU1vZGFsID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbG9zZUhpZXJhcmNoeVBvcHVwJzpcbiAgICAgICAgdGhpcy5zaG93U2VsZWN0UmVzb3VyY2VNb2RhbCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3Nob3dBZGRlZENvbnRlbnQnOlxuICAgICAgICB0aGlzLnNob3dBZGRlZENvbnRlbnQgPSBldmVudC5zdGF0dXM7XG4gICAgICAgIHRoaXMuZmlsdGVyQ29udGVudExpc3QoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjb250ZW50QWRkZWQnOlxuICAgICAgICB0aGlzLmNoaWxkTm9kZXMucHVzaChldmVudC5kYXRhLmlkZW50aWZpZXIpO1xuICAgICAgICB0aGlzLmdldEhpZXJhcmNoeURhdGEoKTtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmNvbnRlbnRzQ291bnRBZGRlZEluTGlicmFyeVBhZ2UoKTsgLy8gY29udGVudHMgY291bnQgYWRkZWQgZnJvbSBsaWJyYXJ5IHBhZ2VcbiAgICAgICAgdGhpcy5maWx0ZXJDb250ZW50TGlzdCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3NvcnRDb250ZW50TGlzdCc6XG4gICAgICAgICAgdGhpcy5zb3J0Q29udGVudExpc3QoZXZlbnQuc3RhdHVzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBnZXRIaWVyYXJjaHlEYXRhKCkge1xuICAgIHRoaXMuZWRpdG9yU2VydmljZS5mZXRjaENvbGxlY3Rpb25IaWVyYXJjaHkodGhpcy5jb2xsZWN0aW9uSWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jb2xsZWN0aW9uaGllcmFyY3lEYXRhID0gcmVzcG9uc2UucmVzdWx0LmNvbnRlbnQ7XG4gICAgfSwgZXJyID0+IHtcbiAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXy5nZXQodGhpcy5jb25maWdTZXJ2aWNlLCAnbGFiZWxDb25maWcubWVzc2FnZXMuZXJyb3IuMDAxJykpO1xuICAgIH0pO1xuICB9XG5zb3J0Q29udGVudExpc3Qoc3RhdHVzKSB7XG4gIHRoaXMuY29udGVudExpc3QgPSB0aGlzLmNvbnRlbnRMaXN0LnNvcnQoKGEsIGIpID0+IHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3JTZXJ2aWNlLnNvcnQoc3RhdHVzID8gYiA6IGEsIHN0YXR1cyA/IGEgOiAgYiwgc3RhdHVzID8gJ25hbWUnIDogJ2xhc3RVcGRhdGVkT24nKTtcbiAgfSk7XG4gIGNvbnN0IHNlbGVjdGVkQ29udGVudEluZGV4ID0gdGhpcy5zaG93QWRkZWRDb250ZW50ID8gMCA6IF8uZmluZEluZGV4KHRoaXMuY29udGVudExpc3QsIHsgaXNBZGRlZDogZmFsc2UgfSk7XG4gIHRoaXMuc2VsZWN0ZWRDb250ZW50ID0gdGhpcy5jb250ZW50TGlzdFtzZWxlY3RlZENvbnRlbnRJbmRleF07XG59XG5cbiAgb3BlbkZpbHRlcigpOiB2b2lkIHtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgdG9wOiAwLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJlaGF2aW9yOiAnc21vb3RoJ1xuICAgIH0pO1xuICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gdHJ1ZTtcbiAgfVxuICBmaWx0ZXJDb250ZW50TGlzdChpc0NvbnRlbnRBZGRlZD8pIHtcbiAgICBpZiAoXy5pc0VtcHR5KHRoaXMuY29udGVudExpc3QpKSB7IHJldHVybjsgfVxuICAgIF8uZm9yRWFjaCh0aGlzLmNvbnRlbnRMaXN0LCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHZhbHVlLmlzQWRkZWQgPSBfLmluY2x1ZGVzKHRoaXMuY2hpbGROb2RlcywgdmFsdWUuaWRlbnRpZmllcik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCFpc0NvbnRlbnRBZGRlZCkge1xuICAgICAgbGV0IHNlbGVjdGVkQ29udGVudEluZGV4ID0gdGhpcy5zaG93QWRkZWRDb250ZW50ID8gMCA6IF8uZmluZEluZGV4KHRoaXMuY29udGVudExpc3QsIHsgaXNBZGRlZDogZmFsc2UgfSk7XG4gICAgICBpZiAodGhpcy5jb250ZW50TGlzdC5sZW5ndGggPT09IDEgJiYgdGhpcy5jb250ZW50TGlzdFswXVsnaXNBZGRlZCddID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMuc2hvd0FkZGVkQ29udGVudCA9IHRydWU7XG4gICAgICAgIHNlbGVjdGVkQ29udGVudEluZGV4ID0gMDtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0ZWRDb250ZW50ID0gdGhpcy5jb250ZW50TGlzdFtzZWxlY3RlZENvbnRlbnRJbmRleF07XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZWRpdG9yU2VydmljZS5jb250ZW50c0NvdW50QWRkZWRJbkxpYnJhcnlQYWdlKHRydWUpOyAvLyBjb250ZW50cyBjb3VudCB1cGRhdGVkIGZyb20gbGlicmFyeSBwYWdlIHRvIHplcm9cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZC10by1saWJyYXJ5IG1iLTBcIj5cbiAgPCEtLSBCbHVlIEhlYWRlciAtLT5cbiAgPGRpdiBjbGFzcz1cInNiLWJnLWNvbG9yLXByaW1hcnkgYWRkLXRvLWxpYnJhcnlfX2hlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ1aSBjb250YWluZXIgc2ItY29udGFpbmVyICByZWxhdGl2ZSBwb3NpdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWFpLWNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2ItYnRuIHNiLWJ0bi1wcmltYXJ5IHNiLWJ0bi14cyBiYWNrLWJ0biBweC0wXCIgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgICAgICAgW3RlbGVtZXRyeUludGVyYWN0RWRhdGFdPVwidGVsZW1ldHJ5U2VydmljZS5nZXRUZWxlbWV0cnlJbnRlcmFjdEVkYXRhKCdiYWNrJywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQpXCIoY2xpY2spPVwiYmFjaygpO1wiPjxpIGNsYXNzPVwiYXJyb3cgbGVmdCBpY29uIGZzLTFcIj48L2k+PC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC04IHNiLWNvbG9yLXdoaXRlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWFpLWNlbnRlciBmc21hbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkIGZzLTEtMTZcIj57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uYWRkRnJvbUxpYnJhcnl9fTwvZGl2PlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic2ItYm9yZGVyLXZlcnRpY2FsIG14LTE1XCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgICAgPGg1PkNoYXB0ZXIgMTwvaDU+XG4gICAgICAgICAgICAgIDxzcGFuPlNjaWVuY2U8L3NwYW4+PHNwYW4gY2xhc3M9XCJhZGQtdG8tbGlicmFyeS1kb3RcIj48L3NwYW4+PHNwYW4+Q2xhc3MgMTA8L3NwYW4+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZC10by1saWJyYXJ5LWRvdFwiPjwvc3Bhbj48c3Bhbj5EUC0xMjA1PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwhLS0gRmlsdGVyIC0tPlxuICA8bGliLWxpYnJhcnktZmlsdGVyICpuZ0lmPVwiIXNob3dMb2FkZXJcIiBbZmlsdGVyVmFsdWVzXT1cImRlZmF1bHRGaWx0ZXJzXCIgW3NlYXJjaEZvcm1Db25maWddPVwic2VhcmNoRm9ybUNvbmZpZ1wiIFtmaWx0ZXJPcGVuU3RhdHVzXT1cImlzRmlsdGVyT3BlblwiIFtmcmFtZXdvcmtJZF09XCJmcmFtZXdvcmtJZFwiIChmaWx0ZXJDaGFuZ2VFdmVudCk9XCJvbkZpbHRlckNoYW5nZSgkZXZlbnQpO1wiPjwvbGliLWxpYnJhcnktZmlsdGVyPlxuICA8ZGl2IGNsYXNzPVwidWkgY29udGFpbmVyIHNiLWNvbnRhaW5lciBtaW4taC01MDBcIiAqbmdJZj1cIiFzaG93TG9hZGVyICYmIGNvbnRlbnRMaXN0Py5sZW5ndGhcIj5cbiAgICA8IS0tIFBsYXllciBTZWN0aW9uIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJzYi1nIGFkZC10by1saWJyYXJ5X190b2MtcGxheWVyXCI+XG4gICAgICA8IS0tIExlZnQgU2lkZWJhciBmb3IgY2FyZHMgLS0+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInNiLWctY29sLXhzLTEyIHNiLWctY29sLW1kLTQgc2ItZy1jb2wtbGctNFwiPlxuICAgICAgICAgIDxsaWItbGlicmFyeS1saXN0IChjb250ZW50Q2hhbmdlRXZlbnQpPSBcIm9uQ29udGVudENoYW5nZUV2ZW50KCRldmVudClcIiBbc2VsZWN0ZWRDb250ZW50XSA9IFwic2VsZWN0ZWRDb250ZW50XCJbY29udGVudExpc3RdPVwiY29udGVudExpc3RcIiBbc2hvd0FkZGVkQ29udGVudF09XCJzaG93QWRkZWRDb250ZW50XCIgKG1vdmVFdmVudCk9XCJzaG93UmVzb3VyY2VUZW1wbGF0ZSgkZXZlbnQpXCI+PC9saWItbGlicmFyeS1saXN0PlxuICAgICAgPC9zZWN0aW9uPlxuICAgICAgPCEtLSBSaWdodCBQbGF5ZXIgU2VjdGlvbnMgLS0+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInNiLWctY29sLXhzLTEyIHNiLWctY29sLW1kLTggc2ItZy1jb2wtbGctOCByZWxhdGl2ZSBwb3NpdGlvbiBtbC0yNFwiPlxuICAgICAgICAgIDxsaWItbGlicmFyeS1wbGF5ZXIgW2NvbnRlbnRMaXN0RGV0YWlsc109XCJzZWxlY3RlZENvbnRlbnRcIiAobW92ZUV2ZW50KT1cInNob3dSZXNvdXJjZVRlbXBsYXRlKCRldmVudClcIj48L2xpYi1saWJyYXJ5LXBsYXllcj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyZXN1bHQtbm8tZm91bmRcIj5cbiAgPGRpdiBjbGFzcz1cInVpIGNvbnRhaW5lciBzYi1jb250YWluZXJcIiAqbmdJZj1cInNob3dMb2FkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2ItZyBhZGQtdG8tbGlicmFyeV9fdG9jLXBsYXllciBtbC0zMFwiPlxuICAgICAgPCEtLSBMZWZ0IFNpZGViYXIgZm9yIGNhcmRzIC0tPlxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzYi1nLWNvbC14cy0xMiBzYi1nLWNvbC1tZC00IHNiLWctY29sLWxnLTRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNidG9jLWNvbnRhaW5lciBwci04IG10LTIwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYWNjb3JkaW9uX19wYW5lbC1jb250ZW50IHAtMTYgbWItOCBzYi1kb2NrLXNrZWxldG9uLWJ4XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JjaGFwdGVyX19pdGVtXCIgKm5nRm9yPVwibGV0IG51bWJlciBvZiBbXS5jb25zdHJ1Y3Rvcig0KVwiPlxuICAgICAgICAgICAgICA8bGliLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzkwJSdcIiBbaGVpZ2h0XT1cIicxMnB4J1wiIGNsYXNzPVwic2ItZG9jay1mbGV4LWF1dG9cIj48L2xpYi1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxpYi1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIiczMCUnXCIgW2hlaWdodF09XCInMTJweCdcIiBjbGFzcz1cInNiLWRvY2stZmxleC1hdXRvXCI+PC9saWItc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJzaG93U2VsZWN0UmVzb3VyY2VNb2RhbFwiPlxuICA8bGliLXJlc291cmNlLXJlb3JkZXIgW3ByZXZVbml0U2VsZWN0XT0gXCJzZWxlY3RlZFVuaXRcIiBbY29sbGVjdGlvbmhpZXJhcmN5RGF0YV09XCJjb2xsZWN0aW9uaGllcmFyY3lEYXRhXCIgW2NvbGxlY3Rpb25Vbml0c109XCJjb2xsZWN0aW9uSGllcmFyY2h5XCIgW3NlbGVjdGVkQ29udGVudERldGFpbHNdPVwic2VsZWN0ZWRDb250ZW50XCIgW2NvbGxlY3Rpb25JZF09XCJjb2xsZWN0aW9uSWRcIiAobW92ZUV2ZW50KT1cInNob3dSZXNvdXJjZVRlbXBsYXRlKCRldmVudClcIj48L2xpYi1yZXNvdXJjZS1yZW9yZGVyPlxuPC9kaXY+XG5cbjwhLS1lbXB0eSByZXN1bHQgLS0+XG48ZGl2IGNsYXNzPVwicmVzdWx0LW5vLWZvdW5kXCI+XG4gIDxkaXYgY2xhc3M9XCJ1aSBjb250YWluZXIgc2ItY29udGFpbmVyXCIgKm5nSWY9XCIhc2hvd0xvYWRlciAmJiAhY29udGVudExpc3Q/Lmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtdG8tbGlicmFyeV9fbm8tcmVzdWx0XCI+XG4gICAgICA8aDUgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkXCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/Lm5vTWF0Y2hpbmdDb250ZW50fX08L2g1PlxuICAgICAgPGltZyBhbHQ9XCJObyBDb250ZW50IGF2YWlsYWJsZVwiIGNsYXNzPVwibXQtMTZcIiBzcmM9XCJhc3NldHMvaW1hZ2VzL2VtcHR5UmVzdWx0LnN2Z1wiPlxuICAgICAgPGg2IGNsYXNzPVwic2ItY29sb3ItZ3JheS0zMDAgZm9udC13ZWlnaHQtbm9ybWFsIG10LThcIj57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uY2hhbmdlRmlsdGVyTWVzc2FnZX19PC9oNj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJzYi1idG4gc2ItYnRuLXNlY29uZGFyeSBzYi1idG4tbm9ybWFsIG10LTE2XCIgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgICAgIFt0ZWxlbWV0cnlJbnRlcmFjdEVkYXRhXT1cInRlbGVtZXRyeVNlcnZpY2UuZ2V0VGVsZW1ldHJ5SW50ZXJhY3RFZGF0YSgnY2hhbmdlX2ZpbHRlcicsJ2NsaWNrJywnbGF1bmNoJywgdGVsZW1ldHJ5U2VydmljZT8udGVsZW1ldHJ5UGFnZUlkKVwiIChjbGljayk9XCJvcGVuRmlsdGVyKCk7XCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LmNoYW5nZUZpbHRlcn19PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -66,18 +66,18 @@ export class LibraryListComponent {
66
66
  });
67
67
  }
68
68
  addToLibrary() {
69
- if (this.editorService.checkIfContentsCanbeAdded()) {
69
+ if (this.editorService.checkIfContentsCanbeAdded('add')) {
70
70
  this.moveEvent.emit({
71
71
  action: 'openHierarchyPopup'
72
72
  });
73
73
  }
74
74
  }
75
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LibraryListComponent, deps: [{ token: i1.EditorService }, { token: i2.EditorTelemetryService }, { token: i3.ConfigService }, { token: i4.FrameworkService }], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LibraryListComponent, selector: "lib-library-list", inputs: { contentList: "contentList", showAddedContent: "showAddedContent", selectedContent: "selectedContent" }, outputs: { contentChangeEvent: "contentChangeEvent", moveEvent: "moveEvent" }, ngImport: i0, template: "<div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"title sb-color-primary font-weight-bold fs-1\">\n Showing ({{contentList?.length}}) most relevant content\n </div>\n <div class=\"d-flex flex-w-wrap flex-jc-space-between flex-ai-baseline mb-15\">\n <div>\n <small class=\"sb-color-gray-200 d-block pb-10\">{{configService.labelConfig?.lbl?.selectContentToAdd}}</small>\n <sui-checkbox class=\"toggle\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('show_content_added_to_collection','click','launch', telemetryService?.telemetryPageId, {showAddedContent: !showAddedContent})\"\n [(ngModel)]=\"showAddedContent\" (checkChange)=\"onShowAddedContentChange();\"></sui-checkbox>\n <small class=\"d-block mt-5 fs-0785\"> {{configService.labelConfig?.lbl?.showContentAddedToCollection}}</small>\n </div>\n <div class=\"sb-w-75\">\n <label class=\"d-block font-weight-normal fs-0785\">{{configService.labelConfig?.lbl?.sortBy}}</label>\n <div (click)=\"sortContentList();\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('sort_by','click','launch', telemetryService?.telemetryPageId, {sortContent: !sortContent})\"\n [ngClass]=\"{'sb-btn-outline-primary': sortContent}\" class=\"sb-btn sb-btn-outline-gray sb-btn-normal ripple\">{{configService.labelConfig?.lbl?.sortlabel}}</div>\n</div>\n </div>\n <!-- Class separator -->\n <div class=\"sb-library-scroll\">\n <div *ngFor=\"let content of contentList\">\n <div class=\"sbchapter__item mb-0 d-flex flex-dc\" [ngClass]=\" {'selected':content.identifier === selectedContent.identifier}\"\n (click)=\"onContentChange(content)\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('on_click_content','click','launch', telemetryService?.telemetryPageId)\" \n [class.d-none]=\"content.isAdded && !showAddedContent\">\n <!-- <div class=\"sbchapter__img\"><img src=\"./assets/images/book.png\" /></div> -->\n <div class=\"d-flex w-100\">\n <div class=\"w-60\">\n <h4 class=\"pl-8\">\n <div class=\"sbcard__title mb-0 font-weight-bold ellipsis w-75\" popupDelay=\"1000\" suiPopup\n popupText=\"{{content.name}}\">{{content.name}}</div>\n <div class=\"sbchapter__item__title text-left sb__ellipsis sb__ellipsis--two mr-8 sb-color-black\">\n <span *ngIf=\"categoryCode && content[categoryCode]\"> By {{content[categoryCode]}} </span>\n </div>\n </h4>\n </div>\n <div class=\"w-40\">\n <div class=\"text-right\" [hidden]=\"!content.isAdded\">\n <button type=\"button\" class=\"text-right py-0 sb-btn sb-btn-normal sb-btn-link sb-btn-hover-none\n sb-btn-link-secondary sb-left-icon-btn fs-0-785\"><i class=\"circle check icon\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n <div libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\" class=\"text-right pr-5\" *ngIf=\"content.identifier === selectedContent.identifier\">\n <button class=\"sb-btn sb-btn-xs sb-btn-dark-green sb-left-icon-btn font-weight-bold text-inherit\" (click)=\"addToLibrary()\">\n <i class=\"plus square icon mr-4\" ></i>{{configService.labelConfig?.lbl?.selectContent}}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <h6 class=\"sb-color-gray-400 font-weight-normal mt-20\">{{configService.labelConfig?.lbl?.changingFilters}} </h6>\n <a class=\"sb-color-primary cursor-pointer font-weight-bold fs-0-785 text-inherit\" (click)=\"changeFilter()\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\">{{configService.labelConfig?.lbl?.ChangeFilters}}</a>\n</div>", styles: [".sbtoc-container .ui.toggle.checkbox label:before{width:4rem!important;background:#00000026!important}.ui.toggle.checkbox input:checked~label:after{left:3rem!important}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white)!important;border:calculateRem(1px) solid #ddd!important;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:calculateRem(8px);padding:calculateRem(8px);cursor:pointer;min-height:calculateRem(56px);position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)!important}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sbchapter-open{border-bottom:calculateRem(1px) solid #e0e0e0;padding-bottom:var(--base-block-space)}.sbchapter-open__title{font-size:14px;font-weight:700;color:var(--primary-400);margin:0;padding:calculateRem(16px);width:100%}.sbchapter-open__topics{padding:0}.sbchapter-open__topics__title{font-size:14px;margin:0px 0px calculateRem(8px) 0px;color:var(--primary-400);padding:0px calculateRem(16px)}.sbchapter-open__topic{font-size:12px;padding:calculateRem(8px) calculateRem(32px);margin:0;color:var(--primary-400)}.sbchapter-open__topic--active{background:var(--primary-100)}.sbchapter-open__topic:hover{background:var(--gray-0)}.sb-library-scroll{max-height:calc(100vh - 72px);overflow:auto}.textbookBtnLink{right:0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.SuiCheckbox, selector: "sui-checkbox", inputs: ["name", "isDisabled", "isReadonly"], outputs: ["checkChange", "touched"], exportAs: ["suiCheckbox"] }, { kind: "directive", type: i7.SuiCheckboxValueAccessor, selector: "sui-checkbox" }, { kind: "directive", type: i7.SuiPopupDirective, selector: "[suiPopup]", inputs: ["popupHeader", "popupText", "popupInverted", "popupBasic", "popupInline", "popupFlowing", "popupTransition", "popupTransitionDuration", "popupPlacement", "popupWidth", "popupSize", "popupDelay", "popupTrigger", "popupTemplate", "popupTemplateContext", "popupConfig"], exportAs: ["suiPopup"] }, { kind: "directive", type: i8.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }], encapsulation: i0.ViewEncapsulation.None }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LibraryListComponent, selector: "lib-library-list", inputs: { contentList: "contentList", showAddedContent: "showAddedContent", selectedContent: "selectedContent" }, outputs: { contentChangeEvent: "contentChangeEvent", moveEvent: "moveEvent" }, ngImport: i0, template: "<div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"title sb-color-primary font-weight-bold fs-1\">\n Showing ({{contentList?.length}}) most relevant content\n </div>\n <div class=\"d-flex flex-w-wrap flex-jc-space-between flex-ai-baseline mb-15\">\n <div>\n <small class=\"sb-color-gray-200 d-block pb-10\">{{configService.labelConfig?.lbl?.selectContentToAdd}}</small>\n <sui-checkbox class=\"toggle\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('show_content_added_to_collection','click','launch', telemetryService?.telemetryPageId, {showAddedContent: !showAddedContent})\"\n [(ngModel)]=\"showAddedContent\" (checkChange)=\"onShowAddedContentChange();\"></sui-checkbox>\n <small class=\"d-block mt-5 fs-0785\"> {{configService.labelConfig?.lbl?.showContentAddedToCollection}}</small>\n </div>\n <div class=\"sb-w-75\">\n <label class=\"d-block font-weight-normal fs-0785\">{{configService.labelConfig?.lbl?.sortBy}}</label>\n <div (click)=\"sortContentList();\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('sort_by','click','launch', telemetryService?.telemetryPageId, {sortContent: !sortContent})\"\n [ngClass]=\"{'sb-btn-outline-primary': sortContent}\" class=\"sb-btn sb-btn-outline-gray sb-btn-normal ripple\">{{configService.labelConfig?.lbl?.sortlabel}}</div>\n</div>\n </div>\n <!-- Class separator -->\n <div class=\"sb-library-scroll\">\n <div *ngFor=\"let content of contentList\">\n <div class=\"sbchapter__item mb-0 d-flex flex-dc\" [ngClass]=\" {'selected':content.identifier === selectedContent.identifier}\"\n (click)=\"onContentChange(content)\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('on_click_content','click','launch', telemetryService?.telemetryPageId)\"\n [class.d-none]=\"content.isAdded && !showAddedContent\">\n <!-- <div class=\"sbchapter__img\"><img src=\"./assets/images/book.png\" /></div> -->\n <div class=\"d-flex w-100\">\n <div class=\"w-60\">\n <h4 class=\"pl-8\">\n <div class=\"sbcard__title mb-0 font-weight-bold ellipsis w-75\" popupDelay=\"1000\" suiPopup\n popupText=\"{{content.name}}\">{{content.name}}</div>\n <div class=\"sbchapter__item__title text-left sb__ellipsis sb__ellipsis--two mr-8 sb-color-black\">\n <span *ngIf=\"categoryCode && content[categoryCode]\"> By {{content[categoryCode]}} </span>\n </div>\n </h4>\n </div>\n <div class=\"w-40\">\n <div class=\"text-right\" [hidden]=\"!content.isAdded\">\n <button type=\"button\" class=\"text-right py-0 sb-btn sb-btn-normal sb-btn-link sb-btn-hover-none\n sb-color-success sb-left-icon-btn fs-0-785\"><i class=\"circle check icon\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n <div libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\" class=\"text-right pr-5\" *ngIf=\"content.identifier === selectedContent.identifier\">\n <button class=\"sb-btn sb-btn-xs sb-btn-dark-green sb-left-icon-btn font-weight-bold text-inherit\" (click)=\"addToLibrary()\">\n <i class=\"plus square icon mr-4\" ></i>{{configService.labelConfig?.lbl?.selectContent}}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <h6 class=\"sb-color-gray-400 font-weight-normal mt-20\">{{configService.labelConfig?.lbl?.changingFilters}} </h6>\n <a class=\"sb-color-primary cursor-pointer font-weight-bold fs-0-785 text-inherit\" (click)=\"changeFilter()\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\">{{configService.labelConfig?.lbl?.ChangeFilters}}</a>\n</div>", styles: [".sbtoc-container .ui.toggle.checkbox label:before{width:4rem!important;background:#00000026!important}.ui.toggle.checkbox input:checked~label:after{left:3rem!important}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white)!important;border:calculateRem(1px) solid #ddd!important;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:calculateRem(8px);padding:calculateRem(8px);cursor:pointer;min-height:calculateRem(56px);position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)!important}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sbchapter-open{border-bottom:calculateRem(1px) solid #e0e0e0;padding-bottom:var(--base-block-space)}.sbchapter-open__title{font-size:14px;font-weight:700;color:var(--primary-400);margin:0;padding:calculateRem(16px);width:100%}.sbchapter-open__topics{padding:0}.sbchapter-open__topics__title{font-size:14px;margin:0px 0px calculateRem(8px) 0px;color:var(--primary-400);padding:0px calculateRem(16px)}.sbchapter-open__topic{font-size:12px;padding:calculateRem(8px) calculateRem(32px);margin:0;color:var(--primary-400)}.sbchapter-open__topic--active{background:var(--primary-100)}.sbchapter-open__topic:hover{background:var(--gray-0)}.sb-library-scroll{max-height:calc(100vh - 72px);overflow:auto}.textbookBtnLink{right:0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.SuiCheckbox, selector: "sui-checkbox", inputs: ["name", "isDisabled", "isReadonly"], outputs: ["checkChange", "touched"], exportAs: ["suiCheckbox"] }, { kind: "directive", type: i7.SuiCheckboxValueAccessor, selector: "sui-checkbox" }, { kind: "directive", type: i7.SuiPopupDirective, selector: "[suiPopup]", inputs: ["popupHeader", "popupText", "popupInverted", "popupBasic", "popupInline", "popupFlowing", "popupTransition", "popupTransitionDuration", "popupPlacement", "popupWidth", "popupSize", "popupDelay", "popupTrigger", "popupTemplate", "popupTemplateContext", "popupConfig"], exportAs: ["suiPopup"] }, { kind: "directive", type: i8.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }], encapsulation: i0.ViewEncapsulation.None }); }
77
77
  }
78
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LibraryListComponent, decorators: [{
79
79
  type: Component,
80
- args: [{ selector: 'lib-library-list', encapsulation: ViewEncapsulation.None, template: "<div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"title sb-color-primary font-weight-bold fs-1\">\n Showing ({{contentList?.length}}) most relevant content\n </div>\n <div class=\"d-flex flex-w-wrap flex-jc-space-between flex-ai-baseline mb-15\">\n <div>\n <small class=\"sb-color-gray-200 d-block pb-10\">{{configService.labelConfig?.lbl?.selectContentToAdd}}</small>\n <sui-checkbox class=\"toggle\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('show_content_added_to_collection','click','launch', telemetryService?.telemetryPageId, {showAddedContent: !showAddedContent})\"\n [(ngModel)]=\"showAddedContent\" (checkChange)=\"onShowAddedContentChange();\"></sui-checkbox>\n <small class=\"d-block mt-5 fs-0785\"> {{configService.labelConfig?.lbl?.showContentAddedToCollection}}</small>\n </div>\n <div class=\"sb-w-75\">\n <label class=\"d-block font-weight-normal fs-0785\">{{configService.labelConfig?.lbl?.sortBy}}</label>\n <div (click)=\"sortContentList();\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('sort_by','click','launch', telemetryService?.telemetryPageId, {sortContent: !sortContent})\"\n [ngClass]=\"{'sb-btn-outline-primary': sortContent}\" class=\"sb-btn sb-btn-outline-gray sb-btn-normal ripple\">{{configService.labelConfig?.lbl?.sortlabel}}</div>\n</div>\n </div>\n <!-- Class separator -->\n <div class=\"sb-library-scroll\">\n <div *ngFor=\"let content of contentList\">\n <div class=\"sbchapter__item mb-0 d-flex flex-dc\" [ngClass]=\" {'selected':content.identifier === selectedContent.identifier}\"\n (click)=\"onContentChange(content)\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('on_click_content','click','launch', telemetryService?.telemetryPageId)\" \n [class.d-none]=\"content.isAdded && !showAddedContent\">\n <!-- <div class=\"sbchapter__img\"><img src=\"./assets/images/book.png\" /></div> -->\n <div class=\"d-flex w-100\">\n <div class=\"w-60\">\n <h4 class=\"pl-8\">\n <div class=\"sbcard__title mb-0 font-weight-bold ellipsis w-75\" popupDelay=\"1000\" suiPopup\n popupText=\"{{content.name}}\">{{content.name}}</div>\n <div class=\"sbchapter__item__title text-left sb__ellipsis sb__ellipsis--two mr-8 sb-color-black\">\n <span *ngIf=\"categoryCode && content[categoryCode]\"> By {{content[categoryCode]}} </span>\n </div>\n </h4>\n </div>\n <div class=\"w-40\">\n <div class=\"text-right\" [hidden]=\"!content.isAdded\">\n <button type=\"button\" class=\"text-right py-0 sb-btn sb-btn-normal sb-btn-link sb-btn-hover-none\n sb-btn-link-secondary sb-left-icon-btn fs-0-785\"><i class=\"circle check icon\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n <div libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\" class=\"text-right pr-5\" *ngIf=\"content.identifier === selectedContent.identifier\">\n <button class=\"sb-btn sb-btn-xs sb-btn-dark-green sb-left-icon-btn font-weight-bold text-inherit\" (click)=\"addToLibrary()\">\n <i class=\"plus square icon mr-4\" ></i>{{configService.labelConfig?.lbl?.selectContent}}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <h6 class=\"sb-color-gray-400 font-weight-normal mt-20\">{{configService.labelConfig?.lbl?.changingFilters}} </h6>\n <a class=\"sb-color-primary cursor-pointer font-weight-bold fs-0-785 text-inherit\" (click)=\"changeFilter()\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\">{{configService.labelConfig?.lbl?.ChangeFilters}}</a>\n</div>", styles: [".sbtoc-container .ui.toggle.checkbox label:before{width:4rem!important;background:#00000026!important}.ui.toggle.checkbox input:checked~label:after{left:3rem!important}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white)!important;border:calculateRem(1px) solid #ddd!important;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:calculateRem(8px);padding:calculateRem(8px);cursor:pointer;min-height:calculateRem(56px);position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)!important}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sbchapter-open{border-bottom:calculateRem(1px) solid #e0e0e0;padding-bottom:var(--base-block-space)}.sbchapter-open__title{font-size:14px;font-weight:700;color:var(--primary-400);margin:0;padding:calculateRem(16px);width:100%}.sbchapter-open__topics{padding:0}.sbchapter-open__topics__title{font-size:14px;margin:0px 0px calculateRem(8px) 0px;color:var(--primary-400);padding:0px calculateRem(16px)}.sbchapter-open__topic{font-size:12px;padding:calculateRem(8px) calculateRem(32px);margin:0;color:var(--primary-400)}.sbchapter-open__topic--active{background:var(--primary-100)}.sbchapter-open__topic:hover{background:var(--gray-0)}.sb-library-scroll{max-height:calc(100vh - 72px);overflow:auto}.textbookBtnLink{right:0}\n"] }]
80
+ args: [{ selector: 'lib-library-list', encapsulation: ViewEncapsulation.None, template: "<div class=\"sbtoc-container pr-8 mt-20\">\n <div class=\"title sb-color-primary font-weight-bold fs-1\">\n Showing ({{contentList?.length}}) most relevant content\n </div>\n <div class=\"d-flex flex-w-wrap flex-jc-space-between flex-ai-baseline mb-15\">\n <div>\n <small class=\"sb-color-gray-200 d-block pb-10\">{{configService.labelConfig?.lbl?.selectContentToAdd}}</small>\n <sui-checkbox class=\"toggle\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('show_content_added_to_collection','click','launch', telemetryService?.telemetryPageId, {showAddedContent: !showAddedContent})\"\n [(ngModel)]=\"showAddedContent\" (checkChange)=\"onShowAddedContentChange();\"></sui-checkbox>\n <small class=\"d-block mt-5 fs-0785\"> {{configService.labelConfig?.lbl?.showContentAddedToCollection}}</small>\n </div>\n <div class=\"sb-w-75\">\n <label class=\"d-block font-weight-normal fs-0785\">{{configService.labelConfig?.lbl?.sortBy}}</label>\n <div (click)=\"sortContentList();\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('sort_by','click','launch', telemetryService?.telemetryPageId, {sortContent: !sortContent})\"\n [ngClass]=\"{'sb-btn-outline-primary': sortContent}\" class=\"sb-btn sb-btn-outline-gray sb-btn-normal ripple\">{{configService.labelConfig?.lbl?.sortlabel}}</div>\n</div>\n </div>\n <!-- Class separator -->\n <div class=\"sb-library-scroll\">\n <div *ngFor=\"let content of contentList\">\n <div class=\"sbchapter__item mb-0 d-flex flex-dc\" [ngClass]=\" {'selected':content.identifier === selectedContent.identifier}\"\n (click)=\"onContentChange(content)\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('on_click_content','click','launch', telemetryService?.telemetryPageId)\"\n [class.d-none]=\"content.isAdded && !showAddedContent\">\n <!-- <div class=\"sbchapter__img\"><img src=\"./assets/images/book.png\" /></div> -->\n <div class=\"d-flex w-100\">\n <div class=\"w-60\">\n <h4 class=\"pl-8\">\n <div class=\"sbcard__title mb-0 font-weight-bold ellipsis w-75\" popupDelay=\"1000\" suiPopup\n popupText=\"{{content.name}}\">{{content.name}}</div>\n <div class=\"sbchapter__item__title text-left sb__ellipsis sb__ellipsis--two mr-8 sb-color-black\">\n <span *ngIf=\"categoryCode && content[categoryCode]\"> By {{content[categoryCode]}} </span>\n </div>\n </h4>\n </div>\n <div class=\"w-40\">\n <div class=\"text-right\" [hidden]=\"!content.isAdded\">\n <button type=\"button\" class=\"text-right py-0 sb-btn sb-btn-normal sb-btn-link sb-btn-hover-none\n sb-color-success sb-left-icon-btn fs-0-785\"><i class=\"circle check icon\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n <div libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\" class=\"text-right pr-5\" *ngIf=\"content.identifier === selectedContent.identifier\">\n <button class=\"sb-btn sb-btn-xs sb-btn-dark-green sb-left-icon-btn font-weight-bold text-inherit\" (click)=\"addToLibrary()\">\n <i class=\"plus square icon mr-4\" ></i>{{configService.labelConfig?.lbl?.selectContent}}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <h6 class=\"sb-color-gray-400 font-weight-normal mt-20\">{{configService.labelConfig?.lbl?.changingFilters}} </h6>\n <a class=\"sb-color-primary cursor-pointer font-weight-bold fs-0-785 text-inherit\" (click)=\"changeFilter()\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('change_filter','click','launch', telemetryService?.telemetryPageId)\">{{configService.labelConfig?.lbl?.ChangeFilters}}</a>\n</div>", styles: [".sbtoc-container .ui.toggle.checkbox label:before{width:4rem!important;background:#00000026!important}.ui.toggle.checkbox input:checked~label:after{left:3rem!important}.sbchapter{border-bottom:calculateRem(1px) solid #ddd;padding:calculateRem(16px) calculateRem(16px) calculateRem(8px) calculateRem(16px)}.sbchapter h4{font-size:10px;line-height:normal;color:var(--gray-800);margin-bottom:calculateRem(8px)}.sbchapter .textbookBtnLink{visibility:hidden}.sbchapter__item{background:var(--white)!important;border:calculateRem(1px) solid #ddd!important;box-shadow:0 calculateRem(3px) calculateRem(4px) 0 #024f9d1a;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:calculateRem(8px);padding:calculateRem(8px);cursor:pointer;min-height:calculateRem(56px);position:relative}.sbchapter__item.active{background:var(--secondary-300);border:.0625rem solid var(--gray-100);border-bottom:0}.sbchapter__item.active.active:last-child{border-bottom:.0625rem solid var(--gray-100)}.sbchapter__item.active .textbookBtnLink{visibility:visible;right:12px}.sbchapter__item.active .textbookBtnLink .sb-btn-link{border-color:var(--secondary-0)!important;background-color:var(--secondary-0)!important}.sbchapter__item.selected{background:var(--secondary-300);border:solid 1px var(--primary-600)}.sbchapter__item.active.selected{border:solid 1px var(--primary-600)!important}.sbchapter__item .btn-addtoLibrary{position:absolute;right:1px;display:flex;justify-content:center;align-items:center;padding:8px}.sbchapter__item h4{font-size:12px;line-height:calculateRem(20px);color:var(--primary-400);margin:0;padding:0}.sbchapter__item .sbchapter__img{width:calculateRem(40px);height:calculateRem(40px);flex:0 0 calculateRem(40px);overflow:hidden}.sbchapter__item .sbchapter__img img{width:100%}.sbchapter__item:last-child{margin-bottom:0}.sbchapter__item:hover{background:var(--secondary-0)!important}.sbchapter__item:hover{visibility:visible}.sbchapter__item--active{background:var(--primary-100)}.sbchapter__item .sb-checkbox.ui.checkbox{min-width:30px!important}.sbchapter-open{border-bottom:calculateRem(1px) solid #e0e0e0;padding-bottom:var(--base-block-space)}.sbchapter-open__title{font-size:14px;font-weight:700;color:var(--primary-400);margin:0;padding:calculateRem(16px);width:100%}.sbchapter-open__topics{padding:0}.sbchapter-open__topics__title{font-size:14px;margin:0px 0px calculateRem(8px) 0px;color:var(--primary-400);padding:0px calculateRem(16px)}.sbchapter-open__topic{font-size:12px;padding:calculateRem(8px) calculateRem(32px);margin:0;color:var(--primary-400)}.sbchapter-open__topic--active{background:var(--primary-100)}.sbchapter-open__topic:hover{background:var(--gray-0)}.sb-library-scroll{max-height:calc(100vh - 72px);overflow:auto}.textbookBtnLink{right:0}\n"] }]
81
81
  }], ctorParameters: function () { return [{ type: i1.EditorService }, { type: i2.EditorTelemetryService }, { type: i3.ConfigService }, { type: i4.FrameworkService }]; }, propDecorators: { contentList: [{
82
82
  type: Input
83
83
  }], showAddedContent: [{
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
89
89
  }], selectedContent: [{
90
90
  type: Input
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbGxlY3Rpb24tZWRpdG9yLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2xpYnJhcnktbGlzdC9saWJyYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS1saXN0L2xpYnJhcnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBYTNDLE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFBbUIsYUFBNEIsRUFBUyxnQkFBd0MsRUFDN0UsYUFBNEIsRUFBVSxnQkFBa0M7UUFEeEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQzdFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVBuRix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXZDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTJELENBQUM7SUFFakcsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDO1FBQ2hFLElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdkMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQzFCLElBQUksYUFBYSxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDN0MsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO29CQUM3RSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7d0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztxQkFDeEM7aUJBQ0Y7WUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1AsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxlQUFvQjtRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixNQUFNLEVBQUUsWUFBWTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7U0FDOUIsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixNQUFNLEVBQUUsaUJBQWlCO1lBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNsQixNQUFNLEVBQUUsb0JBQW9CO2FBQzdCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzsrR0FyRVUsb0JBQW9CO21HQUFwQixvQkFBb0IseVBDZmpDLHNrSUF5RE07OzRGRDFDTyxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUk7b01BRzlCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNFLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3RW5jYXBzdWxhdGlvbiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0b3IvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yVGVsZW1ldHJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbGVtZXRyeS90ZWxlbWV0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBGcmFtZXdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZnJhbWV3b3JrL2ZyYW1ld29yay5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWxpYnJhcnktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saWJyYXJ5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWJyYXJ5LWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlicmFyeUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5ASW5wdXQoKSBjb250ZW50TGlzdDtcbkBJbnB1dCgpIHNob3dBZGRlZENvbnRlbnQ6IGFueTtcbkBPdXRwdXQoKSBjb250ZW50Q2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbkBPdXRwdXQoKSBtb3ZlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbkBJbnB1dCgpIHNlbGVjdGVkQ29udGVudDogYW55O1xucHVibGljIHNvcnRDb250ZW50ID0gZmFsc2U7XG5wdWJsaWMgY2F0ZWdvcnlDb2RlOiBzdHJpbmc7XG5wcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29uc3RydWN0b3IocHVibGljIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHB1YmxpYyB0ZWxlbWV0cnlTZXJ2aWNlOiBFZGl0b3JUZWxlbWV0cnlTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSwgcHJpdmF0ZSBmcmFtZXdvcmtTZXJ2aWNlOiBGcmFtZXdvcmtTZXJ2aWNlICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXRGcmFtZXdvcmtDYXRlZ29yaWVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXRGcmFtZXdvcmtDYXRlZ29yaWVzKCkge1xuICAgIGNvbnN0IGZyYW1ld29ya0lkID0gdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLm9yZ2FuaXNhdGlvbkZyYW1ld29yaztcbiAgICBpZiAoZnJhbWV3b3JrSWQpIHtcbiAgICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZS5nZXRUYXJnZXRGcmFtZXdvcmtDYXRlZ29yaWVzKFtmcmFtZXdvcmtJZF0pO1xuICAgICAgdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmZyYW1ld29ya0RhdGEkLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKS5zdWJzY3JpYmUoZnJhbWV3b3JrRGF0YSA9PiB7XG4gICAgICAgIGlmIChmcmFtZXdvcmtEYXRhPy5mcmFtZXdvcmtkYXRhW2ZyYW1ld29ya0lkXSkge1xuICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBmcmFtZXdvcmtEYXRhLmZyYW1ld29ya2RhdGFbZnJhbWV3b3JrSWRdLmNhdGVnb3JpZXMgfHwgW107XG4gICAgICAgICAgaWYgKGNhdGVnb3JpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5Q29kZSA9IGNhdGVnb3JpZXNbMF0uY29kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBnZXQgZnJhbWV3b3JrIGRhdGE6JywgZXJyKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29udGVudENoYW5nZShzZWxlY3RlZENvbnRlbnQ6IGFueSkge1xuICAgIHRoaXMuY29udGVudENoYW5nZUV2ZW50LmVtaXQoe2NvbnRlbnQ6IHNlbGVjdGVkQ29udGVudH0pO1xuICB9XG5cbiAgY2hhbmdlRmlsdGVyKCkge1xuICAgIHRoaXMubW92ZUV2ZW50LmVtaXQoe1xuICAgICAgYWN0aW9uOiAnc2hvd0ZpbHRlcidcbiAgICB9KTtcbiAgfVxuXG4gIG9uU2hvd0FkZGVkQ29udGVudENoYW5nZSgpIHtcbiAgIHRoaXMubW92ZUV2ZW50LmVtaXQoe1xuICAgIGFjdGlvbjogJ3Nob3dBZGRlZENvbnRlbnQnLFxuICAgIHN0YXR1czogdGhpcy5zaG93QWRkZWRDb250ZW50XG4gIH0pO1xuICB9XG4gIHNvcnRDb250ZW50TGlzdCgpIHtcbiAgICB0aGlzLnNvcnRDb250ZW50ID0gIXRoaXMuc29ydENvbnRlbnQ7XG4gICAgdGhpcy5tb3ZlRXZlbnQuZW1pdCh7XG4gICAgICBhY3Rpb246ICdzb3J0Q29udGVudExpc3QnLFxuICAgICAgc3RhdHVzOiB0aGlzLnNvcnRDb250ZW50XG4gICAgfSk7XG4gIH1cbiAgYWRkVG9MaWJyYXJ5KCkge1xuICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuY2hlY2tJZkNvbnRlbnRzQ2FuYmVBZGRlZCgpKSB7XG4gICAgICB0aGlzLm1vdmVFdmVudC5lbWl0KHtcbiAgICAgICAgYWN0aW9uOiAnb3BlbkhpZXJhcmNoeVBvcHVwJ1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzYnRvYy1jb250YWluZXIgcHItOCBtdC0yMFwiPlxuICA8ZGl2IGNsYXNzPVwidGl0bGUgc2ItY29sb3ItcHJpbWFyeSBmb250LXdlaWdodC1ib2xkIGZzLTFcIj5cbiAgICBTaG93aW5nICh7e2NvbnRlbnRMaXN0Py5sZW5ndGh9fSkgbW9zdCByZWxldmFudCBjb250ZW50XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtdy13cmFwIGZsZXgtamMtc3BhY2UtYmV0d2VlbiBmbGV4LWFpLWJhc2VsaW5lIG1iLTE1XCI+XG4gICAgPGRpdj5cbiAgICAgIDxzbWFsbCBjbGFzcz1cInNiLWNvbG9yLWdyYXktMjAwIGQtYmxvY2sgcGItMTBcIj57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uc2VsZWN0Q29udGVudFRvQWRkfX08L3NtYWxsPlxuICAgICAgPHN1aS1jaGVja2JveCBjbGFzcz1cInRvZ2dsZVwiIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3Nob3dfY29udGVudF9hZGRlZF90b19jb2xsZWN0aW9uJywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQsIHtzaG93QWRkZWRDb250ZW50OiAhc2hvd0FkZGVkQ29udGVudH0pXCJcbiAgICAgICBbKG5nTW9kZWwpXT1cInNob3dBZGRlZENvbnRlbnRcIiAoY2hlY2tDaGFuZ2UpPVwib25TaG93QWRkZWRDb250ZW50Q2hhbmdlKCk7XCI+PC9zdWktY2hlY2tib3g+XG4gICAgICAgIDxzbWFsbCBjbGFzcz1cImQtYmxvY2sgbXQtNSBmcy0wNzg1XCI+IHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5zaG93Q29udGVudEFkZGVkVG9Db2xsZWN0aW9ufX08L3NtYWxsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYi13LTc1XCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJkLWJsb2NrIGZvbnQtd2VpZ2h0LW5vcm1hbCBmcy0wNzg1XCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LnNvcnRCeX19PC9sYWJlbD5cbiAgICAgIDxkaXYgKGNsaWNrKT1cInNvcnRDb250ZW50TGlzdCgpO1wiIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3NvcnRfYnknLCdjbGljaycsJ2xhdW5jaCcsIHRlbGVtZXRyeVNlcnZpY2U/LnRlbGVtZXRyeVBhZ2VJZCwge3NvcnRDb250ZW50OiAhc29ydENvbnRlbnR9KVwiXG4gICAgICAgW25nQ2xhc3NdPVwieydzYi1idG4tb3V0bGluZS1wcmltYXJ5Jzogc29ydENvbnRlbnR9XCIgY2xhc3M9XCJzYi1idG4gc2ItYnRuLW91dGxpbmUtZ3JheSBzYi1idG4tbm9ybWFsIHJpcHBsZVwiPnt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5zb3J0bGFiZWx9fTwvZGl2PlxuPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIENsYXNzIHNlcGFyYXRvciAtLT5cbiAgPGRpdiBjbGFzcz1cInNiLWxpYnJhcnktc2Nyb2xsXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBjb250ZW50TGlzdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiY2hhcHRlcl9faXRlbSBtYi0wIGQtZmxleCBmbGV4LWRjXCIgW25nQ2xhc3NdPVwiIHsnc2VsZWN0ZWQnOmNvbnRlbnQuaWRlbnRpZmllciA9PT0gc2VsZWN0ZWRDb250ZW50LmlkZW50aWZpZXJ9XCJcbiAgICAgICAoY2xpY2spPVwib25Db250ZW50Q2hhbmdlKGNvbnRlbnQpXCIgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ29uX2NsaWNrX2NvbnRlbnQnLCdjbGljaycsJ2xhdW5jaCcsIHRlbGVtZXRyeVNlcnZpY2U/LnRlbGVtZXRyeVBhZ2VJZClcIiBcbiAgICAgICBbY2xhc3MuZC1ub25lXT1cImNvbnRlbnQuaXNBZGRlZCAmJiAhc2hvd0FkZGVkQ29udGVudFwiPlxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic2JjaGFwdGVyX19pbWdcIj48aW1nIHNyYz1cIi4vYXNzZXRzL2ltYWdlcy9ib29rLnBuZ1wiIC8+PC9kaXY+IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHctMTAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctNjBcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cInBsLThcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiY2FyZF9fdGl0bGUgbWItMCBmb250LXdlaWdodC1ib2xkIGVsbGlwc2lzIHctNzVcIiBwb3B1cERlbGF5PVwiMTAwMFwiIHN1aVBvcHVwXG4gICAgICAgICAgICAgIHBvcHVwVGV4dD1cInt7Y29udGVudC5uYW1lfX1cIj57e2NvbnRlbnQubmFtZX19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmNoYXB0ZXJfX2l0ZW1fX3RpdGxlIHRleHQtbGVmdCBzYl9fZWxsaXBzaXMgc2JfX2VsbGlwc2lzLS10d28gbXItOCBzYi1jb2xvci1ibGFja1wiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNhdGVnb3J5Q29kZSAmJiBjb250ZW50W2NhdGVnb3J5Q29kZV1cIj4gQnkge3tjb250ZW50W2NhdGVnb3J5Q29kZV19fSA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy00MFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIiBbaGlkZGVuXT1cIiFjb250ZW50LmlzQWRkZWRcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ZXh0LXJpZ2h0IHB5LTAgc2ItYnRuIHNiLWJ0bi1ub3JtYWwgc2ItYnRuLWxpbmsgc2ItYnRuLWhvdmVyLW5vbmVcbiAgICAgICAgICAgICAgc2ItYnRuLWxpbmstc2Vjb25kYXJ5IHNiLWxlZnQtaWNvbi1idG4gZnMtMC03ODVcIj48aSBjbGFzcz1cImNpcmNsZSBjaGVjayBpY29uXCI+PC9pPlxuICAgICAgICAgICAgICB7e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uYWRkZWRUb0NvbGxlY3Rpb259fTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICAgICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3NlbGVjdF9jb250ZW50JywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQpXCIgY2xhc3M9XCJ0ZXh0LXJpZ2h0IHByLTVcIiAqbmdJZj1cImNvbnRlbnQuaWRlbnRpZmllciA9PT0gc2VsZWN0ZWRDb250ZW50LmlkZW50aWZpZXJcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNiLWJ0biBzYi1idG4teHMgc2ItYnRuLWRhcmstZ3JlZW4gc2ItbGVmdC1pY29uLWJ0biBmb250LXdlaWdodC1ib2xkIHRleHQtaW5oZXJpdFwiIChjbGljayk9XCJhZGRUb0xpYnJhcnkoKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGx1cyBzcXVhcmUgaWNvbiBtci00XCIgPjwvaT57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uc2VsZWN0Q29udGVudH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8aDYgY2xhc3M9XCJzYi1jb2xvci1ncmF5LTQwMCBmb250LXdlaWdodC1ub3JtYWwgbXQtMjBcIj57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uY2hhbmdpbmdGaWx0ZXJzfX0gPC9oNj5cbiAgPGEgY2xhc3M9XCJzYi1jb2xvci1wcmltYXJ5IGN1cnNvci1wb2ludGVyIGZvbnQtd2VpZ2h0LWJvbGQgZnMtMC03ODUgdGV4dC1pbmhlcml0XCIgKGNsaWNrKT1cImNoYW5nZUZpbHRlcigpXCIgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgW3RlbGVtZXRyeUludGVyYWN0RWRhdGFdPVwidGVsZW1ldHJ5U2VydmljZS5nZXRUZWxlbWV0cnlJbnRlcmFjdEVkYXRhKCdjaGFuZ2VfZmlsdGVyJywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQpXCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LkNoYW5nZUZpbHRlcnN9fTwvYT5cbjwvZGl2PiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbGxlY3Rpb24tZWRpdG9yLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2xpYnJhcnktbGlzdC9saWJyYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS1saXN0L2xpYnJhcnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBYTNDLE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFBbUIsYUFBNEIsRUFBUyxnQkFBd0MsRUFDN0UsYUFBNEIsRUFBVSxnQkFBa0M7UUFEeEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQzdFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVBuRix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXZDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTJELENBQUM7SUFFakcsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDO1FBQ2hFLElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdkMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQzFCLElBQUksYUFBYSxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDN0MsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO29CQUM3RSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7d0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztxQkFDeEM7aUJBQ0Y7WUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1AsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxlQUFvQjtRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixNQUFNLEVBQUUsWUFBWTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7U0FDOUIsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixNQUFNLEVBQUUsaUJBQWlCO1lBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDbEIsTUFBTSxFQUFFLG9CQUFvQjthQUM3QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7K0dBckVVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHlQQ2ZqQyxna0lBeURNOzs0RkQxQ08sb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJO29NQUc5QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRSxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0VuY2Fwc3VsYXRpb24sIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclRlbGVtZXRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZWxlbWV0cnkvdGVsZW1ldHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZyYW1ld29yay9mcmFtZXdvcmsuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1saWJyYXJ5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlicmFyeS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlicmFyeS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuQElucHV0KCkgY29udGVudExpc3Q7XG5ASW5wdXQoKSBzaG93QWRkZWRDb250ZW50OiBhbnk7XG5AT3V0cHV0KCkgY29udGVudENoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5AT3V0cHV0KCkgbW92ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5ASW5wdXQoKSBzZWxlY3RlZENvbnRlbnQ6IGFueTtcbnB1YmxpYyBzb3J0Q29udGVudCA9IGZhbHNlO1xucHVibGljIGNhdGVnb3J5Q29kZTogc3RyaW5nO1xucHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLCBwdWJsaWMgdGVsZW1ldHJ5U2VydmljZTogRWRpdG9yVGVsZW1ldHJ5U2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsIHByaXZhdGUgZnJhbWV3b3JrU2VydmljZTogRnJhbWV3b3JrU2VydmljZSApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0RnJhbWV3b3JrQ2F0ZWdvcmllcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0RnJhbWV3b3JrQ2F0ZWdvcmllcygpIHtcbiAgICBjb25zdCBmcmFtZXdvcmtJZCA9IHRoaXMuZnJhbWV3b3JrU2VydmljZS5vcmdhbmlzYXRpb25GcmFtZXdvcms7XG4gICAgaWYgKGZyYW1ld29ya0lkKSB7XG4gICAgICB0aGlzLmZyYW1ld29ya1NlcnZpY2UuZ2V0VGFyZ2V0RnJhbWV3b3JrQ2F0ZWdvcmllcyhbZnJhbWV3b3JrSWRdKTtcbiAgICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZS5mcmFtZXdvcmtEYXRhJC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICkuc3Vic2NyaWJlKGZyYW1ld29ya0RhdGEgPT4ge1xuICAgICAgICBpZiAoZnJhbWV3b3JrRGF0YT8uZnJhbWV3b3JrZGF0YVtmcmFtZXdvcmtJZF0pIHtcbiAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gZnJhbWV3b3JrRGF0YS5mcmFtZXdvcmtkYXRhW2ZyYW1ld29ya0lkXS5jYXRlZ29yaWVzIHx8IFtdO1xuICAgICAgICAgIGlmIChjYXRlZ29yaWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeUNvZGUgPSBjYXRlZ29yaWVzWzBdLmNvZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZ2V0IGZyYW1ld29yayBkYXRhOicsIGVycik7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNvbnRlbnRDaGFuZ2Uoc2VsZWN0ZWRDb250ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNvbnRlbnRDaGFuZ2VFdmVudC5lbWl0KHtjb250ZW50OiBzZWxlY3RlZENvbnRlbnR9KTtcbiAgfVxuXG4gIGNoYW5nZUZpbHRlcigpIHtcbiAgICB0aGlzLm1vdmVFdmVudC5lbWl0KHtcbiAgICAgIGFjdGlvbjogJ3Nob3dGaWx0ZXInXG4gICAgfSk7XG4gIH1cblxuICBvblNob3dBZGRlZENvbnRlbnRDaGFuZ2UoKSB7XG4gICB0aGlzLm1vdmVFdmVudC5lbWl0KHtcbiAgICBhY3Rpb246ICdzaG93QWRkZWRDb250ZW50JyxcbiAgICBzdGF0dXM6IHRoaXMuc2hvd0FkZGVkQ29udGVudFxuICB9KTtcbiAgfVxuICBzb3J0Q29udGVudExpc3QoKSB7XG4gICAgdGhpcy5zb3J0Q29udGVudCA9ICF0aGlzLnNvcnRDb250ZW50O1xuICAgIHRoaXMubW92ZUV2ZW50LmVtaXQoe1xuICAgICAgYWN0aW9uOiAnc29ydENvbnRlbnRMaXN0JyxcbiAgICAgIHN0YXR1czogdGhpcy5zb3J0Q29udGVudFxuICAgIH0pO1xuICB9XG4gIGFkZFRvTGlicmFyeSgpIHtcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmNoZWNrSWZDb250ZW50c0NhbmJlQWRkZWQoJ2FkZCcpKSB7XG4gICAgICB0aGlzLm1vdmVFdmVudC5lbWl0KHtcbiAgICAgICAgYWN0aW9uOiAnb3BlbkhpZXJhcmNoeVBvcHVwJ1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzYnRvYy1jb250YWluZXIgcHItOCBtdC0yMFwiPlxuICA8ZGl2IGNsYXNzPVwidGl0bGUgc2ItY29sb3ItcHJpbWFyeSBmb250LXdlaWdodC1ib2xkIGZzLTFcIj5cbiAgICBTaG93aW5nICh7e2NvbnRlbnRMaXN0Py5sZW5ndGh9fSkgbW9zdCByZWxldmFudCBjb250ZW50XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtdy13cmFwIGZsZXgtamMtc3BhY2UtYmV0d2VlbiBmbGV4LWFpLWJhc2VsaW5lIG1iLTE1XCI+XG4gICAgPGRpdj5cbiAgICAgIDxzbWFsbCBjbGFzcz1cInNiLWNvbG9yLWdyYXktMjAwIGQtYmxvY2sgcGItMTBcIj57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uc2VsZWN0Q29udGVudFRvQWRkfX08L3NtYWxsPlxuICAgICAgPHN1aS1jaGVja2JveCBjbGFzcz1cInRvZ2dsZVwiIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3Nob3dfY29udGVudF9hZGRlZF90b19jb2xsZWN0aW9uJywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQsIHtzaG93QWRkZWRDb250ZW50OiAhc2hvd0FkZGVkQ29udGVudH0pXCJcbiAgICAgICBbKG5nTW9kZWwpXT1cInNob3dBZGRlZENvbnRlbnRcIiAoY2hlY2tDaGFuZ2UpPVwib25TaG93QWRkZWRDb250ZW50Q2hhbmdlKCk7XCI+PC9zdWktY2hlY2tib3g+XG4gICAgICAgIDxzbWFsbCBjbGFzcz1cImQtYmxvY2sgbXQtNSBmcy0wNzg1XCI+IHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5zaG93Q29udGVudEFkZGVkVG9Db2xsZWN0aW9ufX08L3NtYWxsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYi13LTc1XCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJkLWJsb2NrIGZvbnQtd2VpZ2h0LW5vcm1hbCBmcy0wNzg1XCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LnNvcnRCeX19PC9sYWJlbD5cbiAgICAgIDxkaXYgKGNsaWNrKT1cInNvcnRDb250ZW50TGlzdCgpO1wiIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3NvcnRfYnknLCdjbGljaycsJ2xhdW5jaCcsIHRlbGVtZXRyeVNlcnZpY2U/LnRlbGVtZXRyeVBhZ2VJZCwge3NvcnRDb250ZW50OiAhc29ydENvbnRlbnR9KVwiXG4gICAgICAgW25nQ2xhc3NdPVwieydzYi1idG4tb3V0bGluZS1wcmltYXJ5Jzogc29ydENvbnRlbnR9XCIgY2xhc3M9XCJzYi1idG4gc2ItYnRuLW91dGxpbmUtZ3JheSBzYi1idG4tbm9ybWFsIHJpcHBsZVwiPnt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5zb3J0bGFiZWx9fTwvZGl2PlxuPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIENsYXNzIHNlcGFyYXRvciAtLT5cbiAgPGRpdiBjbGFzcz1cInNiLWxpYnJhcnktc2Nyb2xsXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBjb250ZW50TGlzdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiY2hhcHRlcl9faXRlbSBtYi0wIGQtZmxleCBmbGV4LWRjXCIgW25nQ2xhc3NdPVwiIHsnc2VsZWN0ZWQnOmNvbnRlbnQuaWRlbnRpZmllciA9PT0gc2VsZWN0ZWRDb250ZW50LmlkZW50aWZpZXJ9XCJcbiAgICAgICAoY2xpY2spPVwib25Db250ZW50Q2hhbmdlKGNvbnRlbnQpXCIgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ29uX2NsaWNrX2NvbnRlbnQnLCdjbGljaycsJ2xhdW5jaCcsIHRlbGVtZXRyeVNlcnZpY2U/LnRlbGVtZXRyeVBhZ2VJZClcIlxuICAgICAgIFtjbGFzcy5kLW5vbmVdPVwiY29udGVudC5pc0FkZGVkICYmICFzaG93QWRkZWRDb250ZW50XCI+XG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzYmNoYXB0ZXJfX2ltZ1wiPjxpbWcgc3JjPVwiLi9hc3NldHMvaW1hZ2VzL2Jvb2sucG5nXCIgLz48L2Rpdj4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggdy0xMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy02MFwiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwicGwtOFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JjYXJkX190aXRsZSBtYi0wIGZvbnQtd2VpZ2h0LWJvbGQgZWxsaXBzaXMgdy03NVwiIHBvcHVwRGVsYXk9XCIxMDAwXCIgc3VpUG9wdXBcbiAgICAgICAgICAgICAgcG9wdXBUZXh0PVwie3tjb250ZW50Lm5hbWV9fVwiPnt7Y29udGVudC5uYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiY2hhcHRlcl9faXRlbV9fdGl0bGUgdGV4dC1sZWZ0IHNiX19lbGxpcHNpcyBzYl9fZWxsaXBzaXMtLXR3byBtci04IHNiLWNvbG9yLWJsYWNrXCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2F0ZWdvcnlDb2RlICYmIGNvbnRlbnRbY2F0ZWdvcnlDb2RlXVwiPiBCeSB7e2NvbnRlbnRbY2F0ZWdvcnlDb2RlXX19IDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2g0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTQwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiIFtoaWRkZW5dPVwiIWNvbnRlbnQuaXNBZGRlZFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRleHQtcmlnaHQgcHktMCBzYi1idG4gc2ItYnRuLW5vcm1hbCBzYi1idG4tbGluayBzYi1idG4taG92ZXItbm9uZVxuICAgICAgICAgICAgICBzYi1jb2xvci1zdWNjZXNzIHNiLWxlZnQtaWNvbi1idG4gZnMtMC03ODVcIj48aSBjbGFzcz1cImNpcmNsZSBjaGVjayBpY29uXCI+PC9pPlxuICAgICAgICAgICAgICB7e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uYWRkZWRUb0NvbGxlY3Rpb259fTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICAgICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3NlbGVjdF9jb250ZW50JywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQpXCIgY2xhc3M9XCJ0ZXh0LXJpZ2h0IHByLTVcIiAqbmdJZj1cImNvbnRlbnQuaWRlbnRpZmllciA9PT0gc2VsZWN0ZWRDb250ZW50LmlkZW50aWZpZXJcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNiLWJ0biBzYi1idG4teHMgc2ItYnRuLWRhcmstZ3JlZW4gc2ItbGVmdC1pY29uLWJ0biBmb250LXdlaWdodC1ib2xkIHRleHQtaW5oZXJpdFwiIChjbGljayk9XCJhZGRUb0xpYnJhcnkoKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGx1cyBzcXVhcmUgaWNvbiBtci00XCIgPjwvaT57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uc2VsZWN0Q29udGVudH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8aDYgY2xhc3M9XCJzYi1jb2xvci1ncmF5LTQwMCBmb250LXdlaWdodC1ub3JtYWwgbXQtMjBcIj57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uY2hhbmdpbmdGaWx0ZXJzfX0gPC9oNj5cbiAgPGEgY2xhc3M9XCJzYi1jb2xvci1wcmltYXJ5IGN1cnNvci1wb2ludGVyIGZvbnQtd2VpZ2h0LWJvbGQgZnMtMC03ODUgdGV4dC1pbmhlcml0XCIgKGNsaWNrKT1cImNoYW5nZUZpbHRlcigpXCIgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgW3RlbGVtZXRyeUludGVyYWN0RWRhdGFdPVwidGVsZW1ldHJ5U2VydmljZS5nZXRUZWxlbWV0cnlJbnRlcmFjdEVkYXRhKCdjaGFuZ2VfZmlsdGVyJywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQpXCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LkNoYW5nZUZpbHRlcnN9fTwvYT5cbjwvZGl2PiJdfQ==
@@ -42,21 +42,21 @@ export class LibraryPlayerComponent {
42
42
  }
43
43
  }
44
44
  addToLibrary() {
45
- if (this.editorService.checkIfContentsCanbeAdded()) {
45
+ if (this.editorService.checkIfContentsCanbeAdded('add')) {
46
46
  this.moveEvent.emit({
47
47
  action: 'openHierarchyPopup'
48
48
  });
49
49
  }
50
50
  }
51
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LibraryPlayerComponent, deps: [{ token: i1.EditorTelemetryService }, { token: i2.EditorService }, { token: i3.ConfigService }, { token: i4.FrameworkService }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LibraryPlayerComponent, selector: "lib-library-player", inputs: { contentListDetails: "contentListDetails" }, outputs: { moveEvent: "moveEvent" }, ngImport: i0, template: "\n<div class=\"d-flex flex-w-wrap content-video__player__details mt-15 pb-0 pl-0\">\n <div class=\"d-flex flex-dc flex-basis-1\">\n <div class=\"content-video__player__title mr-auto sb__ellipsis sb__ellipsis--one mb-5\" >{{contentListDetails?.name}} </div>\n <div class=\"content-video__player__title__subtitle fs-0-785 mb-10\"><span class=\"mr-8\" *ngIf=\"categoryCode && contentListDetails[categoryCode]\">By {{contentListDetails[categoryCode]}}</span>\n <span *ngIf=\"contentListDetails?.me_averageRating\"> <span class=\"mr-8\" > {{contentListDetails?.me_averageRating}}</span>\n <i class=\"icon star\"></i> </span>\n <div class=\"textbookBtnLink\" *ngIf=\"contentListDetails?.isAdded\">\n <button type=\"button\" class=\"sb-btn-link sb-btn-hover-none py-0\n sb-btn-link-secondary sb-left-icon-btn fs-0-785\"><i aria-hidden=\"true\" class=\"circle check icon green-color\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n </div>\n </div>\n <div class=\"d-flex content-video__player__screenpart mb-10\" (click)=\"addToLibrary()\">\n <button type=\"button\" class=\"sb-btn sb-btn-normal sb-btn-dark-green font-weight-bold\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\"\n ><i class=\"plus square icon\"></i>{{configService.labelConfig?.lbl?.selectContent}}</button>\n </div>\n</div>\n<lib-contentplayer-page [contentMetadata]=\"contentListDetails\"></lib-contentplayer-page>", styles: [".green-color{color:#05bc80!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ContentplayerPageComponent, selector: "lib-contentplayer-page", inputs: ["contentMetadata"] }, { kind: "directive", type: i7.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }] }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LibraryPlayerComponent, selector: "lib-library-player", inputs: { contentListDetails: "contentListDetails" }, outputs: { moveEvent: "moveEvent" }, ngImport: i0, template: "\n<div class=\"d-flex flex-w-wrap content-video__player__details mt-15 pb-0 pl-0\">\n <div class=\"d-flex flex-dc flex-basis-1\">\n <div class=\"content-video__player__title mr-auto sb__ellipsis sb__ellipsis--one mb-5\" >{{contentListDetails?.name}} </div>\n <div class=\"content-video__player__title__subtitle fs-0-785 mb-10\"><span class=\"mr-8\" *ngIf=\"categoryCode && contentListDetails[categoryCode]\">By {{contentListDetails[categoryCode]}}</span>\n <span *ngIf=\"contentListDetails?.me_averageRating\"> <span class=\"mr-8\" > {{contentListDetails?.me_averageRating}}</span>\n <i class=\"icon star\"></i> </span>\n <div class=\"textbookBtnLink\" *ngIf=\"contentListDetails?.isAdded\">\n <button type=\"button\" class=\"sb-btn-link sb-btn-hover-none py-0\n sb-color-success sb-left-icon-btn fs-0-785\"><i aria-hidden=\"true\" class=\"circle check icon green-color\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n </div>\n </div>\n <div class=\"d-flex content-video__player__screenpart mb-10\" (click)=\"addToLibrary()\">\n <button type=\"button\" class=\"sb-btn sb-btn-normal sb-btn-dark-green font-weight-bold\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\"\n ><i class=\"plus square icon\"></i>{{configService.labelConfig?.lbl?.selectContent}}</button>\n </div>\n</div>\n<lib-contentplayer-page [contentMetadata]=\"contentListDetails\"></lib-contentplayer-page>", styles: [".green-color{color:#05bc80!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ContentplayerPageComponent, selector: "lib-contentplayer-page", inputs: ["contentMetadata"] }, { kind: "directive", type: i7.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }] }); }
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LibraryPlayerComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 'lib-library-player', template: "\n<div class=\"d-flex flex-w-wrap content-video__player__details mt-15 pb-0 pl-0\">\n <div class=\"d-flex flex-dc flex-basis-1\">\n <div class=\"content-video__player__title mr-auto sb__ellipsis sb__ellipsis--one mb-5\" >{{contentListDetails?.name}} </div>\n <div class=\"content-video__player__title__subtitle fs-0-785 mb-10\"><span class=\"mr-8\" *ngIf=\"categoryCode && contentListDetails[categoryCode]\">By {{contentListDetails[categoryCode]}}</span>\n <span *ngIf=\"contentListDetails?.me_averageRating\"> <span class=\"mr-8\" > {{contentListDetails?.me_averageRating}}</span>\n <i class=\"icon star\"></i> </span>\n <div class=\"textbookBtnLink\" *ngIf=\"contentListDetails?.isAdded\">\n <button type=\"button\" class=\"sb-btn-link sb-btn-hover-none py-0\n sb-btn-link-secondary sb-left-icon-btn fs-0-785\"><i aria-hidden=\"true\" class=\"circle check icon green-color\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n </div>\n </div>\n <div class=\"d-flex content-video__player__screenpart mb-10\" (click)=\"addToLibrary()\">\n <button type=\"button\" class=\"sb-btn sb-btn-normal sb-btn-dark-green font-weight-bold\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\"\n ><i class=\"plus square icon\"></i>{{configService.labelConfig?.lbl?.selectContent}}</button>\n </div>\n</div>\n<lib-contentplayer-page [contentMetadata]=\"contentListDetails\"></lib-contentplayer-page>", styles: [".green-color{color:#05bc80!important}\n"] }]
56
+ args: [{ selector: 'lib-library-player', template: "\n<div class=\"d-flex flex-w-wrap content-video__player__details mt-15 pb-0 pl-0\">\n <div class=\"d-flex flex-dc flex-basis-1\">\n <div class=\"content-video__player__title mr-auto sb__ellipsis sb__ellipsis--one mb-5\" >{{contentListDetails?.name}} </div>\n <div class=\"content-video__player__title__subtitle fs-0-785 mb-10\"><span class=\"mr-8\" *ngIf=\"categoryCode && contentListDetails[categoryCode]\">By {{contentListDetails[categoryCode]}}</span>\n <span *ngIf=\"contentListDetails?.me_averageRating\"> <span class=\"mr-8\" > {{contentListDetails?.me_averageRating}}</span>\n <i class=\"icon star\"></i> </span>\n <div class=\"textbookBtnLink\" *ngIf=\"contentListDetails?.isAdded\">\n <button type=\"button\" class=\"sb-btn-link sb-btn-hover-none py-0\n sb-color-success sb-left-icon-btn fs-0-785\"><i aria-hidden=\"true\" class=\"circle check icon green-color\"></i>\n {{configService.labelConfig?.lbl?.addedToCollection}}</button>\n </div>\n </div>\n </div>\n <div class=\"d-flex content-video__player__screenpart mb-10\" (click)=\"addToLibrary()\">\n <button type=\"button\" class=\"sb-btn sb-btn-normal sb-btn-dark-green font-weight-bold\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('select_content','click','launch', telemetryService?.telemetryPageId)\"\n ><i class=\"plus square icon\"></i>{{configService.labelConfig?.lbl?.selectContent}}</button>\n </div>\n</div>\n<lib-contentplayer-page [contentMetadata]=\"contentListDetails\"></lib-contentplayer-page>", styles: [".green-color{color:#05bc80!important}\n"] }]
57
57
  }], ctorParameters: function () { return [{ type: i1.EditorTelemetryService }, { type: i2.EditorService }, { type: i3.ConfigService }, { type: i4.FrameworkService }]; }, propDecorators: { contentListDetails: [{
58
58
  type: Input
59
59
  }], moveEvent: [{
60
60
  type: Output
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1wbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS1wbGF5ZXIvbGlicmFyeS1wbGF5ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS1wbGF5ZXIvbGlicmFyeS1wbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBVzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBbUIsZ0JBQXdDLEVBQVMsYUFBNEIsRUFDN0UsYUFBNEIsRUFBVSxnQkFBa0M7UUFEeEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUpuRixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUUwRCxDQUFDO0lBRWhHLFFBQVE7UUFDTixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUNoRSxJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3ZDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLGFBQWEsRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQzdDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztvQkFDN0UsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO3dCQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7cUJBQ3hDO2lCQUNGO1lBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNQLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxvQkFBb0I7YUFDN0IsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOytHQXpDWSxzQkFBc0I7bUdBQXRCLHNCQUFzQixxSkNibkMsa2tEQXFCd0Y7OzRGRFIzRSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO29NQUt2QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVsZW1ldHJ5L3RlbGVtZXRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0b3IvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZyYW1ld29yay9mcmFtZXdvcmsuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbGlicmFyeS1wbGF5ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlicmFyeS1wbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWJyYXJ5LXBsYXllci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcnlQbGF5ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5ASW5wdXQoKSBjb250ZW50TGlzdERldGFpbHM7XG5AT3V0cHV0KCkgbW92ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5wdWJsaWMgY2F0ZWdvcnlDb2RlOiBzdHJpbmc7XG5wcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbGVtZXRyeVNlcnZpY2U6IEVkaXRvclRlbGVtZXRyeVNlcnZpY2UsIHB1YmxpYyBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSwgcHJpdmF0ZSBmcmFtZXdvcmtTZXJ2aWNlOiBGcmFtZXdvcmtTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldEZyYW1ld29ya0NhdGVnb3JpZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldEZyYW1ld29ya0NhdGVnb3JpZXMoKSB7XG4gICAgY29uc3QgZnJhbWV3b3JrSWQgPSB0aGlzLmZyYW1ld29ya1NlcnZpY2Uub3JnYW5pc2F0aW9uRnJhbWV3b3JrO1xuICAgIGlmIChmcmFtZXdvcmtJZCkge1xuICAgICAgdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmdldFRhcmdldEZyYW1ld29ya0NhdGVnb3JpZXMoW2ZyYW1ld29ya0lkXSk7XG4gICAgICB0aGlzLmZyYW1ld29ya1NlcnZpY2UuZnJhbWV3b3JrRGF0YSQucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApLnN1YnNjcmliZShmcmFtZXdvcmtEYXRhID0+IHtcbiAgICAgICAgaWYgKGZyYW1ld29ya0RhdGE/LmZyYW1ld29ya2RhdGFbZnJhbWV3b3JrSWRdKSB7XG4gICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGZyYW1ld29ya0RhdGEuZnJhbWV3b3JrZGF0YVtmcmFtZXdvcmtJZF0uY2F0ZWdvcmllcyB8fCBbXTtcbiAgICAgICAgICBpZiAoY2F0ZWdvcmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlDb2RlID0gY2F0ZWdvcmllc1swXS5jb2RlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGdldCBmcmFtZXdvcmsgZGF0YTonLCBlcnIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGFkZFRvTGlicmFyeSgpIHtcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmNoZWNrSWZDb250ZW50c0NhbmJlQWRkZWQoKSkge1xuICAgIHRoaXMubW92ZUV2ZW50LmVtaXQoe1xuICAgICAgYWN0aW9uOiAnb3BlbkhpZXJhcmNoeVBvcHVwJ1xuICAgIH0pO1xuICB9XG59XG5cbn0iLCJcbjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13LXdyYXAgY29udGVudC12aWRlb19fcGxheWVyX19kZXRhaWxzIG10LTE1IHBiLTAgcGwtMFwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtZGMgZmxleC1iYXNpcy0xXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtdmlkZW9fX3BsYXllcl9fdGl0bGUgbXItYXV0byBzYl9fZWxsaXBzaXMgc2JfX2VsbGlwc2lzLS1vbmUgbWItNVwiID57e2NvbnRlbnRMaXN0RGV0YWlscz8ubmFtZX19IDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXZpZGVvX19wbGF5ZXJfX3RpdGxlX19zdWJ0aXRsZSBmcy0wLTc4NSBtYi0xMFwiPjxzcGFuIGNsYXNzPVwibXItOFwiICpuZ0lmPVwiY2F0ZWdvcnlDb2RlICYmIGNvbnRlbnRMaXN0RGV0YWlsc1tjYXRlZ29yeUNvZGVdXCI+Qnkge3tjb250ZW50TGlzdERldGFpbHNbY2F0ZWdvcnlDb2RlXX19PC9zcGFuPlxuICAgICA8c3BhbiAqbmdJZj1cImNvbnRlbnRMaXN0RGV0YWlscz8ubWVfYXZlcmFnZVJhdGluZ1wiPiA8c3BhbiBjbGFzcz1cIm1yLThcIiA+IHt7Y29udGVudExpc3REZXRhaWxzPy5tZV9hdmVyYWdlUmF0aW5nfX08L3NwYW4+XG4gICAgICA8aSBjbGFzcz1cImljb24gc3RhclwiPjwvaT4gPC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHRib29rQnRuTGlua1wiICAqbmdJZj1cImNvbnRlbnRMaXN0RGV0YWlscz8uaXNBZGRlZFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNiLWJ0bi1saW5rIHNiLWJ0bi1ob3Zlci1ub25lIHB5LTBcbiAgICAgICAgIHNiLWJ0bi1saW5rLXNlY29uZGFyeSBzYi1sZWZ0LWljb24tYnRuIGZzLTAtNzg1XCI+PGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJjaXJjbGUgY2hlY2sgaWNvbiBncmVlbi1jb2xvclwiPjwvaT5cbiAgICAgICAgIHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5hZGRlZFRvQ29sbGVjdGlvbn19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggY29udGVudC12aWRlb19fcGxheWVyX19zY3JlZW5wYXJ0IG1iLTEwXCIgIChjbGljayk9XCJhZGRUb0xpYnJhcnkoKVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2ItYnRuIHNiLWJ0bi1ub3JtYWwgc2ItYnRuLWRhcmstZ3JlZW4gZm9udC13ZWlnaHQtYm9sZFwiXG4gICAgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3NlbGVjdF9jb250ZW50JywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQpXCJcbiAgICAgID48aSBjbGFzcz1cInBsdXMgc3F1YXJlIGljb25cIj48L2k+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LnNlbGVjdENvbnRlbnR9fTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGxpYi1jb250ZW50cGxheWVyLXBhZ2UgW2NvbnRlbnRNZXRhZGF0YV09XCJjb250ZW50TGlzdERldGFpbHNcIj48L2xpYi1jb250ZW50cGxheWVyLXBhZ2U+Il19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1wbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS1wbGF5ZXIvbGlicmFyeS1wbGF5ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvbGlicmFyeS1wbGF5ZXIvbGlicmFyeS1wbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBVzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBbUIsZ0JBQXdDLEVBQVMsYUFBNEIsRUFDN0UsYUFBNEIsRUFBVSxnQkFBa0M7UUFEeEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUpuRixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUUwRCxDQUFDO0lBRWhHLFFBQVE7UUFDTixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUNoRSxJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3ZDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLGFBQWEsRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQzdDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztvQkFDN0UsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO3dCQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7cUJBQ3hDO2lCQUNGO1lBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNQLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNsQixNQUFNLEVBQUUsb0JBQW9CO2FBQzdCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzsrR0F6Q1ksc0JBQXNCO21HQUF0QixzQkFBc0IscUpDYm5DLDRqREFxQndGOzs0RkRSM0Usc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjtvTUFLdkIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yVGVsZW1ldHJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbGVtZXRyeS90ZWxlbWV0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEZyYW1ld29ya1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mcmFtZXdvcmsvZnJhbWV3b3JrLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gtZXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWxpYnJhcnktcGxheWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYnJhcnktcGxheWVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlicmFyeS1wbGF5ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMaWJyYXJ5UGxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuQElucHV0KCkgY29udGVudExpc3REZXRhaWxzO1xuQE91dHB1dCgpIG1vdmVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xucHVibGljIGNhdGVnb3J5Q29kZTogc3RyaW5nO1xucHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZWxlbWV0cnlTZXJ2aWNlOiBFZGl0b3JUZWxlbWV0cnlTZXJ2aWNlLCBwdWJsaWMgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsIHByaXZhdGUgZnJhbWV3b3JrU2VydmljZTogRnJhbWV3b3JrU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXRGcmFtZXdvcmtDYXRlZ29yaWVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXRGcmFtZXdvcmtDYXRlZ29yaWVzKCkge1xuICAgIGNvbnN0IGZyYW1ld29ya0lkID0gdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLm9yZ2FuaXNhdGlvbkZyYW1ld29yaztcbiAgICBpZiAoZnJhbWV3b3JrSWQpIHtcbiAgICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZS5nZXRUYXJnZXRGcmFtZXdvcmtDYXRlZ29yaWVzKFtmcmFtZXdvcmtJZF0pO1xuICAgICAgdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmZyYW1ld29ya0RhdGEkLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKS5zdWJzY3JpYmUoZnJhbWV3b3JrRGF0YSA9PiB7XG4gICAgICAgIGlmIChmcmFtZXdvcmtEYXRhPy5mcmFtZXdvcmtkYXRhW2ZyYW1ld29ya0lkXSkge1xuICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBmcmFtZXdvcmtEYXRhLmZyYW1ld29ya2RhdGFbZnJhbWV3b3JrSWRdLmNhdGVnb3JpZXMgfHwgW107XG4gICAgICAgICAgaWYgKGNhdGVnb3JpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5Q29kZSA9IGNhdGVnb3JpZXNbMF0uY29kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBnZXQgZnJhbWV3b3JrIGRhdGE6JywgZXJyKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBhZGRUb0xpYnJhcnkoKSB7XG4gICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5jaGVja0lmQ29udGVudHNDYW5iZUFkZGVkKCdhZGQnKSkge1xuICAgIHRoaXMubW92ZUV2ZW50LmVtaXQoe1xuICAgICAgYWN0aW9uOiAnb3BlbkhpZXJhcmNoeVBvcHVwJ1xuICAgIH0pO1xuICB9XG59XG5cbn0iLCJcbjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13LXdyYXAgY29udGVudC12aWRlb19fcGxheWVyX19kZXRhaWxzIG10LTE1IHBiLTAgcGwtMFwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtZGMgZmxleC1iYXNpcy0xXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtdmlkZW9fX3BsYXllcl9fdGl0bGUgbXItYXV0byBzYl9fZWxsaXBzaXMgc2JfX2VsbGlwc2lzLS1vbmUgbWItNVwiID57e2NvbnRlbnRMaXN0RGV0YWlscz8ubmFtZX19IDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXZpZGVvX19wbGF5ZXJfX3RpdGxlX19zdWJ0aXRsZSBmcy0wLTc4NSBtYi0xMFwiPjxzcGFuIGNsYXNzPVwibXItOFwiICpuZ0lmPVwiY2F0ZWdvcnlDb2RlICYmIGNvbnRlbnRMaXN0RGV0YWlsc1tjYXRlZ29yeUNvZGVdXCI+Qnkge3tjb250ZW50TGlzdERldGFpbHNbY2F0ZWdvcnlDb2RlXX19PC9zcGFuPlxuICAgICA8c3BhbiAqbmdJZj1cImNvbnRlbnRMaXN0RGV0YWlscz8ubWVfYXZlcmFnZVJhdGluZ1wiPiA8c3BhbiBjbGFzcz1cIm1yLThcIiA+IHt7Y29udGVudExpc3REZXRhaWxzPy5tZV9hdmVyYWdlUmF0aW5nfX08L3NwYW4+XG4gICAgICA8aSBjbGFzcz1cImljb24gc3RhclwiPjwvaT4gPC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHRib29rQnRuTGlua1wiICAqbmdJZj1cImNvbnRlbnRMaXN0RGV0YWlscz8uaXNBZGRlZFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNiLWJ0bi1saW5rIHNiLWJ0bi1ob3Zlci1ub25lIHB5LTBcbiAgICAgICAgc2ItY29sb3Itc3VjY2VzcyBzYi1sZWZ0LWljb24tYnRuIGZzLTAtNzg1XCI+PGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJjaXJjbGUgY2hlY2sgaWNvbiBncmVlbi1jb2xvclwiPjwvaT5cbiAgICAgICAgIHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5hZGRlZFRvQ29sbGVjdGlvbn19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggY29udGVudC12aWRlb19fcGxheWVyX19zY3JlZW5wYXJ0IG1iLTEwXCIgIChjbGljayk9XCJhZGRUb0xpYnJhcnkoKVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2ItYnRuIHNiLWJ0bi1ub3JtYWwgc2ItYnRuLWRhcmstZ3JlZW4gZm9udC13ZWlnaHQtYm9sZFwiXG4gICAgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3NlbGVjdF9jb250ZW50JywnY2xpY2snLCdsYXVuY2gnLCB0ZWxlbWV0cnlTZXJ2aWNlPy50ZWxlbWV0cnlQYWdlSWQpXCJcbiAgICAgID48aSBjbGFzcz1cInBsdXMgc3F1YXJlIGljb25cIj48L2k+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LnNlbGVjdENvbnRlbnR9fTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGxpYi1jb250ZW50cGxheWVyLXBhZ2UgW2NvbnRlbnRNZXRhZGF0YV09XCJjb250ZW50TGlzdERldGFpbHNcIj48L2xpYi1jb250ZW50cGxheWVyLXBhZ2U+Il19