qms-angular 1.1.33 → 1.1.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/bundles/qms-angular.umd.js +913 -417
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/enum/document-field-status.js +7 -0
  4. package/esm2015/lib/common/models/qms-flat-node.model.js +1 -1
  5. package/esm2015/lib/common/models/qms-tree-node.model.js +1 -1
  6. package/esm2015/lib/components/qms-stepper/models/qms-stepper.model.js +4 -2
  7. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +5 -3
  8. package/esm2015/lib/components/related/common/video.const.js +4 -0
  9. package/esm2015/lib/components/related/model/popup-data.model.js +1 -1
  10. package/esm2015/lib/components/related/popup/related-popup.component.js +30 -12
  11. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +1 -1
  12. package/esm2015/lib/components/select-department/model/select-department-popup-data.model.js +1 -1
  13. package/esm2015/lib/components/select-department/select-department.component.js +103 -16
  14. package/esm2015/lib/components/select-department/select-department.module.js +4 -2
  15. package/esm2015/lib/components/select-department-tree/model/select-department-tree.config.js +4 -1
  16. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +405 -183
  17. package/esm2015/lib/components/select-department-tree/select-department-tree.module.js +4 -2
  18. package/esm2015/lib/components/select-department-tree/service/select-department-tree-global.service.js +41 -10
  19. package/esm2015/lib/components/select-process-document/select-process-document.component.js +1 -1
  20. package/esm2015/lib/components/tree/model/tree-node.model.js +1 -1
  21. package/esm2015/lib/components/tree/tree.component.js +75 -42
  22. package/esm2015/lib/components/tree/tree.function.js +2 -1
  23. package/esm2015/lib/model/en.js +5 -2
  24. package/esm2015/lib/model/no.js +8 -5
  25. package/esm2015/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.js +1 -5
  26. package/esm2015/lib/qms-ckeditor-components/common/constants/iconSvg.constants.js +2 -1
  27. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +3 -3
  28. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  29. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +3 -3
  30. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +2 -2
  31. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +15 -3
  32. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link-simple/qms-ckeditor-link-simple.component.js +2 -1
  33. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +14 -9
  34. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +17 -47
  35. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +68 -27
  36. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-template.model.js +3 -2
  37. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +14 -10
  38. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +3 -1
  39. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.js +5 -2
  40. package/esm2015/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.js +8 -5
  41. package/fesm2015/qms-angular.js +825 -381
  42. package/fesm2015/qms-angular.js.map +1 -1
  43. package/lib/common/enum/document-field-status.d.ts +5 -0
  44. package/lib/common/models/qms-flat-node.model.d.ts +4 -0
  45. package/lib/common/models/qms-tree-node.model.d.ts +3 -0
  46. package/lib/components/qms-stepper/models/qms-stepper.model.d.ts +3 -1
  47. package/lib/components/qms-stepper/qms-stepper.component.d.ts +2 -0
  48. package/lib/components/related/common/video.const.d.ts +3 -0
  49. package/lib/components/related/model/popup-data.model.d.ts +2 -0
  50. package/lib/components/related/popup/related-popup.component.d.ts +5 -2
  51. package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +1 -1
  52. package/lib/components/select-department/model/select-department-popup-data.model.d.ts +2 -0
  53. package/lib/components/select-department/select-department.component.d.ts +45 -11
  54. package/lib/components/select-department-tree/model/select-department-tree.config.d.ts +10 -7
  55. package/lib/components/select-department-tree/select-department-tree.component.d.ts +45 -16
  56. package/lib/components/select-department-tree/service/select-department-tree-global.service.d.ts +2 -5
  57. package/lib/components/tree/model/tree-node.model.d.ts +1 -0
  58. package/lib/components/tree/tree.component.d.ts +2 -1
  59. package/lib/model/en.d.ts +3 -0
  60. package/lib/model/no.d.ts +3 -0
  61. package/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.d.ts +0 -1
  62. package/lib/qms-ckeditor-components/common/constants/iconSvg.constants.d.ts +1 -0
  63. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +3 -0
  64. package/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.d.ts +1 -0
  65. package/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.d.ts +4 -2
  66. package/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.d.ts +1 -1
  67. package/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.d.ts +17 -3
  68. package/lib/qms-ckeditor-components/models/qms-ckeditor-template.model.d.ts +3 -1
  69. package/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.d.ts +1 -1
  70. package/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.d.ts +2 -1
  71. package/package.json +1 -1
  72. package/qms-angular.metadata.json +1 -1
  73. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
  74. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  75. package/src/assets/qms-ckeditor-plugin/src/plugins/anchor/autoanchor.js +17 -17
  76. package/src/assets/qms-ckeditor-plugin/src/plugins/link/autolink.js +17 -17
  77. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkui.js +1 -1
  78. package/src/assets/qms-ckeditor-plugin/src/plugins/table/converters/downcast.js +2 -2
  79. package/src/assets/qms-ckeditor-plugin/src/plugins/table/tableproperties/tablepropertiesediting.js +2 -1
  80. package/src/lib/components/qms-stepper/qms-stepper.component.scss +7 -0
  81. package/src/lib/components/select-department/select-department.component.scss +17 -0
  82. package/src/lib/components/select-department-tree/select-department-tree.component.scss +11 -159
  83. package/src/lib/components/select-process-document/select-process-document.component.scss +3 -0
  84. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +26 -0
  85. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.scss +5 -0
  86. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.scss +21 -0
@@ -183,59 +183,17 @@ export class QMSCKEditorRelatedComponent extends QMSCKEditorBaseComponent {
183
183
  this.selectedNode.id = id;
184
184
  this.selectedNode.type = QMSCKEditorDocumentType.folder;
185
185
  }
186
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
187
- isMatchTrue(arr, arr2) {
188
- return arr.every((i) => {
189
- return arr2.includes(i);
190
- });
191
- }
192
186
  onSearchRelated(_val) {
193
187
  const arr = [];
194
188
  let data = [];
195
- if (typeof _val !== 'string') {
196
- return arr;
197
- }
198
- const val = _val
199
- .trim()
200
- .split(' ')
201
- .map((v) => {
202
- return v.toLowerCase();
203
- });
204
- if (!val || val.length === 0) {
189
+ if (typeof _val !== 'string' || !(_val === null || _val === void 0 ? void 0 : _val.trim().length)) {
205
190
  return arr;
206
191
  }
192
+ let val = _val.trim().toLowerCase();
207
193
  if (!this.isOnlyDocument) {
208
- data = this.processData.filter((item) => {
209
- const tempArr = item.childName.split(' ').map((v) => {
210
- return v.toLowerCase();
211
- });
212
- return this.isMatchTrue(val, tempArr);
213
- });
214
- if (data) {
215
- data.forEach((element) => {
216
- arr.push({
217
- id: element.childId,
218
- name: element.childName,
219
- type: 2
220
- });
221
- });
222
- }
223
- }
224
- data = this.documentData.filter((item) => {
225
- const tempArr = item.childName.split(' ').map((v) => {
226
- return v.toLowerCase();
227
- });
228
- return this.isMatchTrue(val, tempArr);
229
- });
230
- if (data) {
231
- data.forEach((element) => {
232
- arr.push({
233
- id: element.childId,
234
- name: element.childName,
235
- type: 1
236
- });
237
- });
194
+ this.createSearchItem(arr, this.processData, QMSCKEditorDocumentType.process, val);
238
195
  }
196
+ this.createSearchItem(arr, this.documentData, QMSCKEditorDocumentType.document, val);
239
197
  this.setResultHeight(arr);
240
198
  return arr;
241
199
  }
@@ -286,6 +244,18 @@ export class QMSCKEditorRelatedComponent extends QMSCKEditorBaseComponent {
286
244
  }
287
245
  }
288
246
  }
247
+ createSearchItem(result, data, documentType, searchKey) {
248
+ data.forEach((item) => {
249
+ if (item.childName.toLowerCase().includes(searchKey) || item.displayId.toString().includes(searchKey)) {
250
+ result.push({
251
+ id: item.childId,
252
+ name: item.childName,
253
+ type: documentType
254
+ });
255
+ }
256
+ ;
257
+ });
258
+ }
289
259
  }
290
260
  QMSCKEditorRelatedComponent.decorators = [
291
261
  { type: Component, args: [{
@@ -300,4 +270,4 @@ QMSCKEditorRelatedComponent.ctorParameters = () => [
300
270
  { type: MatDialogRef },
301
271
  { type: QMSCKEditorRelation, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
302
272
  ];
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zY2tlZGl0b3ItcmVsYXRlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uL3Ftc2NrZWRpdG9yLXJlbGF0ZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLHdCQUF3QixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBR3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBd0JsRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsd0JBQXdCO0lBd0J2RSxZQUNVLFdBQW1DLEVBQ25DLFNBQWtDLEVBQ2xDLFNBQW9ELEVBQzVCLElBQXlCO1FBRXpELEtBQUssRUFBRSxDQUFDO1FBTEEsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQTJDO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQXFCO1FBZjNELGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkIsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUUxQixjQUFTLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM5QixvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQVVyQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzVDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RGLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDL0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7YUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUV2QixlQUFlO1lBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUM5QyxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckYsZUFBZTtZQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsT0FBTyxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsd0JBQXdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsd0JBQXdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUF3QixFQUFFLFFBQWdCO1FBQ3BELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDckMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUM5QztvQkFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQzVDO29CQUNELE9BQU87d0JBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO3dCQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7d0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3dCQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87d0JBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzt3QkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7cUJBQzFCLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7YUFDSjtpQkFBTSxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUN2QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQzdDO29CQUNELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUMzQztvQkFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTt3QkFDakQsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7d0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO3dCQUNwQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztxQkFDekM7b0JBQ0QsT0FBTzt3QkFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07d0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87d0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzt3QkFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO3dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7d0JBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztxQkFDMUIsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLElBQXFCLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDOUMsUUFBUSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUM5QixLQUFLLHVCQUF1QixDQUFDLFFBQVE7Z0JBQ25DLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNsQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksSUFBSSxFQUFFO29CQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO29CQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxhQUFhLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztpQkFDckM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssdUJBQXVCLENBQUMsT0FBTztnQkFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2pDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxJQUFJLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLG1CQUFtQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7aUJBQ3JDO2dCQUNELE1BQU07WUFDUixLQUFLLHVCQUF1QixDQUFDLElBQUk7Z0JBQy9CLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNqQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksSUFBSSxFQUFFO29CQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO29CQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2lCQUNwQztnQkFDRCxNQUFNO1lBQ1IsS0FBSyx1QkFBdUIsQ0FBQyxNQUFNO2dCQUNqQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDbEMsT0FBTyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztnQkFFSCxJQUFJLElBQUksRUFBRTtvQkFDUixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsV0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQ3BDO2dCQUNELE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFVO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVU7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBVTtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDO0lBQzVELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFVO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7SUFDMUQsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxXQUFXLENBQUMsR0FBVSxFQUFFLElBQVc7UUFDakMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQzFCLE1BQU0sR0FBRyxHQUFjLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSTthQUNiLElBQUksRUFBRTthQUNOLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNULE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNsRCxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxFQUFFO2dCQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDdkIsR0FBRyxDQUFDLElBQUksQ0FBQzt3QkFDUCxFQUFFLEVBQUUsT0FBTyxDQUFDLE9BQU87d0JBQ25CLElBQUksRUFBRSxPQUFPLENBQUMsU0FBUzt3QkFDdkIsSUFBSSxFQUFFLENBQUM7cUJBQ1IsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNsRCxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdkIsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDUCxFQUFFLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ25CLElBQUksRUFBRSxPQUFPLENBQUMsU0FBUztvQkFDdkIsSUFBSSxFQUFFLENBQUM7aUJBQ1IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWlCO1FBQzlCLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVLEVBQUUsSUFBWTtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBZTtRQUM3QixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4RSxJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFnQixDQUFDO1lBQzNDLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUN2QixPQUFPLEdBQUcsRUFBRSxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFO29CQUNmLCtEQUErRDtpQkFDaEU7YUFDRjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsT0FBTyxJQUFJLENBQUM7WUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0QsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDeEUsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDckMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUM1QixnRUFBZ0U7YUFDakU7U0FDRjtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDdkQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDeEUsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDckMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztnQkFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztvQkFDN0IsK0RBQStEO2lCQUNoRTthQUNGO1NBQ0Y7SUFDSCxDQUFDOzs7WUEvVEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QiwwdUlBQW1EOzthQUVwRDs7O1lBdkJRLHNCQUFzQjtZQVB0Qix1QkFBdUI7WUFIdkIsWUFBWTtZQU1aLG1CQUFtQix1QkF3RHZCLE1BQU0sU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUgfSBmcm9tICcuLi8uLi9jb21tb24vZW51bXMvZG9jdW1lbnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IFFNU0NLRWRpdG9yVHJlZUZ1bmN0aW9ucyBmcm9tICcuLi8uLi9jb21tb24vZnVuY3Rpb25zL3RyZWUuZnVuY3Rpb24nO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclJlbGF0aW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItcmVsYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXRyZWUtbm9kZS5tb2RlbCc7XHJcbmltcG9ydCBRTVNDS0VkaXRvclRyZWUgZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItdHJlZS5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVHJlZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItdHJlZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVsYXRlZCB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdHlwZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGVkTm9kZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0eXBlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlua1VybCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB1cmw6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xbXNja2VkaXRvci1yZWxhdGVkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xbXNja2VkaXRvci1yZWxhdGVkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU0NLRWRpdG9yUmVsYXRlZENvbXBvbmVudCBleHRlbmRzIFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgTEFORzogYW55O1xyXG4gIHNlbGVjdGVkTm9kZTogU2VsZWN0ZWROb2RlO1xyXG4gIGxpbmtVcmw6IExpbmtVcmw7XHJcbiAgZG9jdW1lbnRUeXBlOiBRTVNDS0VkaXRvckRvY3VtZW50VHlwZTtcclxuICBwcm9jZXNzRGF0YTogUU1TQ0tFZGl0b3JUcmVlW107XHJcbiAgZG9jdW1lbnREYXRhOiBRTVNDS0VkaXRvclRyZWVbXTtcclxuICBmaWx0ZXJEYXRhOiBRTVNDS0VkaXRvclRyZWVbXTtcclxuICB0cmVlRGF0YUZpbGU6IG9iamVjdDtcclxuICB0cmVlUHJvY2Vzc0ZpbGU6IG9iamVjdDtcclxuICB0cmVlRG9jdW1lbnRGaWxlOiBvYmplY3Q7XHJcbiAgdHJlZVByb2Nlc3NEYXRhOiBUcmVlTm9kZVtdO1xyXG4gIHRyZWVEb2N1bWVudERhdGE6IFRyZWVOb2RlW107XHJcbiAgcHJvY2Vzc051bWJlciA9IC0xO1xyXG4gIGxpc3RQYXJlbnRQcm9jZXNzSWQgPSB7fTtcclxuICBsaXN0UGFyZW50RG9jdW1lbnRJZCA9IHt9O1xyXG5cclxuICBteUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBmaWx0ZXJlZE9wdGlvbnMgPSBbXTtcclxuICBpc0lucHV0VmFsdWUgPSBmYWxzZTtcclxuICBpc09ubHlEb2N1bWVudCA9IGZhbHNlO1xyXG4gIGlzRW5hYmxlRm9sZGVyID0gZmFsc2U7XHJcbiAgYXJlYU9mQ3VycmVudFByb2Nlc3M6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyZWVTZXJ2aWNlOiBRTVNDS0VkaXRvclRyZWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxRTVNDS0VkaXRvclJlbGF0ZWRDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBRTVNDS0VkaXRvclJlbGF0aW9uXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5pc09ubHlEb2N1bWVudCA9IGRhdGEuaXNPbmx5RG9jdW1lbnQ7XHJcbiAgICB0aGlzLmlzRW5hYmxlRm9sZGVyID0gZGF0YS5pc0VuYWJsZUZvbGRlcjtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSB7IGlkOiAnJywgdHlwZTogMCB9O1xyXG4gICAgdGhpcy5nZXRQcm9jZXNzQW5kRG9jdW1lbnREYXRhKCk7XHJcbiAgICB0aGlzLm15Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMTAwMCkpLnN1YnNjcmliZSgodmFsKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNJbnB1dFZhbHVlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9uU2VhcmNoUmVsYXRlZCh2YWwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9jZXNzQW5kRG9jdW1lbnREYXRhKCkge1xyXG4gICAgZm9ya0pvaW4oW3RoaXMuZ2V0UHJvY2Vzc0RhdGEoKSwgdGhpcy5nZXREb2N1bWVudERhdGEoKV0pXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKFtwLCBkXSkgPT4ge1xyXG4gICAgICAgIHRoaXMubWFwcGluZ0RhdGEocCwgMik7XHJcbiAgICAgICAgdGhpcy5tYXBwaW5nRGF0YShkLCAxKTtcclxuXHJcbiAgICAgICAgLy8gZm9yICBwcm9jZXNzXHJcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhID0gdGhpcy5wcm9jZXNzRGF0YS5maWx0ZXIoKHgpID0+IHtcclxuICAgICAgICAgIHJldHVybiB4LnBhcmVudElkID09PSAnJztcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnRyZWVEYXRhRmlsZSA9IFFNU0NLRWRpdG9yVHJlZUZ1bmN0aW9ucy5idWlsZE9iamVjdFRyZWUodGhpcy5maWx0ZXJEYXRhKTtcclxuICAgICAgICB0aGlzLnRyZWVQcm9jZXNzRGF0YSA9IFFNU0NLRWRpdG9yVHJlZUZ1bmN0aW9ucy5idWlsZEFycmF5VHJlZSh0aGlzLnRyZWVEYXRhRmlsZSwgMCk7XHJcbiAgICAgICAgLy8gZm9yIGRvY3VtZW50XHJcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhID0gdGhpcy5kb2N1bWVudERhdGEuZmlsdGVyKCh4KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4geC5wYXJlbnRJZCA9PT0gJyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy50cmVlRGF0YUZpbGUgPSBRTVNDS0VkaXRvclRyZWVGdW5jdGlvbnMuYnVpbGRPYmplY3RUcmVlKHRoaXMuZmlsdGVyRGF0YSk7XHJcbiAgICAgICAgdGhpcy50cmVlRG9jdW1lbnREYXRhID0gUU1TQ0tFZGl0b3JUcmVlRnVuY3Rpb25zLmJ1aWxkQXJyYXlUcmVlKHRoaXMudHJlZURhdGFGaWxlLCAwKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9jZXNzRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVTZXJ2aWNlLmdldFByb2Nlc3NMaXN0KCkucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKTtcclxuICB9XHJcblxyXG4gIGdldERvY3VtZW50RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVTZXJ2aWNlLmdldERvY3VtZW50TGlzdCgpLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSk7XHJcbiAgfVxyXG5cclxuICBtYXBwaW5nRGF0YShhcnJheTogUU1TQ0tFZGl0b3JUcmVlW10sIGRhdGFUeXBlOiBudW1iZXIpIHtcclxuICAgIGlmIChhcnJheSkge1xyXG4gICAgICBpZiAoZGF0YVR5cGUgPT09IDEpIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50RGF0YSA9IGFycmF5Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCEhaXRlbS5wYXJlbnRJZCAmJiBpdGVtLnBhcmVudElkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0UGFyZW50RG9jdW1lbnRJZFtpdGVtLnBhcmVudElkXSA9IDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoISFpdGVtLmNoaWxkSWQgJiYgaXRlbS5jaGlsZElkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0UGFyZW50RG9jdW1lbnRJZFtpdGVtLnJvb3RJZF0gPSAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcm9vdElkOiBpdGVtLnJvb3RJZCxcclxuICAgICAgICAgICAgcGFyZW50SWQ6IGl0ZW0ucGFyZW50SWQsXHJcbiAgICAgICAgICAgIHJvb3ROYW1lOiBpdGVtLnJvb3ROYW1lLFxyXG4gICAgICAgICAgICBzdWJOYW1lOiBpdGVtLnN1Yk5hbWUsXHJcbiAgICAgICAgICAgIGNoaWxkSWQ6IGl0ZW0uY2hpbGRJZCxcclxuICAgICAgICAgICAgY2hpbGROYW1lOiBpdGVtLmNoaWxkTmFtZSxcclxuICAgICAgICAgICAgc3RhdHVzSWQ6IGl0ZW0uc3RhdHVzSWQsXHJcbiAgICAgICAgICAgIGRpc3BsYXlJZDogaXRlbS5kaXNwbGF5SWRcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZGF0YVR5cGUgPT09IDIpIHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NEYXRhID0gYXJyYXkuZmlsdGVyKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoISFpdGVtLnBhcmVudElkICYmIGl0ZW0ucGFyZW50SWQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RQYXJlbnRQcm9jZXNzSWRbaXRlbS5wYXJlbnRJZF0gPSAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGl0ZW0uY2hpbGRJZCAmJiBpdGVtLmNoaWxkSWQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RQYXJlbnRQcm9jZXNzSWRbaXRlbS5yb290SWRdID0gMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChOdW1iZXIoaXRlbS5kaXNwbGF5SWQpID09PSB0aGlzLnByb2Nlc3NOdW1iZXIpIHtcclxuICAgICAgICAgICAgaXRlbS5jaGlsZElkID0gJyc7XHJcbiAgICAgICAgICAgIGl0ZW0uY2hpbGROYW1lID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuYXJlYU9mQ3VycmVudFByb2Nlc3MgPSBpdGVtLnJvb3RJZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJvb3RJZDogaXRlbS5yb290SWQsXHJcbiAgICAgICAgICAgIHBhcmVudElkOiBpdGVtLnBhcmVudElkLFxyXG4gICAgICAgICAgICByb290TmFtZTogaXRlbS5yb290TmFtZSxcclxuICAgICAgICAgICAgc3ViTmFtZTogaXRlbS5zdWJOYW1lLFxyXG4gICAgICAgICAgICBjaGlsZElkOiBpdGVtLmNoaWxkSWQsXHJcbiAgICAgICAgICAgIGNoaWxkTmFtZTogaXRlbS5jaGlsZE5hbWUsXHJcbiAgICAgICAgICAgIHN0YXR1c0lkOiBpdGVtLnN0YXR1c0lkLFxyXG4gICAgICAgICAgICBkaXNwbGF5SWQ6IGl0ZW0uZGlzcGxheUlkXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgb25BZGREb2N1bWVudFByb2Nlc3MoKSB7XHJcbiAgICBsZXQgZGF0YTogUU1TQ0tFZGl0b3JUcmVlO1xyXG4gICAgdGhpcy5saW5rVXJsID0geyBpZDogJycsIHVybDogJycsIHRpdGxlOiAnJyB9O1xyXG4gICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkTm9kZS50eXBlKSB7XHJcbiAgICAgIGNhc2UgUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUuZG9jdW1lbnQ6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMuZG9jdW1lbnREYXRhLmZpbmQoKGUpID0+IHtcclxuICAgICAgICAgIHJldHVybiBlLmNoaWxkSWQgPT09IHRoaXMuc2VsZWN0ZWROb2RlLmlkO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwuaWQgPSB0aGlzLnNlbGVjdGVkTm9kZS5pZDtcclxuICAgICAgICAgIHRoaXMubGlua1VybC51cmwgPSBgL2RvY3VtZW50LyR7ZGF0YS5jaGlsZElkfWA7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwudGl0bGUgPSBkYXRhLmNoaWxkTmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUucHJvY2VzczpcclxuICAgICAgICBkYXRhID0gdGhpcy5wcm9jZXNzRGF0YS5maW5kKChlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gZS5jaGlsZElkID09PSB0aGlzLnNlbGVjdGVkTm9kZS5pZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5saW5rVXJsLmlkID0gdGhpcy5zZWxlY3RlZE5vZGUuaWQ7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwudXJsID0gYC9wcm9jZXNzLWRldGFpbC8ke2RhdGEuZGlzcGxheUlkfWA7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwudGl0bGUgPSBkYXRhLmNoaWxkTmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUuYXJlYTpcclxuICAgICAgICBkYXRhID0gdGhpcy5wcm9jZXNzRGF0YS5maW5kKChlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gZS5yb290SWQgPT09IHRoaXMuc2VsZWN0ZWROb2RlLmlkO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwuaWQgPSB0aGlzLnNlbGVjdGVkTm9kZS5pZDtcclxuICAgICAgICAgIHRoaXMubGlua1VybC51cmwgPSBgL2FyZWEvZGV0YWlsLyR7ZGF0YS5yb290SWR9YDtcclxuICAgICAgICAgIHRoaXMubGlua1VybC50aXRsZSA9IGRhdGEucm9vdE5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLmZvbGRlcjpcclxuICAgICAgICBkYXRhID0gdGhpcy5kb2N1bWVudERhdGEuZmluZCgoZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGUucm9vdElkID09PSB0aGlzLnNlbGVjdGVkTm9kZS5pZDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIHRoaXMubGlua1VybC5pZCA9IHRoaXMuc2VsZWN0ZWROb2RlLmlkO1xyXG4gICAgICAgICAgdGhpcy5saW5rVXJsLnVybCA9IGAvZm9sZGVyLyR7ZGF0YS5yb290SWR9YDtcclxuICAgICAgICAgIHRoaXMubGlua1VybC50aXRsZSA9IGRhdGEucm9vdE5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5saW5rVXJsKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEFyZWFOb2RlKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWROb2RlLmlkID0gaWQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS50eXBlID0gUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUuYXJlYTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFByb2Nlc3NOb2RlKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWROb2RlLmlkID0gaWQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS50eXBlID0gUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUucHJvY2VzcztcclxuICB9XHJcblxyXG4gIHNlbGVjdERvY3VtZW50Tm9kZShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5pZCA9IGlkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUudHlwZSA9IFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLmRvY3VtZW50O1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0SGFuZGJvb2tOb2RlKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWROb2RlLmlkID0gaWQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS50eXBlID0gUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUuZm9sZGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBpc01hdGNoVHJ1ZShhcnI6IGFueVtdLCBhcnIyOiBhbnlbXSkge1xyXG4gICAgcmV0dXJuIGFyci5ldmVyeSgoaSkgPT4ge1xyXG4gICAgICByZXR1cm4gYXJyMi5pbmNsdWRlcyhpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hSZWxhdGVkKF92YWw6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXJyOiBSZWxhdGVkW10gPSBbXTtcclxuICAgIGxldCBkYXRhID0gW107XHJcbiAgICBpZiAodHlwZW9mIF92YWwgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBhcnI7XHJcbiAgICB9XHJcbiAgICBjb25zdCB2YWwgPSBfdmFsXHJcbiAgICAgIC50cmltKClcclxuICAgICAgLnNwbGl0KCcgJylcclxuICAgICAgLm1hcCgodikgPT4ge1xyXG4gICAgICAgIHJldHVybiB2LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKCF2YWwgfHwgdmFsLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gYXJyO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5pc09ubHlEb2N1bWVudCkge1xyXG4gICAgICBkYXRhID0gdGhpcy5wcm9jZXNzRGF0YS5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICBjb25zdCB0ZW1wQXJyID0gaXRlbS5jaGlsZE5hbWUuc3BsaXQoJyAnKS5tYXAoKHYpID0+IHtcclxuICAgICAgICAgIHJldHVybiB2LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNYXRjaFRydWUodmFsLCB0ZW1wQXJyKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgYXJyLnB1c2goe1xyXG4gICAgICAgICAgICBpZDogZWxlbWVudC5jaGlsZElkLFxyXG4gICAgICAgICAgICBuYW1lOiBlbGVtZW50LmNoaWxkTmFtZSxcclxuICAgICAgICAgICAgdHlwZTogMlxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkYXRhID0gdGhpcy5kb2N1bWVudERhdGEuZmlsdGVyKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRlbXBBcnIgPSBpdGVtLmNoaWxkTmFtZS5zcGxpdCgnICcpLm1hcCgodikgPT4ge1xyXG4gICAgICAgIHJldHVybiB2LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc01hdGNoVHJ1ZSh2YWwsIHRlbXBBcnIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgZGF0YS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgYXJyLnB1c2goe1xyXG4gICAgICAgICAgaWQ6IGVsZW1lbnQuY2hpbGRJZCxcclxuICAgICAgICAgIG5hbWU6IGVsZW1lbnQuY2hpbGROYW1lLFxyXG4gICAgICAgICAgdHlwZTogMVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0UmVzdWx0SGVpZ2h0KGFycik7XHJcbiAgICByZXR1cm4gYXJyO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheVJlbGF0ZWQocmVsYXRlZD86IFJlbGF0ZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHJlbGF0ZWQgPyByZWxhdGVkLm5hbWUgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RSZWxhdGVkKGlkOiBzdHJpbmcsIHR5cGU6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSB7IGlkLCB0eXBlIH07XHJcbiAgICB0aGlzLm9uQWRkRG9jdW1lbnRQcm9jZXNzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRSZXN1bHRIZWlnaHQoYXJyPzogUmVsYXRlZFtdKSB7XHJcbiAgICBjb25zdCB2aWV3cmVwb3J0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3JlbGF0ZWQtdmlld3BvcnQnKTtcclxuICAgIGlmICh2aWV3cmVwb3J0cykge1xyXG4gICAgICBsZXQgaUhlaWdodCA9IDA7XHJcbiAgICAgIGNvbnN0IHZpZXcgPSB2aWV3cmVwb3J0c1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKGFyci5sZW5ndGggKiA1ID4gNTApIHtcclxuICAgICAgICBpSGVpZ2h0ID0gNTE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaUhlaWdodCA9IGFyci5sZW5ndGggKiA1ICsgMTtcclxuICAgICAgICBpZiAoaUhlaWdodCA+IDApIHtcclxuICAgICAgICAgIC8vIHdpbmRvd1tQcm9jZXNzUmVsYXRlZENvbnN0LklTX0RJU1BMQVlfU0VBUkNIX1JFU1VMVF0gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB2aWV3LnN0eWxlLmhlaWdodCA9IGAke2lIZWlnaHR9dmhgO1xyXG4gICAgICB2aWV3LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZVNlYXJjaFJlc3VsdCgpIHtcclxuICAgIGlmICh0aGlzLmZpbHRlcmVkT3B0aW9ucyAmJiB0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHZpZXdyZXBvcnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncmVsYXRlZC12aWV3cG9ydCcpO1xyXG4gICAgICBpZiAodmlld3JlcG9ydHMgJiYgdmlld3JlcG9ydHMubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgdmlldyA9IHZpZXdyZXBvcnRzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIHZpZXcuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgICAgICAvLyB3aW5kb3dbUHJvY2Vzc1JlbGF0ZWRDb25zdC5JU19ESVNQTEFZX1NFQVJDSF9SRVNVTFRdID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dTZWFyY2hSZXN1bHQoKSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZE9wdGlvbnMgJiYgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IHZpZXdyZXBvcnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncmVsYXRlZC12aWV3cG9ydCcpO1xyXG4gICAgICBpZiAodmlld3JlcG9ydHMgJiYgdmlld3JlcG9ydHMubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgdmlldyA9IHZpZXdyZXBvcnRzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGlmICh2aWV3LnN0eWxlLmRpc3BsYXkgPT09ICdub25lJykge1xyXG4gICAgICAgICAgdmlldy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuICAgICAgICAgIC8vIHdpbmRvd1tQcm9jZXNzUmVsYXRlZENvbnN0LklTX0RJU1BMQVlfU0VBUkNIX1JFU1VMVF0gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zY2tlZGl0b3ItcmVsYXRlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uL3Ftc2NrZWRpdG9yLXJlbGF0ZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLHdCQUF3QixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBR3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBd0JsRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsd0JBQXdCO0lBd0J2RSxZQUNVLFdBQW1DLEVBQ25DLFNBQWtDLEVBQ2xDLFNBQW9ELEVBQzVCLElBQXlCO1FBRXpELEtBQUssRUFBRSxDQUFDO1FBTEEsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ25DLGNBQVMsR0FB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VyxDQUFDLE1BQU0sRUFBRTtnQkFDckMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztnQkFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztvQkFDN0IsK0RBQStEO2lCQUNoRTthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBaUIsRUFBRSxJQUFTLEVBQUUsWUFBcUMsRUFBRSxTQUFpQjtRQUNyRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDckcsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDVixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU87b0JBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUztvQkFDcEIsSUFBSSxFQUFFLFlBQVk7aUJBQ25CLENBQUMsQ0FBQzthQUNKO1lBQUEsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBaFNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsMHVJQUFtRDs7YUFFcEQ7OztZQXZCUSxzQkFBc0I7WUFQdEIsdUJBQXVCO1lBSHZCLFlBQVk7WUFNWixtQkFBbUIsdUJBd0R2QixNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL2RvY3VtZW50LXR5cGUuZW51bSc7XHJcbmltcG9ydCBRTVNDS0VkaXRvclRyZWVGdW5jdGlvbnMgZnJvbSAnLi4vLi4vY29tbW9uL2Z1bmN0aW9ucy90cmVlLmZ1bmN0aW9uJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci10cmVlLW5vZGUubW9kZWwnO1xyXG5pbXBvcnQgUU1TQ0tFZGl0b3JUcmVlIGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXRyZWUubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9xbXMtY2tlZGl0b3ItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLXRyZWUuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlbGF0ZWQge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZE5vZGUge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdHlwZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmtVcmwge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcW1zY2tlZGl0b3ItcmVsYXRlZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcW1zY2tlZGl0b3ItcmVsYXRlZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDS0VkaXRvclJlbGF0ZWRDb21wb25lbnQgZXh0ZW5kcyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIExBTkc6IGFueTtcclxuICBzZWxlY3RlZE5vZGU6IFNlbGVjdGVkTm9kZTtcclxuICBsaW5rVXJsOiBMaW5rVXJsO1xyXG4gIGRvY3VtZW50VHlwZTogUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGU7XHJcbiAgcHJvY2Vzc0RhdGE6IFFNU0NLRWRpdG9yVHJlZVtdO1xyXG4gIGRvY3VtZW50RGF0YTogUU1TQ0tFZGl0b3JUcmVlW107XHJcbiAgZmlsdGVyRGF0YTogUU1TQ0tFZGl0b3JUcmVlW107XHJcbiAgdHJlZURhdGFGaWxlOiBvYmplY3Q7XHJcbiAgdHJlZVByb2Nlc3NGaWxlOiBvYmplY3Q7XHJcbiAgdHJlZURvY3VtZW50RmlsZTogb2JqZWN0O1xyXG4gIHRyZWVQcm9jZXNzRGF0YTogVHJlZU5vZGVbXTtcclxuICB0cmVlRG9jdW1lbnREYXRhOiBUcmVlTm9kZVtdO1xyXG4gIHByb2Nlc3NOdW1iZXIgPSAtMTtcclxuICBsaXN0UGFyZW50UHJvY2Vzc0lkID0ge307XHJcbiAgbGlzdFBhcmVudERvY3VtZW50SWQgPSB7fTtcclxuXHJcbiAgbXlDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgZmlsdGVyZWRPcHRpb25zID0gW107XHJcbiAgaXNJbnB1dFZhbHVlID0gZmFsc2U7XHJcbiAgaXNPbmx5RG9jdW1lbnQgPSBmYWxzZTtcclxuICBpc0VuYWJsZUZvbGRlciA9IGZhbHNlO1xyXG4gIGFyZWFPZkN1cnJlbnRQcm9jZXNzOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0cmVlU2VydmljZTogUU1TQ0tFZGl0b3JUcmVlU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UU1TQ0tFZGl0b3JSZWxhdGVkQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogUU1TQ0tFZGl0b3JSZWxhdGlvblxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuaXNPbmx5RG9jdW1lbnQgPSBkYXRhLmlzT25seURvY3VtZW50O1xyXG4gICAgdGhpcy5pc0VuYWJsZUZvbGRlciA9IGRhdGEuaXNFbmFibGVGb2xkZXI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWROb2RlID0geyBpZDogJycsIHR5cGU6IDAgfTtcclxuICAgIHRoaXMuZ2V0UHJvY2Vzc0FuZERvY3VtZW50RGF0YSgpO1xyXG4gICAgdGhpcy5teUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApKS5zdWJzY3JpYmUoKHZhbCkgPT4ge1xyXG4gICAgICB0aGlzLmlzSW5wdXRWYWx1ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vblNlYXJjaFJlbGF0ZWQodmFsKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvY2Vzc0FuZERvY3VtZW50RGF0YSgpIHtcclxuICAgIGZvcmtKb2luKFt0aGlzLmdldFByb2Nlc3NEYXRhKCksIHRoaXMuZ2V0RG9jdW1lbnREYXRhKCldKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKChbcCwgZF0pID0+IHtcclxuICAgICAgICB0aGlzLm1hcHBpbmdEYXRhKHAsIDIpO1xyXG4gICAgICAgIHRoaXMubWFwcGluZ0RhdGEoZCwgMSk7XHJcblxyXG4gICAgICAgIC8vIGZvciAgcHJvY2Vzc1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YSA9IHRoaXMucHJvY2Vzc0RhdGEuZmlsdGVyKCh4KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4geC5wYXJlbnRJZCA9PT0gJyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy50cmVlRGF0YUZpbGUgPSBRTVNDS0VkaXRvclRyZWVGdW5jdGlvbnMuYnVpbGRPYmplY3RUcmVlKHRoaXMuZmlsdGVyRGF0YSk7XHJcbiAgICAgICAgdGhpcy50cmVlUHJvY2Vzc0RhdGEgPSBRTVNDS0VkaXRvclRyZWVGdW5jdGlvbnMuYnVpbGRBcnJheVRyZWUodGhpcy50cmVlRGF0YUZpbGUsIDApO1xyXG4gICAgICAgIC8vIGZvciBkb2N1bWVudFxyXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YSA9IHRoaXMuZG9jdW1lbnREYXRhLmZpbHRlcigoeCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHgucGFyZW50SWQgPT09ICcnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudHJlZURhdGFGaWxlID0gUU1TQ0tFZGl0b3JUcmVlRnVuY3Rpb25zLmJ1aWxkT2JqZWN0VHJlZSh0aGlzLmZpbHRlckRhdGEpO1xyXG4gICAgICAgIHRoaXMudHJlZURvY3VtZW50RGF0YSA9IFFNU0NLRWRpdG9yVHJlZUZ1bmN0aW9ucy5idWlsZEFycmF5VHJlZSh0aGlzLnRyZWVEYXRhRmlsZSwgMCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvY2Vzc0RhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmVlU2VydmljZS5nZXRQcm9jZXNzTGlzdCgpLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSk7XHJcbiAgfVxyXG5cclxuICBnZXREb2N1bWVudERhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmVlU2VydmljZS5nZXREb2N1bWVudExpc3QoKS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpO1xyXG4gIH1cclxuXHJcbiAgbWFwcGluZ0RhdGEoYXJyYXk6IFFNU0NLRWRpdG9yVHJlZVtdLCBkYXRhVHlwZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoYXJyYXkpIHtcclxuICAgICAgaWYgKGRhdGFUeXBlID09PSAxKSB7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudERhdGEgPSBhcnJheS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmICghIWl0ZW0ucGFyZW50SWQgJiYgaXRlbS5wYXJlbnRJZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdFBhcmVudERvY3VtZW50SWRbaXRlbS5wYXJlbnRJZF0gPSAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCEhaXRlbS5jaGlsZElkICYmIGl0ZW0uY2hpbGRJZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdFBhcmVudERvY3VtZW50SWRbaXRlbS5yb290SWRdID0gMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJvb3RJZDogaXRlbS5yb290SWQsXHJcbiAgICAgICAgICAgIHBhcmVudElkOiBpdGVtLnBhcmVudElkLFxyXG4gICAgICAgICAgICByb290TmFtZTogaXRlbS5yb290TmFtZSxcclxuICAgICAgICAgICAgc3ViTmFtZTogaXRlbS5zdWJOYW1lLFxyXG4gICAgICAgICAgICBjaGlsZElkOiBpdGVtLmNoaWxkSWQsXHJcbiAgICAgICAgICAgIGNoaWxkTmFtZTogaXRlbS5jaGlsZE5hbWUsXHJcbiAgICAgICAgICAgIHN0YXR1c0lkOiBpdGVtLnN0YXR1c0lkLFxyXG4gICAgICAgICAgICBkaXNwbGF5SWQ6IGl0ZW0uZGlzcGxheUlkXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGFUeXBlID09PSAyKSB7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzRGF0YSA9IGFycmF5LmZpbHRlcigoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCEhaXRlbS5wYXJlbnRJZCAmJiBpdGVtLnBhcmVudElkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0UGFyZW50UHJvY2Vzc0lkW2l0ZW0ucGFyZW50SWRdID0gMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChpdGVtLmNoaWxkSWQgJiYgaXRlbS5jaGlsZElkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0UGFyZW50UHJvY2Vzc0lkW2l0ZW0ucm9vdElkXSA9IDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoTnVtYmVyKGl0ZW0uZGlzcGxheUlkKSA9PT0gdGhpcy5wcm9jZXNzTnVtYmVyKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uY2hpbGRJZCA9ICcnO1xyXG4gICAgICAgICAgICBpdGVtLmNoaWxkTmFtZSA9ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmFyZWFPZkN1cnJlbnRQcm9jZXNzID0gaXRlbS5yb290SWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICByb290SWQ6IGl0ZW0ucm9vdElkLFxyXG4gICAgICAgICAgICBwYXJlbnRJZDogaXRlbS5wYXJlbnRJZCxcclxuICAgICAgICAgICAgcm9vdE5hbWU6IGl0ZW0ucm9vdE5hbWUsXHJcbiAgICAgICAgICAgIHN1Yk5hbWU6IGl0ZW0uc3ViTmFtZSxcclxuICAgICAgICAgICAgY2hpbGRJZDogaXRlbS5jaGlsZElkLFxyXG4gICAgICAgICAgICBjaGlsZE5hbWU6IGl0ZW0uY2hpbGROYW1lLFxyXG4gICAgICAgICAgICBzdGF0dXNJZDogaXRlbS5zdGF0dXNJZCxcclxuICAgICAgICAgICAgZGlzcGxheUlkOiBpdGVtLmRpc3BsYXlJZFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbG9zZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG9uQWRkRG9jdW1lbnRQcm9jZXNzKCkge1xyXG4gICAgbGV0IGRhdGE6IFFNU0NLRWRpdG9yVHJlZTtcclxuICAgIHRoaXMubGlua1VybCA9IHsgaWQ6ICcnLCB1cmw6ICcnLCB0aXRsZTogJycgfTtcclxuICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZE5vZGUudHlwZSkge1xyXG4gICAgICBjYXNlIFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLmRvY3VtZW50OlxyXG4gICAgICAgIGRhdGEgPSB0aGlzLmRvY3VtZW50RGF0YS5maW5kKChlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gZS5jaGlsZElkID09PSB0aGlzLnNlbGVjdGVkTm9kZS5pZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5saW5rVXJsLmlkID0gdGhpcy5zZWxlY3RlZE5vZGUuaWQ7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwudXJsID0gYC9kb2N1bWVudC8ke2RhdGEuY2hpbGRJZH1gO1xyXG4gICAgICAgICAgdGhpcy5saW5rVXJsLnRpdGxlID0gZGF0YS5jaGlsZE5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLnByb2Nlc3M6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMucHJvY2Vzc0RhdGEuZmluZCgoZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGUuY2hpbGRJZCA9PT0gdGhpcy5zZWxlY3RlZE5vZGUuaWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIHRoaXMubGlua1VybC5pZCA9IHRoaXMuc2VsZWN0ZWROb2RlLmlkO1xyXG4gICAgICAgICAgdGhpcy5saW5rVXJsLnVybCA9IGAvcHJvY2Vzcy1kZXRhaWwvJHtkYXRhLmRpc3BsYXlJZH1gO1xyXG4gICAgICAgICAgdGhpcy5saW5rVXJsLnRpdGxlID0gZGF0YS5jaGlsZE5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLmFyZWE6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMucHJvY2Vzc0RhdGEuZmluZCgoZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGUucm9vdElkID09PSB0aGlzLnNlbGVjdGVkTm9kZS5pZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5saW5rVXJsLmlkID0gdGhpcy5zZWxlY3RlZE5vZGUuaWQ7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwudXJsID0gYC9hcmVhL2RldGFpbC8ke2RhdGEucm9vdElkfWA7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwudGl0bGUgPSBkYXRhLnJvb3ROYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBRTVNDS0VkaXRvckRvY3VtZW50VHlwZS5mb2xkZXI6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMuZG9jdW1lbnREYXRhLmZpbmQoKGUpID0+IHtcclxuICAgICAgICAgIHJldHVybiBlLnJvb3RJZCA9PT0gdGhpcy5zZWxlY3RlZE5vZGUuaWQ7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwuaWQgPSB0aGlzLnNlbGVjdGVkTm9kZS5pZDtcclxuICAgICAgICAgIHRoaXMubGlua1VybC51cmwgPSBgL2ZvbGRlci8ke2RhdGEucm9vdElkfWA7XHJcbiAgICAgICAgICB0aGlzLmxpbmtVcmwudGl0bGUgPSBkYXRhLnJvb3ROYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMubGlua1VybCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBcmVhTm9kZShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5pZCA9IGlkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUudHlwZSA9IFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLmFyZWE7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RQcm9jZXNzTm9kZShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5pZCA9IGlkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUudHlwZSA9IFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLnByb2Nlc3M7XHJcbiAgfVxyXG5cclxuICBzZWxlY3REb2N1bWVudE5vZGUoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUuaWQgPSBpZDtcclxuICAgIHRoaXMuc2VsZWN0ZWROb2RlLnR5cGUgPSBRTVNDS0VkaXRvckRvY3VtZW50VHlwZS5kb2N1bWVudDtcclxuICB9XHJcblxyXG4gIHNlbGVjdEhhbmRib29rTm9kZShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5pZCA9IGlkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUudHlwZSA9IFFNU0NLRWRpdG9yRG9jdW1lbnRUeXBlLmZvbGRlcjtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoUmVsYXRlZChfdmFsOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGFycjogUmVsYXRlZFtdID0gW107XHJcbiAgICBsZXQgZGF0YSA9IFtdO1xyXG5cclxuICAgIGlmICh0eXBlb2YgX3ZhbCAhPT0gJ3N0cmluZycgfHwgIV92YWw/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGFycjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgdmFsID0gX3ZhbC50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNPbmx5RG9jdW1lbnQpIHtcclxuICAgICAgdGhpcy5jcmVhdGVTZWFyY2hJdGVtKGFyciwgdGhpcy5wcm9jZXNzRGF0YSwgUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUucHJvY2VzcywgdmFsKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNyZWF0ZVNlYXJjaEl0ZW0oYXJyLCB0aGlzLmRvY3VtZW50RGF0YSwgUU1TQ0tFZGl0b3JEb2N1bWVudFR5cGUuZG9jdW1lbnQsIHZhbCk7XHJcbiAgICB0aGlzLnNldFJlc3VsdEhlaWdodChhcnIpO1xyXG4gICAgcmV0dXJuIGFycjtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlSZWxhdGVkKHJlbGF0ZWQ/OiBSZWxhdGVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiByZWxhdGVkID8gcmVsYXRlZC5uYW1lIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UmVsYXRlZChpZDogc3RyaW5nLCB0eXBlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWROb2RlID0geyBpZCwgdHlwZSB9O1xyXG4gICAgdGhpcy5vbkFkZERvY3VtZW50UHJvY2VzcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVzdWx0SGVpZ2h0KGFycj86IFJlbGF0ZWRbXSkge1xyXG4gICAgY29uc3Qgdmlld3JlcG9ydHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdyZWxhdGVkLXZpZXdwb3J0Jyk7XHJcbiAgICBpZiAodmlld3JlcG9ydHMpIHtcclxuICAgICAgbGV0IGlIZWlnaHQgPSAwO1xyXG4gICAgICBjb25zdCB2aWV3ID0gdmlld3JlcG9ydHNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGlmIChhcnIubGVuZ3RoICogNSA+IDUwKSB7XHJcbiAgICAgICAgaUhlaWdodCA9IDUxO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlIZWlnaHQgPSBhcnIubGVuZ3RoICogNSArIDE7XHJcbiAgICAgICAgaWYgKGlIZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICAvLyB3aW5kb3dbUHJvY2Vzc1JlbGF0ZWRDb25zdC5JU19ESVNQTEFZX1NFQVJDSF9SRVNVTFRdID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdmlldy5zdHlsZS5oZWlnaHQgPSBgJHtpSGVpZ2h0fXZoYDtcclxuICAgICAgdmlldy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVTZWFyY2hSZXN1bHQoKSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZE9wdGlvbnMgJiYgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCB2aWV3cmVwb3J0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3JlbGF0ZWQtdmlld3BvcnQnKTtcclxuICAgICAgaWYgKHZpZXdyZXBvcnRzICYmIHZpZXdyZXBvcnRzLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3cmVwb3J0c1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICB2aWV3LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgICAgLy8gd2luZG93W1Byb2Nlc3NSZWxhdGVkQ29uc3QuSVNfRElTUExBWV9TRUFSQ0hfUkVTVUxUXSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93U2VhcmNoUmVzdWx0KCkge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRPcHRpb25zICYmIHRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCB2aWV3cmVwb3J0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3JlbGF0ZWQtdmlld3BvcnQnKTtcclxuICAgICAgaWYgKHZpZXdyZXBvcnRzICYmIHZpZXdyZXBvcnRzLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3cmVwb3J0c1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBpZiAodmlldy5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpIHtcclxuICAgICAgICAgIHZpZXcuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcbiAgICAgICAgICAvLyB3aW5kb3dbUHJvY2Vzc1JlbGF0ZWRDb25zdC5JU19ESVNQTEFZX1NFQVJDSF9SRVNVTFRdID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZVNlYXJjaEl0ZW0ocmVzdWx0OiBSZWxhdGVkW10sIGRhdGE6IGFueSwgZG9jdW1lbnRUeXBlOiBRTVNDS0VkaXRvckRvY3VtZW50VHlwZSwgc2VhcmNoS2V5OiBzdHJpbmcpIHtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5jaGlsZE5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hLZXkpIHx8IGl0ZW0uZGlzcGxheUlkLnRvU3RyaW5nKCkuaW5jbHVkZXMoc2VhcmNoS2V5KSkge1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKHtcclxuICAgICAgICAgIGlkOiBpdGVtLmNoaWxkSWQsXHJcbiAgICAgICAgICBuYW1lOiBpdGVtLmNoaWxkTmFtZSxcclxuICAgICAgICAgIHR5cGU6IGRvY3VtZW50VHlwZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { ChangeDetectorRef, Component, Inject, Input } from '@angular/core';
2
3
  import { FormControl, FormGroup, Validators } from '@angular/forms';
3
4
  import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
@@ -10,8 +11,13 @@ import { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';
10
11
  import { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';
11
12
  import { QMSCKEditorCommonService } from '../../services/qms-ckeditor-common.services';
12
13
  import { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';
14
+ import { IconSvg } from '../../common/constants/iconSvg.constants';
15
+ import { MatIconRegistry } from '@angular/material/icon';
16
+ import { DomSanitizer } from '@angular/platform-browser';
17
+ import { requiredFileType } from '../../../directives/file-upload/file-upload-selector.directive';
18
+ import { QMSCKEditorUploadService } from '../../services/qms-ckeditor-upload.service';
13
19
  export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
14
- constructor(cdr, dialog, translate, templateService, commonService, dialogRef, data) {
20
+ constructor(cdr, dialog, translate, templateService, commonService, dialogRef, iconRegistry, sanitizer, uploadService, data) {
15
21
  super();
16
22
  this.cdr = cdr;
17
23
  this.dialog = dialog;
@@ -19,11 +25,18 @@ export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
19
25
  this.templateService = templateService;
20
26
  this.commonService = commonService;
21
27
  this.dialogRef = dialogRef;
28
+ this.iconRegistry = iconRegistry;
29
+ this.sanitizer = sanitizer;
30
+ this.uploadService = uploadService;
22
31
  this.data = data;
23
32
  this.templateFormGroup = new FormGroup({
24
33
  templateList: new FormControl(),
25
34
  title: new FormControl('', [Validators.required]),
26
- description: new FormControl('', [Validators.required])
35
+ description: new FormControl('', [Validators.required]),
36
+ imageAcceptType: new FormControl('', [
37
+ requiredFileType(['pjp', 'jpg', 'pjpeg', 'jpeg', 'jfif', 'png', 'gif', 'bmp', 'webp', 'tif', 'tiff'])
38
+ ]),
39
+ imageInfo: new FormControl()
27
40
  });
28
41
  this.isExpanded = true;
29
42
  this.templateList = [];
@@ -31,9 +44,13 @@ export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
31
44
  this.template = new QMSCKEditorTemplate();
32
45
  this.selectedId = 0;
33
46
  this.isEdit = false;
34
- this.content = data.content;
47
+ this.qmsInputImageFile = null;
48
+ this.isLoadingImageFile = false;
49
+ this.imageUpload = new Image();
50
+ this.content = data.html;
35
51
  this.selectedId = data.id;
36
52
  this.isEdit = data.edit;
53
+ this.iconRegistry.addSvgIconLiteral('upload', this.sanitizer.bypassSecurityTrustHtml(IconSvg.UPLOAD_ICON));
37
54
  }
38
55
  ngOnInit() {
39
56
  this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
@@ -87,7 +104,7 @@ export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
87
104
  this.template.id = this.selectedId;
88
105
  this.template.title = '';
89
106
  this.template.description = '';
90
- this.template.content = this.content;
107
+ this.template.html = this.content;
91
108
  this.template.deleted = false;
92
109
  this.template.createdBy = 0;
93
110
  }
@@ -98,7 +115,7 @@ export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
98
115
  this.template.id = this.templateList[index].id;
99
116
  this.template.title = this.templateList[index].title;
100
117
  this.template.description = this.templateList[index].description;
101
- this.template.content = this.templateList[index].content;
118
+ this.template.html = this.templateList[index].html;
102
119
  this.template.deleted = this.templateList[index].deleted;
103
120
  this.template.createdBy = this.templateList[index].createdBy;
104
121
  }
@@ -118,7 +135,7 @@ export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
118
135
  .subscribe((result) => {
119
136
  if (result) {
120
137
  this.templateService
121
- .deleteTemplate(this.selectedId)
138
+ .deleteTemplate([this.selectedId])
122
139
  .pipe(takeUntil(this.ngUnsubcribe))
123
140
  .subscribe((response) => {
124
141
  if (response) {
@@ -140,25 +157,36 @@ export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
140
157
  });
141
158
  }
142
159
  saveTemplate() {
143
- if (this.selectedId === 0) {
144
- this.template.content = this.content;
145
- }
146
- this.templateService
147
- .modifyTemplate(this.template)
148
- .pipe(takeUntil(this.ngUnsubcribe))
149
- .subscribe((result) => {
150
- if (result) {
151
- const index = this.templates.findIndex((x) => {
152
- return x.id === this.selectedId;
153
- });
154
- if (index >= 0 && this.selectedId !== 0) {
155
- this.templates[index].title = this.template.title;
156
- }
157
- QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ if (this.selectedId === 0) {
162
+ this.template.html = this.content;
158
163
  }
159
- else {
160
- QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);
164
+ if (this.qmsInputImageFile) {
165
+ var imageExtraId = yield this.uploadService.uploadImage(this.qmsInputImageFile.file, this.imageUpload.height, this.imageUpload.width, this.imageInfo).toPromise();
166
+ imageExtraId = imageExtraId === null || imageExtraId === void 0 ? void 0 : imageExtraId.replace('/stream_image.aspx?iEntityId=', '');
167
+ if (imageExtraId.length) {
168
+ var imageId = yield this.templateService.getImageIdByExtraId(imageExtraId).toPromise();
169
+ this.template.imageId = imageId ? imageId : 0;
170
+ }
161
171
  }
172
+ this.templateService
173
+ .modifyTemplate(this.template)
174
+ .pipe(takeUntil(this.ngUnsubcribe))
175
+ .subscribe((result) => {
176
+ if (result) {
177
+ const index = this.templates.findIndex((x) => {
178
+ return x.id === this.selectedId;
179
+ });
180
+ if (index >= 0 && this.selectedId !== 0) {
181
+ this.templates[index].title = this.template.title;
182
+ }
183
+ QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);
184
+ this.dialogRef.close();
185
+ }
186
+ else {
187
+ QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);
188
+ }
189
+ });
162
190
  });
163
191
  }
164
192
  cancelTemplate() {
@@ -198,12 +226,22 @@ export class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent {
198
226
  }
199
227
  });
200
228
  }
229
+ clearQMSInputImageFile() {
230
+ this.qmsInputImageFile = null;
231
+ }
232
+ onChangeImage(event) {
233
+ const readerImage = new FileReader();
234
+ readerImage.readAsDataURL(this.qmsInputImageFile.file);
235
+ readerImage.onload = (event) => __awaiter(this, void 0, void 0, function* () {
236
+ this.imageUpload.src = event.target.result.toString();
237
+ });
238
+ }
201
239
  }
202
240
  QMSCKEditorTemplateComponent.decorators = [
203
241
  { type: Component, args: [{
204
242
  selector: 'app-qmsck-template',
205
- template: "<div\r\n id=\"qmsckeditor-template\"\r\n class=\"qmsckeditor qmsckeditor__template__container\"\r\n>\r\n <div id=\"qmsckeditor-template-header\">\r\n <span\r\n id=\"qmsckeditor-template-header_001\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div\r\n id=\"qmsckeditor-template-header_002\"\r\n mat-dialog-content\r\n *ngIf=\"!isEdit\"\r\n >\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.QMSCKEDITOR.CREATE_NEW_TEMPLATE }}\r\n </h2>\r\n </div>\r\n <div id=\"qmsckeditor-template-header_002\" mat-dialog-content *ngIf=\"isEdit\">\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.QMSCKEDITOR.UPDATE_TEMPLATE }}\r\n </h2>\r\n </div>\r\n </div>\r\n\r\n <form [formGroup]=\"templateFormGroup\">\r\n <div\r\n id=\"qmsckeditor-template-content\"\r\n class=\"qmsckeditor template-content height\"\r\n >\r\n <div id=\"qmsckeditor-template-content_001\" class=\"col-12 mt-1 pl-2 pr-2 ps-2 pe-2\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor-template-panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <div id=\"qmsckeditor-template-panel_001\">\r\n <div id=\"qmsckeditor-template-panel_001_000\" class=\"mt-2\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TEMPLATE }}</mat-label>\r\n <mat-select\r\n formControlName=\"templateList\"\r\n [(ngModel)]=\"selectedId\"\r\n (ngModelChange)=\"onSelectChange()\"\r\n [disabled]=\"isEdit\"\r\n >\r\n <mat-option\r\n *ngFor=\"let template of templates\"\r\n [value]=\"template.id\"\r\n >\r\n {{ template.title }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-template-panel_001_001\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0 ps-0 pe-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TITLE }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"template.title\"\r\n formControlName=\"title\"\r\n />\r\n <mat-error\r\n *ngIf=\"templateFormGroup.get('title').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-template-panel_001_002\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0 ps-0 pe-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.DESCRIPTION }}</mat-label>\r\n <textarea\r\n matInput\r\n [(ngModel)]=\"template.description\"\r\n formControlName=\"description\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n templateFormGroup.get('description').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n id=\"qmsckeditor-template-panel_001_003\"\r\n class=\"qmsckeditor button__groups row mr-0 ml-0 ms-0 me-0\"\r\n >\r\n <div class=\"col-6 pl-0 ps-0\" *ngIf=\"!isEdit\">\r\n <button\r\n class=\"delete\"\r\n mat-flat-button\r\n (click)=\"deleteTemplate()\"\r\n [disabled]=\"selectedId === 0\"\r\n >\r\n {{ LANG.QMSCKEDITOR.DELETE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-0 pe-0\" *ngIf=\"!isEdit && selectedId === 0\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"saveTemplate()\"\r\n [disabled]=\"templateFormGroup.invalid\"\r\n >\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pl-0 ps-0\" *ngIf=\"isEdit\">\r\n <button\r\n class=\"cancel\"\r\n mat-flat-button\r\n (click)=\"cancelTemplate()\"\r\n [disabled]=\"selectedId === 0\"\r\n >\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-0 pe-0\" *ngIf=\"isEdit || selectedId !== 0\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"updateTemplate()\"\r\n [disabled]=\"templateFormGroup.invalid\"\r\n >\r\n {{ LANG.QMSCKEDITOR.UPDATE }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n </form>\r\n</div>\r\n",
206
- styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}.ck-font-size-dropdown .ck-dropdown__panel ul{max-height:320px;overflow-y:auto}.ck-font-size-dropdown .ck-dropdown__panel ul li .ck-fontsize-option .ck-button__label{line-height:50px}.qmsckeditor__template__container .mat-form-field{width:100%}.qmsckeditor__template__container textarea.mat-input-element{min-height:150px}.qmsckeditor__template__container .template-checkbox{padding-top:20px}"]
243
+ template: "<div\r\n id=\"qmsckeditor-template\"\r\n class=\"qmsckeditor qmsckeditor__template__container\"\r\n>\r\n <div id=\"qmsckeditor-template-header\">\r\n <span\r\n id=\"qmsckeditor-template-header_001\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div\r\n id=\"qmsckeditor-template-header_002\"\r\n mat-dialog-content\r\n *ngIf=\"!isEdit\"\r\n >\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.QMSCKEDITOR.CREATE_NEW_TEMPLATE }}\r\n </h2>\r\n </div>\r\n <div id=\"qmsckeditor-template-header_002\" mat-dialog-content *ngIf=\"isEdit\">\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.QMSCKEDITOR.UPDATE_TEMPLATE }}\r\n </h2>\r\n </div>\r\n </div>\r\n\r\n <form [formGroup]=\"templateFormGroup\">\r\n <div\r\n id=\"qmsckeditor-template-content\"\r\n class=\"qmsckeditor template-content height form-content-height\"\r\n >\r\n <div id=\"qmsckeditor-template-content_001\" class=\"col-12 mt-1 pl-2 pr-2 ps-2 pe-2\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor-template-panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <div id=\"qmsckeditor-template-panel_001\">\r\n <div id=\"qmsckeditor-template-panel_001_000\" class=\"mt-2\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TEMPLATE }}</mat-label>\r\n <mat-select\r\n formControlName=\"templateList\"\r\n [(ngModel)]=\"selectedId\"\r\n (ngModelChange)=\"onSelectChange()\"\r\n [disabled]=\"isEdit\"\r\n >\r\n <mat-option\r\n *ngFor=\"let template of templates\"\r\n [value]=\"template.id\"\r\n >\r\n {{ template.title }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-template-panel_001_001\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0 ps-0 pe-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TITLE }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"template.title\"\r\n formControlName=\"title\"\r\n />\r\n <mat-error\r\n *ngIf=\"templateFormGroup.get('title').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-template-panel_001_002\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0 ps-0 pe-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.DESCRIPTION }}</mat-label>\r\n <textarea\r\n matInput\r\n [(ngModel)]=\"template.description\"\r\n formControlName=\"description\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n templateFormGroup.get('description').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-template-panel_001_003\" class=\"selected-image\">\r\n <mat-form-field qms-form qms-file-upload appearance=\"fill\" class=\"example-width input-upload\">\r\n <mat-icon matPrefix svgIcon=\"upload\"></mat-icon>\r\n <input matInput placeholder=\"{{ LANG.QMSCKEDITOR.ADD_IMAGE }}\" formControlName=\"imageAcceptType\" [readOnly]=\"true\" qms-file-upload-display\r\n #fileDisplay value=\"{{qmsInputImageFile? qmsInputImageFile.fileName : ''}}\"\r\n [attr.disabled]=\"isLoadingImageFile ? 'disabled' : null\">\r\n <input hidden type=\"file\" [(inputFile)]=\"qmsInputImageFile\" qms-file-upload-selector #fileSelector\r\n accept=\".pjp, .jpg, .pjpeg, .jpeg, .jfif, .png, .gif, .bmp, .webp, .tif, .tiff\"\r\n (change)=\"onChangeImage($event)\">\r\n \r\n <mat-progress-spinner matSuffix mode=\"indeterminate\" diameter='20' *ngIf=\"isLoadingImageFile\"></mat-progress-spinner>\r\n <div matSuffix qms-input-clear *ngIf=\"qmsInputImageFile && qmsInputImageFile.fileName\">\r\n <button qms-btn-icon color=\"light\" (click)=\"clearQMSInputImageFile()\" [disabled]=\"isLoadingImageFile\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div id=\"qmsckeditor-template-panel_001_004\" *ngIf=\"qmsInputImageFile\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0 ps-0 pe-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.IMAGE_INFO }}</mat-label>\r\n <textarea matInput [(ngModel)]=\"imageInfo\" formControlName=\"imageInfo\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n </form>\r\n <div id=\"qmsckeditor-template-panel_001_005\" class=\"qmsckeditor button__groups template-button-group row mr-0 ml-0 ms-0 me-0\">\r\n <div class=\"col-6 pl-0 ps-0\" *ngIf=\"!isEdit\">\r\n <button class=\"delete\" mat-flat-button (click)=\"deleteTemplate()\" [disabled]=\"selectedId === 0\">\r\n {{ LANG.QMSCKEDITOR.DELETE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-0 pe-0\" *ngIf=\"!isEdit && selectedId === 0\">\r\n <button class=\"save\" mat-flat-button (click)=\"saveTemplate()\" [disabled]=\"templateFormGroup.invalid\">\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pl-0 ps-0\" *ngIf=\"isEdit\">\r\n <button class=\"cancel\" mat-flat-button (click)=\"cancelTemplate()\" [disabled]=\"selectedId === 0\">\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-0 pe-0\" *ngIf=\"isEdit || selectedId !== 0\">\r\n <button class=\"save\" mat-flat-button (click)=\"updateTemplate()\" [disabled]=\"templateFormGroup.invalid\">\r\n {{ LANG.QMSCKEDITOR.UPDATE }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n",
244
+ styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}.ck-font-size-dropdown .ck-dropdown__panel ul{max-height:320px;overflow-y:auto}.ck-font-size-dropdown .ck-dropdown__panel ul li .ck-fontsize-option .ck-button__label{line-height:50px}.qmsckeditor__template__container .mat-form-field{width:100%}.qmsckeditor__template__container textarea.mat-input-element{min-height:150px}.qmsckeditor__template__container .template-checkbox{padding-top:20px}.qmsckeditor__template__container .selected-image{display:flex;align-items:center;padding-bottom:10px}.qmsckeditor__template__container .selected-image .input-upload{height:60px}.qmsckeditor__template__container .form-content-height{min-height:350px;max-height:410px}.qmsckeditor__template__container .template-button-group{padding-top:10px;padding-right:.5rem;padding-left:.5rem}"]
207
245
  },] }
208
246
  ];
209
247
  QMSCKEditorTemplateComponent.ctorParameters = () => [
@@ -213,9 +251,12 @@ QMSCKEditorTemplateComponent.ctorParameters = () => [
213
251
  { type: QMSCKEditorTemplateService },
214
252
  { type: QMSCKEditorCommonService },
215
253
  { type: MatDialogRef },
216
- { type: QMSCKEditorTemplate, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
254
+ { type: MatIconRegistry },
255
+ { type: DomSanitizer },
256
+ { type: QMSCKEditorUploadService },
257
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
217
258
  ];
218
259
  QMSCKEditorTemplateComponent.propDecorators = {
219
260
  ckEditor: [{ type: Input }]
220
261
  };
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItdGVtcGxhdGUvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQVkxRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsd0JBQXdCO0lBZ0J0RSxZQUNZ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QyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7cUJBQ3BFO2lCQUNKO2dCQUNELHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoRTtpQkFBTTtnQkFDSCx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDcEU7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OztZQTFNSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsczdLQUFxRDs7YUFFeEQ7OztZQXRCMEIsaUJBQWlCO1lBRW5DLFNBQVM7WUFFVCx1QkFBdUI7WUFPdkIsMEJBQTBCO1lBRDFCLHdCQUF3QjtZQVJiLFlBQVk7WUFNdkIsbUJBQW1CLHVCQXNDbkIsTUFBTSxTQUFDLGVBQWU7Ozt1QkF0QjFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JEaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItZGlhbG9nLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZHVsZS9jb25maXJtL3Ftcy1ja2VkaXRvci1jb25maXJtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3RvYXN0L3Ftcy1ja2VkaXRvci10b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9xbXMtY2tlZGl0b3ItdGVtcGxhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9xbXMtY2tlZGl0b3ItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckNvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItY29tbW9uLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xbXMtY2tlZHRpb3ItdGVtcGxhdGUuc2VydmljZSc7XHJcblxyXG5pbnRlcmZhY2UgSVRlbXBsYXRlIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXFtc2NrLXRlbXBsYXRlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9xbXMtY2tlZGl0b3ItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcW1zLWNrZWRpdG9yLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU0NLRWRpdG9yVGVtcGxhdGVDb21wb25lbnQgZXh0ZW5kcyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gICAgQElucHV0KCkgY2tFZGl0b3I6IGFueTtcclxuICAgIExBTkc6IGFueTtcclxuICAgIHRlbXBsYXRlRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgICAgICB0ZW1wbGF0ZUxpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxyXG4gICAgfSk7XHJcbiAgICBpc0V4cGFuZGVkID0gdHJ1ZTtcclxuICAgIGNvbnRlbnQ6IHN0cmluZztcclxuICAgIHRlbXBsYXRlTGlzdDogUU1TQ0tFZGl0b3JUZW1wbGF0ZVtdID0gW107XHJcbiAgICB0ZW1wbGF0ZXM6IElUZW1wbGF0ZVtdID0gW107XHJcbiAgICB0ZW1wbGF0ZSA9IG5ldyBRTVNDS0VkaXRvclRlbXBsYXRlKCk7XHJcbiAgICBzZWxlY3RlZElkID0gMDtcclxuICAgIGlzRWRpdCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlU2VydmljZTogUU1TQ0tFZGl0b3JUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBRTVNDS0VkaXRvckNvbW1vblNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFFNU0NLRWRpdG9yVGVtcGxhdGVDb21wb25lbnQ+LFxyXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogUU1TQ0tFZGl0b3JUZW1wbGF0ZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnQgPSBkYXRhLmNvbnRlbnQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkID0gZGF0YS5pZDtcclxuICAgICAgICB0aGlzLmlzRWRpdCA9IGRhdGEuZWRpdDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5nZXRUZW1wbGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZURpYWxvZygpIHtcclxuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0U2Nyb2xsVG9wQ2tlZGl0b3IodGhpcy5ja0VkaXRvcik7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2Uuc2V0U2Nyb2xsVG9wRWRpdG9yQ29udGFpbmVyKHRoaXMuY2tFZGl0b3IsIHNjcm9sbFRvcCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VGVtcGxhdGUoKSB7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgLmdldFRlbXBsYXRlKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZXMgPSByZXNwb25zZS5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB4LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHgudGl0bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZE5vbmVUZW1wbGF0ZSh0aGlzLnRlbXBsYXRlcyk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkTm9uZVRlbXBsYXRlKHRoaXMudGVtcGxhdGVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0VkaXQgJiYgdGhpcy5zZWxlY3RlZElkICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNlbGVjdENoYW5nZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGROb25lVGVtcGxhdGUodGVtcGxhdGU6IElUZW1wbGF0ZVtdKSB7XHJcbiAgICAgICAgaWYgKHRlbXBsYXRlICYmICF0aGlzLmlzRWRpdCkge1xyXG4gICAgICAgICAgICB0ZW1wbGF0ZS51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgIGlkOiAwLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5DUkVBVEVfTkVXX1RFTVBMQVRFXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdENoYW5nZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZElkID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUuaWQgPSB0aGlzLnNlbGVjdGVkSWQ7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUudGl0bGUgPSAnJztcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5kZXNjcmlwdGlvbiA9ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUuZGVsZXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmNyZWF0ZWRCeSA9IDA7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRlbXBsYXRlTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50ZW1wbGF0ZUxpc3QuZmluZEluZGV4KCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geC5pZCA9PT0gdGhpcy5zZWxlY3RlZElkO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5pZCA9IHRoaXMudGVtcGxhdGVMaXN0W2luZGV4XS5pZDtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS50aXRsZSA9IHRoaXMudGVtcGxhdGVMaXN0W2luZGV4XS50aXRsZTtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5kZXNjcmlwdGlvbiA9IHRoaXMudGVtcGxhdGVMaXN0W2luZGV4XS5kZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5jb250ZW50ID0gdGhpcy50ZW1wbGF0ZUxpc3RbaW5kZXhdLmNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUuZGVsZXRlZCA9IHRoaXMudGVtcGxhdGVMaXN0W2luZGV4XS5kZWxldGVkO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmNyZWF0ZWRCeSA9IHRoaXMudGVtcGxhdGVMaXN0W2luZGV4XS5jcmVhdGVkQnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVRlbXBsYXRlKCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IFFNU0NLRWRpdG9yRGlhbG9nRGF0YSA9IG5ldyBRTVNDS0VkaXRvckRpYWxvZ0RhdGEoKTtcclxuICAgICAgICBkYXRhLnRpdGxlID0gdGhpcy5MQU5HLlFNU0NLRURJVE9SLkRFTEVURV9URU1QTEFURTtcclxuICAgICAgICBkYXRhLmNvbnRlbnQgPSB0aGlzLkxBTkcuUU1TQ0tFRElUT1JfTUVTU0FHRS5DT05GSVJNX0RFTEVURV9URU1QTEFURTtcclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFFNU0NLRWRpdG9yQ29uZmlybUNvbXBvbmVudCwge1xyXG4gICAgICAgICAgICB3aWR0aDogJzUwMHB4JyxcclxuICAgICAgICAgICAgbWluSGVpZ2h0OiAnMTc1cHgnLFxyXG4gICAgICAgICAgICBkYXRhXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZGlhbG9nUmVmXHJcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZWxldGVUZW1wbGF0ZSh0aGlzLnNlbGVjdGVkSWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMudGVtcGxhdGVzLmZpbmRJbmRleCgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geC5pZCA9PT0gdGhpcy5zZWxlY3RlZElkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNlbGVjdENoYW5nZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFNU0NLRWRpdG9yVG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5MQU5HLlFNU0NLRURJVE9SLkRFTEVURUQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5lcnJvcih0aGlzLkxBTkcuUU1TQ0tFRElUT1IuREVMRVRFX0ZBSUxFRCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlVGVtcGxhdGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5tb2RpZnlUZW1wbGF0ZSh0aGlzLnRlbXBsYXRlKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMudGVtcGxhdGVzLmZpbmRJbmRleCgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geC5pZCA9PT0gdGhpcy5zZWxlY3RlZElkO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAwICYmIHRoaXMuc2VsZWN0ZWRJZCAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlc1tpbmRleF0udGl0bGUgPSB0aGlzLnRlbXBsYXRlLnRpdGxlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMuTEFORy5RTVNDS0VESVRPUi5TQVZFRCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIFFNU0NLRWRpdG9yVG9hc3RTZXJ2aWNlLmVycm9yKHRoaXMuTEFORy5RTVNDS0VESVRPUi5TQVZFX0ZBSUxFRCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbFRlbXBsYXRlKCkge1xyXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuY29tbW9uU2VydmljZS5nZXRTY3JvbGxUb3BDa2VkaXRvcih0aGlzLmNrRWRpdG9yKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5zZXRTY3JvbGxUb3BFZGl0b3JDb250YWluZXIodGhpcy5ja0VkaXRvciwgc2Nyb2xsVG9wKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVUZW1wbGF0ZSgpIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlU2VydmljZVxyXG4gICAgICAgICAgICAubW9kaWZ5VGVtcGxhdGUodGhpcy50ZW1wbGF0ZSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNFZGl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuY29tbW9uU2VydmljZS5nZXRTY3JvbGxUb3BDa2VkaXRvcih0aGlzLmNrRWRpdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZW1wbGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5zZXRTY3JvbGxUb3BFZGl0b3JDb250YWluZXIodGhpcy5ja0VkaXRvciwgc2Nyb2xsVG9wKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaW5kZXggPSB0aGlzLnRlbXBsYXRlcy5maW5kSW5kZXgoKHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4LmlkID09PSB0aGlzLnRlbXBsYXRlLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVzW2luZGV4XS50aXRsZSA9IHRoaXMudGVtcGxhdGUudGl0bGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSB0aGlzLnRlbXBsYXRlTGlzdC5maW5kSW5kZXgoKHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4LmlkID09PSB0aGlzLnRlbXBsYXRlLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVMaXN0W2luZGV4XS5kZXNjcmlwdGlvbiA9IHRoaXMudGVtcGxhdGUuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgUU1TQ0tFZGl0b3JUb2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLkxBTkcuUU1TQ0tFRElUT1IuU0FWRUQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5lcnJvcih0aGlzLkxBTkcuUU1TQ0tFRElUT1IuU0FWRV9GQUlMRUQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItdGVtcGxhdGUvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FB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LE1BQU0sR0FBRyxDQUFPLEtBQUssRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFELENBQUMsQ0FBQSxDQUFBO0lBQ0wsQ0FBQzs7O1lBaFBKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixpcE5BQXFEOzthQUV4RDs7O1lBN0IwQixpQkFBaUI7WUFFbkMsU0FBUztZQUVULHVCQUF1QjtZQU92QiwwQkFBMEI7WUFEMUIsd0JBQXdCO1lBUmIsWUFBWTtZQVd2QixlQUFlO1lBQ2YsWUFBWTtZQUlaLHdCQUF3Qjs0Q0FnRHhCLE1BQU0sU0FBQyxlQUFlOzs7dUJBbkMxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWRpYWxvZy5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2R1bGUvY29uZmlybS9xbXMtY2tlZGl0b3ItY29uZmlybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi90b2FzdC9xbXMtY2tlZGl0b3ItdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVGVtcGxhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcW1zLWNrZWRpdG9yLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWNvbW1vbi5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLWNrZWR0aW9yLXRlbXBsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJY29uU3ZnIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnN0YW50cy9pY29uU3ZnLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgcmVxdWlyZWRGaWxlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQtc2VsZWN0b3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRmlsZUVycm9yVHlwZSwgUU1TRmlsZUF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL3Ftcy1maWxlLXVwbG9hZC1hdHRhY2htZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgUU1TVXBsb2FkRmlsZUVycm9yRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy91cGxvYWQtZmlsZS1lcnJvci1kaWFsb2cvdXBsb2FkLWZpbGUtZXJyb3ItZGlhbG9nJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLXVwbG9hZC5zZXJ2aWNlJztcclxuXHJcbmludGVyZmFjZSBJVGVtcGxhdGUge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtcW1zY2stdGVtcGxhdGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Ftcy1ja2VkaXRvci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9xbXMtY2tlZGl0b3ItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUU1TQ0tFZGl0b3JUZW1wbGF0ZUNvbXBvbmVudCBleHRlbmRzIFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcbiAgICBASW5wdXQoKSBja0VkaXRvcjogYW55O1xyXG4gICAgTEFORzogYW55O1xyXG4gICAgdGVtcGxhdGVGb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICAgIHRlbXBsYXRlTGlzdDogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICAgIGltYWdlQWNjZXB0VHlwZTogbmV3IEZvcm1Db250cm9sKCcnLCBbXHJcbiAgICAgICAgICAgIHJlcXVpcmVkRmlsZVR5cGUoWydwanAnLCAnanBnJywgJ3BqcGVnJywgJ2pwZWcnLCAnamZpZicsICdwbmcnLCAnZ2lmJywgJ2JtcCcsICd3ZWJwJywgJ3RpZicsICd0aWZmJ10pXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgaW1hZ2VJbmZvOiBuZXcgRm9ybUNvbnRyb2woKVxyXG4gICAgfSk7XHJcbiAgICBpc0V4cGFuZGVkID0gdHJ1ZTtcclxuICAgIGNvbnRlbnQ6IHN0cmluZztcclxuICAgIHRlbXBsYXRlTGlzdDogUU1TQ0tFZGl0b3JUZW1wbGF0ZVtdID0gW107XHJcbiAgICB0ZW1wbGF0ZXM6IElUZW1wbGF0ZVtdID0gW107XHJcbiAgICB0ZW1wbGF0ZSA9IG5ldyBRTVNDS0VkaXRvclRlbXBsYXRlKCk7XHJcbiAgICBzZWxlY3RlZElkID0gMDtcclxuICAgIGlzRWRpdCA9IGZhbHNlO1xyXG5cclxuICAgIHFtc0lucHV0SW1hZ2VGaWxlOiBRTVNGaWxlQXR0YWNobWVudCA9IG51bGw7XHJcbiAgICBpc0xvYWRpbmdJbWFnZUZpbGUgPSBmYWxzZTtcclxuICAgIGltYWdlVXBsb2FkID0gbmV3IEltYWdlKCk7XHJcbiAgICBhY2NlcHRFeHRlbnNpb25zOiBhbnk7XHJcbiAgICBpbWFnZUluZm86IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFFNU0NLRWRpdG9yVGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29tbW9uU2VydmljZTogUU1TQ0tFZGl0b3JDb21tb25TZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxRTVNDS0VkaXRvclRlbXBsYXRlQ29tcG9uZW50PixcclxuICAgICAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBRTVNDS0VkaXRvclVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuY29udGVudCA9IGRhdGEuaHRtbDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWQgPSBkYXRhLmlkO1xyXG4gICAgICAgIHRoaXMuaXNFZGl0ID0gZGF0YS5lZGl0O1xyXG4gICAgICAgIHRoaXMuaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd1cGxvYWQnLCB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChJY29uU3ZnLlVQTE9BRF9JQ09OKSk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmdldFRlbXBsYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsb3NlRGlhbG9nKCkge1xyXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuY29tbW9uU2VydmljZS5nZXRTY3JvbGxUb3BDa2VkaXRvcih0aGlzLmNrRWRpdG9yKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5zZXRTY3JvbGxUb3BFZGl0b3JDb250YWluZXIodGhpcy5ja0VkaXRvciwgc2Nyb2xsVG9wKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUZW1wbGF0ZSgpIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlU2VydmljZVxyXG4gICAgICAgICAgICAuZ2V0VGVtcGxhdGUoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlcyA9IHJlc3BvbnNlLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHguaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogeC50aXRsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkTm9uZVRlbXBsYXRlKHRoaXMudGVtcGxhdGVzKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGROb25lVGVtcGxhdGUodGhpcy50ZW1wbGF0ZXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRWRpdCAmJiB0aGlzLnNlbGVjdGVkSWQgIT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2VsZWN0Q2hhbmdlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZE5vbmVUZW1wbGF0ZSh0ZW1wbGF0ZTogSVRlbXBsYXRlW10pIHtcclxuICAgICAgICBpZiAodGVtcGxhdGUgJiYgIXRoaXMuaXNFZGl0KSB7XHJcbiAgICAgICAgICAgIHRlbXBsYXRlLnVuc2hpZnQoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IDAsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLkNSRUFURV9ORVdfVEVNUExBVEVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0Q2hhbmdlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSWQgPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5pZCA9IHRoaXMuc2VsZWN0ZWRJZDtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS50aXRsZSA9ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmRlc2NyaXB0aW9uID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUuaHRtbCA9IHRoaXMuY29udGVudDtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5kZWxldGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUuY3JlYXRlZEJ5ID0gMDtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGVtcGxhdGVMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRlbXBsYXRlTGlzdC5maW5kSW5kZXgoKHgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB4LmlkID09PSB0aGlzLnNlbGVjdGVkSWQ7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmlkID0gdGhpcy50ZW1wbGF0ZUxpc3RbaW5kZXhdLmlkO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLnRpdGxlID0gdGhpcy50ZW1wbGF0ZUxpc3RbaW5kZXhdLnRpdGxlO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmRlc2NyaXB0aW9uID0gdGhpcy50ZW1wbGF0ZUxpc3RbaW5kZXhdLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLmh0bWwgPSB0aGlzLnRlbXBsYXRlTGlzdFtpbmRleF0uaHRtbDtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5kZWxldGVkID0gdGhpcy50ZW1wbGF0ZUxpc3RbaW5kZXhdLmRlbGV0ZWQ7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUuY3JlYXRlZEJ5ID0gdGhpcy50ZW1wbGF0ZUxpc3RbaW5kZXhdLmNyZWF0ZWRCeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlVGVtcGxhdGUoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogUU1TQ0tFZGl0b3JEaWFsb2dEYXRhID0gbmV3IFFNU0NLRWRpdG9yRGlhbG9nRGF0YSgpO1xyXG4gICAgICAgIGRhdGEudGl0bGUgPSB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuREVMRVRFX1RFTVBMQVRFO1xyXG4gICAgICAgIGRhdGEuY29udGVudCA9IHRoaXMuTEFORy5RTVNDS0VESVRPUl9NRVNTQUdFLkNPTkZJUk1fREVMRVRFX1RFTVBMQVRFO1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICAgICAgICBtaW5IZWlnaHQ6ICcxNzVweCcsXHJcbiAgICAgICAgICAgIGRhdGFcclxuICAgICAgICB9KTtcclxuICAgICAgICBkaWFsb2dSZWZcclxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmRlbGV0ZVRlbXBsYXRlKFt0aGlzLnNlbGVjdGVkSWRdKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRlbXBsYXRlcy5maW5kSW5kZXgoKHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHguaWQgPT09IHRoaXMuc2VsZWN0ZWRJZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSWQgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3RDaGFuZ2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMuTEFORy5RTVNDS0VESVRPUi5ERUxFVEVEKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUU1TQ0tFZGl0b3JUb2FzdFNlcnZpY2UuZXJyb3IodGhpcy5MQU5HLlFNU0NLRURJVE9SLkRFTEVURV9GQUlMRUQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2F2ZVRlbXBsYXRlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSWQgPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZS5odG1sID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMucW1zSW5wdXRJbWFnZUZpbGUpIHtcclxuICAgICAgICAgICAgdmFyIGltYWdlRXh0cmFJZCA9IGF3YWl0IHRoaXMudXBsb2FkU2VydmljZS51cGxvYWRJbWFnZSh0aGlzLnFtc0lucHV0SW1hZ2VGaWxlLmZpbGUsIHRoaXMuaW1hZ2VVcGxvYWQuaGVpZ2h0LCB0aGlzLmltYWdlVXBsb2FkLndpZHRoLCB0aGlzLmltYWdlSW5mbykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIGltYWdlRXh0cmFJZCA9IGltYWdlRXh0cmFJZD8ucmVwbGFjZSgnL3N0cmVhbV9pbWFnZS5hc3B4P2lFbnRpdHlJZD0nLCAnJyk7XHJcbiAgICAgICAgICAgIGlmIChpbWFnZUV4dHJhSWQubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgaW1hZ2VJZCA9IGF3YWl0IHRoaXMudGVtcGxhdGVTZXJ2aWNlLmdldEltYWdlSWRCeUV4dHJhSWQoaW1hZ2VFeHRyYUlkKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGUuaW1hZ2VJZCA9IGltYWdlSWQgPyBpbWFnZUlkIDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgLm1vZGlmeVRlbXBsYXRlKHRoaXMudGVtcGxhdGUpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50ZW1wbGF0ZXMuZmluZEluZGV4KCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4LmlkID09PSB0aGlzLnNlbGVjdGVkSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgdGhpcy5zZWxlY3RlZElkICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVzW2luZGV4XS50aXRsZSA9IHRoaXMudGVtcGxhdGUudGl0bGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFFNU0NLRWRpdG9yVG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5MQU5HLlFNU0NLRURJVE9SLlNBVkVEKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5lcnJvcih0aGlzLkxBTkcuUU1TQ0tFRElUT1IuU0FWRV9GQUlMRUQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWxUZW1wbGF0ZSgpIHtcclxuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0U2Nyb2xsVG9wQ2tlZGl0b3IodGhpcy5ja0VkaXRvcik7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2Uuc2V0U2Nyb2xsVG9wRWRpdG9yQ29udGFpbmVyKHRoaXMuY2tFZGl0b3IsIHNjcm9sbFRvcCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVGVtcGxhdGUoKSB7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgLm1vZGlmeVRlbXBsYXRlKHRoaXMudGVtcGxhdGUpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRWRpdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0U2Nyb2xsVG9wQ2tlZGl0b3IodGhpcy5ja0VkaXRvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMudGVtcGxhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2Uuc2V0U2Nyb2xsVG9wRWRpdG9yQ29udGFpbmVyKHRoaXMuY2tFZGl0b3IsIHNjcm9sbFRvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gdGhpcy50ZW1wbGF0ZXMuZmluZEluZGV4KCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geC5pZCA9PT0gdGhpcy50ZW1wbGF0ZS5pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlc1tpbmRleF0udGl0bGUgPSB0aGlzLnRlbXBsYXRlLnRpdGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gdGhpcy50ZW1wbGF0ZUxpc3QuZmluZEluZGV4KCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geC5pZCA9PT0gdGhpcy50ZW1wbGF0ZS5pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlTGlzdFtpbmRleF0uZGVzY3JpcHRpb24gPSB0aGlzLnRlbXBsYXRlLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFFNU0NLRWRpdG9yVG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5MQU5HLlFNU0NLRURJVE9SLlNBVkVEKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgUU1TQ0tFZGl0b3JUb2FzdFNlcnZpY2UuZXJyb3IodGhpcy5MQU5HLlFNU0NLRURJVE9SLlNBVkVfRkFJTEVEKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJRTVNJbnB1dEltYWdlRmlsZSgpIHtcclxuICAgICAgICB0aGlzLnFtc0lucHV0SW1hZ2VGaWxlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZUltYWdlKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBjb25zdCByZWFkZXJJbWFnZSA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVySW1hZ2UucmVhZEFzRGF0YVVSTCh0aGlzLnFtc0lucHV0SW1hZ2VGaWxlLmZpbGUpO1xyXG4gICAgICAgIHJlYWRlckltYWdlLm9ubG9hZCA9IGFzeW5jIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlVXBsb2FkLnNyYyA9IGV2ZW50LnRhcmdldC5yZXN1bHQudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -3,10 +3,11 @@ export class QMSCKEditorTemplate {
3
3
  this.id = 0;
4
4
  this.title = '';
5
5
  this.description = '';
6
- this.content = '';
6
+ this.html = '';
7
+ this.imageId = 0;
7
8
  this.deleted = false;
8
9
  this.createdBy = 0;
9
10
  this.edit = false;
10
11
  }
11
12
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLXRlbXBsYXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9tb2RlbHMvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFTNUI7UUFDSSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBRTVNDS0VkaXRvclRlbXBsYXRlIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGNvbnRlbnQ6IHN0cmluZztcclxuICAgIGRlbGV0ZWQ6IGJvb2xlYW47XHJcbiAgICBjcmVhdGVkQnk6IG51bWJlcjtcclxuICAgIGVkaXQ6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IDA7XHJcbiAgICAgICAgdGhpcy50aXRsZSA9ICcnO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSAnJztcclxuICAgICAgICB0aGlzLmNvbnRlbnQgPSAnJztcclxuICAgICAgICB0aGlzLmRlbGV0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNyZWF0ZWRCeSA9IDA7XHJcbiAgICAgICAgdGhpcy5lZGl0ID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLXRlbXBsYXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9tb2RlbHMvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFVNUI7UUFDSSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFFNU0NLRWRpdG9yVGVtcGxhdGUge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgaHRtbDogc3RyaW5nO1xyXG4gICAgaW1hZ2VJZDogbnVtYmVyO1xyXG4gICAgZGVsZXRlZDogYm9vbGVhbjtcclxuICAgIGNyZWF0ZWRCeTogbnVtYmVyO1xyXG4gICAgZWRpdDogYm9vbGVhbjtcclxuICAgIGltYWdlVXJsPzogc3RyaW5nO1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IDA7XHJcbiAgICAgICAgdGhpcy50aXRsZSA9ICcnO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSAnJztcclxuICAgICAgICB0aGlzLmh0bWwgPSAnJztcclxuICAgICAgICB0aGlzLmltYWdlSWQgPSAwO1xyXG4gICAgICAgIHRoaXMuZGVsZXRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY3JlYXRlZEJ5ID0gMDtcclxuICAgICAgICB0aGlzLmVkaXQgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iXX0=