@eo-sdk/client 11.0.0-beta.1 → 11.0.0-rc.10

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 (198) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/dashboard.component.d.ts +2 -23
  3. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  4. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +28 -5
  5. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
  6. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +33 -21
  7. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
  8. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +9 -0
  9. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
  10. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +3 -2
  11. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts.map +1 -1
  12. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts +2 -0
  13. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts.map +1 -1
  14. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts +1 -0
  15. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts.map +1 -1
  16. package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts +7 -0
  17. package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts.map +1 -1
  18. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +9 -4
  19. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -1
  20. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +2 -2
  21. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
  22. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +3 -2
  23. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts.map +1 -1
  24. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +3 -2
  25. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -1
  26. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +3 -2
  27. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -1
  28. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts +25 -0
  29. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts.map +1 -0
  30. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +15 -6
  31. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
  32. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts +7 -0
  33. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts.map +1 -0
  34. package/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.d.ts +18 -0
  35. package/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.d.ts.map +1 -0
  36. package/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.d.ts +10 -0
  37. package/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.d.ts.map +1 -0
  38. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +1 -2
  39. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -1
  40. package/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.d.ts +24 -0
  41. package/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.d.ts.map +1 -0
  42. package/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.d.ts +34 -0
  43. package/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.d.ts.map +1 -0
  44. package/app/eo-client/eo-client.module.d.ts +29 -23
  45. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  46. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  47. package/app/eo-client/login/login.component.d.ts +3 -1
  48. package/app/eo-client/login/login.component.d.ts.map +1 -1
  49. package/app/eo-client/process-state/process-state.component.d.ts +3 -5
  50. package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
  51. package/app/eo-client/settings/settings.component.d.ts +4 -11
  52. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  53. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  54. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts +5 -1
  55. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts.map +1 -1
  56. package/app/eo-framework/actions/actions/signature-action/signature-action.component.d.ts.map +1 -1
  57. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
  58. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  59. package/app/eo-framework/app-shell/app-shell.module.d.ts +17 -16
  60. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  61. package/app/eo-framework/app-shell/index.d.ts +1 -0
  62. package/app/eo-framework/app-shell/index.d.ts.map +1 -1
  63. package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts +10 -0
  64. package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts.map +1 -0
  65. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +4 -4
  66. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
  67. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
  68. package/app/eo-framework/form-elements/string/string.component.d.ts +1 -0
  69. package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
  70. package/app/eo-framework/frame/frame.component.d.ts +2 -1
  71. package/app/eo-framework/frame/frame.component.d.ts.map +1 -1
  72. package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts.map +1 -1
  73. package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts.map +1 -1
  74. package/app/eo-framework/grid/filters/codesystem-filter.component.d.ts.map +1 -1
  75. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -8
  76. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  77. package/app/eo-framework/grid/filters/dynamic-list-filter.component.d.ts.map +1 -1
  78. package/app/eo-framework/grid/grid.component.d.ts +1 -1
  79. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  80. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  81. package/app/eo-framework/media/media.component.d.ts +15 -1
  82. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  83. package/app/eo-framework/object-details/object-details.component.d.ts +9 -3
  84. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  85. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
  86. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  87. package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
  88. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  89. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  90. package/app/eo-framework/result-list/result-list.component.d.ts +3 -2
  91. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  92. package/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.d.ts.map +1 -1
  93. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +2 -1
  94. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  95. package/app/eo-framework/util/services/utilities.service.d.ts +195 -0
  96. package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
  97. package/app/eo-framework-core/api/grid.service.d.ts +1 -5
  98. package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
  99. package/app/eo-framework-core/api/plugins.service.d.ts +6 -0
  100. package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
  101. package/app/eo-framework-core/error-handler/error-handler.service.d.ts.map +1 -1
  102. package/assets/_default/config/main.json +1 -1
  103. package/assets/_default/i18n/de.json +48 -11
  104. package/assets/_default/i18n/en.json +50 -13
  105. package/assets/_default/svg/ic_noImage.svg +1 -0
  106. package/assets/_default/svg/ic_photo_library.svg +1 -0
  107. package/assets/_default/svg/ic_task.svg +1 -0
  108. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  109. package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +21 -69
  110. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +183 -78
  111. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +142 -36
  112. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
  113. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +21 -13
  114. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +7 -3
  115. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +1 -1
  116. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +1 -1
  117. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +68 -53
  118. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +7 -8
  119. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +16 -10
  120. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +3 -4
  121. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +15 -9
  122. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +3 -3
  123. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +16 -10
  124. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +85 -0
  125. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +101 -32
  126. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.mjs +2 -0
  127. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.mjs +54 -0
  128. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.mjs +24 -0
  129. package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +4 -7
  130. package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.mjs +74 -0
  131. package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.mjs +103 -0
  132. package/esm2022/app/eo-client/eo-client.module.mjs +25 -6
  133. package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +4 -4
  134. package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +25 -11
  135. package/esm2022/app/eo-client/login/login.component.mjs +14 -11
  136. package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +5 -5
  137. package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +3 -3
  138. package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +6 -6
  139. package/esm2022/app/eo-client/process-state/process-state.component.mjs +12 -17
  140. package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +6 -6
  141. package/esm2022/app/eo-client/result-state/result-state.component.mjs +1 -1
  142. package/esm2022/app/eo-client/settings/settings.component.mjs +34 -40
  143. package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +4 -5
  144. package/esm2022/app/eo-client/version-state/version-state.component.mjs +5 -5
  145. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +6 -6
  146. package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +3 -3
  147. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +23 -3
  148. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
  149. package/esm2022/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -2
  150. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +5 -4
  151. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +44 -24
  152. package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
  153. package/esm2022/app/eo-framework/app-shell/app-shell.module.mjs +13 -7
  154. package/esm2022/app/eo-framework/app-shell/index.mjs +2 -1
  155. package/esm2022/app/eo-framework/app-shell/license-warning/license-warning.component.mjs +26 -0
  156. package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +3 -3
  157. package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +35 -28
  158. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +7 -4
  159. package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +2 -2
  160. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +2 -2
  161. package/esm2022/app/eo-framework/form-elements/reference/reference.component.mjs +2 -2
  162. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +8 -5
  163. package/esm2022/app/eo-framework/frame/frame.component.mjs +3 -2
  164. package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +7 -2
  165. package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +3 -3
  166. package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +1 -14
  167. package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +6 -33
  168. package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -19
  169. package/esm2022/app/eo-framework/grid/filters/filesize-filter.component.mjs +2 -2
  170. package/esm2022/app/eo-framework/grid/grid.component.mjs +11 -12
  171. package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +5 -3
  172. package/esm2022/app/eo-framework/media/media.component.mjs +68 -19
  173. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +53 -15
  174. package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
  175. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +19 -28
  176. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +3 -3
  177. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +4 -4
  178. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +11 -7
  179. package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -3
  180. package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +6 -1
  181. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +15 -4
  182. package/esm2022/app/eo-framework/process/history/process-history.component.mjs +2 -2
  183. package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -3
  184. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +1 -1
  185. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +34 -5
  186. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +18 -5
  187. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +6 -3
  188. package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +2 -2
  189. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +4 -1
  190. package/esm2022/app/eo-framework-core/api/grid.service.mjs +34 -45
  191. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +44 -2
  192. package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +6 -6
  193. package/fesm2022/eo-sdk-client.mjs +1589 -805
  194. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  195. package/misc/scripts/exclude-core-ng-package.js +11 -0
  196. package/misc/scripts/prebuild-about-state.js +2 -3
  197. package/package.json +6 -6
  198. package/proxy.config.json +15 -0
@@ -57,12 +57,10 @@ export class ProcessStateComponent {
57
57
  startTimeFCN: null
58
58
  };
59
59
  this.sortParams = {
60
- startTime: '',
61
- modelName: ''
60
+ starttime: ''
62
61
  };
63
62
  this.defaultSortParams = {
64
- startTime: "",
65
- modelName: ""
63
+ starttime: ''
66
64
  };
67
65
  this.settings = {};
68
66
  this.colDefs = [
@@ -124,8 +122,7 @@ export class ProcessStateComponent {
124
122
  initGrid() {
125
123
  this.settings = { total: 0, size: this.VIRTUAL_LIST_CHUNK_SIZE };
126
124
  this.sortFields = [
127
- { field: 'starttime', headerName: this.translate.instant('eo.grid.sort.date'), sort: 'asc' },
128
- { field: 'modelname', headerName: this.translate.instant('eo.process.sort.type'), sort: 'asc' }
125
+ { field: 'starttime', headerName: this.translate.instant('eo.grid.sort.date'), sort: null },
129
126
  ];
130
127
  const sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
131
128
  this.gridOptions = {
@@ -142,8 +139,8 @@ export class ProcessStateComponent {
142
139
  this.filterForm.setValue(this.defaultFilterFormValue);
143
140
  }
144
141
  }
145
- sort(field, direction) {
146
- this.sortParams[field] = direction;
142
+ sort(evt) {
143
+ this.sortParams.starttime = evt.detail[0]?.sort ? evt.detail[0].sort : '';
147
144
  this.appCache.setItem(this.sortCacheKey, this.sortParams).subscribe();
148
145
  this.onPageChanged();
149
146
  }
@@ -158,7 +155,8 @@ export class ProcessStateComponent {
158
155
  }
159
156
  fetchRowData(params) {
160
157
  const page = Math.floor(params.startRow / this.VIRTUAL_LIST_CHUNK_SIZE);
161
- this.getProcesses({ size: this.VIRTUAL_LIST_CHUNK_SIZE, page }).subscribe((processes) => {
158
+ const sort = this.sortParams.starttime;
159
+ this.getProcesses({ size: this.VIRTUAL_LIST_CHUNK_SIZE, page, sort }).subscribe((processes) => {
162
160
  if (params.startRow === 0) {
163
161
  this.emptyState1 = this.empty.getEmptyState(processes.content ? processes.content.length : -1, undefined, 'ic_no-file.svg');
164
162
  this.emptyState2 = this.empty.getEmptyState(processes.content ? processes.content.length : -1, undefined, 'ic_no-file.svg');
@@ -225,11 +223,8 @@ export class ProcessStateComponent {
225
223
  return url;
226
224
  }
227
225
  addSortParamsToUrl(url) {
228
- if (this.sortParams.startTime) {
229
- url += "&sort=starttime," + this.sortParams.startTime;
230
- }
231
- if (this.sortParams.modelName) {
232
- url += "&sort=name," + this.sortParams.modelName;
226
+ if (this.sortParams.starttime) {
227
+ url += '&sort=starttime,' + this.sortParams.starttime;
233
228
  }
234
229
  return url;
235
230
  }
@@ -318,13 +313,13 @@ export class ProcessStateComponent {
318
313
  return this.pendingChanges.hasPendingTask();
319
314
  }
320
315
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ProcessStateComponent, deps: [{ token: i1.TranslateService }, { token: i1.BpmService }, { token: i2.SelectionService }, { token: i3.EmptyStateService }, { token: i1.BackendService }, { token: i4.UntypedFormBuilder }, { token: i5.PageTitleService }, { token: i1.AppCacheService }, { token: i6.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
321
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort #cSort [id]=\"'process.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i19.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i20.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i21.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i22.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i23.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i24.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["plugins", "emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i25.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i25.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i26.PluginPipe, name: "plugins" }] }); }
316
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\"\n [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort [id]=\"'process.sort'\" (change)=\"sort($event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "versionComponentTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i19.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i20.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i21.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i22.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i23.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i24.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["plugins", "emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i25.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i25.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i26.PluginPipe, name: "plugins" }] }); }
322
317
  }
323
318
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ProcessStateComponent, decorators: [{
324
319
  type: Component,
325
- args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort #cSort [id]=\"'process.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
320
+ args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\"\n [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort [id]=\"'process.sort'\" (change)=\"sort($event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
326
321
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.BpmService }, { type: i2.SelectionService }, { type: i3.EmptyStateService }, { type: i1.BackendService }, { type: i4.UntypedFormBuilder }, { type: i5.PageTitleService }, { type: i1.AppCacheService }, { type: i6.PendingChangesService }], propDecorators: { eoGrid: [{
327
322
  type: ViewChild,
328
323
  args: ["eoGrid"]
329
324
  }] } });
330
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFpRGhDLFlBQ1MsU0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsRUFBc0IsRUFDdEIsWUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsY0FBcUM7UUFSdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBdkQvQyx1QkFBa0Is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QUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7OEdBL1VVLHFCQUFxQjtrR0FBckIscUJBQXFCLDBKQ3BCbEMsZzRMQXlHQTs7MkZEckZhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7NFVBbURQLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sRGVmLCBHcmlkT3B0aW9uc30gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlLCBCYWNrZW5kU2VydmljZSwgQnBtU2VydmljZSwgUHJvY2VzcywgUmFuZ2VWYWx1ZSwgU2VhcmNoRmlsdGVyLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5pbXBvcnQge0dyaWRDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Q3VzdG9tU29ydENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2VvLWZyYW1ld29ya1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZW8tcHJvY2Vzcy1zdGF0ZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc1N0YXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50IHtcbiAgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICBwcm9jZXNzU2VsZWN0aW9uSWQgPSBcInByb2Nlc3NcIjtcbiAgcHJvY2Vzc1NlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZTtcbiAgZW1wdHlTdGF0ZTE6IEVtcHR5U3RhdGUgPSB7IGljb246IFwiXCIsIHRleHQ6IFwiXCIsIGNsYXNzTmFtZTogXCJcIiB9O1xuICBlbXB0eVN0YXRlMjogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGZpbHRlckNhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3QuZmlsdGVyXCI7XG4gIHNvcnRDYWNoZUtleSA9IFwiZW8ucHJvY2Vzcy5saXN0LnNvcnRcIjtcbiAgVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgPSA1MDtcbiAgZmlsdGVyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSA9IHtcbiAgICBtb2RlbEZDTjogbnVsbCxcbiAgICBydW5uaW5nRkNOOiB0cnVlLFxuICAgIHBhdXNlZEZDTjogdHJ1ZSxcbiAgICBjcmVhdGVkRkNOOiB0cnVlLFxuICAgIGNhbmNlbGVkRkNOOiB0cnVlLFxuICAgIGZhaWxlZEZDTjogdHJ1ZSxcbiAgICBjb21wbGV0ZWRGQ046IHRydWUsXG4gICAgc3RhcnRUaW1lRkNOOiBudWxsXG4gIH07XG4gIHNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnRUaW1lOiAnJyxcbiAgICBtb2RlbE5hbWU6ICcnXG4gIH07XG4gIGRlZmF1bHRTb3J0UGFyYW1zID0ge1xuICAgIHN0YXJ0VGltZTogXCJcIixcbiAgICBtb2RlbE5hbWU6IFwiXCJcbiAgfTtcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHNldHRpbmdzID0ge307XG4gIGNvbERlZnM6IENvbERlZltdID0gW1xuICAgIHtcbiAgICAgIGhlYWRlck5hbWU6IFwiXCIsXG4gICAgICBmaWVsZDogXCJfX2N1c3RvbVwiLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgIGZpbHRlcjogZmFsc2VcbiAgICB9XG4gIF07XG4gIHByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0ID0ge1xuICAgIGVudHJpZXM6IFtdLFxuICAgIGNvbmZpZzoge1xuICAgICAgdmFsdWVGaWVsZDogXCJuYW1lXCIsXG4gICAgICBzdWJFbnRyaWVzRmllbGQ6IFwibW9kZWxzXCJcbiAgICB9XG4gIH07XG5cbiAgQFZpZXdDaGlsZChcImVvR3JpZFwiKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwdWJsaWMgYnBtU2VydmljZTogQnBtU2VydmljZSxcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0QmFzZVRpdGxlKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0YXRlLnByb2Nlc3MnKSk7XG5cbiAgICAvL3NlY29uZGFyeSBzZWxlY3Rpb24gaW5zdGFuY2UgZm9yIGluYm94IGl0ZW1zXG4gICAgdGhpcy5wcm9jZXNzU2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMucHJvY2Vzc1NlbGVjdGlvbklkKTtcblxuICAgIHRoaXMuZmV0Y2hQcm9jZXNzTW9kZWxzKCkuc3Vic2NyaWJlKHByb2Nlc3NNb2RlbHMgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzID0gcHJvY2Vzc01vZGVscztcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwQ2FjaGVcbiAgICAgIC5nZXRJdGVtKHRoaXMuZmlsdGVyQ2FjaGVLZXkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICBmaWx0ZXJWYWx1ZSA9PlxuICAgICAgICAgIHRoaXMuaW5pdEZpbHRlcihcbiAgICAgICAgICAgIGZpbHRlclZhbHVlID8gZmlsdGVyVmFsdWUgOiB0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWVcbiAgICAgICAgICApLFxuICAgICAgICAoKSA9PiB0aGlzLmluaXRGaWx0ZXIodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKVxuICAgICAgKTtcblxuICAgIHRoaXMuYXBwQ2FjaGUuZ2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSkuc3Vic2NyaWJlKHNvcnRQYXJhbXMgPT4ge1xuICAgICAgaWYgKHNvcnRQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5zb3J0UGFyYW1zID0gc29ydFBhcmFtcztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hQcm9jZXNzTW9kZWxzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQoXCIvYnBtL21hbmFnZW1lbnQvcHJvamVjdD9pbmNsdWRlTW9kZWxzPXRydWVcIik7XG4gIH1cblxuICBwcml2YXRlIGluaXRGaWx0ZXIoZmlsdGVyVmFsdWUpIHtcbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG1vZGVsRkNOOiBbZmlsdGVyVmFsdWUubW9kZWxGQ05dLFxuICAgICAgcnVubmluZ0ZDTjogW2ZpbHRlclZhbHVlLnJ1bm5pbmdGQ05dLFxuICAgICAgcGF1c2VkRkNOOiBbZmlsdGVyVmFsdWUucGF1c2VkRkNOXSxcbiAgICAgIGNyZWF0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jcmVhdGVkRkNOXSxcbiAgICAgIGNhbmNlbGVkRkNOOiBbZmlsdGVyVmFsdWUuY2FuY2VsZWRGQ05dLFxuICAgICAgZmFpbGVkRkNOOiBbZmlsdGVyVmFsdWUuZmFpbGVkRkNOXSxcbiAgICAgIGNvbXBsZXRlZEZDTjogW2ZpbHRlclZhbHVlLmNvbXBsZXRlZEZDTl0sXG4gICAgICBzdGFydFRpbWVGQ046IFtcbiAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOID9cbiAgICAgICAgbmV3IFJhbmdlVmFsdWUoXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLm9wZXJhdG9yLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5zZWNvbmRWYWx1ZVxuICAgICAgICApIDogbnVsbFxuICAgICAgXVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5LCB0aGlzLmZpbHRlckZvcm0udmFsdWUpLnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vblBhZ2VDaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uUGFnZUNoYW5nZWQoKSwgMTAwKTtcbiAgfVxuXG4gIHJlZnJlc2hMaXN0KCkge1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgaW5pdEdyaWQoKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHt0b3RhbDogMCwgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRX07XG4gICAgdGhpcy5zb3J0RmllbGRzID0gW1xuICAgICAge2ZpZWxkOiAnc3RhcnR0aW1lJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZ3JpZC5zb3J0LmRhdGUnKSwgc29ydDogJ2FzYyd9LFxuICAgICAge2ZpZWxkOiAnbW9kZWxuYW1lJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJvY2Vzcy5zb3J0LnR5cGUnKSwgc29ydDogJ2FzYyd9XG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJyxcbiAgICAgIHJvd0RhdGE6IFtdXG4gICAgfTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBzb3J0KGZpZWxkLCBkaXJlY3Rpb24pIHtcbiAgICB0aGlzLnNvcnRQYXJhbXNbZmllbGRdID0gZGlyZWN0aW9uO1xuICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSwgdGhpcy5zb3J0UGFyYW1zKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZWQocGFnZTogbnVtYmVyID0gMSkge1xuICAgIHRoaXMuZmV0Y2hSb3dEYXRhKHtcbiAgICAgIHN0YXJ0Um93OiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFICogKHBhZ2UgLSAxKSxcbiAgICAgIHN1Y2Nlc3NDYWxsYmFjazogKHJvd3MsIHRvdGFsKSA9PiB7XG4gICAgICAgIHRoaXMuZW9HcmlkLmFwaT8uc2V0R3JpZE9wdGlvbigncm93RGF0YScsIHJvd3MpO1xuICAgICAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSb3dEYXRhKHBhcmFtcykge1xuICAgIGNvbnN0IHBhZ2UgPSBNYXRoLmZsb29yKHBhcmFtcy5zdGFydFJvdyAvIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUpO1xuICAgIHRoaXMuZ2V0UHJvY2Vzc2VzKHsgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSwgcGFnZSB9KS5zdWJzY3JpYmUoKHByb2Nlc3NlcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcy5zdGFydFJvdyA9PT0gMCkge1xuICAgICAgICB0aGlzLmVtcHR5U3RhdGUxID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKHByb2Nlc3Nlcy5jb250ZW50ID8gcHJvY2Vzc2VzLmNvbnRlbnQubGVuZ3RoIDogLTEsIHVuZGVmaW5lZCwgJ2ljX25vLWZpbGUuc3ZnJyk7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTIgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQucm93Q291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHBhcmFtcy5zdWNjZXNzQ2FsbGJhY2socHJvY2Vzc2VzLnByb2Nlc3NlcywgcHJvY2Vzc2VzLnRvdGFsRWxlbWVudHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9jZXNzZXMob3B0aW9ucykge1xuICAgIGxldCB1cmwgPSBVdGlscy5idWlsZFVyaShgL3Byb2Nlc3Nlc2AsIG9wdGlvbnMgfHwge30pO1xuICAgIHVybCA9IHRoaXMuYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTtcbiAgICB1cmwgPSB0aGlzLmFkZFNvcnRQYXJhbXNUb1VybCh1cmwpO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVybCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGxldCBwcm9jZXNzZXMgPSByZXNwb25zZS5jb250ZW50Lm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3MgPSBuZXcgUHJvY2VzcyhpdGVtKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9jZXNzO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3BvbnNlLnByb2Nlc3NlcyA9IHRoaXMuYWRkSWNvblVybChwcm9jZXNzZXMpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbHRlclBhcmFtc1RvVXJsKHVybCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmZpbHRlckZvcm0gfHwgIXRoaXMuZmlsdGVyRm9ybS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNyZWF0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0wXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUucnVubmluZ0ZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTIwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY29tcGxldGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MzBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5wYXVzZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT00MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNhbmNlbGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9NTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5mYWlsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT02MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKSB7XG4gICAgICB1cmwgKz1cbiAgICAgICAgXCImbW9kZWxpZD1cIiArIHRoaXMuZ2V0TW9kZWxJZEZyb21OYW1lKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5tb2RlbEZDTik7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuc3RhcnRUaW1lRkNOICYmIHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSkge1xuXG4gICAgICBjb25zdCB7b3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlfSA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ047XG4gICAgICBjb25zdCBxdWVyeTogYW55ID0gbmV3IFNlYXJjaEZpbHRlcignc3RhcnR0aW1lJywgb3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlLCB7dGltZTogdHJ1ZSwgdGltZXpvbmU6IHRydWV9KS50b0RhdGVUaW1lUXVlcnkoKTtcblxuICAgICAgaWYgKHF1ZXJ5Lm8gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCkge1xuICAgICAgICB1cmwgKz0gJyZzdGFydHRpbWVfZXE9JyArIHF1ZXJ5LnYxO1xuICAgICAgfVxuICAgICAgaWYgKHF1ZXJ5Lm8ubWF0Y2goU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUwpKSB7XG4gICAgICAgIHVybCArPSBcIiZzdGFydHRpbWVfZ3RlPVwiICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9sdGU9XCIgKyAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USCA/IHF1ZXJ5LnYyIDogcXVlcnkudjEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTb3J0UGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9c3RhcnR0aW1lLFwiICsgdGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWUpIHtcbiAgICAgIHVybCArPSBcIiZzb3J0PW5hbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMubW9kZWxOYW1lO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbElkRnJvbU5hbWUobW9kZWxOYW1lKTogc3RyaW5nIHtcbiAgICBsZXQgaWQgPSBcIlwiO1xuICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcy5mb3JFYWNoKG1vZGVsID0+IHtcbiAgICAgIGlmIChtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgaWQgPSBtb2RlbC5pZDtcbiAgICAgIH0gZWxzZSBpZiAobW9kZWwubW9kZWxzKSB7XG4gICAgICAgIG1vZGVsLm1vZGVscy5mb3JFYWNoKHN1Ym1vZGVsID0+IHtcbiAgICAgICAgICBpZiAoc3VibW9kZWwubmFtZSA9PT0gbW9kZWxOYW1lKSB7XG4gICAgICAgICAgICBpZCA9IHN1Ym1vZGVsLmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgYWRkSWNvblVybChwcm9jZXNzZXM6IFByb2Nlc3NbXSkge1xuICAgIHByb2Nlc3Nlcy5mb3JFYWNoKChwcm9jZXNzOiBQcm9jZXNzKSA9PiB7XG4gICAgICBpZiAoIXByb2Nlc3MuaWNvbmlkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX3dhcm5pbmcuc3ZnJztcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLnN0YXRlID09PSAnQ09NUExFVEVEJykge1xuICAgICAgICAgIHByb2Nlc3MuaWNvbnVybCA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbV9kb25lLnN2Zyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gXCJhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbS5zdmdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwcm9jZXNzZXM7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcy5kYXRhKSB7XG4gICAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcihcImljb25cIiwgcGFyYW1zLCB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdXJsOiBwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbnVybCxcbiAgICAgICAgICBpY29uSWQ6ICFwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbmlkLFxuICAgICAgICAgIGxhYmVsOiBwYXJhbXMuZGF0YS5tb2RlbG5hbWVcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLnN0YXJ0dGltZSwgcGF0dGVybjogJ2VvU2hvcnREYXRlJyB9KTtcbiAgICAgIGNvbnN0IGVuZFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7IHZhbHVlOiBwYXJhbXMuZGF0YS5lbmR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgaGFzRXJyb3IgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gJ0VSUk9SU1VTUEVOREVEJyA/ICdlcnJvcicgOiAnJztcbiAgICAgIGNvbnN0IGhhc05vdFlldEJlZW5TdGFydGVkID0gcGFyYW1zLmRhdGEuc3RhdGUgPT09IDAgPyAnbm90c3RhcnRlZCcgOiAnJztcbiAgICAgIGNvbnN0IGVuZFRpbWVNYXJrdXA6IHN0cmluZyA9IChlbmRUaW1lLmxlbmd0aCkgPyBgPGRpdiBjbGFzcz1cImRhdGUgZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJvY2Vzcy5lbmQudGltZS5sYWJlbCcpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke2VuZFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBcIlwiO1xuICAgICAgY29uc3Qgc3RhcnRUaW1lTWFya3VwOiBzdHJpbmcgPSBzdGFydFRpbWUubGVuZ3RoXG4gICAgICAgID8gYDxkaXYgY2xhc3M9XCJkYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZW8ucHJvY2Vzcy5zdGFydC50aW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke3N0YXJ0VGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG5cbiAgICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSAke2hhc0Vycm9yfSAke2hhc05vdFlldEJlZW5TdGFydGVkfVwiIHVuc2VsZWN0YWJsZT5cbiAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbnRlbnQnPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5tb2RlbG5hbWUgfHwgXCIuLi5cIn08L2Rpdj5cbiAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAke3N0YXJ0VGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgICAke2VuZFRpbWVNYXJrdXB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgYDtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG5cbiAgaGFzQ2hhbmdlZChvViwgblYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob1YpICE9PSBKU09OLnN0cmluZ2lmeShuVik7XG4gIH1cblxuICBoYXNQZW5kaW5nQ2hhbmdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wZW5kaW5nQ2hhbmdlcy5oYXNQZW5kaW5nVGFzaygpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogcHJvY2Vzc1NlbGVjdGlvbklkfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8uc3RhdGUucHJvY2VzczwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcmVmcmVzaC1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoTGlzdCgpXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LWZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5maWx0ZXInIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLWZpbHRlciAjY0ZpbHRlciAoY2hhbmdlKT1cImNGaWx0ZXIudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkU3ViamVjdCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9GaWx0ZXIub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5maWx0ZXIuYnk8L2Rpdj5cbiAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCIgKm5nSWY9J2ZpbHRlckZvcm0nPlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5tb2RlbCcgfCB0cmFuc2xhdGUpXCIgKm5nSWY9XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWR5bmFtaWMtbGlzdCBmb3JtQ29udHJvbE5hbWU9XCJtb2RlbEZDTlwiIFtwaWNrZXJUaXRsZV09XCInTW9kZWxzJ1wiIFtsaXN0T2JqZWN0XT1cInByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0XCI+PC9lby1keW5hbWljLWxpc3Q+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5ydW5uaW5nJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJydW5uaW5nRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnBhdXNlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwicGF1c2VkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNyZWF0ZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImNyZWF0ZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY2FuY2VsZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImNhbmNlbGVkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmZhaWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiZmFpbGVkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNvbXBsZXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY29tcGxldGVkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnN0YXJ0dGltZScgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tZGF0ZXRpbWUtcmFuZ2UgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRUaW1lRkNOXCIgW3dpdGhUaW1lXT1cImZhbHNlXCI+PC9lby1kYXRldGltZS1yYW5nZT5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInJlc2V0LWZpbHRlclwiIChjbGljayk9XCJyZXNldEZpbHRlcnMoKVwiICpuZ0lmPVwiaGFzQ2hhbmdlZChkZWZhdWx0RmlsdGVyRm9ybVZhbHVlLCBmaWx0ZXJGb3JtPy52YWx1ZSlcIj5SZXNldCBmaWx0ZXI8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZW8tY3VzdG9tLWZpbHRlcj5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb1NvcnRcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXktc29ydFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LnNvcnQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlXT1cImhhc0NoYW5nZWQoZGVmYXVsdFNvcnRQYXJhbXMsIHNvcnRQYXJhbXMpXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLXNvcnQgI2NTb3J0IFtpZF09XCIncHJvY2Vzcy5zb3J0J1wiIChjaGFuZ2UpPVwiY1NvcnQudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9Tb3J0Lm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCIgW3NvcnRGaWVsZHNdPVwic29ydEZpZWxkc1wiPjwvZW8tY3VzdG9tLXNvcnQ+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JpZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3Nob3dGb290ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzZWxlY3RGaXJzdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZENvdW50Q2hhbmdlZCk9XCJlb0xpc3Qub25Db3VudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChlb0dyaWRGb2N1c0NoYW5nZWQpPVwiZW9MaXN0Lm9uRm9jdXNDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZW8tdG90YWwtY291bnQgW2dyaWRDb3VudF09XCJlb0xpc3QuZ3JpZENvdW50XCIgW291dHNpZGVHcmlkXT1cImZhbHNlXCIgY2xhc3M9XCJmbGV4LXJvd1wiPjwvZW8tdG90YWwtY291bnQ+XG4gICAgICAgICAgICA8ZW8tcGFnaW5hdGlvbiBbc2V0dGluZ3NdPVwic2V0dGluZ3NcIiAocGFnZUNoYW5nZWQpPVwib25QYWdlQ2hhbmdlZCgkZXZlbnQpXCI+PC9lby1wYWdpbmF0aW9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZSBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX2JwbS5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5wcm9jZXNzLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxlby1yZXNldC1maWx0ZXIgW2lzRmlsdGVyQWN0aXZlXT1cIm9GaWx0ZXIuYWN0aXZlXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCI+PC9lby1yZXNldC1maWx0ZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZW8tbGlzdC1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBwcm9jZXNzIGRldGFpbHMgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tcHJvY2Vzcy1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7aW46IHByb2Nlc3NTZWxlY3Rpb25JZH1cIiBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlMVwiXG4gICAgW3BsdWdpbnNdPVwiJ3Byb2Nlc3MtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgPC9lby1wcm9jZXNzLWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBvYmplY3QgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiPlxuICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlTGF5b3V0XT1cIidwcm9jZXNzLnN0YXRlLm9iamVjdC1kZXRhaWxzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc109XCInb2JqZWN0LWRldGFpbHMtdGFiLnByb2Nlc3MnIHwgcGx1Z2luc1wiPlxuICAgICAgICA8L2VvLW9iamVjdC1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz5cbiJdfQ==
325
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUErQ2hDLFlBQ1MsU0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsRUFBc0IsRUFDdEIsWUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsY0FBcUM7UUFSdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBckQvQyx1QkFBa0Is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UyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQzs4R0ExVVUscUJBQXFCO2tHQUFyQixxQkFBcUIsMEpDcEJsQyx3N0xBMEdBOzsyRkR0RmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs0VUFpRFAsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBcHBDYWNoZVNlcnZpY2UsIEJhY2tlbmRTZXJ2aWNlLCBCcG1TZXJ2aWNlLCBQcm9jZXNzLCBSYW5nZVZhbHVlLCBTZWFyY2hGaWx0ZXIsIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7U2VsZWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvdGl0bGUvcGFnZS10aXRsZS5zZXJ2aWNlJztcbmltcG9ydCB7R3JpZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZW8tZnJhbWV3b3JrXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJlby1wcm9jZXNzLXN0YXRlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzU3RhdGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgUGVuZGluZ0NoYW5nZXNDb21wb25lbnQge1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHByb2Nlc3NTZWxlY3Rpb25JZCA9IFwicHJvY2Vzc1wiO1xuICBwcm9jZXNzU2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlO1xuICBlbXB0eVN0YXRlMTogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGVtcHR5U3RhdGUyOiBFbXB0eVN0YXRlID0geyBpY29uOiBcIlwiLCB0ZXh0OiBcIlwiLCBjbGFzc05hbWU6IFwiXCIgfTtcbiAgZmlsdGVyQ2FjaGVLZXkgPSBcImVvLnByb2Nlc3MubGlzdC5maWx0ZXJcIjtcbiAgc29ydENhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3Quc29ydFwiO1xuICBWSVJUVUFMX0xJU1RfQ0hVTktfU0laRSA9IDUwO1xuICBmaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlID0ge1xuICAgIG1vZGVsRkNOOiBudWxsLFxuICAgIHJ1bm5pbmdGQ046IHRydWUsXG4gICAgcGF1c2VkRkNOOiB0cnVlLFxuICAgIGNyZWF0ZWRGQ046IHRydWUsXG4gICAgY2FuY2VsZWRGQ046IHRydWUsXG4gICAgZmFpbGVkRkNOOiB0cnVlLFxuICAgIGNvbXBsZXRlZEZDTjogdHJ1ZSxcbiAgICBzdGFydFRpbWVGQ046IG51bGxcbiAgfTtcbiAgc29ydFBhcmFtcyA9IHtcbiAgICBzdGFydHRpbWU6ICcnXG4gIH07XG4gIGRlZmF1bHRTb3J0UGFyYW1zID0ge1xuICAgIHN0YXJ0dGltZTogJydcbiAgfTtcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHNldHRpbmdzID0ge307XG4gIGNvbERlZnM6IENvbERlZltdID0gW1xuICAgIHtcbiAgICAgIGhlYWRlck5hbWU6IFwiXCIsXG4gICAgICBmaWVsZDogXCJfX2N1c3RvbVwiLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgIGZpbHRlcjogZmFsc2VcbiAgICB9XG4gIF07XG4gIHByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0ID0ge1xuICAgIGVudHJpZXM6IFtdLFxuICAgIGNvbmZpZzoge1xuICAgICAgdmFsdWVGaWVsZDogXCJuYW1lXCIsXG4gICAgICBzdWJFbnRyaWVzRmllbGQ6IFwibW9kZWxzXCJcbiAgICB9XG4gIH07XG5cbiAgQFZpZXdDaGlsZChcImVvR3JpZFwiKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwdWJsaWMgYnBtU2VydmljZTogQnBtU2VydmljZSxcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0QmFzZVRpdGxlKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0YXRlLnByb2Nlc3MnKSk7XG5cbiAgICAvL3NlY29uZGFyeSBzZWxlY3Rpb24gaW5zdGFuY2UgZm9yIGluYm94IGl0ZW1zXG4gICAgdGhpcy5wcm9jZXNzU2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMucHJvY2Vzc1NlbGVjdGlvbklkKTtcblxuICAgIHRoaXMuZmV0Y2hQcm9jZXNzTW9kZWxzKCkuc3Vic2NyaWJlKHByb2Nlc3NNb2RlbHMgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzID0gcHJvY2Vzc01vZGVscztcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwQ2FjaGVcbiAgICAgIC5nZXRJdGVtKHRoaXMuZmlsdGVyQ2FjaGVLZXkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICBmaWx0ZXJWYWx1ZSA9PlxuICAgICAgICAgIHRoaXMuaW5pdEZpbHRlcihcbiAgICAgICAgICAgIGZpbHRlclZhbHVlID8gZmlsdGVyVmFsdWUgOiB0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWVcbiAgICAgICAgICApLFxuICAgICAgICAoKSA9PiB0aGlzLmluaXRGaWx0ZXIodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKVxuICAgICAgKTtcblxuICAgIHRoaXMuYXBwQ2FjaGUuZ2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSkuc3Vic2NyaWJlKHNvcnRQYXJhbXMgPT4ge1xuICAgICAgaWYgKHNvcnRQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5zb3J0UGFyYW1zID0gc29ydFBhcmFtcztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hQcm9jZXNzTW9kZWxzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQoXCIvYnBtL21hbmFnZW1lbnQvcHJvamVjdD9pbmNsdWRlTW9kZWxzPXRydWVcIik7XG4gIH1cblxuICBwcml2YXRlIGluaXRGaWx0ZXIoZmlsdGVyVmFsdWUpIHtcbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG1vZGVsRkNOOiBbZmlsdGVyVmFsdWUubW9kZWxGQ05dLFxuICAgICAgcnVubmluZ0ZDTjogW2ZpbHRlclZhbHVlLnJ1bm5pbmdGQ05dLFxuICAgICAgcGF1c2VkRkNOOiBbZmlsdGVyVmFsdWUucGF1c2VkRkNOXSxcbiAgICAgIGNyZWF0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jcmVhdGVkRkNOXSxcbiAgICAgIGNhbmNlbGVkRkNOOiBbZmlsdGVyVmFsdWUuY2FuY2VsZWRGQ05dLFxuICAgICAgZmFpbGVkRkNOOiBbZmlsdGVyVmFsdWUuZmFpbGVkRkNOXSxcbiAgICAgIGNvbXBsZXRlZEZDTjogW2ZpbHRlclZhbHVlLmNvbXBsZXRlZEZDTl0sXG4gICAgICBzdGFydFRpbWVGQ046IFtcbiAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOID9cbiAgICAgICAgbmV3IFJhbmdlVmFsdWUoXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLm9wZXJhdG9yLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5zZWNvbmRWYWx1ZVxuICAgICAgICApIDogbnVsbFxuICAgICAgXVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5LCB0aGlzLmZpbHRlckZvcm0udmFsdWUpLnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vblBhZ2VDaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uUGFnZUNoYW5nZWQoKSwgMTAwKTtcbiAgfVxuXG4gIHJlZnJlc2hMaXN0KCkge1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgaW5pdEdyaWQoKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHt0b3RhbDogMCwgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRX07XG4gICAgdGhpcy5zb3J0RmllbGRzID0gW1xuICAgICAge2ZpZWxkOiAnc3RhcnR0aW1lJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZ3JpZC5zb3J0LmRhdGUnKSwgc29ydDogbnVsbH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJyxcbiAgICAgIHJvd0RhdGE6IFtdXG4gICAgfTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBzb3J0KGV2dDogQ3VzdG9tRXZlbnQpIHtcbiAgICB0aGlzLnNvcnRQYXJhbXMuc3RhcnR0aW1lID0gZXZ0LmRldGFpbFswXT8uc29ydCA/IGV2dC5kZXRhaWxbMF0uc29ydCA6ICcnO1xuICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSwgdGhpcy5zb3J0UGFyYW1zKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZWQocGFnZTogbnVtYmVyID0gMSkge1xuICAgIHRoaXMuZmV0Y2hSb3dEYXRhKHtcbiAgICAgIHN0YXJ0Um93OiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFICogKHBhZ2UgLSAxKSxcbiAgICAgIHN1Y2Nlc3NDYWxsYmFjazogKHJvd3MsIHRvdGFsKSA9PiB7XG4gICAgICAgIHRoaXMuZW9HcmlkLmFwaT8uc2V0R3JpZE9wdGlvbigncm93RGF0YScsIHJvd3MpO1xuICAgICAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSb3dEYXRhKHBhcmFtcykge1xuICAgIGNvbnN0IHBhZ2UgPSBNYXRoLmZsb29yKHBhcmFtcy5zdGFydFJvdyAvIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUpO1xuICAgIGNvbnN0IHNvcnQgPSB0aGlzLnNvcnRQYXJhbXMuc3RhcnR0aW1lO1xuICAgIHRoaXMuZ2V0UHJvY2Vzc2VzKHsgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSwgcGFnZSwgc29ydH0pLnN1YnNjcmliZSgocHJvY2Vzc2VzKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLnN0YXJ0Um93ID09PSAwKSB7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTEgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgICAgdGhpcy5lbXB0eVN0YXRlMiA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZShwcm9jZXNzZXMuY29udGVudCA/IHByb2Nlc3Nlcy5jb250ZW50Lmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgcGFyYW1zLnN1Y2Nlc3NDYWxsYmFjayhwcm9jZXNzZXMucHJvY2Vzc2VzLCBwcm9jZXNzZXMudG90YWxFbGVtZW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb2Nlc3NlcyhvcHRpb25zKSB7XG4gICAgbGV0IHVybCA9IFV0aWxzLmJ1aWxkVXJpKGAvcHJvY2Vzc2VzYCwgb3B0aW9ucyB8fCB7fSk7XG4gICAgdXJsID0gdGhpcy5hZGRGaWx0ZXJQYXJhbXNUb1VybCh1cmwpO1xuICAgIHVybCA9IHRoaXMuYWRkU29ydFBhcmFtc1RvVXJsKHVybCk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24odXJsLCB0aGlzLmJhY2tlbmQuZ2V0QnBtQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgbGV0IHByb2Nlc3NlcyA9IHJlc3BvbnNlLmNvbnRlbnQubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvY2VzcyA9IG5ldyBQcm9jZXNzKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3M7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzcG9uc2UucHJvY2Vzc2VzID0gdGhpcy5hZGRJY29uVXJsKHByb2Nlc3Nlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyRm9ybSB8fCAhdGhpcy5maWx0ZXJGb3JtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY3JlYXRlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5ydW5uaW5nRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MjBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5jb21wbGV0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0zMFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLnBhdXNlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTQwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY2FuY2VsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT01MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmZhaWxlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTYwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUubW9kZWxGQ04pIHtcbiAgICAgIHVybCArPVxuICAgICAgICBcIiZtb2RlbGlkPVwiICsgdGhpcy5nZXRNb2RlbElkRnJvbU5hbWUodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04gJiYgdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlKSB7XG5cbiAgICAgIGNvbnN0IHtvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWV9ID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTjtcbiAgICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSBuZXcgU2VhcmNoRmlsdGVyKCdzdGFydHRpbWUnLCBvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWUsIHt0aW1lOiB0cnVlLCB0aW1lem9uZTogdHJ1ZX0pLnRvRGF0ZVRpbWVRdWVyeSgpO1xuXG4gICAgICBpZiAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMKSB7XG4gICAgICAgIHVybCArPSAnJnN0YXJ0dGltZV9lcT0nICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9ndGU9XCIgKyBxdWVyeS52MTtcbiAgICAgIH1cbiAgICAgIGlmIChxdWVyeS5vLm1hdGNoKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSkge1xuICAgICAgICB1cmwgKz0gXCImc3RhcnR0aW1lX2x0ZT1cIiArIChxdWVyeS5vID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIID8gcXVlcnkudjIgOiBxdWVyeS52MSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGFkZFNvcnRQYXJhbXNUb1VybCh1cmwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNvcnRQYXJhbXMuc3RhcnR0aW1lKSB7XG4gICAgICB1cmwgKz0gJyZzb3J0PXN0YXJ0dGltZSwnICsgdGhpcy5zb3J0UGFyYW1zLnN0YXJ0dGltZTtcbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kZWxJZEZyb21OYW1lKG1vZGVsTmFtZSk6IHN0cmluZyB7XG4gICAgbGV0IGlkID0gXCJcIjtcbiAgICB0aGlzLnByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMuZm9yRWFjaChtb2RlbCA9PiB7XG4gICAgICBpZiAobW9kZWwubmFtZSA9PT0gbW9kZWxOYW1lKSB7XG4gICAgICAgIGlkID0gbW9kZWwuaWQ7XG4gICAgICB9IGVsc2UgaWYgKG1vZGVsLm1vZGVscykge1xuICAgICAgICBtb2RlbC5tb2RlbHMuZm9yRWFjaChzdWJtb2RlbCA9PiB7XG4gICAgICAgICAgaWYgKHN1Ym1vZGVsLm5hbWUgPT09IG1vZGVsTmFtZSkge1xuICAgICAgICAgICAgaWQgPSBzdWJtb2RlbC5pZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGFkZEljb25VcmwocHJvY2Vzc2VzOiBQcm9jZXNzW10pIHtcbiAgICBwcm9jZXNzZXMuZm9yRWFjaCgocHJvY2VzczogUHJvY2VzcykgPT4ge1xuICAgICAgaWYgKCFwcm9jZXNzLmljb25pZCkge1xuICAgICAgICBpZiAocHJvY2Vzcy5zdGF0ZSA9PT0gJ0VSUk9SU1VTUEVOREVEJykge1xuICAgICAgICAgIHByb2Nlc3MuaWNvbnVybCA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbV93YXJuaW5nLnN2Zyc7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5zdGF0ZSA9PT0gJ0NPTVBMRVRFRCcpIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG1fZG9uZS5zdmcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb2Nlc3MuaWNvbnVybCA9IFwiYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG0uc3ZnXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcHJvY2Vzc2VzO1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyKHBhcmFtcykge1xuICAgIGlmIChwYXJhbXMuZGF0YSkge1xuICAgICAgbGV0IGljb24gPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoXCJpY29uXCIsIHBhcmFtcywge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIHVybDogcGFyYW1zLmRhdGEuaWNvbmlkID8gXCJcIiA6IHBhcmFtcy5kYXRhLmljb251cmwsXG4gICAgICAgICAgaWNvbklkOiAhcGFyYW1zLmRhdGEuaWNvbmlkID8gXCJcIiA6IHBhcmFtcy5kYXRhLmljb25pZCxcbiAgICAgICAgICBsYWJlbDogcGFyYW1zLmRhdGEubW9kZWxuYW1lXG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7IHZhbHVlOiBwYXJhbXMuZGF0YS5zdGFydHRpbWUsIHBhdHRlcm46ICdlb1Nob3J0RGF0ZScgfSk7XG4gICAgICBjb25zdCBlbmRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywgeyB2YWx1ZTogcGFyYW1zLmRhdGEuZW5kdGltZSwgcGF0dGVybjogJ2VvU2hvcnREYXRlJyB9KTtcbiAgICAgIGNvbnN0IGhhc0Vycm9yID0gcGFyYW1zLmRhdGEuc3RhdGUgPT09ICdFUlJPUlNVU1BFTkRFRCcgPyAnZXJyb3InIDogJyc7XG4gICAgICBjb25zdCBoYXNOb3RZZXRCZWVuU3RhcnRlZCA9IHBhcmFtcy5kYXRhLnN0YXRlID09PSAwID8gJ25vdHN0YXJ0ZWQnIDogJyc7XG4gICAgICBjb25zdCBlbmRUaW1lTWFya3VwOiBzdHJpbmcgPSAoZW5kVGltZS5sZW5ndGgpID8gYDxkaXYgY2xhc3M9XCJkYXRlIGVuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiR7cGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZW5kLnRpbWUubGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVcIj4gJHtlbmRUaW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgIDogXCJcIjtcbiAgICAgIGNvbnN0IHN0YXJ0VGltZU1hcmt1cDogc3RyaW5nID0gc3RhcnRUaW1lLmxlbmd0aFxuICAgICAgICA/IGA8ZGl2IGNsYXNzPVwiZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiR7cGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVvLnByb2Nlc3Muc3RhcnQudGltZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVcIj4gJHtzdGFydFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBcIlwiO1xuXG4gICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gJHtoYXNFcnJvcn0gJHtoYXNOb3RZZXRCZWVuU3RhcnRlZH1cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAke2ljb259XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb250ZW50Jz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGl0bGUnPiR7cGFyYW1zLmRhdGEudGl0bGUgfHwgXCIuLi5cIn08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZGVzY3JpcHRpb24nPiR7cGFyYW1zLmRhdGEubW9kZWxuYW1lIHx8IFwiLi4uXCJ9PC9kaXY+XG4gICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0YVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgJHtzdGFydFRpbWVNYXJrdXB9XG4gICAgICAgICAgICAgICAgJHtlbmRUaW1lTWFya3VwfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPC9kaXY+XG4gICAgICAgIGA7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0R3JpZCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgfVxuXG4gIGhhc0NoYW5nZWQob1YsIG5WKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9WKSAhPT0gSlNPTi5zdHJpbmdpZnkoblYpO1xuICB9XG5cbiAgaGFzUGVuZGluZ0NoYW5nZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGVuZGluZ0NoYW5nZXMuaGFzUGVuZGluZ1Rhc2soKTtcbiAgfVxufVxuIiwiPHl2Yy1zcGxpdC12aWV3IFtsYXlvdXRTZXR0aW5nc0lEXT1cIidpbmJveC5zdGF0ZSdcIj5cbiAgPCEtLSBsaXN0IC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjMwXCI+XG4gICAgPGVvLWxpc3QtY29udGFpbmVyICNlb0xpc3QgW2FwcGx5U2VsZWN0aW9uXT1cIntvdXQ6IHByb2Nlc3NTZWxlY3Rpb25JZH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cbiAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbS5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLXRpdGxlXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnByb2Nlc3M8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItYWN0aW9uc1wiPlxuICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHJlZnJlc2gtYnV0dG9uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaExpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmxpc3QucmVmcmVzaCcgfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29GaWx0ZXIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmlsdGVyLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvRmlsdGVyLm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8uZmlsdGVyLmJ5PC9kaXY+XG4gICAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybVwiICpuZ0lmPSdmaWx0ZXJGb3JtJz5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMubW9kZWwnIHwgdHJhbnNsYXRlKVwiICpuZ0lmPVwicHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1keW5hbWljLWxpc3QgZm9ybUNvbnRyb2xOYW1lPVwibW9kZWxGQ05cIiBbcGlja2VyVGl0bGVdPVwiJ01vZGVscydcIiBbbGlzdE9iamVjdF09XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdFwiPjwvZW8tZHluYW1pYy1saXN0PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMucnVubmluZycgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwicnVubmluZ0ZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5wYXVzZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInBhdXNlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5jcmVhdGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjcmVhdGVkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNhbmNlbGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjYW5jZWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5mYWlsZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImZhaWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5jb21wbGV0ZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImNvbXBsZXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5zdGFydHRpbWUnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWRhdGV0aW1lLXJhbmdlIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0VGltZUZDTlwiIFt3aXRoVGltZV09XCJmYWxzZVwiPjwvZW8tZGF0ZXRpbWUtcmFuZ2U+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJyZXNldC1maWx0ZXJcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIiAqbmdJZj1cImhhc0NoYW5nZWQoZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSwgZmlsdGVyRm9ybT8udmFsdWUpXCI+UmVzZXQgZmlsdGVyPC9idXR0b24+XG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LXNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRTb3J0UGFyYW1zLCBzb3J0UGFyYW1zKVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0IFtpZF09XCIncHJvY2Vzcy5zb3J0J1wiIChjaGFuZ2UpPVwic29ydCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9Tb3J0Lm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCIgW3NvcnRGaWVsZHNdPVwic29ydEZpZWxkc1wiPjwvZW8tY3VzdG9tLXNvcnQ+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JpZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3Nob3dGb290ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzZWxlY3RGaXJzdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZENvdW50Q2hhbmdlZCk9XCJlb0xpc3Qub25Db3VudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChlb0dyaWRGb2N1c0NoYW5nZWQpPVwiZW9MaXN0Lm9uRm9jdXNDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZW8tdG90YWwtY291bnQgW2dyaWRDb3VudF09XCJlb0xpc3QuZ3JpZENvdW50XCIgW291dHNpZGVHcmlkXT1cImZhbHNlXCIgY2xhc3M9XCJmbGV4LXJvd1wiPjwvZW8tdG90YWwtY291bnQ+XG4gICAgICAgICAgICA8ZW8tcGFnaW5hdGlvbiBbc2V0dGluZ3NdPVwic2V0dGluZ3NcIiAocGFnZUNoYW5nZWQpPVwib25QYWdlQ2hhbmdlZCgkZXZlbnQpXCI+PC9lby1wYWdpbmF0aW9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZSBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX2JwbS5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5wcm9jZXNzLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxlby1yZXNldC1maWx0ZXIgW2lzRmlsdGVyQWN0aXZlXT1cIm9GaWx0ZXIuYWN0aXZlXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCI+PC9lby1yZXNldC1maWx0ZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZW8tbGlzdC1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBwcm9jZXNzIGRldGFpbHMgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tcHJvY2Vzcy1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7aW46IHByb2Nlc3NTZWxlY3Rpb25JZH1cIiBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlMVwiXG4gICAgW3BsdWdpbnNdPVwiJ3Byb2Nlc3MtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgPC9lby1wcm9jZXNzLWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBvYmplY3QgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiPlxuICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlTGF5b3V0XT1cIidwcm9jZXNzLnN0YXRlLm9iamVjdC1kZXRhaWxzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc109XCInb2JqZWN0LWRldGFpbHMtdGFiLnByb2Nlc3MnIHwgcGx1Z2luc1wiPlxuICAgICAgICA8L2VvLW9iamVjdC1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz5cbiJdfQ==
@@ -89,9 +89,9 @@ let RecyclebinStateComponent = class RecyclebinStateComponent {
89
89
  }];
90
90
  this.textFilterParams = { context: { defaultValue: '' } };
91
91
  this.sortFields = [
92
- { field: 'recycled', headerName: this.translate.instant('eo.inbox.sort.date'), sort: 'asc' },
93
- { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: 'asc' },
94
- { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: 'asc' }
92
+ { field: 'recycled', headerName: this.translate.instant('eo.inbox.sort.date'), sort: null },
93
+ { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: null },
94
+ { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: null }
95
95
  ];
96
96
  const sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
97
97
  this.gridOptions = {
@@ -134,7 +134,7 @@ let RecyclebinStateComponent = class RecyclebinStateComponent {
134
134
  this.selection.clear();
135
135
  }
136
136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RecyclebinStateComponent, deps: [{ token: i1.SelectionService }, { token: i2.TranslateService }, { token: i3.SystemService }, { token: i4.EmptyStateService }, { token: i5.PendingChangesService }, { token: i3.EventService }, { token: i6.PageTitleService }, { token: i3.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RecyclebinStateComponent, selector: "eo-recyclebin-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: ["plugins", "cacheLayout", "applySelection", "parseDmsParams", "emptyState", "params", "item"], outputs: ["hasContent"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i19.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i19.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i20.PluginPipe, name: "plugins" }] }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RecyclebinStateComponent, selector: "eo-recyclebin-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.recyclebin.filter.title' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.recyclebin.sort.title' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: ["plugins", "cacheLayout", "applySelection", "parseDmsParams", "emptyState", "params", "item"], outputs: ["hasContent"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i19.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i19.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i20.PluginPipe, name: "plugins" }] }); }
138
138
  };
139
139
  RecyclebinStateComponent = __decorate([
140
140
  UntilDestroy()
@@ -142,9 +142,9 @@ RecyclebinStateComponent = __decorate([
142
142
  export { RecyclebinStateComponent };
143
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RecyclebinStateComponent, decorators: [{
144
144
  type: Component,
145
- args: [{ selector: 'eo-recyclebin-state', template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"] }]
145
+ args: [{ selector: 'eo-recyclebin-state', template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.recyclebin.filter.title' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.recyclebin.sort.title' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"] }]
146
146
  }], ctorParameters: () => [{ type: i1.SelectionService }, { type: i2.TranslateService }, { type: i3.SystemService }, { type: i4.EmptyStateService }, { type: i5.PendingChangesService }, { type: i3.EventService }, { type: i6.PageTitleService }, { type: i3.UserService }], propDecorators: { eoGrid: [{
147
147
  type: ViewChild,
148
148
  args: ['eoGrid']
149
149
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9yZWN5Y2xlYmluLXN0YXRlL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcmVjeWNsZWJpbi1zdGF0ZS9yZWN5Y2xlYmluLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFZLFVBQVUsRUFBNEMsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHbkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFLMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDekcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTdEcsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFXbkMsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsTUFBcUIsRUFDckIsS0FBd0IsRUFDeEIsY0FBcUMsRUFDckMsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsV0FBd0I7UUFQZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixp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OzJGQXBJWSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UscUJBQXFCO3dTQWNWLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sRGVmLCBHcmlkT3B0aW9uc30gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEbXNQYXJhbXMsIEVuYWlvRXZlbnQsIEV2ZW50U2VydmljZSwgU3lzdGVtU2VydmljZSwgVXNlclNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2N1c3RvbS1zb3J0L2N1c3RvbS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NldEZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9maWx0ZXIvc2V0RmlsdGVycy9zZXQtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0lTZXRGaWx0ZXJ9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvZmlsdGVyL3NldEZpbHRlcnMvc2V0LWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7R3JpZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWN5Y2xlYmluLXN0YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWN5Y2xlYmluLXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVjeWNsZWJpblN0YXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudCwgT25EZXN0cm95IHtcblxuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHNvcnRGaWVsZHM6IENvbERlZltdO1xuICB0eXBlRmlsdGVyRmllbGRzOiBJU2V0RmlsdGVyW107XG4gIGdyaWREYXRhO1xuICBpbmJveERtc09iamVjdFNlbGVjdGlvbklkID0gJ2luYm94X2Rtcyc7XG4gIGVtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSBFbXB0eVN0YXRlU2VydmljZS5kZWZhdWx0RW1wdHlTdGF0ZSgpOyBzaG93QWN0aW9uc01lbnUgPSB0cnVlO1xuICB0ZXh0RmlsdGVyUGFyYW1zOiBhbnkgPSB7fTtcblxuICBAVmlld0NoaWxkKCdlb0dyaWQnKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmxpc3QudGl0bGUnKSk7XG4gICAgdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfUkVTVE9SRURfT1JfREVMRVRFRCkucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoR3JpZCgpKTtcblxuICB9XG5cbiAgc2V0IGhhc0NvbnRlbnQoaGFzQ29udGVudDogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd0FjdGlvbnNNZW51ID0gaGFzQ29udGVudDtcbiAgfVxuXG4gIGdldCBoYXNDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dBY3Rpb25zTWVudTtcbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZCgpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFJlY3ljbGVCaW4oKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHBhcnNlRG1zUGFyYW1zKGRhdGEpOiBEbXNQYXJhbXMge1xuICAgIHJldHVybiBkYXRhID8ge2lkOiBkYXRhLmlkLCB0eXBlOiBkYXRhLnR5cGUsIHJlY3ljbGViaW46IHRydWV9IDogbnVsbDtcbiAgfVxuXG4gIHR5cGVGaWx0ZXJzKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdyaWREYXRhO1xuICAgIGxldCB1bmlxdWVCeVR5cGUgPSBTZXRGaWx0ZXJDb21wb25lbnQudW5pcUJ5KGRhdGEsICd0eXBlJywgdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZXMoKSk7XG4gICAgdGhpcy50eXBlRmlsdGVyRmllbGRzID0gdW5pcXVlQnlUeXBlLm1hcCh0ID0+IE9iamVjdC5hc3NpZ24oe1xuICAgICAgbGFiZWw6IHQubGFiZWwsXG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGZpbHRlcjogKG5vZGUpID0+IG5vZGUuZGF0YSA9PT0gdC5xbmFtZSxcbiAgICAgIGlkOiB0LnFuYW1lXG4gICAgfSkpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKSk7XG4gIH1cblxuICByZXNldEZpbHRlcnMoKSB7XG4gICAgdGhpcy50eXBlRmlsdGVycygpO1xuICB9XG5cbiAgdXBkYXRlR3JpZChkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5lbXB0eVN0YXRlID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKGRhdGEgPyBkYXRhLmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuICAgIGlmICh0aGlzLmVvR3JpZCAmJiB0aGlzLmVvR3JpZC5pc1JlYWR5KSB7XG4gICAgICB0aGlzLmVvR3JpZC51cGRhdGVSb3dEYXRhKGRhdGEpO1xuICAgICAgcmV0dXJuIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNldEZpbHRlcnMoKTtcblxuICAgIGxldCBjb2xEZWZzOiBDb2xEZWZbXSA9IFt7XG4gICAgICBoZWFkZXJOYW1lOiAnJyxcbiAgICAgIGZpZWxkOiAnX19jdXN0b20nLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgIGZpbHRlcjogZmFsc2VcbiAgICB9XTtcblxuICAgIHRoaXMudGV4dEZpbHRlclBhcmFtcyA9IHtjb250ZXh0OiB7ZGVmYXVsdFZhbHVlOiAnJ319O1xuICAgIHRoaXMuc29ydEZpZWxkcyA9IFtcbiAgICAgIHtmaWVsZDogJ3JlY3ljbGVkJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kYXRlJyksIHNvcnQ6ICdhc2MnfSxcbiAgICAgIHtmaWVsZDogJ3RpdGxlJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC50aXRsZScpLCBzb3J0OiAnYXNjJ30sXG4gICAgICB7ZmllbGQ6ICdkZXNjcmlwdGlvbicsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQuZGVzY3JpcHRpb24nKSwgc29ydDogJ2FzYyd9XG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHtjb3VudDogZGF0YS5sZW5ndGh9LFxuICAgICAgcm93RGF0YTogZGF0YSxcbiAgICAgIGNvbHVtbkRlZnM6IGNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgIH07XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG4gICAgbGV0IGljb24gPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ3R5cGUnLCBwYXJhbXMsIHtcbiAgICAgIHZhbHVlOiBwYXJhbXMuZGF0YS50eXBlXG4gICAgfSk7XG4gICAgbGV0IHJlY3ljbGVkVGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHt2YWx1ZTogcGFyYW1zLmRhdGEucmVjeWNsZWR9KTtcblxuICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSAke3BhcmFtcy5kYXRhLmZvbGRlciA/ICdmb2xkZXInIDogJyd9XCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgICAke2ljb259XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0YVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICR7cGFyYW1zLmRhdGEuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2Rlc2NyaXB0aW9uIGRhdGUnPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcmlvZFwiPiR7cmVjeWNsZWRUaW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PmA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hHcmlkKCk7XG4gICAgdGhpcy51c2VyU2VydmljZS5yZWN5Y2xlc0dyaWREYXRhJC5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICApXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLmdyaWREYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKHRoaXMuZ3JpZERhdGEpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ3JlY3ljbGViaW4uc3RhdGUnXCI+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMjVcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie31cIiBbcGFyc2VEbXNQYXJhbXNdPVwicGFyc2VEbXNQYXJhbXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cbiAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3RyYXNoLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiXG4gICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmlsdGVyLnN2ZydcIiBbaWNvblRpdGxlXT1cIidlby5saXN0LnNvcnQnICB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9GaWx0ZXIub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGVvLXRleHQtZmlsdGVyIFt0aXRsZV09XCInZW8ucmVjeWNsZWJpbi5maWx0ZXIudGl0bGUnIHwgdHJhbnNsYXRlXCIgW2lkXT1cIidyZWN5Y2xlYmluLnRleHQnXCJcbiAgICAgICAgICAgICAgICBbbWF0Y2hGaWVsZHNdPVwiWyd0aXRsZScsJ2Rlc2NyaXB0aW9uJ11cIiBbZmlsdGVyUGFyYW1zXT1cInRleHRGaWx0ZXJQYXJhbXNcIj5cbiAgICAgICAgICAgICAgPC9lby10ZXh0LWZpbHRlcj5cblxuICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydCBjbGFzcz1cIm92ZXJsYXktc29ydFwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidyZWN5Y2xlYmluLnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9Tb3J0Lm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCIgW3NvcnRGaWVsZHNdPVwic29ydEZpZWxkc1wiPjwvZW8tY3VzdG9tLXNvcnQ+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkICpuZ0lmPVwiZ3JpZE9wdGlvbnM/LnJvd0RhdGFcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIiBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIiBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCIgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgIFtzZWxlY3Rpb25MaW1pdF09XCIxXCJcbiAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZCk9XCJlb0xpc3Qub25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRGb2N1c0NoYW5nZWQpPVwiZW9MaXN0Lm9uRm9jdXNDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgID5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY190cmFzaC5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5yZWN5Y2xlYmluLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxlby1yZXNldC1maWx0ZXIgW2lzRmlsdGVyQWN0aXZlXT1cIm9GaWx0ZXIuYWN0aXZlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2VvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNzVcIj5cbiAgICA8ZW8tcmVjeWNsZWJpbi1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7fVwiIFtwYXJzZURtc1BhcmFtc109XCJwYXJzZURtc1BhcmFtc1wiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGVcIlxuICAgICAgICBbY2FjaGVMYXlvdXRdPVwiJ3JlY3ljbGViaW4uc3RhdGUuZGV0YWlscydcIiAoaGFzQ29udGVudCk9XCJoYXNDb250ZW50ID0gJGV2ZW50XCIgXG4gICAgICAgIFtwbHVnaW5zXT1cIidvYmplY3QtZGV0YWlscy10YWIucmVjeWNsZWJpbicgfCBwbHVnaW5zXCI+XG4gICAgICA8L2VvLXJlY3ljbGViaW4tZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwveXZjLXNwbGl0LXZpZXc+XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9yZWN5Y2xlYmluLXN0YXRlL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcmVjeWNsZWJpbi1zdGF0ZS9yZWN5Y2xlYmluLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFZLFVBQVUsRUFBNEMsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHbkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFLMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDekcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTdEcsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFXbkMsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsTUFBcUIsRUFDckIsS0FBd0IsRUFDeEIsY0FBcUMsRUFDckMsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsV0FBd0I7UUFQZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixp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OzJGQXBJWSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UscUJBQXFCO3dTQWNWLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sRGVmLCBHcmlkT3B0aW9uc30gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEbXNQYXJhbXMsIEVuYWlvRXZlbnQsIEV2ZW50U2VydmljZSwgU3lzdGVtU2VydmljZSwgVXNlclNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2N1c3RvbS1zb3J0L2N1c3RvbS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NldEZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9maWx0ZXIvc2V0RmlsdGVycy9zZXQtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0lTZXRGaWx0ZXJ9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvZmlsdGVyL3NldEZpbHRlcnMvc2V0LWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7R3JpZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWN5Y2xlYmluLXN0YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWN5Y2xlYmluLXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVjeWNsZWJpblN0YXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudCwgT25EZXN0cm95IHtcblxuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHNvcnRGaWVsZHM6IENvbERlZltdO1xuICB0eXBlRmlsdGVyRmllbGRzOiBJU2V0RmlsdGVyW107XG4gIGdyaWREYXRhO1xuICBpbmJveERtc09iamVjdFNlbGVjdGlvbklkID0gJ2luYm94X2Rtcyc7XG4gIGVtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSBFbXB0eVN0YXRlU2VydmljZS5kZWZhdWx0RW1wdHlTdGF0ZSgpOyBzaG93QWN0aW9uc01lbnUgPSB0cnVlO1xuICB0ZXh0RmlsdGVyUGFyYW1zOiBhbnkgPSB7fTtcblxuICBAVmlld0NoaWxkKCdlb0dyaWQnKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmxpc3QudGl0bGUnKSk7XG4gICAgdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfUkVTVE9SRURfT1JfREVMRVRFRCkucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoR3JpZCgpKTtcblxuICB9XG5cbiAgc2V0IGhhc0NvbnRlbnQoaGFzQ29udGVudDogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd0FjdGlvbnNNZW51ID0gaGFzQ29udGVudDtcbiAgfVxuXG4gIGdldCBoYXNDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dBY3Rpb25zTWVudTtcbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZCgpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFJlY3ljbGVCaW4oKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHBhcnNlRG1zUGFyYW1zKGRhdGEpOiBEbXNQYXJhbXMge1xuICAgIHJldHVybiBkYXRhID8ge2lkOiBkYXRhLmlkLCB0eXBlOiBkYXRhLnR5cGUsIHJlY3ljbGViaW46IHRydWV9IDogbnVsbDtcbiAgfVxuXG4gIHR5cGVGaWx0ZXJzKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdyaWREYXRhO1xuICAgIGxldCB1bmlxdWVCeVR5cGUgPSBTZXRGaWx0ZXJDb21wb25lbnQudW5pcUJ5KGRhdGEsICd0eXBlJywgdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZXMoKSk7XG4gICAgdGhpcy50eXBlRmlsdGVyRmllbGRzID0gdW5pcXVlQnlUeXBlLm1hcCh0ID0+IE9iamVjdC5hc3NpZ24oe1xuICAgICAgbGFiZWw6IHQubGFiZWwsXG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGZpbHRlcjogKG5vZGUpID0+IG5vZGUuZGF0YSA9PT0gdC5xbmFtZSxcbiAgICAgIGlkOiB0LnFuYW1lXG4gICAgfSkpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKSk7XG4gIH1cblxuICByZXNldEZpbHRlcnMoKSB7XG4gICAgdGhpcy50eXBlRmlsdGVycygpO1xuICB9XG5cbiAgdXBkYXRlR3JpZChkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5lbXB0eVN0YXRlID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKGRhdGEgPyBkYXRhLmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuICAgIGlmICh0aGlzLmVvR3JpZCAmJiB0aGlzLmVvR3JpZC5pc1JlYWR5KSB7XG4gICAgICB0aGlzLmVvR3JpZC51cGRhdGVSb3dEYXRhKGRhdGEpO1xuICAgICAgcmV0dXJuIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNldEZpbHRlcnMoKTtcblxuICAgIGxldCBjb2xEZWZzOiBDb2xEZWZbXSA9IFt7XG4gICAgICBoZWFkZXJOYW1lOiAnJyxcbiAgICAgIGZpZWxkOiAnX19jdXN0b20nLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgIGZpbHRlcjogZmFsc2VcbiAgICB9XTtcblxuICAgIHRoaXMudGV4dEZpbHRlclBhcmFtcyA9IHtjb250ZXh0OiB7ZGVmYXVsdFZhbHVlOiAnJ319O1xuICAgIHRoaXMuc29ydEZpZWxkcyA9IFtcbiAgICAgIHtmaWVsZDogJ3JlY3ljbGVkJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kYXRlJyksIHNvcnQ6IG51bGx9LFxuICAgICAge2ZpZWxkOiAndGl0bGUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LnRpdGxlJyksIHNvcnQ6IG51bGx9LFxuICAgICAge2ZpZWxkOiAnZGVzY3JpcHRpb24nLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LmRlc2NyaXB0aW9uJyksIHNvcnQ6IG51bGx9XG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHtjb3VudDogZGF0YS5sZW5ndGh9LFxuICAgICAgcm93RGF0YTogZGF0YSxcbiAgICAgIGNvbHVtbkRlZnM6IGNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgIH07XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG4gICAgbGV0IGljb24gPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ3R5cGUnLCBwYXJhbXMsIHtcbiAgICAgIHZhbHVlOiBwYXJhbXMuZGF0YS50eXBlXG4gICAgfSk7XG4gICAgbGV0IHJlY3ljbGVkVGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHt2YWx1ZTogcGFyYW1zLmRhdGEucmVjeWNsZWR9KTtcblxuICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSAke3BhcmFtcy5kYXRhLmZvbGRlciA/ICdmb2xkZXInIDogJyd9XCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgICAke2ljb259XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0YVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICR7cGFyYW1zLmRhdGEuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2Rlc2NyaXB0aW9uIGRhdGUnPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcmlvZFwiPiR7cmVjeWNsZWRUaW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PmA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hHcmlkKCk7XG4gICAgdGhpcy51c2VyU2VydmljZS5yZWN5Y2xlc0dyaWREYXRhJC5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICApXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLmdyaWREYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKHRoaXMuZ3JpZERhdGEpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ3JlY3ljbGViaW4uc3RhdGUnXCI+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMjVcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie31cIiBbcGFyc2VEbXNQYXJhbXNdPVwicGFyc2VEbXNQYXJhbXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cbiAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3RyYXNoLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiXG4gICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmlsdGVyLnN2ZydcIiBbaWNvblRpdGxlXT1cIidlby5yZWN5Y2xlYmluLmZpbHRlci50aXRsZScgIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLWZpbHRlciAjY0ZpbHRlciAoY2hhbmdlKT1cImNGaWx0ZXIudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkU3ViamVjdCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5yZWN5Y2xlYmluLmZpbHRlci50aXRsZScgfCB0cmFuc2xhdGVcIiBbaWRdPVwiJ3JlY3ljbGViaW4udGV4dCdcIlxuICAgICAgICAgICAgICAgIFttYXRjaEZpZWxkc109XCJbJ3RpdGxlJywnZGVzY3JpcHRpb24nXVwiIFtmaWx0ZXJQYXJhbXNdPVwidGV4dEZpbHRlclBhcmFtc1wiPlxuICAgICAgICAgICAgICA8L2VvLXRleHQtZmlsdGVyPlxuXG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCIgW2ljb25UaXRsZV09XCInZW8ucmVjeWNsZWJpbi5zb3J0LnRpdGxlJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0ICNjU29ydCBbaWRdPVwiJ3JlY3ljbGViaW4uc29ydCdcIiAoY2hhbmdlKT1cImNTb3J0LnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiIFtzaG93Rm9vdGVyXT1cInRydWVcIiBbc2VsZWN0Rmlyc3RdPVwidHJ1ZVwiXG4gICAgICAgICAgW3NlbGVjdGlvbkxpbWl0XT1cIjFcIlxuICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3RyYXNoLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnJlY3ljbGViaW4ubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiPjwvZW8tcmVzZXQtZmlsdGVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZW8tbGlzdC1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI3NVwiPlxuICAgIDxlby1yZWN5Y2xlYmluLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCIgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCIgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZVwiXG4gICAgICAgIFtjYWNoZUxheW91dF09XCIncmVjeWNsZWJpbi5zdGF0ZS5kZXRhaWxzJ1wiIChoYXNDb250ZW50KT1cImhhc0NvbnRlbnQgPSAkZXZlbnRcIiBcbiAgICAgICAgW3BsdWdpbnNdPVwiJ29iamVjdC1kZXRhaWxzLXRhYi5yZWN5Y2xlYmluJyB8IHBsdWdpbnNcIj5cbiAgICAgIDwvZW8tcmVjeWNsZWJpbi1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz5cbiJdfQ==
@@ -58,7 +58,7 @@ let ResultStateComponent = class ResultStateComponent {
58
58
  this.selection.clear();
59
59
  }
60
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ResultStateComponent, deps: [{ token: i1.PendingChangesService }, { token: i2.ActivatedRoute }, { token: i3.PageTitleService }, { token: i4.SelectionService }, { token: i2.Router }, { token: i5.NotificationsService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ResultStateComponent, selector: "eo-result-state", ngImport: i0, template: "<yvc-master-details [layoutOptions]=\"{masterSize: 60, detailsSize: 40}\" [layoutSettingsID]=\"'result.state--' + typeName\"\n [detailsActive]=\"true\">\n <!-- master -->\n <ng-template #yvcMasterPane>\n <eo-result-list [query]=\"query\" [hasIcon]=\"true\" [clearAfterExecute]=\"clearAfterExecute\"\n (onResult)=\"onResult($event)\" (onQueryInvalid)=\"onQueryInvalid()\"></eo-result-list>\n </ng-template>\n\n <!-- details -->\n <ng-template #yvcDetailsPane>\n <eo-object-details [searchTerm]=\"searchTerm\" [applySelection]=\"{}\"\n [cacheLayout]=\"'result.state--' + typeName + '.object-details'\" [plugins]=\"'object-details-tab.result' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-master-details>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden;display:block}:host yvc-master-details{height:100%}\n"], dependencies: [{ kind: "component", type: i6.ResultListComponent, selector: "eo-result-list", inputs: ["title", "configType", "configContext", "clearAfterExecute", "emptyMessage", "selectFirst", "gridOptions", "hasIcon", "reference", "query", "searchResult"], outputs: ["onSelectionChanged", "onFocusChanged", "onDoubleClick", "onContextMenu", "onCountChanged", "onRefresh", "onResult", "onQueryInvalid"] }, { kind: "component", type: i7.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i8.MasterDetailsComponent, selector: "yvc-master-details", inputs: ["detailsActive", "layoutSettingsID", "layoutOptions", "undockableDetails", "panelStyle", "mode"] }, { kind: "pipe", type: i9.PluginPipe, name: "plugins" }] }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ResultStateComponent, selector: "eo-result-state", ngImport: i0, template: "<yvc-master-details [layoutOptions]=\"{masterSize: 60, detailsSize: 40}\" [layoutSettingsID]=\"'result.state--' + typeName\"\n [detailsActive]=\"true\">\n <!-- master -->\n <ng-template #yvcMasterPane>\n <eo-result-list [query]=\"query\" [hasIcon]=\"true\" [clearAfterExecute]=\"clearAfterExecute\"\n (onResult)=\"onResult($event)\" (onQueryInvalid)=\"onQueryInvalid()\"></eo-result-list>\n </ng-template>\n\n <!-- details -->\n <ng-template #yvcDetailsPane>\n <eo-object-details [searchTerm]=\"searchTerm\" [applySelection]=\"{}\"\n [cacheLayout]=\"'result.state--' + typeName + '.object-details'\" [plugins]=\"'object-details-tab.result' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-master-details>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden;display:block}:host yvc-master-details{height:100%}\n"], dependencies: [{ kind: "component", type: i6.ResultListComponent, selector: "eo-result-list", inputs: ["title", "configType", "configContext", "clearAfterExecute", "emptyMessage", "selectFirst", "gridOptions", "hasIcon", "reference", "query", "searchResult"], outputs: ["onSelectionChanged", "onFocusChanged", "onDoubleClick", "onContextMenu", "onCountChanged", "onRefresh", "onResult", "onQueryInvalid"] }, { kind: "component", type: i7.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "versionComponentTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i8.MasterDetailsComponent, selector: "yvc-master-details", inputs: ["detailsActive", "layoutSettingsID", "layoutOptions", "undockableDetails", "panelStyle", "mode"] }, { kind: "pipe", type: i9.PluginPipe, name: "plugins" }] }); }
62
62
  };
63
63
  ResultStateComponent = __decorate([
64
64
  UntilDestroy()