@hmcts/ccd-case-ui-toolkit 6.19.5 → 6.19.6-case-file-view-document-upload-date

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +425 -103
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +13 -5
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +12 -4
  7. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +6 -3
  8. package/esm2015/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.js +27 -0
  9. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +6 -3
  10. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +30 -20
  11. package/esm2015/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.js +233 -0
  12. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +2 -2
  13. package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +1 -1
  14. package/esm2015/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.js +6 -0
  15. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +39 -13
  16. package/esm2015/lib/shared/domain/case-file-view/index.js +3 -2
  17. package/esm2015/lib/shared/domain/index.js +10 -10
  18. package/esm2015/lib/shared/domain/search/sorting/sort-parameters.js +1 -1
  19. package/esm2015/lib/shared/domain/sort-order.enum.js +7 -0
  20. package/esm2015/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.js +2 -2
  21. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +12 -1
  22. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +395 -81
  23. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  24. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +4 -1
  25. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  26. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +4 -2
  27. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  28. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  29. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts +8 -0
  30. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts.map +1 -0
  31. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +2 -2
  32. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -1
  33. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +2 -2
  34. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  35. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts +3 -0
  36. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts.map +1 -0
  37. package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
  38. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -1
  39. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
  40. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts +5 -0
  41. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts.map +1 -0
  42. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +4 -2
  43. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -1
  44. package/lib/shared/domain/case-file-view/index.d.ts +2 -1
  45. package/lib/shared/domain/case-file-view/index.d.ts.map +1 -1
  46. package/lib/shared/domain/index.d.ts +9 -9
  47. package/lib/shared/domain/index.d.ts.map +1 -1
  48. package/lib/shared/domain/search/sorting/sort-parameters.d.ts +1 -1
  49. package/lib/shared/domain/search/sorting/sort-parameters.d.ts.map +1 -1
  50. package/lib/shared/domain/{search/sorting/sort-order.d.ts → sort-order.enum.d.ts} +1 -1
  51. package/lib/shared/domain/sort-order.enum.d.ts.map +1 -0
  52. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/esm2015/lib/shared/components/palette/complex/sort-order.js +0 -7
  55. package/esm2015/lib/shared/domain/search/sorting/sort-order.js +0 -7
  56. package/lib/shared/components/palette/complex/sort-order.d.ts +0 -6
  57. package/lib/shared/components/palette/complex/sort-order.d.ts.map +0 -1
  58. package/lib/shared/domain/search/sorting/sort-order.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { plainToClassFromExist } from 'class-transformer';
3
+ import { SortOrder } from '../../../domain';
3
4
  import { CaseField } from '../../../domain/definition';
4
5
  import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
5
- import { SortOrder } from './sort-order';
6
6
  import * as i0 from "@angular/core";
7
7
  function ReadComplexFieldCollectionTableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
8
8
  const _r4 = i0.ɵɵgetCurrentView();
@@ -416,4 +416,4 @@ const ɵReadComplexFieldCollectionTableComponent_BaseFactory = /*@__PURE__*/ i0.
416
416
  styleUrls: ['./read-complex-field-collection-table.scss']
417
417
  }]
418
418
  }], null, null); })();
419
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztJQ0tuQyw2QkFBZ0Q7SUFDOUMsK0JBQXNCO0lBQUEsWUFBa0Q7O0lBQUEsaUJBQU87SUFDL0UsNEJBR3VEO0lBRnBELDBQQUFvQztJQUVnQixpQkFBSTtJQUM3RCxpQkFBSzs7OztJQUxtQixlQUFrRDtJQUFsRCxxRkFBa0Q7SUFJckUsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFXbEQsMkJBQTZDO0lBQzNDLHFDQUV1QztJQUN6QyxpQkFBTTs7Ozs7SUFGRixlQUE0RztJQUE1Ryw0SkFBNEcsNEJBQUE7OztJQUk5RywyQkFBSztJQUFBLHNCQUFNO0lBQUEsaUJBQU07OztJQVJ2Qiw2QkFBOEM7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QUFDOztpTEFsS1Usd0NBQXdDOzZFQUF4Qyx3Q0FBd0M7UUNYckQsOEJBQXVEO1FBQ3JELDZCQUFnQztRQUM5QiwwQkFBSTtRQUFBLCtCQUFzQjtRQUFBLFlBQWtDOztRQUFBLGlCQUFPO1FBQUEsaUJBQUs7UUFDeEUscUJBQVM7UUFDWCxpQkFBSztRQUNMLGdDQUEwRTtRQUN4RSw2QkFBTztRQUVQLDBCQUFJO1FBQ0YseUZBTUs7UUFDTCxzQkFBUztRQUNYLGlCQUFLO1FBRUwsK0dBc0VlO1FBQ2YsaUJBQVE7UUFDVixpQkFBUTtRQUNWLGlCQUFNOztRQTVGcUIsNkNBQTJCO1FBRXhCLGVBQWtDO1FBQWxDLCtEQUFrQztRQU9sQyxlQUFVO1FBQVYscUNBQVU7UUFVTCxlQUFTO1FBQVQsa0NBQVM7O3FHRFIvQix3Q0FBd0M7dUZBQXhDLHdDQUF3QztjQUxwRCxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsV0FBVyxFQUFFLDRDQUE0QztnQkFDekQsU0FBUyxFQUFFLENBQUMsNENBQTRDLENBQUM7YUFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzRnJvbUV4aXN0IH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFNvcnRPcmRlciB9IGZyb20gJy4vc29ydC1vcmRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgcHVibGljIGNvbHVtbnNWZXJ0aWNhbExhYmVsOiBhbnk7XG4gIHB1YmxpYyBjb2x1bW5zSG9yaXpvbnRhbExhYmVsOiBhbnk7XG4gIHB1YmxpYyBjb2x1bW5zQWxsTGFiZWxzOiBhbnk7XG4gIHB1YmxpYyByb3dzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgaXNIaWRkZW46IGJvb2xlYW5bXSA9IFtdO1xuICBwcml2YXRlIHN0YXRpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIShjb2x1bW4uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuVU5TT1JURUQgfHwgY29sdW1uLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRFU0NFTkRJTkcpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXJcbiAgICAgICYmIHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIudHJpbSgpLnN0YXJ0c1dpdGgoJyNUQUJMRSgnKSkge1xuXG4gICAgICBjb25zdCBkaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9IHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIudHJpbSgpO1xuICAgICAgY29uc3QgcmVzdWx0OiBzdHJpbmcgPSBkaXNwbGF5Q29udGV4dFBhcmFtZXRlci5yZXBsYWNlKCcjVEFCTEUoJywgJycpO1xuICAgICAgdGhpcy5jb2x1bW5zID0gcmVzdWx0LnJlcGxhY2UoJyknLCAnJykuc3BsaXQoJywnKS5tYXAoKGM6IHN0cmluZykgPT4gYy50cmltKCkpO1xuXG4gICAgICBjb25zdCBsYWJlbHNWZXJ0aWNhbDogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIGNvbnN0IGxhYmVsc0hvcml6b250YWw6IHsgW2s6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICBjb25zdCBhbGxMYWJlbHM6IHsgW2s6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICB0aGlzLnBvcHVsYXRlQ2FzZUZpZWxkVmFsdWVzSW50b1Jvd3MoKTtcbiAgICAgIHRoaXMucG9wdWxhdGVMYWJlbHMobGFiZWxzVmVydGljYWwsIGFsbExhYmVscyk7XG4gICAgICB0aGlzLnBvcHVsYXRlSG9yaXpvbnRhbExhYmVscyhsYWJlbHNIb3Jpem9udGFsLCBhbGxMYWJlbHMsIGxhYmVsc1ZlcnRpY2FsKTtcblxuICAgICAgdGhpcy5jb2x1bW5zVmVydGljYWxMYWJlbCA9IGxhYmVsc1ZlcnRpY2FsO1xuICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsID0gbGFiZWxzSG9yaXpvbnRhbDtcbiAgICAgIHRoaXMuY29sdW1uc0FsbExhYmVscyA9IGFsbExhYmVscztcblxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZShyb3cpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSGlkZGVuW3Jvd10pIHtcbiAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1wbHVzLnBuZyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmlzVmVydGljbGVEYXRhTm90RW1wdHkocm93KSkge1xuICAgICAgICByZXR1cm4gJ2ltZy9hY2NvcmRpb24tbWludXMucG5nJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNIaWRkZW5bcm93XSA9IHRydWU7XG4gICAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1wbHVzLnBuZyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgJ2NjZEZpZWxkc0ZpbHRlcicgcGlwZSBpcyB1c2VkLCBhcyBpdCBuZWVkcyBhIGNhc2VGaWVsZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDYXNlRmllbGRWYWx1ZShmaWVsZCwgdmFsdWUpOiBib29sZWFuIHtcbiAgICBmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzTm90QmxhbmsodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJyc7XG4gIH1cblxuICBwdWJsaWMgYWRkQ2FzZVJlZmVyZW5jZVZhbHVlKGZpZWxkLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICBmaWVsZC52YWx1ZSA9IHsgQ2FzZVJlZmVyZW5jZTogdmFsdWV9O1xuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIHB1YmxpYyB0b0Nhc2VGaWVsZChpZDogc3RyaW5nLCBsYWJlbDogc3RyaW5nLCBmaWVsZFR5cGU6IGFueSwgdmFsdWU6IGFueSk6IENhc2VGaWVsZCB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzc0Zyb21FeGlzdChuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkLFxuICAgICAgbGFiZWwsXG4gICAgICBkaXNwbGF5X2NvbnRleHQ6ICdSRUFET05MWScsXG4gICAgICB2YWx1ZSxcbiAgICAgIGZpZWxkX3R5cGU6IGZpZWxkVHlwZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGtlZXBPcmlnaW5hbE9yZGVyID0gKGEsIGIpID0+IGEua2V5O1xuXG4gIHB1YmxpYyBzb3J0Um93c0J5Q29sdW1ucyhjb2x1bW4pOiB2b2lkIHtcbiAgICBjb25zdCBzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlciA9IHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLlVOU09SVEVEXG4gICAgICB8fCB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0XG4gICAgc3dpdGNoICh0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS50eXBlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ051bWJlcic6XG4gICAgICBjYXNlICdNb25leUdCUCc6IHtcbiAgICAgICAgaWYgKHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyKSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGFbY29sdW1uXSAtIGJbY29sdW1uXSk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkFTQ0VORElORztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYltjb2x1bW5dIC0gYVtjb2x1bW5dKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1RleHQnOlxuICAgICAgY2FzZSAnVGV4dEFyZWEnOlxuICAgICAgY2FzZSAnRW1haWwnOlxuICAgICAgY2FzZSAnRGF0ZSc6XG4gICAgICBjYXNlICdEYXRlVGltZSc6XG4gICAgICBjYXNlICdMYWJlbCc6XG4gICAgICBjYXNlICdQb3N0Y29kZSc6XG4gICAgICBjYXNlICdZZXNPck5vJzpcbiAgICAgIGNhc2UgJ1Bob25lVUsnOlxuICAgICAgY2FzZSAnRml4ZWRMaXN0Jzoge1xuICAgICAgICBpZiAoc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIpIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIDwgYltjb2x1bW5dID8gLTEgOiBhW2NvbHVtbl0gPiBiW2NvbHVtbl0gPyAxIDogMCk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkFTQ0VORElORztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIDwgYltjb2x1bW5dID8gMSA6IGFbY29sdW1uXSA+IGJbY29sdW1uXSA/IC0xIDogMCk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNvcnRXaWRnZXQoY29sdW1uOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBSZWFkQ29tcGxleEZpZWxkQ29sbGVjdGlvblRhYmxlQ29tcG9uZW50LmlzU29ydEFzY2VuZGluZyhjb2x1bW4pID8gJyYjOTY2MDsnIDogJyYjOTY1MDsnO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUhvcml6b250YWxMYWJlbHMobGFiZWxzSG9yaXpvbnRhbDogeyBbcDogc3RyaW5nXTogYW55IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbExhYmVsczogeyBbcDogc3RyaW5nXTogYW55IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsc1ZlcnRpY2FsOiB7IFtwOiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaWQgb2YgdGhpcy5jb2x1bW5zKSB7XG4gICAgICBjb25zdCB0cmltbWVkSWQgPSBpZC50cmltKCk7XG4gICAgICBsYWJlbHNIb3Jpem9udGFsW3RyaW1tZWRJZF0gPSBhbGxMYWJlbHNbdHJpbW1lZElkXTtcbiAgICAgIGxhYmVsc0hvcml6b250YWxbdHJpbW1lZElkXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuVU5TT1JURUQ7XG4gICAgICBkZWxldGUgbGFiZWxzVmVydGljYWxbdHJpbW1lZElkXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlTGFiZWxzKGxhYmVsc1ZlcnRpY2FsOiB7IFtwOiBzdHJpbmddOiBhbnkgfSwgYWxsTGFiZWxzOiB7IFtwOiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgIGlmIChvYmouZmllbGRfdHlwZS50eXBlID09PSAnRml4ZWRMaXN0JyB8fFxuICAgICAgICBvYmouZmllbGRfdHlwZS50eXBlID09PSAnTXVsdGlTZWxlY3RMaXN0JyB8fFxuICAgICAgICBvYmouZmllbGRfdHlwZS50eXBlID09PSAnRml4ZWRSYWRpb0xpc3QnKSB7XG4gICAgICAgIGxhYmVsc1ZlcnRpY2FsW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGUsIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGV9O1xuICAgICAgfSBlbHNlIGlmIChvYmouaXNDb21wbGV4KCkpIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlLCBjYXNlRmllbGQ6IG9ian07XG4gICAgICAgIGFsbExhYmVsc1tvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlLnR5cGUsIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxhYmVsc1ZlcnRpY2FsW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZToge3R5cGU6IG9iai5maWVsZF90eXBlLnR5cGV9LCBjYXNlRmllbGQ6IG9ian07XG4gICAgICAgIGFsbExhYmVsc1tvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IHt0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlfSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVDYXNlRmllbGRWYWx1ZXNJbnRvUm93cygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiB0aGlzLmNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgdGhpcy5yb3dzLnB1c2gob2JqLnZhbHVlKTtcbiAgICAgIHRoaXMuaXNIaWRkZW4ucHVzaCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVmVydGljbGVEYXRhTm90RW1wdHkocm93KTogYm9vbGVhbiB7XG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY29sdW1uc1ZlcnRpY2FsTGFiZWwpIHtcbiAgICAgIGlmICh0aGlzLnJvd3Nbcm93XVtrZXldKSB7XG4gICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb21wbGV4LXBhbmVsXCIgW2hpZGRlbl09XCJjYXNlRmllbGQuaGlkZGVuXCI+XG4gIDxkbCBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGl0bGVcIj5cbiAgICA8ZHQ+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjYXNlRmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2R0PlxuICAgIDxkZD48L2RkPlxuICA8L2RsPlxuICA8dGFibGUgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImNvbXBsZXggcGFuZWwgdGFibGVcIj5cbiAgICA8dGJvZHk+XG4gICAgPCEtLSA8Q09NUExFWCB0YWJsZSBmaWVsZCBoZWFkZXI+LS0+XG4gICAgPHRyPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkaW5nIG9mIGNvbHVtbnNcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2NvbHVtbnNBbGxMYWJlbHNbaGVhZGluZ10ubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgIChjbGljayk9XCJzb3J0Um93c0J5Q29sdW1ucyhoZWFkaW5nKVwiXG4gICAgICAgICAgIGNsYXNzPVwic29ydC13aWRnZXRcIlxuICAgICAgICAgICBbaW5uZXJIVE1MXT1cInNvcnRXaWRnZXQoY29sdW1uc0FsbExhYmVsc1toZWFkaW5nXSlcIj48L2E+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPjwvdGg+XG4gICAgPC90cj5cbiAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBmaWVsZCBoZWFkZXI+LS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3dzOyBsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBjb2xsYXBzZWQgdmlldz4tLT5cbiAgICAgIDx0ciBjbGFzcz1cIm5ldy10YWJsZS1yb3cgYWNjb3JkaW9uLWhlYWRpbmdcIiAoY2xpY2spPVwiaXNIaWRkZW5baV0gPSAhaXNIaWRkZW5baV1cIlxuICAgICAgICAgIFtjbGFzcy5sYXN0LWFjY29yZGlvbl09XCJpc0hpZGRlbltpXVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoZWFkaW5nIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbVtoZWFkaW5nXTsgZWxzZSBzaG93RW1wdHlUZFwiPlxuICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWRcbiAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInRvQ2FzZUZpZWxkKGhlYWRpbmcsIGl0ZW1baGVhZGluZ10ubGFiZWwsIGNvbHVtbnNIb3Jpem9udGFsTGFiZWxbaGVhZGluZ10udHlwZSwgaXRlbVtoZWFkaW5nXSlcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dFbXB0eVRkPlxuICAgICAgICAgICAgICA8ZGl2PiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+IDxpbWcgc3JjPVwie3sgZ2V0SW1hZ2UoaSkgfX1cIiBhbHQ9XCJpbWFnZVwiIGNsYXNzPVwiYWNjb3JkaW9uLWltYWdlXCIvPjwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBjb2xsYXBzZWQgdmlldz4tLT5cbiAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kZWQgdmlldz4tLT5cbiAgICAgIDx0ciBbaGlkZGVuXT1cImlzSGlkZGVuW2ldXCI+XG4gICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIDFcIj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImNvbXBsZXggcGFuZWwgdGFibGUgZXhwYW5kZWRcIj5cbiAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZMYWJlbCBvZiBjb2x1bW5zVmVydGljYWxMYWJlbCB8IGtleXZhbHVlOiBrZWVwT3JpZ2luYWxPcmRlciB8IGNjZENvbGxlY3Rpb25UYWJsZUNhc2VGaWVsZHNGaWx0ZXI6IGNhc2VGaWVsZDogcm93c1tpXSB8IGNjZFJlYWRGaWVsZHNGaWx0ZXI6dHJ1ZSA6dW5kZWZpbmVkIDp0cnVlXCI+XG4gICAgICAgICAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IHNpbXBsZSBmaWVsZD4tLT5cbiAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1zaW1wbGUtZmllbGQgYWNjb3JkaW9uLWJvZHlcIiAqbmdJZj1cIml0ZW1bdkxhYmVsLmlkXVwiIFtoaWRkZW5dPVwidkxhYmVsLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7dkxhYmVsLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ2TGFiZWxbJ3R5cGUnXSAhPT0gJ0NvbXBsZXgnXCIgY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJ0b0Nhc2VGaWVsZCgnJywgdkxhYmVsLmxhYmVsLCB2TGFiZWwuZmllbGRfdHlwZSwgaXRlbVt2TGFiZWwuaWRdKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPCEtLSA8L0NPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IHNpbXBsZSBmaWVsZD4tLT5cblxuICAgICAgICAgICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBjb21wbGV4IGZpZWxkPi0tPlxuICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJ2TGFiZWxbJ3R5cGUnXSA9PT0gJ0NvbXBsZXgnICYmIGFkZENhc2VGaWVsZFZhbHVlKHZMYWJlbCwgaXRlbVt2TGFiZWwuaWRdKVwiIFtoaWRkZW5dPVwidkxhYmVsLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FzZUZpZWxkIG9mIHZMYWJlbCB8IGNjZFJlYWRGaWVsZHNGaWx0ZXI6dHJ1ZSA6dW5kZWZpbmVkIDp0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1jb21wb3VuZC1maWVsZFwiICpuZ0lmPVwiKGNhc2VGaWVsZCB8IGNjZElzQ29tcG91bmQpOyBlbHNlIFNpbXBsZVJvd1wiIFtoaWRkZW5dPVwiY2FzZUZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+PGNjZC1maWVsZC1yZWFkIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjU2ltcGxlUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1uZXN0ZWQtZmllbGRcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjYXNlRmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCIhaXRlbVt2TGFiZWwuaWRdPy5oYXNPd25Qcm9wZXJ0eSgnQ2FzZVJlZmVyZW5jZScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+PGNjZC1maWVsZC1yZWFkIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJpdGVtW3ZMYWJlbC5pZF0/Lmhhc093blByb3BlcnR5KCdDYXNlUmVmZXJlbmNlJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2NkLXJlYWQtY2FzZS1saW5rLWZpZWxkIFtjYXNlRmllbGRdPVwiYWRkQ2FzZVJlZmVyZW5jZVZhbHVlKGNhc2VGaWVsZCwgaXRlbVt2TGFiZWwuaWRdLkNhc2VSZWZlcmVuY2UpXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLXJlYWQtY2FzZS1saW5rLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgY29tcGxleCBmaWVsZD4tLT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGV4cGFuZGVkIHZpZXc+LS0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
419
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0lDS25GLDZCQUFnRDtJQUM5QywrQkFBc0I7SUFBQSxZQUFrRDs7SUFBQSxpQkFBTztJQUMvRSw0QkFHdUQ7SUFGcEQsMFBBQW9DO0lBRWdCLGlCQUFJO0lBQzdELGlCQUFLOzs7O0lBTG1CLGVBQWtEO0lBQWxELHFGQUFrRDtJQUlyRSxlQUFtRDtJQUFuRCxxR0FBbUQ7OztJQVdsRCwyQkFBNkM7SUFDM0MscUNBRXVDO0lBQ3pDLGlCQUFNOzs7OztJQUZGLGVBQTRHO0lBQTVHLDRKQUE0Ryw0QkFBQTs7O0lBSTlHLDJCQUFLO0lBQUEsc0JBQU07SUFBQSxpQkFBTTs7O0lBUnZCLDZCQUE4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LENBQUM7O2lMQWxLVSx3Q0FBd0M7NkVBQXhDLHdDQUF3QztRQ1hyRCw4QkFBdUQ7UUFDckQsNkJBQWdDO1FBQzlCLDBCQUFJO1FBQUEsK0JBQXNCO1FBQUEsWUFBa0M7O1FBQUEsaUJBQU87UUFBQSxpQkFBSztRQUN4RSxxQkFBUztRQUNYLGlCQUFLO1FBQ0wsZ0NBQTBFO1FBQ3hFLDZCQUFPO1FBRVAsMEJBQUk7UUFDRix5RkFNSztRQUNMLHNCQUFTO1FBQ1gsaUJBQUs7UUFFTCwrR0FzRWU7UUFDZixpQkFBUTtRQUNWLGlCQUFRO1FBQ1YsaUJBQU07O1FBNUZxQiw2Q0FBMkI7UUFFeEIsZUFBa0M7UUFBbEMsK0RBQWtDO1FBT2xDLGVBQVU7UUFBVixxQ0FBVTtRQVVMLGVBQVM7UUFBVCxrQ0FBUzs7cUdEUi9CLHdDQUF3Qzt1RkFBeEMsd0NBQXdDO2NBTHBELFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUseUNBQXlDO2dCQUNuRCxXQUFXLEVBQUUsNENBQTRDO2dCQUN6RCxTQUFTLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQzthQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXJlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbHVtbnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgY29sdW1uc1ZlcnRpY2FsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNIb3Jpem9udGFsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNBbGxMYWJlbHM6IGFueTtcbiAgcHVibGljIHJvd3M6IGFueVtdID0gW107XG4gIHB1YmxpYyBpc0hpZGRlbjogYm9vbGVhbltdID0gW107XG4gIHByaXZhdGUgc3RhdGljIGlzU29ydEFzY2VuZGluZyhjb2x1bW46IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKGNvbHVtbi5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjb2x1bW4uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlclxuICAgICAgJiYgdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCkuc3RhcnRzV2l0aCgnI1RBQkxFKCcpKSB7XG5cbiAgICAgIGNvbnN0IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID0gdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCk7XG4gICAgICBjb25zdCByZXN1bHQ6IHN0cmluZyA9IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyLnJlcGxhY2UoJyNUQUJMRSgnLCAnJyk7XG4gICAgICB0aGlzLmNvbHVtbnMgPSByZXN1bHQucmVwbGFjZSgnKScsICcnKS5zcGxpdCgnLCcpLm1hcCgoYzogc3RyaW5nKSA9PiBjLnRyaW0oKSk7XG5cbiAgICAgIGNvbnN0IGxhYmVsc1ZlcnRpY2FsOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgY29uc3QgbGFiZWxzSG9yaXpvbnRhbDogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIGNvbnN0IGFsbExhYmVsczogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIHRoaXMucG9wdWxhdGVDYXNlRmllbGRWYWx1ZXNJbnRvUm93cygpO1xuICAgICAgdGhpcy5wb3B1bGF0ZUxhYmVscyhsYWJlbHNWZXJ0aWNhbCwgYWxsTGFiZWxzKTtcbiAgICAgIHRoaXMucG9wdWxhdGVIb3Jpem9udGFsTGFiZWxzKGxhYmVsc0hvcml6b250YWwsIGFsbExhYmVscywgbGFiZWxzVmVydGljYWwpO1xuXG4gICAgICB0aGlzLmNvbHVtbnNWZXJ0aWNhbExhYmVsID0gbGFiZWxzVmVydGljYWw7XG4gICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWwgPSBsYWJlbHNIb3Jpem9udGFsO1xuICAgICAgdGhpcy5jb2x1bW5zQWxsTGFiZWxzID0gYWxsTGFiZWxzO1xuXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEltYWdlKHJvdyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNIaWRkZW5bcm93XSkge1xuICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNsZURhdGFOb3RFbXB0eShyb3cpKSB7XG4gICAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1taW51cy5wbmcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0hpZGRlbltyb3ddID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSAnY2NkRmllbGRzRmlsdGVyJyBwaXBlIGlzIHVzZWQsIGFzIGl0IG5lZWRzIGEgY2FzZUZpZWxkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFkZENhc2VGaWVsZFZhbHVlKGZpZWxkLCB2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNOb3RCbGFuayh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJztcbiAgfVxuXG4gIHB1YmxpYyBhZGRDYXNlUmVmZXJlbmNlVmFsdWUoZmllbGQsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGZpZWxkLnZhbHVlID0geyBDYXNlUmVmZXJlbmNlOiB2YWx1ZX07XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgcHVibGljIHRvQ2FzZUZpZWxkKGlkOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIGZpZWxkVHlwZTogYW55LCB2YWx1ZTogYW55KTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIGRpc3BsYXlfY29udGV4dDogJ1JFQURPTkxZJyxcbiAgICAgIHZhbHVlLFxuICAgICAgZmllbGRfdHlwZTogZmllbGRUeXBlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMga2VlcE9yaWdpbmFsT3JkZXIgPSAoYSwgYikgPT4gYS5rZXk7XG5cbiAgcHVibGljIHNvcnRSb3dzQnlDb2x1bW5zKGNvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyID0gdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuVU5TT1JURURcbiAgICAgIHx8IHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHRcbiAgICBzd2l0Y2ggKHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnTnVtYmVyJzpcbiAgICAgIGNhc2UgJ01vbmV5R0JQJzoge1xuICAgICAgICBpZiAoc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIpIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIC0gYltjb2x1bW5dKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBiW2NvbHVtbl0gLSBhW2NvbHVtbl0pO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnVGV4dCc6XG4gICAgICBjYXNlICdUZXh0QXJlYSc6XG4gICAgICBjYXNlICdFbWFpbCc6XG4gICAgICBjYXNlICdEYXRlJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lJzpcbiAgICAgIGNhc2UgJ0xhYmVsJzpcbiAgICAgIGNhc2UgJ1Bvc3Rjb2RlJzpcbiAgICAgIGNhc2UgJ1llc09yTm8nOlxuICAgICAgY2FzZSAnUGhvbmVVSyc6XG4gICAgICBjYXNlICdGaXhlZExpc3QnOiB7XG4gICAgICAgIGlmIChzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlcikge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAtMSA6IGFbY29sdW1uXSA+IGJbY29sdW1uXSA/IDEgOiAwKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAxIDogYVtjb2x1bW5dID4gYltjb2x1bW5dID8gLTEgOiAwKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbikgPyAnJiM5NjYwOycgOiAnJiM5NjUwOyc7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlSG9yaXpvbnRhbExhYmVscyhsYWJlbHNIb3Jpem9udGFsOiB7IFtwOiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsTGFiZWxzOiB7IFtwOiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzVmVydGljYWw6IHsgW3A6IHN0cmluZ106IGFueSB9KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpZCBvZiB0aGlzLmNvbHVtbnMpIHtcbiAgICAgIGNvbnN0IHRyaW1tZWRJZCA9IGlkLnRyaW0oKTtcbiAgICAgIGxhYmVsc0hvcml6b250YWxbdHJpbW1lZElkXSA9IGFsbExhYmVsc1t0cmltbWVkSWRdO1xuICAgICAgbGFiZWxzSG9yaXpvbnRhbFt0cmltbWVkSWRdLnNvcnRPcmRlciA9IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgICAgIGRlbGV0ZSBsYWJlbHNWZXJ0aWNhbFt0cmltbWVkSWRdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVMYWJlbHMobGFiZWxzVmVydGljYWw6IHsgW3A6IHN0cmluZ106IGFueSB9LCBhbGxMYWJlbHM6IHsgW3A6IHN0cmluZ106IGFueSB9KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBvYmogb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgaWYgKG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdGaXhlZExpc3QnIHx8XG4gICAgICAgIG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdNdWx0aVNlbGVjdExpc3QnIHx8XG4gICAgICAgIG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdGaXhlZFJhZGlvTGlzdCcpIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgICBhbGxMYWJlbHNbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZX07XG4gICAgICB9IGVsc2UgaWYgKG9iai5pc0NvbXBsZXgoKSkge1xuICAgICAgICBsYWJlbHNWZXJ0aWNhbFtvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlLnR5cGUsIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiB7dHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZX0sIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZToge3R5cGU6IG9iai5maWVsZF90eXBlLnR5cGV9LCBjYXNlRmllbGQ6IG9ian07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUNhc2VGaWVsZFZhbHVlc0ludG9Sb3dzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIHRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICB0aGlzLnJvd3MucHVzaChvYmoudmFsdWUpO1xuICAgICAgdGhpcy5pc0hpZGRlbi5wdXNoKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNWZXJ0aWNsZURhdGFOb3RFbXB0eShyb3cpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jb2x1bW5zVmVydGljYWxMYWJlbCkge1xuICAgICAgaWYgKHRoaXMucm93c1tyb3ddW2tleV0pIHtcbiAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBsZXgtcGFuZWxcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIj5cbiAgPGRsIGNsYXNzPVwiY29tcGxleC1wYW5lbC10aXRsZVwiPlxuICAgIDxkdD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvZHQ+XG4gICAgPGRkPjwvZGQ+XG4gIDwvZGw+XG4gIDx0YWJsZSBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29tcGxleCBwYW5lbCB0YWJsZVwiPlxuICAgIDx0Ym9keT5cbiAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGZpZWxkIGhlYWRlcj4tLT5cbiAgICA8dHI+XG4gICAgICA8dGggKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgY29sdW1uc1wiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y29sdW1uc0FsbExhYmVsc1toZWFkaW5nXS5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgICAgKGNsaWNrKT1cInNvcnRSb3dzQnlDb2x1bW5zKGhlYWRpbmcpXCJcbiAgICAgICAgICAgY2xhc3M9XCJzb3J0LXdpZGdldFwiXG4gICAgICAgICAgIFtpbm5lckhUTUxdPVwic29ydFdpZGdldChjb2x1bW5zQWxsTGFiZWxzW2hlYWRpbmddKVwiPjwvYT5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+PC90aD5cbiAgICA8L3RyPlxuICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGZpZWxkIGhlYWRlcj4tLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvd3M7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGNvbGxhcHNlZCB2aWV3Pi0tPlxuICAgICAgPHRyIGNsYXNzPVwibmV3LXRhYmxlLXJvdyBhY2NvcmRpb24taGVhZGluZ1wiIChjbGljayk9XCJpc0hpZGRlbltpXSA9ICFpc0hpZGRlbltpXVwiXG4gICAgICAgICAgW2NsYXNzLmxhc3QtYWNjb3JkaW9uXT1cImlzSGlkZGVuW2ldXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgY29sdW1uc1wiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtW2hlYWRpbmddOyBlbHNlIHNob3dFbXB0eVRkXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZFxuICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwidG9DYXNlRmllbGQoaGVhZGluZywgaXRlbVtoZWFkaW5nXS5sYWJlbCwgY29sdW1uc0hvcml6b250YWxMYWJlbFtoZWFkaW5nXS50eXBlLCBpdGVtW2hlYWRpbmddKVwiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0VtcHR5VGQ+XG4gICAgICAgICAgICAgIDxkaXY+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cImZsb2F0OiByaWdodDtcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj4gPGltZyBzcmM9XCJ7eyBnZXRJbWFnZShpKSB9fVwiIGFsdD1cImltYWdlXCIgY2xhc3M9XCJhY2NvcmRpb24taW1hZ2VcIi8+PC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGNvbGxhcHNlZCB2aWV3Pi0tPlxuICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRlZCB2aWV3Pi0tPlxuICAgICAgPHRyIFtoaWRkZW5dPVwiaXNIaWRkZW5baV1cIj5cbiAgICAgICAgPHRkIFtjb2xTcGFuXT1cImNvbHVtbnMubGVuZ3RoICsgMVwiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29tcGxleCBwYW5lbCB0YWJsZSBleHBhbmRlZFwiPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdkxhYmVsIG9mIGNvbHVtbnNWZXJ0aWNhbExhYmVsIHwga2V5dmFsdWU6IGtlZXBPcmlnaW5hbE9yZGVyIHwgY2NkQ29sbGVjdGlvblRhYmxlQ2FzZUZpZWxkc0ZpbHRlcjogY2FzZUZpZWxkOiByb3dzW2ldIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjp0cnVlIDp1bmRlZmluZWQgOnRydWVcIj5cbiAgICAgICAgICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgc2ltcGxlIGZpZWxkPi0tPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZCBhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiaXRlbVt2TGFiZWwuaWRdXCIgW2hpZGRlbl09XCJ2TGFiZWwuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3t2TGFiZWwubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInZMYWJlbFsndHlwZSddICE9PSAnQ29tcGxleCdcIiBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbY2FzZUZpZWxkXT1cInRvQ2FzZUZpZWxkKCcnLCB2TGFiZWwubGFiZWwsIHZMYWJlbC5maWVsZF90eXBlLCBpdGVtW3ZMYWJlbC5pZF0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgc2ltcGxlIGZpZWxkPi0tPlxuXG4gICAgICAgICAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IGNvbXBsZXggZmllbGQ+LS0+XG4gICAgICAgICAgICAgIDx0ciAqbmdJZj1cInZMYWJlbFsndHlwZSddID09PSAnQ29tcGxleCcgJiYgYWRkQ2FzZUZpZWxkVmFsdWUodkxhYmVsLCBpdGVtW3ZMYWJlbC5pZF0pXCIgW2hpZGRlbl09XCJ2TGFiZWwuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXNlRmllbGQgb2YgdkxhYmVsIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjp0cnVlIDp1bmRlZmluZWQgOnRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLWNvbXBvdW5kLWZpZWxkXCIgKm5nSWY9XCIoY2FzZUZpZWxkIHwgY2NkSXNDb21wb3VuZCk7IGVsc2UgU2ltcGxlUm93XCIgW2hpZGRlbl09XCJjYXNlRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj48Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNTaW1wbGVSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLW5lc3RlZC1maWVsZFwiIFtoaWRkZW5dPVwiY2FzZUZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIiFpdGVtW3ZMYWJlbC5pZF0/Lmhhc093blByb3BlcnR5KCdDYXNlUmVmZXJlbmNlJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj48Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIml0ZW1bdkxhYmVsLmlkXT8uaGFzT3duUHJvcGVydHkoJ0Nhc2VSZWZlcmVuY2UnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjY2QtcmVhZC1jYXNlLWxpbmstZmllbGQgW2Nhc2VGaWVsZF09XCJhZGRDYXNlUmVmZXJlbmNlVmFsdWUoY2FzZUZpZWxkLCBpdGVtW3ZMYWJlbC5pZF0uQ2FzZVJlZmVyZW5jZSlcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtcmVhZC1jYXNlLWxpbmstZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBjb21wbGV4IGZpZWxkPi0tPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPCEtLSA8L0NPTVBMRVggdGFibGUgZXhwYW5kZWQgdmlldz4tLT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  // tslint:disable:variable-name
2
2
  export class CaseFileViewDocument {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZG9jdW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLG9CQUFvQjtDQU9oQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOnZhcmlhYmxlLW5hbWVcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdEb2N1bWVudCB7XG4gIHB1YmxpYyBkb2N1bWVudF91cmw6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50X2ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudF9iaW5hcnlfdXJsOiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRyaWJ1dGVfcGF0aDogc3RyaW5nO1xuICBwdWJsaWMgdXBsb2FkX3RpbWVzdGFtcDogc3RyaW5nO1xuICBwdWJsaWMgY29udGVudF90eXBlOiBzdHJpbmc7XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZG9jdW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLG9CQUFvQjtDQU9oQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOnZhcmlhYmxlLW5hbWVcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdEb2N1bWVudCB7XG4gIHB1YmxpYyBkb2N1bWVudF91cmw6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50X2ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudF9iaW5hcnlfdXJsOiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRyaWJ1dGVfcGF0aDogc3RyaW5nO1xuICBwdWJsaWMgdXBsb2FkX3RpbWVzdGFtcDogRGF0ZSB8IHN0cmluZztcbiAgcHVibGljIGNvbnRlbnRfdHlwZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ export var CaseFileViewSortColumns;
2
+ (function (CaseFileViewSortColumns) {
3
+ CaseFileViewSortColumns[CaseFileViewSortColumns["DOCUMENT_NAME"] = 0] = "DOCUMENT_NAME";
4
+ CaseFileViewSortColumns[CaseFileViewSortColumns["DOCUMENT_UPLOAD_TIMESTAMP"] = 1] = "DOCUMENT_UPLOAD_TIMESTAMP";
5
+ })(CaseFileViewSortColumns || (CaseFileViewSortColumns = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctc29ydC1jb2x1bW5zLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1zb3J0LWNvbHVtbnMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQ2pDLHVGQUFhLENBQUE7SUFDYiwrR0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENhc2VGaWxlVmlld1NvcnRDb2x1bW5zIHtcbiAgRE9DVU1FTlRfTkFNRSxcbiAgRE9DVU1FTlRfVVBMT0FEX1RJTUVTVEFNUFxufVxuIl19
@@ -1,6 +1,8 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  // tslint:disable:variable-name
3
3
  import { Expose, Type } from 'class-transformer';
4
+ import { SortOrder } from '../../sort-order.enum';
5
+ import { CaseFileViewSortColumns } from '../case-file-view-sort-columns.enum';
4
6
  import { DocumentTreeNodeType } from './document-tree-node-type.model';
5
7
  export class DocumentTreeNode {
6
8
  get childDocumentCount() {
@@ -17,48 +19,54 @@ export class DocumentTreeNode {
17
19
  };
18
20
  return countChildren(this.children);
19
21
  }
20
- sortChildrenAscending() {
22
+ sortChildrenAscending(column, sortOrder) {
21
23
  var _a, _b;
22
24
  const sortAscending = () => {
23
25
  return (a, b) => {
24
- const nameA = a.name.toUpperCase();
25
- const nameB = b.name.toUpperCase();
26
+ const nodeA = this.getNodeToSort(a, column, sortOrder);
27
+ const nodeB = this.getNodeToSort(b, column, sortOrder);
26
28
  if (a.type === DocumentTreeNodeType.FOLDER || b.type === DocumentTreeNodeType.FOLDER) {
27
29
  return 0;
28
30
  }
29
- if (nameA < nameB) {
31
+ if (!nodeA || !nodeB) {
32
+ return 0;
33
+ }
34
+ if (nodeA < nodeB) {
30
35
  return -1;
31
36
  }
32
- if (nameA > nameB) {
37
+ if (nodeA > nodeB) {
33
38
  return 1;
34
39
  }
35
40
  };
36
41
  };
37
42
  (_a = this.children) === null || _a === void 0 ? void 0 : _a.sort(sortAscending());
38
43
  (_b = this.children) === null || _b === void 0 ? void 0 : _b.forEach((childNodes) => {
39
- childNodes.sortChildrenAscending();
44
+ childNodes.sortChildrenAscending(column, sortOrder);
40
45
  });
41
46
  }
42
- sortChildrenDescending() {
47
+ sortChildrenDescending(column, sortOrder) {
43
48
  var _a, _b;
44
49
  const sortDescending = () => {
45
50
  return (a, b) => {
46
- const nameA = a.name.toUpperCase();
47
- const nameB = b.name.toUpperCase();
51
+ const nodeA = this.getNodeToSort(a, column, sortOrder);
52
+ const nodeB = this.getNodeToSort(b, column, sortOrder);
48
53
  if (a.type === DocumentTreeNodeType.FOLDER || b.type === DocumentTreeNodeType.FOLDER) {
49
54
  return 0;
50
55
  }
51
- if (nameA > nameB) {
56
+ if (!nodeA || !nodeB) {
57
+ return 0;
58
+ }
59
+ if (nodeA > nodeB) {
52
60
  return -1;
53
61
  }
54
- if (nameA < nameB) {
62
+ if (nodeA < nodeB) {
55
63
  return 1;
56
64
  }
57
65
  };
58
66
  };
59
67
  (_a = this.children) === null || _a === void 0 ? void 0 : _a.sort(sortDescending());
60
68
  (_b = this.children) === null || _b === void 0 ? void 0 : _b.forEach((childNodes) => {
61
- childNodes.sortChildrenDescending();
69
+ childNodes.sortChildrenDescending(column, sortOrder);
62
70
  });
63
71
  }
64
72
  get flattenedAll() {
@@ -81,6 +89,24 @@ export class DocumentTreeNode {
81
89
  }).flat()
82
90
  ];
83
91
  }
92
+ getNodeToSort(node, column, sortOrder) {
93
+ if (column === CaseFileViewSortColumns.DOCUMENT_NAME) {
94
+ return (node === null || node === void 0 ? void 0 : node.name) ? node.name.toUpperCase()
95
+ : '';
96
+ }
97
+ if (column === CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) {
98
+ if (node === null || node === void 0 ? void 0 : node.upload_timestamp) {
99
+ return new Date(node.upload_timestamp);
100
+ }
101
+ if (sortOrder === SortOrder.ASCENDING) {
102
+ return new Date(9999, 12, 31);
103
+ }
104
+ if (sortOrder === SortOrder.DESCENDING) {
105
+ return new Date(1111, 1, 1);
106
+ }
107
+ }
108
+ return '';
109
+ }
84
110
  }
85
111
  __decorate([
86
112
  Type(() => DocumentTreeNode),
@@ -91,4 +117,4 @@ __decorate([
91
117
  __metadata("design:type", Object),
92
118
  __metadata("design:paramtypes", [])
93
119
  ], DocumentTreeNode.prototype, "childDocumentCount", null);
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFdkUsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixJQUFXLGtCQUFrQjtRQUMzQixNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQTBDLEVBQUUsRUFBRTtZQUNuRSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZCxJQUFJLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxNQUFNLEVBQUU7Z0JBQ3RCLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUN0RSxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUM5QixLQUFLLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxxQkFBcUI7O1FBQzFCLE1BQU0sYUFBYSxHQUFH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O0NBQ0Y7QUFoR0M7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7O2tEQUNRO0FBTXJDO0lBREMsTUFBTSxFQUFFOzs7MERBZ0JSIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6dmFyaWFibGUtbmFtZVxuaW1wb3J0IHsgRXhwb3NlLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRG9jdW1lbnRUcmVlTm9kZVR5cGUgfSBmcm9tICcuL2RvY3VtZW50LXRyZWUtbm9kZS10eXBlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIERvY3VtZW50VHJlZU5vZGUge1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgdHlwZTogRG9jdW1lbnRUcmVlTm9kZVR5cGU7XG4gIEBUeXBlKCgpID0+IERvY3VtZW50VHJlZU5vZGUpXG4gIHB1YmxpYyBjaGlsZHJlbj86IERvY3VtZW50VHJlZU5vZGVbXTtcbiAgcHVibGljIGRvY3VtZW50X2ZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnRfYmluYXJ5X3VybD86IHN0cmluZztcbiAgcHVibGljIGF0dHJpYnV0ZV9wYXRoPzogc3RyaW5nO1xuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgZ2V0IGNoaWxkRG9jdW1lbnRDb3VudCgpIHtcbiAgICBjb25zdCBjb3VudENoaWxkcmVuID0gKGNoaWxkTm9kZXM6IERvY3VtZW50VHJlZU5vZGVbXSB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgIGlmIChjaGlsZE5vZGVzPy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRzID0gY2hpbGROb2Rlcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdkb2N1bWVudCcpO1xuICAgICAgICBjb3VudCArPSBkb2N1bWVudHMubGVuZ3RoO1xuICAgICAgICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkcmVuKSA9PiB7XG4gICAgICAgICAgY291bnQgKz0gY291bnRDaGlsZHJlbihjaGlsZHJlbi5jaGlsZHJlbik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY291bnQ7XG4gICAgfTtcblxuICAgIHJldHVybiBjb3VudENoaWxkcmVuKHRoaXMuY2hpbGRyZW4pO1xuICB9XG5cbiAgcHVibGljIHNvcnRDaGlsZHJlbkFzY2VuZGluZygpIHtcbiAgICBjb25zdCBzb3J0QXNjZW5kaW5nID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IG5hbWVBID0gYS5uYW1lLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IG5hbWVCID0gYi5uYW1lLnRvVXBwZXJDYXNlKCk7XG5cbiAgICAgICAgaWYgKGEudHlwZSA9PT0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSIHx8IGIudHlwZSA9PT0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmFtZUEgPCBuYW1lQikge1xuICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuYW1lQSA+IG5hbWVCKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfTtcblxuICAgIHRoaXMuY2hpbGRyZW4/LnNvcnQoc29ydEFzY2VuZGluZygpKTtcbiAgICB0aGlzLmNoaWxkcmVuPy5mb3JFYWNoKChjaGlsZE5vZGVzKSA9PiB7XG4gICAgICBjaGlsZE5vZGVzLnNvcnRDaGlsZHJlbkFzY2VuZGluZygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNvcnRDaGlsZHJlbkRlc2NlbmRpbmcoKSB7XG4gICAgY29uc3Qgc29ydERlc2NlbmRpbmcgPSAoKSA9PiB7XG4gICAgICByZXR1cm4gKGEsIGIpID0+IHtcbiAgICAgICAgY29uc3QgbmFtZUEgPSBhLm5hbWUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbmFtZUIgPSBiLm5hbWUudG9VcHBlckNhc2UoKTtcblxuICAgICAgICBpZiAoYS50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVIgfHwgYi50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVIpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuYW1lQSA+IG5hbWVCKSB7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgdGhpcy5jaGlsZHJlbj8uc29ydChzb3J0RGVzY2VuZGluZygpKTtcbiAgICB0aGlzLmNoaWxkcmVuPy5mb3JFYWNoKChjaGlsZE5vZGVzKSA9PiB7XG4gICAgICBjaGlsZE5vZGVzLnNvcnRDaGlsZHJlbkRlc2NlbmRpbmcoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxhdHRlbmVkQWxsKCk6IERvY3VtZW50VHJlZU5vZGVbXSB7XG4gICAgY29uc3QgZmxhdHRlbkNoaWxkcmVuID0gKG5vZGVDaGlsZDogRG9jdW1lbnRUcmVlTm9kZSk6IERvY3VtZW50VHJlZU5vZGVbXSA9PiB7XG4gICAgICBjb25zdCBmbGF0dGVuZWROb2RlcyA9IFtdO1xuICAgICAgZmxhdHRlbmVkTm9kZXMucHVzaChub2RlQ2hpbGQpO1xuXG4gICAgICBpZiAobm9kZUNoaWxkLmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG5vZGVDaGlsZC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgZmxhdHRlbmVkTm9kZXMucHVzaCguLi5mbGF0dGVuQ2hpbGRyZW4oY2hpbGQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmbGF0dGVuZWROb2RlcztcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMsXG4gICAgICAuLi50aGlzLmNoaWxkcmVuPy5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBmbGF0dGVuQ2hpbGRyZW4oaXRlbSk7XG4gICAgICB9KS5mbGF0KClcbiAgICBdO1xuICB9XG59XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXZFLE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUEwQyxFQUFFLEVBQUU7WUFDbkUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsTUFBTSxFQUFFO2dCQUN0QixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztnQkFDdEUsS0FBSyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQzFCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDOUIsS0FBSyxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztR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LEVBQUU7Z0JBQ3RDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUE3SEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7O2tEQUNRO0FBT3JDO0lBREMsTUFBTSxFQUFFOzs7MERBZ0JSIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6dmFyaWFibGUtbmFtZVxuaW1wb3J0IHsgRXhwb3NlLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi4vLi4vc29ydC1vcmRlci5lbnVtJztcbmltcG9ydCB7IENhc2VGaWxlVmlld1NvcnRDb2x1bW5zIH0gZnJvbSAnLi4vY2FzZS1maWxlLXZpZXctc29ydC1jb2x1bW5zLmVudW0nO1xuaW1wb3J0IHsgRG9jdW1lbnRUcmVlTm9kZVR5cGUgfSBmcm9tICcuL2RvY3VtZW50LXRyZWUtbm9kZS10eXBlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIERvY3VtZW50VHJlZU5vZGUge1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgdHlwZTogRG9jdW1lbnRUcmVlTm9kZVR5cGU7XG4gIEBUeXBlKCgpID0+IERvY3VtZW50VHJlZU5vZGUpXG4gIHB1YmxpYyBjaGlsZHJlbj86IERvY3VtZW50VHJlZU5vZGVbXTtcbiAgcHVibGljIGRvY3VtZW50X2ZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnRfYmluYXJ5X3VybD86IHN0cmluZztcbiAgcHVibGljIGF0dHJpYnV0ZV9wYXRoPzogc3RyaW5nO1xuICBwdWJsaWMgdXBsb2FkX3RpbWVzdGFtcD86IHN0cmluZztcblxuICBARXhwb3NlKClcbiAgcHVibGljIGdldCBjaGlsZERvY3VtZW50Q291bnQoKSB7XG4gICAgY29uc3QgY291bnRDaGlsZHJlbiA9IChjaGlsZE5vZGVzOiBEb2N1bWVudFRyZWVOb2RlW10gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICBpZiAoY2hpbGROb2Rlcz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50cyA9IGNoaWxkTm9kZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnZG9jdW1lbnQnKTtcbiAgICAgICAgY291bnQgKz0gZG9jdW1lbnRzLmxlbmd0aDtcbiAgICAgICAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZHJlbikgPT4ge1xuICAgICAgICAgIGNvdW50ICs9IGNvdW50Q2hpbGRyZW4oY2hpbGRyZW4uY2hpbGRyZW4pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH07XG5cbiAgICByZXR1cm4gY291bnRDaGlsZHJlbih0aGlzLmNoaWxkcmVuKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0Q2hpbGRyZW5Bc2NlbmRpbmcoY29sdW1uOiBudW1iZXIsIHNvcnRPcmRlcikge1xuICAgIGNvbnN0IHNvcnRBc2NlbmRpbmcgPSAoKSA9PiB7XG4gICAgICByZXR1cm4gKGEsIGIpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZUEgPSB0aGlzLmdldE5vZGVUb1NvcnQoYSwgY29sdW1uLCBzb3J0T3JkZXIpO1xuICAgICAgICBjb25zdCBub2RlQiA9IHRoaXMuZ2V0Tm9kZVRvU29ydChiLCBjb2x1bW4sIHNvcnRPcmRlcik7XG5cbiAgICAgICAgaWYgKGEudHlwZSA9PT0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSIHx8IGIudHlwZSA9PT0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5vZGVBIHx8ICFub2RlQikge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vZGVBIDwgbm9kZUIpIHtcbiAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobm9kZUEgPiBub2RlQikge1xuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH07XG5cbiAgICB0aGlzLmNoaWxkcmVuPy5zb3J0KHNvcnRBc2NlbmRpbmcoKSk7XG4gICAgdGhpcy5jaGlsZHJlbj8uZm9yRWFjaCgoY2hpbGROb2RlcykgPT4ge1xuICAgICAgY2hpbGROb2Rlcy5zb3J0Q2hpbGRyZW5Bc2NlbmRpbmcoY29sdW1uLCBzb3J0T3JkZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNvcnRDaGlsZHJlbkRlc2NlbmRpbmcoY29sdW1uOiBudW1iZXIsIHNvcnRPcmRlcikge1xuICAgIGNvbnN0IHNvcnREZXNjZW5kaW5nID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVBID0gdGhpcy5nZXROb2RlVG9Tb3J0KGEsIGNvbHVtbiwgc29ydE9yZGVyKTtcbiAgICAgICAgY29uc3Qgbm9kZUIgPSB0aGlzLmdldE5vZGVUb1NvcnQoYiwgY29sdW1uLCBzb3J0T3JkZXIpO1xuXG4gICAgICAgIGlmIChhLnR5cGUgPT09IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUiB8fCBiLnR5cGUgPT09IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUikge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFub2RlQSB8fCAhbm9kZUIpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlQSA+IG5vZGVCKSB7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vZGVBIDwgbm9kZUIpIHtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgdGhpcy5jaGlsZHJlbj8uc29ydChzb3J0RGVzY2VuZGluZygpKTtcbiAgICB0aGlzLmNoaWxkcmVuPy5mb3JFYWNoKChjaGlsZE5vZGVzKSA9PiB7XG4gICAgICBjaGlsZE5vZGVzLnNvcnRDaGlsZHJlbkRlc2NlbmRpbmcoY29sdW1uLCBzb3J0T3JkZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBmbGF0dGVuZWRBbGwoKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICBjb25zdCBmbGF0dGVuQ2hpbGRyZW4gPSAobm9kZUNoaWxkOiBEb2N1bWVudFRyZWVOb2RlKTogRG9jdW1lbnRUcmVlTm9kZVtdID0+IHtcbiAgICAgIGNvbnN0IGZsYXR0ZW5lZE5vZGVzID0gW107XG4gICAgICBmbGF0dGVuZWROb2Rlcy5wdXNoKG5vZGVDaGlsZCk7XG5cbiAgICAgIGlmIChub2RlQ2hpbGQuY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgbm9kZUNoaWxkLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBmbGF0dGVuZWROb2Rlcy5wdXNoKC4uLmZsYXR0ZW5DaGlsZHJlbihjaGlsZCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZsYXR0ZW5lZE5vZGVzO1xuICAgIH07XG5cbiAgICByZXR1cm4gW1xuICAgICAgdGhpcyxcbiAgICAgIC4uLnRoaXMuY2hpbGRyZW4/Lm1hcChpdGVtID0+IHtcbiAgICAgICAgcmV0dXJuIGZsYXR0ZW5DaGlsZHJlbihpdGVtKTtcbiAgICAgIH0pLmZsYXQoKVxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVUb1NvcnQobm9kZTogYW55LCBjb2x1bW46IG51bWJlciwgc29ydE9yZGVyOiBudW1iZXIpOiBEYXRlIHwgc3RyaW5nIHtcbiAgICBpZiAoY29sdW1uID09PSBDYXNlRmlsZVZpZXdTb3J0Q29sdW1ucy5ET0NVTUVOVF9OQU1FKSB7XG4gICAgICByZXR1cm4gbm9kZT8ubmFtZVxuICAgICAgICA/IG5vZGUubmFtZS50b1VwcGVyQ2FzZSgpXG4gICAgICAgIDogJyc7XG4gICAgfVxuICAgIGlmIChjb2x1bW4gPT09IENhc2VGaWxlVmlld1NvcnRDb2x1bW5zLkRPQ1VNRU5UX1VQTE9BRF9USU1FU1RBTVApIHtcbiAgICAgIGlmIChub2RlPy51cGxvYWRfdGltZXN0YW1wKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShub2RlLnVwbG9hZF90aW1lc3RhbXApO1xuICAgICAgfVxuICAgICAgaWYgKHNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkFTQ0VORElORykge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoOTk5OSwgMTIsIDMxKTtcbiAgICAgIH1cbiAgICAgIGlmIChzb3J0T3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSgxMTExLCAxLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  export * from './case-file-view-category.model';
2
2
  export * from './case-file-view-document.model';
3
+ export * from './case-file-view-sort-columns.enum';
3
4
  export * from './categories-and-documents.model';
4
- export * from './document-tree-node/document-tree-node.model';
5
5
  export * from './document-tree-node/document-tree-node-type.model';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWNhdGVnb3J5Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXctZG9jdW1lbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRlZ29yaWVzLWFuZC1kb2N1bWVudHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC10cmVlLW5vZGUvZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS10eXBlLm1vZGVsJztcbiJdfQ==
6
+ export * from './document-tree-node/document-tree-node.model';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXctY2F0ZWdvcnkubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LXNvcnQtY29sdW1ucy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS10eXBlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbCc7XG4iXX0=
@@ -1,24 +1,24 @@
1
1
  export * from './activity';
2
2
  export * from './addresses';
3
3
  export * from './alert';
4
+ export * from './case-details.model';
4
5
  export * from './case-edit';
6
+ export * from './case-event-data.model';
5
7
  export * from './case-view';
6
8
  export * from './definition';
7
9
  export * from './document';
10
+ export * from './draft.model';
11
+ export * from './error-message.model';
8
12
  export * from './http';
9
13
  export * from './order';
10
14
  export * from './organisation';
15
+ export * from './pagination-metadata.model';
16
+ export * from './predicate.model';
11
17
  export * from './profile';
12
18
  export * from './search';
13
- export * from './predicate.model';
14
- export * from './draft.model';
15
- export * from './case-details.model';
16
- export * from './case-event-data.model';
17
- export * from './workbasket';
18
- export * from './pagination-metadata.model';
19
- export * from './search/sorting/sort-order';
20
- export * from './search/sorting/sort-parameters';
21
19
  export * from './search/sorting/search-result-view-item-comparator';
20
+ export * from './search/sorting/sort-parameters';
21
+ export * from './sort-order.enum';
22
22
  export * from './work-allocation';
23
- export * from './error-message.model';
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3Nlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1lZGl0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS12aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vZGVmaW5pdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZWRpY2F0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2RyYWZ0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1kZXRhaWxzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1ldmVudC1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Jhc2tldCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24tbWV0YWRhdGEubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvc29ydGluZy9zb3J0LW9yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoL3NvcnRpbmcvc29ydC1wYXJhbWV0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoL3NvcnRpbmcvc2VhcmNoLXJlc3VsdC12aWV3LWl0ZW0tY29tcGFyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstYWxsb2NhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLW1lc3NhZ2UubW9kZWwnO1xuIl19
23
+ export * from './workbasket';
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3Nlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1kZXRhaWxzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1lZGl0JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1ldmVudC1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS12aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vZGVmaW5pdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1tZXNzYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi1tZXRhZGF0YS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZWRpY2F0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvc29ydGluZy9zZWFyY2gtcmVzdWx0LXZpZXctaXRlbS1jb21wYXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoL3NvcnRpbmcvc29ydC1wYXJhbWV0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1vcmRlci5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1hbGxvY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Jhc2tldCc7XG4iXX0=
@@ -4,4 +4,4 @@ export class SortParameters {
4
4
  this.sortOrder = sortOrder;
5
5
  }
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1wYXJhbWV0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vc2VhcmNoL3NvcnRpbmcvc29ydC1wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQVksVUFBMEMsRUFBRSxTQUFvQjtRQUMxRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3IgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHQtdmlldy1pdGVtLWNvbXBhcmF0b3InO1xuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi9zb3J0LW9yZGVyJztcblxuZXhwb3J0IGNsYXNzIFNvcnRQYXJhbWV0ZXJzIHtcblxuICBwdWJsaWMgY29tcGFyYXRvcjogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yO1xuICBwdWJsaWMgc29ydE9yZGVyOiBTb3J0T3JkZXI7XG5cbiAgY29uc3RydWN0b3IoY29tcGFyYXRvcjogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yLCBzb3J0T3JkZXI6IFNvcnRPcmRlcikge1xuICAgIHRoaXMuY29tcGFyYXRvciA9IGNvbXBhcmF0b3I7XG4gICAgdGhpcy5zb3J0T3JkZXIgPSBzb3J0T3JkZXI7XG4gIH1cblxufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1wYXJhbWV0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vc2VhcmNoL3NvcnRpbmcvc29ydC1wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQVksVUFBMEMsRUFBRSxTQUFvQjtRQUMxRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi9zb3J0LW9yZGVyLmVudW0nO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0LXZpZXctaXRlbS1jb21wYXJhdG9yJztcblxuZXhwb3J0IGNsYXNzIFNvcnRQYXJhbWV0ZXJzIHtcblxuICBwdWJsaWMgY29tcGFyYXRvcjogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yO1xuICBwdWJsaWMgc29ydE9yZGVyOiBTb3J0T3JkZXI7XG5cbiAgY29uc3RydWN0b3IoY29tcGFyYXRvcjogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yLCBzb3J0T3JkZXI6IFNvcnRPcmRlcikge1xuICAgIHRoaXMuY29tcGFyYXRvciA9IGNvbXBhcmF0b3I7XG4gICAgdGhpcy5zb3J0T3JkZXIgPSBzb3J0T3JkZXI7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,7 @@
1
+ export var SortOrder;
2
+ (function (SortOrder) {
3
+ SortOrder[SortOrder["ASCENDING"] = 0] = "ASCENDING";
4
+ SortOrder[SortOrder["DESCENDING"] = 1] = "DESCENDING";
5
+ SortOrder[SortOrder["UNSORTED"] = 2] = "UNSORTED";
6
+ })(SortOrder || (SortOrder = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1vcmRlci5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vc29ydC1vcmRlci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsbURBQVMsQ0FBQTtJQUNULHFEQUFVLENBQUE7SUFDVixpREFBUSxDQUFBO0FBQ1YsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU29ydE9yZGVyIHtcbiAgQVNDRU5ESU5HLFxuICBERVNDRU5ESU5HLFxuICBVTlNPUlRFRFxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Pipe } from '@angular/core';
2
2
  import { isUndefined } from 'util';
3
- import { SortOrder } from '../../../components/palette/complex/sort-order';
3
+ import { SortOrder } from '../../../domain';
4
4
  import * as i0 from "@angular/core";
5
5
  export class SortSearchResultPipe {
6
6
  transform(searchResults, sortParameters) {
@@ -21,4 +21,4 @@ SortSearchResultPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdSortSearchResult", t
21
21
  name: 'ccdSortSearchResult'
22
22
  }]
23
23
  }], null, null); })();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1zZWFyY2gtcmVzdWx0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL3NlYXJjaC1yZXN1bHQvc29ydGluZy9zb3J0LXNlYXJjaC1yZXN1bHQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLG9CQUFvQjtJQUV4QixTQUFTLENBQUMsYUFBcUMsRUFBRSxjQUE4QjtRQUVwRixJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDN0QsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQ3ZCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2tCQUNsQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7d0ZBYlUsb0JBQW9CO2tGQUFwQixvQkFBb0I7dUZBQXBCLG9CQUFvQjtjQUhoQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLHFCQUFxQjthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkIH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9zb3J0LW9yZGVyJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdFZpZXdJdGVtIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3NlYXJjaC9zZWFyY2gtcmVzdWx0LXZpZXctaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBTb3J0UGFyYW1ldGVycyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9zZWFyY2gvc29ydGluZy9zb3J0LXBhcmFtZXRlcnMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RTb3J0U2VhcmNoUmVzdWx0J1xufSlcbmV4cG9ydCBjbGFzcyBTb3J0U2VhcmNoUmVzdWx0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oc2VhcmNoUmVzdWx0czogU2VhcmNoUmVzdWx0Vmlld0l0ZW1bXSwgc29ydFBhcmFtZXRlcnM6IFNvcnRQYXJhbWV0ZXJzKSB7XG5cbiAgICBpZiAoaXNVbmRlZmluZWQoc2VhcmNoUmVzdWx0cykgfHwgaXNVbmRlZmluZWQoc29ydFBhcmFtZXRlcnMpKSB7XG4gICAgICByZXR1cm4gc2VhcmNoUmVzdWx0cztcbiAgICB9XG4gICAgcmV0dXJuIHNlYXJjaFJlc3VsdHMuc29ydChcbiAgICAgIChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiBzb3J0UGFyYW1ldGVycy5jb21wYXJhdG9yLmNvbXBhcmUoYSwgYilcbiAgICAgICAgICAgICAgICAgICogKHNvcnRQYXJhbWV0ZXJzLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRFU0NFTkRJTkcgPyAxIDogLTEpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1zZWFyY2gtcmVzdWx0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL3NlYXJjaC1yZXN1bHQvc29ydGluZy9zb3J0LXNlYXJjaC1yZXN1bHQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPNUMsTUFBTSxPQUFPLG9CQUFvQjtJQUV4QixTQUFTLENBQUMsYUFBcUMsRUFBRSxjQUE4QjtRQUVwRixJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDN0QsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQ3ZCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2tCQUNsQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7d0ZBYlUsb0JBQW9CO2tGQUFwQixvQkFBb0I7dUZBQXBCLG9CQUFvQjtjQUhoQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLHFCQUFxQjthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkIH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0Vmlld0l0ZW0gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vc2VhcmNoL3NlYXJjaC1yZXN1bHQtdmlldy1pdGVtLm1vZGVsJztcbmltcG9ydCB7IFNvcnRQYXJhbWV0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3NlYXJjaC9zb3J0aW5nL3NvcnQtcGFyYW1ldGVycyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NjZFNvcnRTZWFyY2hSZXN1bHQnXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRTZWFyY2hSZXN1bHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgcHVibGljIHRyYW5zZm9ybShzZWFyY2hSZXN1bHRzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdLCBzb3J0UGFyYW1ldGVyczogU29ydFBhcmFtZXRlcnMpIHtcblxuICAgIGlmIChpc1VuZGVmaW5lZChzZWFyY2hSZXN1bHRzKSB8fCBpc1VuZGVmaW5lZChzb3J0UGFyYW1ldGVycykpIHtcbiAgICAgIHJldHVybiBzZWFyY2hSZXN1bHRzO1xuICAgIH1cbiAgICByZXR1cm4gc2VhcmNoUmVzdWx0cy5zb3J0KFxuICAgICAgKGEsIGIpID0+IHtcbiAgICAgICAgcmV0dXJuIHNvcnRQYXJhbWV0ZXJzLmNvbXBhcmF0b3IuY29tcGFyZShhLCBiKVxuICAgICAgICAgICAgICAgICAgKiAoc29ydFBhcmFtZXRlcnMuc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyA/IDEgOiAtMSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { of } from 'rxjs';
3
3
  import { AbstractAppConfig } from '../../../app.config';
4
+ import { categoriesAndDocumentsTestData } from '../../components/palette/case-file-view/test-data/categories-and-documents-test-data';
4
5
  import { HttpService } from '../http';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../http";
@@ -17,6 +18,16 @@ export class CaseFileViewService {
17
18
  * @returns An `Observable` of the `CategoriesAndDocuments` for the case
18
19
  */
19
20
  getCategoriesAndDocuments(caseRef) {
21
+ // Case file view v1.1 epic - https://tools.hmcts.net/jira/browse/EUI-7807
22
+ // Display upload_timestamp - https://tools.hmcts.net/jira/browse/EUI-7819
23
+ // Sort by upload_timestamp - https://tools.hmcts.net/jira/browse/EUI-7812
24
+ // The property upload_timestamp is not available as it is not yet implemented by CCD
25
+ // Using this case reference '1666863124102280' to return the mock data with upload_timestamp
26
+ // The below 'if' statement should be removed once the upload_timestamp property is made available by CCD
27
+ // https://tools.hmcts.net/jira/browse/EUI-8129
28
+ if (caseRef === '1666863124102280') {
29
+ return of(categoriesAndDocumentsTestData);
30
+ }
20
31
  let url = this.appConfig.getCategoriesAndDocumentsUrl();
21
32
  if (url) {
22
33
  url += `/${caseRef}`;
@@ -43,4 +54,4 @@ CaseFileViewService.ɵprov = i0.ɵɵdefineInjectable({ token: CaseFileViewServic
43
54
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewService, [{
44
55
  type: Injectable
45
56
  }], function () { return [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }]; }, null); })();
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQUd0QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ21CLElBQWlCLEVBQ2pCLFNBQTRCO1FBRDVCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7SUFDM0MsQ0FBQztJQUVMOzs7OztPQUtHO0lBQ0kseUJBQXlCLENBQUMsT0FBZTtRQUM5QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFFeEQsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUVyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVNLHNCQUFzQixDQUFDLE9BQWUsRUFDZixXQUFtQixFQUNuQixhQUFxQixFQUNyQixVQUFrQjtRQUM5QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFOUMsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksR0FBRztnQkFDWCxZQUFZLEVBQUUsV0FBVztnQkFDekIsY0FBYyxFQUFFLGFBQWE7Z0JBQzdCLFdBQVcsRUFBRSxVQUFVO2FBQ3hCLENBQUM7WUFFRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztTQUNwRDtRQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O3NGQTFDVSxtQkFBbUI7MkRBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7dUZBQW5CLG1CQUFtQjtjQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzIH0gZnJvbSAnLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWdcbiAgKSB7IH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjYXRlZ29yaWVzIGFuZCBkb2N1bWVudHMgZm9yIGEgY2FzZS5cbiAgICpcbiAgICogQHBhcmFtIGNhc2VSZWYgMTYtZGlnaXQgQ2FzZSBSZWZlcmVuY2UgbnVtYmVyIG9mIHRoZSBjYXNlXG4gICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCBvZiB0aGUgYENhdGVnb3JpZXNBbmREb2N1bWVudHNgIGZvciB0aGUgY2FzZVxuICAgKi9cbiAgcHVibGljIGdldENhdGVnb3JpZXNBbmREb2N1bWVudHMoY2FzZVJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPiB7XG4gICAgbGV0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldENhdGVnb3JpZXNBbmREb2N1bWVudHNVcmwoKTtcblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHVybCArPSBgLyR7Y2FzZVJlZn1gO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHtvYnNlcnZlOiAnYm9keSd9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2YobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRG9jdW1lbnRDYXRlZ29yeShjYXNlUmVmOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2VWZXJzaW9uOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGg6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPiB7XG4gICAgbGV0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50RGF0YVVybCgpO1xuXG4gICAgaWYgKHVybCkge1xuICAgICAgdXJsICs9IGAvJHtjYXNlUmVmfWA7XG4gICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICBjYXNlX3ZlcnNpb246IGNhc2VWZXJzaW9uLFxuICAgICAgICBhdHRyaWJ1dGVfcGF0aDogYXR0cmlidXRlUGF0aCxcbiAgICAgICAgY2F0ZWdvcnlfaWQ6IGNhdGVnb3J5SWRcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgYm9keSwge29ic2VydmU6ICdib2R5J30pO1xuICAgIH1cblxuICAgIHJldHVybiBvZihudWxsKTtcbiAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0ZBQXNGLENBQUM7QUFFdEksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQUd0QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ21CLElBQWlCLEVBQ2pCLFNBQTRCO1FBRDVCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7SUFDM0MsQ0FBQztJQUVMOzs7OztPQUtHO0lBQ0kseUJBQXlCLENBQUMsT0FBZTtRQUM5QywwRUFBMEU7UUFDMUUsMEVBQTBFO1FBQzFFLDBFQUEwRTtRQUMxRSxxRkFBcUY7UUFDckYsNkZBQTZGO1FBQzdGLHlHQUF5RztRQUN6RywrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPLEtBQUssa0JBQWtCLEVBQUU7WUFDbEMsT0FBTyxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQztTQUMzQztRQUVELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUV4RCxJQUFJLEdBQUcsRUFBRTtZQUNQLEdBQUcsSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBRXJCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRU0sc0JBQXNCLENBQUMsT0FBZSxFQUNmLFdBQW1CLEVBQ25CLGFBQXFCLEVBQ3JCLFVBQWtCO1FBQzlDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUU5QyxJQUFJLEdBQUcsRUFBRTtZQUNQLEdBQUcsSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxHQUFHO2dCQUNYLFlBQVksRUFBRSxXQUFXO2dCQUN6QixjQUFjLEVBQUUsYUFBYTtnQkFDN0IsV0FBVyxFQUFFLFVBQVU7YUFDeEIsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7c0ZBckRVLG1CQUFtQjsyREFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQjt1RkFBbkIsbUJBQW1CO2NBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IGNhdGVnb3JpZXNBbmREb2N1bWVudHNUZXN0RGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy90ZXN0LWRhdGEvY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLXRlc3QtZGF0YSc7XG5pbXBvcnQgeyBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzIH0gZnJvbSAnLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWdcbiAgKSB7IH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjYXRlZ29yaWVzIGFuZCBkb2N1bWVudHMgZm9yIGEgY2FzZS5cbiAgICpcbiAgICogQHBhcmFtIGNhc2VSZWYgMTYtZGlnaXQgQ2FzZSBSZWZlcmVuY2UgbnVtYmVyIG9mIHRoZSBjYXNlXG4gICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCBvZiB0aGUgYENhdGVnb3JpZXNBbmREb2N1bWVudHNgIGZvciB0aGUgY2FzZVxuICAgKi9cbiAgcHVibGljIGdldENhdGVnb3JpZXNBbmREb2N1bWVudHMoY2FzZVJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPiB7XG4gICAgLy8gQ2FzZSBmaWxlIHZpZXcgdjEuMSBlcGljIC0gaHR0cHM6Ly90b29scy5obWN0cy5uZXQvamlyYS9icm93c2UvRVVJLTc4MDdcbiAgICAvLyBEaXNwbGF5IHVwbG9hZF90aW1lc3RhbXAgLSBodHRwczovL3Rvb2xzLmhtY3RzLm5ldC9qaXJhL2Jyb3dzZS9FVUktNzgxOVxuICAgIC8vIFNvcnQgYnkgdXBsb2FkX3RpbWVzdGFtcCAtIGh0dHBzOi8vdG9vbHMuaG1jdHMubmV0L2ppcmEvYnJvd3NlL0VVSS03ODEyXG4gICAgLy8gVGhlIHByb3BlcnR5IHVwbG9hZF90aW1lc3RhbXAgaXMgbm90IGF2YWlsYWJsZSBhcyBpdCBpcyBub3QgeWV0IGltcGxlbWVudGVkIGJ5IENDRFxuICAgIC8vIFVzaW5nIHRoaXMgY2FzZSByZWZlcmVuY2UgJzE2NjY4NjMxMjQxMDIyODAnIHRvIHJldHVybiB0aGUgbW9jayBkYXRhIHdpdGggdXBsb2FkX3RpbWVzdGFtcFxuICAgIC8vIFRoZSBiZWxvdyAnaWYnIHN0YXRlbWVudCBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIHRoZSB1cGxvYWRfdGltZXN0YW1wIHByb3BlcnR5IGlzIG1hZGUgYXZhaWxhYmxlIGJ5IENDRFxuICAgIC8vIGh0dHBzOi8vdG9vbHMuaG1jdHMubmV0L2ppcmEvYnJvd3NlL0VVSS04MTI5XG4gICAgaWYgKGNhc2VSZWYgPT09ICcxNjY2ODYzMTI0MTAyMjgwJykge1xuICAgICAgcmV0dXJuIG9mKGNhdGVnb3JpZXNBbmREb2N1bWVudHNUZXN0RGF0YSk7XG4gICAgfVxuXG4gICAgbGV0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldENhdGVnb3JpZXNBbmREb2N1bWVudHNVcmwoKTtcblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHVybCArPSBgLyR7Y2FzZVJlZn1gO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHtvYnNlcnZlOiAnYm9keSd9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2YobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRG9jdW1lbnRDYXRlZ29yeShjYXNlUmVmOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2VWZXJzaW9uOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGg6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPiB7XG4gICAgbGV0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50RGF0YVVybCgpO1xuXG4gICAgaWYgKHVybCkge1xuICAgICAgdXJsICs9IGAvJHtjYXNlUmVmfWA7XG4gICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICBjYXNlX3ZlcnNpb246IGNhc2VWZXJzaW9uLFxuICAgICAgICBhdHRyaWJ1dGVfcGF0aDogYXR0cmlidXRlUGF0aCxcbiAgICAgICAgY2F0ZWdvcnlfaWQ6IGNhdGVnb3J5SWRcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgYm9keSwge29ic2VydmU6ICdib2R5J30pO1xuICAgIH1cblxuICAgIHJldHVybiBvZihudWxsKTtcbiAgfVxufVxuIl19