@grafana/scenes 6.8.0 → 6.8.1

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 (319) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  9. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  10. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  11. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  12. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  13. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  14. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  15. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  16. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  17. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  18. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  19. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  20. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  21. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  22. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  23. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  24. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  25. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  26. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  27. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  28. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  29. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  30. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  31. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  35. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  36. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  37. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  38. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  39. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  40. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  41. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  42. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  45. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  46. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  47. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  48. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  49. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  50. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  51. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  52. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  53. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  54. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  55. package/dist/esm/dist/esm/core/events.js +0 -11
  56. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  57. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  58. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  59. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  60. package/dist/esm/dist/esm/core/types.js +0 -15
  61. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  62. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  63. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  64. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  65. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  66. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  67. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  68. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  69. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  70. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  71. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  72. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  73. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  74. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  75. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  76. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  77. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  78. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  79. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  80. package/dist/esm/dist/esm/services/utils.js +0 -71
  81. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  82. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  83. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  84. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  85. package/dist/esm/dist/esm/utils/date.js +0 -15
  86. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  87. package/dist/esm/dist/esm/utils/explore.js +0 -47
  88. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  89. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  90. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  91. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  92. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  93. package/dist/esm/dist/esm/utils/utils.js +0 -11
  94. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  95. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  96. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  97. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  110. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  111. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  112. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  113. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  114. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  115. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  116. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  117. package/dist/esm/dist/esm/variables/constants.js +0 -9
  118. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  119. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  120. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  121. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  122. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  123. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  124. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  125. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  126. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  127. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  128. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  129. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  130. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  131. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  132. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  133. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  134. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  135. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  136. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  137. package/dist/esm/dist/esm/variables/types.js +0 -11
  138. package/dist/esm/dist/esm/variables/utils.js +0 -172
  139. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  140. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  141. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  142. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  143. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  144. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  146. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  147. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  148. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  149. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  150. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  151. package/dist/esm/querying/DataProviderSharer.js +0 -39
  152. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  153. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  154. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  155. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  156. package/dist/esm/src/behaviors/index.js +0 -5
  157. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  158. package/dist/esm/src/components/NestedScene.js +0 -95
  159. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  160. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  161. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  162. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  163. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  164. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  165. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  166. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  167. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  168. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  169. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  170. package/dist/esm/src/components/SceneReactObject.js +0 -34
  171. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  172. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  173. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  174. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  175. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  176. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  177. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  178. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  179. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  180. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  181. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  182. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  183. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  184. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  185. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  186. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  187. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  188. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  189. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  190. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  191. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  192. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  193. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  194. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  195. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  196. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  198. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  199. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  200. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  201. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  202. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  203. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  204. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  205. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  206. package/dist/esm/src/core/SceneDataNode.js +0 -43
  207. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  208. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  209. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  210. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  211. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  212. package/dist/esm/src/core/events.js +0 -11
  213. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  214. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  215. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  216. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  217. package/dist/esm/src/core/types.js +0 -15
  218. package/dist/esm/src/index.js +0 -108
  219. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  220. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  221. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  222. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  223. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  224. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  225. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  226. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  227. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  228. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  229. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  230. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  231. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  232. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  233. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  234. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  235. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  236. package/dist/esm/src/querying/layers/index.js +0 -2
  237. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  238. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  239. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  240. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  241. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  242. package/dist/esm/src/services/useUrlSync.js +0 -29
  243. package/dist/esm/src/services/utils.js +0 -75
  244. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  245. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  246. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  247. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  248. package/dist/esm/src/utils/date.js +0 -15
  249. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  250. package/dist/esm/src/utils/explore.js +0 -47
  251. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  252. package/dist/esm/src/utils/getDataSource.js +0 -18
  253. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  254. package/dist/esm/src/utils/metricTree.js +0 -53
  255. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  256. package/dist/esm/src/utils/utils.js +0 -11
  257. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  258. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  259. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  260. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  261. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  262. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  273. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  274. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  275. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  276. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  277. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  278. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  279. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  280. package/dist/esm/src/variables/constants.js +0 -9
  281. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  282. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  283. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  284. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  285. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  286. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  287. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  288. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  289. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  290. package/dist/esm/src/variables/lookupVariable.js +0 -20
  291. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  292. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  293. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  294. package/dist/esm/src/variables/macros/index.js +0 -35
  295. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  296. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  297. package/dist/esm/src/variables/macros/types.js +0 -11
  298. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  299. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  300. package/dist/esm/src/variables/types.js +0 -11
  301. package/dist/esm/src/variables/utils.js +0 -172
  302. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  303. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  304. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  305. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  306. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  307. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  308. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  309. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  310. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  311. package/dist/esm/src/variables/variants/guards.js +0 -27
  312. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  313. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  314. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  315. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  316. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  317. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  318. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  319. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,295 +0,0 @@
1
- import { isEqual, isArray } from 'lodash';
2
- import { map } from 'rxjs';
3
- import { ALL_VARIABLE_VALUE, ALL_VARIABLE_TEXT } from '../constants.js';
4
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
5
- import { SceneVariableValueChangedEvent } from '../types.js';
6
- import { formatRegistry } from '../interpolation/formatRegistry.js';
7
- import { VariableFormatID } from '@grafana/schema';
8
- import { setBaseClassState } from '../../utils/utils.js';
9
-
10
- class MultiValueVariable extends SceneObjectBase {
11
- constructor() {
12
- super(...arguments);
13
- this._urlSync = new MultiValueUrlSyncHandler(this);
14
- }
15
- validateAndUpdate() {
16
- return this.getValueOptions({}).pipe(
17
- map((options) => {
18
- this.updateValueGivenNewOptions(options);
19
- return {};
20
- })
21
- );
22
- }
23
- onCancel() {
24
- this.setStateHelper({ loading: false });
25
- const sceneVarSet = this.parent;
26
- sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);
27
- }
28
- updateValueGivenNewOptions(options) {
29
- const { value: currentValue, text: currentText, options: oldOptions } = this.state;
30
- const stateUpdate = this.getStateUpdateGivenNewOptions(options, currentValue, currentText);
31
- this.interceptStateUpdateAfterValidation(stateUpdate);
32
- this.setStateHelper(stateUpdate);
33
- if (stateUpdate.value !== currentValue || stateUpdate.text !== currentText || this.hasAllValue() && !isEqual(options, oldOptions)) {
34
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
35
- }
36
- }
37
- getStateUpdateGivenNewOptions(options, currentValue, currentText) {
38
- const stateUpdate = {
39
- options,
40
- loading: false,
41
- value: currentValue,
42
- text: currentText
43
- };
44
- if (options.length === 0) {
45
- if (this.state.defaultToAll || this.state.includeAll) {
46
- stateUpdate.value = ALL_VARIABLE_VALUE;
47
- stateUpdate.text = ALL_VARIABLE_TEXT;
48
- } else if (this.state.isMulti) {
49
- stateUpdate.value = [];
50
- stateUpdate.text = [];
51
- } else {
52
- stateUpdate.value = "";
53
- stateUpdate.text = "";
54
- }
55
- return stateUpdate;
56
- }
57
- if (this.hasAllValue()) {
58
- if (this.state.includeAll) {
59
- stateUpdate.text = ALL_VARIABLE_TEXT;
60
- } else {
61
- stateUpdate.value = options[0].value;
62
- stateUpdate.text = options[0].label;
63
- if (this.state.isMulti) {
64
- stateUpdate.value = [stateUpdate.value];
65
- stateUpdate.text = [stateUpdate.text];
66
- }
67
- }
68
- return stateUpdate;
69
- }
70
- if (this.state.isMulti) {
71
- const currentValues = Array.isArray(currentValue) ? currentValue : [currentValue];
72
- const validValues = currentValues.filter((v) => options.find((o) => o.value === v));
73
- const validTexts = validValues.map((v) => options.find((o) => o.value === v).label);
74
- if (validValues.length === 0) {
75
- const defaultState = this.getDefaultMultiState(options);
76
- stateUpdate.value = defaultState.value;
77
- stateUpdate.text = defaultState.text;
78
- } else {
79
- if (!isEqual(validValues, currentValue)) {
80
- stateUpdate.value = validValues;
81
- }
82
- if (!isEqual(validTexts, currentText)) {
83
- stateUpdate.text = validTexts;
84
- }
85
- }
86
- return stateUpdate;
87
- }
88
- let matchingOption = findOptionMatchingCurrent(currentValue, currentText, options);
89
- if (matchingOption) {
90
- stateUpdate.text = matchingOption.label;
91
- stateUpdate.value = matchingOption.value;
92
- } else {
93
- if (this.state.defaultToAll) {
94
- stateUpdate.value = ALL_VARIABLE_VALUE;
95
- stateUpdate.text = ALL_VARIABLE_TEXT;
96
- } else {
97
- stateUpdate.value = options[0].value;
98
- stateUpdate.text = options[0].label;
99
- }
100
- }
101
- return stateUpdate;
102
- }
103
- interceptStateUpdateAfterValidation(stateUpdate) {
104
- const isAllValueFix = stateUpdate.value === ALL_VARIABLE_VALUE && this.state.text === ALL_VARIABLE_TEXT;
105
- if (this.skipNextValidation && stateUpdate.value !== this.state.value && stateUpdate.text !== this.state.text && !isAllValueFix) {
106
- stateUpdate.value = this.state.value;
107
- stateUpdate.text = this.state.text;
108
- }
109
- this.skipNextValidation = false;
110
- }
111
- getValue() {
112
- if (this.hasAllValue()) {
113
- if (this.state.allValue) {
114
- return new CustomAllValue(this.state.allValue, this);
115
- }
116
- return this.state.options.map((x) => x.value);
117
- }
118
- return this.state.value;
119
- }
120
- getValueText() {
121
- if (this.hasAllValue()) {
122
- return ALL_VARIABLE_TEXT;
123
- }
124
- if (Array.isArray(this.state.text)) {
125
- return this.state.text.join(" + ");
126
- }
127
- return String(this.state.text);
128
- }
129
- hasAllValue() {
130
- const value = this.state.value;
131
- return value === ALL_VARIABLE_VALUE || Array.isArray(value) && value[0] === ALL_VARIABLE_VALUE;
132
- }
133
- getDefaultMultiState(options) {
134
- if (this.state.defaultToAll) {
135
- return { value: [ALL_VARIABLE_VALUE], text: [ALL_VARIABLE_TEXT] };
136
- } else if (options.length > 0) {
137
- return { value: [options[0].value], text: [options[0].label] };
138
- } else {
139
- return { value: [], text: [] };
140
- }
141
- }
142
- changeValueTo(value, text) {
143
- if (value === this.state.value && text === this.state.text) {
144
- return;
145
- }
146
- if (!text) {
147
- if (Array.isArray(value)) {
148
- text = value.map((v) => this.findLabelTextForValue(v));
149
- } else {
150
- text = this.findLabelTextForValue(value);
151
- }
152
- }
153
- if (Array.isArray(value)) {
154
- if (value.length === 0) {
155
- const state = this.getDefaultMultiState(this.state.options);
156
- value = state.value;
157
- text = state.text;
158
- }
159
- if (value[value.length - 1] === ALL_VARIABLE_VALUE) {
160
- value = [ALL_VARIABLE_VALUE];
161
- text = [ALL_VARIABLE_TEXT];
162
- } else if (value[0] === ALL_VARIABLE_VALUE && value.length > 1) {
163
- value.shift();
164
- if (Array.isArray(text)) {
165
- text.shift();
166
- }
167
- }
168
- }
169
- if (isEqual(value, this.state.value) && isEqual(text, this.state.text)) {
170
- return;
171
- }
172
- this.setStateHelper({ value, text, loading: false });
173
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
174
- }
175
- findLabelTextForValue(value) {
176
- if (value === ALL_VARIABLE_VALUE) {
177
- return ALL_VARIABLE_TEXT;
178
- }
179
- const option = this.state.options.find((x) => x.value === value);
180
- if (option) {
181
- return option.label;
182
- }
183
- const optionByLabel = this.state.options.find((x) => x.label === value);
184
- if (optionByLabel) {
185
- return optionByLabel.label;
186
- }
187
- return value;
188
- }
189
- setStateHelper(state) {
190
- setBaseClassState(this, state);
191
- }
192
- getOptionsForSelect() {
193
- let options = this.state.options;
194
- if (this.state.includeAll) {
195
- options = [{ value: ALL_VARIABLE_VALUE, label: ALL_VARIABLE_TEXT }, ...options];
196
- }
197
- if (!Array.isArray(this.state.value)) {
198
- const current = options.find((x) => x.value === this.state.value);
199
- if (!current) {
200
- options = [{ value: this.state.value, label: String(this.state.text) }, ...options];
201
- }
202
- }
203
- return options;
204
- }
205
- refreshOptions() {
206
- this.getValueOptions({}).subscribe((options) => {
207
- this.updateValueGivenNewOptions(options);
208
- });
209
- }
210
- }
211
- function findOptionMatchingCurrent(currentValue, currentText, options) {
212
- let textMatch;
213
- for (const item of options) {
214
- if (item.value === currentValue) {
215
- return item;
216
- }
217
- if (item.label === currentText) {
218
- textMatch = item;
219
- }
220
- }
221
- return textMatch;
222
- }
223
- class MultiValueUrlSyncHandler {
224
- constructor(_sceneObject) {
225
- this._sceneObject = _sceneObject;
226
- }
227
- getKey() {
228
- return `var-${this._sceneObject.state.name}`;
229
- }
230
- getKeys() {
231
- if (this._sceneObject.state.skipUrlSync) {
232
- return [];
233
- }
234
- return [this.getKey()];
235
- }
236
- getUrlState() {
237
- if (this._sceneObject.state.skipUrlSync) {
238
- return {};
239
- }
240
- let urlValue = null;
241
- let value = this._sceneObject.state.value;
242
- if (Array.isArray(value)) {
243
- urlValue = value.map(String);
244
- } else if (this._sceneObject.state.isMulti) {
245
- urlValue = [String(value)];
246
- } else {
247
- urlValue = String(value);
248
- }
249
- return { [this.getKey()]: urlValue };
250
- }
251
- updateFromUrl(values) {
252
- let urlValue = values[this.getKey()];
253
- if (urlValue != null) {
254
- if (this._sceneObject.state.includeAll) {
255
- urlValue = handleLegacyUrlAllValue(urlValue);
256
- }
257
- if (this._sceneObject.state.allValue && this._sceneObject.state.allValue === urlValue) {
258
- urlValue = ALL_VARIABLE_VALUE;
259
- }
260
- if (!this._sceneObject.isActive) {
261
- this._sceneObject.skipNextValidation = true;
262
- }
263
- this._sceneObject.changeValueTo(urlValue);
264
- }
265
- }
266
- }
267
- function handleLegacyUrlAllValue(value) {
268
- if (isArray(value) && value[0] === ALL_VARIABLE_TEXT) {
269
- return [ALL_VARIABLE_VALUE];
270
- } else if (value === ALL_VARIABLE_TEXT) {
271
- return ALL_VARIABLE_VALUE;
272
- }
273
- return value;
274
- }
275
- class CustomAllValue {
276
- constructor(_value, _variable) {
277
- this._value = _value;
278
- this._variable = _variable;
279
- }
280
- formatter(formatNameOrFn) {
281
- if (formatNameOrFn === VariableFormatID.Text) {
282
- return ALL_VARIABLE_TEXT;
283
- }
284
- if (formatNameOrFn === VariableFormatID.PercentEncode) {
285
- return formatRegistry.get(VariableFormatID.PercentEncode).formatter(this._value, [], this._variable);
286
- }
287
- if (formatNameOrFn === VariableFormatID.QueryParam) {
288
- return formatRegistry.get(VariableFormatID.QueryParam).formatter(ALL_VARIABLE_TEXT, [], this._variable);
289
- }
290
- return this._value;
291
- }
292
- }
293
-
294
- export { CustomAllValue, MultiValueUrlSyncHandler, MultiValueVariable };
295
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlWYWx1ZVZhcmlhYmxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL3ZhcmlhbnRzL011bHRpVmFsdWVWYXJpYWJsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0FycmF5LCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBTExfVkFSSUFCTEVfVEVYVCwgQUxMX1ZBUklBQkxFX1ZBTFVFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuaW1wb3J0IHsgU2NlbmVPYmplY3RCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9TY2VuZU9iamVjdEJhc2UnO1xuaW1wb3J0IHsgU2NlbmVPYmplY3RVcmxTeW5jSGFuZGxlciwgU2NlbmVPYmplY3RVcmxWYWx1ZXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7XG4gIFNjZW5lVmFyaWFibGUsXG4gIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCxcbiAgU2NlbmVWYXJpYWJsZVN0YXRlLFxuICBWYWxpZGF0ZUFuZFVwZGF0ZVJlc3VsdCxcbiAgVmFyaWFibGVWYWx1ZSxcbiAgVmFyaWFibGVWYWx1ZU9wdGlvbixcbiAgVmFyaWFibGVWYWx1ZVNpbmdsZSxcbiAgQ3VzdG9tVmFyaWFibGVWYWx1ZSxcbiAgVmFyaWFibGVDdXN0b21Gb3JtYXR0ZXJGbixcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZm9ybWF0UmVnaXN0cnkgfSBmcm9tICcuLi9pbnRlcnBvbGF0aW9uL2Zvcm1hdFJlZ2lzdHJ5JztcbmltcG9ydCB7IFZhcmlhYmxlRm9ybWF0SUQgfSBmcm9tICdAZ3JhZmFuYS9zY2hlbWEnO1xuaW1wb3J0IHsgU2NlbmVWYXJpYWJsZVNldCB9IGZyb20gJy4uL3NldHMvU2NlbmVWYXJpYWJsZVNldCc7XG5pbXBvcnQgeyBzZXRCYXNlQ2xhc3NTdGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVZhbHVlVmFyaWFibGVTdGF0ZSBleHRlbmRzIFNjZW5lVmFyaWFibGVTdGF0ZSB7XG4gIHZhbHVlOiBWYXJpYWJsZVZhbHVlOyAvLyBvbGQgY3VycmVudC50ZXh0XG4gIHRleHQ6IFZhcmlhYmxlVmFsdWU7IC8vIG9sZCBjdXJyZW50LnZhbHVlXG4gIG9wdGlvbnM6IFZhcmlhYmxlVmFsdWVPcHRpb25bXTtcbiAgYWxsb3dDdXN0b21WYWx1ZT86IGJvb2xlYW47XG4gIGlzTXVsdGk/OiBib29sZWFuO1xuICBpbmNsdWRlQWxsPzogYm9vbGVhbjtcbiAgZGVmYXVsdFRvQWxsPzogYm9vbGVhbjtcbiAgYWxsVmFsdWU/OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogRm9yIG11bHRpIHZhbHVlIHZhcmlhYmxlcywgdGhpcyBvcHRpb24gY29udHJvbHMgaG93IG1hbnkgdmFsdWVzIHRvIHNob3cgYmVmb3JlIHRoZXkgYXJlIGNvbGxhcHNlZCBpbnRvICtOLlxuICAgKiBEZWZhdWx0cyB0byA1XG4gICAqL1xuICBtYXhWaXNpYmxlVmFsdWVzPzogbnVtYmVyO1xuICBub1ZhbHVlT25DbGVhcj86IGJvb2xlYW47XG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhcmlhYmxlR2V0T3B0aW9uc0FyZ3Mge1xuICBzZWFyY2hGaWx0ZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNdWx0aVZhbHVlVmFyaWFibGU8VFN0YXRlIGV4dGVuZHMgTXVsdGlWYWx1ZVZhcmlhYmxlU3RhdGUgPSBNdWx0aVZhbHVlVmFyaWFibGVTdGF0ZT5cbiAgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8VFN0YXRlPlxuICBpbXBsZW1lbnRzIFNjZW5lVmFyaWFibGU8VFN0YXRlPlxue1xuICBwcm90ZWN0ZWQgX3VybFN5bmM6IFNjZW5lT2JqZWN0VXJsU3luY0hhbmRsZXIgPSBuZXcgTXVsdGlWYWx1ZVVybFN5bmNIYW5kbGVyKHRoaXMpO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSB0byBza2lwIG5leHQgdmFsdWUgdmFsaWRhdGlvbiB0byBtYWludGFpbiB0aGUgY3VycmVudCB2YWx1ZSBldmVuIGl0IGl0J3Mgbm90IGFtb25nIHRoZSBvcHRpb25zIChpZSB2YWxpZCB2YWx1ZXMpXG4gICAqL1xuICBwdWJsaWMgc2tpcE5leHRWYWxpZGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBvZiB2YWx1ZSBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFZhbHVlT3B0aW9ucyhhcmdzOiBWYXJpYWJsZUdldE9wdGlvbnNBcmdzKTogT2JzZXJ2YWJsZTxWYXJpYWJsZVZhbHVlT3B0aW9uW10+O1xuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiB3aGVuIFNjZW5lVmFyaWFibGVTZXQgaXMgYWN0aXZhdGVkIG9yIHdoZW4gYSBkZXBlbmRlbmN5IGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGVBbmRVcGRhdGUoKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZUFuZFVwZGF0ZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlT3B0aW9ucyh7fSkucGlwZShcbiAgICAgIG1hcCgob3B0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlR2l2ZW5OZXdPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdGF0ZUhlbHBlcih7IGxvYWRpbmc6IGZhbHNlIH0pO1xuICAgIGNvbnN0IHNjZW5lVmFyU2V0ID0gdGhpcy5wYXJlbnQgYXMgU2NlbmVWYXJpYWJsZVNldDtcbiAgICBzY2VuZVZhclNldD8uY2FuY2VsKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGN1cnJlbnQgdmFsdWUgaXMgdmFsaWQgZ2l2ZW4gbmV3IG9wdGlvbnMuIElmIG5vdCB1cGRhdGUgdGhlIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVWYWx1ZUdpdmVuTmV3T3B0aW9ucyhvcHRpb25zOiBWYXJpYWJsZVZhbHVlT3B0aW9uW10pIHtcbiAgICAvLyBSZW1lbWJlciBjdXJyZW50IHZhbHVlIGFuZCB0ZXh0XG4gICAgY29uc3QgeyB2YWx1ZTogY3VycmVudFZhbHVlLCB0ZXh0OiBjdXJyZW50VGV4dCwgb3B0aW9uczogb2xkT3B0aW9ucyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IHN0YXRlVXBkYXRlID0gdGhpcy5nZXRTdGF0ZVVwZGF0ZUdpdmVuTmV3T3B0aW9ucyhvcHRpb25zLCBjdXJyZW50VmFsdWUsIGN1cnJlbnRUZXh0KTtcblxuICAgIHRoaXMuaW50ZXJjZXB0U3RhdGVVcGRhdGVBZnRlclZhbGlkYXRpb24oc3RhdGVVcGRhdGUpO1xuXG4gICAgLy8gUGVyZm9ybSBzdGF0ZSBjaGFuZ2VcbiAgICB0aGlzLnNldFN0YXRlSGVscGVyKHN0YXRlVXBkYXRlKTtcblxuICAgIC8vIFB1Ymxpc2ggdmFsdWUgY2hhbmdlZCBldmVudCBvbmx5IGlmIHZhbHVlIGNoYW5nZWRcbiAgICBpZiAoXG4gICAgICBzdGF0ZVVwZGF0ZS52YWx1ZSAhPT0gY3VycmVudFZhbHVlIHx8XG4gICAgICBzdGF0ZVVwZGF0ZS50ZXh0ICE9PSBjdXJyZW50VGV4dCB8fFxuICAgICAgKHRoaXMuaGFzQWxsVmFsdWUoKSAmJiAhaXNFcXVhbChvcHRpb25zLCBvbGRPcHRpb25zKSlcbiAgICApIHtcbiAgICAgIHRoaXMucHVibGlzaEV2ZW50KG5ldyBTY2VuZVZhcmlhYmxlVmFsdWVDaGFuZ2VkRXZlbnQodGhpcyksIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RhdGVVcGRhdGVHaXZlbk5ld09wdGlvbnMoXG4gICAgb3B0aW9uczogVmFyaWFibGVWYWx1ZU9wdGlvbltdLFxuICAgIGN1cnJlbnRWYWx1ZTogVmFyaWFibGVWYWx1ZSxcbiAgICBjdXJyZW50VGV4dDogVmFyaWFibGVWYWx1ZVxuICApOiBQYXJ0aWFsPE11bHRpVmFsdWVWYXJpYWJsZVN0YXRlPiB7XG4gICAgY29uc3Qgc3RhdGVVcGRhdGU6IFBhcnRpYWw8TXVsdGlWYWx1ZVZhcmlhYmxlU3RhdGU+ID0ge1xuICAgICAgb3B0aW9ucyxcbiAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgdmFsdWU6IGN1cnJlbnRWYWx1ZSxcbiAgICAgIHRleHQ6IGN1cnJlbnRUZXh0LFxuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLmRlZmF1bHRUb0FsbCB8fCB0aGlzLnN0YXRlLmluY2x1ZGVBbGwpIHtcbiAgICAgICAgc3RhdGVVcGRhdGUudmFsdWUgPSBBTExfVkFSSUFCTEVfVkFMVUU7XG4gICAgICAgIHN0YXRlVXBkYXRlLnRleHQgPSBBTExfVkFSSUFCTEVfVEVYVDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZS5pc011bHRpKSB7XG4gICAgICAgIHN0YXRlVXBkYXRlLnZhbHVlID0gW107XG4gICAgICAgIHN0YXRlVXBkYXRlLnRleHQgPSBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlVXBkYXRlLnZhbHVlID0gJyc7XG4gICAgICAgIHN0YXRlVXBkYXRlLnRleHQgPSAnJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0YXRlVXBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc0FsbFZhbHVlKCkpIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLmluY2x1ZGVBbGwpIHtcbiAgICAgICAgLy8gU29tZXRpbWVzIHRoZSB0ZXh0IHJlcHJlc2VudGF0aW9uIGlzIGFsc28gc2V0IHRoZSBBTExfVkFSSUFCTEVfVkFMVUUsIHRoaXMgZml4ZXMgdGhhdFxuICAgICAgICBzdGF0ZVVwZGF0ZS50ZXh0ID0gQUxMX1ZBUklBQkxFX1RFWFQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZVVwZGF0ZS52YWx1ZSA9IG9wdGlvbnNbMF0udmFsdWU7XG4gICAgICAgIHN0YXRlVXBkYXRlLnRleHQgPSBvcHRpb25zWzBdLmxhYmVsO1xuICAgICAgICAvLyBJZiBtdWx0aSBzd2l0Y2ggdG8gYXJyYXlzXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmlzTXVsdGkpIHtcbiAgICAgICAgICBzdGF0ZVVwZGF0ZS52YWx1ZSA9IFtzdGF0ZVVwZGF0ZS52YWx1ZV07XG4gICAgICAgICAgc3RhdGVVcGRhdGUudGV4dCA9IFtzdGF0ZVVwZGF0ZS50ZXh0XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlVXBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0YXRlLmlzTXVsdGkpIHtcbiAgICAgIC8vIElmIHdlIGFyZSBhIG11bHRpIHZhbHVlZCB2YXJpYWJsZSB2YWxpZGF0ZSB0aGUgY3VycmVudCB2YWx1ZXMgYXJlIGFtb25nIHRoZSBvcHRpb25zXG4gICAgICBjb25zdCBjdXJyZW50VmFsdWVzID0gQXJyYXkuaXNBcnJheShjdXJyZW50VmFsdWUpID8gY3VycmVudFZhbHVlIDogW2N1cnJlbnRWYWx1ZV07XG4gICAgICBjb25zdCB2YWxpZFZhbHVlcyA9IGN1cnJlbnRWYWx1ZXMuZmlsdGVyKCh2KSA9PiBvcHRpb25zLmZpbmQoKG8pID0+IG8udmFsdWUgPT09IHYpKTtcbiAgICAgIGNvbnN0IHZhbGlkVGV4dHMgPSB2YWxpZFZhbHVlcy5tYXAoKHYpID0+IG9wdGlvbnMuZmluZCgobykgPT4gby52YWx1ZSA9PT0gdikhLmxhYmVsKTtcblxuICAgICAgLy8gSWYgbm8gdmFsaWQgdmFsdWVzIHBpY2sgdGhlIGZpcnN0IG9wdGlvblxuICAgICAgaWYgKHZhbGlkVmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zdCBkZWZhdWx0U3RhdGUgPSB0aGlzLmdldERlZmF1bHRNdWx0aVN0YXRlKG9wdGlvbnMpO1xuICAgICAgICBzdGF0ZVVwZGF0ZS52YWx1ZSA9IGRlZmF1bHRTdGF0ZS52YWx1ZTtcbiAgICAgICAgc3RhdGVVcGRhdGUudGV4dCA9IGRlZmF1bHRTdGF0ZS50ZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UgaGF2ZSB2YWxpZCB2YWx1ZXMsIGlmIGl0J3MgZGlmZmVyZW50IGZyb20gY3VycmVudCB2YWxpZCB2YWx1ZXMgdXBkYXRlIGN1cnJlbnQgdmFsdWVzXG4gICAgICAgIGlmICghaXNFcXVhbCh2YWxpZFZhbHVlcywgY3VycmVudFZhbHVlKSkge1xuICAgICAgICAgIHN0YXRlVXBkYXRlLnZhbHVlID0gdmFsaWRWYWx1ZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0VxdWFsKHZhbGlkVGV4dHMsIGN1cnJlbnRUZXh0KSkge1xuICAgICAgICAgIHN0YXRlVXBkYXRlLnRleHQgPSB2YWxpZFRleHRzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGVVcGRhdGU7XG4gICAgfVxuXG4gICAgLy8gU2luZ2xlIHZhbHVlIHZhcmlhYmxlIHZhbGlkYXRpb25cblxuICAgIC8vIFRyeSBmaW5kIGJ5IHZhbHVlIHRoZW4gdGV4dFxuICAgIGxldCBtYXRjaGluZ09wdGlvbiA9IGZpbmRPcHRpb25NYXRjaGluZ0N1cnJlbnQoY3VycmVudFZhbHVlLCBjdXJyZW50VGV4dCwgb3B0aW9ucyk7XG4gICAgaWYgKG1hdGNoaW5nT3B0aW9uKSB7XG4gICAgICAvLyBXaGVuIHVwZGF0aW5nIHRoZSBpbml0aWFsIHN0YXRlIGZyb20gVVJMIHRoZSB0ZXh0IHByb3BlcnR5IGlzIHNldCB0aGUgc2FtZSBhcyB2YWx1ZVxuICAgICAgLy8gSGVyZSB3ZSBjYW4gY29ycmVjdCB0aGUgdGV4dCB2YWx1ZSBzdGF0ZVxuICAgICAgc3RhdGVVcGRhdGUudGV4dCA9IG1hdGNoaW5nT3B0aW9uLmxhYmVsO1xuICAgICAgc3RhdGVVcGRhdGUudmFsdWUgPSBtYXRjaGluZ09wdGlvbi52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ3VycmVudCB2YWx1ZSBpcyBmb3VuZCBpbiBvcHRpb25zXG4gICAgICBpZiAodGhpcy5zdGF0ZS5kZWZhdWx0VG9BbGwpIHtcbiAgICAgICAgc3RhdGVVcGRhdGUudmFsdWUgPSBBTExfVkFSSUFCTEVfVkFMVUU7XG4gICAgICAgIHN0YXRlVXBkYXRlLnRleHQgPSBBTExfVkFSSUFCTEVfVEVYVDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgdmFsdWUgaXMgbm90IHZhbGlkLiBTZXQgdG8gZmlyc3Qgb2YgdGhlIGF2YWlsYWJsZSBvcHRpb25zXG4gICAgICAgIHN0YXRlVXBkYXRlLnZhbHVlID0gb3B0aW9uc1swXS52YWx1ZTtcbiAgICAgICAgc3RhdGVVcGRhdGUudGV4dCA9IG9wdGlvbnNbMF0ubGFiZWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlVXBkYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbHVlcyBzZXQgYnkgaW5pdGlhbCBVUkwgc3luYyBuZWVkcyB0byBzdXJ2aXZlIHRoZSBuZXh0IHZhbGlkYXRpb24gYW5kIHVwZGF0ZS5cbiAgICogVGhpcyBmdW5jdGlvbiBjYW4gaW50ZXJjZXB0IGFuZCBtYWtlIHN1cmUgdGhvc2UgdmFsdWVzIGFyZSBwcmVzZXJ2ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgaW50ZXJjZXB0U3RhdGVVcGRhdGVBZnRlclZhbGlkYXRpb24oc3RhdGVVcGRhdGU6IFBhcnRpYWw8TXVsdGlWYWx1ZVZhcmlhYmxlU3RhdGU+KTogdm9pZCB7XG4gICAgLy8gSWYgdGhlIHZhbGlkYXRpb24gd2FudHMgdG8gZml4IHRoZSBhbGwgdmFsdWUgKEFsbCA9PT4gJF9fYWxsKSB0aGVuIHdlIHNob3VsZCBsZXQgdGhhdCBwYXNzXG4gICAgY29uc3QgaXNBbGxWYWx1ZUZpeCA9IHN0YXRlVXBkYXRlLnZhbHVlID09PSBBTExfVkFSSUFCTEVfVkFMVUUgJiYgdGhpcy5zdGF0ZS50ZXh0ID09PSBBTExfVkFSSUFCTEVfVEVYVDtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuc2tpcE5leHRWYWxpZGF0aW9uICYmXG4gICAgICBzdGF0ZVVwZGF0ZS52YWx1ZSAhPT0gdGhpcy5zdGF0ZS52YWx1ZSAmJlxuICAgICAgc3RhdGVVcGRhdGUudGV4dCAhPT0gdGhpcy5zdGF0ZS50ZXh0ICYmXG4gICAgICAhaXNBbGxWYWx1ZUZpeFxuICAgICkge1xuICAgICAgc3RhdGVVcGRhdGUudmFsdWUgPSB0aGlzLnN0YXRlLnZhbHVlO1xuICAgICAgc3RhdGVVcGRhdGUudGV4dCA9IHRoaXMuc3RhdGUudGV4dDtcbiAgICB9XG5cbiAgICB0aGlzLnNraXBOZXh0VmFsaWRhdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IFZhcmlhYmxlVmFsdWUge1xuICAgIGlmICh0aGlzLmhhc0FsbFZhbHVlKCkpIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLmFsbFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ3VzdG9tQWxsVmFsdWUodGhpcy5zdGF0ZS5hbGxWYWx1ZSwgdGhpcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLm9wdGlvbnMubWFwKCh4KSA9PiB4LnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZVRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oYXNBbGxWYWx1ZSgpKSB7XG4gICAgICByZXR1cm4gQUxMX1ZBUklBQkxFX1RFWFQ7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5zdGF0ZS50ZXh0KSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGUudGV4dC5qb2luKCcgKyAnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHRoaXMuc3RhdGUudGV4dCk7XG4gIH1cblxuICBwdWJsaWMgaGFzQWxsVmFsdWUoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnN0YXRlLnZhbHVlO1xuICAgIHJldHVybiB2YWx1ZSA9PT0gQUxMX1ZBUklBQkxFX1ZBTFVFIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZVswXSA9PT0gQUxMX1ZBUklBQkxFX1ZBTFVFKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWZhdWx0TXVsdGlTdGF0ZShvcHRpb25zOiBWYXJpYWJsZVZhbHVlT3B0aW9uW10pIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5kZWZhdWx0VG9BbGwpIHtcbiAgICAgIHJldHVybiB7IHZhbHVlOiBbQUxMX1ZBUklBQkxFX1ZBTFVFXSwgdGV4dDogW0FMTF9WQVJJQUJMRV9URVhUXSB9O1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4geyB2YWx1ZTogW29wdGlvbnNbMF0udmFsdWVdLCB0ZXh0OiBbb3B0aW9uc1swXS5sYWJlbF0gfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IFtdLCB0ZXh0OiBbXSB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdGhlIHZhbHVlIGFuZCBwdWJsaXNoIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCBldmVudC5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VWYWx1ZVRvKHZhbHVlOiBWYXJpYWJsZVZhbHVlLCB0ZXh0PzogVmFyaWFibGVWYWx1ZSkge1xuICAgIC8vIElnbm9yZSBpZiB0aGVyZSBpcyBubyBjaGFuZ2VcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuc3RhdGUudmFsdWUgJiYgdGV4dCA9PT0gdGhpcy5zdGF0ZS50ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdGV4dCA9IHZhbHVlLm1hcCgodikgPT4gdGhpcy5maW5kTGFiZWxUZXh0Rm9yVmFsdWUodikpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGV4dCA9IHRoaXMuZmluZExhYmVsVGV4dEZvclZhbHVlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIC8vIElmIHdlIGFyZSBhIG11bHRpIHZhbHVlZCB2YXJpYWJsZSBpcyBjbGVhcmVkIChlbXB0eSBhcnJheSkgd2UgbmVlZCB0byBzZXQgdGhlIGRlZmF1bHQgZW1wdHkgc3RhdGVcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldERlZmF1bHRNdWx0aVN0YXRlKHRoaXMuc3RhdGUub3B0aW9ucyk7XG4gICAgICAgIHZhbHVlID0gc3RhdGUudmFsdWU7XG4gICAgICAgIHRleHQgPSBzdGF0ZS50ZXh0O1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBsYXN0IHZhbHVlIGlzIHRoZSBBbGwgdmFsdWUgdGhlbiByZXBsYWNlIGFsbCB3aXRoIGl0XG4gICAgICBpZiAodmFsdWVbdmFsdWUubGVuZ3RoIC0gMV0gPT09IEFMTF9WQVJJQUJMRV9WQUxVRSkge1xuICAgICAgICB2YWx1ZSA9IFtBTExfVkFSSUFCTEVfVkFMVUVdO1xuICAgICAgICB0ZXh0ID0gW0FMTF9WQVJJQUJMRV9URVhUXTtcbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSBmaXJzdCB2YWx1ZSBpcyB0aGUgQUxMIHZhbHVlIGFuZCB3ZSBoYXZlIG90aGVyIHZhbHVlcywgdGhlbiByZW1vdmUgdGhlIEFsbCB2YWx1ZVxuICAgICAgZWxzZSBpZiAodmFsdWVbMF0gPT09IEFMTF9WQVJJQUJMRV9WQUxVRSAmJiB2YWx1ZS5sZW5ndGggPiAxKSB7XG4gICAgICAgIHZhbHVlLnNoaWZ0KCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRleHQpKSB7XG4gICAgICAgICAgdGV4dC5zaGlmdCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG8gbm90aGluZyBpZiB2YWx1ZSBhbmQgdGV4dCBhcmUgdGhlIHNhbWVcbiAgICBpZiAoaXNFcXVhbCh2YWx1ZSwgdGhpcy5zdGF0ZS52YWx1ZSkgJiYgaXNFcXVhbCh0ZXh0LCB0aGlzLnN0YXRlLnRleHQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZUhlbHBlcih7IHZhbHVlLCB0ZXh0LCBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50KHRoaXMpLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZExhYmVsVGV4dEZvclZhbHVlKHZhbHVlOiBWYXJpYWJsZVZhbHVlU2luZ2xlKTogVmFyaWFibGVWYWx1ZVNpbmdsZSB7XG4gICAgaWYgKHZhbHVlID09PSBBTExfVkFSSUFCTEVfVkFMVUUpIHtcbiAgICAgIHJldHVybiBBTExfVkFSSUFCTEVfVEVYVDtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb24gPSB0aGlzLnN0YXRlLm9wdGlvbnMuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gdmFsdWUpO1xuICAgIGlmIChvcHRpb24pIHtcbiAgICAgIHJldHVybiBvcHRpb24ubGFiZWw7XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9uQnlMYWJlbCA9IHRoaXMuc3RhdGUub3B0aW9ucy5maW5kKCh4KSA9PiB4LmxhYmVsID09PSB2YWx1ZSk7XG4gICAgaWYgKG9wdGlvbkJ5TGFiZWwpIHtcbiAgICAgIHJldHVybiBvcHRpb25CeUxhYmVsLmxhYmVsO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0byBjb3VudGVyIHRoZSBjb250cmF2YXJpYW5jZSBvZiBzZXRTdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRTdGF0ZUhlbHBlcihzdGF0ZTogUGFydGlhbDxNdWx0aVZhbHVlVmFyaWFibGVTdGF0ZT4pIHtcbiAgICBzZXRCYXNlQ2xhc3NTdGF0ZTxNdWx0aVZhbHVlVmFyaWFibGVTdGF0ZT4odGhpcywgc3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldE9wdGlvbnNGb3JTZWxlY3QoKTogVmFyaWFibGVWYWx1ZU9wdGlvbltdIHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuc3RhdGUub3B0aW9ucztcblxuICAgIGlmICh0aGlzLnN0YXRlLmluY2x1ZGVBbGwpIHtcbiAgICAgIG9wdGlvbnMgPSBbeyB2YWx1ZTogQUxMX1ZBUklBQkxFX1ZBTFVFLCBsYWJlbDogQUxMX1ZBUklBQkxFX1RFWFQgfSwgLi4ub3B0aW9uc107XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuc3RhdGUudmFsdWUpKSB7XG4gICAgICBjb25zdCBjdXJyZW50ID0gb3B0aW9ucy5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICBvcHRpb25zID0gW3sgdmFsdWU6IHRoaXMuc3RhdGUudmFsdWUsIGxhYmVsOiBTdHJpbmcodGhpcy5zdGF0ZS50ZXh0KSB9LCAuLi5vcHRpb25zXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoT3B0aW9ucygpIHtcbiAgICB0aGlzLmdldFZhbHVlT3B0aW9ucyh7fSkuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlR2l2ZW5OZXdPcHRpb25zKG9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIGJ5IHN1YmNsYXNzZXMgdG8gZG8gY3VzdG9tIGhhbmRsaW5nIG9mIG9wdGlvbiBzZWFyY2ggYmFzZWQgb24gc2VhcmNoIGlucHV0XG4gICAqL1xuICBwdWJsaWMgb25TZWFyY2hDaGFuZ2U/KHNlYXJjaEZpbHRlcjogc3RyaW5nKTogdm9pZDtcbn1cblxuLyoqXG4gKiBMb29rcyBmb3IgbWF0Y2hpbmcgb3B0aW9uLCBmaXJzdCBieSB2YWx1ZSBidXQgYXMgYSBmYWxsYmFjayBieSB0ZXh0IChsYWJlbCkuXG4gKi9cbmZ1bmN0aW9uIGZpbmRPcHRpb25NYXRjaGluZ0N1cnJlbnQoXG4gIGN1cnJlbnRWYWx1ZTogVmFyaWFibGVWYWx1ZSxcbiAgY3VycmVudFRleHQ6IFZhcmlhYmxlVmFsdWUsXG4gIG9wdGlvbnM6IFZhcmlhYmxlVmFsdWVPcHRpb25bXVxuKSB7XG4gIGxldCB0ZXh0TWF0Y2g6IFZhcmlhYmxlVmFsdWVPcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgZm9yIChjb25zdCBpdGVtIG9mIG9wdGlvbnMpIHtcbiAgICBpZiAoaXRlbS52YWx1ZSA9PT0gY3VycmVudFZhbHVlKSB7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICAvLyBObyBlYXJseSByZXR1cm4gaGVyZSBhcyB3YW50IHRvIGNvbnRpbnVlIHRvIGxvb2sgYSB2YWx1ZSBtYXRjaFxuICAgIGlmIChpdGVtLmxhYmVsID09PSBjdXJyZW50VGV4dCkge1xuICAgICAgdGV4dE1hdGNoID0gaXRlbTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGV4dE1hdGNoO1xufVxuXG5leHBvcnQgY2xhc3MgTXVsdGlWYWx1ZVVybFN5bmNIYW5kbGVyPFRTdGF0ZSBleHRlbmRzIE11bHRpVmFsdWVWYXJpYWJsZVN0YXRlID0gTXVsdGlWYWx1ZVZhcmlhYmxlU3RhdGU+XG4gIGltcGxlbWVudHMgU2NlbmVPYmplY3RVcmxTeW5jSGFuZGxlclxue1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfc2NlbmVPYmplY3Q6IE11bHRpVmFsdWVWYXJpYWJsZTxUU3RhdGU+KSB7fVxuXG4gIHByaXZhdGUgZ2V0S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB2YXItJHt0aGlzLl9zY2VuZU9iamVjdC5zdGF0ZS5uYW1lfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0S2V5cygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuX3NjZW5lT2JqZWN0LnN0YXRlLnNraXBVcmxTeW5jKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIFt0aGlzLmdldEtleSgpXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVcmxTdGF0ZSgpOiBTY2VuZU9iamVjdFVybFZhbHVlcyB7XG4gICAgaWYgKHRoaXMuX3NjZW5lT2JqZWN0LnN0YXRlLnNraXBVcmxTeW5jKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgbGV0IHVybFZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuX3NjZW5lT2JqZWN0LnN0YXRlLnZhbHVlO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB1cmxWYWx1ZSA9IHZhbHVlLm1hcChTdHJpbmcpO1xuICAgIH0gZWxzZSBpZiAoKHRoaXMsIHRoaXMuX3NjZW5lT2JqZWN0LnN0YXRlLmlzTXVsdGkpKSB7XG4gICAgICAvLyBJZiB3ZSBhcmUgaW5NdWx0aSBtb2RlIHdlIG11c3QgcmV0dXJuIGFuIGFycmF5IGhlcmUgYXMgb3RoZXJ3aXNlIFVybFN5bmNNYW5hZ2VyIHdpbGwgbm90IHBhc3MgYWxsIHZhbHVlcyAoaW4gYW4gYXJyYXkpIGluIHVwZGF0ZUZyb21VcmxcbiAgICAgIHVybFZhbHVlID0gW1N0cmluZyh2YWx1ZSldO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmxWYWx1ZSA9IFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgW3RoaXMuZ2V0S2V5KCldOiB1cmxWYWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUZyb21VcmwodmFsdWVzOiBTY2VuZU9iamVjdFVybFZhbHVlcyk6IHZvaWQge1xuICAgIGxldCB1cmxWYWx1ZSA9IHZhbHVlc1t0aGlzLmdldEtleSgpXTtcblxuICAgIGlmICh1cmxWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIHRvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggb2xkIHVybCBhbGwgdmFsdWVcbiAgICAgIGlmICh0aGlzLl9zY2VuZU9iamVjdC5zdGF0ZS5pbmNsdWRlQWxsKSB7XG4gICAgICAgIHVybFZhbHVlID0gaGFuZGxlTGVnYWN5VXJsQWxsVmFsdWUodXJsVmFsdWUpO1xuICAgICAgfVxuXG4gICAgICAvLyBGb3IgZWRnZSBjYXNlcyB3aGVyZSBkYXRhIGxpbmtzIGluY2x1ZGUgdmFyaWFibGVzIHdpdGggY3VzdG9tIGFsbCB2YWx1ZS5cbiAgICAgIC8vIFdlIHdhbnQgdGhlIHZhcmlhYmxlIHRvIG1haW50YWluIHRoZSBcIkFsbFwiIG1ldGEgdmFsdWUgbm90IHRoZSBhY3R1YWwgY3VzdG9tIHZhbGwgdmFsdWUuIChGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vZ3JhZmFuYS9ncmFmYW5hL2lzc3Vlcy8yODYzNSlcbiAgICAgIGlmICh0aGlzLl9zY2VuZU9iamVjdC5zdGF0ZS5hbGxWYWx1ZSAmJiB0aGlzLl9zY2VuZU9iamVjdC5zdGF0ZS5hbGxWYWx1ZSA9PT0gdXJsVmFsdWUpIHtcbiAgICAgICAgdXJsVmFsdWUgPSBBTExfVkFSSUFCTEVfVkFMVUU7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogSW5pdGlhbCBVUkwgU3luYyBoYXBwZW5zIGJlZm9yZSBzY2VuZSBvYmplY3RzIGFyZSBhY3RpdmF0ZWQuXG4gICAgICAgKiBXZSBuZWVkIHRvIHNraXAgdmFsaWRhdGlvbiBpbiB0aGlzIGNhc2UgdG8gbWFrZSBzdXJlIHZhbHVlcyBzZXQgdmlhIFVSTCBhcmUgbWFpbnRhaW5lZC5cbiAgICAgICAqL1xuICAgICAgaWYgKCF0aGlzLl9zY2VuZU9iamVjdC5pc0FjdGl2ZSkge1xuICAgICAgICB0aGlzLl9zY2VuZU9iamVjdC5za2lwTmV4dFZhbGlkYXRpb24gPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9zY2VuZU9iamVjdC5jaGFuZ2VWYWx1ZVRvKHVybFZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlTGVnYWN5VXJsQWxsVmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gIGlmIChpc0FycmF5KHZhbHVlKSAmJiB2YWx1ZVswXSA9PT0gQUxMX1ZBUklBQkxFX1RFWFQpIHtcbiAgICByZXR1cm4gW0FMTF9WQVJJQUJMRV9WQUxVRV07XG4gIH0gZWxzZSBpZiAodmFsdWUgPT09IEFMTF9WQVJJQUJMRV9URVhUKSB7XG4gICAgcmV0dXJuIEFMTF9WQVJJQUJMRV9WQUxVRTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBWYXJpYWJsZSBnZXRWYWx1ZSBjYW4gcmV0dXJuIHRoaXMgdG8gc2tpcCBhbnkgc3Vic2VxdWVudCBmb3JtYXR0aW5nLlxuICogVGhpcyBpcyB1c2VmdWwgZm9yIGN1c3RvbSBhbGwgdmFsdWVzIHRoYXQgc2hvdWxkIG5vdCBiZSBlc2NhcGVkL2Zvcm1hdHRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUFsbFZhbHVlIGltcGxlbWVudHMgQ3VzdG9tVmFyaWFibGVWYWx1ZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIF92YWx1ZTogc3RyaW5nLCBwcml2YXRlIF92YXJpYWJsZTogU2NlbmVWYXJpYWJsZSkge31cblxuICBwdWJsaWMgZm9ybWF0dGVyKGZvcm1hdE5hbWVPckZuPzogc3RyaW5nIHwgVmFyaWFibGVDdXN0b21Gb3JtYXR0ZXJGbik6IHN0cmluZyB7XG4gICAgaWYgKGZvcm1hdE5hbWVPckZuID09PSBWYXJpYWJsZUZvcm1hdElELlRleHQpIHtcbiAgICAgIHJldHVybiBBTExfVkFSSUFCTEVfVEVYVDtcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0TmFtZU9yRm4gPT09IFZhcmlhYmxlRm9ybWF0SUQuUGVyY2VudEVuY29kZSkge1xuICAgICAgcmV0dXJuIGZvcm1hdFJlZ2lzdHJ5LmdldChWYXJpYWJsZUZvcm1hdElELlBlcmNlbnRFbmNvZGUpLmZvcm1hdHRlcih0aGlzLl92YWx1ZSwgW10sIHRoaXMuX3ZhcmlhYmxlKTtcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0TmFtZU9yRm4gPT09IFZhcmlhYmxlRm9ybWF0SUQuUXVlcnlQYXJhbSkge1xuICAgICAgcmV0dXJuIGZvcm1hdFJlZ2lzdHJ5LmdldChWYXJpYWJsZUZvcm1hdElELlF1ZXJ5UGFyYW0pLmZvcm1hdHRlcihBTExfVkFSSUFCTEVfVEVYVCwgW10sIHRoaXMuX3ZhcmlhYmxlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUE4Q08sTUFBZSwyQkFDWixlQUVWLENBQUE7QUFBQSxFQUhPLFdBQUEsR0FBQTtBQUFBLElBQUEsS0FBQSxDQUFBLEdBQUEsU0FBQSxDQUFBLENBQUE7QUFJTCxJQUFVLElBQUEsQ0FBQSxRQUFBLEdBQXNDLElBQUksd0JBQUEsQ0FBeUIsSUFBSSxDQUFBLENBQUE7QUFBQSxHQUFBO0FBQUEsRUFlMUUsaUJBQXlELEdBQUE7QUFDOUQsSUFBQSxPQUFPLElBQUssQ0FBQSxlQUFBLENBQWdCLEVBQUUsQ0FBRSxDQUFBLElBQUE7QUFBQSxNQUM5QixHQUFBLENBQUksQ0FBQyxPQUFZLEtBQUE7QUFDZixRQUFBLElBQUEsQ0FBSywyQkFBMkIsT0FBTyxDQUFBLENBQUE7QUFDdkMsUUFBQSxPQUFPLEVBQUMsQ0FBQTtBQUFBLE9BQ1QsQ0FBQTtBQUFBLEtBQ0gsQ0FBQTtBQUFBLEdBQ0Y7QUFBQSxFQUVPLFFBQWlCLEdBQUE7QUFDdEIsSUFBQSxJQUFBLENBQUssY0FBZSxDQUFBLEVBQUUsT0FBUyxFQUFBLEtBQUEsRUFBTyxDQUFBLENBQUE7QUFDdEMsSUFBQSxNQUFNLGNBQWMsSUFBSyxDQUFBLE1BQUEsQ0FBQTtBQUN6QixJQUFBLFdBQUEsSUFBQSxJQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsV0FBQSxDQUFhLE1BQU8sQ0FBQSxJQUFBLENBQUEsQ0FBQTtBQUFBLEdBQ3RCO0FBQUEsRUFLUSwyQkFBMkIsT0FBZ0MsRUFBQTtBQUVqRSxJQUFNLE1BQUEsRUFBRSxPQUFPLFlBQWMsRUFBQSxJQUFBLEVBQU0sYUFBYSxPQUFTLEVBQUEsVUFBQSxLQUFlLElBQUssQ0FBQSxLQUFBLENBQUE7QUFFN0UsSUFBQSxNQUFNLFdBQWMsR0FBQSxJQUFBLENBQUssNkJBQThCLENBQUEsT0FBQSxFQUFTLGNBQWMsV0FBVyxDQUFBLENBQUE7QUFFekYsSUFBQSxJQUFBLENBQUssb0NBQW9DLFdBQVcsQ0FBQSxDQUFBO0FBR3BELElBQUEsSUFBQSxDQUFLLGVBQWUsV0FBVyxDQUFBLENBQUE7QUFHL0IsSUFBQSxJQUNFLFdBQVksQ0FBQSxLQUFBLEtBQVUsWUFDdEIsSUFBQSxXQUFBLENBQVksSUFBUyxLQUFBLFdBQUEsSUFDcEIsSUFBSyxDQUFBLFdBQUEsRUFBaUIsSUFBQSxDQUFDLE9BQVEsQ0FBQSxPQUFBLEVBQVMsVUFBVSxDQUNuRCxFQUFBO0FBQ0EsTUFBQSxJQUFBLENBQUssWUFBYSxDQUFBLElBQUksOEJBQStCLENBQUEsSUFBSSxHQUFHLElBQUksQ0FBQSxDQUFBO0FBQUEsS0FDbEU7QUFBQSxHQUNGO0FBQUEsRUFFUSw2QkFBQSxDQUNOLE9BQ0EsRUFBQSxZQUFBLEVBQ0EsV0FDa0MsRUFBQTtBQUNsQyxJQUFBLE1BQU0sV0FBZ0QsR0FBQTtBQUFBLE1BQ3BELE9BQUE7QUFBQSxNQUNBLE9BQVMsRUFBQSxLQUFBO0FBQUEsTUFDVCxLQUFPLEVBQUEsWUFBQTtBQUFBLE1BQ1AsSUFBTSxFQUFBLFdBQUE7QUFBQSxLQUNSLENBQUE7QUFFQSxJQUFJLElBQUEsT0FBQSxDQUFRLFdBQVcsQ0FBRyxFQUFBO0FBQ3hCLE1BQUEsSUFBSSxJQUFLLENBQUEsS0FBQSxDQUFNLFlBQWdCLElBQUEsSUFBQSxDQUFLLE1BQU0sVUFBWSxFQUFBO0FBQ3BELFFBQUEsV0FBQSxDQUFZLEtBQVEsR0FBQSxrQkFBQSxDQUFBO0FBQ3BCLFFBQUEsV0FBQSxDQUFZLElBQU8sR0FBQSxpQkFBQSxDQUFBO0FBQUEsT0FDckIsTUFBQSxJQUFXLElBQUssQ0FBQSxLQUFBLENBQU0sT0FBUyxFQUFBO0FBQzdCLFFBQUEsV0FBQSxDQUFZLFFBQVEsRUFBQyxDQUFBO0FBQ3JCLFFBQUEsV0FBQSxDQUFZLE9BQU8sRUFBQyxDQUFBO0FBQUEsT0FDZixNQUFBO0FBQ0wsUUFBQSxXQUFBLENBQVksS0FBUSxHQUFBLEVBQUEsQ0FBQTtBQUNwQixRQUFBLFdBQUEsQ0FBWSxJQUFPLEdBQUEsRUFBQSxDQUFBO0FBQUEsT0FDckI7QUFFQSxNQUFPLE9BQUEsV0FBQSxDQUFBO0FBQUEsS0FDVDtBQUVBLElBQUksSUFBQSxJQUFBLENBQUssYUFBZSxFQUFBO0FBQ3RCLE1BQUksSUFBQSxJQUFBLENBQUssTUFBTSxVQUFZLEVBQUE7QUFFekIsUUFBQSxXQUFBLENBQVksSUFBTyxHQUFBLGlCQUFBLENBQUE7QUFBQSxPQUNkLE1BQUE7QUFDTCxRQUFZLFdBQUEsQ0FBQSxLQUFBLEdBQVEsUUFBUSxDQUFHLENBQUEsQ0FBQSxLQUFBLENBQUE7QUFDL0IsUUFBWSxXQUFBLENBQUEsSUFBQSxHQUFPLFFBQVEsQ0FBRyxDQUFBLENBQUEsS0FBQSxDQUFBO0FBRTlCLFFBQUksSUFBQSxJQUFBLENBQUssTUFBTSxPQUFTLEVBQUE7QUFDdEIsVUFBWSxXQUFBLENBQUEsS0FBQSxHQUFRLENBQUMsV0FBQSxDQUFZLEtBQUssQ0FBQSxDQUFBO0FBQ3RDLFVBQVksV0FBQSxDQUFBLElBQUEsR0FBTyxDQUFDLFdBQUEsQ0FBWSxJQUFJLENBQUEsQ0FBQTtBQUFBLFNBQ3RDO0FBQUEsT0FDRjtBQUNBLE1BQU8sT0FBQSxXQUFBLENBQUE7QUFBQSxLQUNUO0FBRUEsSUFBSSxJQUFBLElBQUEsQ0FBSyxNQUFNLE9BQVMsRUFBQTtBQUV0QixNQUFBLE1BQU0sZ0JBQWdCLEtBQU0sQ0FBQSxPQUFBLENBQVEsWUFBWSxDQUFJLEdBQUEsWUFBQSxHQUFlLENBQUMsWUFBWSxDQUFBLENBQUE7QUFDaEYsTUFBQSxNQUFNLFdBQWMsR0FBQSxhQUFBLENBQWMsTUFBTyxDQUFBLENBQUMsQ0FBTSxLQUFBLE9BQUEsQ0FBUSxJQUFLLENBQUEsQ0FBQyxDQUFNLEtBQUEsQ0FBQSxDQUFFLEtBQVUsS0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBO0FBQ2xGLE1BQUEsTUFBTSxVQUFhLEdBQUEsV0FBQSxDQUFZLEdBQUksQ0FBQSxDQUFDLENBQU0sS0FBQSxPQUFBLENBQVEsSUFBSyxDQUFBLENBQUMsQ0FBTSxLQUFBLENBQUEsQ0FBRSxLQUFVLEtBQUEsQ0FBQyxFQUFHLEtBQUssQ0FBQSxDQUFBO0FBR25GLE1BQUksSUFBQSxXQUFBLENBQVksV0FBVyxDQUFHLEVBQUE7QUFDNUIsUUFBTSxNQUFBLFlBQUEsR0FBZSxJQUFLLENBQUEsb0JBQUEsQ0FBcUIsT0FBTyxDQUFBLENBQUE7QUFDdEQsUUFBQSxXQUFBLENBQVksUUFBUSxZQUFhLENBQUEsS0FBQSxDQUFBO0FBQ2pDLFFBQUEsV0FBQSxDQUFZLE9BQU8sWUFBYSxDQUFBLElBQUEsQ0FBQTtBQUFBLE9BQzNCLE1BQUE7QUFFTCxRQUFBLElBQUksQ0FBQyxPQUFBLENBQVEsV0FBYSxFQUFBLFlBQVksQ0FBRyxFQUFBO0FBQ3ZDLFVBQUEsV0FBQSxDQUFZLEtBQVEsR0FBQSxXQUFBLENBQUE7QUFBQSxTQUN0QjtBQUNBLFFBQUEsSUFBSSxDQUFDLE9BQUEsQ0FBUSxVQUFZLEVBQUEsV0FBVyxDQUFHLEVBQUE7QUFDckMsVUFBQSxXQUFBLENBQVksSUFBTyxHQUFBLFVBQUEsQ0FBQTtBQUFBLFNBQ3JCO0FBQUEsT0FDRjtBQUNBLE1BQU8sT0FBQSxXQUFBLENBQUE7QUFBQSxLQUNUO0FBS0EsSUFBQSxJQUFJLGNBQWlCLEdBQUEseUJBQUEsQ0FBMEIsWUFBYyxFQUFBLFdBQUEsRUFBYSxPQUFPLENBQUEsQ0FBQTtBQUNqRixJQUFBLElBQUksY0FBZ0IsRUFBQTtBQUdsQixNQUFBLFdBQUEsQ0FBWSxPQUFPLGNBQWUsQ0FBQSxLQUFBLENBQUE7QUFDbEMsTUFBQSxXQUFBLENBQVksUUFBUSxjQUFlLENBQUEsS0FBQSxDQUFBO0FBQUEsS0FDOUIsTUFBQTtBQUVMLE1BQUksSUFBQSxJQUFBLENBQUssTUFBTSxZQUFjLEVBQUE7QUFDM0IsUUFBQSxXQUFBLENBQVksS0FBUSxHQUFBLGtCQUFBLENBQUE7QUFDcEIsUUFBQSxXQUFBLENBQVksSUFBTyxHQUFBLGlCQUFBLENBQUE7QUFBQSxPQUNkLE1BQUE7QUFFTCxRQUFZLFdBQUEsQ0FBQSxLQUFBLEdBQVEsUUFBUSxDQUFHLENBQUEsQ0FBQSxLQUFBLENBQUE7QUFDL0IsUUFBWSxXQUFBLENBQUEsSUFBQSxHQUFPLFFBQVEsQ0FBRyxDQUFBLENBQUEsS0FBQSxDQUFBO0FBQUEsT0FDaEM7QUFBQSxLQUNGO0FBRUEsSUFBTyxPQUFBLFdBQUEsQ0FBQTtBQUFBLEdBQ1Q7QUFBQSxFQU1VLG9DQUFvQyxXQUFxRCxFQUFBO0FBRWpHLElBQUEsTUFBTSxnQkFBZ0IsV0FBWSxDQUFBLEtBQUEsS0FBVSxrQkFBc0IsSUFBQSxJQUFBLENBQUssTUFBTSxJQUFTLEtBQUEsaUJBQUEsQ0FBQTtBQUV0RixJQUFBLElBQ0UsSUFBSyxDQUFBLGtCQUFBLElBQ0wsV0FBWSxDQUFBLEtBQUEsS0FBVSxJQUFLLENBQUEsS0FBQSxDQUFNLEtBQ2pDLElBQUEsV0FBQSxDQUFZLElBQVMsS0FBQSxJQUFBLENBQUssS0FBTSxDQUFBLElBQUEsSUFDaEMsQ0FBQyxhQUNELEVBQUE7QUFDQSxNQUFZLFdBQUEsQ0FBQSxLQUFBLEdBQVEsS0FBSyxLQUFNLENBQUEsS0FBQSxDQUFBO0FBQy9CLE1BQVksV0FBQSxDQUFBLElBQUEsR0FBTyxLQUFLLEtBQU0sQ0FBQSxJQUFBLENBQUE7QUFBQSxLQUNoQztBQUVBLElBQUEsSUFBQSxDQUFLLGtCQUFxQixHQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQzVCO0FBQUEsRUFFTyxRQUEwQixHQUFBO0FBQy9CLElBQUksSUFBQSxJQUFBLENBQUssYUFBZSxFQUFBO0FBQ3RCLE1BQUksSUFBQSxJQUFBLENBQUssTUFBTSxRQUFVLEVBQUE7QUFDdkIsUUFBQSxPQUFPLElBQUksY0FBQSxDQUFlLElBQUssQ0FBQSxLQUFBLENBQU0sVUFBVSxJQUFJLENBQUEsQ0FBQTtBQUFBLE9BQ3JEO0FBRUEsTUFBQSxPQUFPLEtBQUssS0FBTSxDQUFBLE9BQUEsQ0FBUSxJQUFJLENBQUMsQ0FBQSxLQUFNLEVBQUUsS0FBSyxDQUFBLENBQUE7QUFBQSxLQUM5QztBQUVBLElBQUEsT0FBTyxLQUFLLEtBQU0sQ0FBQSxLQUFBLENBQUE7QUFBQSxHQUNwQjtBQUFBLEVBRU8sWUFBdUIsR0FBQTtBQUM1QixJQUFJLElBQUEsSUFBQSxDQUFLLGFBQWUsRUFBQTtBQUN0QixNQUFPLE9BQUEsaUJBQUEsQ0FBQTtBQUFBLEtBQ1Q7QUFFQSxJQUFBLElBQUksS0FBTSxDQUFBLE9BQUEsQ0FBUSxJQUFLLENBQUEsS0FBQSxDQUFNLElBQUksQ0FBRyxFQUFBO0FBQ2xDLE1BQUEsT0FBTyxJQUFLLENBQUEsS0FBQSxDQUFNLElBQUssQ0FBQSxJQUFBLENBQUssS0FBSyxDQUFBLENBQUE7QUFBQSxLQUNuQztBQUVBLElBQU8sT0FBQSxNQUFBLENBQU8sSUFBSyxDQUFBLEtBQUEsQ0FBTSxJQUFJLENBQUEsQ0FBQTtBQUFBLEdBQy9CO0FBQUEsRUFFTyxXQUFjLEdBQUE7QUFDbkIsSUFBTSxNQUFBLEtBQUEsR0FBUSxLQUFLLEtBQU0sQ0FBQSxLQUFBLENBQUE7QUFDekIsSUFBQSxPQUFPLFVBQVUsa0JBQXVCLElBQUEsS0FBQSxDQUFNLFFBQVEsS0FBSyxDQUFBLElBQUssTUFBTSxDQUFPLENBQUEsS0FBQSxrQkFBQSxDQUFBO0FBQUEsR0FDL0U7QUFBQSxFQUVPLHFCQUFxQixPQUFnQyxFQUFBO0FBQzFELElBQUksSUFBQSxJQUFBLENBQUssTUFBTSxZQUFjLEVBQUE7QUFDM0IsTUFBTyxPQUFBLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixHQUFHLElBQU0sRUFBQSxDQUFDLGlCQUFpQixDQUFFLEVBQUEsQ0FBQTtBQUFBLEtBQ2xFLE1BQUEsSUFBVyxPQUFRLENBQUEsTUFBQSxHQUFTLENBQUcsRUFBQTtBQUM3QixNQUFBLE9BQU8sRUFBRSxLQUFBLEVBQU8sQ0FBQyxPQUFBLENBQVEsQ0FBRyxDQUFBLENBQUEsS0FBSyxDQUFHLEVBQUEsSUFBQSxFQUFNLENBQUMsT0FBQSxDQUFRLENBQUcsQ0FBQSxDQUFBLEtBQUssQ0FBRSxFQUFBLENBQUE7QUFBQSxLQUN4RCxNQUFBO0FBQ0wsTUFBQSxPQUFPLEVBQUUsS0FBTyxFQUFBLEVBQUksRUFBQSxJQUFBLEVBQU0sRUFBRyxFQUFBLENBQUE7QUFBQSxLQUMvQjtBQUFBLEdBQ0Y7QUFBQSxFQUtPLGFBQUEsQ0FBYyxPQUFzQixJQUFzQixFQUFBO0FBRS9ELElBQUEsSUFBSSxVQUFVLElBQUssQ0FBQSxLQUFBLENBQU0sU0FBUyxJQUFTLEtBQUEsSUFBQSxDQUFLLE1BQU0sSUFBTSxFQUFBO0FBQzFELE1BQUEsT0FBQTtBQUFBLEtBQ0Y7QUFFQSxJQUFBLElBQUksQ0FBQyxJQUFNLEVBQUE7QUFDVCxNQUFJLElBQUEsS0FBQSxDQUFNLE9BQVEsQ0FBQSxLQUFLLENBQUcsRUFBQTtBQUN4QixRQUFBLElBQUEsR0FBTyxNQUFNLEdBQUksQ0FBQSxDQUFDLE1BQU0sSUFBSyxDQUFBLHFCQUFBLENBQXNCLENBQUMsQ0FBQyxDQUFBLENBQUE7QUFBQSxPQUNoRCxNQUFBO0FBQ0wsUUFBTyxJQUFBLEdBQUEsSUFBQSxDQUFLLHNCQUFzQixLQUFLLENBQUEsQ0FBQTtBQUFBLE9BQ3pDO0FBQUEsS0FDRjtBQUVBLElBQUksSUFBQSxLQUFBLENBQU0sT0FBUSxDQUFBLEtBQUssQ0FBRyxFQUFBO0FBRXhCLE1BQUksSUFBQSxLQUFBLENBQU0sV0FBVyxDQUFHLEVBQUE7QUFDdEIsUUFBQSxNQUFNLEtBQVEsR0FBQSxJQUFBLENBQUssb0JBQXFCLENBQUEsSUFBQSxDQUFLLE1BQU0sT0FBTyxDQUFBLENBQUE7QUFDMUQsUUFBQSxLQUFBLEdBQVEsS0FBTSxDQUFBLEtBQUEsQ0FBQTtBQUNkLFFBQUEsSUFBQSxHQUFPLEtBQU0sQ0FBQSxJQUFBLENBQUE7QUFBQSxPQUNmO0FBR0EsTUFBQSxJQUFJLEtBQU0sQ0FBQSxLQUFBLENBQU0sTUFBUyxHQUFBLENBQUEsQ0FBQSxLQUFPLGtCQUFvQixFQUFBO0FBQ2xELFFBQUEsS0FBQSxHQUFRLENBQUMsa0JBQWtCLENBQUEsQ0FBQTtBQUMzQixRQUFBLElBQUEsR0FBTyxDQUFDLGlCQUFpQixDQUFBLENBQUE7QUFBQSxpQkFHbEIsS0FBTSxDQUFBLENBQUEsQ0FBQSxLQUFPLGtCQUFzQixJQUFBLEtBQUEsQ0FBTSxTQUFTLENBQUcsRUFBQTtBQUM1RCxRQUFBLEtBQUEsQ0FBTSxLQUFNLEVBQUEsQ0FBQTtBQUNaLFFBQUksSUFBQSxLQUFBLENBQU0sT0FBUSxDQUFBLElBQUksQ0FBRyxFQUFBO0FBQ3ZCLFVBQUEsSUFBQSxDQUFLLEtBQU0sRUFBQSxDQUFBO0FBQUEsU0FDYjtBQUFBLE9BQ0Y7QUFBQSxLQUNGO0FBR0EsSUFBSSxJQUFBLE9BQUEsQ0FBUSxLQUFPLEVBQUEsSUFBQSxDQUFLLEtBQU0sQ0FBQSxLQUFLLENBQUssSUFBQSxPQUFBLENBQVEsSUFBTSxFQUFBLElBQUEsQ0FBSyxLQUFNLENBQUEsSUFBSSxDQUFHLEVBQUE7QUFDdEUsTUFBQSxPQUFBO0FBQUEsS0FDRjtBQUVBLElBQUEsSUFBQSxDQUFLLGVBQWUsRUFBRSxLQUFBLEVBQU8sSUFBTSxFQUFBLE9BQUEsRUFBUyxPQUFPLENBQUEsQ0FBQTtBQUNuRCxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBSSw4QkFBK0IsQ0FBQSxJQUFJLEdBQUcsSUFBSSxDQUFBLENBQUE7QUFBQSxHQUNsRTtBQUFBLEVBRVEsc0JBQXNCLEtBQWlELEVBQUE7QUFDN0UsSUFBQSxJQUFJLFVBQVUsa0JBQW9CLEVBQUE7QUFDaEMsTUFBTyxPQUFBLGlCQUFBLENBQUE7QUFBQSxLQUNUO0FBRUEsSUFBTSxNQUFBLE1BQUEsR0FBUyxLQUFLLEtBQU0sQ0FBQSxPQUFBLENBQVEsS0FBSyxDQUFDLENBQUEsS0FBTSxDQUFFLENBQUEsS0FBQSxLQUFVLEtBQUssQ0FBQSxDQUFBO0FBQy9ELElBQUEsSUFBSSxNQUFRLEVBQUE7QUFDVixNQUFBLE9BQU8sTUFBTyxDQUFBLEtBQUEsQ0FBQTtBQUFBLEtBQ2hCO0FBRUEsSUFBTSxNQUFBLGFBQUEsR0FBZ0IsS0FBSyxLQUFNLENBQUEsT0FBQSxDQUFRLEtBQUssQ0FBQyxDQUFBLEtBQU0sQ0FBRSxDQUFBLEtBQUEsS0FBVSxLQUFLLENBQUEsQ0FBQTtBQUN0RSxJQUFBLElBQUksYUFBZSxFQUFBO0FBQ2pCLE1BQUEsT0FBTyxhQUFjLENBQUEsS0FBQSxDQUFBO0FBQUEsS0FDdkI7QUFFQSxJQUFPLE9BQUEsS0FBQSxDQUFBO0FBQUEsR0FDVDtBQUFBLEVBS1EsZUFBZSxLQUF5QyxFQUFBO0FBQzlELElBQUEsaUJBQUEsQ0FBMkMsTUFBTSxLQUFLLENBQUEsQ0FBQTtBQUFBLEdBQ3hEO0FBQUEsRUFFTyxtQkFBNkMsR0FBQTtBQUNsRCxJQUFJLElBQUEsT0FBQSxHQUFVLEtBQUssS0FBTSxDQUFBLE9BQUEsQ0FBQTtBQUV6QixJQUFJLElBQUEsSUFBQSxDQUFLLE1BQU0sVUFBWSxFQUFBO0FBQ3pCLE1BQVUsT0FBQSxHQUFBLENBQUMsRUFBRSxLQUFPLEVBQUEsa0JBQUEsRUFBb0IsT0FBTyxpQkFBa0IsRUFBQSxFQUFHLEdBQUcsT0FBTyxDQUFBLENBQUE7QUFBQSxLQUNoRjtBQUVBLElBQUEsSUFBSSxDQUFDLEtBQU0sQ0FBQSxPQUFBLENBQVEsSUFBSyxDQUFBLEtBQUEsQ0FBTSxLQUFLLENBQUcsRUFBQTtBQUNwQyxNQUFNLE1BQUEsT0FBQSxHQUFVLFFBQVEsSUFBSyxDQUFBLENBQUMsTUFBTSxDQUFFLENBQUEsS0FBQSxLQUFVLElBQUssQ0FBQSxLQUFBLENBQU0sS0FBSyxDQUFBLENBQUE7QUFDaEUsTUFBQSxJQUFJLENBQUMsT0FBUyxFQUFBO0FBQ1osUUFBQSxPQUFBLEdBQVUsQ0FBQyxFQUFFLEtBQU8sRUFBQSxJQUFBLENBQUssTUFBTSxLQUFPLEVBQUEsS0FBQSxFQUFPLE1BQU8sQ0FBQSxJQUFBLENBQUssS0FBTSxDQUFBLElBQUksQ0FBRSxFQUFBLEVBQUcsR0FBRyxPQUFPLENBQUEsQ0FBQTtBQUFBLE9BQ3BGO0FBQUEsS0FDRjtBQUVBLElBQU8sT0FBQSxPQUFBLENBQUE7QUFBQSxHQUNUO0FBQUEsRUFFTyxjQUFpQixHQUFBO0FBQ3RCLElBQUEsSUFBQSxDQUFLLGdCQUFnQixFQUFFLENBQUUsQ0FBQSxTQUFBLENBQVUsQ0FBQyxPQUFZLEtBQUE7QUFDOUMsTUFBQSxJQUFBLENBQUssMkJBQTJCLE9BQU8sQ0FBQSxDQUFBO0FBQUEsS0FDeEMsQ0FBQSxDQUFBO0FBQUEsR0FDSDtBQU1GLENBQUE7QUFLQSxTQUFTLHlCQUFBLENBQ1AsWUFDQSxFQUFBLFdBQUEsRUFDQSxPQUNBLEVBQUE7QUFDQSxFQUFJLElBQUEsU0FBQSxDQUFBO0FBRUosRUFBQSxLQUFBLE1BQVcsUUFBUSxPQUFTLEVBQUE7QUFDMUIsSUFBSSxJQUFBLElBQUEsQ0FBSyxVQUFVLFlBQWMsRUFBQTtBQUMvQixNQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsS0FDVDtBQUdBLElBQUksSUFBQSxJQUFBLENBQUssVUFBVSxXQUFhLEVBQUE7QUFDOUIsTUFBWSxTQUFBLEdBQUEsSUFBQSxDQUFBO0FBQUEsS0FDZDtBQUFBLEdBQ0Y7QUFFQSxFQUFPLE9BQUEsU0FBQSxDQUFBO0FBQ1QsQ0FBQTtBQUVPLE1BQU0sd0JBRWIsQ0FBQTtBQUFBLEVBQ1MsWUFBb0IsWUFBMEMsRUFBQTtBQUExQyxJQUFBLElBQUEsQ0FBQSxZQUFBLEdBQUEsWUFBQSxDQUFBO0FBQUEsR0FBMkM7QUFBQSxFQUU5RCxNQUFpQixHQUFBO0FBQ3ZCLElBQU8sT0FBQSxDQUFBLElBQUEsRUFBTyxJQUFLLENBQUEsWUFBQSxDQUFhLEtBQU0sQ0FBQSxJQUFBLENBQUEsQ0FBQSxDQUFBO0FBQUEsR0FDeEM7QUFBQSxFQUVPLE9BQW9CLEdBQUE7QUFDekIsSUFBSSxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsS0FBQSxDQUFNLFdBQWEsRUFBQTtBQUN2QyxNQUFBLE9BQU8sRUFBQyxDQUFBO0FBQUEsS0FDVjtBQUVBLElBQU8sT0FBQSxDQUFDLElBQUssQ0FBQSxNQUFBLEVBQVEsQ0FBQSxDQUFBO0FBQUEsR0FDdkI7QUFBQSxFQUVPLFdBQW9DLEdBQUE7QUFDekMsSUFBSSxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsS0FBQSxDQUFNLFdBQWEsRUFBQTtBQUN2QyxNQUFBLE9BQU8sRUFBQyxDQUFBO0FBQUEsS0FDVjtBQUVBLElBQUEsSUFBSSxRQUFxQyxHQUFBLElBQUEsQ0FBQTtBQUN6QyxJQUFJLElBQUEsS0FBQSxHQUFRLElBQUssQ0FBQSxZQUFBLENBQWEsS0FBTSxDQUFBLEtBQUEsQ0FBQTtBQUVwQyxJQUFJLElBQUEsS0FBQSxDQUFNLE9BQVEsQ0FBQSxLQUFLLENBQUcsRUFBQTtBQUN4QixNQUFXLFFBQUEsR0FBQSxLQUFBLENBQU0sSUFBSSxNQUFNLENBQUEsQ0FBQTtBQUFBLEtBQ2pCLE1BQUEsSUFBTSxJQUFLLENBQUEsWUFBQSxDQUFhLE1BQU0sT0FBVSxFQUFBO0FBRWxELE1BQVcsUUFBQSxHQUFBLENBQUMsTUFBTyxDQUFBLEtBQUssQ0FBQyxDQUFBLENBQUE7QUFBQSxLQUNwQixNQUFBO0FBQ0wsTUFBQSxRQUFBLEdBQVcsT0FBTyxLQUFLLENBQUEsQ0FBQTtBQUFBLEtBQ3pCO0FBRUEsSUFBQSxPQUFPLEVBQUUsQ0FBQyxJQUFLLENBQUEsTUFBQSxLQUFXLFFBQVMsRUFBQSxDQUFBO0FBQUEsR0FDckM7QUFBQSxFQUVPLGNBQWMsTUFBb0MsRUFBQTtBQUN2RCxJQUFJLElBQUEsUUFBQSxHQUFXLE1BQU8sQ0FBQSxJQUFBLENBQUssTUFBTyxFQUFBLENBQUEsQ0FBQTtBQUVsQyxJQUFBLElBQUksWUFBWSxJQUFNLEVBQUE7QUFFcEIsTUFBSSxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsS0FBQSxDQUFNLFVBQVksRUFBQTtBQUN0QyxRQUFBLFFBQUEsR0FBVyx3QkFBd0IsUUFBUSxDQUFBLENBQUE7QUFBQSxPQUM3QztBQUlBLE1BQUksSUFBQSxJQUFBLENBQUssYUFBYSxLQUFNLENBQUEsUUFBQSxJQUFZLEtBQUssWUFBYSxDQUFBLEtBQUEsQ0FBTSxhQUFhLFFBQVUsRUFBQTtBQUNyRixRQUFXLFFBQUEsR0FBQSxrQkFBQSxDQUFBO0FBQUEsT0FDYjtBQU1BLE1BQUksSUFBQSxDQUFDLElBQUssQ0FBQSxZQUFBLENBQWEsUUFBVSxFQUFBO0FBQy9CLFFBQUEsSUFBQSxDQUFLLGFBQWEsa0JBQXFCLEdBQUEsSUFBQSxDQUFBO0FBQUEsT0FDekM7QUFFQSxNQUFLLElBQUEsQ0FBQSxZQUFBLENBQWEsY0FBYyxRQUFRLENBQUEsQ0FBQTtBQUFBLEtBQzFDO0FBQUEsR0FDRjtBQUNGLENBQUE7QUFFQSxTQUFTLHdCQUF3QixLQUEwQixFQUFBO0FBQ3pELEVBQUEsSUFBSSxPQUFRLENBQUEsS0FBSyxDQUFLLElBQUEsS0FBQSxDQUFNLE9BQU8saUJBQW1CLEVBQUE7QUFDcEQsSUFBQSxPQUFPLENBQUMsa0JBQWtCLENBQUEsQ0FBQTtBQUFBLEdBQzVCLE1BQUEsSUFBVyxVQUFVLGlCQUFtQixFQUFBO0FBQ3RDLElBQU8sT0FBQSxrQkFBQSxDQUFBO0FBQUEsR0FDVDtBQUVBLEVBQU8sT0FBQSxLQUFBLENBQUE7QUFDVCxDQUFBO0FBTU8sTUFBTSxjQUE4QyxDQUFBO0FBQUEsRUFDbEQsV0FBQSxDQUFvQixRQUF3QixTQUEwQixFQUFBO0FBQWxELElBQUEsSUFBQSxDQUFBLE1BQUEsR0FBQSxNQUFBLENBQUE7QUFBd0IsSUFBQSxJQUFBLENBQUEsU0FBQSxHQUFBLFNBQUEsQ0FBQTtBQUFBLEdBQTJCO0FBQUEsRUFFdkUsVUFBVSxjQUE2RCxFQUFBO0FBQzVFLElBQUksSUFBQSxjQUFBLEtBQW1CLGlCQUFpQixJQUFNLEVBQUE7QUFDNUMsTUFBTyxPQUFBLGlCQUFBLENBQUE7QUFBQSxLQUNUO0FBRUEsSUFBSSxJQUFBLGNBQUEsS0FBbUIsaUJBQWlCLGFBQWUsRUFBQTtBQUNyRCxNQUFPLE9BQUEsY0FBQSxDQUFlLEdBQUksQ0FBQSxnQkFBQSxDQUFpQixhQUFhLENBQUEsQ0FBRSxTQUFVLENBQUEsSUFBQSxDQUFLLE1BQVEsRUFBQSxFQUFJLEVBQUEsSUFBQSxDQUFLLFNBQVMsQ0FBQSxDQUFBO0FBQUEsS0FDckc7QUFFQSxJQUFJLElBQUEsY0FBQSxLQUFtQixpQkFBaUIsVUFBWSxFQUFBO0FBQ2xELE1BQU8sT0FBQSxjQUFBLENBQWUsR0FBSSxDQUFBLGdCQUFBLENBQWlCLFVBQVUsQ0FBQSxDQUFFLFVBQVUsaUJBQW1CLEVBQUEsRUFBSSxFQUFBLElBQUEsQ0FBSyxTQUFTLENBQUEsQ0FBQTtBQUFBLEtBQ3hHO0FBRUEsSUFBQSxPQUFPLElBQUssQ0FBQSxNQUFBLENBQUE7QUFBQSxHQUNkO0FBQ0Y7Ozs7In0=
@@ -1,117 +0,0 @@
1
- import { Subject, Observable } from 'rxjs';
2
- import { sceneGraph } from '../../core/sceneGraph/index.js';
3
- import { queryMetricTree } from '../../utils/metricTree.js';
4
- import { VariableDependencyConfig } from '../VariableDependencyConfig.js';
5
- import { renderSelectForVariable } from '../components/VariableValueSelect.js';
6
- import { MultiValueVariable } from './MultiValueVariable.js';
7
- import { VariableRefresh } from '@grafana/data';
8
- import { getClosest } from '../../core/sceneGraph/utils.js';
9
- import { SceneVariableSet } from '../sets/SceneVariableSet.js';
10
-
11
- var __defProp = Object.defineProperty;
12
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
- var __spreadValues = (a, b) => {
17
- for (var prop in b || (b = {}))
18
- if (__hasOwnProp.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- if (__getOwnPropSymbols)
21
- for (var prop of __getOwnPropSymbols(b)) {
22
- if (__propIsEnum.call(b, prop))
23
- __defNormalProp(a, prop, b[prop]);
24
- }
25
- return a;
26
- };
27
- class TestVariable extends MultiValueVariable {
28
- constructor(initialState, isLazy = false) {
29
- super(__spreadValues({
30
- type: "custom",
31
- name: "Test",
32
- value: "Value",
33
- text: "Text",
34
- query: "Query",
35
- options: [],
36
- refresh: VariableRefresh.onDashboardLoad,
37
- updateOptions: true
38
- }, initialState));
39
- this.completeUpdate = new Subject();
40
- this.isGettingValues = true;
41
- this.getValueOptionsCount = 0;
42
- this.isLazy = false;
43
- this._variableDependency = new VariableDependencyConfig(this, {
44
- statePaths: ["query"]
45
- });
46
- this.isLazy = isLazy;
47
- }
48
- getValueOptions(args) {
49
- const { delayMs } = this.state;
50
- this.getValueOptionsCount += 1;
51
- const queryController = sceneGraph.getQueryController(this);
52
- return new Observable((observer) => {
53
- const queryEntry = {
54
- type: "variable",
55
- origin: this,
56
- cancel: () => observer.complete()
57
- };
58
- if (queryController) {
59
- queryController.queryStarted(queryEntry);
60
- }
61
- this.setState({ loading: true });
62
- if (this.state.throwError) {
63
- throw new Error(this.state.throwError);
64
- }
65
- const interpolatedQuery = sceneGraph.interpolate(this, this.state.query);
66
- const options = this.getOptions(interpolatedQuery);
67
- const sub = this.completeUpdate.subscribe({
68
- next: () => {
69
- const newState = { issuedQuery: interpolatedQuery, loading: false };
70
- if (this.state.updateOptions) {
71
- newState.options = options;
72
- }
73
- this.setState(newState);
74
- observer.next(options);
75
- observer.complete();
76
- }
77
- });
78
- let timeout;
79
- if (delayMs) {
80
- timeout = window.setTimeout(() => this.signalUpdateCompleted(), delayMs);
81
- } else if (delayMs === 0) {
82
- this.signalUpdateCompleted();
83
- }
84
- this.isGettingValues = true;
85
- return () => {
86
- sub.unsubscribe();
87
- window.clearTimeout(timeout);
88
- this.isGettingValues = false;
89
- if (this.state.loading) {
90
- this.setState({ loading: false });
91
- }
92
- if (queryController) {
93
- queryController.queryCompleted(queryEntry);
94
- }
95
- };
96
- });
97
- }
98
- cancel() {
99
- const sceneVarSet = getClosest(this, (s) => s instanceof SceneVariableSet ? s : void 0);
100
- sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);
101
- }
102
- getOptions(interpolatedQuery) {
103
- if (this.state.optionsToReturn) {
104
- return this.state.optionsToReturn;
105
- }
106
- return queryMetricTree(interpolatedQuery).map((x) => ({ label: x.name, value: x.name }));
107
- }
108
- signalUpdateCompleted() {
109
- this.completeUpdate.next(1);
110
- }
111
- }
112
- TestVariable.Component = ({ model }) => {
113
- return renderSelectForVariable(model);
114
- };
115
-
116
- export { TestVariable };
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVzdFZhcmlhYmxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL3ZhcmlhbnRzL1Rlc3RWYXJpYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcbmltcG9ydCB7IHF1ZXJ5TWV0cmljVHJlZSB9IGZyb20gJy4uLy4uL3V0aWxzL21ldHJpY1RyZWUnO1xuaW1wb3J0IHsgVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnIH0gZnJvbSAnLi4vVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnJztcbmltcG9ydCB7IHJlbmRlclNlbGVjdEZvclZhcmlhYmxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9WYXJpYWJsZVZhbHVlU2VsZWN0JztcbmltcG9ydCB7IFZhcmlhYmxlVmFsdWVPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IE11bHRpVmFsdWVWYXJpYWJsZSwgTXVsdGlWYWx1ZVZhcmlhYmxlU3RhdGUsIFZhcmlhYmxlR2V0T3B0aW9uc0FyZ3MgfSBmcm9tICcuL011bHRpVmFsdWVWYXJpYWJsZSc7XG5pbXBvcnQgeyBWYXJpYWJsZVJlZnJlc2ggfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IGdldENsb3Nlc3QgfSBmcm9tICcuLi8uLi9jb3JlL3NjZW5lR3JhcGgvdXRpbHMnO1xuaW1wb3J0IHsgU2NlbmVWYXJpYWJsZVNldCB9IGZyb20gJy4uL3NldHMvU2NlbmVWYXJpYWJsZVNldCc7XG5pbXBvcnQgeyBTY2VuZVF1ZXJ5Q29udHJvbGxlckVudHJ5IH0gZnJvbSAnLi4vLi4vYmVoYXZpb3JzL1NjZW5lUXVlcnlDb250cm9sbGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXN0VmFyaWFibGVTdGF0ZSBleHRlbmRzIE11bHRpVmFsdWVWYXJpYWJsZVN0YXRlIHtcbiAgcXVlcnk6IHN0cmluZztcbiAgZGVsYXlNcz86IG51bWJlcjtcbiAgaXNzdWVkUXVlcnk/OiBzdHJpbmc7XG4gIHJlZnJlc2g/OiBWYXJpYWJsZVJlZnJlc2g7XG4gIHRocm93RXJyb3I/OiBzdHJpbmc7XG4gIG9wdGlvbnNUb1JldHVybj86IFZhcmlhYmxlVmFsdWVPcHRpb25bXTtcbiAgdXBkYXRlT3B0aW9ucz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhpcyB2YXJpYWJsZSBpcyBvbmx5IGRlc2lnbmVkIGZvciB1bml0IHRlc3RzIGFuZCBwb3RlbnRpYWxseSBlMmUgdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXN0VmFyaWFibGUgZXh0ZW5kcyBNdWx0aVZhbHVlVmFyaWFibGU8VGVzdFZhcmlhYmxlU3RhdGU+IHtcbiAgcHJpdmF0ZSBjb21wbGV0ZVVwZGF0ZSA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgcHVibGljIGlzR2V0dGluZ1ZhbHVlcyA9IHRydWU7XG4gIHB1YmxpYyBnZXRWYWx1ZU9wdGlvbnNDb3VudCA9IDA7XG4gIGlzTGF6eSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBfdmFyaWFibGVEZXBlbmRlbmN5ID0gbmV3IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyh0aGlzLCB7XG4gICAgc3RhdGVQYXRoczogWydxdWVyeSddLFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlOiBQYXJ0aWFsPFRlc3RWYXJpYWJsZVN0YXRlPiwgaXNMYXp5ID0gZmFsc2UpIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgIG5hbWU6ICdUZXN0JyxcbiAgICAgIHZhbHVlOiAnVmFsdWUnLFxuICAgICAgdGV4dDogJ1RleHQnLFxuICAgICAgcXVlcnk6ICdRdWVyeScsXG4gICAgICBvcHRpb25zOiBbXSxcbiAgICAgIHJlZnJlc2g6IFZhcmlhYmxlUmVmcmVzaC5vbkRhc2hib2FyZExvYWQsXG4gICAgICB1cGRhdGVPcHRpb25zOiB0cnVlLFxuICAgICAgLi4uaW5pdGlhbFN0YXRlLFxuICAgIH0pO1xuICAgIHRoaXMuaXNMYXp5ID0gaXNMYXp5O1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlT3B0aW9ucyhhcmdzOiBWYXJpYWJsZUdldE9wdGlvbnNBcmdzKTogT2JzZXJ2YWJsZTxWYXJpYWJsZVZhbHVlT3B0aW9uW10+IHtcbiAgICBjb25zdCB7IGRlbGF5TXMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICB0aGlzLmdldFZhbHVlT3B0aW9uc0NvdW50ICs9IDE7XG5cbiAgICBjb25zdCBxdWVyeUNvbnRyb2xsZXIgPSBzY2VuZUdyYXBoLmdldFF1ZXJ5Q29udHJvbGxlcih0aGlzKTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxWYXJpYWJsZVZhbHVlT3B0aW9uW10+KChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgcXVlcnlFbnRyeTogU2NlbmVRdWVyeUNvbnRyb2xsZXJFbnRyeSA9IHtcbiAgICAgICAgdHlwZTogJ3ZhcmlhYmxlJyxcbiAgICAgICAgb3JpZ2luOiB0aGlzLFxuICAgICAgICBjYW5jZWw6ICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCksXG4gICAgICB9O1xuXG4gICAgICBpZiAocXVlcnlDb250cm9sbGVyKSB7XG4gICAgICAgIHF1ZXJ5Q29udHJvbGxlci5xdWVyeVN0YXJ0ZWQocXVlcnlFbnRyeSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xuXG4gICAgICBpZiAodGhpcy5zdGF0ZS50aHJvd0Vycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLnN0YXRlLnRocm93RXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbnRlcnBvbGF0ZWRRdWVyeSA9IHNjZW5lR3JhcGguaW50ZXJwb2xhdGUodGhpcywgdGhpcy5zdGF0ZS5xdWVyeSk7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKGludGVycG9sYXRlZFF1ZXJ5KTtcblxuICAgICAgY29uc3Qgc3ViID0gdGhpcy5jb21wbGV0ZVVwZGF0ZS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3U3RhdGU6IFBhcnRpYWw8VGVzdFZhcmlhYmxlU3RhdGU+ID0geyBpc3N1ZWRRdWVyeTogaW50ZXJwb2xhdGVkUXVlcnksIGxvYWRpbmc6IGZhbHNlIH07XG5cbiAgICAgICAgICBpZiAodGhpcy5zdGF0ZS51cGRhdGVPcHRpb25zKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZS5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNldFN0YXRlKG5ld1N0YXRlKTtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KG9wdGlvbnMpO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgbGV0IHRpbWVvdXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgIGlmIChkZWxheU1zKSB7XG4gICAgICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLnNpZ25hbFVwZGF0ZUNvbXBsZXRlZCgpLCBkZWxheU1zKTtcbiAgICAgIH0gZWxzZSBpZiAoZGVsYXlNcyA9PT0gMCkge1xuICAgICAgICB0aGlzLnNpZ25hbFVwZGF0ZUNvbXBsZXRlZCgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmlzR2V0dGluZ1ZhbHVlcyA9IHRydWU7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICB0aGlzLmlzR2V0dGluZ1ZhbHVlcyA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmxvYWRpbmcpIHtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocXVlcnlDb250cm9sbGVyKSB7XG4gICAgICAgICAgcXVlcnlDb250cm9sbGVyLnF1ZXJ5Q29tcGxldGVkKHF1ZXJ5RW50cnkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpIHtcbiAgICBjb25zdCBzY2VuZVZhclNldCA9IGdldENsb3Nlc3QodGhpcywgKHMpID0+IChzIGluc3RhbmNlb2YgU2NlbmVWYXJpYWJsZVNldCA/IHMgOiB1bmRlZmluZWQpKTtcbiAgICBzY2VuZVZhclNldD8uY2FuY2VsKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcHRpb25zKGludGVycG9sYXRlZFF1ZXJ5OiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcHRpb25zVG9SZXR1cm4pIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLm9wdGlvbnNUb1JldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnlNZXRyaWNUcmVlKGludGVycG9sYXRlZFF1ZXJ5KS5tYXAoKHgpID0+ICh7IGxhYmVsOiB4Lm5hbWUsIHZhbHVlOiB4Lm5hbWUgfSkpO1xuICB9XG5cbiAgLyoqIFVzZWZ1bCBmcm9tIHRlc3RzICovXG4gIHB1YmxpYyBzaWduYWxVcGRhdGVDb21wbGV0ZWQoKSB7XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZS5uZXh0KDEpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBDb21wb25lbnQgPSAoeyBtb2RlbCB9OiBTY2VuZUNvbXBvbmVudFByb3BzPE11bHRpVmFsdWVWYXJpYWJsZT4pID0+IHtcbiAgICByZXR1cm4gcmVuZGVyU2VsZWN0Rm9yVmFyaWFibGUobW9kZWwpO1xuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7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
@@ -1,61 +0,0 @@
1
- import React from 'react';
2
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
3
- import { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';
4
- import { VariableValueInput } from '../components/VariableValueInput.js';
5
- import { SceneVariableValueChangedEvent } from '../types.js';
6
-
7
- var __defProp = Object.defineProperty;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- class TextBoxVariable extends SceneObjectBase {
24
- constructor(initialState) {
25
- super(__spreadValues({
26
- type: "textbox",
27
- value: "",
28
- name: ""
29
- }, initialState));
30
- this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: () => [this.getKey()] });
31
- }
32
- getValue() {
33
- return this.state.value;
34
- }
35
- setValue(newValue) {
36
- if (newValue !== this.state.value) {
37
- this.setState({ value: newValue });
38
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
39
- }
40
- }
41
- getKey() {
42
- return `var-${this.state.name}`;
43
- }
44
- getUrlState() {
45
- return { [this.getKey()]: this.state.value };
46
- }
47
- updateFromUrl(values) {
48
- const val = values[this.getKey()];
49
- if (typeof val === "string") {
50
- this.setValue(val);
51
- }
52
- }
53
- }
54
- TextBoxVariable.Component = ({ model }) => {
55
- return /* @__PURE__ */ React.createElement(VariableValueInput, {
56
- model
57
- });
58
- };
59
-
60
- export { TextBoxVariable };
61
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dEJveFZhcmlhYmxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL3ZhcmlhbnRzL1RleHRCb3hWYXJpYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50UHJvcHMsIFNjZW5lT2JqZWN0VXJsVmFsdWVzIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyBTY2VuZU9iamVjdFVybFN5bmNDb25maWcgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9TY2VuZU9iamVjdFVybFN5bmNDb25maWcnO1xuaW1wb3J0IHsgVmFyaWFibGVWYWx1ZUlucHV0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9WYXJpYWJsZVZhbHVlSW5wdXQnO1xuaW1wb3J0IHsgU2NlbmVWYXJpYWJsZSwgU2NlbmVWYXJpYWJsZVN0YXRlLCBTY2VuZVZhcmlhYmxlVmFsdWVDaGFuZ2VkRXZlbnQsIFZhcmlhYmxlVmFsdWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEJveFZhcmlhYmxlU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUge1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVGV4dEJveFZhcmlhYmxlXG4gIGV4dGVuZHMgU2NlbmVPYmplY3RCYXNlPFRleHRCb3hWYXJpYWJsZVN0YXRlPlxuICBpbXBsZW1lbnRzIFNjZW5lVmFyaWFibGU8VGV4dEJveFZhcmlhYmxlU3RhdGU+XG57XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsU3RhdGU6IFBhcnRpYWw8VGV4dEJveFZhcmlhYmxlU3RhdGU+KSB7XG4gICAgc3VwZXIoe1xuICAgICAgdHlwZTogJ3RleHRib3gnLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgbmFtZTogJycsXG4gICAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLl91cmxTeW5jID0gbmV3IFNjZW5lT2JqZWN0VXJsU3luY0NvbmZpZyh0aGlzLCB7IGtleXM6ICgpID0+IFt0aGlzLmdldEtleSgpXSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBWYXJpYWJsZVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWYWx1ZShuZXdWYWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLnN0YXRlLnZhbHVlKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IG5ld1ZhbHVlIH0pO1xuICAgICAgdGhpcy5wdWJsaXNoRXZlbnQobmV3IFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCh0aGlzKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHZhci0ke3RoaXMuc3RhdGUubmFtZX1gO1xuICB9XG5cbiAgcHVibGljIGdldFVybFN0YXRlKCkge1xuICAgIHJldHVybiB7IFt0aGlzLmdldEtleSgpXTogdGhpcy5zdGF0ZS52YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUZyb21VcmwodmFsdWVzOiBTY2VuZU9iamVjdFVybFZhbHVlcykge1xuICAgIGNvbnN0IHZhbCA9IHZhbHVlc1t0aGlzLmdldEtleSgpXTtcblxuICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgQ29tcG9uZW50ID0gKHsgbW9kZWwgfTogU2NlbmVDb21wb25lbnRQcm9wczxUZXh0Qm94VmFyaWFibGU+KSA9PiB7XG4gICAgcmV0dXJuIDxWYXJpYWJsZVZhbHVlSW5wdXQgbW9kZWw9e21vZGVsfSAvPjtcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV08sTUFBTSx3QkFDSCxlQUVWLENBQUE7QUFBQSxFQUNTLFlBQVksWUFBNkMsRUFBQTtBQUM5RCxJQUFNLEtBQUEsQ0FBQSxjQUFBLENBQUE7QUFBQSxNQUNKLElBQU0sRUFBQSxTQUFBO0FBQUEsTUFDTixLQUFPLEVBQUEsRUFBQTtBQUFBLE1BQ1AsSUFBTSxFQUFBLEVBQUE7QUFBQSxLQUFBLEVBQ0gsWUFDSixDQUFBLENBQUEsQ0FBQTtBQUVELElBQUEsSUFBQSxDQUFLLFFBQVcsR0FBQSxJQUFJLHdCQUF5QixDQUFBLElBQUEsRUFBTSxFQUFFLElBQUEsRUFBTSxNQUFNLENBQUMsSUFBSyxDQUFBLE1BQUEsRUFBUSxDQUFBLEVBQUcsQ0FBQSxDQUFBO0FBQUEsR0FDcEY7QUFBQSxFQUVPLFFBQTBCLEdBQUE7QUFDL0IsSUFBQSxPQUFPLEtBQUssS0FBTSxDQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQ3BCO0FBQUEsRUFFTyxTQUFTLFFBQWtCLEVBQUE7QUFDaEMsSUFBSSxJQUFBLFFBQUEsS0FBYSxJQUFLLENBQUEsS0FBQSxDQUFNLEtBQU8sRUFBQTtBQUNqQyxNQUFBLElBQUEsQ0FBSyxRQUFTLENBQUEsRUFBRSxLQUFPLEVBQUEsUUFBQSxFQUFVLENBQUEsQ0FBQTtBQUNqQyxNQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBSSw4QkFBK0IsQ0FBQSxJQUFJLEdBQUcsSUFBSSxDQUFBLENBQUE7QUFBQSxLQUNsRTtBQUFBLEdBQ0Y7QUFBQSxFQUVRLE1BQWlCLEdBQUE7QUFDdkIsSUFBTyxPQUFBLENBQUEsSUFBQSxFQUFPLEtBQUssS0FBTSxDQUFBLElBQUEsQ0FBQSxDQUFBLENBQUE7QUFBQSxHQUMzQjtBQUFBLEVBRU8sV0FBYyxHQUFBO0FBQ25CLElBQUEsT0FBTyxFQUFFLENBQUMsSUFBQSxDQUFLLFFBQVcsR0FBQSxJQUFBLENBQUssTUFBTSxLQUFNLEVBQUEsQ0FBQTtBQUFBLEdBQzdDO0FBQUEsRUFFTyxjQUFjLE1BQThCLEVBQUE7QUFDakQsSUFBTSxNQUFBLEdBQUEsR0FBTSxNQUFPLENBQUEsSUFBQSxDQUFLLE1BQU8sRUFBQSxDQUFBLENBQUE7QUFFL0IsSUFBSSxJQUFBLE9BQU8sUUFBUSxRQUFVLEVBQUE7QUFDM0IsTUFBQSxJQUFBLENBQUssU0FBUyxHQUFHLENBQUEsQ0FBQTtBQUFBLEtBQ25CO0FBQUEsR0FDRjtBQUtGLENBQUE7QUE3Q2EsZUFBQSxDQTBDRyxTQUFZLEdBQUEsQ0FBQyxFQUFFLEtBQUEsRUFBa0QsS0FBQTtBQUM3RSxFQUFBLHVCQUFRLEtBQUEsQ0FBQSxhQUFBLENBQUEsa0JBQUEsRUFBQTtBQUFBLElBQW1CLEtBQUE7QUFBQSxHQUFjLENBQUEsQ0FBQTtBQUMzQyxDQUFBOzs7OyJ9
@@ -1,27 +0,0 @@
1
- function isAdHocVariable(variable) {
2
- return variable.state.type === "adhoc";
3
- }
4
- function isConstantVariable(variable) {
5
- return variable.state.type === "constant";
6
- }
7
- function isCustomVariable(variable) {
8
- return variable.state.type === "custom";
9
- }
10
- function isDataSourceVariable(variable) {
11
- return variable.state.type === "datasource";
12
- }
13
- function isIntervalVariable(variable) {
14
- return variable.state.type === "interval";
15
- }
16
- function isQueryVariable(variable) {
17
- return variable.state.type === "query";
18
- }
19
- function isTextBoxVariable(variable) {
20
- return variable.state.type === "textbox";
21
- }
22
- function isGroupByVariable(variable) {
23
- return variable.state.type === "groupby";
24
- }
25
-
26
- export { isAdHocVariable, isConstantVariable, isCustomVariable, isDataSourceVariable, isGroupByVariable, isIntervalVariable, isQueryVariable, isTextBoxVariable };
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL3ZhcmlhbnRzL2d1YXJkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZEhvY0ZpbHRlcnNWYXJpYWJsZSB9IGZyb20gJy4uL2FkaG9jL0FkSG9jRmlsdGVyc1ZhcmlhYmxlJztcbmltcG9ydCB7IFNjZW5lVmFyaWFibGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBDb25zdGFudFZhcmlhYmxlIH0gZnJvbSAnLi9Db25zdGFudFZhcmlhYmxlJztcbmltcG9ydCB7IEN1c3RvbVZhcmlhYmxlIH0gZnJvbSAnLi9DdXN0b21WYXJpYWJsZSc7XG5pbXBvcnQgeyBEYXRhU291cmNlVmFyaWFibGUgfSBmcm9tICcuL0RhdGFTb3VyY2VWYXJpYWJsZSc7XG5pbXBvcnQgeyBJbnRlcnZhbFZhcmlhYmxlIH0gZnJvbSAnLi9JbnRlcnZhbFZhcmlhYmxlJztcbmltcG9ydCB7IFRleHRCb3hWYXJpYWJsZSB9IGZyb20gJy4vVGV4dEJveFZhcmlhYmxlJztcbmltcG9ydCB7IFF1ZXJ5VmFyaWFibGUgfSBmcm9tICcuL3F1ZXJ5L1F1ZXJ5VmFyaWFibGUnO1xuaW1wb3J0IHsgR3JvdXBCeVZhcmlhYmxlIH0gZnJvbSAnLi4vZ3JvdXBieS9Hcm91cEJ5VmFyaWFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBZEhvY1ZhcmlhYmxlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogdmFyaWFibGUgaXMgQWRIb2NGaWx0ZXJzVmFyaWFibGUge1xuICByZXR1cm4gdmFyaWFibGUuc3RhdGUudHlwZSA9PT0gJ2FkaG9jJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uc3RhbnRWYXJpYWJsZSh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSk6IHZhcmlhYmxlIGlzIENvbnN0YW50VmFyaWFibGUge1xuICByZXR1cm4gdmFyaWFibGUuc3RhdGUudHlwZSA9PT0gJ2NvbnN0YW50Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tVmFyaWFibGUodmFyaWFibGU6IFNjZW5lVmFyaWFibGUpOiB2YXJpYWJsZSBpcyBDdXN0b21WYXJpYWJsZSB7XG4gIHJldHVybiB2YXJpYWJsZS5zdGF0ZS50eXBlID09PSAnY3VzdG9tJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0YVNvdXJjZVZhcmlhYmxlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogdmFyaWFibGUgaXMgRGF0YVNvdXJjZVZhcmlhYmxlIHtcbiAgcmV0dXJuIHZhcmlhYmxlLnN0YXRlLnR5cGUgPT09ICdkYXRhc291cmNlJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW50ZXJ2YWxWYXJpYWJsZSh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSk6IHZhcmlhYmxlIGlzIEludGVydmFsVmFyaWFibGUge1xuICByZXR1cm4gdmFyaWFibGUuc3RhdGUudHlwZSA9PT0gJ2ludGVydmFsJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUXVlcnlWYXJpYWJsZSh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSk6IHZhcmlhYmxlIGlzIFF1ZXJ5VmFyaWFibGUge1xuICByZXR1cm4gdmFyaWFibGUuc3RhdGUudHlwZSA9PT0gJ3F1ZXJ5Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGV4dEJveFZhcmlhYmxlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogdmFyaWFibGUgaXMgVGV4dEJveFZhcmlhYmxlIHtcbiAgcmV0dXJuIHZhcmlhYmxlLnN0YXRlLnR5cGUgPT09ICd0ZXh0Ym94Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBCeVZhcmlhYmxlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogdmFyaWFibGUgaXMgR3JvdXBCeVZhcmlhYmxlIHtcbiAgcmV0dXJuIHZhcmlhYmxlLnN0YXRlLnR5cGUgPT09ICdncm91cGJ5Jztcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVTyxTQUFTLGdCQUFnQixRQUEyRCxFQUFBO0FBQ3pGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsT0FBQSxDQUFBO0FBQ2pDLENBQUE7QUFFTyxTQUFTLG1CQUFtQixRQUF1RCxFQUFBO0FBQ3hGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsVUFBQSxDQUFBO0FBQ2pDLENBQUE7QUFFTyxTQUFTLGlCQUFpQixRQUFxRCxFQUFBO0FBQ3BGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsUUFBQSxDQUFBO0FBQ2pDLENBQUE7QUFFTyxTQUFTLHFCQUFxQixRQUF5RCxFQUFBO0FBQzVGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsWUFBQSxDQUFBO0FBQ2pDLENBQUE7QUFFTyxTQUFTLG1CQUFtQixRQUF1RCxFQUFBO0FBQ3hGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsVUFBQSxDQUFBO0FBQ2pDLENBQUE7QUFFTyxTQUFTLGdCQUFnQixRQUFvRCxFQUFBO0FBQ2xGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsT0FBQSxDQUFBO0FBQ2pDLENBQUE7QUFFTyxTQUFTLGtCQUFrQixRQUFzRCxFQUFBO0FBQ3RGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsU0FBQSxDQUFBO0FBQ2pDLENBQUE7QUFFTyxTQUFTLGtCQUFrQixRQUFzRCxFQUFBO0FBQ3RGLEVBQU8sT0FBQSxRQUFBLENBQVMsTUFBTSxJQUFTLEtBQUEsU0FBQSxDQUFBO0FBQ2pDOzs7OyJ9