@smartbit4all/ng-client 4.2.66 → 4.2.68

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 (424) hide show
  1. package/README.md +386 -386
  2. package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +1 -1
  3. package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +1 -1
  4. package/esm2022/lib/component-factory-service/projects.mjs +1 -1
  5. package/esm2022/lib/session/api/api/api.mjs +1 -1
  6. package/esm2022/lib/session/api/api/session.service.mjs +1 -1
  7. package/esm2022/lib/session/api/configuration.mjs +1 -1
  8. package/esm2022/lib/session/api/encoder.mjs +1 -1
  9. package/esm2022/lib/session/api/index.mjs +1 -1
  10. package/esm2022/lib/session/api/model/accountInfo.mjs +1 -1
  11. package/esm2022/lib/session/api/model/apiError.mjs +1 -1
  12. package/esm2022/lib/session/api/model/authenticationProviderData.mjs +1 -1
  13. package/esm2022/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
  14. package/esm2022/lib/session/api/model/models.mjs +1 -1
  15. package/esm2022/lib/session/api/model/refreshSessionRequest.mjs +1 -1
  16. package/esm2022/lib/session/api/model/session.mjs +1 -1
  17. package/esm2022/lib/session/api/model/sessionInfoData.mjs +1 -1
  18. package/esm2022/lib/session/api/model/userActivityLog.mjs +1 -1
  19. package/esm2022/lib/session/api/param.mjs +1 -1
  20. package/esm2022/lib/session/api/variables.mjs +1 -1
  21. package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +1 -1
  22. package/esm2022/lib/session/projects.mjs +1 -1
  23. package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
  24. package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
  25. package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
  26. package/esm2022/lib/session/smart-session.module.mjs +1 -1
  27. package/esm2022/lib/session/smart-session.service.mjs +1 -1
  28. package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
  29. package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
  30. package/esm2022/lib/shared/projects.mjs +1 -1
  31. package/esm2022/lib/shared/shared.module.mjs +1 -1
  32. package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
  33. package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
  34. package/esm2022/lib/smart-client/projects.mjs +1 -1
  35. package/esm2022/lib/smart-client/smart-authentication.service.mjs +1 -1
  36. package/esm2022/lib/smart-client/smart-component-api-client.mjs +1 -1
  37. package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
  38. package/esm2022/lib/smart-client/smart.component.mjs +1 -1
  39. package/esm2022/lib/smart-client/smart.service.mjs +1 -1
  40. package/esm2022/lib/smart-component-layout/api/api/api.mjs +1 -1
  41. package/esm2022/lib/smart-component-layout/api/api/default.service.mjs +1 -1
  42. package/esm2022/lib/smart-component-layout/api/api.module.mjs +1 -1
  43. package/esm2022/lib/smart-component-layout/api/configuration.mjs +1 -1
  44. package/esm2022/lib/smart-component-layout/api/encoder.mjs +1 -1
  45. package/esm2022/lib/smart-component-layout/api/index.mjs +1 -1
  46. package/esm2022/lib/smart-component-layout/api/model/componentType.mjs +1 -1
  47. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
  48. package/esm2022/lib/smart-component-layout/api/model/layoutDirection.mjs +1 -1
  49. package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
  50. package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
  51. package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +1 -1
  52. package/esm2022/lib/smart-component-layout/api/param.mjs +1 -1
  53. package/esm2022/lib/smart-component-layout/api/variables.mjs +1 -1
  54. package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
  55. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
  56. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
  57. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
  58. package/esm2022/lib/smart-dialog/projects.mjs +1 -1
  59. package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
  60. package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
  61. package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
  62. package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
  63. package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
  64. package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
  65. package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
  66. package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
  67. package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
  68. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
  69. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
  70. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
  71. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
  72. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
  73. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
  74. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
  75. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
  76. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
  77. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
  78. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
  79. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
  80. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
  81. package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
  82. package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
  83. package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
  84. package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
  85. package/esm2022/lib/smart-filter/projects.mjs +1 -1
  86. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
  87. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
  88. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
  89. package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
  90. package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
  91. package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
  92. package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
  93. package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
  94. package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
  95. package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
  96. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
  97. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
  98. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
  99. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
  100. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
  101. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
  102. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
  103. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
  104. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  105. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
  106. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
  107. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
  108. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
  109. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
  110. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
  111. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
  112. package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
  113. package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
  114. package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
  115. package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
  116. package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
  117. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
  118. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
  119. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
  120. package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
  121. package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
  122. package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
  123. package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
  124. package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
  125. package/esm2022/lib/smart-form/api/api/api.mjs +1 -1
  126. package/esm2022/lib/smart-form/api/api/default.service.mjs +1 -1
  127. package/esm2022/lib/smart-form/api/api.module.mjs +1 -1
  128. package/esm2022/lib/smart-form/api/configuration.mjs +1 -1
  129. package/esm2022/lib/smart-form/api/encoder.mjs +1 -1
  130. package/esm2022/lib/smart-form/api/index.mjs +1 -1
  131. package/esm2022/lib/smart-form/api/model/models.mjs +1 -1
  132. package/esm2022/lib/smart-form/api/model/propertyMapping.mjs +1 -1
  133. package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
  134. package/esm2022/lib/smart-form/api/model/smartFormInputMode.mjs +1 -1
  135. package/esm2022/lib/smart-form/api/model/smartFormWidgetDirection.mjs +1 -1
  136. package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +1 -1
  137. package/esm2022/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
  138. package/esm2022/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
  139. package/esm2022/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
  140. package/esm2022/lib/smart-form/api/model/smartWidgetHint.mjs +1 -1
  141. package/esm2022/lib/smart-form/api/model/sortDefinition.mjs +1 -1
  142. package/esm2022/lib/smart-form/api/model/valueChangeMode.mjs +1 -1
  143. package/esm2022/lib/smart-form/api/param.mjs +1 -1
  144. package/esm2022/lib/smart-form/api/variables.mjs +1 -1
  145. package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
  146. package/esm2022/lib/smart-form/projects.mjs +1 -1
  147. package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
  148. package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
  149. package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
  150. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
  151. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
  152. package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
  153. package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
  154. package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
  155. package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
  156. package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
  157. package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
  158. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
  159. package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
  160. package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
  161. package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
  162. package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
  163. package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
  164. package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
  165. package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
  166. package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
  167. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
  168. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  169. package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
  170. package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
  171. package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  172. package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  173. package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
  174. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
  175. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
  176. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
  177. package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  178. package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  179. package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  180. package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
  181. package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
  182. package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
  183. package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
  184. package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
  185. package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
  186. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
  187. package/esm2022/lib/smart-grid/models/model.mjs +1 -1
  188. package/esm2022/lib/smart-grid/projects.mjs +1 -1
  189. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
  190. package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
  191. package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
  192. package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
  193. package/esm2022/lib/smart-icon/projects.mjs +1 -1
  194. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
  195. package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
  196. package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
  197. package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
  198. package/esm2022/lib/smart-map/api/api/api.mjs +1 -1
  199. package/esm2022/lib/smart-map/api/api/geoMap.service.mjs +1 -1
  200. package/esm2022/lib/smart-map/api/api.module.mjs +1 -1
  201. package/esm2022/lib/smart-map/api/configuration.mjs +1 -1
  202. package/esm2022/lib/smart-map/api/encoder.mjs +1 -1
  203. package/esm2022/lib/smart-map/api/index.mjs +1 -1
  204. package/esm2022/lib/smart-map/api/model/gPSPosition.mjs +1 -1
  205. package/esm2022/lib/smart-map/api/model/gPSRoute.mjs +1 -1
  206. package/esm2022/lib/smart-map/api/model/geoMapChange.mjs +1 -1
  207. package/esm2022/lib/smart-map/api/model/geoMapDataLoadingMode.mjs +1 -1
  208. package/esm2022/lib/smart-map/api/model/geoMapDataSourceDescriptor.mjs +1 -1
  209. package/esm2022/lib/smart-map/api/model/geoMapDataSourceType.mjs +1 -1
  210. package/esm2022/lib/smart-map/api/model/geoMapEditingSession.mjs +1 -1
  211. package/esm2022/lib/smart-map/api/model/geoMapInteraction.mjs +1 -1
  212. package/esm2022/lib/smart-map/api/model/geoMapItem.mjs +1 -1
  213. package/esm2022/lib/smart-map/api/model/geoMapItemKind.mjs +1 -1
  214. package/esm2022/lib/smart-map/api/model/geoMapLayer.mjs +1 -1
  215. package/esm2022/lib/smart-map/api/model/geoMapLayerChange.mjs +1 -1
  216. package/esm2022/lib/smart-map/api/model/geoMapLayerDescriptor.mjs +1 -1
  217. package/esm2022/lib/smart-map/api/model/geoMapModel.mjs +1 -1
  218. package/esm2022/lib/smart-map/api/model/geoMapOperationMode.mjs +1 -1
  219. package/esm2022/lib/smart-map/api/model/geoMapSelectionMode.mjs +1 -1
  220. package/esm2022/lib/smart-map/api/model/geoMapServerModel.mjs +1 -1
  221. package/esm2022/lib/smart-map/api/model/geoMapTextType.mjs +1 -1
  222. package/esm2022/lib/smart-map/api/model/geoMapViewState.mjs +1 -1
  223. package/esm2022/lib/smart-map/api/model/geoMapViewport.mjs +1 -1
  224. package/esm2022/lib/smart-map/api/model/models.mjs +1 -1
  225. package/esm2022/lib/smart-map/api/param.mjs +1 -1
  226. package/esm2022/lib/smart-map/api/variables.mjs +1 -1
  227. package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
  228. package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
  229. package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
  230. package/esm2022/lib/smart-map/projects.mjs +1 -1
  231. package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
  232. package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
  233. package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
  234. package/esm2022/lib/smart-navbar/projects.mjs +1 -1
  235. package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
  236. package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
  237. package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
  238. package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
  239. package/esm2022/lib/smart-navigation/projects.mjs +1 -1
  240. package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
  241. package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
  242. package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
  243. package/esm2022/lib/smart-ng-client.module.mjs +1 -1
  244. package/esm2022/lib/smart-ng-client.service.mjs +1 -1
  245. package/esm2022/lib/smart-subject/projects.mjs +1 -1
  246. package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
  247. package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
  248. package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
  249. package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
  250. package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
  251. package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
  252. package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
  253. package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
  254. package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
  255. package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
  256. package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
  257. package/esm2022/lib/smart-table/projects.mjs +1 -1
  258. package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
  259. package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
  260. package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
  261. package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
  262. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
  263. package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
  264. package/esm2022/lib/smart-table/tables/table.mjs +1 -1
  265. package/esm2022/lib/smart-tree/projects.mjs +1 -1
  266. package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
  267. package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
  268. package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
  269. package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
  270. package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
  271. package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
  272. package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
  273. package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
  274. package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
  275. package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
  276. package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
  277. package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
  278. package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
  279. package/esm2022/lib/smart-validation/projects.mjs +1 -1
  280. package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
  281. package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
  282. package/esm2022/lib/view-context/api/api/api.mjs +1 -1
  283. package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
  284. package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
  285. package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
  286. package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
  287. package/esm2022/lib/view-context/api/api.module.mjs +1 -1
  288. package/esm2022/lib/view-context/api/configuration.mjs +1 -1
  289. package/esm2022/lib/view-context/api/encoder.mjs +1 -1
  290. package/esm2022/lib/view-context/api/index.mjs +1 -1
  291. package/esm2022/lib/view-context/api/model/badgeDescriptor.mjs +1 -1
  292. package/esm2022/lib/view-context/api/model/clipboardData.mjs +1 -1
  293. package/esm2022/lib/view-context/api/model/closeResult.mjs +1 -1
  294. package/esm2022/lib/view-context/api/model/componentConstraint.mjs +1 -1
  295. package/esm2022/lib/view-context/api/model/componentModel.mjs +1 -1
  296. package/esm2022/lib/view-context/api/model/componentModelChange.mjs +1 -1
  297. package/esm2022/lib/view-context/api/model/dataChange.mjs +1 -1
  298. package/esm2022/lib/view-context/api/model/dataChangeEvent.mjs +1 -1
  299. package/esm2022/lib/view-context/api/model/dataChangeKind.mjs +1 -1
  300. package/esm2022/lib/view-context/api/model/deviceInfo.mjs +1 -1
  301. package/esm2022/lib/view-context/api/model/downloadedFile.mjs +1 -1
  302. package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
  303. package/esm2022/lib/view-context/api/model/imageResource.mjs +1 -1
  304. package/esm2022/lib/view-context/api/model/link.mjs +1 -1
  305. package/esm2022/lib/view-context/api/model/messageData.mjs +1 -1
  306. package/esm2022/lib/view-context/api/model/messageOption.mjs +1 -1
  307. package/esm2022/lib/view-context/api/model/messageOptionType.mjs +1 -1
  308. package/esm2022/lib/view-context/api/model/messageResult.mjs +1 -1
  309. package/esm2022/lib/view-context/api/model/messageTextType.mjs +1 -1
  310. package/esm2022/lib/view-context/api/model/messageType.mjs +1 -1
  311. package/esm2022/lib/view-context/api/model/models.mjs +1 -1
  312. package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
  313. package/esm2022/lib/view-context/api/model/openPendingData.mjs +1 -1
  314. package/esm2022/lib/view-context/api/model/serverRequestExecutionStat.mjs +1 -1
  315. package/esm2022/lib/view-context/api/model/serverRequestTrack.mjs +1 -1
  316. package/esm2022/lib/view-context/api/model/serverRequestType.mjs +1 -1
  317. package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
  318. package/esm2022/lib/view-context/api/model/smartLinkMigrationStatus.mjs +1 -1
  319. package/esm2022/lib/view-context/api/model/statisticRecord.mjs +1 -1
  320. package/esm2022/lib/view-context/api/model/style.mjs +1 -1
  321. package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
  322. package/esm2022/lib/view-context/api/model/uiActionButtonDescriptor.mjs +1 -1
  323. package/esm2022/lib/view-context/api/model/uiActionButtonType.mjs +1 -1
  324. package/esm2022/lib/view-context/api/model/uiActionConstraint.mjs +1 -1
  325. package/esm2022/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
  326. package/esm2022/lib/view-context/api/model/uiActionDialogDescriptor.mjs +1 -1
  327. package/esm2022/lib/view-context/api/model/uiActionFeedbackType.mjs +1 -1
  328. package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
  329. package/esm2022/lib/view-context/api/model/uiActionRequest.mjs +1 -1
  330. package/esm2022/lib/view-context/api/model/uiActionTooltip.mjs +1 -1
  331. package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
  332. package/esm2022/lib/view-context/api/model/uploadWidgetType.mjs +1 -1
  333. package/esm2022/lib/view-context/api/model/uploadedFile.mjs +1 -1
  334. package/esm2022/lib/view-context/api/model/valueSet.mjs +1 -1
  335. package/esm2022/lib/view-context/api/model/view.mjs +1 -1
  336. package/esm2022/lib/view-context/api/model/viewApiError.mjs +1 -1
  337. package/esm2022/lib/view-context/api/model/viewConstraint.mjs +1 -1
  338. package/esm2022/lib/view-context/api/model/viewContext.mjs +1 -1
  339. package/esm2022/lib/view-context/api/model/viewContextChange.mjs +1 -1
  340. package/esm2022/lib/view-context/api/model/viewContextData.mjs +1 -1
  341. package/esm2022/lib/view-context/api/model/viewContextUpdate.mjs +1 -1
  342. package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
  343. package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
  344. package/esm2022/lib/view-context/api/model/viewPlaceholder.mjs +1 -1
  345. package/esm2022/lib/view-context/api/model/viewState.mjs +1 -1
  346. package/esm2022/lib/view-context/api/model/viewStateUpdate.mjs +1 -1
  347. package/esm2022/lib/view-context/api/model/viewType.mjs +1 -1
  348. package/esm2022/lib/view-context/api/param.mjs +1 -1
  349. package/esm2022/lib/view-context/api/variables.mjs +1 -1
  350. package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
  351. package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
  352. package/esm2022/lib/view-context/projects.mjs +1 -1
  353. package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
  354. package/esm2022/lib/view-context/smart-ui-action/components/action-badge/action-badge.component.mjs +3 -3
  355. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
  356. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
  357. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
  358. package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
  359. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
  360. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
  361. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
  362. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
  363. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +27 -3
  364. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
  365. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/voice-record-widget/voice-record-widget.component.mjs +5 -5
  366. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
  367. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
  368. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
  369. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +79 -5
  370. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
  371. package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
  372. package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
  373. package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
  374. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
  375. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
  376. package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
  377. package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
  378. package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
  379. package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
  380. package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
  381. package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
  382. package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
  383. package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
  384. package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
  385. package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
  386. package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
  387. package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
  388. package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
  389. package/esm2022/lib/view-context/value-api/index.mjs +1 -1
  390. package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
  391. package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
  392. package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
  393. package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  394. package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
  395. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  396. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
  397. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
  398. package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  399. package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
  400. package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
  401. package/esm2022/lib/view-context/value-api/param.mjs +1 -1
  402. package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
  403. package/esm2022/projects.mjs +1 -1
  404. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartData.mjs +1 -1
  405. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartDescriptor.mjs +1 -1
  406. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartOrientation.mjs +1 -1
  407. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartType.mjs +1 -1
  408. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartValue.mjs +1 -1
  409. package/esm2022/src/lib/smart-chart/smart-chart/api/model/models.mjs +1 -1
  410. package/esm2022/src/lib/smart-chart/smart-chart/api/model/pieChartLegendPosition.mjs +1 -1
  411. package/esm2022/src/lib/smart-chart/smart-chart/default-chart-options.provider.mjs +1 -1
  412. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.component.mjs +19 -19
  413. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.module.mjs +1 -1
  414. package/esm2022/src/lib/smart-chart/smart-chart-projects.mjs +1 -1
  415. package/esm2022/src/lib/smart-chart/view-context/utility/componentLibrary.mjs +1 -1
  416. package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs +18 -18
  417. package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs.map +1 -1
  418. package/fesm2022/smartbit4all-ng-client.mjs +199 -101
  419. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  420. package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.d.ts +3 -0
  421. package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +20 -3
  422. package/package.json +1 -1
  423. package/smartbit4all-ng-client-4.2.68.tgz +0 -0
  424. package/smartbit4all-ng-client-4.2.66.tgz +0 -0
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
97
97
  providers: [{ provide: 'gridMenuIcon', useValue: 'more_vert' }],
98
98
  }]
99
99
  }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFnQ3ZELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkE1QnhCLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLDJCQUEyQixhQUczQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLDRCQUE0QjtZQUM1QixjQUFjO1lBQ2QsZUFBZTtZQUNmLHNCQUFzQjtZQUN0QixXQUFXO1lBQ1gsWUFBWTtZQUNaLFVBQVU7WUFDVixZQUFZO1lBQ1osZUFBZTtZQUNmLGlCQUFpQixhQUVULGtCQUFrQjtnSEFHakIsZUFBZSxhQUZmLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxZQXBCN0QsYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQiw0QkFBNEI7WUFDNUIsY0FBYztZQUNkLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsV0FBVztZQUNYLFlBQVk7WUFDWixVQUFVO1lBQ1YsWUFBWTtZQUNaLGVBQWU7WUFDZixpQkFBaUI7OzRGQUtSLGVBQWU7a0JBOUIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztpQkFDaEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcblxuaW1wb3J0IHsgRXhwYW5kYWJsZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXhwYW5kYWJsZS1ncmlkL2V4cGFuZGFibGUtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnRHcmlkQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zbWFydC1ncmlkLWNhcmQvc21hcnQtZ3JpZC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydEdyaWRDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWdyaWQuY29tcG9uZW50JztcblxuaW1wb3J0IHsgVGFibGVMYXlvdXREZWZpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWxheW91dC1kZWZpbmVyL3RhYmxlLWxheW91dC1kZWZpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IFNtYXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWljb24vcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnR0YWJsZU1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LXRhYmxlL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0RXhwYW5kYWJsZVNlY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24vcHJvamVjdHMnO1xuaW1wb3J0IHsgTWF0VHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2R1bGUnO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IE1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lbnUnO1xuaW1wb3J0IHsgUGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU21hcnRHcmlkQ29tcG9uZW50LFxuICAgIFNtYXJ0R3JpZENhcmRDb21wb25lbnQsXG4gICAgRXhwYW5kYWJsZUdyaWRDb21wb25lbnQsXG4gICAgVGFibGVMYXlvdXREZWZpbmVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgICBTbWFydEljb25Nb2R1bGUsXG4gICAgU21hcnR0YWJsZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0VHJlZU1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBTbWFydFZpZXdDb250ZXh0TW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBNZW51TW9kdWxlLFxuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBQYWdpbmF0b3JNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTbWFydEdyaWRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6ICdncmlkTWVudUljb24nLCB1c2VWYWx1ZTogJ21vcmVfdmVydCcgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0R3JpZE1vZHVsZSB7fVxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFnQ3ZELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkE1QnhCLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLDJCQUEyQixhQUczQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLDRCQUE0QjtZQUM1QixjQUFjO1lBQ2QsZUFBZTtZQUNmLHNCQUFzQjtZQUN0QixXQUFXO1lBQ1gsWUFBWTtZQUNaLFVBQVU7WUFDVixZQUFZO1lBQ1osZUFBZTtZQUNmLGlCQUFpQixhQUVULGtCQUFrQjtnSEFHakIsZUFBZSxhQUZmLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxZQXBCN0QsYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQiw0QkFBNEI7WUFDNUIsY0FBYztZQUNkLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsV0FBVztZQUNYLFlBQVk7WUFDWixVQUFVO1lBQ1YsWUFBWTtZQUNaLGVBQWU7WUFDZixpQkFBaUI7OzRGQUtSLGVBQWU7a0JBOUIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztpQkFDaEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcblxyXG5pbXBvcnQgeyBFeHBhbmRhYmxlR3JpZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9leHBhbmRhYmxlLWdyaWQvZXhwYW5kYWJsZS1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0R3JpZENhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc21hcnQtZ3JpZC1jYXJkL3NtYXJ0LWdyaWQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEdyaWRDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWdyaWQuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFRhYmxlTGF5b3V0RGVmaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1sYXlvdXQtZGVmaW5lci90YWJsZS1sYXlvdXQtZGVmaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBTbWFydEljb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1pY29uL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnR0YWJsZU1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LXRhYmxlL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRFeHBhbmRhYmxlU2VjdGlvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgTWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVudSc7XHJcbmltcG9ydCB7IFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNtYXJ0R3JpZENvbXBvbmVudCxcclxuICAgIFNtYXJ0R3JpZENhcmRDb21wb25lbnQsXHJcbiAgICBFeHBhbmRhYmxlR3JpZENvbXBvbmVudCxcclxuICAgIFRhYmxlTGF5b3V0RGVmaW5lckNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBTbWFydEljb25Nb2R1bGUsXHJcbiAgICBTbWFydHRhYmxlTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdFRyZWVNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIFNtYXJ0RXhwYW5kYWJsZVNlY3Rpb25Nb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUsXHJcbiAgICBUYWJsZU1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIE1lbnVNb2R1bGUsXHJcbiAgICBTaGFyZWRNb2R1bGUsXHJcbiAgICBQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtTbWFydEdyaWRDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogJ2dyaWRNZW51SWNvbicsIHVzZVZhbHVlOiAnbW9yZV92ZXJ0JyB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0R3JpZE1vZHVsZSB7fVxyXG4iXX0=
@@ -77,4 +77,4 @@ export class SmartGridService {
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartGridService, decorators: [{
78
78
  type: Injectable
79
79
  }], ctorParameters: () => [{ type: i1.GridService }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ3JpZC9zbWFydC1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTzlDLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFBb0IsR0FBZ0I7UUFBaEIsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUhwQyxxQkFBZ0IsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUdULENBQUM7SUFFeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsY0FBc0I7UUFDN0MsSUFBSSxlQUFlLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQ1gsSUFBWSxFQUNaLGNBQXNCLEVBQ3RCLE1BQWMsRUFDZCxLQUFhO1FBRWIsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBWTtZQUM5QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxr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a0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFTLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBM0ZVLGdCQUFnQjttSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTbWFydGRpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1kaWFsb2cvcHJvamVjdHMnO1xuaW1wb3J0IHsgR3JpZE1vZGVsLCBHcmlkUm93LCBHcmlkU2VydmljZSwgR3JpZFVwZGF0ZURhdGEgfSBmcm9tICcuL2FwaS9ncmlkLWFwaSc7XG5pbXBvcnQgeyBTbWFydEdyaWQgfSBmcm9tICcuL3Byb2plY3RzJztcbmltcG9ydCB7IFZpZXdDb250ZXh0Q2hhbmdlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaS9tb2RlbC92aWV3Q29udGV4dENoYW5nZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbWFydEdyaWRTZXJ2aWNlIHtcbiAgZ3JpZE1vZGVsQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIGdyaWRNb2RlbCE6IEdyaWRNb2RlbDtcbiAgcGFnaW5hdG9yPzogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGk6IEdyaWRTZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIGxvYWQodXVpZDogc3RyaW5nLCBncmlkSWRlbnRpZmllcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IGdyaWRNb2RlbFJlc3VsdCA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5hcGkubG9hZCh1dWlkLCBncmlkSWRlbnRpZmllcikpO1xuICAgIHRoaXMudXBkYXRlR3JpZChncmlkTW9kZWxSZXN1bHQsICdsb2FkJyk7XG4gIH1cblxuICBhc3luYyBzZXRQYWdlKFxuICAgIHV1aWQ6IHN0cmluZyxcbiAgICBncmlkSWRlbnRpZmllcjogc3RyaW5nLFxuICAgIG9mZnNldDogc3RyaW5nLFxuICAgIGxpbWl0OiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLmFwaS5zZXRQYWdlKHV1aWQsIGdyaWRJZGVudGlmaWVyLCBvZmZzZXQsIGxpbWl0KSk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGUodXVpZCwgZ3JpZElkZW50aWZpZXIsIHtcbiAgICAgIG9yZGVyQnlMaXN0OiB0aGlzLmdyaWRNb2RlbC52aWV3Py5vcmRlckJ5TGlzdCEsXG4gICAgICBvcmRlcmVkQ29sdW1uTmFtZXM6IHRoaXMuZ3JpZE1vZGVsLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcyEsXG4gICAgICBwYWdlU2l6ZTogK2xpbWl0LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc29ydChzbWFydEdyaWQ6IFNtYXJ0R3JpZCwgZ3JpZFVwZGF0ZURhdGE6IEdyaWRVcGRhdGVEYXRhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFncmlkVXBkYXRlRGF0YS5wYWdlU2l6ZSkge1xuICAgICAgZ3JpZFVwZGF0ZURhdGEucGFnZVNpemUgPSB0aGlzLmdldEN1cnJlbnRQYWdlU2l6ZSgpO1xuICAgIH1cbiAgICBsZXQgZ3JpZE1vZGVsUmVzdWx0ID0gYXdhaXQgdGhpcy5hcGlcbiAgICAgIC51cGRhdGUoc21hcnRHcmlkLmdyaWRNb2RlbC52aWV3VXVpZCEsIHNtYXJ0R3JpZC5ncmlkSWRlbnRpZmllciwgZ3JpZFVwZGF0ZURhdGEpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gICAgdGhpcy51cGRhdGVHcmlkKGdyaWRNb2RlbFJlc3VsdCwgJ3NvcnQnKTtcbiAgfVxuXG4gIGFzeW5jIGV4cGFuZChzbWFydEdyaWQ6IFNtYXJ0R3JpZCwgcm93SWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpXG4gICAgICAuZXhwYW5kKHNtYXJ0R3JpZC5ncmlkTW9kZWwudmlld1V1aWQhLCBzbWFydEdyaWQuZ3JpZElkZW50aWZpZXIsIHJvd0lkKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgc2VsZWN0KHNtYXJ0R3JpZDogU21hcnRHcmlkLCBncmlkUm93OiBHcmlkUm93KTogUHJvbWlzZTxWaWV3Q29udGV4dENoYW5nZSB8IHVuZGVmaW5lZD4ge1xuICAgIGdyaWRSb3cuc2VsZWN0ZWQgPSAhZ3JpZFJvdy5zZWxlY3RlZDtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hcGlcbiAgICAgIC5zZWxlY3QoXG4gICAgICAgIHNtYXJ0R3JpZC5ncmlkTW9kZWwudmlld1V1aWQhLFxuICAgICAgICBzbWFydEdyaWQuZ3JpZElkZW50aWZpZXIsXG4gICAgICAgIGdyaWRSb3cuaWQhLFxuICAgICAgICBncmlkUm93LnNlbGVjdGVkXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBzZWxlY3RSb3dzKFxuICAgIHNtYXJ0R3JpZDogU21hcnRHcmlkLFxuICAgIHNlbGVjdGVkOiBzdHJpbmdbXSxcbiAgICB1bnNlbGVjdGVkOiBzdHJpbmdbXVxuICApOiBQcm9taXNlPFZpZXdDb250ZXh0Q2hhbmdlIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpXG4gICAgICAuc2VsZWN0Um93cyhzbWFydEdyaWQuZ3JpZE1vZGVsLnZpZXdVdWlkISwgc21hcnRHcmlkLmdyaWRJZGVudGlmaWVyLCB7IHNlbGVjdGVkLCB1bnNlbGVjdGVkIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBzZWxlY3RBbGwoc21hcnRHcmlkOiBTbWFydEdyaWQsIHNlbGVjdGVkOiBib29sZWFuKTogUHJvbWlzZTxWaWV3Q29udGV4dENoYW5nZSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaVxuICAgICAgLnNlbGVjdEFsbChzbWFydEdyaWQuZ3JpZE1vZGVsLnZpZXdVdWlkISwgc21hcnRHcmlkLmdyaWRJZGVudGlmaWVyLCBzZWxlY3RlZClcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZSh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgdXBkYXRlRGF0YTogR3JpZFVwZGF0ZURhdGEpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXVwZGF0ZURhdGEucGFnZVNpemUpIHtcbiAgICAgIHVwZGF0ZURhdGEucGFnZVNpemUgPSB0aGlzLmdldEN1cnJlbnRQYWdlU2l6ZSgpO1xuICAgIH1cbiAgICBsZXQgZ3JpZE1vZGVsUmVzdWx0ID0gYXdhaXQgdGhpcy5hcGkudXBkYXRlKHV1aWQsIGlkZW50aWZpZXIsIHVwZGF0ZURhdGEpLnRvUHJvbWlzZSgpO1xuICAgIHRoaXMudXBkYXRlR3JpZChncmlkTW9kZWxSZXN1bHQsICd1cGRhdGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlR3JpZChncmlkTW9kZWw6IEdyaWRNb2RlbCB8IHVuZGVmaW5lZCwgbWV0aG9kOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZ3JpZE1vZGVsKSB7XG4gICAgICB0aGlzLmdyaWRNb2RlbCA9IGdyaWRNb2RlbDtcbiAgICAgIHRoaXMuZ3JpZE1vZGVsQ2hhbmdlZC5uZXh0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEdyaWRNb2RlbCBpcyB1bmRlZmluZWQgaW4gc2VydmljZSBhZnRlciAke21ldGhvZH0hYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50UGFnZVNpemUoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmdyaWRNb2RlbC5wYWdlU2l6ZSE7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ3JpZC9zbWFydC1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTzlDLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFBb0IsR0FBZ0I7UUFBaEIsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUhwQyxxQkFBZ0IsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUdULENBQUM7SUFFeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsY0FBc0I7UUFDN0MsSUFBSSxlQUFlLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQ1gsSUFBWSxFQUNaLGNBQXNCLEVBQ3RCLE1BQWMsRUFDZCxLQUFhO1FBRWIsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBWTtZQUM5QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxr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a0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFTLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBM0ZVLGdCQUFnQjttSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNtYXJ0ZGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWRpYWxvZy9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IEdyaWRNb2RlbCwgR3JpZFJvdywgR3JpZFNlcnZpY2UsIEdyaWRVcGRhdGVEYXRhIH0gZnJvbSAnLi9hcGkvZ3JpZC1hcGknO1xyXG5pbXBvcnQgeyBTbWFydEdyaWQgfSBmcm9tICcuL3Byb2plY3RzJztcclxuaW1wb3J0IHsgVmlld0NvbnRleHRDaGFuZ2UgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3ZpZXdDb250ZXh0Q2hhbmdlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNtYXJ0R3JpZFNlcnZpY2Uge1xyXG4gIGdyaWRNb2RlbENoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGdyaWRNb2RlbCE6IEdyaWRNb2RlbDtcclxuICBwYWdpbmF0b3I/OiBib29sZWFuO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpOiBHcmlkU2VydmljZSkge31cclxuXHJcbiAgYXN5bmMgbG9hZCh1dWlkOiBzdHJpbmcsIGdyaWRJZGVudGlmaWVyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBncmlkTW9kZWxSZXN1bHQgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuYXBpLmxvYWQodXVpZCwgZ3JpZElkZW50aWZpZXIpKTtcclxuICAgIHRoaXMudXBkYXRlR3JpZChncmlkTW9kZWxSZXN1bHQsICdsb2FkJyk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRQYWdlKFxyXG4gICAgdXVpZDogc3RyaW5nLFxyXG4gICAgZ3JpZElkZW50aWZpZXI6IHN0cmluZyxcclxuICAgIG9mZnNldDogc3RyaW5nLFxyXG4gICAgbGltaXQ6IHN0cmluZ1xyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLmFwaS5zZXRQYWdlKHV1aWQsIGdyaWRJZGVudGlmaWVyLCBvZmZzZXQsIGxpbWl0KSk7XHJcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZSh1dWlkLCBncmlkSWRlbnRpZmllciwge1xyXG4gICAgICBvcmRlckJ5TGlzdDogdGhpcy5ncmlkTW9kZWwudmlldz8ub3JkZXJCeUxpc3QhLFxyXG4gICAgICBvcmRlcmVkQ29sdW1uTmFtZXM6IHRoaXMuZ3JpZE1vZGVsLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcyEsXHJcbiAgICAgIHBhZ2VTaXplOiArbGltaXQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNvcnQoc21hcnRHcmlkOiBTbWFydEdyaWQsIGdyaWRVcGRhdGVEYXRhOiBHcmlkVXBkYXRlRGF0YSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFncmlkVXBkYXRlRGF0YS5wYWdlU2l6ZSkge1xyXG4gICAgICBncmlkVXBkYXRlRGF0YS5wYWdlU2l6ZSA9IHRoaXMuZ2V0Q3VycmVudFBhZ2VTaXplKCk7XHJcbiAgICB9XHJcbiAgICBsZXQgZ3JpZE1vZGVsUmVzdWx0ID0gYXdhaXQgdGhpcy5hcGlcclxuICAgICAgLnVwZGF0ZShzbWFydEdyaWQuZ3JpZE1vZGVsLnZpZXdVdWlkISwgc21hcnRHcmlkLmdyaWRJZGVudGlmaWVyLCBncmlkVXBkYXRlRGF0YSlcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgdGhpcy51cGRhdGVHcmlkKGdyaWRNb2RlbFJlc3VsdCwgJ3NvcnQnKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGV4cGFuZChzbWFydEdyaWQ6IFNtYXJ0R3JpZCwgcm93SWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hcGlcclxuICAgICAgLmV4cGFuZChzbWFydEdyaWQuZ3JpZE1vZGVsLnZpZXdVdWlkISwgc21hcnRHcmlkLmdyaWRJZGVudGlmaWVyLCByb3dJZClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2VsZWN0KHNtYXJ0R3JpZDogU21hcnRHcmlkLCBncmlkUm93OiBHcmlkUm93KTogUHJvbWlzZTxWaWV3Q29udGV4dENoYW5nZSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgZ3JpZFJvdy5zZWxlY3RlZCA9ICFncmlkUm93LnNlbGVjdGVkO1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpXHJcbiAgICAgIC5zZWxlY3QoXHJcbiAgICAgICAgc21hcnRHcmlkLmdyaWRNb2RlbC52aWV3VXVpZCEsXHJcbiAgICAgICAgc21hcnRHcmlkLmdyaWRJZGVudGlmaWVyLFxyXG4gICAgICAgIGdyaWRSb3cuaWQhLFxyXG4gICAgICAgIGdyaWRSb3cuc2VsZWN0ZWRcclxuICAgICAgKVxyXG4gICAgICAudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZWxlY3RSb3dzKFxyXG4gICAgc21hcnRHcmlkOiBTbWFydEdyaWQsXHJcbiAgICBzZWxlY3RlZDogc3RyaW5nW10sXHJcbiAgICB1bnNlbGVjdGVkOiBzdHJpbmdbXVxyXG4gICk6IFByb21pc2U8Vmlld0NvbnRleHRDaGFuZ2UgfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaVxyXG4gICAgICAuc2VsZWN0Um93cyhzbWFydEdyaWQuZ3JpZE1vZGVsLnZpZXdVdWlkISwgc21hcnRHcmlkLmdyaWRJZGVudGlmaWVyLCB7IHNlbGVjdGVkLCB1bnNlbGVjdGVkIH0pXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNlbGVjdEFsbChzbWFydEdyaWQ6IFNtYXJ0R3JpZCwgc2VsZWN0ZWQ6IGJvb2xlYW4pOiBQcm9taXNlPFZpZXdDb250ZXh0Q2hhbmdlIHwgdW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hcGlcclxuICAgICAgLnNlbGVjdEFsbChzbWFydEdyaWQuZ3JpZE1vZGVsLnZpZXdVdWlkISwgc21hcnRHcmlkLmdyaWRJZGVudGlmaWVyLCBzZWxlY3RlZClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdXBkYXRlKHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCB1cGRhdGVEYXRhOiBHcmlkVXBkYXRlRGF0YSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF1cGRhdGVEYXRhLnBhZ2VTaXplKSB7XHJcbiAgICAgIHVwZGF0ZURhdGEucGFnZVNpemUgPSB0aGlzLmdldEN1cnJlbnRQYWdlU2l6ZSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IGdyaWRNb2RlbFJlc3VsdCA9IGF3YWl0IHRoaXMuYXBpLnVwZGF0ZSh1dWlkLCBpZGVudGlmaWVyLCB1cGRhdGVEYXRhKS50b1Byb21pc2UoKTtcclxuICAgIHRoaXMudXBkYXRlR3JpZChncmlkTW9kZWxSZXN1bHQsICd1cGRhdGUnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlR3JpZChncmlkTW9kZWw6IEdyaWRNb2RlbCB8IHVuZGVmaW5lZCwgbWV0aG9kOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChncmlkTW9kZWwpIHtcclxuICAgICAgdGhpcy5ncmlkTW9kZWwgPSBncmlkTW9kZWw7XHJcbiAgICAgIHRoaXMuZ3JpZE1vZGVsQ2hhbmdlZC5uZXh0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBHcmlkTW9kZWwgaXMgdW5kZWZpbmVkIGluIHNlcnZpY2UgYWZ0ZXIgJHttZXRob2R9IWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDdXJyZW50UGFnZVNpemUoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5ncmlkTW9kZWwucGFnZVNpemUhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIl19
@@ -4,4 +4,4 @@
4
4
  export * from './smart-icon.service';
5
5
  export * from './smart-icon/smart-icon.component';
6
6
  export * from './smart-icon.module';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNtYXJ0LWljb25cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWljb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1pY29uLm1vZHVsZSc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc21hcnQtaWNvblxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtaWNvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1pY29uL3NtYXJ0LWljb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1pY29uLm1vZHVsZSc7XHJcbiJdfQ==
@@ -45,11 +45,11 @@ export class SmartIconComponent {
45
45
  this.changeDetector.markForCheck();
46
46
  }
47
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconComponent, deps: [{ token: i1.SmartIconService }, { token: i0.ChangeDetectorRef }, { token: i2.DomSanitizer }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartIconComponent, selector: "smart-icon", inputs: { iconWithoutNamespace: ["icon", "iconWithoutNamespace"], color: "color" }, usesOnChanges: true, ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\n<i class=\"pi custom-prime-icon\" [ngStyle]=\"getStyle(color)\">\n <span *ngIf=\"iconHtml\" [innerHTML]=\"iconHtml\"></span>\n</i>\n}@else{\n<i [ngClass]=\"getIcon(icon)\" [ngStyle]=\"getStyle(color)\"> </i>\n\n} } @else { @if (isCustom) {\n<mat-icon [color]=\"color ?? 'primary'\" svgIcon=\"{{ icon }}\"></mat-icon>\n} @else {\n<mat-icon [color]=\"color ?? 'primary'\"> {{ icon }} </mat-icon>\n} }\n", styles: [".custom-prime-icon{height:1rem;width:auto}:host ::ng-deep .p-badge{background-color:var(--accent-color);color:#fff;font-size:.5rem;min-width:1rem;height:1rem;line-height:1rem}:host ::ng-deep .p-overlay-badge .p-badge{transform:translate(80%,-70%)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartIconComponent, selector: "smart-icon", inputs: { iconWithoutNamespace: ["icon", "iconWithoutNamespace"], color: "color" }, usesOnChanges: true, ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\r\n<i class=\"pi custom-prime-icon\" [ngStyle]=\"getStyle(color)\">\r\n <span *ngIf=\"iconHtml\" [innerHTML]=\"iconHtml\"></span>\r\n</i>\r\n}@else{\r\n<i [ngClass]=\"getIcon(icon)\" [ngStyle]=\"getStyle(color)\"> </i>\r\n\r\n} } @else { @if (isCustom) {\r\n<mat-icon [color]=\"color ?? 'primary'\" svgIcon=\"{{ icon }}\"></mat-icon>\r\n} @else {\r\n<mat-icon [color]=\"color ?? 'primary'\"> {{ icon }} </mat-icon>\r\n} }\r\n", styles: [".custom-prime-icon{height:1rem;width:auto}:host ::ng-deep .p-badge{background-color:var(--accent-color);color:#fff;font-size:.5rem;min-width:1rem;height:1rem;line-height:1rem}:host ::ng-deep .p-overlay-badge .p-badge{transform:translate(80%,-70%)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'smart-icon', template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\n<i class=\"pi custom-prime-icon\" [ngStyle]=\"getStyle(color)\">\n <span *ngIf=\"iconHtml\" [innerHTML]=\"iconHtml\"></span>\n</i>\n}@else{\n<i [ngClass]=\"getIcon(icon)\" [ngStyle]=\"getStyle(color)\"> </i>\n\n} } @else { @if (isCustom) {\n<mat-icon [color]=\"color ?? 'primary'\" svgIcon=\"{{ icon }}\"></mat-icon>\n} @else {\n<mat-icon [color]=\"color ?? 'primary'\"> {{ icon }} </mat-icon>\n} }\n", styles: [".custom-prime-icon{height:1rem;width:auto}:host ::ng-deep .p-badge{background-color:var(--accent-color);color:#fff;font-size:.5rem;min-width:1rem;height:1rem;line-height:1rem}:host ::ng-deep .p-overlay-badge .p-badge{transform:translate(80%,-70%)}\n"] }]
52
+ args: [{ selector: 'smart-icon', template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\r\n<i class=\"pi custom-prime-icon\" [ngStyle]=\"getStyle(color)\">\r\n <span *ngIf=\"iconHtml\" [innerHTML]=\"iconHtml\"></span>\r\n</i>\r\n}@else{\r\n<i [ngClass]=\"getIcon(icon)\" [ngStyle]=\"getStyle(color)\"> </i>\r\n\r\n} } @else { @if (isCustom) {\r\n<mat-icon [color]=\"color ?? 'primary'\" svgIcon=\"{{ icon }}\"></mat-icon>\r\n} @else {\r\n<mat-icon [color]=\"color ?? 'primary'\"> {{ icon }} </mat-icon>\r\n} }\r\n", styles: [".custom-prime-icon{height:1rem;width:auto}:host ::ng-deep .p-badge{background-color:var(--accent-color);color:#fff;font-size:.5rem;min-width:1rem;height:1rem;line-height:1rem}:host ::ng-deep .p-overlay-badge .p-badge{transform:translate(80%,-70%)}\n"] }]
53
53
  }], ctorParameters: () => [{ type: i1.SmartIconService }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i5.ComponentLibrary, decorators: [{
54
54
  type: Inject,
55
55
  args: [COMPONENT_LIBRARY]
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
59
59
  }], color: [{
60
60
  type: Input
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7QUFRbEcsTUFBTSxPQUFPLGtCQUFrQjtJQVU3QixZQUNVLE9BQXlCLEVBQzFCLGNBQWlDLEVBQ2hDLFNBQXVCLEVBQ0csT0FBeUI7UUFIbkQsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDRyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQVI3RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDLENBQUMsa0NBQWtDO0lBT3BFLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFrQjtRQUN6QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUU3RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBL0NVLGtCQUFrQiwrR0FjbkIsaUJBQWlCO21HQWRoQixrQkFBa0IsMkpDakIvQixpZEFZQTs7NEZES2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVk7OzBCQWtCbkIsTUFBTTsyQkFBQyxpQkFBaUI7eUNBYlosb0JBQW9CO3NCQUFsQyxLQUFLO3VCQUFDLE1BQU07Z0JBQ0osS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0SWNvblNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtaWNvbi5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0SWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgnaWNvbicpIGljb25XaXRob3V0TmFtZXNwYWNlITogc3RyaW5nO1xuICBASW5wdXQoKSBjb2xvcj86IHN0cmluZztcblxuICBpY29uITogc3RyaW5nO1xuICBpY29uSHRtbD86IFNhZmVIdG1sO1xuICBpc0N1c3RvbTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5OyAvLyBFeHBvc2UgdGhlIGVudW0gdG8gdGhlIHRlbXBsYXRlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBTbWFydEljb25TZXJ2aWNlLFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuaXNDdXN0b20gPSBmYWxzZTtcbiAgICB0aGlzLmNoZWNrSWNvbigpO1xuICB9XG5cbiAgZ2V0SWNvbihpY29uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiAncGkgcGktJyArIGljb247XG4gIH1cblxuICBnZXRTdHlsZShpY29uY29sb3I/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyBjb2xvcjogaWNvbmNvbG9yLCBkaXNwbGF5OiAnZmxleCcsIGZpbGw6IGljb25jb2xvciB9O1xuICB9XG5cbiAgYXN5bmMgY2hlY2tJY29uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCBmdWxseVF1YWxpZmllZEljb24gPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0RnVsbHlRdWFsaWZpZWRJY29uKHRoaXMuaWNvbldpdGhvdXROYW1lc3BhY2UpO1xuXG4gICAgY29uc3QgcmF3U3ZnID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFN2Z0Zyb21JY29uUmVnaXN0cnkodGhpcy5pY29uV2l0aG91dE5hbWVzcGFjZSk7XG4gICAgaWYgKHJhd1N2Zykge1xuICAgICAgdGhpcy5pY29uSHRtbCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHJhd1N2Zyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaWNvbkh0bWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChmdWxseVF1YWxpZmllZEljb24pIHtcbiAgICAgIHRoaXMuaXNDdXN0b20gPSB0cnVlO1xuICAgICAgdGhpcy5pY29uID0gZnVsbHlRdWFsaWZpZWRJY29uO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQ3VzdG9tID0gZmFsc2U7XG4gICAgICB0aGlzLmljb24gPSB0aGlzLmljb25XaXRob3V0TmFtZXNwYWNlO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCJAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7IEBpZiAoaXNDdXN0b20pIHtcbjxpIGNsYXNzPVwicGkgY3VzdG9tLXByaW1lLWljb25cIiBbbmdTdHlsZV09XCJnZXRTdHlsZShjb2xvcilcIj5cbiAgPHNwYW4gKm5nSWY9XCJpY29uSHRtbFwiIFtpbm5lckhUTUxdPVwiaWNvbkh0bWxcIj48L3NwYW4+XG48L2k+XG59QGVsc2V7XG48aSBbbmdDbGFzc109XCJnZXRJY29uKGljb24pXCIgW25nU3R5bGVdPVwiZ2V0U3R5bGUoY29sb3IpXCI+IDwvaT5cblxufSB9IEBlbHNlIHsgQGlmIChpc0N1c3RvbSkge1xuPG1hdC1pY29uIFtjb2xvcl09XCJjb2xvciA/PyAncHJpbWFyeSdcIiBzdmdJY29uPVwie3sgaWNvbiB9fVwiPjwvbWF0LWljb24+XG59IEBlbHNlIHtcbjxtYXQtaWNvbiBbY29sb3JdPVwiY29sb3IgPz8gJ3ByaW1hcnknXCI+IHt7IGljb24gfX0gPC9tYXQtaWNvbj5cbn0gfVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7QUFRbEcsTUFBTSxPQUFPLGtCQUFrQjtJQVU3QixZQUNVLE9BQXlCLEVBQzFCLGNBQWlDLEVBQ2hDLFNBQXVCLEVBQ0csT0FBeUI7UUFIbkQsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDRyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQVI3RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDLENBQUMsa0NBQWtDO0lBT3BFLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFrQjtRQUN6QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUU3RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBL0NVLGtCQUFrQiwrR0FjbkIsaUJBQWlCO21HQWRoQixrQkFBa0IsMkpDakIvQix5ZUFZQTs7NEZES2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVk7OzBCQWtCbkIsTUFBTTsyQkFBQyxpQkFBaUI7eUNBYlosb0JBQW9CO3NCQUFsQyxLQUFLO3VCQUFDLE1BQU07Z0JBQ0osS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtaWNvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1pY29uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtaWNvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtaWNvbi5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnaWNvbicpIGljb25XaXRob3V0TmFtZXNwYWNlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbG9yPzogc3RyaW5nO1xyXG5cclxuICBpY29uITogc3RyaW5nO1xyXG4gIGljb25IdG1sPzogU2FmZUh0bWw7XHJcbiAgaXNDdXN0b206IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7IC8vIEV4cG9zZSB0aGUgZW51bSB0byB0aGUgdGVtcGxhdGVcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFNtYXJ0SWNvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIHB1YmxpYyBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5XHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzQ3VzdG9tID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoZWNrSWNvbigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihpY29uOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdwaSBwaS0nICsgaWNvbjtcclxuICB9XHJcblxyXG4gIGdldFN0eWxlKGljb25jb2xvcj86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHsgY29sb3I6IGljb25jb2xvciwgZGlzcGxheTogJ2ZsZXgnLCBmaWxsOiBpY29uY29sb3IgfTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNoZWNrSWNvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBmdWxseVF1YWxpZmllZEljb24gPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0RnVsbHlRdWFsaWZpZWRJY29uKHRoaXMuaWNvbldpdGhvdXROYW1lc3BhY2UpO1xyXG5cclxuICAgIGNvbnN0IHJhd1N2ZyA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRTdmdGcm9tSWNvblJlZ2lzdHJ5KHRoaXMuaWNvbldpdGhvdXROYW1lc3BhY2UpO1xyXG4gICAgaWYgKHJhd1N2Zykge1xyXG4gICAgICB0aGlzLmljb25IdG1sID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocmF3U3ZnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaWNvbkh0bWwgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoZnVsbHlRdWFsaWZpZWRJY29uKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b20gPSB0cnVlO1xyXG4gICAgICB0aGlzLmljb24gPSBmdWxseVF1YWxpZmllZEljb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMuaWNvbldpdGhvdXROYW1lc3BhY2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iLCJAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7IEBpZiAoaXNDdXN0b20pIHtcclxuPGkgY2xhc3M9XCJwaSBjdXN0b20tcHJpbWUtaWNvblwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKGNvbG9yKVwiPlxyXG4gIDxzcGFuICpuZ0lmPVwiaWNvbkh0bWxcIiBbaW5uZXJIVE1MXT1cImljb25IdG1sXCI+PC9zcGFuPlxyXG48L2k+XHJcbn1AZWxzZXtcclxuPGkgW25nQ2xhc3NdPVwiZ2V0SWNvbihpY29uKVwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKGNvbG9yKVwiPiA8L2k+XHJcblxyXG59IH0gQGVsc2UgeyBAaWYgKGlzQ3VzdG9tKSB7XHJcbjxtYXQtaWNvbiBbY29sb3JdPVwiY29sb3IgPz8gJ3ByaW1hcnknXCIgc3ZnSWNvbj1cInt7IGljb24gfX1cIj48L21hdC1pY29uPlxyXG59IEBlbHNlIHtcclxuPG1hdC1pY29uIFtjb2xvcl09XCJjb2xvciA/PyAncHJpbWFyeSdcIj4ge3sgaWNvbiB9fSA8L21hdC1pY29uPlxyXG59IH1cclxuIl19
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
20
20
  providers: [SmartIconService],
21
21
  }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRNUMsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQUxYLGtCQUFrQixhQUN2QixhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxXQUFXLGFBQzFELGtCQUFrQjtnSEFHakIsZUFBZSxhQUZmLENBQUMsZ0JBQWdCLENBQUMsWUFGbkIsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVzs7NEZBSXpELGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQztvQkFDckUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNtYXJ0SWNvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWljb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydEljb25Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFkZ2VNb2R1bGUgfSBmcm9tICdwcmltZW5nL2JhZGdlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU21hcnRJY29uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0Jyb3dzZXJNb2R1bGUsIE1hdENvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgQmFkZ2VNb2R1bGVdLFxuICBleHBvcnRzOiBbU21hcnRJY29uQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbU21hcnRJY29uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0SWNvbk1vZHVsZSB7fVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRNUMsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQUxYLGtCQUFrQixhQUN2QixhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxXQUFXLGFBQzFELGtCQUFrQjtnSEFHakIsZUFBZSxhQUZmLENBQUMsZ0JBQWdCLENBQUMsWUFGbkIsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVzs7NEZBSXpELGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQztvQkFDckUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU21hcnRJY29uU2VydmljZSB9IGZyb20gJy4vc21hcnQtaWNvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1pY29uL3NtYXJ0LWljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFkZ2VNb2R1bGUgfSBmcm9tICdwcmltZW5nL2JhZGdlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU21hcnRJY29uQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgTWF0Q29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBCYWRnZU1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1NtYXJ0SWNvbkNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbU21hcnRJY29uU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEljb25Nb2R1bGUge31cclxuIl19
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
90
90
  providedIn: 'root',
91
91
  }]
92
92
  }], ctorParameters: () => [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtaWNvbi9zbWFydC1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWEzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQW9CLGVBQWdDLEVBQVUsU0FBdUI7UUFBakUsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUo3RSxXQUFNLEdBQUcsUUFBUSxDQUFDO1FBMENsQiw2QkFBd0IsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXRDVSxDQUFDO0lBRWxGLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxRQUFRLENBQUMsUUFBYTtRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUNqRSxJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxPQUFPO2dCQUNMLFdBQVc7Z0JBQ1gsV0FBVzthQUNaLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFO1lBQ3BE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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0SWNvblNldCB7XG4gIGljb25TZXROYW1lOiBzdHJpbmc7XG4gIGljb25TZXRFbnVtOiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydEljb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBhc3NldHMgPSAnYXNzZXRzJztcbiAgcHJpdmF0ZSBlbnZpcm9ubWVudEljb25TZXRzPzogYW55O1xuICBwdWJsaWMgc21hcnRJY29uU2V0cz86IFNtYXJ0SWNvblNldFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgcHVibGljIHNldFNvdXJjZUZvbGRlcihwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2V0cyA9IHBhdGg7XG4gIH1cblxuICBwdWJsaWMgaWNvblNldHMoaWNvblNldHM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZW52aXJvbm1lbnRJY29uU2V0cyA9IGljb25TZXRzO1xuICAgIHRoaXMuc2V0VXBJY29ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRVcEljb25zKCk6IHZvaWQge1xuICAgIHRoaXMuc21hcnRJY29uU2V0cyA9IHRoaXMuZW52aXJvbm1lbnRJY29uU2V0cy5tYXAoKGljb25TZXQ6IGFueSkgPT4ge1xuICAgICAgbGV0IGljb25TZXROYW1lID0gT2JqZWN0LmtleXMoaWNvblNldClbMF07XG4gICAgICBsZXQgaWNvblNldEVudW0gPSBpY29uU2V0W2ljb25TZXROYW1lXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TZXRFbnVtLFxuICAgICAgICBpY29uU2V0TmFtZSxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNtYXJ0SWNvblNldHMhLmZvckVhY2goKGljb25TZXQ6IFNtYXJ0SWNvblNldCkgPT4ge1xuICAgICAgdGhpcy5sb2FkKGljb25TZXQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkKGljb25TZXQ6IFNtYXJ0SWNvblNldCk6IHZvaWQge1xuICAgIE9iamVjdC5rZXlzKGljb25TZXQuaWNvblNldEVudW0pLmZvckVhY2goKGljb246IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkluTmFtZXNwYWNlKFxuICAgICAgICBpY29uU2V0Lmljb25TZXROYW1lLFxuICAgICAgICBpY29uLFxuICAgICAgICB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXG4gICAgICAgICAgYCR7dGhpcy5hc3NldHN9LyR7aWNvblNldC5pY29uU2V0TmFtZX0vJHtpY29uU2V0Lmljb25TZXRFbnVtW2ljb25dfS5zdmdgXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZ1bGx5UXVhbGlmaWVkSWNvbkJ5SWNvbjogTWFwPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiA9IG5ldyBNYXAoKTtcblxuICAvKipcbiAgICogUmV0dXJucyBmdWxseSBxdWFsaWZpZWQgaWNvbiBuYW1lIHdpdGggbmFtZXNwYWNlIGlmIGZvdW5kIGluIGljb25TZXRzLCBvdGhlcndpc2UgcmV0dXJucyB1bmRlZmluZWQuXG4gICAqIEBwYXJhbSBpY29uV2l0aG91dE5hbWVzcGFjZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYXN5bmMgZ2V0RnVsbHlRdWFsaWZpZWRJY29uKGljb25XaXRob3V0TmFtZXNwYWNlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICh0aGlzLmZ1bGx5UXVhbGlmaWVkSWNvbkJ5SWNvbi5oYXMoaWNvbldpdGhvdXROYW1lc3BhY2UpKSB7XG4gICAgICByZXR1cm4gdGhpcy5mdWxseVF1YWxpZmllZEljb25CeUljb24uZ2V0KGljb25XaXRob3V0TmFtZXNwYWNlKTtcbiAgICB9XG4gICAgbGV0IGljb24gPSB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMuc21hcnRJY29uU2V0cykge1xuICAgICAgZm9yIChsZXQgaWNvblNldCBvZiB0aGlzLnNtYXJ0SWNvblNldHMpIHtcbiAgICAgICAgaWYgKCFpY29uKSB7XG4gICAgICAgICAgbGV0IG5hbWVzcGFjZSA9IGljb25TZXQuaWNvblNldE5hbWU7XG4gICAgICAgICAgbGV0IHN2Z0ljb24gPSBhd2FpdCB0aGlzLm1hdEljb25SZWdpc3RyeVxuICAgICAgICAgICAgLmdldE5hbWVkU3ZnSWNvbihpY29uV2l0aG91dE5hbWVzcGFjZSwgbmFtZXNwYWNlKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge30pO1xuICAgICAgICAgIGlmIChzdmdJY29uKSB7XG4gICAgICAgICAgICBpY29uID0gYCR7bmFtZXNwYWNlfToke2ljb25XaXRob3V0TmFtZXNwYWNlfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGlmIGljb24gaXMgdW5kZWZpbmVkIChub3QgZm91bmQgaW4gaWNvbnNldCksIHdlIGluZGljYXRlIGl0IGluIG1hcCwgc28gd2UgZG9uJ3Qgc2VhcmNoIGV2ZXJ5IHRpbWUuXG4gICAgdGhpcy5mdWxseVF1YWxpZmllZEljb25CeUljb24uc2V0KGljb25XaXRob3V0TmFtZXNwYWNlLCBpY29uKTtcbiAgICByZXR1cm4gaWNvbjtcbiAgfVxuXG4gIGFzeW5jIGdldFN2Z0Zyb21JY29uUmVnaXN0cnkoaWNvbldpdGhvdXROYW1lc3BhY2U6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgbGV0IHF1YWxpZmllZCA9IGF3YWl0IHRoaXMuZ2V0RnVsbHlRdWFsaWZpZWRJY29uKGljb25XaXRob3V0TmFtZXNwYWNlKTtcbiAgICBpZiAoIXF1YWxpZmllZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGxldCBbbmFtZXNwYWNlLCBuYW1lXSA9IHF1YWxpZmllZC5zcGxpdCgnOicpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxldCBzdmdFbGVtZW50ID0gYXdhaXQgdGhpcy5tYXRJY29uUmVnaXN0cnkuZ2V0TmFtZWRTdmdJY29uKG5hbWUsIG5hbWVzcGFjZSkudG9Qcm9taXNlKCk7XG5cbiAgICAgIGlmIChzdmdFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBzdmdFbGVtZW50Lm91dGVySFRNTDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignQ291bGQgbm90IGxvYWQgU1ZHIGljb246JywgbmFtZSwgbmFtZXNwYWNlLCBlKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtaWNvbi9zbWFydC1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWEzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQW9CLGVBQWdDLEVBQVUsU0FBdUI7UUFBakUsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUo3RSxXQUFNLEdBQUcsUUFBUSxDQUFDO1FBMENsQiw2QkFBd0IsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXRDVSxDQUFDO0lBRWxGLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxRQUFRLENBQUMsUUFBYTtRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUNqRSxJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxPQUFPO2dCQUNMLFdBQVc7Z0JBQ1gsV0FBVzthQUNaLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFO1lBQ3BE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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEljb25TZXQge1xyXG4gIGljb25TZXROYW1lOiBzdHJpbmc7XHJcbiAgaWNvblNldEVudW06IGFueTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0SWNvblNlcnZpY2Uge1xyXG4gIHByaXZhdGUgYXNzZXRzID0gJ2Fzc2V0cyc7XHJcbiAgcHJpdmF0ZSBlbnZpcm9ubWVudEljb25TZXRzPzogYW55O1xyXG4gIHB1YmxpYyBzbWFydEljb25TZXRzPzogU21hcnRJY29uU2V0W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XHJcblxyXG4gIHB1YmxpYyBzZXRTb3VyY2VGb2xkZXIocGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFzc2V0cyA9IHBhdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaWNvblNldHMoaWNvblNldHM6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lbnZpcm9ubWVudEljb25TZXRzID0gaWNvblNldHM7XHJcbiAgICB0aGlzLnNldFVwSWNvbnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXBJY29ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuc21hcnRJY29uU2V0cyA9IHRoaXMuZW52aXJvbm1lbnRJY29uU2V0cy5tYXAoKGljb25TZXQ6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgaWNvblNldE5hbWUgPSBPYmplY3Qua2V5cyhpY29uU2V0KVswXTtcclxuICAgICAgbGV0IGljb25TZXRFbnVtID0gaWNvblNldFtpY29uU2V0TmFtZV07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWNvblNldEVudW0sXHJcbiAgICAgICAgaWNvblNldE5hbWUsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0SWNvblNldHMhLmZvckVhY2goKGljb25TZXQ6IFNtYXJ0SWNvblNldCkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWQoaWNvblNldCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZChpY29uU2V0OiBTbWFydEljb25TZXQpOiB2b2lkIHtcclxuICAgIE9iamVjdC5rZXlzKGljb25TZXQuaWNvblNldEVudW0pLmZvckVhY2goKGljb246IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uSW5OYW1lc3BhY2UoXHJcbiAgICAgICAgaWNvblNldC5pY29uU2V0TmFtZSxcclxuICAgICAgICBpY29uLFxyXG4gICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcclxuICAgICAgICAgIGAke3RoaXMuYXNzZXRzfS8ke2ljb25TZXQuaWNvblNldE5hbWV9LyR7aWNvblNldC5pY29uU2V0RW51bVtpY29uXX0uc3ZnYFxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmdWxseVF1YWxpZmllZEljb25CeUljb246IE1hcDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgZnVsbHkgcXVhbGlmaWVkIGljb24gbmFtZSB3aXRoIG5hbWVzcGFjZSBpZiBmb3VuZCBpbiBpY29uU2V0cywgb3RoZXJ3aXNlIHJldHVybnMgdW5kZWZpbmVkLlxyXG4gICAqIEBwYXJhbSBpY29uV2l0aG91dE5hbWVzcGFjZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgYXN5bmMgZ2V0RnVsbHlRdWFsaWZpZWRJY29uKGljb25XaXRob3V0TmFtZXNwYWNlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xyXG4gICAgaWYgKHRoaXMuZnVsbHlRdWFsaWZpZWRJY29uQnlJY29uLmhhcyhpY29uV2l0aG91dE5hbWVzcGFjZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZnVsbHlRdWFsaWZpZWRJY29uQnlJY29uLmdldChpY29uV2l0aG91dE5hbWVzcGFjZSk7XHJcbiAgICB9XHJcbiAgICBsZXQgaWNvbiA9IHVuZGVmaW5lZDtcclxuICAgIGlmICh0aGlzLnNtYXJ0SWNvblNldHMpIHtcclxuICAgICAgZm9yIChsZXQgaWNvblNldCBvZiB0aGlzLnNtYXJ0SWNvblNldHMpIHtcclxuICAgICAgICBpZiAoIWljb24pIHtcclxuICAgICAgICAgIGxldCBuYW1lc3BhY2UgPSBpY29uU2V0Lmljb25TZXROYW1lO1xyXG4gICAgICAgICAgbGV0IHN2Z0ljb24gPSBhd2FpdCB0aGlzLm1hdEljb25SZWdpc3RyeVxyXG4gICAgICAgICAgICAuZ2V0TmFtZWRTdmdJY29uKGljb25XaXRob3V0TmFtZXNwYWNlLCBuYW1lc3BhY2UpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge30pO1xyXG4gICAgICAgICAgaWYgKHN2Z0ljb24pIHtcclxuICAgICAgICAgICAgaWNvbiA9IGAke25hbWVzcGFjZX06JHtpY29uV2l0aG91dE5hbWVzcGFjZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gaWYgaWNvbiBpcyB1bmRlZmluZWQgKG5vdCBmb3VuZCBpbiBpY29uc2V0KSwgd2UgaW5kaWNhdGUgaXQgaW4gbWFwLCBzbyB3ZSBkb24ndCBzZWFyY2ggZXZlcnkgdGltZS5cclxuICAgIHRoaXMuZnVsbHlRdWFsaWZpZWRJY29uQnlJY29uLnNldChpY29uV2l0aG91dE5hbWVzcGFjZSwgaWNvbik7XHJcbiAgICByZXR1cm4gaWNvbjtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFN2Z0Zyb21JY29uUmVnaXN0cnkoaWNvbldpdGhvdXROYW1lc3BhY2U6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcXVhbGlmaWVkID0gYXdhaXQgdGhpcy5nZXRGdWxseVF1YWxpZmllZEljb24oaWNvbldpdGhvdXROYW1lc3BhY2UpO1xyXG4gICAgaWYgKCFxdWFsaWZpZWQpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgbGV0IFtuYW1lc3BhY2UsIG5hbWVdID0gcXVhbGlmaWVkLnNwbGl0KCc6Jyk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IHN2Z0VsZW1lbnQgPSBhd2FpdCB0aGlzLm1hdEljb25SZWdpc3RyeS5nZXROYW1lZFN2Z0ljb24obmFtZSwgbmFtZXNwYWNlKS50b1Byb21pc2UoKTtcclxuXHJcbiAgICAgIGlmIChzdmdFbGVtZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIHN2Z0VsZW1lbnQub3V0ZXJIVE1MO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignQ291bGQgbm90IGxvYWQgU1ZHIGljb246JywgbmFtZSwgbmFtZXNwYWNlLCBlKTtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
109
109
  }], onEditingOverlayDrag: [{
110
110
  type: Output
111
111
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL2Fic3RyYWN0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBR04sWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUtMLG1CQUFtQixHQUNwQixNQUFNLE9BQU8sQ0FBQzs7QUFtQmYsTUFBTSxPQUFnQixXQUFXO0lBMEIvQixZQUNTLEVBQWMsRUFDZCxFQUFxQixFQUNyQixJQUFZLEVBQ1QsV0FBOEI7UUFIakMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDVCxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUE3QmpDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7UUFDdEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFDOUMsZUFBVSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELG1CQUFjLEdBQXNDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkUsaUJBQVksR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSxrQkFBYSxHQUFzQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RFLDBCQUFxQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JGLHlCQUFvQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlGLGNBQVMsR0FBMEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ1QsTUFBTSxDQUFD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QUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7b0JBQ3BGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRW5DLE1BQU0sYUFBYSxHQUF3QixDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDaEYsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO29CQUNmLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FDRixDQUFDO2dCQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbEhtQixXQUFXO21HQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRGhDLFNBQVM7eUpBS0UsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIGNvbXB1dGVkLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWZmZWN0UmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGlucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEdlb01hcEVkaXRpbmdTZXNzaW9uLFxuICBHZW9NYXBJdGVtLFxuICBHZW9NYXBJdGVtS2luZCxcbiAgR2VvTWFwTW9kZWwsXG4gIEdlb01hcE9wZXJhdGlvbk1vZGUsXG59IGZyb20gJy4vYXBpJztcbmltcG9ydCB7XG4gIE1hcENsaWNrZWRFdmVudCxcbiAgTWFwRHJhZ2dlZEV2ZW50LFxuICBNYXBFZGl0aW5nSXRlbUNsaWNrZWRFdmVudCxcbiAgTWFwRWRpdGluZ0l0ZW1EcmFnZ2VkRXZlbnQsXG4gIE1hcEl0ZW1DbGlja2VkRXZlbnQsXG4gIE1hcEl0ZW1Db25maWd1cmF0aW9uLFxuICBNYXBab29tQ2hhbmdlZEV2ZW50LFxufSBmcm9tICcuL3NtYXJ0LW1hcC50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkV2l0aElkIHtcbiAgaWQ6IHN0cmluZztcbiAgcmVjb3JkOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEdlb01hcEl0ZW1GYWN0b3J5ID0gKGl0OiBHZW9NYXBJdGVtLCBjb25maWc6IE1hcEl0ZW1Db25maWd1cmF0aW9uKSA9PiBhbnk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TWFwIHtcbiAgcmVhZG9ubHkgbW9kZWwgPSBpbnB1dC5yZXF1aXJlZDxHZW9NYXBNb2RlbD4oKTtcbiAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dC5yZXF1aXJlZDxBcnJheTxHZW9NYXBJdGVtPj4oKTtcbiAgcmVhZG9ubHkgZWRpdGluZ1Nlc3Npb24gPSBpbnB1dDxHZW9NYXBFZGl0aW5nU2Vzc2lvbj4oKTtcbiAgQE91dHB1dCgpIG9uTWFwQ2xpY2s6IEV2ZW50RW1pdHRlcjxNYXBDbGlja2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25PdmVybGF5Q2xpY2s6IEV2ZW50RW1pdHRlcjxNYXBJdGVtQ2xpY2tlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uTWFwRHJhZ0VuZDogRXZlbnRFbWl0dGVyPE1hcERyYWdnZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblpvb21DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8TWFwWm9vbUNoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkVkaXRpbmdPdmVybGF5Q2xpY2s6IEV2ZW50RW1pdHRlcjxNYXBFZGl0aW5nSXRlbUNsaWNrZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkVkaXRpbmdPdmVybGF5RHJhZzogRXZlbnRFbWl0dGVyPE1hcEVkaXRpbmdJdGVtRHJhZ2dlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzZWxlY3Rpb246IFNpZ25hbDxBcnJheTxzdHJpbmc+PiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pdGVtcygpXG4gICAgICAuZmlsdGVyKChpdCkgPT4gISFpdC5zZWxlY3RlZClcbiAgICAgIC5tYXAoKGl0KSA9PiBpdC5pZCEpXG4gICk7XG5cbiAgb3BlcmF0aW9uTW9kZTogU2lnbmFsPEdlb01hcE9wZXJhdGlvbk1vZGU+ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5tb2RlbCgpLnZpZXdTdGF0ZT8ub3BlcmF0aW9uTW9kZSA/PyBHZW9NYXBPcGVyYXRpb25Nb2RlLkFDVElPTlxuICApO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBvdmVybGF5czogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRpbmdPdmVybGF5czogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uSXRlbXNDaGFuZ2VkOiBFZmZlY3RSZWYgPSB0aGlzLmluaXRDaGFuZ2VFZmZlY3QoKTtcbiAgbWFwOiBhbnk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyB6b25lOiBOZ1pvbmUsXG4gICAgcHJvdGVjdGVkIGl0ZW1GYWN0b3J5OiBHZW9NYXBJdGVtRmFjdG9yeVxuICApIHt9XG5cbiAgcHJpdmF0ZSBpbml0Q2hhbmdlRWZmZWN0KCk6IEVmZmVjdFJlZiB7XG4gICAgcmV0dXJuIGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcbiAgICAgIGNvbnN0IGVkaXRpbmdTZXNzaW9uID0gdGhpcy5lZGl0aW5nU2Vzc2lvbigpO1xuICAgICAgY29uc3QgcHJlc2VudCA9IG5ldyBTZXQodGhpcy5vdmVybGF5cy5rZXlzKCkpO1xuICAgICAgY29uc3QgZWRpdGluZ1ByZXNlbnQgPSBuZXcgU2V0KHRoaXMuZWRpdGluZ092ZXJsYXlzLmtleXMoKSk7XG5cbiAgICAgIGNvbnN0IHRvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XG4gICAgICBjb25zdCB0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiA9IFtdO1xuXG4gICAgICBjb25zdCBlZGl0aW5nVG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD4gPSBbXTtcbiAgICAgIGNvbnN0IGVkaXRpbmd0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiA9IFtdO1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmICghaXRlbS5pZCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZXNlbnQuaGFzKGl0ZW0uaWQpKSB7XG4gICAgICAgICAgcHJlc2VudC5kZWxldGUoaXRlbS5pZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdG9BZGQucHVzaCh7XG4gICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgIHJlY29yZDogdGhpcy5pdGVtRmFjdG9yeShpdGVtLCB7IGNvbG9yOiAnIzMzODhmZicsIGRyYWdnYWJsZTogZmFsc2UgfSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHJlc2VudC5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICBjb25zdCByZWNvcmQgPSB0aGlzLm92ZXJsYXlzLmdldChpZCk7XG4gICAgICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9SZW1vdmUucHVzaCh7IGlkLCByZWNvcmQgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5oYW5kbGVJdGVtQ2hhbmdlcyh0b1JlbW92ZSwgdG9BZGQpO1xuXG4gICAgICBpZiAoZWRpdGluZ1Nlc3Npb24pIHtcbiAgICAgICAgZWRpdGluZ1Nlc3Npb24ucGVuZGluZ0l0ZW1zO1xuICAgICAgICBjb25zdCBwZW5kaW5nVmFsdWVzID0gdGhpcy5tb2RlbCgpPy52aWV3U3RhdGU/LmVkaXRpbmdTZXNzaW9uPy5wZW5kaW5nSXRlbXMhO1xuICAgICAgICBjb25zdCBmaXJzdEtleSA9IE9iamVjdC5rZXlzKHBlbmRpbmdWYWx1ZXMpWzBdO1xuICAgICAgICBjb25zdCBwZW5kaW5nSXRlbXMgPSBwZW5kaW5nVmFsdWVzW2ZpcnN0S2V5XTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHBlbmRpbmdJdGVtc1swXS5yb3V0ZSAhPSBudWxsICYmXG4gICAgICAgICAgICBwZW5kaW5nSXRlbXNbMF0ucm91dGUucG9pbnRzICE9IG51bGwgJiZcbiAgICAgICAgICAgIHBlbmRpbmdJdGVtc1swXS5yb3V0ZS5wb2ludHMubGVuZ3RoID4gMCkgfHxcbiAgICAgICAgICAocGVuZGluZ0l0ZW1zWzBdLnBvc2l0aW9uICE9IG51bGwgJiYgcGVuZGluZ0l0ZW1zWzBdLnBvc2l0aW9uLmxhdGl0dWRlICE9IG51bGwpXG4gICAgICAgICkge1xuICAgICAgICAgIGVkaXRpbmdUb0FkZC5wdXNoKHtcbiAgICAgICAgICAgIGlkOiBwZW5kaW5nSXRlbXNbMF0uaWQhLFxuICAgICAgICAgICAgcmVjb3JkOiB0aGlzLml0ZW1GYWN0b3J5KHBlbmRpbmdJdGVtc1swXSwgeyBjb2xvcjogJyNmZjAwMDAnLCBkcmFnZ2FibGU6IHRydWUgfSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBlZGl0aW5nUHJlc2VudC5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHRoaXMuZWRpdGluZ092ZXJsYXlzLmdldChpZCk7XG4gICAgICAgICAgaWYgKCFyZWNvcmQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlZGl0aW5ndG9SZW1vdmUucHVzaCh7IGlkLCByZWNvcmQgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhlZGl0aW5ndG9SZW1vdmUsIGVkaXRpbmdUb0FkZCk7XG4gICAgICB9XG5cbiAgICAgIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiA9IFsuLi50aGlzLm92ZXJsYXlzLmVudHJpZXMoKV0ubWFwKChbaWQsIHJlY29yZF0pID0+IHtcbiAgICAgICAgICByZXR1cm4geyBpZCwgcmVjb3JkIH07XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhhbmRsZUl0ZW1DaGFuZ2VzKHJlbW92ZSwgW10pO1xuXG4gICAgICAgIGNvbnN0IGVkaXRpbmdSZW1vdmU6IEFycmF5PFJlY29yZFdpdGhJZD4gPSBbLi4udGhpcy5lZGl0aW5nT3ZlcmxheXMuZW50cmllcygpXS5tYXAoXG4gICAgICAgICAgKFtpZCwgcmVjb3JkXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgaWQsIHJlY29yZCB9O1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5oYW5kbGVFZGl0aW5nSXRlbUNoYW5nZXMoZWRpdGluZ1JlbW92ZSwgW10pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhYnN0cmFjdCBoYW5kbGVJdGVtQ2hhbmdlcyh0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiwgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD4pOiB2b2lkO1xuXG4gIGFic3RyYWN0IGhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhcbiAgICB0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPixcbiAgICB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPlxuICApOiB2b2lkO1xuXG4gIGFic3RyYWN0IHRvQmFzZTY0KCk6IFByb21pc2U8c3RyaW5nPjtcbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL2Fic3RyYWN0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBR04sWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUtMLG1CQUFtQixHQUNwQixNQUFNLE9BQU8sQ0FBQzs7QUFtQmYsTUFBTSxPQUFnQixXQUFXO0lBMEIvQixZQUNTLEVBQWMsRUFDZCxFQUFxQixFQUNyQixJQUFZLEVBQ1QsV0FBOEI7UUFIakMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDVCxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUE3QmpDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7UUFDdEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFDOUMsZUFBVSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELG1CQUFjLEdBQXNDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkUsaUJBQVksR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSxrQkFBYSxHQUFzQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RFLDBCQUFxQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JGLHlCQUFvQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlGLGNBQVMsR0FBMEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ1QsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUM3QixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUMsQ0FDdkIsQ0FBQztRQUVGLGtCQUFhLEdBQWdDLFFBQVEsQ0FDbkQsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxhQUFhLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUMxRSxDQUFDO1FBRWlCLGFBQVEsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxvQkFBZSxHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlDLG1CQUFjLEdBQWMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFRcEUsQ0FBQztJQUVJLGdCQUFnQjtRQUN0QixPQUFPLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUU1RCxNQUFNLEtBQUssR0FBd0IsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sUUFBUSxHQUF3QixFQUFFLENBQUM7WUFFekMsTUFBTSxZQUFZLEdBQXdCLEVBQUUsQ0FBQztZQUM3QyxNQUFNLGVBQWUsR0FBd0IsRUFBRSxDQUFDO1lBQ2hELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ2IsU0FBUztnQkFDWCxDQUFDO2dCQUVELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixLQUFLLENBQUMsSUFBSSxDQUFDO3dCQUNULEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTt3QkFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztxQkFDdkUsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNaLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXhDLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLGNBQWMsQ0FBQyxZQUFZLENBQUM7Z0JBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFlBQWEsQ0FBQztnQkFDN0UsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUU3QyxJQUNFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJO29CQUM1QixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJO29CQUNwQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUMxQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxFQUMvRSxDQUFDO29CQUNELFlBQVksQ0FBQyxJQUFJLENBQUM7d0JBQ2hCLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRzt3QkFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7cUJBQ2pGLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUVELGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDWixPQUFPO29CQUNULENBQUM7b0JBRUQsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQy9ELENBQUM7WUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNiLE1BQU0sTUFBTSxHQUF3QixDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7b0JBQ3BGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRW5DLE1BQU0sYUFBYSxHQUF3QixDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDaEYsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO29CQUNmLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FDRixDQUFDO2dCQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbEhtQixXQUFXO21HQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRGhDLFNBQVM7eUpBS0UsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBjb21wdXRlZCxcclxuICBEaXJlY3RpdmUsXHJcbiAgZWZmZWN0LFxyXG4gIEVmZmVjdFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT3V0cHV0LFxyXG4gIFNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBHZW9NYXBFZGl0aW5nU2Vzc2lvbixcclxuICBHZW9NYXBJdGVtLFxyXG4gIEdlb01hcEl0ZW1LaW5kLFxyXG4gIEdlb01hcE1vZGVsLFxyXG4gIEdlb01hcE9wZXJhdGlvbk1vZGUsXHJcbn0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQge1xyXG4gIE1hcENsaWNrZWRFdmVudCxcclxuICBNYXBEcmFnZ2VkRXZlbnQsXHJcbiAgTWFwRWRpdGluZ0l0ZW1DbGlja2VkRXZlbnQsXHJcbiAgTWFwRWRpdGluZ0l0ZW1EcmFnZ2VkRXZlbnQsXHJcbiAgTWFwSXRlbUNsaWNrZWRFdmVudCxcclxuICBNYXBJdGVtQ29uZmlndXJhdGlvbixcclxuICBNYXBab29tQ2hhbmdlZEV2ZW50LFxyXG59IGZyb20gJy4vc21hcnQtbWFwLnR5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkV2l0aElkIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHJlY29yZDogYW55O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHZW9NYXBJdGVtRmFjdG9yeSA9IChpdDogR2VvTWFwSXRlbSwgY29uZmlnOiBNYXBJdGVtQ29uZmlndXJhdGlvbikgPT4gYW55O1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1hcCB7XHJcbiAgcmVhZG9ubHkgbW9kZWwgPSBpbnB1dC5yZXF1aXJlZDxHZW9NYXBNb2RlbD4oKTtcclxuICByZWFkb25seSBpdGVtcyA9IGlucHV0LnJlcXVpcmVkPEFycmF5PEdlb01hcEl0ZW0+PigpO1xyXG4gIHJlYWRvbmx5IGVkaXRpbmdTZXNzaW9uID0gaW5wdXQ8R2VvTWFwRWRpdGluZ1Nlc3Npb24+KCk7XHJcbiAgQE91dHB1dCgpIG9uTWFwQ2xpY2s6IEV2ZW50RW1pdHRlcjxNYXBDbGlja2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk92ZXJsYXlDbGljazogRXZlbnRFbWl0dGVyPE1hcEl0ZW1DbGlja2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1hcERyYWdFbmQ6IEV2ZW50RW1pdHRlcjxNYXBEcmFnZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblpvb21DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8TWFwWm9vbUNoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRWRpdGluZ092ZXJsYXlDbGljazogRXZlbnRFbWl0dGVyPE1hcEVkaXRpbmdJdGVtQ2xpY2tlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25FZGl0aW5nT3ZlcmxheURyYWc6IEV2ZW50RW1pdHRlcjxNYXBFZGl0aW5nSXRlbURyYWdnZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHNlbGVjdGlvbjogU2lnbmFsPEFycmF5PHN0cmluZz4+ID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIHRoaXMuaXRlbXMoKVxyXG4gICAgICAuZmlsdGVyKChpdCkgPT4gISFpdC5zZWxlY3RlZClcclxuICAgICAgLm1hcCgoaXQpID0+IGl0LmlkISlcclxuICApO1xyXG5cclxuICBvcGVyYXRpb25Nb2RlOiBTaWduYWw8R2VvTWFwT3BlcmF0aW9uTW9kZT4gPSBjb21wdXRlZChcclxuICAgICgpID0+IHRoaXMubW9kZWwoKS52aWV3U3RhdGU/Lm9wZXJhdGlvbk1vZGUgPz8gR2VvTWFwT3BlcmF0aW9uTW9kZS5BQ1RJT05cclxuICApO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3ZlcmxheXM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRpbmdPdmVybGF5czogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb25JdGVtc0NoYW5nZWQ6IEVmZmVjdFJlZiA9IHRoaXMuaW5pdENoYW5nZUVmZmVjdCgpO1xyXG4gIG1hcDogYW55O1xyXG5cclxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHpvbmU6IE5nWm9uZSxcclxuICAgIHByb3RlY3RlZCBpdGVtRmFjdG9yeTogR2VvTWFwSXRlbUZhY3RvcnlcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgaW5pdENoYW5nZUVmZmVjdCgpOiBFZmZlY3RSZWYge1xyXG4gICAgcmV0dXJuIGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcygpO1xyXG4gICAgICBjb25zdCBlZGl0aW5nU2Vzc2lvbiA9IHRoaXMuZWRpdGluZ1Nlc3Npb24oKTtcclxuICAgICAgY29uc3QgcHJlc2VudCA9IG5ldyBTZXQodGhpcy5vdmVybGF5cy5rZXlzKCkpO1xyXG4gICAgICBjb25zdCBlZGl0aW5nUHJlc2VudCA9IG5ldyBTZXQodGhpcy5lZGl0aW5nT3ZlcmxheXMua2V5cygpKTtcclxuXHJcbiAgICAgIGNvbnN0IHRvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XHJcbiAgICAgIGNvbnN0IHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XHJcblxyXG4gICAgICBjb25zdCBlZGl0aW5nVG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD4gPSBbXTtcclxuICAgICAgY29uc3QgZWRpdGluZ3RvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xyXG4gICAgICAgIGlmICghaXRlbS5pZCkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocHJlc2VudC5oYXMoaXRlbS5pZCkpIHtcclxuICAgICAgICAgIHByZXNlbnQuZGVsZXRlKGl0ZW0uaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0b0FkZC5wdXNoKHtcclxuICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgIHJlY29yZDogdGhpcy5pdGVtRmFjdG9yeShpdGVtLCB7IGNvbG9yOiAnIzMzODhmZicsIGRyYWdnYWJsZTogZmFsc2UgfSksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHByZXNlbnQuZm9yRWFjaCgoaWQpID0+IHtcclxuICAgICAgICBjb25zdCByZWNvcmQgPSB0aGlzLm92ZXJsYXlzLmdldChpZCk7XHJcbiAgICAgICAgaWYgKCFyZWNvcmQpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRvUmVtb3ZlLnB1c2goeyBpZCwgcmVjb3JkIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZXModG9SZW1vdmUsIHRvQWRkKTtcclxuXHJcbiAgICAgIGlmIChlZGl0aW5nU2Vzc2lvbikge1xyXG4gICAgICAgIGVkaXRpbmdTZXNzaW9uLnBlbmRpbmdJdGVtcztcclxuICAgICAgICBjb25zdCBwZW5kaW5nVmFsdWVzID0gdGhpcy5tb2RlbCgpPy52aWV3U3RhdGU/LmVkaXRpbmdTZXNzaW9uPy5wZW5kaW5nSXRlbXMhO1xyXG4gICAgICAgIGNvbnN0IGZpcnN0S2V5ID0gT2JqZWN0LmtleXMocGVuZGluZ1ZhbHVlcylbMF07XHJcbiAgICAgICAgY29uc3QgcGVuZGluZ0l0ZW1zID0gcGVuZGluZ1ZhbHVlc1tmaXJzdEtleV07XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIChwZW5kaW5nSXRlbXNbMF0ucm91dGUgIT0gbnVsbCAmJlxyXG4gICAgICAgICAgICBwZW5kaW5nSXRlbXNbMF0ucm91dGUucG9pbnRzICE9IG51bGwgJiZcclxuICAgICAgICAgICAgcGVuZGluZ0l0ZW1zWzBdLnJvdXRlLnBvaW50cy5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgICAgKHBlbmRpbmdJdGVtc1swXS5wb3NpdGlvbiAhPSBudWxsICYmIHBlbmRpbmdJdGVtc1swXS5wb3NpdGlvbi5sYXRpdHVkZSAhPSBudWxsKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZWRpdGluZ1RvQWRkLnB1c2goe1xyXG4gICAgICAgICAgICBpZDogcGVuZGluZ0l0ZW1zWzBdLmlkISxcclxuICAgICAgICAgICAgcmVjb3JkOiB0aGlzLml0ZW1GYWN0b3J5KHBlbmRpbmdJdGVtc1swXSwgeyBjb2xvcjogJyNmZjAwMDAnLCBkcmFnZ2FibGU6IHRydWUgfSksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVkaXRpbmdQcmVzZW50LmZvckVhY2goKGlkKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSB0aGlzLmVkaXRpbmdPdmVybGF5cy5nZXQoaWQpO1xyXG4gICAgICAgICAgaWYgKCFyZWNvcmQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGVkaXRpbmd0b1JlbW92ZS5wdXNoKHsgaWQsIHJlY29yZCB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhlZGl0aW5ndG9SZW1vdmUsIGVkaXRpbmdUb0FkZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG9uQ2xlYW51cCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gWy4uLnRoaXMub3ZlcmxheXMuZW50cmllcygpXS5tYXAoKFtpZCwgcmVjb3JkXSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHsgaWQsIHJlY29yZCB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZXMocmVtb3ZlLCBbXSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGVkaXRpbmdSZW1vdmU6IEFycmF5PFJlY29yZFdpdGhJZD4gPSBbLi4udGhpcy5lZGl0aW5nT3ZlcmxheXMuZW50cmllcygpXS5tYXAoXHJcbiAgICAgICAgICAoW2lkLCByZWNvcmRdKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGlkLCByZWNvcmQgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRWRpdGluZ0l0ZW1DaGFuZ2VzKGVkaXRpbmdSZW1vdmUsIFtdKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IGhhbmRsZUl0ZW1DaGFuZ2VzKHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPik6IHZvaWQ7XHJcblxyXG4gIGFic3RyYWN0IGhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhcclxuICAgIHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LFxyXG4gICAgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD5cclxuICApOiB2b2lkO1xyXG5cclxuICBhYnN0cmFjdCB0b0Jhc2U2NCgpOiBQcm9taXNlPHN0cmluZz47XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
1
  export * from './geoMap.service';
2
2
  import { GeoMapService } from './geoMap.service';
3
3
  export const APIS = [GeoMapService];
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL2FwaS9hcGkvYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW9NYXAuc2VydmljZSc7XG5pbXBvcnQgeyBHZW9NYXBTZXJ2aWNlIH0gZnJvbSAnLi9nZW9NYXAuc2VydmljZSc7XG5leHBvcnQgY29uc3QgQVBJUyA9IFtHZW9NYXBTZXJ2aWNlXTtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL2FwaS9hcGkvYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW9NYXAuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlb01hcFNlcnZpY2UgfSBmcm9tICcuL2dlb01hcC5zZXJ2aWNlJztcclxuZXhwb3J0IGNvbnN0IEFQSVMgPSBbR2VvTWFwU2VydmljZV07XHJcbiJdfQ==
@@ -309,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
309
309
  }] }, { type: i2.Configuration, decorators: [{
310
310
  type: Optional
311
311
  }] }] });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvTWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1tYXAvYXBpL2FwaS9nZW9NYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUEyQixlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFjLFdBQVcsRUFDc0IsV0FBVyxFQUN4RCxNQUFZLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUErQixZQUFZLENBQUM7QUFnQi9FLGFBQWE7QUFDYixPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUEwQixjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUEwQyxrQkFBa0IsQ0FBQzs7OztBQU9yRixNQUFNLE9BQU8sYUFBYTtJQU90QixZQUFzQixVQUFzQixFQUFnQyxRQUF5QixFQUFjLGFBQTRCO1FBQXpILGVBQVUsR0FBVixVQUFVLENBQVk7UUFMbEMsYUFBUSxHQUFHLGtCQUFrQixDQUFDO1FBQ2pDLG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFJdkMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxRQUFRLEdBQUcsUUFB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WUFDbkQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQzsrR0E3VlEsYUFBYSw0Q0FPMkMsU0FBUzttSEFQakUsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRa0QsUUFBUTs7MEJBQUcsTUFBTTsyQkFBQyxTQUFTOzswQkFBOEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VvTWFwIGFwaVxuICogVGhlIGdlb21hcCBhcGkgaXMgcmVzcG9zaWJsZSBmb3IgdGhlIGdlb21hcCBjb21wb25lbnRzIHRoYXQgc2hvd3MgYSBsaXN0IG9mIGl0ZW0uIFxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbi8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsXG4gICAgICAgICBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cFBhcmFtZXRlckNvZGVjLCBIdHRwQ29udGV4dCBcbiAgICAgICAgfSAgICAgICBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMgfSAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vZW5jb2Rlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEdlb01hcENoYW5nZSB9IGZyb20gJy4uL21vZGVsL2dlb01hcENoYW5nZSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBHZW9NYXBJbnRlcmFjdGlvbiB9IGZyb20gJy4uL21vZGVsL2dlb01hcEludGVyYWN0aW9uJztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEdlb01hcE1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvZ2VvTWFwTW9kZWwnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgR2VvTWFwVmlld1N0YXRlIH0gZnJvbSAnLi4vbW9kZWwvZ2VvTWFwVmlld1N0YXRlJztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEdlb01hcFZpZXdwb3J0IH0gZnJvbSAnLi4vbW9kZWwvZ2VvTWFwVmlld3BvcnQnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgVmlld0NvbnRleHRDaGFuZ2UgfSBmcm9tICcuLi8uLi8uLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3ZpZXdDb250ZXh0Q2hhbmdlJztcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHZW9NYXBTZXJ2aWNlIHtcblxuICAgIHByb3RlY3RlZCBiYXNlUGF0aCA9ICdodHRwOi8vbG9jYWxob3N0JztcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG4gICAgcHVibGljIGVuY29kZXI6IEh0dHBQYXJhbWV0ZXJDb2RlYztcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nfHN0cmluZ1tdLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYmFzZVBhdGgpICYmIGJhc2VQYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBiYXNlUGF0aCA9IGJhc2VQYXRoWzBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGJhc2VQYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGJhc2VQYXRoID0gdGhpcy5iYXNlUGF0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW5jb2RlciA9IHRoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVyIHx8IG5ldyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMoKTtcbiAgICB9XG5cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtcyhodHRwUGFyYW1zOiBIdHRwUGFyYW1zLCB2YWx1ZTogYW55LCBrZXk/OiBzdHJpbmcpOiBIdHRwUGFyYW1zIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIHZhbHVlLCBrZXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBodHRwUGFyYW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXM6IEh0dHBQYXJhbXMsIHZhbHVlPzogYW55LCBrZXk/OiBzdHJpbmcpOiBIdHRwUGFyYW1zIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBodHRwUGFyYW1zO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgKHZhbHVlIGFzIGFueVtdKS5mb3JFYWNoKCBlbGVtID0+IGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCBlbGVtLCBrZXkpKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChrZXksICh2YWx1ZSBhcyBEYXRlKS50b0lTT1N0cmluZygpLnN1YnN0cigwLCAxMCkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIERhdGVcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaCggayA9PiBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoXG4gICAgICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMsIHZhbHVlW2tdLCBrZXkgIT0gbnVsbCA/IGAke2tleX0uJHtrfWAgOiBrKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwia2V5IG1heSBub3QgYmUgbnVsbCBpZiB2YWx1ZSBpcyBub3Qgb2JqZWN0IG9yIGFycmF5XCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBodHRwUGFyYW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB1dWlkIFxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFxuICAgICAqIEBwYXJhbSBnZW9NYXBJbnRlcmFjdGlvbiBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJhY3QodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcEludGVyYWN0aW9uOiBHZW9NYXBJbnRlcmFjdGlvbiwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPFZpZXdDb250ZXh0Q2hhbmdlPjtcbiAgICBwdWJsaWMgaW50ZXJhY3QodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcEludGVyYWN0aW9uOiBHZW9NYXBJbnRlcmFjdGlvbiwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Vmlld0NvbnRleHRDaGFuZ2U+PjtcbiAgICBwdWJsaWMgaW50ZXJhY3QodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcEludGVyYWN0aW9uOiBHZW9NYXBJbnRlcmFjdGlvbiwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PFZpZXdDb250ZXh0Q2hhbmdlPj47XG4gICAgcHVibGljIGludGVyYWN0KHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBJbnRlcmFjdGlvbjogR2VvTWFwSW50ZXJhY3Rpb24sIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKHV1aWQgPT09IG51bGwgfHwgdXVpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciB1dWlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgaW50ZXJhY3QuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlkZW50aWZpZXIgPT09IG51bGwgfHwgaWRlbnRpZmllciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZGVudGlmaWVyIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgaW50ZXJhY3QuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGdlb01hcEludGVyYWN0aW9uID09PSBudWxsIHx8IGdlb01hcEludGVyYWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGdlb01hcEludGVyYWN0aW9uIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgaW50ZXJhY3QuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9nZW9tYXAvJHt0aGlzLmNvbmZpZ3VyYXRpb24uZW5jb2RlUGFyYW0oe25hbWU6IFwidXVpZFwiLCB2YWx1ZTogdXVpZCwgaW46IFwicGF0aFwiLCBzdHlsZTogXCJzaW1wbGVcIiwgZXhwbG9kZTogZmFsc2UsIGRhdGFUeXBlOiBcInN0cmluZ1wiLCBkYXRhRm9ybWF0OiBcInV1aWRcIn0pfS8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7bmFtZTogXCJpZGVudGlmaWVyXCIsIHZhbHVlOiBpZGVudGlmaWVyLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwic3RyaW5nXCIsIGRhdGFGb3JtYXQ6IHVuZGVmaW5lZH0pfS9pbnRlcmFjdGA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxWaWV3Q29udGV4dENoYW5nZT4oJ3Bvc3QnLCBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgICAgICAgICAgIGJvZHk6IGdlb01hcEludGVyYWN0aW9uLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gdXVpZCBcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZCh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEdlb01hcE1vZGVsPjtcbiAgICBwdWJsaWMgbG9hZCh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8R2VvTWFwTW9kZWw+PjtcbiAgICBwdWJsaWMgbG9hZCh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEdlb01hcE1vZGVsPj47XG4gICAgcHVibGljIGxvYWQodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKHV1aWQgPT09IG51bGwgfHwgdXVpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciB1dWlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgbG9hZC4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaWRlbnRpZmllciA9PT0gbnVsbCB8fCBpZGVudGlmaWVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkZW50aWZpZXIgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBsb2FkLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuaHR0cEhlYWRlckFjY2VwdDtcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5jb250ZXh0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwQ29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2NhbFZhckh0dHBDb250ZXh0ID0gbmV3IEh0dHBDb250ZXh0KCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9nZW9tYXAvJHt0aGlzLmNvbmZpZ3VyYXRpb24uZW5jb2RlUGFyYW0oe25hbWU6IFwidXVpZFwiLCB2YWx1ZTogdXVpZCwgaW46IFwicGF0aFwiLCBzdHlsZTogXCJzaW1wbGVcIiwgZXhwbG9kZTogZmFsc2UsIGRhdGFUeXBlOiBcInN0cmluZ1wiLCBkYXRhRm9ybWF0OiBcInV1aWRcIn0pfS8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7bmFtZTogXCJpZGVudGlmaWVyXCIsIHZhbHVlOiBpZGVudGlmaWVyLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwic3RyaW5nXCIsIGRhdGFGb3JtYXQ6IHVuZGVmaW5lZH0pfS9sb2FkYDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEdlb01hcE1vZGVsPigncG9zdCcsIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB1dWlkIFxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFxuICAgICAqIEBwYXJhbSBnZW9NYXBWaWV3cG9ydCBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbW92ZSh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgZ2VvTWFwVmlld3BvcnQ6IEdlb01hcFZpZXdwb3J0LCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8R2VvTWFwQ2hhbmdlPjtcbiAgICBwdWJsaWMgbW92ZSh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgZ2VvTWFwVmlld3BvcnQ6IEdlb01hcFZpZXdwb3J0LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxHZW9NYXBDaGFuZ2U+PjtcbiAgICBwdWJsaWMgbW92ZSh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgZ2VvTWFwVmlld3BvcnQ6IEdlb01hcFZpZXdwb3J0LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8R2VvTWFwQ2hhbmdlPj47XG4gICAgcHVibGljIG1vdmUodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcFZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodXVpZCA9PT0gbnVsbCB8fCB1dWlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIHV1aWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBtb3ZlLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpZGVudGlmaWVyID09PSBudWxsIHx8IGlkZW50aWZpZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWRlbnRpZmllciB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIG1vdmUuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGdlb01hcFZpZXdwb3J0ID09PSBudWxsIHx8IGdlb01hcFZpZXdwb3J0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGdlb01hcFZpZXdwb3J0IHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgbW92ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIGxldCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmh0dHBIZWFkZXJBY2NlcHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KCdBY2NlcHQnLCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuY29udGV4dDtcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cENvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwQ29udGV4dCA9IG5ldyBIdHRwQ29udGV4dCgpO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlVHlwZV86ICd0ZXh0JyB8ICdqc29uJyB8ICdibG9iJyA9ICdqc29uJztcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aCgndGV4dCcpKSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICd0ZXh0JztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdibG9iJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2dvZW1hcC8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7bmFtZTogXCJ1dWlkXCIsIHZhbHVlOiB1dWlkLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwic3RyaW5nXCIsIGRhdGFGb3JtYXQ6IFwidXVpZFwifSl9LyR7dGhpcy5jb25maWd1cmF0aW9uLmVuY29kZVBhcmFtKHtuYW1lOiBcImlkZW50aWZpZXJcIiwgdmFsdWU6IGlkZW50aWZpZXIsIGluOiBcInBhdGhcIiwgc3R5bGU6IFwic2ltcGxlXCIsIGV4cGxvZGU6IGZhbHNlLCBkYXRhVHlwZTogXCJzdHJpbmdcIiwgZGF0YUZvcm1hdDogdW5kZWZpbmVkfSl9L21vdmVgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8R2VvTWFwQ2hhbmdlPigncG9zdCcsIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgICAgICAgICAgYm9keTogZ2VvTWFwVmlld3BvcnQsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB1dWlkIFxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFxuICAgICAqIEBwYXJhbSBnZW9NYXBWaWV3U3RhdGUgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZSh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgZ2VvTWFwVmlld1N0YXRlOiBHZW9NYXBWaWV3U3RhdGUsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxHZW9NYXBDaGFuZ2U+O1xuICAgIHB1YmxpYyB1cGRhdGUodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcFZpZXdTdGF0ZTogR2VvTWFwVmlld1N0YXRlLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxHZW9NYXBDaGFuZ2U+PjtcbiAgICBwdWJsaWMgdXBkYXRlKHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBWaWV3U3RhdGU6IEdlb01hcFZpZXdTdGF0ZSwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEdlb01hcENoYW5nZT4+O1xuICAgIHB1YmxpYyB1cGRhdGUodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcFZpZXdTdGF0ZTogR2VvTWFwVmlld1N0YXRlLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICh1dWlkID09PSBudWxsIHx8IHV1aWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgdXVpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZS4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaWRlbnRpZmllciA9PT0gbnVsbCB8fCBpZGVudGlmaWVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkZW50aWZpZXIgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyB1cGRhdGUuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGdlb01hcFZpZXdTdGF0ZSA9PT0gbnVsbCB8fCBnZW9NYXBWaWV3U3RhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgZ2VvTWFwVmlld1N0YXRlIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgdXBkYXRlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuaHR0cEhlYWRlckFjY2VwdDtcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5jb250ZXh0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwQ29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2NhbFZhckh0dHBDb250ZXh0ID0gbmV3IEh0dHBDb250ZXh0KCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZC5zdGFydHNXaXRoKCd0ZXh0JykpIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2pzb24nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2Jsb2InO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZ2VvbWFwLyR7dGhpcy5jb25maWd1cmF0aW9uLmVuY29kZVBhcmFtKHtuYW1lOiBcInV1aWRcIiwgdmFsdWU6IHV1aWQsIGluOiBcInBhdGhcIiwgc3R5bGU6IFwic2ltcGxlXCIsIGV4cGxvZGU6IGZhbHNlLCBkYXRhVHlwZTogXCJzdHJpbmdcIiwgZGF0YUZvcm1hdDogXCJ1dWlkXCJ9KX0vJHt0aGlzLmNvbmZpZ3VyYXRpb24uZW5jb2RlUGFyYW0oe25hbWU6IFwiaWRlbnRpZmllclwiLCB2YWx1ZTogaWRlbnRpZmllciwgaW46IFwicGF0aFwiLCBzdHlsZTogXCJzaW1wbGVcIiwgZXhwbG9kZTogZmFsc2UsIGRhdGFUeXBlOiBcInN0cmluZ1wiLCBkYXRhRm9ybWF0OiB1bmRlZmluZWR9KX0vdXBkYXRlYDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEdlb01hcENoYW5nZT4oJ3Bvc3QnLCBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgICAgICAgICAgIGJvZHk6IGdlb01hcFZpZXdTdGF0ZSxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvTWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1tYXAvYXBpL2FwaS9nZW9NYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUEyQixlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFjLFdBQVcsRUFDc0IsV0FBVyxFQUN4RCxNQUFZLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUErQixZQUFZLENBQUM7QUFnQi9FLGFBQWE7QUFDYixPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUEwQixjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUEwQyxrQkFBa0IsQ0FBQzs7OztBQU9yRixNQUFNLE9BQU8sYUFBYTtJQU90QixZQUFzQixVQUFzQixFQUFnQyxRQUF5QixFQUFjLGFBQTRCO1FBQXpILGVBQVUsR0FBVixVQUFVLENBQVk7UUFMbEMsYUFBUSxHQUFHLGtCQUFrQixDQUFDO1FBQ2pDLG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFJdkMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxRQUFRLEdBQUcsUUFB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WUFDbkQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQzsrR0E3VlEsYUFBYSw0Q0FPMkMsU0FBUzttSEFQakUsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRa0QsUUFBUTs7MEJBQUcsTUFBTTsyQkFBQyxTQUFTOzswQkFBOEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBHZW9NYXAgYXBpXHJcbiAqIFRoZSBnZW9tYXAgYXBpIGlzIHJlc3Bvc2libGUgZm9yIHRoZSBnZW9tYXAgY29tcG9uZW50cyB0aGF0IHNob3dzIGEgbGlzdCBvZiBpdGVtLiBcclxuICpcclxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDEuMC4wXHJcbiAqIENvbnRhY3Q6IGluZm9AaXQ0YWxsLmh1XHJcbiAqXHJcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXHJcbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxyXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXHJcbiAqL1xyXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxyXG4gICAgICAgICBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cFBhcmFtZXRlckNvZGVjLCBIdHRwQ29udGV4dCBcclxuICAgICAgICB9ICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XHJcblxyXG4vLyBAdHMtaWdub3JlXHJcbmltcG9ydCB7IEdlb01hcENoYW5nZSB9IGZyb20gJy4uL21vZGVsL2dlb01hcENoYW5nZSc7XHJcbi8vIEB0cy1pZ25vcmVcclxuaW1wb3J0IHsgR2VvTWFwSW50ZXJhY3Rpb24gfSBmcm9tICcuLi9tb2RlbC9nZW9NYXBJbnRlcmFjdGlvbic7XHJcbi8vIEB0cy1pZ25vcmVcclxuaW1wb3J0IHsgR2VvTWFwTW9kZWwgfSBmcm9tICcuLi9tb2RlbC9nZW9NYXBNb2RlbCc7XHJcbi8vIEB0cy1pZ25vcmVcclxuaW1wb3J0IHsgR2VvTWFwVmlld1N0YXRlIH0gZnJvbSAnLi4vbW9kZWwvZ2VvTWFwVmlld1N0YXRlJztcclxuLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgeyBHZW9NYXBWaWV3cG9ydCB9IGZyb20gJy4uL21vZGVsL2dlb01hcFZpZXdwb3J0JztcclxuLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgeyBWaWV3Q29udGV4dENoYW5nZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdmlld0NvbnRleHRDaGFuZ2UnO1xyXG5cclxuLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgeyBCQVNFX1BBVEgsIENPTExFQ1RJT05fRk9STUFUUyB9ICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW9NYXBTZXJ2aWNlIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cDovL2xvY2FsaG9zdCc7XHJcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcclxuICAgIHB1YmxpYyBlbmNvZGVyOiBIdHRwUGFyYW1ldGVyQ29kZWM7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmd8c3RyaW5nW10sIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYmFzZVBhdGgpICYmIGJhc2VQYXRoLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGJhc2VQYXRoID0gYmFzZVBhdGhbMF07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICBiYXNlUGF0aCA9IHRoaXMuYmFzZVBhdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoID0gYmFzZVBhdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZW5jb2RlciA9IHRoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVyIHx8IG5ldyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXMoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIHZhbHVlLCBrZXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zOiBIdHRwUGFyYW1zLCB2YWx1ZT86IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgKHZhbHVlIGFzIGFueVtdKS5mb3JFYWNoKCBlbGVtID0+IGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCBlbGVtLCBrZXkpKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChrZXksICh2YWx1ZSBhcyBEYXRlKS50b0lTT1N0cmluZygpLnN1YnN0cigwLCAxMCkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwia2V5IG1heSBub3QgYmUgbnVsbCBpZiB2YWx1ZSBpcyBEYXRlXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXModmFsdWUpLmZvckVhY2goIGsgPT4gaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKFxyXG4gICAgICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMsIHZhbHVlW2tdLCBrZXkgIT0gbnVsbCA/IGAke2tleX0uJHtrfWAgOiBrKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKGtleSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgbm90IG9iamVjdCBvciBhcnJheVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB1dWlkIFxyXG4gICAgICogQHBhcmFtIGlkZW50aWZpZXIgXHJcbiAgICAgKiBAcGFyYW0gZ2VvTWFwSW50ZXJhY3Rpb24gXHJcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxyXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaW50ZXJhY3QodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcEludGVyYWN0aW9uOiBHZW9NYXBJbnRlcmFjdGlvbiwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPFZpZXdDb250ZXh0Q2hhbmdlPjtcclxuICAgIHB1YmxpYyBpbnRlcmFjdCh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgZ2VvTWFwSW50ZXJhY3Rpb246IEdlb01hcEludGVyYWN0aW9uLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxWaWV3Q29udGV4dENoYW5nZT4+O1xyXG4gICAgcHVibGljIGludGVyYWN0KHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBJbnRlcmFjdGlvbjogR2VvTWFwSW50ZXJhY3Rpb24sIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxWaWV3Q29udGV4dENoYW5nZT4+O1xyXG4gICAgcHVibGljIGludGVyYWN0KHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBJbnRlcmFjdGlvbjogR2VvTWFwSW50ZXJhY3Rpb24sIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBpZiAodXVpZCA9PT0gbnVsbCB8fCB1dWlkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgdXVpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGludGVyYWN0LicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWRlbnRpZmllciA9PT0gbnVsbCB8fCBpZGVudGlmaWVyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWRlbnRpZmllciB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGludGVyYWN0LicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZ2VvTWFwSW50ZXJhY3Rpb24gPT09IG51bGwgfHwgZ2VvTWFwSW50ZXJhY3Rpb24gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBnZW9NYXBJbnRlcmFjdGlvbiB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGludGVyYWN0LicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XHJcblxyXG4gICAgICAgIGxldCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmh0dHBIZWFkZXJBY2NlcHQ7XHJcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXHJcbiAgICAgICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KCdBY2NlcHQnLCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuY29udGV4dDtcclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwQ29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgIF07XHJcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XHJcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHJlc3BvbnNlVHlwZV86ICd0ZXh0JyB8ICdqc29uJyB8ICdibG9iJyA9ICdqc29uJztcclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICd0ZXh0JztcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2Jsb2InO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9nZW9tYXAvJHt0aGlzLmNvbmZpZ3VyYXRpb24uZW5jb2RlUGFyYW0oe25hbWU6IFwidXVpZFwiLCB2YWx1ZTogdXVpZCwgaW46IFwicGF0aFwiLCBzdHlsZTogXCJzaW1wbGVcIiwgZXhwbG9kZTogZmFsc2UsIGRhdGFUeXBlOiBcInN0cmluZ1wiLCBkYXRhRm9ybWF0OiBcInV1aWRcIn0pfS8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7bmFtZTogXCJpZGVudGlmaWVyXCIsIHZhbHVlOiBpZGVudGlmaWVyLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwic3RyaW5nXCIsIGRhdGFGb3JtYXQ6IHVuZGVmaW5lZH0pfS9pbnRlcmFjdGA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PFZpZXdDb250ZXh0Q2hhbmdlPigncG9zdCcsIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxyXG4gICAgICAgICAgICAgICAgYm9keTogZ2VvTWFwSW50ZXJhY3Rpb24sXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcclxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcclxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB1dWlkIFxyXG4gICAgICogQHBhcmFtIGlkZW50aWZpZXIgXHJcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxyXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbG9hZCh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEdlb01hcE1vZGVsPjtcclxuICAgIHB1YmxpYyBsb2FkKHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxHZW9NYXBNb2RlbD4+O1xyXG4gICAgcHVibGljIGxvYWQodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxHZW9NYXBNb2RlbD4+O1xyXG4gICAgcHVibGljIGxvYWQodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBpZiAodXVpZCA9PT0gbnVsbCB8fCB1dWlkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgdXVpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGxvYWQuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpZGVudGlmaWVyID09PSBudWxsIHx8IGlkZW50aWZpZXIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZGVudGlmaWVyIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgbG9hZC4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xyXG5cclxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xyXG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XHJcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cENvbnRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsb2NhbFZhckh0dHBDb250ZXh0ID0gbmV3IEh0dHBDb250ZXh0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgbGV0IHJlc3BvbnNlVHlwZV86ICd0ZXh0JyB8ICdqc29uJyB8ICdibG9iJyA9ICdqc29uJztcclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICd0ZXh0JztcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2Jsb2InO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9nZW9tYXAvJHt0aGlzLmNvbmZpZ3VyYXRpb24uZW5jb2RlUGFyYW0oe25hbWU6IFwidXVpZFwiLCB2YWx1ZTogdXVpZCwgaW46IFwicGF0aFwiLCBzdHlsZTogXCJzaW1wbGVcIiwgZXhwbG9kZTogZmFsc2UsIGRhdGFUeXBlOiBcInN0cmluZ1wiLCBkYXRhRm9ybWF0OiBcInV1aWRcIn0pfS8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7bmFtZTogXCJpZGVudGlmaWVyXCIsIHZhbHVlOiBpZGVudGlmaWVyLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwic3RyaW5nXCIsIGRhdGFGb3JtYXQ6IHVuZGVmaW5lZH0pfS9sb2FkYDtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8R2VvTWFwTW9kZWw+KCdwb3N0JywgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcclxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcclxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB1dWlkIFxyXG4gICAgICogQHBhcmFtIGlkZW50aWZpZXIgXHJcbiAgICAgKiBAcGFyYW0gZ2VvTWFwVmlld3BvcnQgXHJcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxyXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbW92ZSh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgZ2VvTWFwVmlld3BvcnQ6IEdlb01hcFZpZXdwb3J0LCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8R2VvTWFwQ2hhbmdlPjtcclxuICAgIHB1YmxpYyBtb3ZlKHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBWaWV3cG9ydDogR2VvTWFwVmlld3BvcnQsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEdlb01hcENoYW5nZT4+O1xyXG4gICAgcHVibGljIG1vdmUodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcFZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEdlb01hcENoYW5nZT4+O1xyXG4gICAgcHVibGljIG1vdmUodXVpZDogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcsIGdlb01hcFZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGlmICh1dWlkID09PSBudWxsIHx8IHV1aWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciB1dWlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgbW92ZS4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlkZW50aWZpZXIgPT09IG51bGwgfHwgaWRlbnRpZmllciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkZW50aWZpZXIgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBtb3ZlLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZ2VvTWFwVmlld3BvcnQgPT09IG51bGwgfHwgZ2VvTWFwVmlld3BvcnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBnZW9NYXBWaWV3cG9ydCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIG1vdmUuJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcclxuXHJcbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuaHR0cEhlYWRlckFjY2VwdDtcclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcclxuICAgICAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5jb250ZXh0O1xyXG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbG9jYWxWYXJIdHRwQ29udGV4dCA9IG5ldyBIdHRwQ29udGV4dCgpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgICAgICAgXTtcclxuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcclxuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xyXG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xyXG4gICAgICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aCgndGV4dCcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2dvZW1hcC8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7bmFtZTogXCJ1dWlkXCIsIHZhbHVlOiB1dWlkLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwic3RyaW5nXCIsIGRhdGFGb3JtYXQ6IFwidXVpZFwifSl9LyR7dGhpcy5jb25maWd1cmF0aW9uLmVuY29kZVBhcmFtKHtuYW1lOiBcImlkZW50aWZpZXJcIiwgdmFsdWU6IGlkZW50aWZpZXIsIGluOiBcInBhdGhcIiwgc3R5bGU6IFwic2ltcGxlXCIsIGV4cGxvZGU6IGZhbHNlLCBkYXRhVHlwZTogXCJzdHJpbmdcIiwgZGF0YUZvcm1hdDogdW5kZWZpbmVkfSl9L21vdmVgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxHZW9NYXBDaGFuZ2U+KCdwb3N0JywgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXHJcbiAgICAgICAgICAgICAgICBib2R5OiBnZW9NYXBWaWV3cG9ydCxcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxyXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcclxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHV1aWQgXHJcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBcclxuICAgICAqIEBwYXJhbSBnZW9NYXBWaWV3U3RhdGUgXHJcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxyXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdXBkYXRlKHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBWaWV3U3RhdGU6IEdlb01hcFZpZXdTdGF0ZSwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dH0pOiBPYnNlcnZhYmxlPEdlb01hcENoYW5nZT47XHJcbiAgICBwdWJsaWMgdXBkYXRlKHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBWaWV3U3RhdGU6IEdlb01hcFZpZXdTdGF0ZSwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8R2VvTWFwQ2hhbmdlPj47XHJcbiAgICBwdWJsaWMgdXBkYXRlKHV1aWQ6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nLCBnZW9NYXBWaWV3U3RhdGU6IEdlb01hcFZpZXdTdGF0ZSwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEdlb01hcENoYW5nZT4+O1xyXG4gICAgcHVibGljIHVwZGF0ZSh1dWlkOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZywgZ2VvTWFwVmlld1N0YXRlOiBHZW9NYXBWaWV3U3RhdGUsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBpZiAodXVpZCA9PT0gbnVsbCB8fCB1dWlkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgdXVpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZS4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlkZW50aWZpZXIgPT09IG51bGwgfHwgaWRlbnRpZmllciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkZW50aWZpZXIgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyB1cGRhdGUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChnZW9NYXBWaWV3U3RhdGUgPT09IG51bGwgfHwgZ2VvTWFwVmlld1N0YXRlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgZ2VvTWFwVmlld1N0YXRlIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgdXBkYXRlLicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XHJcblxyXG4gICAgICAgIGxldCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmh0dHBIZWFkZXJBY2NlcHQ7XHJcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXHJcbiAgICAgICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KCdBY2NlcHQnLCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuY29udGV4dDtcclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwQ29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgIF07XHJcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XHJcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHJlc3BvbnNlVHlwZV86ICd0ZXh0JyB8ICdqc29uJyB8ICdibG9iJyA9ICdqc29uJztcclxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICd0ZXh0JztcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2Jsb2InO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9nZW9tYXAvJHt0aGlzLmNvbmZpZ3VyYXRpb24uZW5jb2RlUGFyYW0oe25hbWU6IFwidXVpZFwiLCB2YWx1ZTogdXVpZCwgaW46IFwicGF0aFwiLCBzdHlsZTogXCJzaW1wbGVcIiwgZXhwbG9kZTogZmFsc2UsIGRhdGFUeXBlOiBcInN0cmluZ1wiLCBkYXRhRm9ybWF0OiBcInV1aWRcIn0pfS8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7bmFtZTogXCJpZGVudGlmaWVyXCIsIHZhbHVlOiBpZGVudGlmaWVyLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwic3RyaW5nXCIsIGRhdGFGb3JtYXQ6IHVuZGVmaW5lZH0pfS91cGRhdGVgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxHZW9NYXBDaGFuZ2U+KCdwb3N0JywgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXHJcbiAgICAgICAgICAgICAgICBib2R5OiBnZW9NYXBWaWV3U3RhdGUsXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcclxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcclxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
37
37
  }] }, { type: i1.HttpClient, decorators: [{
38
38
  type: Optional
39
39
  }] }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9hcGkvYXBpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVWhELE1BQU0sT0FBTyxTQUFTO0lBQ1gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBeUM7UUFDM0QsT0FBTztZQUNILFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRSxDQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsQ0FBRTtTQUM5RSxDQUFDO0lBQ04sQ0FBQztJQUVELFlBQXFDLFlBQXVCLEVBQ25DLElBQWdCO1FBQ3JDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RBQStEO2dCQUMvRSwwREFBMEQsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDTCxDQUFDOytHQWpCUSxTQUFTO2dIQUFULFNBQVM7Z0hBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFOckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQU8sRUFBRTtvQkFDaEIsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBTyxFQUFFO29CQUNoQixTQUFTLEVBQUUsRUFBRTtpQkFDZDs7MEJBU2lCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIFNraXBTZWxmLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6ICAgICAgW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6ICAgICAgW10sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgQXBpTW9kdWxlIHtcbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbkZhY3Rvcnk6ICgpID0+IENvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwaU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEFwaU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb24sIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyYXRpb25GYWN0b3J5IH0gXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEFwaU1vZHVsZSxcbiAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaU1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGluIHlvdXIgYmFzZSBBcHBNb2R1bGUgb25seS4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWh0dHApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IG5lZWQgdG8gaW1wb3J0IHRoZSBIdHRwQ2xpZW50TW9kdWxlIGluIHlvdXIgQXBwTW9kdWxlISBcXG4nICtcbiAgICAgICAgICAgICdTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMDU3NScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9hcGkvYXBpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVWhELE1BQU0sT0FBTyxTQUFTO0lBQ1gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBeUM7UUFDM0QsT0FBTztZQUNILFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRSxDQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsQ0FBRTtTQUM5RSxDQUFDO0lBQ04sQ0FBQztJQUVELFlBQXFDLFlBQXVCLEVBQ25DLElBQWdCO1FBQ3JDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RBQStEO2dCQUMvRSwwREFBMEQsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDTCxDQUFDOytHQWpCUSxTQUFTO2dIQUFULFNBQVM7Z0hBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFOckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQU8sRUFBRTtvQkFDaEIsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBTyxFQUFFO29CQUNoQixTQUFTLEVBQUUsRUFBRTtpQkFDZDs7MEJBU2lCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIFNraXBTZWxmLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6ICAgICAgW10sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiAgICAgIFtdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaU1vZHVsZSB7XHJcbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbkZhY3Rvcnk6ICgpID0+IENvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwaU1vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBcGlNb2R1bGUsXHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb24sIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyYXRpb25GYWN0b3J5IH0gXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogQXBpTW9kdWxlLFxyXG4gICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgICAgICBpZiAocGFyZW50TW9kdWxlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXBpTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaW4geW91ciBiYXNlIEFwcE1vZHVsZSBvbmx5LicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWh0dHApIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbmVlZCB0byBpbXBvcnQgdGhlIEh0dHBDbGllbnRNb2R1bGUgaW4geW91ciBBcHBNb2R1bGUhIFxcbicgK1xyXG4gICAgICAgICAgICAnU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjA1NzUnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -88,4 +88,4 @@ export class Configuration {
88
88
  return encodeURIComponent(String(value));
89
89
  }
90
90
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9hcGkvY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ0EsTUFBTSxPQUFPLGFBQWE7SUFnQ3RCLFlBQVksMEJBQW1ELEVBQUU7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQyxlQUFlLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7UUFDL0MsSUFBSSx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLHVCQUF1QixDQUFDLFdBQVcsQ0FBQztRQUMzRCxDQUFDO2FBQ0ksQ0FBQztZQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7UUFDM0QsQ0FBQzthQUNJLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QixDQUFFLFlBQXNCO1FBQ2xELElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsT0FBaUI7UUFDdkMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckIsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxVQUFVLENBQUMsSUFBWTtRQUMxQixNQUFNLFFBQVEsR0FBVyxJQUFJLE1BQU0sQ0FBQywrREFBK0QsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxPQUFPLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVO1lBQzlCLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDVCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFZO1FBQ25DLG1FQUFtRTtRQUNuRSxrRkFBa0Y7UUFDbEYsa0RBQWtEO1FBQ2xELHVEQUF1RDtRQUN2RCxzRUFBc0U7UUFDdEUsRUFBRTtRQUNGLDJGQUEyRjtRQUUzRixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsS0FBSyxZQUFZLElBQUk7WUFDekUsQ0FBQyxDQUFFLEtBQUssQ0FBQyxLQUFjLENBQUMsV0FBVyxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRWxCLE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtZXRlckNvZGVjIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUGFyYW0gfSBmcm9tICcuL3BhcmFtJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uUGFyYW1ldGVycyB7XG4gICAgLyoqXG4gICAgICogIEBkZXByZWNhdGVkIFNpbmNlIDUuMC4gVXNlIGNyZWRlbnRpYWxzIGluc3RlYWRcbiAgICAgKi9cbiAgICBhcGlLZXlzPzoge1sga2V5OiBzdHJpbmcgXTogc3RyaW5nfTtcbiAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiAgQGRlcHJlY2F0ZWQgU2luY2UgNS4wLiBVc2UgY3JlZGVudGlhbHMgaW5zdGVhZFxuICAgICAqL1xuICAgIGFjY2Vzc1Rva2VuPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gICAgYmFzZVBhdGg/OiBzdHJpbmc7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUYWtlcyBjYXJlIG9mIGVuY29kaW5nIHF1ZXJ5LSBhbmQgZm9ybS1wYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIGVuY29kZXI/OiBIdHRwUGFyYW1ldGVyQ29kZWM7XG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgbWV0aG9kIGZvciBlbmNvZGluZyBwYXRoIHBhcmFtZXRlcnMgaW4gdmFyaW91c1xuICAgICAqIDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vT0FJL09wZW5BUEktU3BlY2lmaWNhdGlvbi9ibG9iL21haW4vdmVyc2lvbnMvMy4xLjAubWQjc3R5bGUtdmFsdWVzXCI+c3R5bGVzPC9hPi5cbiAgICAgKiA8cD5cbiAgICAgKiBTZWUge0BsaW5rIFJFQURNRS5tZH0gZm9yIG1vcmUgZGV0YWlsc1xuICAgICAqIDwvcD5cbiAgICAgKi9cbiAgICBlbmNvZGVQYXJhbT86IChwYXJhbTogUGFyYW0pID0+IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUga2V5cyBhcmUgdGhlIG5hbWVzIGluIHRoZSBzZWN1cml0eVNjaGVtZXMgc2VjdGlvbiBvZiB0aGUgT3BlbkFQSVxuICAgICAqIGRvY3VtZW50LiBUaGV5IHNob3VsZCBtYXAgdG8gdGhlIHZhbHVlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uXG4gICAgICogbWludXMgYW55IHN0YW5kYXJkIHByZWZpeGVzIHN1Y2ggYXMgJ0Jhc2ljJyBvciAnQmVhcmVyJy5cbiAgICAgKi9cbiAgICBjcmVkZW50aWFscz86IHtbIGtleTogc3RyaW5nIF06IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpfTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb24ge1xuICAgIC8qKlxuICAgICAqICBAZGVwcmVjYXRlZCBTaW5jZSA1LjAuIFVzZSBjcmVkZW50aWFscyBpbnN0ZWFkXG4gICAgICovXG4gICAgYXBpS2V5cz86IHtbIGtleTogc3RyaW5nIF06IHN0cmluZ307XG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogIEBkZXByZWNhdGVkIFNpbmNlIDUuMC4gVXNlIGNyZWRlbnRpYWxzIGluc3RlYWRcbiAgICAgKi9cbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICAgIGJhc2VQYXRoPzogc3RyaW5nO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGFrZXMgY2FyZSBvZiBlbmNvZGluZyBxdWVyeS0gYW5kIGZvcm0tcGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBlbmNvZGVyPzogSHR0cFBhcmFtZXRlckNvZGVjO1xuICAgIC8qKlxuICAgICAqIEVuY29kaW5nIG9mIHZhcmlvdXMgcGF0aCBwYXJhbWV0ZXJcbiAgICAgKiA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL09BSS9PcGVuQVBJLVNwZWNpZmljYXRpb24vYmxvYi9tYWluL3ZlcnNpb25zLzMuMS4wLm1kI3N0eWxlLXZhbHVlc1wiPnN0eWxlczwvYT4uXG4gICAgICogPHA+XG4gICAgICogU2VlIHtAbGluayBSRUFETUUubWR9IGZvciBtb3JlIGRldGFpbHNcbiAgICAgKiA8L3A+XG4gICAgICovXG4gICAgZW5jb2RlUGFyYW06IChwYXJhbTogUGFyYW0pID0+IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUga2V5cyBhcmUgdGhlIG5hbWVzIGluIHRoZSBzZWN1cml0eVNjaGVtZXMgc2VjdGlvbiBvZiB0aGUgT3BlbkFQSVxuICAgICAqIGRvY3VtZW50LiBUaGV5IHNob3VsZCBtYXAgdG8gdGhlIHZhbHVlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uXG4gICAgICogbWludXMgYW55IHN0YW5kYXJkIHByZWZpeGVzIHN1Y2ggYXMgJ0Jhc2ljJyBvciAnQmVhcmVyJy5cbiAgICAgKi9cbiAgICBjcmVkZW50aWFsczoge1sga2V5OiBzdHJpbmcgXTogc3RyaW5nIHwgKCgpID0+IHN0cmluZyB8IHVuZGVmaW5lZCl9O1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlndXJhdGlvblBhcmFtZXRlcnM6IENvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzID0ge30pIHtcbiAgICAgICAgdGhpcy5hcGlLZXlzID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMuYXBpS2V5cztcbiAgICAgICAgdGhpcy51c2VybmFtZSA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLnVzZXJuYW1lO1xuICAgICAgICB0aGlzLnBhc3N3b3JkID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMucGFzc3dvcmQ7XG4gICAgICAgIHRoaXMuYWNjZXNzVG9rZW4gPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy5hY2Nlc3NUb2tlbjtcbiAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmJhc2VQYXRoO1xuICAgICAgICB0aGlzLndpdGhDcmVkZW50aWFscyA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLndpdGhDcmVkZW50aWFscztcbiAgICAgICAgdGhpcy5lbmNvZGVyID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMuZW5jb2RlcjtcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmVuY29kZVBhcmFtKSB7XG4gICAgICAgICAgICB0aGlzLmVuY29kZVBhcmFtID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMuZW5jb2RlUGFyYW07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVuY29kZVBhcmFtID0gcGFyYW0gPT4gdGhpcy5kZWZhdWx0RW5jb2RlUGFyYW0ocGFyYW0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uUGFyYW1ldGVycy5jcmVkZW50aWFscykge1xuICAgICAgICAgICAgdGhpcy5jcmVkZW50aWFscyA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmNyZWRlbnRpYWxzO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jcmVkZW50aWFscyA9IHt9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IHRoZSBjb3JyZWN0IGNvbnRlbnQtdHlwZSB0byB1c2UgZm9yIGEgcmVxdWVzdC5cbiAgICAgKiBVc2VzIHtAbGluayBDb25maWd1cmF0aW9uI2lzSnNvbk1pbWV9IHRvIGRldGVybWluZSB0aGUgY29ycmVjdCBjb250ZW50LXR5cGUuXG4gICAgICogSWYgbm8gY29udGVudCB0eXBlIGlzIGZvdW5kIHJldHVybiB0aGUgZmlyc3QgZm91bmQgdHlwZSBpZiB0aGUgY29udGVudFR5cGVzIGlzIG5vdCBlbXB0eVxuICAgICAqIEBwYXJhbSBjb250ZW50VHlwZXMgLSB0aGUgYXJyYXkgb2YgY29udGVudCB0eXBlcyB0aGF0IGFyZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvblxuICAgICAqIEByZXR1cm5zIHRoZSBzZWxlY3RlZCBjb250ZW50LXR5cGUgb3IgPGNvZGU+dW5kZWZpbmVkPC9jb2RlPiBpZiBubyBzZWxlY3Rpb24gY291bGQgYmUgbWFkZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0SGVhZGVyQ29udGVudFR5cGUgKGNvbnRlbnRUeXBlczogc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoY29udGVudFR5cGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHR5cGUgPSBjb250ZW50VHlwZXMuZmluZCgoeDogc3RyaW5nKSA9PiB0aGlzLmlzSnNvbk1pbWUoeCkpO1xuICAgICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFR5cGVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCB0aGUgY29ycmVjdCBhY2NlcHQgY29udGVudC10eXBlIHRvIHVzZSBmb3IgYSByZXF1ZXN0LlxuICAgICAqIFVzZXMge0BsaW5rIENvbmZpZ3VyYXRpb24jaXNKc29uTWltZX0gdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IGFjY2VwdCBjb250ZW50LXR5cGUuXG4gICAgICogSWYgbm8gY29udGVudCB0eXBlIGlzIGZvdW5kIHJldHVybiB0aGUgZmlyc3QgZm91bmQgdHlwZSBpZiB0aGUgY29udGVudFR5cGVzIGlzIG5vdCBlbXB0eVxuICAgICAqIEBwYXJhbSBhY2NlcHRzIC0gdGhlIGFycmF5IG9mIGNvbnRlbnQgdHlwZXMgdGhhdCBhcmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24uXG4gICAgICogQHJldHVybnMgdGhlIHNlbGVjdGVkIGNvbnRlbnQtdHlwZSBvciA8Y29kZT51bmRlZmluZWQ8L2NvZGU+IGlmIG5vIHNlbGVjdGlvbiBjb3VsZCBiZSBtYWRlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3RIZWFkZXJBY2NlcHQoYWNjZXB0czogc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoYWNjZXB0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0eXBlID0gYWNjZXB0cy5maW5kKCh4OiBzdHJpbmcpID0+IHRoaXMuaXNKc29uTWltZSh4KSk7XG4gICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2NlcHRzWzBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlbiBNSU1FIGlzIGEgSlNPTiBNSU1FLlxuICAgICAqIEpTT04gTUlNRSBleGFtcGxlczpcbiAgICAgKiAgIGFwcGxpY2F0aW9uL2pzb25cbiAgICAgKiAgIGFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGOFxuICAgICAqICAgQVBQTElDQVRJT04vSlNPTlxuICAgICAqICAgYXBwbGljYXRpb24vdm5kLmNvbXBhbnkranNvblxuICAgICAqIEBwYXJhbSBtaW1lIC0gTUlNRSAoTXVsdGlwdXJwb3NlIEludGVybmV0IE1haWwgRXh0ZW5zaW9ucylcbiAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIGdpdmVuIE1JTUUgaXMgSlNPTiwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0pzb25NaW1lKG1pbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBqc29uTWltZTogUmVnRXhwID0gbmV3IFJlZ0V4cCgnXihhcHBsaWNhdGlvblxcL2pzb258W147LyBcXHRdK1xcL1teOy8gXFx0XStbK11qc29uKVsgXFx0XSooOy4qKT8kJywgJ2knKTtcbiAgICAgICAgcmV0dXJuIG1pbWUgIT09IG51bGwgJiYgKGpzb25NaW1lLnRlc3QobWltZSkgfHwgbWltZS50b0xvd2VyQ2FzZSgpID09PSAnYXBwbGljYXRpb24vanNvbi1wYXRjaCtqc29uJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvb2t1cENyZWRlbnRpYWwoa2V5OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY3JlZGVudGlhbHNba2V5XTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyB2YWx1ZSgpXG4gICAgICAgICAgICA6IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVmYXVsdEVuY29kZVBhcmFtKHBhcmFtOiBQYXJhbSk6IHN0cmluZyB7XG4gICAgICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gZXhpc3RzIGFzIGZhbGxiYWNrIGZvciBtaXNzaW5nIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgLy8gYW5kIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB0byBvbGRlciB0eXBlc2NyaXB0LWFuZ3VsYXIgZ2VuZXJhdG9yIHZlcnNpb25zLlxuICAgICAgICAvLyBJdCBvbmx5IHdvcmtzIGZvciB0aGUgJ3NpbXBsZScgcGFyYW1ldGVyIHN0eWxlLlxuICAgICAgICAvLyBEYXRlLWhhbmRsaW5nIG9ubHkgd29ya3MgZm9yIHRoZSAnZGF0ZS10aW1lJyBmb3JtYXQuXG4gICAgICAgIC8vIEFsbCBvdGhlciBzdHlsZXMgYW5kIERhdGUtZm9ybWF0cyBhcmUgcHJvYmFibHkgaGFuZGxlZCBpbmNvcnJlY3RseS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gQnV0OiBpZiB0aGF0J3MgYWxsIHlvdSBuZWVkIChpLmUuOiB0aGUgbW9zdCBjb21tb24gdXNlLWNhc2UpOiBubyBuZWVkIGZvciBjdXN0b21pemF0aW9uIVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW0uZGF0YUZvcm1hdCA9PT0gJ2RhdGUtdGltZScgJiYgcGFyYW0udmFsdWUgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICA/IChwYXJhbS52YWx1ZSBhcyBEYXRlKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgICA6IHBhcmFtLnZhbHVlO1xuXG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHZhbHVlKSk7XG4gICAgfVxufVxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9hcGkvY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ0EsTUFBTSxPQUFPLGFBQWE7SUFnQ3RCLFlBQVksMEJBQW1ELEVBQUU7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQyxlQUFlLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7UUFDL0MsSUFBSSx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLHVCQUF1QixDQUFDLFdBQVcsQ0FBQztRQUMzRCxDQUFDO2FBQ0ksQ0FBQztZQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7UUFDM0QsQ0FBQzthQUNJLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QixDQUFFLFlBQXNCO1FBQ2xELElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsT0FBaUI7UUFDdkMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckIsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxVQUFVLENBQUMsSUFBWTtRQUMxQixNQUFNLFFBQVEsR0FBVyxJQUFJLE1BQU0sQ0FBQywrREFBK0QsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxPQUFPLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVO1lBQzlCLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDVCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFZO1FBQ25DLG1FQUFtRTtRQUNuRSxrRkFBa0Y7UUFDbEYsa0RBQWtEO1FBQ2xELHVEQUF1RDtRQUN2RCxzRUFBc0U7UUFDdEUsRUFBRTtRQUNGLDJGQUEyRjtRQUUzRixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsS0FBSyxZQUFZLElBQUk7WUFDekUsQ0FBQyxDQUFFLEtBQUssQ0FBQyxLQUFjLENBQUMsV0FBVyxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRWxCLE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtZXRlckNvZGVjIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBQYXJhbSB9IGZyb20gJy4vcGFyYW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uUGFyYW1ldGVycyB7XHJcbiAgICAvKipcclxuICAgICAqICBAZGVwcmVjYXRlZCBTaW5jZSA1LjAuIFVzZSBjcmVkZW50aWFscyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIGFwaUtleXM/OiB7WyBrZXk6IHN0cmluZyBdOiBzdHJpbmd9O1xyXG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XHJcbiAgICBwYXNzd29yZD86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogIEBkZXByZWNhdGVkIFNpbmNlIDUuMC4gVXNlIGNyZWRlbnRpYWxzIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgYWNjZXNzVG9rZW4/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcclxuICAgIGJhc2VQYXRoPzogc3RyaW5nO1xyXG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogVGFrZXMgY2FyZSBvZiBlbmNvZGluZyBxdWVyeS0gYW5kIGZvcm0tcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgZW5jb2Rlcj86IEh0dHBQYXJhbWV0ZXJDb2RlYztcclxuICAgIC8qKlxyXG4gICAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgbWV0aG9kIGZvciBlbmNvZGluZyBwYXRoIHBhcmFtZXRlcnMgaW4gdmFyaW91c1xyXG4gICAgICogPGEgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9PQUkvT3BlbkFQSS1TcGVjaWZpY2F0aW9uL2Jsb2IvbWFpbi92ZXJzaW9ucy8zLjEuMC5tZCNzdHlsZS12YWx1ZXNcIj5zdHlsZXM8L2E+LlxyXG4gICAgICogPHA+XHJcbiAgICAgKiBTZWUge0BsaW5rIFJFQURNRS5tZH0gZm9yIG1vcmUgZGV0YWlsc1xyXG4gICAgICogPC9wPlxyXG4gICAgICovXHJcbiAgICBlbmNvZGVQYXJhbT86IChwYXJhbTogUGFyYW0pID0+IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogVGhlIGtleXMgYXJlIHRoZSBuYW1lcyBpbiB0aGUgc2VjdXJpdHlTY2hlbWVzIHNlY3Rpb24gb2YgdGhlIE9wZW5BUElcclxuICAgICAqIGRvY3VtZW50LiBUaGV5IHNob3VsZCBtYXAgdG8gdGhlIHZhbHVlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uXHJcbiAgICAgKiBtaW51cyBhbnkgc3RhbmRhcmQgcHJlZml4ZXMgc3VjaCBhcyAnQmFzaWMnIG9yICdCZWFyZXInLlxyXG4gICAgICovXHJcbiAgICBjcmVkZW50aWFscz86IHtbIGtleTogc3RyaW5nIF06IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpfTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb24ge1xyXG4gICAgLyoqXHJcbiAgICAgKiAgQGRlcHJlY2F0ZWQgU2luY2UgNS4wLiBVc2UgY3JlZGVudGlhbHMgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBhcGlLZXlzPzoge1sga2V5OiBzdHJpbmcgXTogc3RyaW5nfTtcclxuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xyXG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqICBAZGVwcmVjYXRlZCBTaW5jZSA1LjAuIFVzZSBjcmVkZW50aWFscyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIGFjY2Vzc1Rva2VuPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XHJcbiAgICBiYXNlUGF0aD86IHN0cmluZztcclxuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIFRha2VzIGNhcmUgb2YgZW5jb2RpbmcgcXVlcnktIGFuZCBmb3JtLXBhcmFtZXRlcnMuXHJcbiAgICAgKi9cclxuICAgIGVuY29kZXI/OiBIdHRwUGFyYW1ldGVyQ29kZWM7XHJcbiAgICAvKipcclxuICAgICAqIEVuY29kaW5nIG9mIHZhcmlvdXMgcGF0aCBwYXJhbWV0ZXJcclxuICAgICAqIDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vT0FJL09wZW5BUEktU3BlY2lmaWNhdGlvbi9ibG9iL21haW4vdmVyc2lvbnMvMy4xLjAubWQjc3R5bGUtdmFsdWVzXCI+c3R5bGVzPC9hPi5cclxuICAgICAqIDxwPlxyXG4gICAgICogU2VlIHtAbGluayBSRUFETUUubWR9IGZvciBtb3JlIGRldGFpbHNcclxuICAgICAqIDwvcD5cclxuICAgICAqL1xyXG4gICAgZW5jb2RlUGFyYW06IChwYXJhbTogUGFyYW0pID0+IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogVGhlIGtleXMgYXJlIHRoZSBuYW1lcyBpbiB0aGUgc2VjdXJpdHlTY2hlbWVzIHNlY3Rpb24gb2YgdGhlIE9wZW5BUElcclxuICAgICAqIGRvY3VtZW50LiBUaGV5IHNob3VsZCBtYXAgdG8gdGhlIHZhbHVlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uXHJcbiAgICAgKiBtaW51cyBhbnkgc3RhbmRhcmQgcHJlZml4ZXMgc3VjaCBhcyAnQmFzaWMnIG9yICdCZWFyZXInLlxyXG4gICAgICovXHJcbiAgICBjcmVkZW50aWFsczoge1sga2V5OiBzdHJpbmcgXTogc3RyaW5nIHwgKCgpID0+IHN0cmluZyB8IHVuZGVmaW5lZCl9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzOiBDb25maWd1cmF0aW9uUGFyYW1ldGVycyA9IHt9KSB7XHJcbiAgICAgICAgdGhpcy5hcGlLZXlzID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMuYXBpS2V5cztcclxuICAgICAgICB0aGlzLnVzZXJuYW1lID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMudXNlcm5hbWU7XHJcbiAgICAgICAgdGhpcy5wYXNzd29yZCA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLnBhc3N3b3JkO1xyXG4gICAgICAgIHRoaXMuYWNjZXNzVG9rZW4gPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy5hY2Nlc3NUb2tlbjtcclxuICAgICAgICB0aGlzLmJhc2VQYXRoID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMuYmFzZVBhdGg7XHJcbiAgICAgICAgdGhpcy53aXRoQ3JlZGVudGlhbHMgPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy53aXRoQ3JlZGVudGlhbHM7XHJcbiAgICAgICAgdGhpcy5lbmNvZGVyID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMuZW5jb2RlcjtcclxuICAgICAgICBpZiAoY29uZmlndXJhdGlvblBhcmFtZXRlcnMuZW5jb2RlUGFyYW0pIHtcclxuICAgICAgICAgICAgdGhpcy5lbmNvZGVQYXJhbSA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmVuY29kZVBhcmFtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lbmNvZGVQYXJhbSA9IHBhcmFtID0+IHRoaXMuZGVmYXVsdEVuY29kZVBhcmFtKHBhcmFtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmNyZWRlbnRpYWxzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHMgPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy5jcmVkZW50aWFscztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHMgPSB7fTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZWxlY3QgdGhlIGNvcnJlY3QgY29udGVudC10eXBlIHRvIHVzZSBmb3IgYSByZXF1ZXN0LlxyXG4gICAgICogVXNlcyB7QGxpbmsgQ29uZmlndXJhdGlvbiNpc0pzb25NaW1lfSB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgY29udGVudC10eXBlLlxyXG4gICAgICogSWYgbm8gY29udGVudCB0eXBlIGlzIGZvdW5kIHJldHVybiB0aGUgZmlyc3QgZm91bmQgdHlwZSBpZiB0aGUgY29udGVudFR5cGVzIGlzIG5vdCBlbXB0eVxyXG4gICAgICogQHBhcmFtIGNvbnRlbnRUeXBlcyAtIHRoZSBhcnJheSBvZiBjb250ZW50IHR5cGVzIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgc2VsZWN0ZWQgY29udGVudC10eXBlIG9yIDxjb2RlPnVuZGVmaW5lZDwvY29kZT4gaWYgbm8gc2VsZWN0aW9uIGNvdWxkIGJlIG1hZGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWxlY3RIZWFkZXJDb250ZW50VHlwZSAoY29udGVudFR5cGVzOiBzdHJpbmdbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKGNvbnRlbnRUeXBlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHR5cGUgPSBjb250ZW50VHlwZXMuZmluZCgoeDogc3RyaW5nKSA9PiB0aGlzLmlzSnNvbk1pbWUoeCkpO1xyXG4gICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRUeXBlc1swXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZWxlY3QgdGhlIGNvcnJlY3QgYWNjZXB0IGNvbnRlbnQtdHlwZSB0byB1c2UgZm9yIGEgcmVxdWVzdC5cclxuICAgICAqIFVzZXMge0BsaW5rIENvbmZpZ3VyYXRpb24jaXNKc29uTWltZX0gdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IGFjY2VwdCBjb250ZW50LXR5cGUuXHJcbiAgICAgKiBJZiBubyBjb250ZW50IHR5cGUgaXMgZm91bmQgcmV0dXJuIHRoZSBmaXJzdCBmb3VuZCB0eXBlIGlmIHRoZSBjb250ZW50VHlwZXMgaXMgbm90IGVtcHR5XHJcbiAgICAgKiBAcGFyYW0gYWNjZXB0cyAtIHRoZSBhcnJheSBvZiBjb250ZW50IHR5cGVzIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uLlxyXG4gICAgICogQHJldHVybnMgdGhlIHNlbGVjdGVkIGNvbnRlbnQtdHlwZSBvciA8Y29kZT51bmRlZmluZWQ8L2NvZGU+IGlmIG5vIHNlbGVjdGlvbiBjb3VsZCBiZSBtYWRlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VsZWN0SGVhZGVyQWNjZXB0KGFjY2VwdHM6IHN0cmluZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBpZiAoYWNjZXB0cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHR5cGUgPSBhY2NlcHRzLmZpbmQoKHg6IHN0cmluZykgPT4gdGhpcy5pc0pzb25NaW1lKHgpKTtcclxuICAgICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhY2NlcHRzWzBdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHlwZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlbiBNSU1FIGlzIGEgSlNPTiBNSU1FLlxyXG4gICAgICogSlNPTiBNSU1FIGV4YW1wbGVzOlxyXG4gICAgICogICBhcHBsaWNhdGlvbi9qc29uXHJcbiAgICAgKiAgIGFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGOFxyXG4gICAgICogICBBUFBMSUNBVElPTi9KU09OXHJcbiAgICAgKiAgIGFwcGxpY2F0aW9uL3ZuZC5jb21wYW55K2pzb25cclxuICAgICAqIEBwYXJhbSBtaW1lIC0gTUlNRSAoTXVsdGlwdXJwb3NlIEludGVybmV0IE1haWwgRXh0ZW5zaW9ucylcclxuICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgZ2l2ZW4gTUlNRSBpcyBKU09OLCBmYWxzZSBvdGhlcndpc2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0pzb25NaW1lKG1pbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGpzb25NaW1lOiBSZWdFeHAgPSBuZXcgUmVnRXhwKCdeKGFwcGxpY2F0aW9uXFwvanNvbnxbXjsvIFxcdF0rXFwvW147LyBcXHRdK1srXWpzb24pWyBcXHRdKig7LiopPyQnLCAnaScpO1xyXG4gICAgICAgIHJldHVybiBtaW1lICE9PSBudWxsICYmIChqc29uTWltZS50ZXN0KG1pbWUpIHx8IG1pbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24tcGF0Y2granNvbicpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBsb29rdXBDcmVkZW50aWFsKGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY3JlZGVudGlhbHNba2V5XTtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgICAgID8gdmFsdWUoKVxyXG4gICAgICAgICAgICA6IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGVmYXVsdEVuY29kZVBhcmFtKHBhcmFtOiBQYXJhbSk6IHN0cmluZyB7XHJcbiAgICAgICAgLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBleGlzdHMgYXMgZmFsbGJhY2sgZm9yIG1pc3NpbmcgY29uZmlndXJhdGlvblxyXG4gICAgICAgIC8vIGFuZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdG8gb2xkZXIgdHlwZXNjcmlwdC1hbmd1bGFyIGdlbmVyYXRvciB2ZXJzaW9ucy5cclxuICAgICAgICAvLyBJdCBvbmx5IHdvcmtzIGZvciB0aGUgJ3NpbXBsZScgcGFyYW1ldGVyIHN0eWxlLlxyXG4gICAgICAgIC8vIERhdGUtaGFuZGxpbmcgb25seSB3b3JrcyBmb3IgdGhlICdkYXRlLXRpbWUnIGZvcm1hdC5cclxuICAgICAgICAvLyBBbGwgb3RoZXIgc3R5bGVzIGFuZCBEYXRlLWZvcm1hdHMgYXJlIHByb2JhYmx5IGhhbmRsZWQgaW5jb3JyZWN0bHkuXHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyBCdXQ6IGlmIHRoYXQncyBhbGwgeW91IG5lZWQgKGkuZS46IHRoZSBtb3N0IGNvbW1vbiB1c2UtY2FzZSk6IG5vIG5lZWQgZm9yIGN1c3RvbWl6YXRpb24hXHJcblxyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW0uZGF0YUZvcm1hdCA9PT0gJ2RhdGUtdGltZScgJiYgcGFyYW0udmFsdWUgaW5zdGFuY2VvZiBEYXRlXHJcbiAgICAgICAgICAgID8gKHBhcmFtLnZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKClcclxuICAgICAgICAgICAgOiBwYXJhbS52YWx1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -16,4 +16,4 @@ export class CustomHttpParameterCodec {
16
16
  return decodeURIComponent(v);
17
17
  }
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9hcGkvZW5jb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLFNBQVMsQ0FBQyxDQUFTO1FBQ2YsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQVM7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLENBQVM7UUFDZixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBUztRQUNqQixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbWV0ZXJDb2RlYyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuLyoqXG4gKiBDdXN0b20gSHR0cFBhcmFtZXRlckNvZGVjXG4gKiBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xODI2MVxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIGltcGxlbWVudHMgSHR0cFBhcmFtZXRlckNvZGVjIHtcbiAgICBlbmNvZGVLZXkoazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChrKTtcbiAgICB9XG4gICAgZW5jb2RlVmFsdWUodjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh2KTtcbiAgICB9XG4gICAgZGVjb2RlS2V5KGs6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoayk7XG4gICAgfVxuICAgIGRlY29kZVZhbHVlKHY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQodik7XG4gICAgfVxufVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9hcGkvZW5jb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLFNBQVMsQ0FBQyxDQUFTO1FBQ2YsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQVM7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLENBQVM7UUFDZixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBUztRQUNqQixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbWV0ZXJDb2RlYyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8qKlxyXG4gKiBDdXN0b20gSHR0cFBhcmFtZXRlckNvZGVjXHJcbiAqIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE4MjYxXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIGltcGxlbWVudHMgSHR0cFBhcmFtZXRlckNvZGVjIHtcclxuICAgIGVuY29kZUtleShrOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoayk7XHJcbiAgICB9XHJcbiAgICBlbmNvZGVWYWx1ZSh2OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQodik7XHJcbiAgICB9XHJcbiAgICBkZWNvZGVLZXkoazogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGspO1xyXG4gICAgfVxyXG4gICAgZGVjb2RlVmFsdWUodjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHYpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==