@colijnit/sharedcomponents 1.0.61 → 1.0.63

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 (486) hide show
  1. package/3rdpartylicenses.txt +1200 -0
  2. package/README.md +24 -24
  3. package/bundles/colijnit-sharedcomponents.umd.js +9887 -9851
  4. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  5. package/colijnit-sharedcomponents.d.ts +91 -91
  6. package/colijnit-sharedcomponents.metadata.json +1 -1
  7. package/esm2015/colijnit-sharedcomponents.js +91 -91
  8. package/esm2015/lib/assets/dictionary/text.properties.js +11 -11
  9. package/esm2015/lib/businessobject/build-images-and-documentation-result.js +2 -2
  10. package/esm2015/lib/businessobject/co-document-right.bo.js +3 -3
  11. package/esm2015/lib/businessobject/drag-drop-container-element.js +2 -2
  12. package/esm2015/lib/businessobject/drag-drop-container.js +7 -7
  13. package/esm2015/lib/components/activity-list/activity-list.component.js +130 -130
  14. package/esm2015/lib/components/activity-list/activity-list.module.js +24 -24
  15. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +47 -47
  16. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.module.js +20 -20
  17. package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +61 -61
  18. package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +36 -36
  19. package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +56 -56
  20. package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +47 -47
  21. package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +68 -68
  22. package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +243 -243
  23. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +36 -36
  24. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +50 -50
  25. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +46 -46
  26. package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +61 -61
  27. package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +39 -39
  28. package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +35 -35
  29. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +64 -64
  30. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +48 -48
  31. package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +42 -42
  32. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +34 -34
  33. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +48 -48
  34. package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +107 -107
  35. package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +178 -178
  36. package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +34 -34
  37. package/esm2015/lib/components/date-planning/date-planning.component.js +113 -113
  38. package/esm2015/lib/components/date-planning/date-planning.module.js +63 -63
  39. package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -75
  40. package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -44
  41. package/esm2015/lib/components/docsign/docsign.component.js +242 -242
  42. package/esm2015/lib/components/docsign/docsign.module.js +23 -23
  43. package/esm2015/lib/components/file-upload/file-upload.component.js +189 -189
  44. package/esm2015/lib/components/file-upload/file-upload.module.js +25 -25
  45. package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +397 -397
  46. package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +30 -30
  47. package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +469 -469
  48. package/esm2015/lib/components/files-upload/components/drag-drop-container.component.js +115 -115
  49. package/esm2015/lib/components/files-upload/files-upload.component.js +131 -131
  50. package/esm2015/lib/components/files-upload/files-upload.module.js +47 -47
  51. package/esm2015/lib/components/image-display/image-display.component.js +36 -36
  52. package/esm2015/lib/components/image-display/image-display.module.js +23 -23
  53. package/esm2015/lib/components/key-pad/key-pad.component.js +200 -200
  54. package/esm2015/lib/components/key-pad/key-pad.module.js +22 -22
  55. package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -74
  56. package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -21
  57. package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +59 -59
  58. package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -19
  59. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +89 -89
  60. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.module.js +21 -21
  61. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +79 -79
  62. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +21 -21
  63. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +85 -85
  64. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +21 -21
  65. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +64 -64
  66. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +26 -26
  67. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +40 -40
  68. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +23 -23
  69. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +61 -61
  70. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +28 -28
  71. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +38 -38
  72. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +21 -21
  73. package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +7 -7
  74. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +258 -258
  75. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +35 -35
  76. package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +2 -2
  77. package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +59 -59
  78. package/esm2015/lib/components/simple-tags/simple-tags.component.js +229 -229
  79. package/esm2015/lib/components/simple-tags/simple-tags.module.js +26 -26
  80. package/esm2015/lib/components/statusbar/statusbar-popup.component.js +97 -97
  81. package/esm2015/lib/components/statusbar/statusbar.component.js +81 -81
  82. package/esm2015/lib/components/statusbar/statusbar.module.js +27 -27
  83. package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +47 -47
  84. package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +47 -47
  85. package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +47 -47
  86. package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +47 -47
  87. package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +47 -47
  88. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +67 -67
  89. package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +53 -53
  90. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +251 -240
  91. package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +52 -52
  92. package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +39 -41
  93. package/esm2015/lib/components/stock/localization/translation.js +70 -63
  94. package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +33 -33
  95. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +49 -48
  96. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +457 -457
  97. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +243 -241
  98. package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -2
  99. package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +72 -72
  100. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +160 -149
  101. package/esm2015/lib/components/stock/stock.component.js +238 -193
  102. package/esm2015/lib/components/stock/stock.module.js +80 -80
  103. package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +23 -23
  104. package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +19 -19
  105. package/esm2015/lib/components/tab-bar/tab-bar.component.js +90 -88
  106. package/esm2015/lib/components/tab-bar/tab-bar.module.js +21 -21
  107. package/esm2015/lib/components/tab-bar/tab.interface.js +2 -2
  108. package/esm2015/lib/components/tile-renderer/tile-render.component.js +80 -80
  109. package/esm2015/lib/components/tile-renderer/tile-render.module.js +26 -26
  110. package/esm2015/lib/decorator/input-boolean.decorator.js +34 -34
  111. package/esm2015/lib/enum/calendar-view.enum.js +9 -9
  112. package/esm2015/lib/enum/document-email-report.enum.js +18 -18
  113. package/esm2015/lib/enum/domain-multiple-name.enum.js +13 -13
  114. package/esm2015/lib/enum/file-type.js +14 -14
  115. package/esm2015/lib/enum/files-upload-config-objects.js +3 -3
  116. package/esm2015/lib/enum/gauge-color.enum.js +10 -10
  117. package/esm2015/lib/enum/icon.enum.js +48 -44
  118. package/esm2015/lib/enum/internal-param.enum.js +38 -38
  119. package/esm2015/lib/enum/keyboard-code.enum.js +32 -32
  120. package/esm2015/lib/enum/language-code.enum.js +8 -8
  121. package/esm2015/lib/enum/month.enum.js +17 -17
  122. package/esm2015/lib/enum/read-write-access-config-names.enum.js +2 -2
  123. package/esm2015/lib/enum/table-name.enum.js +86 -86
  124. package/esm2015/lib/enum/tag-category.enum.js +22 -22
  125. package/esm2015/lib/enum/tags-component-config-names.js +2 -2
  126. package/esm2015/lib/enum/thumb-three-way-state.js +19 -19
  127. package/esm2015/lib/enum/tile-size-type.js +7 -7
  128. package/esm2015/lib/enum/time-period.enum.js +11 -11
  129. package/esm2015/lib/event/co-drag-event.js +2 -2
  130. package/esm2015/lib/event/co-drop-event.js +2 -2
  131. package/esm2015/lib/interface/key-value-pair.js +2 -2
  132. package/esm2015/lib/interface/operation-callback-simple-function.js +4 -4
  133. package/esm2015/lib/localization/localization.module.js +19 -19
  134. package/esm2015/lib/localization/localize.pipe.js +26 -26
  135. package/esm2015/lib/localization/localize.service.js +30 -30
  136. package/esm2015/lib/localization/translation.js +3 -3
  137. package/esm2015/lib/model/agenda-event-per-day.model.js +6 -6
  138. package/esm2015/lib/model/agenda-event.model.js +8 -8
  139. package/esm2015/lib/model/agenda-null-objects.js +11 -11
  140. package/esm2015/lib/model/constant/all-months.js +17 -17
  141. package/esm2015/lib/model/date-range.js +5 -5
  142. package/esm2015/lib/model/day.model.js +7 -7
  143. package/esm2015/lib/model/icon-svg.js +47 -43
  144. package/esm2015/lib/model/month.model.js +11 -11
  145. package/esm2015/lib/model/send-method.js +8 -8
  146. package/esm2015/lib/model/settings.js +4 -4
  147. package/esm2015/lib/model/tag-tree-item.bo.js +16 -16
  148. package/esm2015/lib/model/time-window.bo.js +26 -26
  149. package/esm2015/lib/model/tree-object.js +15 -15
  150. package/esm2015/lib/model/week.model.js +6 -6
  151. package/esm2015/lib/model/weekday.model.js +10 -10
  152. package/esm2015/lib/pipe/array-number.pipe.js +15 -15
  153. package/esm2015/lib/pipe/file-type-image.pipe.js +51 -51
  154. package/esm2015/lib/pipe/master-pipes.js +9 -9
  155. package/esm2015/lib/pipe/ucfirst.pipe.js +16 -16
  156. package/esm2015/lib/service/dictionary.service.js +76 -76
  157. package/esm2015/lib/service/drag-drop.service.js +365 -365
  158. package/esm2015/lib/service/icon-cache.service.js +51 -51
  159. package/esm2015/lib/service/options.service.js +48 -48
  160. package/esm2015/lib/service/shared-connector.service.js +433 -433
  161. package/esm2015/lib/service/shared.service.js +60 -60
  162. package/esm2015/lib/service/stock.service.js +110 -110
  163. package/esm2015/lib/utils/array-utils.js +202 -202
  164. package/esm2015/lib/utils/calendar.utils.js +68 -68
  165. package/esm2015/lib/utils/check-precision-and-scale-result.js +2 -2
  166. package/esm2015/lib/utils/check-within-stepped-bounds-result.js +2 -2
  167. package/esm2015/lib/utils/co-document-shared-field-logic.js +50 -50
  168. package/esm2015/lib/utils/date-utils.js +264 -264
  169. package/esm2015/lib/utils/enum-utils.js +128 -128
  170. package/esm2015/lib/utils/function/not-nill.function.js +5 -5
  171. package/esm2015/lib/utils/is-nill.function.js +5 -5
  172. package/esm2015/lib/utils/map-utils.js +41 -41
  173. package/esm2015/lib/utils/number-utils.js +390 -390
  174. package/esm2015/lib/utils/object-utils.js +278 -278
  175. package/esm2015/lib/utils/ref-code-utils.js +49 -49
  176. package/esm2015/lib/utils/string-utils.js +93 -93
  177. package/esm2015/public-api.js +31 -31
  178. package/favicon.ico +0 -0
  179. package/fesm2015/colijnit-sharedcomponents.js +10410 -10328
  180. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  181. package/index.html +12 -0
  182. package/lib/assets/dictionary/text.properties.d.ts +3 -3
  183. package/lib/businessobject/build-images-and-documentation-result.d.ts +5 -5
  184. package/lib/businessobject/co-document-right.bo.d.ts +6 -6
  185. package/lib/businessobject/drag-drop-container-element.d.ts +6 -6
  186. package/lib/businessobject/drag-drop-container.d.ts +6 -6
  187. package/lib/components/access/read-write-access.scss +25 -25
  188. package/lib/components/access/style/_layout.scss +23 -23
  189. package/lib/components/access/style/_material-definition.scss +12 -12
  190. package/lib/components/access/style/_theme.scss +4 -4
  191. package/lib/components/access/style/material.scss +4 -4
  192. package/lib/components/activity-list/activity-list.component.d.ts +33 -33
  193. package/lib/components/activity-list/activity-list.module.d.ts +2 -2
  194. package/lib/components/activity-list/style/_layout.scss +68 -68
  195. package/lib/components/activity-list/style/_theme.scss +4 -4
  196. package/lib/components/activity-list/style/material.scss +4 -4
  197. package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +14 -14
  198. package/lib/components/app-file-dropzone/app-file-dropzone.module.d.ts +2 -2
  199. package/lib/components/app-file-dropzone/style/_layout.scss +61 -61
  200. package/lib/components/app-file-dropzone/style/_theme.scss +4 -4
  201. package/lib/components/app-file-dropzone/style/material.scss +4 -4
  202. package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +21 -21
  203. package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +7 -7
  204. package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +18 -18
  205. package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +13 -13
  206. package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +18 -18
  207. package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +48 -48
  208. package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +9 -9
  209. package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +8 -8
  210. package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +7 -7
  211. package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +10 -10
  212. package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +12 -12
  213. package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +12 -12
  214. package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +10 -10
  215. package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +9 -9
  216. package/lib/components/date-planning/component/agenda/style/_layout.scss +443 -443
  217. package/lib/components/date-planning/component/agenda/style/_material-definition.scss +12 -12
  218. package/lib/components/date-planning/component/agenda/style/_theme.scss +7 -7
  219. package/lib/components/date-planning/component/agenda/style/material.scss +5 -5
  220. package/lib/components/date-planning/component/agenda/view-select.component.d.ts +11 -11
  221. package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +9 -9
  222. package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +9 -9
  223. package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +23 -23
  224. package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +31 -31
  225. package/lib/components/date-planning/component/calendar/calendar.component.d.ts +10 -10
  226. package/lib/components/date-planning/component/calendar/style/_layout.scss +167 -167
  227. package/lib/components/date-planning/component/calendar/style/_material-definition.scss +7 -7
  228. package/lib/components/date-planning/component/calendar/style/_theme.scss +7 -7
  229. package/lib/components/date-planning/component/calendar/style/material.scss +5 -5
  230. package/lib/components/date-planning/date-planning.component.d.ts +28 -28
  231. package/lib/components/date-planning/date-planning.module.d.ts +2 -2
  232. package/lib/components/date-planning/style/_layout.scss +45 -45
  233. package/lib/components/date-planning/style/_theme.scss +5 -5
  234. package/lib/components/date-planning/style/material.scss +7 -7
  235. package/lib/components/docsign/component/signature/signature.component.d.ts +16 -16
  236. package/lib/components/docsign/component/signature/style/_layout.scss +40 -40
  237. package/lib/components/docsign/component/signature/style/_material-definition.scss +11 -11
  238. package/lib/components/docsign/component/signature/style/_theme.scss +13 -13
  239. package/lib/components/docsign/component/signature/style/material.scss +4 -4
  240. package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -12
  241. package/lib/components/docsign/component/signatures/style/_layout.scss +13 -13
  242. package/lib/components/docsign/component/signatures/style/_material-definition.scss +1 -1
  243. package/lib/components/docsign/component/signatures/style/_theme.scss +4 -4
  244. package/lib/components/docsign/component/signatures/style/material.scss +5 -5
  245. package/lib/components/docsign/docsign.component.d.ts +94 -94
  246. package/lib/components/docsign/docsign.module.d.ts +2 -2
  247. package/lib/components/docsign/style/_layout.scss +40 -40
  248. package/lib/components/docsign/style/_material-definition.scss +12 -12
  249. package/lib/components/docsign/style/_theme.scss +12 -12
  250. package/lib/components/docsign/style/material.scss +15 -15
  251. package/lib/components/file-upload/file-upload.component.d.ts +42 -42
  252. package/lib/components/file-upload/file-upload.module.d.ts +2 -2
  253. package/lib/components/file-upload/style/_layout.scss +59 -59
  254. package/lib/components/file-upload/style/_material-definition.scss +2 -2
  255. package/lib/components/file-upload/style/_theme.scss +4 -4
  256. package/lib/components/file-upload/style/material.scss +4 -4
  257. package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +75 -75
  258. package/lib/components/file-upload-popup/file-upload-popup.module.d.ts +2 -2
  259. package/lib/components/file-upload-popup/style/_layout.scss +48 -48
  260. package/lib/components/file-upload-popup/style/_material-definition.scss +2 -2
  261. package/lib/components/file-upload-popup/style/_theme.scss +5 -5
  262. package/lib/components/file-upload-popup/style/material.scss +4 -4
  263. package/lib/components/files-upload/components/base-file-upload.component.d.ts +98 -98
  264. package/lib/components/files-upload/components/drag-drop-container.component.d.ts +34 -34
  265. package/lib/components/files-upload/files-upload.component.d.ts +32 -32
  266. package/lib/components/files-upload/files-upload.module.d.ts +2 -2
  267. package/lib/components/files-upload/style/_layout.scss +49 -49
  268. package/lib/components/files-upload/style/_theme.scss +5 -5
  269. package/lib/components/files-upload/style/material.scss +4 -4
  270. package/lib/components/image-display/image-display.component.d.ts +14 -14
  271. package/lib/components/image-display/image-display.module.d.ts +2 -2
  272. package/lib/components/image-display/style/_layout.scss +56 -56
  273. package/lib/components/image-display/style/_material-definition.scss +4 -4
  274. package/lib/components/image-display/style/_theme.scss +6 -6
  275. package/lib/components/image-display/style/material.scss +3 -3
  276. package/lib/components/key-pad/key-pad.component.d.ts +38 -38
  277. package/lib/components/key-pad/key-pad.module.d.ts +2 -2
  278. package/lib/components/key-pad/style/_layout.scss +160 -160
  279. package/lib/components/key-pad/style/_material-definition.scss +19 -19
  280. package/lib/components/key-pad/style/_theme.scss +35 -35
  281. package/lib/components/key-pad/style/material.scss +4 -4
  282. package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -16
  283. package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -2
  284. package/lib/components/layout-switcher/style/_layout.scss +94 -94
  285. package/lib/components/layout-switcher/style/_material-definition.scss +16 -16
  286. package/lib/components/layout-switcher/style/_theme.scss +4 -4
  287. package/lib/components/layout-switcher/style/material.scss +6 -6
  288. package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +11 -11
  289. package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -2
  290. package/lib/components/linear-gauge/style/_layout.scss +20 -20
  291. package/lib/components/linear-gauge/style/_material-definition.scss +8 -8
  292. package/lib/components/linear-gauge/style/_theme.scss +4 -4
  293. package/lib/components/linear-gauge/style/material.scss +6 -6
  294. package/lib/components/login/style/_layout.scss +57 -57
  295. package/lib/components/login/style/_material-definition.scss +23 -23
  296. package/lib/components/login/style/_theme.scss +7 -7
  297. package/lib/components/login/style/material.scss +4 -4
  298. package/lib/components/multi-property-toggler/multiple-property-toggler.component.d.ts +27 -27
  299. package/lib/components/multi-property-toggler/multiple-property-toggler.module.d.ts +2 -2
  300. package/lib/components/multi-property-toggler/style/_layout.scss +24 -24
  301. package/lib/components/multi-property-toggler/style/_theme.scss +4 -4
  302. package/lib/components/multi-property-toggler/style/material.scss +4 -4
  303. package/lib/components/screen-config-generator/style/_layout.scss +95 -95
  304. package/lib/components/screen-config-generator/style/_theme.scss +4 -4
  305. package/lib/components/screen-config-generator/style/material.scss +4 -4
  306. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +19 -19
  307. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +2 -2
  308. package/lib/components/send-method-dialog/components/layout-selection/style/_layout.scss +44 -44
  309. package/lib/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +19 -19
  310. package/lib/components/send-method-dialog/components/layout-selection/style/_theme.scss +17 -17
  311. package/lib/components/send-method-dialog/components/layout-selection/style/material.scss +4 -4
  312. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +19 -19
  313. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +2 -2
  314. package/lib/components/send-method-dialog/components/printer-selection/style/_layout.scss +69 -69
  315. package/lib/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +37 -37
  316. package/lib/components/send-method-dialog/components/printer-selection/style/_theme.scss +23 -23
  317. package/lib/components/send-method-dialog/components/printer-selection/style/material.scss +4 -4
  318. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +14 -14
  319. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +2 -2
  320. package/lib/components/send-method-dialog/components/send-method-email/style/_layout.scss +29 -29
  321. package/lib/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +8 -8
  322. package/lib/components/send-method-dialog/components/send-method-email/style/_theme.scss +5 -5
  323. package/lib/components/send-method-dialog/components/send-method-email/style/material.scss +4 -4
  324. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +8 -8
  325. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +2 -2
  326. package/lib/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +25 -25
  327. package/lib/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +5 -5
  328. package/lib/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +5 -5
  329. package/lib/components/send-method-dialog/components/send-method-pdf/style/material.scss +4 -4
  330. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +13 -13
  331. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +2 -2
  332. package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +30 -30
  333. package/lib/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +5 -5
  334. package/lib/components/send-method-dialog/components/send-method-printer/style/_theme.scss +5 -5
  335. package/lib/components/send-method-dialog/components/send-method-printer/style/material.scss +4 -4
  336. package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +12 -12
  337. package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +2 -2
  338. package/lib/components/send-method-dialog/components/signature-button/style/_layout.scss +28 -28
  339. package/lib/components/send-method-dialog/components/signature-button/style/_material-definition.scss +8 -8
  340. package/lib/components/send-method-dialog/components/signature-button/style/_theme.scss +4 -4
  341. package/lib/components/send-method-dialog/components/signature-button/style/material.scss +4 -4
  342. package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +5 -5
  343. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +71 -71
  344. package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -2
  345. package/lib/components/send-method-dialog/send-method-params.interface.d.ts +13 -13
  346. package/lib/components/send-method-dialog/service/send-method.service.d.ts +23 -23
  347. package/lib/components/send-method-dialog/style/_layout.scss +165 -165
  348. package/lib/components/send-method-dialog/style/_material-definition.scss +48 -48
  349. package/lib/components/send-method-dialog/style/_theme.scss +33 -33
  350. package/lib/components/send-method-dialog/style/material.scss +10 -10
  351. package/lib/components/simple-tags/simple-tags.component.d.ts +31 -31
  352. package/lib/components/simple-tags/simple-tags.module.d.ts +2 -2
  353. package/lib/components/simple-tags/style/_layout.scss +272 -272
  354. package/lib/components/simple-tags/style/_material-definition.scss +39 -39
  355. package/lib/components/simple-tags/style/_theme.scss +4 -4
  356. package/lib/components/simple-tags/style/material.scss +4 -4
  357. package/lib/components/statusbar/statusbar-popup.component.d.ts +21 -21
  358. package/lib/components/statusbar/statusbar.component.d.ts +26 -26
  359. package/lib/components/statusbar/statusbar.module.d.ts +2 -2
  360. package/lib/components/statusbar/style/_layout.scss +70 -70
  361. package/lib/components/statusbar/style/_material-definition.scss +23 -23
  362. package/lib/components/statusbar/style/_theme.scss +13 -13
  363. package/lib/components/statusbar/style/material.scss +5 -5
  364. package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +9 -9
  365. package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +9 -9
  366. package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +9 -9
  367. package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +11 -11
  368. package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +9 -9
  369. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +20 -20
  370. package/lib/components/stock/components/stock-history/stock-history.component.d.ts +13 -13
  371. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +52 -50
  372. package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +11 -11
  373. package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +7 -9
  374. package/lib/components/stock/localization/translation.d.ts +67 -60
  375. package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +7 -7
  376. package/lib/components/stock/stock-information/stock-information.component.d.ts +9 -8
  377. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +75 -75
  378. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +56 -56
  379. package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +4 -4
  380. package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -18
  381. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +38 -42
  382. package/lib/components/stock/stock.component.d.ts +64 -57
  383. package/lib/components/stock/stock.module.d.ts +2 -2
  384. package/lib/components/stock/style/_layout.scss +421 -286
  385. package/lib/components/stock/style/_material-definition.scss +25 -25
  386. package/lib/components/stock/style/_theme.scss +5 -5
  387. package/lib/components/stock/style/material.scss +4 -4
  388. package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +4 -4
  389. package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +2 -2
  390. package/lib/components/stock-statusbar/style/_layout.scss +24 -24
  391. package/lib/components/stock-statusbar/style/material.scss +4 -4
  392. package/lib/components/tab-bar/style/_layout.scss +78 -78
  393. package/lib/components/tab-bar/style/_material-definition.scss +6 -6
  394. package/lib/components/tab-bar/style/material.scss +4 -4
  395. package/lib/components/tab-bar/tab-bar.component.d.ts +21 -21
  396. package/lib/components/tab-bar/tab-bar.module.d.ts +2 -2
  397. package/lib/components/tab-bar/tab.interface.d.ts +5 -5
  398. package/lib/components/tags/component/style/_layout.scss +67 -67
  399. package/lib/components/tags/component/style/_material-definition.scss +1 -1
  400. package/lib/components/tags/component/style/_theme.scss +8 -8
  401. package/lib/components/tags/component/style/material.scss +3 -3
  402. package/lib/components/tags/component/tag-join-label/style/_layout.scss +97 -97
  403. package/lib/components/tags/component/tag-join-label/style/_material-definition.scss +4 -4
  404. package/lib/components/tags/component/tag-join-label/style/_theme.scss +8 -8
  405. package/lib/components/tags/component/tag-join-label/style/material.scss +3 -3
  406. package/lib/components/tile-renderer/style/_layout.scss +90 -90
  407. package/lib/components/tile-renderer/style/_theme.scss +4 -4
  408. package/lib/components/tile-renderer/style/material.scss +4 -4
  409. package/lib/components/tile-renderer/tile-render.component.d.ts +31 -31
  410. package/lib/components/tile-renderer/tile-render.module.d.ts +2 -2
  411. package/lib/decorator/input-boolean.decorator.d.ts +8 -8
  412. package/lib/enum/calendar-view.enum.d.ts +7 -7
  413. package/lib/enum/document-email-report.enum.d.ts +15 -15
  414. package/lib/enum/domain-multiple-name.enum.d.ts +10 -10
  415. package/lib/enum/file-type.d.ts +7 -7
  416. package/lib/enum/files-upload-config-objects.d.ts +22 -22
  417. package/lib/enum/gauge-color.enum.d.ts +8 -8
  418. package/lib/enum/icon.enum.d.ts +46 -42
  419. package/lib/enum/internal-param.enum.d.ts +34 -34
  420. package/lib/enum/keyboard-code.enum.d.ts +30 -30
  421. package/lib/enum/language-code.enum.d.ts +6 -6
  422. package/lib/enum/month.enum.d.ts +14 -14
  423. package/lib/enum/read-write-access-config-names.enum.d.ts +4 -4
  424. package/lib/enum/table-name.enum.d.ts +84 -84
  425. package/lib/enum/tag-category.enum.d.ts +19 -19
  426. package/lib/enum/tags-component-config-names.d.ts +4 -4
  427. package/lib/enum/thumb-three-way-state.d.ts +6 -6
  428. package/lib/enum/tile-size-type.d.ts +4 -4
  429. package/lib/enum/time-period.enum.d.ts +8 -8
  430. package/lib/event/co-drag-event.d.ts +5 -5
  431. package/lib/event/co-drop-event.d.ts +8 -8
  432. package/lib/interface/key-value-pair.d.ts +4 -4
  433. package/lib/interface/operation-callback-simple-function.d.ts +4 -4
  434. package/lib/localization/localization.module.d.ts +2 -2
  435. package/lib/localization/localize.pipe.d.ts +7 -7
  436. package/lib/localization/localize.service.d.ts +7 -7
  437. package/lib/localization/translation.d.ts +2 -2
  438. package/lib/model/agenda-event-per-day.model.d.ts +5 -5
  439. package/lib/model/agenda-event.model.d.ts +17 -17
  440. package/lib/model/agenda-null-objects.d.ts +10 -10
  441. package/lib/model/constant/all-months.d.ts +2 -2
  442. package/lib/model/date-range.d.ts +7 -7
  443. package/lib/model/day.model.d.ts +8 -8
  444. package/lib/model/icon-svg.d.ts +4 -4
  445. package/lib/model/month.model.d.ts +5 -5
  446. package/lib/model/send-method.d.ts +7 -7
  447. package/lib/model/settings.d.ts +3 -3
  448. package/lib/model/tag-tree-item.bo.d.ts +18 -18
  449. package/lib/model/time-window.bo.d.ts +13 -13
  450. package/lib/model/tree-object.d.ts +8 -8
  451. package/lib/model/week.model.d.ts +4 -4
  452. package/lib/model/weekday.model.d.ts +16 -16
  453. package/lib/pipe/array-number.pipe.d.ts +4 -4
  454. package/lib/pipe/file-type-image.pipe.d.ts +12 -12
  455. package/lib/pipe/master-pipes.d.ts +1 -1
  456. package/lib/pipe/ucfirst.pipe.d.ts +4 -4
  457. package/lib/service/dictionary.service.d.ts +21 -21
  458. package/lib/service/drag-drop.service.d.ts +86 -86
  459. package/lib/service/icon-cache.service.d.ts +18 -18
  460. package/lib/service/options.service.d.ts +13 -13
  461. package/lib/service/shared-connector.service.d.ts +55 -55
  462. package/lib/service/shared.service.d.ts +18 -18
  463. package/lib/service/stock.service.d.ts +41 -41
  464. package/lib/style/_mixin.scss +14 -14
  465. package/lib/style/_variables.scss +21 -21
  466. package/lib/style/sharedcomponents-globals.scss +10 -10
  467. package/lib/utils/array-utils.d.ts +63 -63
  468. package/lib/utils/calendar.utils.d.ts +10 -10
  469. package/lib/utils/check-precision-and-scale-result.d.ts +4 -4
  470. package/lib/utils/check-within-stepped-bounds-result.d.ts +8 -8
  471. package/lib/utils/co-document-shared-field-logic.d.ts +7 -7
  472. package/lib/utils/date-utils.d.ts +44 -44
  473. package/lib/utils/enum-utils.d.ts +31 -31
  474. package/lib/utils/function/not-nill.function.d.ts +1 -1
  475. package/lib/utils/is-nill.function.d.ts +1 -1
  476. package/lib/utils/map-utils.d.ts +16 -16
  477. package/lib/utils/number-utils.d.ts +125 -125
  478. package/lib/utils/object-utils.d.ts +40 -40
  479. package/lib/utils/ref-code-utils.d.ts +10 -10
  480. package/lib/utils/string-utils.d.ts +38 -38
  481. package/main.b63cf8c6791cb3e37f3c.js +1 -0
  482. package/package.json +1 -1
  483. package/polyfills.907fe9d1887c5de17993.js +1 -0
  484. package/public-api.d.ts +27 -27
  485. package/runtime.8aac21847ed3d3829cca.js +1 -0
  486. package/styles.6807e7b997183dacbe3b.css +1 -0
@@ -1,193 +1,238 @@
1
- import { __awaiter } from "tslib";
2
- import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { StockService } from "../../service/stock.service";
4
- import { PrintStockStickers } from "@colijnit/sharedapi/build/model/print-stock-stickers";
5
- import { ArticleExtended } from "@colijnit/articleapi/build/model/article-extended.bo";
6
- import { ArticleStock } from "@colijnit/articleapi/build/model/article-stock";
7
- import { OptionsService } from "../../service/options.service";
8
- import { DictionaryService } from "../../service/dictionary.service";
9
- import { LocalizeService } from '../../localization/localize.service';
10
- import { ArticleExtendedRequest } from "@colijnit/articleapi/build/model/article-extended-request";
11
- import { SharedConnectorService } from "../../service/shared-connector.service";
12
- export class StockComponent {
13
- constructor(_stockService, _optionsService, _dictionary, _changeDetector, _localizeService, _connector) {
14
- this._stockService = _stockService;
15
- this._optionsService = _optionsService;
16
- this._dictionary = _dictionary;
17
- this._changeDetector = _changeDetector;
18
- this._localizeService = _localizeService;
19
- this._connector = _connector;
20
- this.handleStickerClicked = new EventEmitter();
21
- this.articleWarehouse = [];
22
- this.allWarehouses = [];
23
- this.okButtonClicked = new EventEmitter();
24
- this.cancelButtonClicked = new EventEmitter();
25
- this.loaded = false;
26
- this.showStockInformationGrid = true;
27
- this.showStockTransfer = false;
28
- this.stockInformation = [];
29
- this.stockHistory = [];
30
- this.allAvailableStock = 0;
31
- this.allTechnicalStock = 0;
32
- this.showSendMethodDialog = false;
33
- this.warehouses = [];
34
- this._subscriptions = [];
35
- this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
36
- }
37
- set translation(value) {
38
- this._localizeService.translation = value;
39
- this._changeDetector.markForCheck();
40
- }
41
- set article(articleOrGoodId) {
42
- if (articleOrGoodId instanceof ArticleExtended) {
43
- this.articleExtended = articleOrGoodId;
44
- this._goodId = articleOrGoodId.goodId;
45
- }
46
- else if (typeof articleOrGoodId === "number") {
47
- this._goodId = articleOrGoodId;
48
- }
49
- }
50
- ;
51
- showClass() {
52
- return true;
53
- }
54
- ngOnDestroy() {
55
- this.articleExtended = undefined;
56
- this.articleFlat = undefined;
57
- this._subscriptions.forEach(subscription => subscription.unsubscribe());
58
- }
59
- ngOnInit() {
60
- }
61
- handleStockTransferClick(event) {
62
- this.stockTransferArticleDetails = event;
63
- this.showStockTransfer = !this.showStockTransfer;
64
- this.showStockInformationGrid = !this.showStockInformationGrid;
65
- this._stockService.stockStickers = new PrintStockStickers();
66
- }
67
- handleSendMethodClick(event) {
68
- this.showSendMethodDialog = true;
69
- }
70
- backToStock() {
71
- this.showStockTransfer = !this.showStockTransfer;
72
- this.showStockInformationGrid = !this.showStockInformationGrid;
73
- }
74
- getStockInformation(goodId) {
75
- const articleData = new ArticleStock();
76
- articleData.goodId = goodId.toString();
77
- articleData.viewKind = "M";
78
- this._stockService.getStockInformation(articleData).then(result => {
79
- this.stockInformation = result;
80
- this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);
81
- this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);
82
- });
83
- }
84
- getArtStockStatus() {
85
- this._stockService.getArtStockStatus(this.articleExtended ? this.articleExtended.goodId : this._goodId).then(result => {
86
- this.articleStockState = result;
87
- });
88
- }
89
- getStockManagementWarehouses() {
90
- this._stockService.getStockManagementWarehouses().then((warehouses) => {
91
- this.warehouses = warehouses;
92
- });
93
- }
94
- _handleSettingsLoaded(loaded) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- if (loaded) {
97
- yield this._initConnection().then();
98
- }
99
- });
100
- }
101
- _initConnection() {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- yield this._connector.connect();
104
- if (this._optionsService.options.url) {
105
- this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
106
- }
107
- yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
108
- setTimeout(() => {
109
- this._changeDetector.detectChanges();
110
- });
111
- this.loaded = true;
112
- this.loadData();
113
- });
114
- }
115
- loadData() {
116
- if (this.loaded) {
117
- if (this._goodId && !this.articleExtended) {
118
- let request = new ArticleExtendedRequest();
119
- request.goodId = this._goodId;
120
- this._stockService.searchArticles(request).then((articleExtended) => {
121
- this.articleExtended = articleExtended[0];
122
- });
123
- }
124
- this._stockService.getArticleFlat(this.articleExtended.articleNumber).then(result => {
125
- this.articleFlat = result;
126
- });
127
- this.getArtStockStatus();
128
- this.getStockManagementWarehouses();
129
- this.getStockInformation(this.articleExtended ? this.articleExtended.goodId : this._goodId);
130
- }
131
- this._changeDetector.markForCheck();
132
- this._changeDetector.detectChanges();
133
- }
134
- }
135
- StockComponent.decorators = [
136
- { type: Component, args: [{
137
- selector: "co-stock",
138
- template: `
139
- <div class="stock-info-container" *ngIf="loaded && articleExtended">
140
- <co-stock-information [article]="articleExtended"
141
- [articleStockState]="articleStockState"
142
- [allAvailableStockInformation]="allAvailableStock"
143
- [allTechnicalStockInformation]="allTechnicalStock"
144
- >
145
- </co-stock-information>
146
- <hr>
147
- <co-stock-tabs [stockInformation]="stockInformation"
148
- [article]="articleExtended"
149
- [articleFlat]="articleFlat"
150
- (transferIconClicked)="handleStockTransferClick($event)"
151
- (sendMethodDialogClicked)="handleSendMethodClick($event)"
152
- [warehouses]="warehouses"
153
- ></co-stock-tabs>
154
-
155
- <co-dialog *ngIf="showStockTransfer" (closeClick)="showStockTransfer = false">
156
- <co-stock-transfer (handleClick)="backToStock()"
157
- class="stock-transfer-dialog"
158
- [article]="stockTransferArticle"
159
- [articleToTransfer]="stockTransferArticleDetails"
160
- (handleStickerClicked)="handleStickerClicked.emit($event)"
161
- [articleWarehouse]="articleWarehouse"
162
- [allWarehouses]="allWarehouses"
163
- >
164
- </co-stock-transfer>
165
- </co-dialog>
166
-
167
- <co-send-method-dialog *ngIf="showSendMethodDialog">
168
-
169
- </co-send-method-dialog>
170
- </div>
171
- `,
172
- encapsulation: ViewEncapsulation.None
173
- },] }
174
- ];
175
- StockComponent.ctorParameters = () => [
176
- { type: StockService },
177
- { type: OptionsService },
178
- { type: DictionaryService },
179
- { type: ChangeDetectorRef },
180
- { type: LocalizeService },
181
- { type: SharedConnectorService }
182
- ];
183
- StockComponent.propDecorators = {
184
- translation: [{ type: Input }],
185
- handleStickerClicked: [{ type: Output }],
186
- article: [{ type: Input }],
187
- articleWarehouse: [{ type: Input }],
188
- allWarehouses: [{ type: Input }],
189
- okButtonClicked: [{ type: Output }],
190
- cancelButtonClicked: [{ type: Output }],
191
- showClass: [{ type: HostBinding, args: ["class.co-stock",] }]
192
- };
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUF5QzlFLE1BQU0sT0FBTyxjQUFjO0lBNER6QixZQUNVLGFBQTJCLEVBQzNCLGVBQStCLEVBQy9CLFdBQThCLEVBQzlCLGVBQWtDLEVBQ2xDLGdCQUFpQyxFQUNqQyxVQUFrQztRQUxsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNs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QUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUE7WUFDQSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvRjtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzs7WUF0TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdERPLFlBQVk7WUFPWixjQUFjO1lBRWQsaUJBQWlCO1lBbEJ2QixpQkFBaUI7WUFxQlgsZUFBZTtZQUVmLHNCQUFzQjs7OzBCQTJDM0IsS0FBSzttQ0FNTCxNQUFNO3NCQUdOLEtBQUs7K0JBWUwsS0FBSzs0QkFHTCxLQUFLOzhCQUdMLE1BQU07a0NBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XG5pbXBvcnQge1ByaW50U3RvY2tTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtc3RvY2stc3RpY2tlcnNcIjtcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2tcIjtcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1oaXN0b3J5LmJvXCI7XG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZVwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xuaW1wb3J0IHtUcmFuc2xhdGlvbn0gZnJvbSAnLi9sb2NhbGl6YXRpb24vdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtMb2NhbGl6ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2xvY2FsaXphdGlvbi9sb2NhbGl6ZS5zZXJ2aWNlJztcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQtcmVxdWVzdFwiO1xuaW1wb3J0IHtTaGFyZWRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQtY29ubmVjdG9yLnNlcnZpY2VcIjtcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm9cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1jb250YWluZXJcIiAqbmdJZj1cImxvYWRlZCAmJiBhcnRpY2xlRXh0ZW5kZWRcIj5cbiAgICAgICAgPGNvLXN0b2NrLWluZm9ybWF0aW9uIFthcnRpY2xlXT1cImFydGljbGVFeHRlbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrU3RhdGVdPVwiYXJ0aWNsZVN0b2NrU3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb25dPVwiYWxsQXZhaWxhYmxlU3RvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbFRlY2huaWNhbFN0b2NrSW5mb3JtYXRpb25dPVwiYWxsVGVjaG5pY2FsU3RvY2tcIlxuICAgICAgICA+XG4gICAgICAgIDwvY28tc3RvY2staW5mb3JtYXRpb24+XG4gICAgICAgIDxocj5cbiAgICAgICAgPGNvLXN0b2NrLXRhYnMgW3N0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlXT1cImFydGljbGVFeHRlbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlRmxhdF09XCJhcnRpY2xlRmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2Zlckljb25DbGlja2VkKT1cImhhbmRsZVN0b2NrVHJhbnNmZXJDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cImhhbmRsZVNlbmRNZXRob2RDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3dhcmVob3VzZXNdPVwid2FyZWhvdXNlc1wiXG4gICAgICAgID48L2NvLXN0b2NrLXRhYnM+XG5cbiAgICAgICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dTdG9ja1RyYW5zZmVyXCIgKGNsb3NlQ2xpY2spPVwic2hvd1N0b2NrVHJhbnNmZXIgPSBmYWxzZVwiPlxuICAgICAgICAgIDxjby1zdG9jay10cmFuc2ZlciAoaGFuZGxlQ2xpY2spPVwiYmFja1RvU3RvY2soKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RvY2stdHJhbnNmZXItZGlhbG9nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwic3RvY2tUcmFuc2ZlckFydGljbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVRvVHJhbnNmZXJdPVwic3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhhbmRsZVN0aWNrZXJDbGlja2VkKT1cImhhbmRsZVN0aWNrZXJDbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlV2FyZWhvdXNlXT1cImFydGljbGVXYXJlaG91c2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsV2FyZWhvdXNlc109XCJhbGxXYXJlaG91c2VzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9jby1zdG9jay10cmFuc2Zlcj5cbiAgICAgICAgPC9jby1kaWFsb2c+XG5cbiAgICAgICAgPGNvLXNlbmQtbWV0aG9kLWRpYWxvZyAqbmdJZj1cInNob3dTZW5kTWV0aG9kRGlhbG9nXCI+XG5cbiAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XG4gICAgICA8L2Rpdj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRyYW5zbGF0aW9uKHZhbHVlOiBUcmFuc2xhdGlvbikge1xuICAgIHRoaXMuX2xvY2FsaXplU2VydmljZS50cmFuc2xhdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBoYW5kbGVTdGlja2VyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcnRpY2xlKGFydGljbGVPckdvb2RJZDogQXJ0aWNsZUV4dGVuZGVkIHwgbnVtYmVyKSB7XG4gICAgaWYoYXJ0aWNsZU9yR29vZElkIGluc3RhbmNlb2YgQXJ0aWNsZUV4dGVuZGVkKSB7XG4gICAgICB0aGlzLmFydGljbGVFeHRlbmRlZCA9IGFydGljbGVPckdvb2RJZDtcbiAgICAgIHRoaXMuX2dvb2RJZCA9IGFydGljbGVPckdvb2RJZC5nb29kSWQ7XG5cbiAgICB9IGVsc2UgaWYodHlwZW9mIGFydGljbGVPckdvb2RJZCA9PT0gXCJudW1iZXJcIiApIHtcbiAgICAgIHRoaXMuX2dvb2RJZCA9IGFydGljbGVPckdvb2RJZDtcbiAgICB9XG5cbiAgfTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXJ0aWNsZVdhcmVob3VzZTogYW55W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsV2FyZWhvdXNlczogYW55W10gPSBbXTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IG9rQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zdG9ja1wiKVxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd1N0b2NrVHJhbnNmZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW10gPSBbXTtcbiAgcHVibGljIHN0b2NrVHJhbnNmZXJBcnRpY2xlOiBBcnRpY2xlU3RvY2tCbztcbiAgcHVibGljIHN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCbztcbiAgcHVibGljIGFydGljbGVFeHRlbmRlZDogQXJ0aWNsZUV4dGVuZGVkO1xuXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDpBcnRpY2xlRmxhdDtcbiAgcHVibGljIHN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXSA9IFtdO1xuICBwdWJsaWMgYWxsQXZhaWxhYmxlU3RvY2s6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBhbGxUZWNobmljYWxTdG9jazogbnVtYmVyID0gMDtcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tTdGF0ZTogbnVtYmVyO1xuICBwdWJsaWMgd2FyZWhvdXNlczogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdID0gW107XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfZ29vZElkOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9sb2NhbGl6ZVNlcnZpY2U6IExvY2FsaXplU2VydmljZSxcbiAgICBwcml2YXRlIF9jb25uZWN0b3I6IFNoYXJlZENvbm5lY3RvclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9uc0xvYWRlZC5zdWJzY3JpYmUobG9hZGVkID0+IHRoaXMuX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZCkpLFxuICAgIClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYXJ0aWNsZUV4dGVuZGVkID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuYXJ0aWNsZUZsYXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlscyA9IGV2ZW50O1xuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSAhdGhpcy5zaG93U3RvY2tUcmFuc2ZlcjtcbiAgICB0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZCA9ICF0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZDtcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2VycyA9IG5ldyBQcmludFN0b2NrU3RpY2tlcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBiYWNrVG9TdG9jaygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gIXRoaXMuc2hvd1N0b2NrVHJhbnNmZXI7XG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSAhdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RvY2tJbmZvcm1hdGlvbihnb29kSWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGFydGljbGVEYXRhOiBBcnRpY2xlU3RvY2sgPSBuZXcgQXJ0aWNsZVN0b2NrKCk7XG4gICAgYXJ0aWNsZURhdGEuZ29vZElkID0gZ29vZElkLnRvU3RyaW5nKCk7XG4gICAgYXJ0aWNsZURhdGEudmlld0tpbmQgPSBcIk1cIjtcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tJbmZvcm1hdGlvbihhcnRpY2xlRGF0YSkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uID0gcmVzdWx0O1xuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uLmZvckVhY2goKGFydGljbGVTdG9jaykgPT4gdGhpcy5hbGxBdmFpbGFibGVTdG9jayArPSBhcnRpY2xlU3RvY2suYXZhaWxhYmxlU3RvY2spO1xuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uLmZvckVhY2goKGFydGljbGVTdG9jaykgPT4gdGhpcy5hbGxUZWNobmljYWxTdG9jayArPSBhcnRpY2xlU3RvY2sudGVjaG5pY2FsU3RvY2spO1xuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgZ2V0QXJ0U3RvY2tTdGF0dXMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydFN0b2NrU3RhdHVzKHRoaXMuYXJ0aWNsZUV4dGVuZGVkID8gdGhpcy5hcnRpY2xlRXh0ZW5kZWQuZ29vZElkIDogdGhpcy5fZ29vZElkKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICB0aGlzLmFydGljbGVTdG9ja1N0YXRlID0gcmVzdWx0O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzKSA9PiB7XG4gICAgICB0aGlzLndhcmVob3VzZXMgPSB3YXJlaG91c2VzO1xuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQ6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAobG9hZGVkKSB7XG4gICAgICBhd2FpdCB0aGlzLl9pbml0Q29ubmVjdGlvbigpLnRoZW4oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9pbml0Q29ubmVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLl9jb25uZWN0b3IuY29ubmVjdCgpO1xuICAgIGlmICh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnVybCkge1xuICAgICAgdGhpcy5fZGljdGlvbmFyeS5yb290VXJsID0gdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy51cmwucmVwbGFjZShcIi9hamF4c2VydmljZVwiLCBcIlwiKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubGFuZ3VhZ2VDb2RlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cblxuICBwdWJsaWMgbG9hZERhdGEoKSB7XG4gICAgaWYodGhpcy5sb2FkZWQpIHtcbiAgICAgIGlmKHRoaXMuX2dvb2RJZCAmJiAhdGhpcy5hcnRpY2xlRXh0ZW5kZWQpIHtcbiAgICAgICAgbGV0IHJlcXVlc3Q6IEFydGljbGVFeHRlbmRlZFJlcXVlc3QgPSBuZXcgQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCgpO1xuICAgICAgICByZXF1ZXN0Lmdvb2RJZCA9IHRoaXMuX2dvb2RJZDtcbiAgICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnNlYXJjaEFydGljbGVzKHJlcXVlc3QpLnRoZW4oKGFydGljbGVFeHRlbmRlZDogQXJ0aWNsZUV4dGVuZGVkW10pID0+IHtcbiAgICAgICAgICB0aGlzLmFydGljbGVFeHRlbmRlZCA9IGFydGljbGVFeHRlbmRlZFswXTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZUZsYXQodGhpcy5hcnRpY2xlRXh0ZW5kZWQuYXJ0aWNsZU51bWJlcikudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmFydGljbGVGbGF0ID0gcmVzdWx0O1xuICAgICAgfSlcbiAgICAgICAgdGhpcy5nZXRBcnRTdG9ja1N0YXR1cygpO1xuICAgICAgICB0aGlzLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcbiAgICAgICAgdGhpcy5nZXRTdG9ja0luZm9ybWF0aW9uKHRoaXMuYXJ0aWNsZUV4dGVuZGVkID8gdGhpcy5hcnRpY2xlRXh0ZW5kZWQuZ29vZElkIDogdGhpcy5fZ29vZElkKTtcbiAgICB9XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbn1cbiJdfQ==
1
+ import { __awaiter } from "tslib";
2
+ import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
+ import { StockService } from "../../service/stock.service";
4
+ import { PrintStockStickers } from "@colijnit/sharedapi/build/model/print-stock-stickers";
5
+ import { ArticleExtended } from "@colijnit/articleapi/build/model/article-extended.bo";
6
+ import { ArticleStock } from "@colijnit/articleapi/build/model/article-stock";
7
+ import { OptionsService } from "../../service/options.service";
8
+ import { DictionaryService } from "../../service/dictionary.service";
9
+ import { LocalizeService } from '../../localization/localize.service';
10
+ import { ArticleExtendedRequest } from "@colijnit/articleapi/build/model/article-extended-request";
11
+ import { SharedConnectorService } from "../../service/shared-connector.service";
12
+ import { Icon } from "../../enum/icon.enum";
13
+ import { IconCacheService } from "../../service/icon-cache.service";
14
+ export class StockComponent {
15
+ constructor(_stockService, _optionsService, _dictionary, _changeDetector, _localizeService, _connector, iconCacheService) {
16
+ this._stockService = _stockService;
17
+ this._optionsService = _optionsService;
18
+ this._dictionary = _dictionary;
19
+ this._changeDetector = _changeDetector;
20
+ this._localizeService = _localizeService;
21
+ this._connector = _connector;
22
+ this.iconCacheService = iconCacheService;
23
+ this.icons = Icon;
24
+ this.handleStickerClicked = new EventEmitter();
25
+ this.articleWarehouse = [];
26
+ this.allWarehouses = [];
27
+ this.okButtonClicked = new EventEmitter();
28
+ this.cancelButtonClicked = new EventEmitter();
29
+ this.handleClick = new EventEmitter();
30
+ this.loaded = false;
31
+ this.showStockInformationGrid = true;
32
+ this.showStockTransfer = false;
33
+ this.stockInformation = [];
34
+ this.stockHistory = [];
35
+ this.allAvailableStock = 0;
36
+ this.allTechnicalStock = 0;
37
+ this.economicalStock = 0;
38
+ this.showSendMethodDialog = false;
39
+ this.warehouses = [];
40
+ this._subscriptions = [];
41
+ this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
42
+ }
43
+ set translation(value) {
44
+ this._localizeService.translation = value;
45
+ this._changeDetector.markForCheck();
46
+ }
47
+ set article(articleOrGoodId) {
48
+ if (articleOrGoodId instanceof ArticleExtended) {
49
+ this.articleExtended = articleOrGoodId;
50
+ this._goodId = articleOrGoodId.goodId;
51
+ }
52
+ else if (typeof articleOrGoodId === "number") {
53
+ this._goodId = articleOrGoodId;
54
+ }
55
+ }
56
+ ;
57
+ showClass() {
58
+ return true;
59
+ }
60
+ ngOnDestroy() {
61
+ this.articleExtended = undefined;
62
+ this.articleFlat = undefined;
63
+ this._subscriptions.forEach(subscription => subscription.unsubscribe());
64
+ }
65
+ ngOnInit() {
66
+ }
67
+ handleStockTransferClick(event) {
68
+ this.stockTransferArticleDetails = event;
69
+ this.showStockTransfer = !this.showStockTransfer;
70
+ this.showStockInformationGrid = !this.showStockInformationGrid;
71
+ this._stockService.stockStickers = new PrintStockStickers();
72
+ }
73
+ handleSendMethodClick(event) {
74
+ this.showSendMethodDialog = true;
75
+ }
76
+ handleOkClick(data) {
77
+ data.selected = true;
78
+ data.entryDate = new Date;
79
+ this._stockService.updateArticleDetails(data).then(result => {
80
+ this.handleClick.emit();
81
+ });
82
+ }
83
+ backToStock(goodId) {
84
+ this.loadData();
85
+ this.showStockTransfer = !this.showStockTransfer;
86
+ this.showStockInformationGrid = !this.showStockInformationGrid;
87
+ }
88
+ getStockInformation(goodId) {
89
+ const articleData = new ArticleStock();
90
+ articleData.goodId = goodId.toString();
91
+ articleData.viewKind = "M";
92
+ this._stockService.getStockInformation(articleData).then(result => {
93
+ this.stockInformation = result;
94
+ this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);
95
+ this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);
96
+ this.stockInformation.forEach((articleStock) => this.economicalStock += articleStock.economicalStock);
97
+ });
98
+ }
99
+ getArtStockStatus() {
100
+ this._stockService.getArtStockStatus(this.articleExtended ? this.articleExtended.goodId : this._goodId).then(result => {
101
+ this.articleStockState = result;
102
+ });
103
+ }
104
+ getStockManagementWarehouses() {
105
+ this._stockService.getStockManagementWarehouses().then((warehouses) => {
106
+ this.warehouses = warehouses;
107
+ });
108
+ }
109
+ _handleSettingsLoaded(loaded) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ if (loaded) {
112
+ yield this._initConnection().then();
113
+ }
114
+ });
115
+ }
116
+ _initConnection() {
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ yield this._connector.connect();
119
+ if (this._optionsService.options.url) {
120
+ this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
121
+ }
122
+ yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
123
+ setTimeout(() => {
124
+ this._changeDetector.detectChanges();
125
+ });
126
+ this.loaded = true;
127
+ this.loadData();
128
+ });
129
+ }
130
+ loadData() {
131
+ if (this.loaded) {
132
+ if (this._goodId && !this.articleExtended) {
133
+ let request = new ArticleExtendedRequest();
134
+ request.goodId = this._goodId;
135
+ this._stockService.searchArticles(request).then((articleExtended) => {
136
+ if (articleExtended[0]) {
137
+ this.articleExtended = articleExtended[0];
138
+ this._stockService.getArticleFlat(articleExtended[0].articleNumber).then(result => {
139
+ this.articleFlat = result;
140
+ });
141
+ }
142
+ });
143
+ }
144
+ this.getArtStockStatus();
145
+ this.getStockManagementWarehouses();
146
+ this.getStockInformation(this.articleExtended ? this.articleExtended.goodId : this._goodId);
147
+ }
148
+ this._changeDetector.markForCheck();
149
+ this._changeDetector.detectChanges();
150
+ }
151
+ }
152
+ StockComponent.decorators = [
153
+ { type: Component, args: [{
154
+ selector: "co-stock",
155
+ template: `
156
+ <div class="stock-info-container" *ngIf="loaded && articleExtended">
157
+ <co-stock-information [article]="articleExtended"
158
+ [articleStockState]="articleStockState"
159
+ [allAvailableStockInformation]="allAvailableStock"
160
+ [allTechnicalStockInformation]="allTechnicalStock"
161
+ [economicalStock]="economicalStock"
162
+ >
163
+ </co-stock-information>
164
+ <hr>
165
+ <co-stock-tabs [stockInformation]="stockInformation"
166
+ [article]="articleExtended"
167
+ [articleFlat]="articleFlat"
168
+ (transferIconClicked)="handleStockTransferClick($event)"
169
+ (sendMethodDialogClicked)="handleSendMethodClick($event)"
170
+ [warehouses]="warehouses"
171
+ ></co-stock-tabs>
172
+ <div class="stock-transfer-wrapper">
173
+ <co-dialog *ngIf="showStockTransfer"
174
+ (closeClick)="showStockTransfer = false"
175
+ [showCloseIcon]="true"
176
+ [modal]="true"
177
+ [headerTemplate]="headerTemplate"
178
+ [footerTemplate]="footerTemplate">
179
+ <ng-template #headerTemplate>
180
+ <div class="co-dialog-header-title-wrapper">
181
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Cubes)"></co-icon>
182
+ <div class="co-dialog-header-title" [textContent]="'TRANSFER_STOCK' | localize"></div>
183
+ </div>
184
+ </ng-template>
185
+ <div class="dialog-wrapper">
186
+ <co-stock-transfer (handleClick)="backToStock($event)"
187
+ class="stock-transfer-dialog"
188
+ [article]="stockTransferArticle"
189
+ [articleToTransfer]="stockTransferArticleDetails"
190
+ (handleStickerClicked)="handleStickerClicked.emit($event)"
191
+ [articleWarehouse]="articleWarehouse"
192
+ [allWarehouses]="allWarehouses">
193
+ </co-stock-transfer>
194
+ </div>
195
+ <ng-template #footerTemplate>
196
+ <div class="button-wrapper ok-cancel-buttons">
197
+ <co-button class="save-button"
198
+ (click)="handleOkClick(stockTransferArticleDetails)"
199
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)">
200
+ </co-button>
201
+ <co-button class="cancel-button"
202
+ (click)="showStockTransfer = false"
203
+ [iconData]="iconCacheService.getIcon(icons.CrossSkinny)">
204
+ </co-button>
205
+ </div>
206
+ </ng-template>
207
+ </co-dialog>
208
+ </div>
209
+
210
+ <co-send-method-dialog *ngIf="showSendMethodDialog">
211
+
212
+ </co-send-method-dialog>
213
+ </div>
214
+ `,
215
+ encapsulation: ViewEncapsulation.None
216
+ },] }
217
+ ];
218
+ StockComponent.ctorParameters = () => [
219
+ { type: StockService },
220
+ { type: OptionsService },
221
+ { type: DictionaryService },
222
+ { type: ChangeDetectorRef },
223
+ { type: LocalizeService },
224
+ { type: SharedConnectorService },
225
+ { type: IconCacheService }
226
+ ];
227
+ StockComponent.propDecorators = {
228
+ translation: [{ type: Input }],
229
+ handleStickerClicked: [{ type: Output }],
230
+ article: [{ type: Input }],
231
+ articleWarehouse: [{ type: Input }],
232
+ allWarehouses: [{ type: Input }],
233
+ okButtonClicked: [{ type: Output }],
234
+ cancelButtonClicked: [{ type: Output }],
235
+ handleClick: [{ type: Output }],
236
+ showClass: [{ type: HostBinding, args: ["class.co-stock",] }]
237
+ };
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBa0VsRSxNQUFNLE9BQU8sY0FBYztJQThEekIsWUFDVSxhQUEyQixFQUMzQixlQUErQixFQUMvQixXQUE4QixFQUM5QixlQUFrQyxFQUNsQyxnQkFBaUMsRUFDakMsVUFBa0MsRUFDbkMsZ0JBQWtDO1FBTmpDLGtCQUFhLEdB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QUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0Y7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7O1lBaFBGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBbEZPLFlBQVk7WUFPWixjQUFjO1lBRWQsaUJBQWlCO1lBbEJ2QixpQkFBaUI7WUFxQlgsZUFBZTtZQUVmLHNCQUFzQjtZQUd0QixnQkFBZ0I7OzswQkFvRXJCLEtBQUs7bUNBTUwsTUFBTTtzQkFHTixLQUFLOytCQVlMLEtBQUs7NEJBR0wsS0FBSzs4QkFHTCxNQUFNO2tDQUdOLE1BQU07MEJBRU4sTUFBTTt3QkFFTixXQUFXLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcmludFN0b2NrU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2t9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrXCI7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2xhdGlvbn0gZnJvbSAnLi9sb2NhbGl6YXRpb24vdHJhbnNsYXRpb24nO1xyXG5pbXBvcnQge0xvY2FsaXplU2VydmljZX0gZnJvbSAnLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXplLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtTaGFyZWRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQtY29ubmVjdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZmxhdC5ib1wiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2tcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1jb250YWluZXJcIiAqbmdJZj1cImxvYWRlZCAmJiBhcnRpY2xlRXh0ZW5kZWRcIj5cclxuICAgICAgICA8Y28tc3RvY2staW5mb3JtYXRpb24gW2FydGljbGVdPVwiYXJ0aWNsZUV4dGVuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja1N0YXRlXT1cImFydGljbGVTdG9ja1N0YXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb25dPVwiYWxsQXZhaWxhYmxlU3RvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsVGVjaG5pY2FsU3RvY2tJbmZvcm1hdGlvbl09XCJhbGxUZWNobmljYWxTdG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlY29ub21pY2FsU3RvY2tdPVwiZWNvbm9taWNhbFN0b2NrXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby1zdG9jay1pbmZvcm1hdGlvbj5cclxuICAgICAgICA8aHI+XHJcbiAgICAgICAgPGNvLXN0b2NrLXRhYnMgW3N0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwiYXJ0aWNsZUV4dGVuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZUZsYXRdPVwiYXJ0aWNsZUZsYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2Zlckljb25DbGlja2VkKT1cImhhbmRsZVN0b2NrVHJhbnNmZXJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwiaGFuZGxlU2VuZE1ldGhvZENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt3YXJlaG91c2VzXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgID48L2NvLXN0b2NrLXRhYnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInNob3dTdG9ja1RyYW5zZmVyID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW21vZGFsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkN1YmVzKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidUUkFOU0ZFUl9TVE9DSycgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tc3RvY2stdHJhbnNmZXIgKGhhbmRsZUNsaWNrKT1cImJhY2tUb1N0b2NrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlXT1cInN0b2NrVHJhbnNmZXJBcnRpY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVUb1RyYW5zZmVyXT1cInN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYW5kbGVTdGlja2VyQ2xpY2tlZCk9XCJoYW5kbGVTdGlja2VyQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVdhcmVob3VzZV09XCJhcnRpY2xlV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbFdhcmVob3VzZXNdPVwiYWxsV2FyZWhvdXNlc1wiPlxyXG4gICAgICAgICAgICAgIDwvY28tc3RvY2stdHJhbnNmZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlciBvay1jYW5jZWwtYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9rQ2xpY2soc3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93U3RvY2tUcmFuc2ZlciA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIj5cclxuICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiPlxyXG5cclxuICAgICAgICA8L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdHJhbnNsYXRpb24odmFsdWU6IFRyYW5zbGF0aW9uKSB7XHJcbiAgICB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UudHJhbnNsYXRpb24gPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVN0aWNrZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGUoYXJ0aWNsZU9yR29vZElkOiBBcnRpY2xlRXh0ZW5kZWQgfCBudW1iZXIpIHtcclxuICAgIGlmKGFydGljbGVPckdvb2RJZCBpbnN0YW5jZW9mIEFydGljbGVFeHRlbmRlZCkge1xyXG4gICAgICB0aGlzLmFydGljbGVFeHRlbmRlZCA9IGFydGljbGVPckdvb2RJZDtcclxuICAgICAgdGhpcy5fZ29vZElkID0gYXJ0aWNsZU9yR29vZElkLmdvb2RJZDtcclxuXHJcbiAgICB9IGVsc2UgaWYodHlwZW9mIGFydGljbGVPckdvb2RJZCA9PT0gXCJudW1iZXJcIiApIHtcclxuICAgICAgdGhpcy5fZ29vZElkID0gYXJ0aWNsZU9yR29vZElkO1xyXG4gICAgfVxyXG5cclxuICB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlV2FyZWhvdXNlOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgb2tCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGNhbmNlbEJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tc3RvY2tcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U3RvY2tUcmFuc2ZlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdID0gW107XHJcbiAgcHVibGljIHN0b2NrVHJhbnNmZXJBcnRpY2xlOiBBcnRpY2xlU3RvY2tCbztcclxuICBwdWJsaWMgc3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzOiBBcnRpY2xlRGV0YWlsc0JvO1xyXG4gIHB1YmxpYyBhcnRpY2xlRXh0ZW5kZWQ6IEFydGljbGVFeHRlbmRlZDtcclxuXHJcbiAgcHVibGljIGFydGljbGVGbGF0OkFydGljbGVGbGF0O1xyXG4gIHB1YmxpYyBzdG9ja0hpc3Rvcnk6IFN0b2NrSGlzdG9yeUJvW10gPSBbXTtcclxuICBwdWJsaWMgYWxsQXZhaWxhYmxlU3RvY2s6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGFsbFRlY2huaWNhbFN0b2NrOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBlY29ub21pY2FsU3RvY2s6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGFydGljbGVTdG9ja1N0YXRlOiBudW1iZXI7XHJcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2dvb2RJZDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9sb2NhbGl6ZVNlcnZpY2U6IExvY2FsaXplU2VydmljZSxcclxuICAgIHByaXZhdGUgX2Nvbm5lY3RvcjogU2hhcmVkQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnNMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB0aGlzLl9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQpKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmFydGljbGVGbGF0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzID0gZXZlbnQ7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gIXRoaXMuc2hvd1N0b2NrVHJhbnNmZXI7XHJcbiAgICB0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZCA9ICF0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZDtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5zdG9ja1N0aWNrZXJzID0gbmV3IFByaW50U3RvY2tTdGlja2VycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbmRNZXRob2RDbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKGRhdGE6IEFydGljbGVEZXRhaWxzQm8pOiB2b2lkIHtcclxuICAgIGRhdGEuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgZGF0YS5lbnRyeURhdGUgPSBuZXcgRGF0ZTtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuaGFuZGxlQ2xpY2suZW1pdCgpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGJhY2tUb1N0b2NrKGdvb2RJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gIXRoaXMuc2hvd1N0b2NrVHJhbnNmZXI7XHJcbiAgICB0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZCA9ICF0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja0luZm9ybWF0aW9uKGdvb2RJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcnRpY2xlRGF0YTogQXJ0aWNsZVN0b2NrID0gbmV3IEFydGljbGVTdG9jaygpO1xyXG4gICAgYXJ0aWNsZURhdGEuZ29vZElkID0gZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICBhcnRpY2xlRGF0YS52aWV3S2luZCA9IFwiTVwiO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSW5mb3JtYXRpb24oYXJ0aWNsZURhdGEpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uID0gcmVzdWx0O1xyXG4gICAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24uZm9yRWFjaCgoYXJ0aWNsZVN0b2NrKSA9PiB0aGlzLmFsbEF2YWlsYWJsZVN0b2NrICs9IGFydGljbGVTdG9jay5hdmFpbGFibGVTdG9jayk7XHJcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsVGVjaG5pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLnRlY2huaWNhbFN0b2NrKTtcclxuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uLmZvckVhY2goKGFydGljbGVTdG9jaykgPT4gdGhpcy5lY29ub21pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLmVjb25vbWljYWxTdG9jayk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFydFN0b2NrU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydFN0b2NrU3RhdHVzKHRoaXMuYXJ0aWNsZUV4dGVuZGVkID8gdGhpcy5hcnRpY2xlRXh0ZW5kZWQuZ29vZElkIDogdGhpcy5fZ29vZElkKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZVN0b2NrU3RhdGUgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzKSA9PiB7XHJcbiAgICAgIHRoaXMud2FyZWhvdXNlcyA9IHdhcmVob3VzZXM7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaW5pdENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl9jb25uZWN0b3IuY29ubmVjdCgpO1xyXG4gICAgaWYgKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsKSB7XHJcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnkucm9vdFVybCA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsLnJlcGxhY2UoXCIvYWpheHNlcnZpY2VcIiwgXCJcIik7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9kaWN0aW9uYXJ5LnNldERpY3Rpb25hcnkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBsb2FkRGF0YSgpIHtcclxuICAgIGlmKHRoaXMubG9hZGVkKSB7XHJcbiAgICAgIGlmKHRoaXMuX2dvb2RJZCAmJiAhdGhpcy5hcnRpY2xlRXh0ZW5kZWQpIHtcclxuICAgICAgICBsZXQgcmVxdWVzdDogQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCA9IG5ldyBBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0KCk7XHJcbiAgICAgICAgcmVxdWVzdC5nb29kSWQgPSB0aGlzLl9nb29kSWQ7XHJcbiAgICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnNlYXJjaEFydGljbGVzKHJlcXVlc3QpLnRoZW4oKGFydGljbGVFeHRlbmRlZDogQXJ0aWNsZUV4dGVuZGVkW10pID0+IHtcclxuICAgICAgICAgIGlmKGFydGljbGVFeHRlbmRlZFswXSkge1xyXG4gICAgICAgICAgICB0aGlzLmFydGljbGVFeHRlbmRlZCA9IGFydGljbGVFeHRlbmRlZFswXTtcclxuICAgICAgICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVGbGF0KGFydGljbGVFeHRlbmRlZFswXS5hcnRpY2xlTnVtYmVyKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hcnRpY2xlRmxhdCA9IHJlc3VsdDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgICB0aGlzLmdldEFydFN0b2NrU3RhdHVzKCk7XHJcbiAgICAgICAgdGhpcy5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk7XHJcbiAgICAgICAgdGhpcy5nZXRTdG9ja0luZm9ybWF0aW9uKHRoaXMuYXJ0aWNsZUV4dGVuZGVkID8gdGhpcy5hcnRpY2xlRXh0ZW5kZWQuZ29vZElkIDogdGhpcy5fZ29vZElkKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19