@envive-ai/react-hooks 0.3.58 → 0.3.60

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 (104) hide show
  1. package/dist/application/commerce-api.cjs +1 -1
  2. package/dist/application/commerce-api.js +1 -1
  3. package/dist/application/models/graphql/index.cjs +0 -4
  4. package/dist/application/models/graphql/index.d.cts +2 -3
  5. package/dist/application/models/graphql/index.d.ts +2 -3
  6. package/dist/application/models/graphql/index.js +1 -3
  7. package/dist/application/models/graphql/queries/getMerchantColorsQuery.d.cts +2 -3
  8. package/dist/application/models/graphql/queries/getMerchantColorsQuery.d.ts +2 -3
  9. package/dist/application/models/graphql/queries/getWidgetConfigQuery.cjs +22 -3
  10. package/dist/application/models/graphql/queries/getWidgetConfigQuery.js +22 -3
  11. package/dist/application/models/index.cjs +0 -4
  12. package/dist/application/models/index.d.cts +2 -3
  13. package/dist/application/models/index.d.ts +2 -3
  14. package/dist/application/models/index.js +1 -3
  15. package/dist/application/utils/index.cjs +1 -1
  16. package/dist/application/utils/index.js +1 -1
  17. package/dist/atoms/app/index.d.cts +7 -7
  18. package/dist/atoms/app/index.d.ts +7 -7
  19. package/dist/atoms/chat/chatState.d.cts +19 -19
  20. package/dist/atoms/chat/chatState.d.ts +19 -19
  21. package/dist/atoms/chat/form.d.cts +2 -2
  22. package/dist/atoms/chat/form.d.ts +2 -2
  23. package/dist/atoms/chat/index.d.cts +2 -2
  24. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  25. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  26. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  27. package/dist/atoms/chat/messageQueue.d.ts +6 -6
  28. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  29. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  30. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  31. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  32. package/dist/atoms/chat/replies.d.cts +3 -3
  33. package/dist/atoms/chat/replies.d.ts +3 -3
  34. package/dist/atoms/chat/suggestions.d.cts +2 -2
  35. package/dist/atoms/chat/suggestions.d.ts +2 -2
  36. package/dist/atoms/envive/enviveConfig.d.cts +13 -13
  37. package/dist/atoms/envive/enviveConfig.d.ts +14 -14
  38. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  39. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  40. package/dist/atoms/org/customerService.d.cts +6 -6
  41. package/dist/atoms/org/customerService.d.ts +6 -6
  42. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  43. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  44. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  45. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  46. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  47. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  48. package/dist/atoms/search/chatSearch.d.cts +17 -17
  49. package/dist/atoms/search/chatSearch.d.ts +17 -17
  50. package/dist/atoms/search/searchAPI.d.cts +13 -13
  51. package/dist/atoms/search/searchAPI.d.ts +13 -13
  52. package/dist/atoms/search/types.d.cts +1 -1
  53. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  54. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  55. package/dist/contexts/pageContext/pageContext.cjs +1 -1
  56. package/dist/contexts/pageContext/pageContext.js +1 -1
  57. package/dist/contexts/types.d.cts +1 -1
  58. package/dist/contexts/types.d.ts +1 -1
  59. package/dist/contexts/typesV3.cjs +1 -1
  60. package/dist/contexts/typesV3.d.cts +8 -1
  61. package/dist/contexts/typesV3.d.ts +8 -1
  62. package/dist/contexts/typesV3.js +1 -1
  63. package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +22 -31
  64. package/dist/contexts/widgetConfigContext/widgetConfigContext.js +22 -31
  65. package/dist/hooks/Intersection/useIntersection.cjs +14 -3
  66. package/dist/hooks/Intersection/useIntersection.js +14 -3
  67. package/dist/hooks/PageViewedEvent/usePageViewedEvent.cjs +1 -1
  68. package/dist/hooks/PageViewedEvent/usePageViewedEvent.js +1 -1
  69. package/dist/hooks/utils.d.cts +1 -1
  70. package/dist/hooks/utils.d.ts +1 -1
  71. package/dist/services/enviveConfigService/enviveConfigService.cjs +3 -24
  72. package/dist/services/enviveConfigService/enviveConfigService.js +4 -25
  73. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +59 -54
  74. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +60 -54
  75. package/dist/services/hardcopyService/hardcopyService.cjs +1 -1
  76. package/dist/services/hardcopyService/hardcopyService.js +1 -1
  77. package/dist/types/config-versions.cjs +1 -3
  78. package/dist/types/config-versions.js +2 -3
  79. package/package.json +1 -1
  80. package/src/application/models/graphql/index.ts +0 -1
  81. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +4 -15
  82. package/src/application/models/graphql/queries/getWidgetConfigQuery.ts +35 -14
  83. package/src/application/models/index.ts +0 -1
  84. package/src/contexts/pageContext/__tests__/pageContext.test.tsx +1 -2
  85. package/src/contexts/pageContext/pageContext.tsx +1 -2
  86. package/src/contexts/typesV3.ts +7 -0
  87. package/src/contexts/widgetConfigContext/__tests__/widgetConfigContext.test.tsx +52 -0
  88. package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +39 -36
  89. package/src/hooks/Intersection/__tests__/useIntersection.test.ts +134 -0
  90. package/src/hooks/Intersection/useIntersection.ts +20 -4
  91. package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +51 -75
  92. package/src/services/enviveConfigService/__tests__/fetchGraphQLConfig.test.ts +242 -90
  93. package/src/services/enviveConfigService/enviveConfigService.ts +15 -41
  94. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +106 -68
  95. package/dist/application/models/graphql/queries/getColorsAndFrontendQuery.cjs +0 -18
  96. package/dist/application/models/graphql/queries/getColorsAndFrontendQuery.js +0 -18
  97. package/dist/application/models/graphql/queries/getMerchantColorsQuery.cjs +0 -18
  98. package/dist/application/models/graphql/queries/getMerchantColorsQuery.js +0 -18
  99. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.cjs +0 -18
  100. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.d.cts +0 -75
  101. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.d.ts +0 -75
  102. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.js +0 -18
  103. package/src/application/models/graphql/queries/getColorsAndFrontendQuery.ts +0 -13
  104. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +0 -103
@@ -13,38 +13,29 @@ const WidgetConfigProvider = ({ children }) => {
13
13
  const [isLoadingWidgetConfig, setIsLoadingWidgetConfig] = useState(false);
14
14
  const getWidgetConfig = useCallback(async (request) => {
15
15
  setIsLoadingWidgetConfig(true);
16
- logger.logDebug("retrieving widget config", {
17
- widgetConfigId: request.widgetConfigId,
18
- widgetType: request.widgetType
19
- });
20
- if (isFrontendConfigLoading) {
16
+ try {
17
+ logger.logDebug("retrieving widget config", {
18
+ widgetConfigId: request.widgetConfigId,
19
+ widgetType: request.widgetType
20
+ });
21
+ if (isFrontendConfigLoading) throw new Error("Frontend config is loading");
22
+ const { widgetConfigId, widgetType } = request;
23
+ const response = frontendConfig?.widgetConfigs?.[widgetConfigId];
24
+ logger.logDebug("returning widget config response", response);
25
+ if (widgetConfigId === "fake-widget-config-id") return {};
26
+ if ([
27
+ WidgetTypeV3.SocialProofV3,
28
+ WidgetTypeV3.ChatPreviewV3,
29
+ WidgetTypeV3.ChatPreviewComparisonV3,
30
+ WidgetTypeV3.ChatPreviewLoadingV3
31
+ ].includes(widgetType)) {
32
+ if (response?.type !== WidgetTypeV3.SocialProofV3) throw new Error(`Widget type: ${widgetType} does not match widget config type: ${response?.type}`);
33
+ } else if (response?.type !== widgetType) throw new Error(`Widget type: ${widgetType} does not match widget config type: ${response?.type}`);
34
+ if (!response) throw new Error(`No widget config response found for widget type: ${request.widgetType} and widget config id: ${request.widgetConfigId}`);
35
+ return response;
36
+ } finally {
21
37
  setIsLoadingWidgetConfig(false);
22
- throw new Error("Frontend config is loading");
23
38
  }
24
- const { widgetConfigId, widgetType } = request;
25
- const response = frontendConfig?.widgetConfigs?.[widgetConfigId];
26
- logger.logDebug("returning widget config response", response);
27
- if (widgetConfigId === "fake-widget-config-id") return {};
28
- if ([
29
- WidgetTypeV3.SocialProofV3,
30
- WidgetTypeV3.ChatPreviewV3,
31
- WidgetTypeV3.ChatPreviewComparisonV3,
32
- WidgetTypeV3.ChatPreviewLoadingV3
33
- ].includes(widgetType)) {
34
- if (response?.type !== WidgetTypeV3.SocialProofV3) {
35
- setIsLoadingWidgetConfig(false);
36
- throw new Error(`Widget type: ${widgetType} does not match widget config type: ${response?.type}`);
37
- }
38
- } else if (response?.type !== widgetType) {
39
- setIsLoadingWidgetConfig(false);
40
- throw new Error(`Widget type: ${widgetType} does not match widget config type: ${response?.type}`);
41
- }
42
- if (!response) {
43
- setIsLoadingWidgetConfig(false);
44
- throw new Error(`No widget config response found for widget type: ${request.widgetType} and widget config id: ${request.widgetConfigId}`);
45
- }
46
- setIsLoadingWidgetConfig(false);
47
- return response;
48
39
  }, [frontendConfig, isFrontendConfigLoading]);
49
40
  const isLoading = isFrontendConfigLoading || isLoadingWidgetConfig;
50
41
  const value = useMemo(() => ({
@@ -64,4 +55,4 @@ const useWidgetConfig = () => {
64
55
 
65
56
  //#endregion
66
57
  export { WidgetConfigProvider, useWidgetConfig };
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0Q29uZmlnQ29udGV4dC5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsIldpZGdldENvbmZpZ1Byb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfT4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvd2lkZ2V0Q29uZmlnQ29udGV4dC93aWRnZXRDb25maWdDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIGNyZWF0ZUNvbnRleHQsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IHVzZU5ld09yZ0NvbmZpZyB9IGZyb20gJ3NyYy9ob29rcy9OZXdPcmdDb25maWcnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnVjMsIFdpZGdldFR5cGVWMyB9IGZyb20gJy4uL3R5cGVzVjMnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCd3aWRnZXRDb25maWdDb250ZXh0Jyk7XG5cbmludGVyZmFjZSBXaWRnZXRDb25maWdSZXF1ZXN0IHtcbiAgd2lkZ2V0VHlwZTogV2lkZ2V0VHlwZVYzO1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgV2lkZ2V0Q29uZmlnQ29udGV4dFR5cGUge1xuICBnZXRXaWRnZXRDb25maWc6IChyZXF1ZXN0OiBXaWRnZXRDb25maWdSZXF1ZXN0KSA9PiBQcm9taXNlPFdpZGdldENvbmZpZ1YzPjtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xufVxuXG5jb25zdCBXaWRnZXRDb25maWdDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxXaWRnZXRDb25maWdDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IFdpZGdldENvbmZpZ1Byb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgZnJvbnRlbmRDb25maWcsIGxvYWRpbmc6IGlzRnJvbnRlbmRDb25maWdMb2FkaW5nIH0gPSB1c2VOZXdPcmdDb25maWcoKTtcbiAgY29uc3QgW2lzTG9hZGluZ1dpZGdldENvbmZpZywgc2V0SXNMb2FkaW5nV2lkZ2V0Q29uZmlnXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBnZXRXaWRnZXRDb25maWcgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdDogV2lkZ2V0Q29uZmlnUmVxdWVzdCk6IFByb21pc2U8V2lkZ2V0Q29uZmlnVjM+ID0+IHtcbiAgICAgIHNldElzTG9hZGluZ1dpZGdldENvbmZpZyh0cnVlKTtcbiAgICAgIGxvZ2dlci5sb2dEZWJ1ZygncmV0cmlldmluZyB3aWRnZXQgY29uZmlnJywge1xuICAgICAgICB3aWRnZXRDb25maWdJZDogcmVxdWVzdC53aWRnZXRDb25maWdJZCxcbiAgICAgICAgd2lkZ2V0VHlwZTogcmVxdWVzdC53aWRnZXRUeXBlLFxuICAgICAgfSk7XG4gICAgICBpZiAoaXNGcm9udGVuZENvbmZpZ0xvYWRpbmcpIHtcbiAgICAgICAgc2V0SXNMb2FkaW5nV2lkZ2V0Q29uZmlnKGZhbHNlKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGcm9udGVuZCBjb25maWcgaXMgbG9hZGluZycpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHdpZGdldENvbmZpZ0lkLCB3aWRnZXRUeXBlIH0gPSByZXF1ZXN0O1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBmcm9udGVuZENvbmZpZz8ud2lkZ2V0Q29uZmlncz8uW3dpZGdldENvbmZpZ0lkXTtcbiAgICAgIGxvZ2dlci5sb2dEZWJ1ZygncmV0dXJuaW5nIHdpZGdldCBjb25maWcgcmVzcG9uc2UnLCByZXNwb25zZSk7XG5cbiAgICAgIGlmICh3aWRnZXRDb25maWdJZCA9PT0gJ2Zha2Utd2lkZ2V0LWNvbmZpZy1pZCcpIHtcbiAgICAgICAgcmV0dXJuIHt9IGFzIFdpZGdldENvbmZpZ1YzO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIFtcbiAgICAgICAgICBXaWRnZXRUeXBlVjMuU29jaWFsUHJvb2ZWMyxcbiAgICAgICAgICBXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdWMyxcbiAgICAgICAgICBXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdDb21wYXJpc29uVjMsXG4gICAgICAgICAgV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzLFxuICAgICAgICBdLmluY2x1ZGVzKHdpZGdldFR5cGUpXG4gICAgICApIHtcbiAgICAgICAgaWYgKHJlc3BvbnNlPy50eXBlICE9PSBXaWRnZXRUeXBlVjMuU29jaWFsUHJvb2ZWMykge1xuICAgICAgICAgIHNldElzTG9hZGluZ1dpZGdldENvbmZpZyhmYWxzZSk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFdpZGdldCB0eXBlOiAke3dpZGdldFR5cGV9IGRvZXMgbm90IG1hdGNoIHdpZGdldCBjb25maWcgdHlwZTogJHtyZXNwb25zZT8udHlwZX1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2U/LnR5cGUgIT09IHdpZGdldFR5cGUpIHtcbiAgICAgICAgc2V0SXNMb2FkaW5nV2lkZ2V0Q29uZmlnKGZhbHNlKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBXaWRnZXQgdHlwZTogJHt3aWRnZXRUeXBlfSBkb2VzIG5vdCBtYXRjaCB3aWRnZXQgY29uZmlnIHR5cGU6ICR7cmVzcG9uc2U/LnR5cGV9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICBzZXRJc0xvYWRpbmdXaWRnZXRDb25maWcoZmFsc2UpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYE5vIHdpZGdldCBjb25maWcgcmVzcG9uc2UgZm91bmQgZm9yIHdpZGdldCB0eXBlOiAke3JlcXVlc3Qud2lkZ2V0VHlwZX0gYW5kIHdpZGdldCBjb25maWcgaWQ6ICR7cmVxdWVzdC53aWRnZXRDb25maWdJZH1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgc2V0SXNMb2FkaW5nV2lkZ2V0Q29uZmlnKGZhbHNlKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9LFxuICAgIFtmcm9udGVuZENvbmZpZywgaXNGcm9udGVuZENvbmZpZ0xvYWRpbmddLFxuICApO1xuXG4gIGNvbnN0IGlzTG9hZGluZyA9IGlzRnJvbnRlbmRDb25maWdMb2FkaW5nIHx8IGlzTG9hZGluZ1dpZGdldENvbmZpZztcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oKCkgPT4gKHsgZ2V0V2lkZ2V0Q29uZmlnLCBpc0xvYWRpbmcgfSksIFtnZXRXaWRnZXRDb25maWcsIGlzTG9hZGluZ10pO1xuXG4gIHJldHVybiA8V2lkZ2V0Q29uZmlnQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L1dpZGdldENvbmZpZ0NvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVdpZGdldENvbmZpZyA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoV2lkZ2V0Q29uZmlnQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlV2lkZ2V0Q29uZmlnIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBXaWRnZXRDb25maWdQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxNQUFNLFNBQVMsSUFBSUEsZUFBTyxzQkFBc0I7QUFZaEQsTUFBTSxzQkFBc0IsY0FBbUQsT0FBVTtBQUV6RixNQUFhQyx3QkFBMkQsRUFBRSxlQUFlO0NBQ3ZGLE1BQU0sRUFBRSxnQkFBZ0IsU0FBUyw0QkFBNEIsaUJBQWlCO0NBQzlFLE1BQU0sQ0FBQyx1QkFBdUIsNEJBQTRCLFNBQVMsTUFBTTtDQUV6RSxNQUFNLGtCQUFrQixZQUN0QixPQUFPLFlBQTBEO0FBQy9ELDJCQUF5QixLQUFLO0FBQzlCLFNBQU8sU0FBUyw0QkFBNEI7R0FDMUMsZ0JBQWdCLFFBQVE7R0FDeEIsWUFBWSxRQUFRO0dBQ3JCLENBQUM7QUFDRixNQUFJLHlCQUF5QjtBQUMzQiw0QkFBeUIsTUFBTTtBQUMvQixTQUFNLElBQUksTUFBTSw2QkFBNkI7O0VBRy9DLE1BQU0sRUFBRSxnQkFBZ0IsZUFBZTtFQUN2QyxNQUFNLFdBQVcsZ0JBQWdCLGdCQUFnQjtBQUNqRCxTQUFPLFNBQVMsb0NBQW9DLFNBQVM7QUFFN0QsTUFBSSxtQkFBbUIsd0JBQ3JCLFFBQU8sRUFBRTtBQUdYLE1BQ0U7R0FDRSxhQUFhO0dBQ2IsYUFBYTtHQUNiLGFBQWE7R0FDYixhQUFhO0dBQ2QsQ0FBQyxTQUFTLFdBQVcsRUFFdEI7T0FBSSxVQUFVLFNBQVMsYUFBYSxlQUFlO0FBQ2pELDZCQUF5QixNQUFNO0FBQy9CLFVBQU0sSUFBSSxNQUNSLGdCQUFnQixXQUFXLHNDQUFzQyxVQUFVLE9BQzVFOzthQUVNLFVBQVUsU0FBUyxZQUFZO0FBQ3hDLDRCQUF5QixNQUFNO0FBQy9CLFNBQU0sSUFBSSxNQUNSLGdCQUFnQixXQUFXLHNDQUFzQyxVQUFVLE9BQzVFOztBQUdILE1BQUksQ0FBQyxVQUFVO0FBQ2IsNEJBQXlCLE1BQU07QUFDL0IsU0FBTSxJQUFJLE1BQ1Isb0RBQW9ELFFBQVEsV0FBVyx5QkFBeUIsUUFBUSxpQkFDekc7O0FBRUgsMkJBQXlCLE1BQU07QUFDL0IsU0FBTztJQUVULENBQUMsZ0JBQWdCLHdCQUF3QixDQUMxQztDQUVELE1BQU0sWUFBWSwyQkFBMkI7Q0FFN0MsTUFBTSxRQUFRLGVBQWU7RUFBRTtFQUFpQjtFQUFXLEdBQUcsQ0FBQyxpQkFBaUIsVUFBVSxDQUFDO0FBRTNGLFFBQU8sb0JBQUMsb0JBQW9CO0VBQWdCO0VBQVE7R0FBd0M7O0FBRzlGLE1BQWEsd0JBQXdCO0NBQ25DLE1BQU0sVUFBVSxXQUFXLG9CQUFvQjtBQUMvQyxLQUFJLENBQUMsUUFDSCxPQUFNLElBQUksTUFBTSw2REFBNkQ7QUFFL0UsUUFBTyJ9
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0Q29uZmlnQ29udGV4dC5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsIldpZGdldENvbmZpZ1Byb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfT4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvd2lkZ2V0Q29uZmlnQ29udGV4dC93aWRnZXRDb25maWdDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIGNyZWF0ZUNvbnRleHQsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IHVzZU5ld09yZ0NvbmZpZyB9IGZyb20gJ3NyYy9ob29rcy9OZXdPcmdDb25maWcnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnVjMsIFdpZGdldFR5cGVWMyB9IGZyb20gJy4uL3R5cGVzVjMnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCd3aWRnZXRDb25maWdDb250ZXh0Jyk7XG5cbmludGVyZmFjZSBXaWRnZXRDb25maWdSZXF1ZXN0IHtcbiAgd2lkZ2V0VHlwZTogV2lkZ2V0VHlwZVYzO1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgV2lkZ2V0Q29uZmlnQ29udGV4dFR5cGUge1xuICBnZXRXaWRnZXRDb25maWc6IChyZXF1ZXN0OiBXaWRnZXRDb25maWdSZXF1ZXN0KSA9PiBQcm9taXNlPFdpZGdldENvbmZpZ1YzPjtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xufVxuXG5jb25zdCBXaWRnZXRDb25maWdDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxXaWRnZXRDb25maWdDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IFdpZGdldENvbmZpZ1Byb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgZnJvbnRlbmRDb25maWcsIGxvYWRpbmc6IGlzRnJvbnRlbmRDb25maWdMb2FkaW5nIH0gPSB1c2VOZXdPcmdDb25maWcoKTtcbiAgY29uc3QgW2lzTG9hZGluZ1dpZGdldENvbmZpZywgc2V0SXNMb2FkaW5nV2lkZ2V0Q29uZmlnXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBnZXRXaWRnZXRDb25maWcgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdDogV2lkZ2V0Q29uZmlnUmVxdWVzdCk6IFByb21pc2U8V2lkZ2V0Q29uZmlnVjM+ID0+IHtcbiAgICAgIC8vIGBpc0xvYWRpbmdXaWRnZXRDb25maWdgIGlzIHByb3ZpZGVyLWxldmVsIHN0YXRlIHNoYXJlZCBieSBldmVyeSB3aWRnZXQgb24gdGhlIHBhZ2UsXG4gICAgICAvLyBzbyBpdCBtdXN0IGJlIHJlc2V0IG9uIEVWRVJZIGV4aXQgcGF0aCDigJQgdGhlIGZpbmFsbHkgZ3VhcmFudGVlcyB0aGF0LiBBIGxlYWtlZFxuICAgICAgLy8gYHRydWVgICh0aGUgZmFrZS13aWRnZXQtY29uZmlnLWlkIHJldHVybiB1c2VkIHRvIHNraXAgdGhlIHJlc2V0KSBrZXB0IGFsbFxuICAgICAgLy8gbm90LXlldC1zZXR0bGVkIHdpZGdldHMgc3R1Y2sgcmVuZGVyaW5nIHRoZWlyIGxvYWRpbmcgc3RhdGUuXG4gICAgICBzZXRJc0xvYWRpbmdXaWRnZXRDb25maWcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3JldHJpZXZpbmcgd2lkZ2V0IGNvbmZpZycsIHtcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogcmVxdWVzdC53aWRnZXRDb25maWdJZCxcbiAgICAgICAgICB3aWRnZXRUeXBlOiByZXF1ZXN0LndpZGdldFR5cGUsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaXNGcm9udGVuZENvbmZpZ0xvYWRpbmcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Zyb250ZW5kIGNvbmZpZyBpcyBsb2FkaW5nJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHdpZGdldENvbmZpZ0lkLCB3aWRnZXRUeXBlIH0gPSByZXF1ZXN0O1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGZyb250ZW5kQ29uZmlnPy53aWRnZXRDb25maWdzPy5bd2lkZ2V0Q29uZmlnSWRdO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3JldHVybmluZyB3aWRnZXQgY29uZmlnIHJlc3BvbnNlJywgcmVzcG9uc2UpO1xuXG4gICAgICAgIGlmICh3aWRnZXRDb25maWdJZCA9PT0gJ2Zha2Utd2lkZ2V0LWNvbmZpZy1pZCcpIHtcbiAgICAgICAgICByZXR1cm4ge30gYXMgV2lkZ2V0Q29uZmlnVjM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgW1xuICAgICAgICAgICAgV2lkZ2V0VHlwZVYzLlNvY2lhbFByb29mVjMsXG4gICAgICAgICAgICBXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdWMyxcbiAgICAgICAgICAgIFdpZGdldFR5cGVWMy5DaGF0UHJldmlld0NvbXBhcmlzb25WMyxcbiAgICAgICAgICAgIFdpZGdldFR5cGVWMy5DaGF0UHJldmlld0xvYWRpbmdWMyxcbiAgICAgICAgICBdLmluY2x1ZGVzKHdpZGdldFR5cGUpXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChyZXNwb25zZT8udHlwZSAhPT0gV2lkZ2V0VHlwZVYzLlNvY2lhbFByb29mVjMpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYFdpZGdldCB0eXBlOiAke3dpZGdldFR5cGV9IGRvZXMgbm90IG1hdGNoIHdpZGdldCBjb25maWcgdHlwZTogJHtyZXNwb25zZT8udHlwZX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2U/LnR5cGUgIT09IHdpZGdldFR5cGUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgV2lkZ2V0IHR5cGU6ICR7d2lkZ2V0VHlwZX0gZG9lcyBub3QgbWF0Y2ggd2lkZ2V0IGNvbmZpZyB0eXBlOiAke3Jlc3BvbnNlPy50eXBlfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVzcG9uc2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgTm8gd2lkZ2V0IGNvbmZpZyByZXNwb25zZSBmb3VuZCBmb3Igd2lkZ2V0IHR5cGU6ICR7cmVxdWVzdC53aWRnZXRUeXBlfSBhbmQgd2lkZ2V0IGNvbmZpZyBpZDogJHtyZXF1ZXN0LndpZGdldENvbmZpZ0lkfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc0xvYWRpbmdXaWRnZXRDb25maWcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2Zyb250ZW5kQ29uZmlnLCBpc0Zyb250ZW5kQ29uZmlnTG9hZGluZ10sXG4gICk7XG5cbiAgY29uc3QgaXNMb2FkaW5nID0gaXNGcm9udGVuZENvbmZpZ0xvYWRpbmcgfHwgaXNMb2FkaW5nV2lkZ2V0Q29uZmlnO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbygoKSA9PiAoeyBnZXRXaWRnZXRDb25maWcsIGlzTG9hZGluZyB9KSwgW2dldFdpZGdldENvbmZpZywgaXNMb2FkaW5nXSk7XG5cbiAgcmV0dXJuIDxXaWRnZXRDb25maWdDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvV2lkZ2V0Q29uZmlnQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlV2lkZ2V0Q29uZmlnID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChXaWRnZXRDb25maWdDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VXaWRnZXRDb25maWcgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFdpZGdldENvbmZpZ1Byb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUtBLE1BQU0sU0FBUyxJQUFJQSxlQUFPLHNCQUFzQjtBQVloRCxNQUFNLHNCQUFzQixjQUFtRCxPQUFVO0FBRXpGLE1BQWFDLHdCQUEyRCxFQUFFLGVBQWU7Q0FDdkYsTUFBTSxFQUFFLGdCQUFnQixTQUFTLDRCQUE0QixpQkFBaUI7Q0FDOUUsTUFBTSxDQUFDLHVCQUF1Qiw0QkFBNEIsU0FBUyxNQUFNO0NBRXpFLE1BQU0sa0JBQWtCLFlBQ3RCLE9BQU8sWUFBMEQ7QUFLL0QsMkJBQXlCLEtBQUs7QUFDOUIsTUFBSTtBQUNGLFVBQU8sU0FBUyw0QkFBNEI7SUFDMUMsZ0JBQWdCLFFBQVE7SUFDeEIsWUFBWSxRQUFRO0lBQ3JCLENBQUM7QUFDRixPQUFJLHdCQUNGLE9BQU0sSUFBSSxNQUFNLDZCQUE2QjtHQUcvQyxNQUFNLEVBQUUsZ0JBQWdCLGVBQWU7R0FDdkMsTUFBTSxXQUFXLGdCQUFnQixnQkFBZ0I7QUFDakQsVUFBTyxTQUFTLG9DQUFvQyxTQUFTO0FBRTdELE9BQUksbUJBQW1CLHdCQUNyQixRQUFPLEVBQUU7QUFHWCxPQUNFO0lBQ0UsYUFBYTtJQUNiLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNkLENBQUMsU0FBUyxXQUFXLEVBRXRCO1FBQUksVUFBVSxTQUFTLGFBQWEsY0FDbEMsT0FBTSxJQUFJLE1BQ1IsZ0JBQWdCLFdBQVcsc0NBQXNDLFVBQVUsT0FDNUU7Y0FFTSxVQUFVLFNBQVMsV0FDNUIsT0FBTSxJQUFJLE1BQ1IsZ0JBQWdCLFdBQVcsc0NBQXNDLFVBQVUsT0FDNUU7QUFHSCxPQUFJLENBQUMsU0FDSCxPQUFNLElBQUksTUFDUixvREFBb0QsUUFBUSxXQUFXLHlCQUF5QixRQUFRLGlCQUN6RztBQUVILFVBQU87WUFDQztBQUNSLDRCQUF5QixNQUFNOztJQUduQyxDQUFDLGdCQUFnQix3QkFBd0IsQ0FDMUM7Q0FFRCxNQUFNLFlBQVksMkJBQTJCO0NBRTdDLE1BQU0sUUFBUSxlQUFlO0VBQUU7RUFBaUI7RUFBVyxHQUFHLENBQUMsaUJBQWlCLFVBQVUsQ0FBQztBQUUzRixRQUFPLG9CQUFDLG9CQUFvQjtFQUFnQjtFQUFRO0dBQXdDOztBQUc5RixNQUFhLHdCQUF3QjtDQUNuQyxNQUFNLFVBQVUsV0FBVyxvQkFBb0I7QUFDL0MsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0sNkRBQTZEO0FBRS9FLFFBQU8ifQ==
@@ -7,18 +7,27 @@ const logger = new require_logger.default("useIntersection");
7
7
  const useIntersection = (element, rootMargin) => {
8
8
  const [isVisible, setIsVisible] = (0, react.useState)(false);
9
9
  const observerRef = (0, react.useRef)(null);
10
+ const observedNodeRef = (0, react.useRef)(null);
10
11
  (0, react.useEffect)(() => {
11
12
  const current = element?.current;
12
13
  logger.logDebug("effect ran", {
13
14
  elementCurrent: current,
14
15
  rootMargin,
15
- alreadyObserving: !!observerRef.current
16
+ alreadyObserving: !!observerRef.current,
17
+ observingCurrentNode: observedNodeRef.current === current
16
18
  });
17
19
  if (!current) {
18
20
  logger.logDebug("element.current is null — observer NOT attached");
19
21
  return;
20
22
  }
21
- if (observerRef.current) return;
23
+ if (observedNodeRef.current === current) return;
24
+ if (observerRef.current) {
25
+ logger.logDebug("observed node was replaced — re-attaching observer", {
26
+ previousNode: observedNodeRef.current,
27
+ newNode: current
28
+ });
29
+ observerRef.current.disconnect();
30
+ }
22
31
  const observer = new IntersectionObserver(([entry]) => {
23
32
  logger.logDebug("IntersectionObserver fired", {
24
33
  isIntersecting: entry.isIntersecting,
@@ -30,12 +39,14 @@ const useIntersection = (element, rootMargin) => {
30
39
  }, { rootMargin });
31
40
  observer.observe(current);
32
41
  observerRef.current = observer;
42
+ observedNodeRef.current = current;
33
43
  logger.logDebug("observer attached to element", current);
34
44
  });
35
45
  (0, react.useEffect)(() => {
36
46
  return () => {
37
47
  observerRef.current?.disconnect();
38
48
  observerRef.current = null;
49
+ observedNodeRef.current = null;
39
50
  };
40
51
  }, []);
41
52
  return isVisible;
@@ -43,4 +54,4 @@ const useIntersection = (element, rootMargin) => {
43
54
 
44
55
  //#endregion
45
56
  exports.useIntersection = useIntersection;
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmNqcyIsIm5hbWVzIjpbIkxvZ2dlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9JbnRlcnNlY3Rpb24vdXNlSW50ZXJzZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCd1c2VJbnRlcnNlY3Rpb24nKTtcblxuLy8gaHR0cHM6Ly9yYXNpbGJhaWRhci5tZWRpdW0uY29tL3RyaWdnZXItZXZlbnQtd2hlbi1lbGVtZW50LWVudGVycy12aWV3cG9ydC10aGUtcmVhY3Qtd2F5LTE2ODUwOWRhMmUyM1xuZXhwb3J0IGNvbnN0IHVzZUludGVyc2VjdGlvbiA9IChlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LCByb290TWFyZ2luOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgW2lzVmlzaWJsZSwgc2V0SXNWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgb2JzZXJ2ZXJSZWYgPSB1c2VSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsPihudWxsKTtcblxuICAvLyBSdW5zIGFmdGVyIGV2ZXJ5IHJlbmRlciBzbyBpdCBjYXRjaGVzIHdoZW4gZWxlbWVudC5jdXJyZW50IHRyYW5zaXRpb25zIGZyb20gbnVsbFxuICAvLyB0byBhIG1vdW50ZWQgRE9NIG5vZGUgKGUuZy4gd2hlbiBhIGNvbmRpdGlvbmFsbHktcmVuZGVyZWQgZWxlbWVudCBmaXJzdCBhcHBlYXJzKS5cbiAgLy8gQmFpbHMgaW1tZWRpYXRlbHkgb25jZSB0aGUgb2JzZXJ2ZXIgaXMgYXR0YWNoZWQsIGtlZXBpbmcgcGVyLXJlbmRlciBjb3N0IE8oMSkuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudCA9IGVsZW1lbnQ/LmN1cnJlbnQ7XG4gICAgbG9nZ2VyLmxvZ0RlYnVnKCdlZmZlY3QgcmFuJywge1xuICAgICAgZWxlbWVudEN1cnJlbnQ6IGN1cnJlbnQsXG4gICAgICByb290TWFyZ2luLFxuICAgICAgYWxyZWFkeU9ic2VydmluZzogISFvYnNlcnZlclJlZi5jdXJyZW50LFxuICAgIH0pO1xuXG4gICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICBsb2dnZXIubG9nRGVidWcoJ2VsZW1lbnQuY3VycmVudCBpcyBudWxsIOKAlCBvYnNlcnZlciBOT1QgYXR0YWNoZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG9ic2VydmVyUmVmLmN1cnJlbnQpIHJldHVybjsgLy8gYWxyZWFkeSBvYnNlcnZpbmdcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdJbnRlcnNlY3Rpb25PYnNlcnZlciBmaXJlZCcsIHtcbiAgICAgICAgICBpc0ludGVyc2VjdGluZzogZW50cnkuaXNJbnRlcnNlY3RpbmcsXG4gICAgICAgICAgaW50ZXJzZWN0aW9uUmF0aW86IGVudHJ5LmludGVyc2VjdGlvblJhdGlvLFxuICAgICAgICAgIGJvdW5kaW5nQ2xpZW50UmVjdDogZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LFxuICAgICAgICAgIHRhcmdldDogZW50cnkudGFyZ2V0LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0SXNWaXNpYmxlKGVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgIH0sXG4gICAgICB7IHJvb3RNYXJnaW4gfSxcbiAgICApO1xuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50KTtcbiAgICBvYnNlcnZlclJlZi5jdXJyZW50ID0gb2JzZXJ2ZXI7XG4gICAgbG9nZ2VyLmxvZ0RlYnVnKCdvYnNlcnZlciBhdHRhY2hlZCB0byBlbGVtZW50JywgY3VycmVudCk7XG4gIH0pO1xuXG4gIC8vIERpc2Nvbm5lY3Qgb24gdW5tb3VudCBvbmx5IOKAlCBpbnRlbnRpb25hbGx5IHNlcGFyYXRlIGZyb20gdGhlIHNldHVwIGVmZmVjdCBhYm92ZS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudD8uZGlzY29ubmVjdCgpO1xuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBpc1Zpc2libGU7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUdBLE1BQU0sU0FBUyxJQUFJQSx1QkFBTyxrQkFBa0I7QUFHNUMsTUFBYSxtQkFBbUIsU0FBaUMsZUFBdUI7Q0FDdEYsTUFBTSxDQUFDLFdBQVcsb0NBQXlCLE1BQU07Q0FDakQsTUFBTSxnQ0FBa0QsS0FBSztBQUs3RCw0QkFBZ0I7RUFDZCxNQUFNLFVBQVUsU0FBUztBQUN6QixTQUFPLFNBQVMsY0FBYztHQUM1QixnQkFBZ0I7R0FDaEI7R0FDQSxrQkFBa0IsQ0FBQyxDQUFDLFlBQVk7R0FDakMsQ0FBQztBQUVGLE1BQUksQ0FBQyxTQUFTO0FBQ1osVUFBTyxTQUFTLGtEQUFrRDtBQUNsRTs7QUFFRixNQUFJLFlBQVksUUFBUztFQUV6QixNQUFNLFdBQVcsSUFBSSxzQkFDbEIsQ0FBQyxXQUFXO0FBQ1gsVUFBTyxTQUFTLDhCQUE4QjtJQUM1QyxnQkFBZ0IsTUFBTTtJQUN0QixtQkFBbUIsTUFBTTtJQUN6QixvQkFBb0IsTUFBTTtJQUMxQixRQUFRLE1BQU07SUFDZixDQUFDO0FBQ0YsZ0JBQWEsTUFBTSxlQUFlO0tBRXBDLEVBQUUsWUFBWSxDQUNmO0FBRUQsV0FBUyxRQUFRLFFBQVE7QUFDekIsY0FBWSxVQUFVO0FBQ3RCLFNBQU8sU0FBUyxnQ0FBZ0MsUUFBUTtHQUN4RDtBQUdGLDRCQUFnQjtBQUNkLGVBQWE7QUFDWCxlQUFZLFNBQVMsWUFBWTtBQUNqQyxlQUFZLFVBQVU7O0lBRXZCLEVBQUUsQ0FBQztBQUVOLFFBQU8ifQ==
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmNqcyIsIm5hbWVzIjpbIkxvZ2dlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9JbnRlcnNlY3Rpb24vdXNlSW50ZXJzZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCd1c2VJbnRlcnNlY3Rpb24nKTtcblxuLy8gaHR0cHM6Ly9yYXNpbGJhaWRhci5tZWRpdW0uY29tL3RyaWdnZXItZXZlbnQtd2hlbi1lbGVtZW50LWVudGVycy12aWV3cG9ydC10aGUtcmVhY3Qtd2F5LTE2ODUwOWRhMmUyM1xuZXhwb3J0IGNvbnN0IHVzZUludGVyc2VjdGlvbiA9IChlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LCByb290TWFyZ2luOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgW2lzVmlzaWJsZSwgc2V0SXNWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgb2JzZXJ2ZXJSZWYgPSB1c2VSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3Qgb2JzZXJ2ZWROb2RlUmVmID0gdXNlUmVmPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gUnVucyBhZnRlciBldmVyeSByZW5kZXIgc28gaXQgY2F0Y2hlcyB3aGVuIGVsZW1lbnQuY3VycmVudCB0cmFuc2l0aW9ucyBmcm9tIG51bGwgdG8gYVxuICAvLyBtb3VudGVkIERPTSBub2RlLCBBTkQgd2hlbiB0aGUgbm9kZSB1bmRlciB0aGUgcmVmIGlzIHJlcGxhY2VkLiBUaGUgcmVwbGFjZW1lbnQgY2FzZSBpc1xuICAvLyBsb2FkLWJlYXJpbmc6IG1vdW50IGNodXJuIChlLmcuIHRoZSBzaGFkb3ctcm9vdCBwb3J0YWwgcmUtY3JlYXRpbmcgdGhlIHdpZGdldCBzdWJ0cmVlKVxuICAvLyBjYW4gc3dhcCB0aGUgRE9NIG5vZGUgd2hpbGUgdGhpcyBob29rIGluc3RhbmNlIHN1cnZpdmVzLCBhbmQgYW4gb2JzZXJ2ZXIgbGVmdCBvbiB0aGVcbiAgLy8gZGV0YWNoZWQgb2xkIG5vZGUgbmV2ZXIgZmlyZXMgYWdhaW4g4oCUIHRoZSB3aWRnZXQgdGhlbiByZWFkcyBhcyBwZXJtYW5lbnRseSBub3QtdmlzaWJsZVxuICAvLyBhbmQgbmV2ZXIgc3RhcnRzIGxvYWRpbmcuIEJhaWxzIG9uY2UgdGhlIGN1cnJlbnQgbm9kZSBpcyB0aGUgb25lIGJlaW5nIG9ic2VydmVkLFxuICAvLyBrZWVwaW5nIHBlci1yZW5kZXIgY29zdCBPKDEpLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBlbGVtZW50Py5jdXJyZW50O1xuICAgIGxvZ2dlci5sb2dEZWJ1ZygnZWZmZWN0IHJhbicsIHtcbiAgICAgIGVsZW1lbnRDdXJyZW50OiBjdXJyZW50LFxuICAgICAgcm9vdE1hcmdpbixcbiAgICAgIGFscmVhZHlPYnNlcnZpbmc6ICEhb2JzZXJ2ZXJSZWYuY3VycmVudCxcbiAgICAgIG9ic2VydmluZ0N1cnJlbnROb2RlOiBvYnNlcnZlZE5vZGVSZWYuY3VycmVudCA9PT0gY3VycmVudCxcbiAgICB9KTtcblxuICAgIGlmICghY3VycmVudCkge1xuICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdlbGVtZW50LmN1cnJlbnQgaXMgbnVsbCDigJQgb2JzZXJ2ZXIgTk9UIGF0dGFjaGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChvYnNlcnZlZE5vZGVSZWYuY3VycmVudCA9PT0gY3VycmVudCkgcmV0dXJuOyAvLyBhbHJlYWR5IG9ic2VydmluZyB0aGlzIGV4YWN0IG5vZGVcblxuICAgIGlmIChvYnNlcnZlclJlZi5jdXJyZW50KSB7XG4gICAgICBsb2dnZXIubG9nRGVidWcoJ29ic2VydmVkIG5vZGUgd2FzIHJlcGxhY2VkIOKAlCByZS1hdHRhY2hpbmcgb2JzZXJ2ZXInLCB7XG4gICAgICAgIHByZXZpb3VzTm9kZTogb2JzZXJ2ZWROb2RlUmVmLmN1cnJlbnQsXG4gICAgICAgIG5ld05vZGU6IGN1cnJlbnQsXG4gICAgICB9KTtcbiAgICAgIG9ic2VydmVyUmVmLmN1cnJlbnQuZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdJbnRlcnNlY3Rpb25PYnNlcnZlciBmaXJlZCcsIHtcbiAgICAgICAgICBpc0ludGVyc2VjdGluZzogZW50cnkuaXNJbnRlcnNlY3RpbmcsXG4gICAgICAgICAgaW50ZXJzZWN0aW9uUmF0aW86IGVudHJ5LmludGVyc2VjdGlvblJhdGlvLFxuICAgICAgICAgIGJvdW5kaW5nQ2xpZW50UmVjdDogZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LFxuICAgICAgICAgIHRhcmdldDogZW50cnkudGFyZ2V0LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0SXNWaXNpYmxlKGVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgIH0sXG4gICAgICB7IHJvb3RNYXJnaW4gfSxcbiAgICApO1xuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50KTtcbiAgICBvYnNlcnZlclJlZi5jdXJyZW50ID0gb2JzZXJ2ZXI7XG4gICAgb2JzZXJ2ZWROb2RlUmVmLmN1cnJlbnQgPSBjdXJyZW50O1xuICAgIGxvZ2dlci5sb2dEZWJ1Zygnb2JzZXJ2ZXIgYXR0YWNoZWQgdG8gZWxlbWVudCcsIGN1cnJlbnQpO1xuICB9KTtcblxuICAvLyBEaXNjb25uZWN0IG9uIHVubW91bnQgb25seSDigJQgaW50ZW50aW9uYWxseSBzZXBhcmF0ZSBmcm9tIHRoZSBzZXR1cCBlZmZlY3QgYWJvdmUuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIG9ic2VydmVyUmVmLmN1cnJlbnQ/LmRpc2Nvbm5lY3QoKTtcbiAgICAgIG9ic2VydmVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgb2JzZXJ2ZWROb2RlUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gaXNWaXNpYmxlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxNQUFNLFNBQVMsSUFBSUEsdUJBQU8sa0JBQWtCO0FBRzVDLE1BQWEsbUJBQW1CLFNBQWlDLGVBQXVCO0NBQ3RGLE1BQU0sQ0FBQyxXQUFXLG9DQUF5QixNQUFNO0NBQ2pELE1BQU0sZ0NBQWtELEtBQUs7Q0FDN0QsTUFBTSxvQ0FBNkMsS0FBSztBQVN4RCw0QkFBZ0I7RUFDZCxNQUFNLFVBQVUsU0FBUztBQUN6QixTQUFPLFNBQVMsY0FBYztHQUM1QixnQkFBZ0I7R0FDaEI7R0FDQSxrQkFBa0IsQ0FBQyxDQUFDLFlBQVk7R0FDaEMsc0JBQXNCLGdCQUFnQixZQUFZO0dBQ25ELENBQUM7QUFFRixNQUFJLENBQUMsU0FBUztBQUNaLFVBQU8sU0FBUyxrREFBa0Q7QUFDbEU7O0FBRUYsTUFBSSxnQkFBZ0IsWUFBWSxRQUFTO0FBRXpDLE1BQUksWUFBWSxTQUFTO0FBQ3ZCLFVBQU8sU0FBUyxzREFBc0Q7SUFDcEUsY0FBYyxnQkFBZ0I7SUFDOUIsU0FBUztJQUNWLENBQUM7QUFDRixlQUFZLFFBQVEsWUFBWTs7RUFHbEMsTUFBTSxXQUFXLElBQUksc0JBQ2xCLENBQUMsV0FBVztBQUNYLFVBQU8sU0FBUyw4QkFBOEI7SUFDNUMsZ0JBQWdCLE1BQU07SUFDdEIsbUJBQW1CLE1BQU07SUFDekIsb0JBQW9CLE1BQU07SUFDMUIsUUFBUSxNQUFNO0lBQ2YsQ0FBQztBQUNGLGdCQUFhLE1BQU0sZUFBZTtLQUVwQyxFQUFFLFlBQVksQ0FDZjtBQUVELFdBQVMsUUFBUSxRQUFRO0FBQ3pCLGNBQVksVUFBVTtBQUN0QixrQkFBZ0IsVUFBVTtBQUMxQixTQUFPLFNBQVMsZ0NBQWdDLFFBQVE7R0FDeEQ7QUFHRiw0QkFBZ0I7QUFDZCxlQUFhO0FBQ1gsZUFBWSxTQUFTLFlBQVk7QUFDakMsZUFBWSxVQUFVO0FBQ3RCLG1CQUFnQixVQUFVOztJQUUzQixFQUFFLENBQUM7QUFFTixRQUFPIn0=
@@ -6,18 +6,27 @@ const logger = new logger_default("useIntersection");
6
6
  const useIntersection = (element, rootMargin) => {
7
7
  const [isVisible, setIsVisible] = useState(false);
8
8
  const observerRef = useRef(null);
9
+ const observedNodeRef = useRef(null);
9
10
  useEffect(() => {
10
11
  const current = element?.current;
11
12
  logger.logDebug("effect ran", {
12
13
  elementCurrent: current,
13
14
  rootMargin,
14
- alreadyObserving: !!observerRef.current
15
+ alreadyObserving: !!observerRef.current,
16
+ observingCurrentNode: observedNodeRef.current === current
15
17
  });
16
18
  if (!current) {
17
19
  logger.logDebug("element.current is null — observer NOT attached");
18
20
  return;
19
21
  }
20
- if (observerRef.current) return;
22
+ if (observedNodeRef.current === current) return;
23
+ if (observerRef.current) {
24
+ logger.logDebug("observed node was replaced — re-attaching observer", {
25
+ previousNode: observedNodeRef.current,
26
+ newNode: current
27
+ });
28
+ observerRef.current.disconnect();
29
+ }
21
30
  const observer = new IntersectionObserver(([entry]) => {
22
31
  logger.logDebug("IntersectionObserver fired", {
23
32
  isIntersecting: entry.isIntersecting,
@@ -29,12 +38,14 @@ const useIntersection = (element, rootMargin) => {
29
38
  }, { rootMargin });
30
39
  observer.observe(current);
31
40
  observerRef.current = observer;
41
+ observedNodeRef.current = current;
32
42
  logger.logDebug("observer attached to element", current);
33
43
  });
34
44
  useEffect(() => {
35
45
  return () => {
36
46
  observerRef.current?.disconnect();
37
47
  observerRef.current = null;
48
+ observedNodeRef.current = null;
38
49
  };
39
50
  }, []);
40
51
  return isVisible;
@@ -42,4 +53,4 @@ const useIntersection = (element, rootMargin) => {
42
53
 
43
54
  //#endregion
44
55
  export { useIntersection };
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmpzIiwibmFtZXMiOlsiTG9nZ2VyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ludGVyc2VjdGlvbi91c2VJbnRlcnNlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3VzZUludGVyc2VjdGlvbicpO1xuXG4vLyBodHRwczovL3Jhc2lsYmFpZGFyLm1lZGl1bS5jb20vdHJpZ2dlci1ldmVudC13aGVuLWVsZW1lbnQtZW50ZXJzLXZpZXdwb3J0LXRoZS1yZWFjdC13YXktMTY4NTA5ZGEyZTIzXG5leHBvcnQgY29uc3QgdXNlSW50ZXJzZWN0aW9uID0gKGVsZW1lbnQ6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sIHJvb3RNYXJnaW46IHN0cmluZykgPT4ge1xuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRJc1Zpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvYnNlcnZlclJlZiA9IHVzZVJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlciB8IG51bGw+KG51bGwpO1xuXG4gIC8vIFJ1bnMgYWZ0ZXIgZXZlcnkgcmVuZGVyIHNvIGl0IGNhdGNoZXMgd2hlbiBlbGVtZW50LmN1cnJlbnQgdHJhbnNpdGlvbnMgZnJvbSBudWxsXG4gIC8vIHRvIGEgbW91bnRlZCBET00gbm9kZSAoZS5nLiB3aGVuIGEgY29uZGl0aW9uYWxseS1yZW5kZXJlZCBlbGVtZW50IGZpcnN0IGFwcGVhcnMpLlxuICAvLyBCYWlscyBpbW1lZGlhdGVseSBvbmNlIHRoZSBvYnNlcnZlciBpcyBhdHRhY2hlZCwga2VlcGluZyBwZXItcmVuZGVyIGNvc3QgTygxKS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gZWxlbWVudD8uY3VycmVudDtcbiAgICBsb2dnZXIubG9nRGVidWcoJ2VmZmVjdCByYW4nLCB7XG4gICAgICBlbGVtZW50Q3VycmVudDogY3VycmVudCxcbiAgICAgIHJvb3RNYXJnaW4sXG4gICAgICBhbHJlYWR5T2JzZXJ2aW5nOiAhIW9ic2VydmVyUmVmLmN1cnJlbnQsXG4gICAgfSk7XG5cbiAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgIGxvZ2dlci5sb2dEZWJ1ZygnZWxlbWVudC5jdXJyZW50IGlzIG51bGwg4oCUIG9ic2VydmVyIE5PVCBhdHRhY2hlZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAob2JzZXJ2ZXJSZWYuY3VycmVudCkgcmV0dXJuOyAvLyBhbHJlYWR5IG9ic2VydmluZ1xuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAoW2VudHJ5XSkgPT4ge1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ0ludGVyc2VjdGlvbk9ic2VydmVyIGZpcmVkJywge1xuICAgICAgICAgIGlzSW50ZXJzZWN0aW5nOiBlbnRyeS5pc0ludGVyc2VjdGluZyxcbiAgICAgICAgICBpbnRlcnNlY3Rpb25SYXRpbzogZW50cnkuaW50ZXJzZWN0aW9uUmF0aW8sXG4gICAgICAgICAgYm91bmRpbmdDbGllbnRSZWN0OiBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QsXG4gICAgICAgICAgdGFyZ2V0OiBlbnRyeS50YXJnZXQsXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRJc1Zpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgfSxcbiAgICAgIHsgcm9vdE1hcmdpbiB9LFxuICAgICk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKGN1cnJlbnQpO1xuICAgIG9ic2VydmVyUmVmLmN1cnJlbnQgPSBvYnNlcnZlcjtcbiAgICBsb2dnZXIubG9nRGVidWcoJ29ic2VydmVyIGF0dGFjaGVkIHRvIGVsZW1lbnQnLCBjdXJyZW50KTtcbiAgfSk7XG5cbiAgLy8gRGlzY29ubmVjdCBvbiB1bm1vdW50IG9ubHkg4oCUIGludGVudGlvbmFsbHkgc2VwYXJhdGUgZnJvbSB0aGUgc2V0dXAgZWZmZWN0IGFib3ZlLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBvYnNlcnZlclJlZi5jdXJyZW50Py5kaXNjb25uZWN0KCk7XG4gICAgICBvYnNlcnZlclJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIGlzVmlzaWJsZTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxNQUFNLFNBQVMsSUFBSUEsZUFBTyxrQkFBa0I7QUFHNUMsTUFBYSxtQkFBbUIsU0FBaUMsZUFBdUI7Q0FDdEYsTUFBTSxDQUFDLFdBQVcsZ0JBQWdCLFNBQVMsTUFBTTtDQUNqRCxNQUFNLGNBQWMsT0FBb0MsS0FBSztBQUs3RCxpQkFBZ0I7RUFDZCxNQUFNLFVBQVUsU0FBUztBQUN6QixTQUFPLFNBQVMsY0FBYztHQUM1QixnQkFBZ0I7R0FDaEI7R0FDQSxrQkFBa0IsQ0FBQyxDQUFDLFlBQVk7R0FDakMsQ0FBQztBQUVGLE1BQUksQ0FBQyxTQUFTO0FBQ1osVUFBTyxTQUFTLGtEQUFrRDtBQUNsRTs7QUFFRixNQUFJLFlBQVksUUFBUztFQUV6QixNQUFNLFdBQVcsSUFBSSxzQkFDbEIsQ0FBQyxXQUFXO0FBQ1gsVUFBTyxTQUFTLDhCQUE4QjtJQUM1QyxnQkFBZ0IsTUFBTTtJQUN0QixtQkFBbUIsTUFBTTtJQUN6QixvQkFBb0IsTUFBTTtJQUMxQixRQUFRLE1BQU07SUFDZixDQUFDO0FBQ0YsZ0JBQWEsTUFBTSxlQUFlO0tBRXBDLEVBQUUsWUFBWSxDQUNmO0FBRUQsV0FBUyxRQUFRLFFBQVE7QUFDekIsY0FBWSxVQUFVO0FBQ3RCLFNBQU8sU0FBUyxnQ0FBZ0MsUUFBUTtHQUN4RDtBQUdGLGlCQUFnQjtBQUNkLGVBQWE7QUFDWCxlQUFZLFNBQVMsWUFBWTtBQUNqQyxlQUFZLFVBQVU7O0lBRXZCLEVBQUUsQ0FBQztBQUVOLFFBQU8ifQ==
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmpzIiwibmFtZXMiOlsiTG9nZ2VyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ludGVyc2VjdGlvbi91c2VJbnRlcnNlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3VzZUludGVyc2VjdGlvbicpO1xuXG4vLyBodHRwczovL3Jhc2lsYmFpZGFyLm1lZGl1bS5jb20vdHJpZ2dlci1ldmVudC13aGVuLWVsZW1lbnQtZW50ZXJzLXZpZXdwb3J0LXRoZS1yZWFjdC13YXktMTY4NTA5ZGEyZTIzXG5leHBvcnQgY29uc3QgdXNlSW50ZXJzZWN0aW9uID0gKGVsZW1lbnQ6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sIHJvb3RNYXJnaW46IHN0cmluZykgPT4ge1xuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRJc1Zpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvYnNlcnZlclJlZiA9IHVzZVJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBvYnNlcnZlZE5vZGVSZWYgPSB1c2VSZWY8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBSdW5zIGFmdGVyIGV2ZXJ5IHJlbmRlciBzbyBpdCBjYXRjaGVzIHdoZW4gZWxlbWVudC5jdXJyZW50IHRyYW5zaXRpb25zIGZyb20gbnVsbCB0byBhXG4gIC8vIG1vdW50ZWQgRE9NIG5vZGUsIEFORCB3aGVuIHRoZSBub2RlIHVuZGVyIHRoZSByZWYgaXMgcmVwbGFjZWQuIFRoZSByZXBsYWNlbWVudCBjYXNlIGlzXG4gIC8vIGxvYWQtYmVhcmluZzogbW91bnQgY2h1cm4gKGUuZy4gdGhlIHNoYWRvdy1yb290IHBvcnRhbCByZS1jcmVhdGluZyB0aGUgd2lkZ2V0IHN1YnRyZWUpXG4gIC8vIGNhbiBzd2FwIHRoZSBET00gbm9kZSB3aGlsZSB0aGlzIGhvb2sgaW5zdGFuY2Ugc3Vydml2ZXMsIGFuZCBhbiBvYnNlcnZlciBsZWZ0IG9uIHRoZVxuICAvLyBkZXRhY2hlZCBvbGQgbm9kZSBuZXZlciBmaXJlcyBhZ2FpbiDigJQgdGhlIHdpZGdldCB0aGVuIHJlYWRzIGFzIHBlcm1hbmVudGx5IG5vdC12aXNpYmxlXG4gIC8vIGFuZCBuZXZlciBzdGFydHMgbG9hZGluZy4gQmFpbHMgb25jZSB0aGUgY3VycmVudCBub2RlIGlzIHRoZSBvbmUgYmVpbmcgb2JzZXJ2ZWQsXG4gIC8vIGtlZXBpbmcgcGVyLXJlbmRlciBjb3N0IE8oMSkuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudCA9IGVsZW1lbnQ/LmN1cnJlbnQ7XG4gICAgbG9nZ2VyLmxvZ0RlYnVnKCdlZmZlY3QgcmFuJywge1xuICAgICAgZWxlbWVudEN1cnJlbnQ6IGN1cnJlbnQsXG4gICAgICByb290TWFyZ2luLFxuICAgICAgYWxyZWFkeU9ic2VydmluZzogISFvYnNlcnZlclJlZi5jdXJyZW50LFxuICAgICAgb2JzZXJ2aW5nQ3VycmVudE5vZGU6IG9ic2VydmVkTm9kZVJlZi5jdXJyZW50ID09PSBjdXJyZW50LFxuICAgIH0pO1xuXG4gICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICBsb2dnZXIubG9nRGVidWcoJ2VsZW1lbnQuY3VycmVudCBpcyBudWxsIOKAlCBvYnNlcnZlciBOT1QgYXR0YWNoZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG9ic2VydmVkTm9kZVJlZi5jdXJyZW50ID09PSBjdXJyZW50KSByZXR1cm47IC8vIGFscmVhZHkgb2JzZXJ2aW5nIHRoaXMgZXhhY3Qgbm9kZVxuXG4gICAgaWYgKG9ic2VydmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnb2JzZXJ2ZWQgbm9kZSB3YXMgcmVwbGFjZWQg4oCUIHJlLWF0dGFjaGluZyBvYnNlcnZlcicsIHtcbiAgICAgICAgcHJldmlvdXNOb2RlOiBvYnNlcnZlZE5vZGVSZWYuY3VycmVudCxcbiAgICAgICAgbmV3Tm9kZTogY3VycmVudCxcbiAgICAgIH0pO1xuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudC5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAoW2VudHJ5XSkgPT4ge1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ0ludGVyc2VjdGlvbk9ic2VydmVyIGZpcmVkJywge1xuICAgICAgICAgIGlzSW50ZXJzZWN0aW5nOiBlbnRyeS5pc0ludGVyc2VjdGluZyxcbiAgICAgICAgICBpbnRlcnNlY3Rpb25SYXRpbzogZW50cnkuaW50ZXJzZWN0aW9uUmF0aW8sXG4gICAgICAgICAgYm91bmRpbmdDbGllbnRSZWN0OiBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QsXG4gICAgICAgICAgdGFyZ2V0OiBlbnRyeS50YXJnZXQsXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRJc1Zpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgfSxcbiAgICAgIHsgcm9vdE1hcmdpbiB9LFxuICAgICk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKGN1cnJlbnQpO1xuICAgIG9ic2VydmVyUmVmLmN1cnJlbnQgPSBvYnNlcnZlcjtcbiAgICBvYnNlcnZlZE5vZGVSZWYuY3VycmVudCA9IGN1cnJlbnQ7XG4gICAgbG9nZ2VyLmxvZ0RlYnVnKCdvYnNlcnZlciBhdHRhY2hlZCB0byBlbGVtZW50JywgY3VycmVudCk7XG4gIH0pO1xuXG4gIC8vIERpc2Nvbm5lY3Qgb24gdW5tb3VudCBvbmx5IOKAlCBpbnRlbnRpb25hbGx5IHNlcGFyYXRlIGZyb20gdGhlIHNldHVwIGVmZmVjdCBhYm92ZS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudD8uZGlzY29ubmVjdCgpO1xuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICBvYnNlcnZlZE5vZGVSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBpc1Zpc2libGU7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBR0EsTUFBTSxTQUFTLElBQUlBLGVBQU8sa0JBQWtCO0FBRzVDLE1BQWEsbUJBQW1CLFNBQWlDLGVBQXVCO0NBQ3RGLE1BQU0sQ0FBQyxXQUFXLGdCQUFnQixTQUFTLE1BQU07Q0FDakQsTUFBTSxjQUFjLE9BQW9DLEtBQUs7Q0FDN0QsTUFBTSxrQkFBa0IsT0FBMkIsS0FBSztBQVN4RCxpQkFBZ0I7RUFDZCxNQUFNLFVBQVUsU0FBUztBQUN6QixTQUFPLFNBQVMsY0FBYztHQUM1QixnQkFBZ0I7R0FDaEI7R0FDQSxrQkFBa0IsQ0FBQyxDQUFDLFlBQVk7R0FDaEMsc0JBQXNCLGdCQUFnQixZQUFZO0dBQ25ELENBQUM7QUFFRixNQUFJLENBQUMsU0FBUztBQUNaLFVBQU8sU0FBUyxrREFBa0Q7QUFDbEU7O0FBRUYsTUFBSSxnQkFBZ0IsWUFBWSxRQUFTO0FBRXpDLE1BQUksWUFBWSxTQUFTO0FBQ3ZCLFVBQU8sU0FBUyxzREFBc0Q7SUFDcEUsY0FBYyxnQkFBZ0I7SUFDOUIsU0FBUztJQUNWLENBQUM7QUFDRixlQUFZLFFBQVEsWUFBWTs7RUFHbEMsTUFBTSxXQUFXLElBQUksc0JBQ2xCLENBQUMsV0FBVztBQUNYLFVBQU8sU0FBUyw4QkFBOEI7SUFDNUMsZ0JBQWdCLE1BQU07SUFDdEIsbUJBQW1CLE1BQU07SUFDekIsb0JBQW9CLE1BQU07SUFDMUIsUUFBUSxNQUFNO0lBQ2YsQ0FBQztBQUNGLGdCQUFhLE1BQU0sZUFBZTtLQUVwQyxFQUFFLFlBQVksQ0FDZjtBQUVELFdBQVMsUUFBUSxRQUFRO0FBQ3pCLGNBQVksVUFBVTtBQUN0QixrQkFBZ0IsVUFBVTtBQUMxQixTQUFPLFNBQVMsZ0NBQWdDLFFBQVE7R0FDeEQ7QUFHRixpQkFBZ0I7QUFDZCxlQUFhO0FBQ1gsZUFBWSxTQUFTLFlBQVk7QUFDakMsZUFBWSxVQUFVO0FBQ3RCLG1CQUFnQixVQUFVOztJQUUzQixFQUFFLENBQUM7QUFFTixRQUFPIn0=
@@ -1,8 +1,8 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
- const require_urlsParser = require('../../application/utils/urlsParser.cjs');
3
2
  const require_variantInfo = require('../../application/models/variantInfo/variantInfo.cjs');
4
3
  require('../../application/models/index.cjs');
5
4
  const require_eventNames = require('../../services/amplitudeService/eventNames.cjs');
5
+ const require_urlsParser = require('../../application/utils/urlsParser.cjs');
6
6
  const require_variant = require('../../atoms/app/variant.cjs');
7
7
  const require_amplitudeContext = require('../../contexts/amplitudeContext/amplitudeContext.cjs');
8
8
  require('../../contexts/amplitudeContext/index.cjs');
@@ -1,7 +1,7 @@
1
- import { getQueryParam } from "../../application/utils/urlsParser.js";
2
1
  import { VariantTypeEnum } from "../../application/models/variantInfo/variantInfo.js";
3
2
  import "../../application/models/index.js";
4
3
  import { EnviveMetricsEventName } from "../../services/amplitudeService/eventNames.js";
4
+ import { getQueryParam } from "../../application/utils/urlsParser.js";
5
5
  import { hasParsedVariantInfoAtom, variantInfoAtom } from "../../atoms/app/variant.js";
6
6
  import { useAmplitude } from "../../contexts/amplitudeContext/amplitudeContext.js";
7
7
  import "../../contexts/amplitudeContext/index.js";
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsU0FBUyxlQUFlO0FBQ2hFLElBQVcsdUJBQXVCLENBQUMsU0FBUyxVQUFVO0FBQ3RELElBQVcsdUJBQXVCO0NBQUM7T0FBUztPQUFrQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxFQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsRUFBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVM7T0FBb0I7Q0FBbUIifQ==
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsVUFBVSxlQUFlO0FBQ2pFLElBQVcsdUJBQXVCLENBQUMsVUFBVSxVQUFVO0FBQ3ZELElBQVcsdUJBQXVCO0NBQUM7T0FBVTtPQUFpQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxHQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsR0FBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVU7T0FBb0I7Q0FBbUIifQ==
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxTQUFTLGVBQWU7QUFDaEUsSUFBVyx1QkFBdUIsQ0FBQyxTQUFTLFVBQVU7QUFDdEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFTO09BQWtCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLEVBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxFQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBUztPQUFvQjtDQUFtQiJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxXQUFXLGVBQWU7QUFDbEUsSUFBVyx1QkFBdUIsQ0FBQyxXQUFXLFVBQVU7QUFDeEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLElBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxJQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBVztPQUFvQjtDQUFtQiJ9
@@ -1,6 +1,5 @@
1
1
  const require_featureGates = require('../../application/models/featureGates.cjs');
2
2
  const require_config_versions = require('../../types/config-versions.cjs');
3
- const require_services_featureFlagService_index = require('../featureFlagService/index.cjs');
4
3
  const require_fetchGraphQLConfig = require('./fetchGraphQLConfig.cjs');
5
4
 
6
5
  //#region src/services/enviveConfigService/enviveConfigService.ts
@@ -46,28 +45,8 @@ var EnviveConfigService = class {
46
45
  this.response = cached;
47
46
  return this.response;
48
47
  }
49
- const queryParams = new URLSearchParams({
50
- namespace: this.namespace,
51
- source: this.source,
52
- user_id: this.userId,
53
- include_experiments: "default",
54
- include_feature_gates: Object.values(require_featureGates.FeatureGates).map((featureGate) => featureGate.toString()).join(",")
55
- });
56
- const orgConfigResponse = await fetch(`${this.baseUrl}/v1/org/config?${queryParams.toString()}`, {
57
- method: "GET",
58
- headers: {
59
- "Content-Type": "application/json",
60
- Authorization: `Bearer ${this.apiKey}`
61
- }
62
- }).then(async (r) => {
63
- if (!r.ok) throw new Error(`Org config request failed with status ${r.status}`);
64
- return r.json();
65
- });
66
- const orgConfig = new require_services_featureFlagService_index.FeatureFlagService(orgConfigResponse.gates ?? []).isFeatureGateEnabled(require_featureGates.FeatureGates.UseUnifiedConfig) ? await require_fetchGraphQLConfig.fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId) : await require_fetchGraphQLConfig.fetchGraphQLConfig(this.baseUrl, this.apiKey);
67
- this.response = {
68
- ...orgConfigResponse,
69
- orgConfig
70
- };
48
+ const gateNames = Object.values(require_featureGates.FeatureGates).map((featureGate) => featureGate.toString());
49
+ this.response = await require_fetchGraphQLConfig.fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
71
50
  this.writeCachedConfig(this.response);
72
51
  return this.response;
73
52
  }
@@ -91,4 +70,4 @@ var MockEnviveConfigService = class {
91
70
  //#endregion
92
71
  exports.EnviveConfigService = EnviveConfigService;
93
72
  exports.MockEnviveConfigService = MockEnviveConfigService;
94
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5janMiLCJuYW1lcyI6WyJjb25maWdWZXJzaW9uT3ZlcnJpZGUiLCJlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkiLCJGZWF0dXJlR2F0ZXMiLCJGZWF0dXJlRmxhZ1NlcnZpY2UiLCJmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIiwiZmV0Y2hHcmFwaFFMQ29uZmlnIiwibW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICdzcmMvc2VydmljZXMvZmVhdHVyZUZsYWdTZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgR3JhcGhRbENvbmZpZ1ZhbHVlcyB9IGZyb20gJ3NyYy9jb250ZXh0cy9ncmFwaHFsQ29udGV4dCc7XG5pbXBvcnQgeyBjb25maWdWZXJzaW9uT3ZlcnJpZGUgfSBmcm9tICdzcmMvdHlwZXMvY29uZmlnLXZlcnNpb25zJztcbmltcG9ydCB7IGZldGNoR3JhcGhRTENvbmZpZywgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyB9IGZyb20gJy4vZmV0Y2hHcmFwaFFMQ29uZmlnJztcblxuLy8gU2hvcnQtbGl2ZWQgc28gY29uZmlnIGNoYW5nZXMgKGdhdGVzLCBleHBlcmltZW50cykgc3RpbGwgcHJvcGFnYXRlIHdpdGhpblxuLy8gYSBzZXNzaW9uLCB3aGlsZSBzcGFyaW5nIGV2ZXJ5IHBhZ2UgbmF2aWdhdGlvbiBmcm9tIHJlLWZldGNoaW5nIG9yZ1xuLy8gY29uZmlnICsgR3JhcGhRTCBjb25maWcsIGJvdGggb2Ygd2hpY2ggc2l0IG9uIHRoZSBjcml0aWNhbCBwYXRoIGJlZm9yZVxuLy8gZmlyc3QgcGFpbnQuXG5jb25zdCBDT05GSUdfQ0FDSEVfVFRMX01TID0gNSAqIDYwICogMTAwMDtcblxudHlwZSBDYWNoZWRDb25maWdFbnRyeSA9IHtcbiAgdmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xufTtcblxudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICBvcmc6IHtcbiAgICBvcmc6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIC8vIFBvcHVsYXRlZCBieSB0aGUgYmFja2VuZCB3aGVuIHRoZSBgdXNlX3VuaWZpZWRfY29uZmlnYCBTdGF0c2lnIGdhdGVcbiAgLy8gZXZhbHVhdGVzIHRydWUuIGFtcGxpdHVkZVNlcnZpY2UgcmVhZHMgdGhlc2UgdG8gZW5yaWNoIGV2ZW50cyB3aXRoXG4gIC8vIGBleHBlcmltZW50Lntuc30uKmAgcHJvcGVydGllcy5cbiAgZXhwZXJpbWVudF9hc3NpZ25tZW50cz86IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50W107XG4gIC8vIG9yZ0NvbmZpZy5yZXNvbHV0aW9uIGlzIHBvcHVsYXRlZCBvbmx5IG9uIHRoZSB1bmlmaWVkIHBhdGggKHNvdXJjZWQgZnJvbVxuICAvLyBnZXRXaWRnZXRDb25maWcucmVzb2x1dGlvbiwgbm90IC92MS9vcmcvY29uZmlnLnJlc29sdXRpb24pIHNvIHRoZSB2ZXJzaW9uXG4gIC8vIHRocmVhZGVkIGludG8gaW5mZXJlbmNlIHJlcXVlc3RzIG1hdGNoZXMgdGhlIHZlcnNpb24gdGhhdCBwcm9kdWNlZCB0aGVcbiAgLy8gcmVuZGVyZWQgd2lkZ2V0cy5cbiAgb3JnQ29uZmlnPzogR3JhcGhRbENvbmZpZ1ZhbHVlcztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVzcG9uc2U6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIHRoaXMuYXBpS2V5ID0gYXBpS2V5O1xuICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYWNoZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZW52aXZlLWNvbmZpZy1jYWNoZToke3RoaXMuYmFzZVVybH06JHt0aGlzLmFwaUtleX06JHt0aGlzLnVzZXJJZH06JHt0aGlzLm5hbWVzcGFjZX06JHt0aGlzLnNvdXJjZX1gO1xuICB9XG5cbiAgLy8gYGVudml2ZV9jb25maWdfdmVyc2lvbmAgLyBgc3BpZmZ5X2NvbmZpZ192ZXJzaW9uYCBwaW4gYSBzcGVjaWZpYyBjb25maWdcbiAgLy8gdmVyc2lvbiBmb3IgZGVidWdnaW5nL3JvbGxiYWNrLiBBbnkgdXNlIG9mIHRoYXQgb3ZlcnJpZGUgbXVzdCBhbHdheXNcbiAgLy8gYnlwYXNzIHRoZSBjYWNoZSBiZWxvdyDigJQgYm90aCByZWFkaW5nIGEgc3RhbGUgZW50cnkgYW5kIHdyaXRpbmcgb25lXG4gIC8vIHVuZGVyIHRoZSBzaGFyZWQga2V5IHdvdWxkIGRlZmVhdCB0aGUgb3ZlcnJpZGUncyBwdXJwb3NlLlxuICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWcoKTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXcgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSk7XG4gICAgICBpZiAoIXJhdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5ID0gSlNPTi5wYXJzZShyYXcpIGFzIENhY2hlZENvbmZpZ0VudHJ5O1xuICAgICAgaWYgKERhdGUubm93KCkgPj0gZW50cnkuZXhwaXJlc0F0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVudHJ5LnZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZyh2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50cnk6IENhY2hlZENvbmZpZ0VudHJ5ID0geyB2YWx1ZSwgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ORklHX0NBQ0hFX1RUTF9NUyB9O1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCksIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTdG9yYWdlIGRpc2FibGVkLCBmdWxsLCBvciB1bmF2YWlsYWJsZSAocHJpdmF0ZSBicm93c2luZywgZXRjLikgLVxuICAgICAgLy8gZmFpbCBvcGVuIGFuZCBsZXQgdGhlIG5leHQgY2FsbCByZS1mZXRjaCBpbnN0ZWFkIG9mIGNhY2hpbmcuXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnJlYWRDYWNoZWRDb25maWcoKTtcbiAgICBpZiAoY2FjaGVkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlID0gY2FjaGVkO1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIG5hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICBzb3VyY2U6IHRoaXMuc291cmNlLFxuICAgICAgdXNlcl9pZDogdGhpcy51c2VySWQsXG4gICAgICBpbmNsdWRlX2V4cGVyaW1lbnRzOiAnZGVmYXVsdCcsXG4gICAgICBpbmNsdWRlX2ZlYXR1cmVfZ2F0ZXM6IE9iamVjdC52YWx1ZXMoRmVhdHVyZUdhdGVzKVxuICAgICAgICAubWFwKGZlYXR1cmVHYXRlID0+IGZlYXR1cmVHYXRlLnRvU3RyaW5nKCkpXG4gICAgICAgIC5qb2luKCcsJyksXG4gICAgfSk7XG4gICAgLy8gU2VyaWFsaXplZCBzbyB3ZSBjYW4gYnJhbmNoIHRoZSBHcmFwaFFMIGNhbGwgb24gdGhlIGB1c2VfdW5pZmllZF9jb25maWdgXG4gICAgLy8gZ2F0ZSByZXR1cm5lZCBieSAvdjEvb3JnL2NvbmZpZy4gT25jZSB0aGUgbWlncmF0aW9uIHRvIGdldFdpZGdldENvbmZpZ1xuICAgIC8vIGNvbXBsZXRlcyAob25lIGVuZHBvaW50IHJldHVybmluZyBnYXRlcyArIGV4cGVyaW1lbnRzICsgcHJvZHVjdHNDb25maWcpLFxuICAgIC8vIHRoaXMgY29sbGFwc2VzIGJhY2sgdG8gYSBzaW5nbGUgY2FsbC5cbiAgICBjb25zdCBvcmdDb25maWdSZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgYCR7dGhpcy5iYXNlVXJsfS92MS9vcmcvY29uZmlnPyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5hcGlLZXl9YCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKS50aGVuKGFzeW5jIHIgPT4ge1xuICAgICAgaWYgKCFyLm9rKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgT3JnIGNvbmZpZyByZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke3Iuc3RhdHVzfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHIuanNvbigpIGFzIFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG4gICAgfSk7XG5cbiAgICAvLyBIb25vciBVUkwgLyBgd2luZG93Ll9zcGlmZnlgIC8gbG9jYWxTdG9yYWdlIG92ZXJyaWRlcyBmb3JcbiAgICAvLyBgdXNlX3VuaWZpZWRfY29uZmlnYCB0aGUgc2FtZSB3YXkgZXZlcnkgb3RoZXIgZmVhdHVyZSBnYXRlIGlzIHJlYWQuXG4gICAgY29uc3QgdXNlVW5pZmllZENvbmZpZyA9IG5ldyBGZWF0dXJlRmxhZ1NlcnZpY2UoXG4gICAgICBvcmdDb25maWdSZXNwb25zZS5nYXRlcyA/PyBbXSxcbiAgICApLmlzRmVhdHVyZUdhdGVFbmFibGVkKEZlYXR1cmVHYXRlcy5Vc2VVbmlmaWVkQ29uZmlnKTtcbiAgICBjb25zdCBvcmdDb25maWcgPSB1c2VVbmlmaWVkQ29uZmlnXG4gICAgICA/IGF3YWl0IGZldGNoVW5pZmllZEdyYXBoUUxDb25maWcodGhpcy5iYXNlVXJsLCB0aGlzLmFwaUtleSwgdGhpcy51c2VySWQpXG4gICAgICA6IGF3YWl0IGZldGNoR3JhcGhRTENvbmZpZyh0aGlzLmJhc2VVcmwsIHRoaXMuYXBpS2V5KTtcblxuICAgIHRoaXMucmVzcG9uc2UgPSB7IC4uLm9yZ0NvbmZpZ1Jlc3BvbnNlLCBvcmdDb25maWcgfTtcbiAgICB0aGlzLndyaXRlQ2FjaGVkQ29uZmlnKHRoaXMucmVzcG9uc2UpO1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBzdGF0aWMgbW9jayBkYXRhIGZyb20gaXRzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gUGFzc2VzIGVtcHR5IGJhc2VVcmwvYXBpS2V5XG4gKiBzbyBhbnkgY29kZSBjaGVja2luZyBpc1JlYWR5IGRvZXMgbm90IGZpcmUgcmVhbCBuZXR3b3JrIHJlcXVlc3RzLiBUaGUgb3JnQ29uZmlnIGZpZWxkXG4gKiBjb3ZlcnMgY29sb3JzLCBmcm9udGVuZENvbmZpZywgYW5kIHBhZ2Uvd2lkZ2V0L21vdW50aW5nIGNvbmZpZ3Mgd2l0aG91dCBhbnkgbmV0d29yayBjYWxscy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtb2NrQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKSB7fVxuXG4gIGFzeW5jIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5tb2NrQ29uZmlnO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVdBLE1BQU0sc0JBQXNCLE1BQVM7QUE2Q3JDLElBQWEsc0JBQWIsTUFBaUU7Q0FhL0QsWUFBWSxFQUFFLFNBQVMsUUFBUSxRQUFRLFdBQVcsVUFBb0M7a0JBRnZDO0FBRzdDLE9BQUssVUFBVTtBQUNmLE9BQUssU0FBUztBQUNkLE9BQUssU0FBUztBQUNkLE9BQUssWUFBWTtBQUNqQixPQUFLLFNBQVM7O0NBR2hCLEFBQVEsY0FBc0I7QUFDNUIsU0FBTyx1QkFBdUIsS0FBSyxRQUFRLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSzs7Q0FPckcsQUFBUSxtQkFBK0M7QUFDckQsTUFBSUEsK0NBQXVCLENBQ3pCLFFBQU87QUFFVCxNQUFJO0dBQ0YsTUFBTSxNQUFNLGVBQWUsUUFBUSxLQUFLLGFBQWEsQ0FBQztBQUN0RCxPQUFJLENBQUMsSUFDSCxRQUFPO0dBRVQsTUFBTSxRQUFRLEtBQUssTUFBTSxJQUFJO0FBQzdCLE9BQUksS0FBSyxLQUFLLElBQUksTUFBTSxVQUN0QixRQUFPO0FBRVQsVUFBTyxNQUFNO1VBQ1A7QUFDTixVQUFPOzs7Q0FJWCxBQUFRLGtCQUFrQixPQUFrQztBQUMxRCxNQUFJQSwrQ0FBdUIsQ0FDekI7QUFFRixNQUFJO0dBQ0YsTUFBTUMsUUFBMkI7SUFBRTtJQUFPLFdBQVcsS0FBSyxLQUFLLEdBQUc7SUFBcUI7QUFDdkYsa0JBQWUsUUFBUSxLQUFLLGFBQWEsRUFBRSxLQUFLLFVBQVUsTUFBTSxDQUFDO1VBQzNEOztDQU1WLE1BQU0sa0JBQWdEO0FBQ3BELE1BQUksS0FBSyxhQUFhLEtBQ3BCLFFBQU8sS0FBSztFQUdkLE1BQU0sU0FBUyxLQUFLLGtCQUFrQjtBQUN0QyxNQUFJLFdBQVcsTUFBTTtBQUNuQixRQUFLLFdBQVc7QUFDaEIsVUFBTyxLQUFLOztFQUdkLE1BQU0sY0FBYyxJQUFJLGdCQUFnQjtHQUN0QyxXQUFXLEtBQUs7R0FDaEIsUUFBUSxLQUFLO0dBQ2IsU0FBUyxLQUFLO0dBQ2QscUJBQXFCO0dBQ3JCLHVCQUF1QixPQUFPLE9BQU9DLGtDQUFhLENBQy9DLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUMsQ0FDMUMsS0FBSyxJQUFJO0dBQ2IsQ0FBQztFQUtGLE1BQU0sb0JBQW9CLE1BQU0sTUFDOUIsR0FBRyxLQUFLLFFBQVEsaUJBQWlCLFlBQVksVUFBVSxJQUN2RDtHQUNFLFFBQVE7R0FDUixTQUFTO0lBQ1AsZ0JBQWdCO0lBQ2hCLGVBQWUsVUFBVSxLQUFLO0lBQy9CO0dBQ0YsQ0FDRixDQUFDLEtBQUssT0FBTSxNQUFLO0FBQ2hCLE9BQUksQ0FBQyxFQUFFLEdBQ0wsT0FBTSxJQUFJLE1BQU0seUNBQXlDLEVBQUUsU0FBUztBQUV0RSxVQUFPLEVBQUUsTUFBTTtJQUNmO0VBT0YsTUFBTSxZQUhtQixJQUFJQyw2REFDM0Isa0JBQWtCLFNBQVMsRUFBRSxDQUM5QixDQUFDLHFCQUFxQkQsa0NBQWEsaUJBQWlCLEdBRWpELE1BQU1FLHFEQUEwQixLQUFLLFNBQVMsS0FBSyxRQUFRLEtBQUssT0FBTyxHQUN2RSxNQUFNQyw4Q0FBbUIsS0FBSyxTQUFTLEtBQUssT0FBTztBQUV2RCxPQUFLLFdBQVc7R0FBRSxHQUFHO0dBQW1CO0dBQVc7QUFDbkQsT0FBSyxrQkFBa0IsS0FBSyxTQUFTO0FBQ3JDLFNBQU8sS0FBSzs7Ozs7Ozs7QUFTaEIsSUFBYSwwQkFBYixNQUFxRTtDQUtuRSxZQUFZLEFBQWlCQyxZQUFpQztFQUFqQztpQkFKSztnQkFFRDs7Q0FJakMsTUFBTSxrQkFBZ0Q7QUFDcEQsU0FBTyxLQUFLIn0=
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5janMiLCJuYW1lcyI6WyJjb25maWdWZXJzaW9uT3ZlcnJpZGUiLCJlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkiLCJGZWF0dXJlR2F0ZXMiLCJmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIiwibW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbk92ZXJyaWRlIH0gZnJvbSAnc3JjL3R5cGVzL2NvbmZpZy12ZXJzaW9ucyc7XG5pbXBvcnQgeyBmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIH0gZnJvbSAnLi9mZXRjaEdyYXBoUUxDb25maWcnO1xuXG4vLyBTaG9ydC1saXZlZCBzbyBjb25maWcgY2hhbmdlcyAoZ2F0ZXMsIGV4cGVyaW1lbnRzKSBzdGlsbCBwcm9wYWdhdGUgd2l0aGluXG4vLyBhIHNlc3Npb24sIHdoaWxlIHNwYXJpbmcgZXZlcnkgcGFnZSBuYXZpZ2F0aW9uIGZyb20gcmUtZmV0Y2hpbmcgb3JnXG4vLyBjb25maWcgKyBHcmFwaFFMIGNvbmZpZywgYm90aCBvZiB3aGljaCBzaXQgb24gdGhlIGNyaXRpY2FsIHBhdGggYmVmb3JlXG4vLyBmaXJzdCBwYWludC5cbmNvbnN0IENPTkZJR19DQUNIRV9UVExfTVMgPSA1ICogNjAgKiAxMDAwO1xuXG50eXBlIENhY2hlZENvbmZpZ0VudHJ5ID0ge1xuICB2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG59O1xuXG50eXBlIEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyA9IHtcbiAgYmFzZVVybDogc3RyaW5nO1xuICBhcGlLZXk6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gIG9yZzoge1xuICAgIG9yZzoge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBnYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgLy8gUG9wdWxhdGVkIGJ5IHRoZSBiYWNrZW5kIHdoZW4gdGhlIGB1c2VfdW5pZmllZF9jb25maWdgIFN0YXRzaWcgZ2F0ZVxuICAvLyBldmFsdWF0ZXMgdHJ1ZS4gYW1wbGl0dWRlU2VydmljZSByZWFkcyB0aGVzZSB0byBlbnJpY2ggZXZlbnRzIHdpdGhcbiAgLy8gYGV4cGVyaW1lbnQue25zfS4qYCBwcm9wZXJ0aWVzLlxuICBleHBlcmltZW50X2Fzc2lnbm1lbnRzPzogT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnRbXTtcbiAgLy8gb3JnQ29uZmlnLnJlc29sdXRpb24gaXMgcG9wdWxhdGVkIG9ubHkgb24gdGhlIHVuaWZpZWQgcGF0aCAoc291cmNlZCBmcm9tXG4gIC8vIGdldFdpZGdldENvbmZpZy5yZXNvbHV0aW9uLCBub3QgL3YxL29yZy9jb25maWcucmVzb2x1dGlvbikgc28gdGhlIHZlcnNpb25cbiAgLy8gdGhyZWFkZWQgaW50byBpbmZlcmVuY2UgcmVxdWVzdHMgbWF0Y2hlcyB0aGUgdmVyc2lvbiB0aGF0IHByb2R1Y2VkIHRoZVxuICAvLyByZW5kZXJlZCB3aWRnZXRzLlxuICBvcmdDb25maWc/OiBHcmFwaFFsQ29uZmlnVmFsdWVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxuXG5leHBvcnQgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZXNwb25zZTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHsgYmFzZVVybCwgYXBpS2V5LCB1c2VySWQsIG5hbWVzcGFjZSwgc291cmNlIH06IEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcykge1xuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gICAgdGhpcy5hcGlLZXkgPSBhcGlLZXk7XG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gIH1cblxuICBwcml2YXRlIGdldENhY2hlS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBlbnZpdmUtY29uZmlnLWNhY2hlOiR7dGhpcy5iYXNlVXJsfToke3RoaXMuYXBpS2V5fToke3RoaXMudXNlcklkfToke3RoaXMubmFtZXNwYWNlfToke3RoaXMuc291cmNlfWA7XG4gIH1cblxuICAvLyBgZW52aXZlX2NvbmZpZ192ZXJzaW9uYCAvIGBzcGlmZnlfY29uZmlnX3ZlcnNpb25gIHBpbiBhIHNwZWNpZmljIGNvbmZpZ1xuICAvLyB2ZXJzaW9uIGZvciBkZWJ1Z2dpbmcvcm9sbGJhY2suIEFueSB1c2Ugb2YgdGhhdCBvdmVycmlkZSBtdXN0IGFsd2F5c1xuICAvLyBieXBhc3MgdGhlIGNhY2hlIGJlbG93IOKAlCBib3RoIHJlYWRpbmcgYSBzdGFsZSBlbnRyeSBhbmQgd3JpdGluZyBvbmVcbiAgLy8gdW5kZXIgdGhlIHNoYXJlZCBrZXkgd291bGQgZGVmZWF0IHRoZSBvdmVycmlkZSdzIHB1cnBvc2UuXG4gIHByaXZhdGUgcmVhZENhY2hlZENvbmZpZygpOiBFbnZpdmVTZXJ2aWNlQ29uZmlnIHwgbnVsbCB7XG4gICAgaWYgKGNvbmZpZ1ZlcnNpb25PdmVycmlkZSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJhdyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5nZXRDYWNoZUtleSgpKTtcbiAgICAgIGlmICghcmF3KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgZW50cnkgPSBKU09OLnBhcnNlKHJhdykgYXMgQ2FjaGVkQ29uZmlnRW50cnk7XG4gICAgICBpZiAoRGF0ZS5ub3coKSA+PSBlbnRyeS5leHBpcmVzQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gZW50cnkudmFsdWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyaXRlQ2FjaGVkQ29uZmlnKHZhbHVlOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZ1ZlcnNpb25PdmVycmlkZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkgPSB7IHZhbHVlLCBleHBpcmVzQXQ6IERhdGUubm93KCkgKyBDT05GSUdfQ0FDSEVfVFRMX01TIH07XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFN0b3JhZ2UgZGlzYWJsZWQsIGZ1bGwsIG9yIHVuYXZhaWxhYmxlIChwcml2YXRlIGJyb3dzaW5nLCBldGMuKSAtXG4gICAgICAvLyBmYWlsIG9wZW4gYW5kIGxldCB0aGUgbmV4dCBjYWxsIHJlLWZldGNoIGluc3RlYWQgb2YgY2FjaGluZy5cbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICAgIH1cblxuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMucmVhZENhY2hlZENvbmZpZygpO1xuICAgIGlmIChjYWNoZWQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UgPSBjYWNoZWQ7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICAvLyBnZXRXaWRnZXRDb25maWcgaXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2Ygc2Vzc2lvbiBjb25maWc6IGl0IHJldHVybnMgb3JnXG4gICAgLy8gaWRlbnRpdHkgKyBmZWF0dXJlIGdhdGVzICsgZXhwZXJpbWVudCBhc3NpZ25tZW50cyAod2hpY2ggdXNlZCB0byBiZSBhXG4gICAgLy8gc2VwYXJhdGUgR0VUIC92MS9vcmcvY29uZmlnIGNhbGwpIGFsb25nc2lkZSBwcm9kdWN0c0NvbmZpZyArIHRoZVxuICAgIC8vIHJlc29sdXRpb24gbWV0YWRhdGEgdGhyZWFkZWQgaW50byBkb3duc3RyZWFtIGluZmVyZW5jZS4gYGdhdGVOYW1lc2AgaXMgdGhlXG4gICAgLy8gbGlzdCBvZiBnYXRlcyB0aGUgYXBwIGNoZWNrcywgc28gdGhlIHJlc29sdmVyIGV2YWx1YXRlcyBhbmQgcmV0dXJucyB0aGVtLlxuICAgIGNvbnN0IGdhdGVOYW1lcyA9IE9iamVjdC52YWx1ZXMoRmVhdHVyZUdhdGVzKS5tYXAoZmVhdHVyZUdhdGUgPT4gZmVhdHVyZUdhdGUudG9TdHJpbmcoKSk7XG5cbiAgICB0aGlzLnJlc3BvbnNlID0gYXdhaXQgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyhcbiAgICAgIHRoaXMuYmFzZVVybCxcbiAgICAgIHRoaXMuYXBpS2V5LFxuICAgICAgdGhpcy51c2VySWQsXG4gICAgICBnYXRlTmFtZXMsXG4gICAgICB0aGlzLnNvdXJjZSxcbiAgICApO1xuICAgIHRoaXMud3JpdGVDYWNoZWRDb25maWcodGhpcy5yZXNwb25zZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHN0YXRpYyBtb2NrIGRhdGEgZnJvbSBpdHMgY29uc3RydWN0b3IgYXJndW1lbnRzLiBQYXNzZXMgZW1wdHkgYmFzZVVybC9hcGlLZXlcbiAqIHNvIGFueSBjb2RlIGNoZWNraW5nIGlzUmVhZHkgZG9lcyBub3QgZmlyZSByZWFsIG5ldHdvcmsgcmVxdWVzdHMuIFRoZSBvcmdDb25maWcgZmllbGRcbiAqIGNvdmVycyBjb2xvcnMsIGZyb250ZW5kQ29uZmlnLCBhbmQgcGFnZS93aWRnZXQvbW91bnRpbmcgY29uZmlncyB3aXRob3V0IGFueSBuZXR3b3JrIGNhbGxzLlxuICovXG5leHBvcnQgY2xhc3MgTW9ja0Vudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcpIHt9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLm1vY2tDb25maWc7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFVQSxNQUFNLHNCQUFzQixNQUFTO0FBNkNyQyxJQUFhLHNCQUFiLE1BQWlFO0NBYS9ELFlBQVksRUFBRSxTQUFTLFFBQVEsUUFBUSxXQUFXLFVBQW9DO2tCQUZ2QztBQUc3QyxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTOztDQUdoQixBQUFRLGNBQXNCO0FBQzVCLFNBQU8sdUJBQXVCLEtBQUssUUFBUSxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssVUFBVSxHQUFHLEtBQUs7O0NBT3JHLEFBQVEsbUJBQStDO0FBQ3JELE1BQUlBLCtDQUF1QixDQUN6QixRQUFPO0FBRVQsTUFBSTtHQUNGLE1BQU0sTUFBTSxlQUFlLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFDdEQsT0FBSSxDQUFDLElBQ0gsUUFBTztHQUVULE1BQU0sUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUM3QixPQUFJLEtBQUssS0FBSyxJQUFJLE1BQU0sVUFDdEIsUUFBTztBQUVULFVBQU8sTUFBTTtVQUNQO0FBQ04sVUFBTzs7O0NBSVgsQUFBUSxrQkFBa0IsT0FBa0M7QUFDMUQsTUFBSUEsK0NBQXVCLENBQ3pCO0FBRUYsTUFBSTtHQUNGLE1BQU1DLFFBQTJCO0lBQUU7SUFBTyxXQUFXLEtBQUssS0FBSyxHQUFHO0lBQXFCO0FBQ3ZGLGtCQUFlLFFBQVEsS0FBSyxhQUFhLEVBQUUsS0FBSyxVQUFVLE1BQU0sQ0FBQztVQUMzRDs7Q0FNVixNQUFNLGtCQUFnRDtBQUNwRCxNQUFJLEtBQUssYUFBYSxLQUNwQixRQUFPLEtBQUs7RUFHZCxNQUFNLFNBQVMsS0FBSyxrQkFBa0I7QUFDdEMsTUFBSSxXQUFXLE1BQU07QUFDbkIsUUFBSyxXQUFXO0FBQ2hCLFVBQU8sS0FBSzs7RUFRZCxNQUFNLFlBQVksT0FBTyxPQUFPQyxrQ0FBYSxDQUFDLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUM7QUFFeEYsT0FBSyxXQUFXLE1BQU1DLHFEQUNwQixLQUFLLFNBQ0wsS0FBSyxRQUNMLEtBQUssUUFDTCxXQUNBLEtBQUssT0FDTjtBQUNELE9BQUssa0JBQWtCLEtBQUssU0FBUztBQUNyQyxTQUFPLEtBQUs7Ozs7Ozs7O0FBU2hCLElBQWEsMEJBQWIsTUFBcUU7Q0FLbkUsWUFBWSxBQUFpQkMsWUFBaUM7RUFBakM7aUJBSks7Z0JBRUQ7O0NBSWpDLE1BQU0sa0JBQWdEO0FBQ3BELFNBQU8sS0FBSyJ9
@@ -1,7 +1,6 @@
1
1
  import { FeatureGates } from "../../application/models/featureGates.js";
2
2
  import { configVersionOverride } from "../../types/config-versions.js";
3
- import { FeatureFlagService } from "../featureFlagService/index.js";
4
- import { fetchGraphQLConfig, fetchUnifiedGraphQLConfig } from "./fetchGraphQLConfig.js";
3
+ import { fetchUnifiedGraphQLConfig } from "./fetchGraphQLConfig.js";
5
4
 
6
5
  //#region src/services/enviveConfigService/enviveConfigService.ts
7
6
  const CONFIG_CACHE_TTL_MS = 300 * 1e3;
@@ -46,28 +45,8 @@ var EnviveConfigService = class {
46
45
  this.response = cached;
47
46
  return this.response;
48
47
  }
49
- const queryParams = new URLSearchParams({
50
- namespace: this.namespace,
51
- source: this.source,
52
- user_id: this.userId,
53
- include_experiments: "default",
54
- include_feature_gates: Object.values(FeatureGates).map((featureGate) => featureGate.toString()).join(",")
55
- });
56
- const orgConfigResponse = await fetch(`${this.baseUrl}/v1/org/config?${queryParams.toString()}`, {
57
- method: "GET",
58
- headers: {
59
- "Content-Type": "application/json",
60
- Authorization: `Bearer ${this.apiKey}`
61
- }
62
- }).then(async (r) => {
63
- if (!r.ok) throw new Error(`Org config request failed with status ${r.status}`);
64
- return r.json();
65
- });
66
- const orgConfig = new FeatureFlagService(orgConfigResponse.gates ?? []).isFeatureGateEnabled(FeatureGates.UseUnifiedConfig) ? await fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId) : await fetchGraphQLConfig(this.baseUrl, this.apiKey);
67
- this.response = {
68
- ...orgConfigResponse,
69
- orgConfig
70
- };
48
+ const gateNames = Object.values(FeatureGates).map((featureGate) => featureGate.toString());
49
+ this.response = await fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
71
50
  this.writeCachedConfig(this.response);
72
51
  return this.response;
73
52
  }
@@ -90,4 +69,4 @@ var MockEnviveConfigService = class {
90
69
 
91
70
  //#endregion
92
71
  export { EnviveConfigService, MockEnviveConfigService };
93
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5qcyIsIm5hbWVzIjpbImVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSIsIm1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50LCBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXMnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2ZlYXR1cmVGbGFnU2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbk92ZXJyaWRlIH0gZnJvbSAnc3JjL3R5cGVzL2NvbmZpZy12ZXJzaW9ucyc7XG5pbXBvcnQgeyBmZXRjaEdyYXBoUUxDb25maWcsIGZldGNoVW5pZmllZEdyYXBoUUxDb25maWcgfSBmcm9tICcuL2ZldGNoR3JhcGhRTENvbmZpZyc7XG5cbi8vIFNob3J0LWxpdmVkIHNvIGNvbmZpZyBjaGFuZ2VzIChnYXRlcywgZXhwZXJpbWVudHMpIHN0aWxsIHByb3BhZ2F0ZSB3aXRoaW5cbi8vIGEgc2Vzc2lvbiwgd2hpbGUgc3BhcmluZyBldmVyeSBwYWdlIG5hdmlnYXRpb24gZnJvbSByZS1mZXRjaGluZyBvcmdcbi8vIGNvbmZpZyArIEdyYXBoUUwgY29uZmlnLCBib3RoIG9mIHdoaWNoIHNpdCBvbiB0aGUgY3JpdGljYWwgcGF0aCBiZWZvcmVcbi8vIGZpcnN0IHBhaW50LlxuY29uc3QgQ09ORklHX0NBQ0hFX1RUTF9NUyA9IDUgKiA2MCAqIDEwMDA7XG5cbnR5cGUgQ2FjaGVkQ29uZmlnRW50cnkgPSB7XG4gIHZhbHVlOiBFbnZpdmVTZXJ2aWNlQ29uZmlnO1xuICBleHBpcmVzQXQ6IG51bWJlcjtcbn07XG5cbnR5cGUgRW52aXZlQ29uZmlnU2VydmljZVByb3BzID0ge1xuICBiYXNlVXJsOiBzdHJpbmc7XG4gIGFwaUtleTogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHNvdXJjZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRW52aXZlU2VydmljZUNvbmZpZyA9IHtcbiAgb3JnOiB7XG4gICAgb3JnOiB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgc2hvcnRfbmFtZTogc3RyaW5nO1xuICAgICAgZGlzcGxheV9uYW1lOiBzdHJpbmc7XG4gICAgICBkb21haW46IHN0cmluZztcbiAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICAgICAgdXBkYXRlZF9hdDogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAvLyBQb3B1bGF0ZWQgYnkgdGhlIGJhY2tlbmQgd2hlbiB0aGUgYHVzZV91bmlmaWVkX2NvbmZpZ2AgU3RhdHNpZyBnYXRlXG4gIC8vIGV2YWx1YXRlcyB0cnVlLiBhbXBsaXR1ZGVTZXJ2aWNlIHJlYWRzIHRoZXNlIHRvIGVucmljaCBldmVudHMgd2l0aFxuICAvLyBgZXhwZXJpbWVudC57bnN9LipgIHByb3BlcnRpZXMuXG4gIGV4cGVyaW1lbnRfYXNzaWdubWVudHM/OiBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudFtdO1xuICAvLyBvcmdDb25maWcucmVzb2x1dGlvbiBpcyBwb3B1bGF0ZWQgb25seSBvbiB0aGUgdW5pZmllZCBwYXRoIChzb3VyY2VkIGZyb21cbiAgLy8gZ2V0V2lkZ2V0Q29uZmlnLnJlc29sdXRpb24sIG5vdCAvdjEvb3JnL2NvbmZpZy5yZXNvbHV0aW9uKSBzbyB0aGUgdmVyc2lvblxuICAvLyB0aHJlYWRlZCBpbnRvIGluZmVyZW5jZSByZXF1ZXN0cyBtYXRjaGVzIHRoZSB2ZXJzaW9uIHRoYXQgcHJvZHVjZWQgdGhlXG4gIC8vIHJlbmRlcmVkIHdpZGdldHMuXG4gIG9yZ0NvbmZpZz86IEdyYXBoUWxDb25maWdWYWx1ZXM7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG5cbmV4cG9ydCBjbGFzcyBFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBhcGlLZXk6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U6IHN0cmluZztcblxuICBwcml2YXRlIHJlc3BvbnNlOiBFbnZpdmVTZXJ2aWNlQ29uZmlnIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoeyBiYXNlVXJsLCBhcGlLZXksIHVzZXJJZCwgbmFtZXNwYWNlLCBzb3VyY2UgfTogRW52aXZlQ29uZmlnU2VydmljZVByb3BzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gYmFzZVVybDtcbiAgICB0aGlzLmFwaUtleSA9IGFwaUtleTtcbiAgICB0aGlzLnVzZXJJZCA9IHVzZXJJZDtcbiAgICB0aGlzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FjaGVLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGVudml2ZS1jb25maWctY2FjaGU6JHt0aGlzLmJhc2VVcmx9OiR7dGhpcy5hcGlLZXl9OiR7dGhpcy51c2VySWR9OiR7dGhpcy5uYW1lc3BhY2V9OiR7dGhpcy5zb3VyY2V9YDtcbiAgfVxuXG4gIC8vIGBlbnZpdmVfY29uZmlnX3ZlcnNpb25gIC8gYHNwaWZmeV9jb25maWdfdmVyc2lvbmAgcGluIGEgc3BlY2lmaWMgY29uZmlnXG4gIC8vIHZlcnNpb24gZm9yIGRlYnVnZ2luZy9yb2xsYmFjay4gQW55IHVzZSBvZiB0aGF0IG92ZXJyaWRlIG11c3QgYWx3YXlzXG4gIC8vIGJ5cGFzcyB0aGUgY2FjaGUgYmVsb3cg4oCUIGJvdGggcmVhZGluZyBhIHN0YWxlIGVudHJ5IGFuZCB3cml0aW5nIG9uZVxuICAvLyB1bmRlciB0aGUgc2hhcmVkIGtleSB3b3VsZCBkZWZlYXQgdGhlIG92ZXJyaWRlJ3MgcHVycG9zZS5cbiAgcHJpdmF0ZSByZWFkQ2FjaGVkQ29uZmlnKCk6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsIHtcbiAgICBpZiAoY29uZmlnVmVyc2lvbk92ZXJyaWRlKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmF3ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCkpO1xuICAgICAgaWYgKCFyYXcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBlbnRyeSA9IEpTT04ucGFyc2UocmF3KSBhcyBDYWNoZWRDb25maWdFbnRyeTtcbiAgICAgIGlmIChEYXRlLm5vdygpID49IGVudHJ5LmV4cGlyZXNBdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbnRyeS52YWx1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVDYWNoZWRDb25maWcodmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnVmVyc2lvbk92ZXJyaWRlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSA9IHsgdmFsdWUsIGV4cGlyZXNBdDogRGF0ZS5ub3coKSArIENPTkZJR19DQUNIRV9UVExfTVMgfTtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5nZXRDYWNoZUtleSgpLCBKU09OLnN0cmluZ2lmeShlbnRyeSkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU3RvcmFnZSBkaXNhYmxlZCwgZnVsbCwgb3IgdW5hdmFpbGFibGUgKHByaXZhdGUgYnJvd3NpbmcsIGV0Yy4pIC1cbiAgICAgIC8vIGZhaWwgb3BlbiBhbmQgbGV0IHRoZSBuZXh0IGNhbGwgcmUtZmV0Y2ggaW5zdGVhZCBvZiBjYWNoaW5nLlxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICBpZiAodGhpcy5yZXNwb25zZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5yZWFkQ2FjaGVkQ29uZmlnKCk7XG4gICAgaWYgKGNhY2hlZCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZXNwb25zZSA9IGNhY2hlZDtcbiAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICBuYW1lc3BhY2U6IHRoaXMubmFtZXNwYWNlLFxuICAgICAgc291cmNlOiB0aGlzLnNvdXJjZSxcbiAgICAgIHVzZXJfaWQ6IHRoaXMudXNlcklkLFxuICAgICAgaW5jbHVkZV9leHBlcmltZW50czogJ2RlZmF1bHQnLFxuICAgICAgaW5jbHVkZV9mZWF0dXJlX2dhdGVzOiBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcylcbiAgICAgICAgLm1hcChmZWF0dXJlR2F0ZSA9PiBmZWF0dXJlR2F0ZS50b1N0cmluZygpKVxuICAgICAgICAuam9pbignLCcpLFxuICAgIH0pO1xuICAgIC8vIFNlcmlhbGl6ZWQgc28gd2UgY2FuIGJyYW5jaCB0aGUgR3JhcGhRTCBjYWxsIG9uIHRoZSBgdXNlX3VuaWZpZWRfY29uZmlnYFxuICAgIC8vIGdhdGUgcmV0dXJuZWQgYnkgL3YxL29yZy9jb25maWcuIE9uY2UgdGhlIG1pZ3JhdGlvbiB0byBnZXRXaWRnZXRDb25maWdcbiAgICAvLyBjb21wbGV0ZXMgKG9uZSBlbmRwb2ludCByZXR1cm5pbmcgZ2F0ZXMgKyBleHBlcmltZW50cyArIHByb2R1Y3RzQ29uZmlnKSxcbiAgICAvLyB0aGlzIGNvbGxhcHNlcyBiYWNrIHRvIGEgc2luZ2xlIGNhbGwuXG4gICAgY29uc3Qgb3JnQ29uZmlnUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICAgIGAke3RoaXMuYmFzZVVybH0vdjEvb3JnL2NvbmZpZz8ke3F1ZXJ5UGFyYW1zLnRvU3RyaW5nKCl9YCxcbiAgICAgIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYXBpS2V5fWAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICkudGhlbihhc3luYyByID0+IHtcbiAgICAgIGlmICghci5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE9yZyBjb25maWcgcmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgJHtyLnN0YXR1c31gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByLmpzb24oKSBhcyBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xuICAgIH0pO1xuXG4gICAgLy8gSG9ub3IgVVJMIC8gYHdpbmRvdy5fc3BpZmZ5YCAvIGxvY2FsU3RvcmFnZSBvdmVycmlkZXMgZm9yXG4gICAgLy8gYHVzZV91bmlmaWVkX2NvbmZpZ2AgdGhlIHNhbWUgd2F5IGV2ZXJ5IG90aGVyIGZlYXR1cmUgZ2F0ZSBpcyByZWFkLlxuICAgIGNvbnN0IHVzZVVuaWZpZWRDb25maWcgPSBuZXcgRmVhdHVyZUZsYWdTZXJ2aWNlKFxuICAgICAgb3JnQ29uZmlnUmVzcG9uc2UuZ2F0ZXMgPz8gW10sXG4gICAgKS5pc0ZlYXR1cmVHYXRlRW5hYmxlZChGZWF0dXJlR2F0ZXMuVXNlVW5pZmllZENvbmZpZyk7XG4gICAgY29uc3Qgb3JnQ29uZmlnID0gdXNlVW5pZmllZENvbmZpZ1xuICAgICAgPyBhd2FpdCBmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnKHRoaXMuYmFzZVVybCwgdGhpcy5hcGlLZXksIHRoaXMudXNlcklkKVxuICAgICAgOiBhd2FpdCBmZXRjaEdyYXBoUUxDb25maWcodGhpcy5iYXNlVXJsLCB0aGlzLmFwaUtleSk7XG5cbiAgICB0aGlzLnJlc3BvbnNlID0geyAuLi5vcmdDb25maWdSZXNwb25zZSwgb3JnQ29uZmlnIH07XG4gICAgdGhpcy53cml0ZUNhY2hlZENvbmZpZyh0aGlzLnJlc3BvbnNlKTtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgc3RhdGljIG1vY2sgZGF0YSBmcm9tIGl0cyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFBhc3NlcyBlbXB0eSBiYXNlVXJsL2FwaUtleVxuICogc28gYW55IGNvZGUgY2hlY2tpbmcgaXNSZWFkeSBkb2VzIG5vdCBmaXJlIHJlYWwgbmV0d29yayByZXF1ZXN0cy4gVGhlIG9yZ0NvbmZpZyBmaWVsZFxuICogY292ZXJzIGNvbG9ycywgZnJvbnRlbmRDb25maWcsIGFuZCBwYWdlL3dpZGdldC9tb3VudGluZyBjb25maWdzIHdpdGhvdXQgYW55IG5ldHdvcmsgY2FsbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2NrRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyByZWFkb25seSBhcGlLZXk6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZykge31cblxuICBhc3luYyBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMubW9ja0NvbmZpZztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFXQSxNQUFNLHNCQUFzQixNQUFTO0FBNkNyQyxJQUFhLHNCQUFiLE1BQWlFO0NBYS9ELFlBQVksRUFBRSxTQUFTLFFBQVEsUUFBUSxXQUFXLFVBQW9DO2tCQUZ2QztBQUc3QyxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTOztDQUdoQixBQUFRLGNBQXNCO0FBQzVCLFNBQU8sdUJBQXVCLEtBQUssUUFBUSxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssVUFBVSxHQUFHLEtBQUs7O0NBT3JHLEFBQVEsbUJBQStDO0FBQ3JELE1BQUksdUJBQXVCLENBQ3pCLFFBQU87QUFFVCxNQUFJO0dBQ0YsTUFBTSxNQUFNLGVBQWUsUUFBUSxLQUFLLGFBQWEsQ0FBQztBQUN0RCxPQUFJLENBQUMsSUFDSCxRQUFPO0dBRVQsTUFBTSxRQUFRLEtBQUssTUFBTSxJQUFJO0FBQzdCLE9BQUksS0FBSyxLQUFLLElBQUksTUFBTSxVQUN0QixRQUFPO0FBRVQsVUFBTyxNQUFNO1VBQ1A7QUFDTixVQUFPOzs7Q0FJWCxBQUFRLGtCQUFrQixPQUFrQztBQUMxRCxNQUFJLHVCQUF1QixDQUN6QjtBQUVGLE1BQUk7R0FDRixNQUFNQSxRQUEyQjtJQUFFO0lBQU8sV0FBVyxLQUFLLEtBQUssR0FBRztJQUFxQjtBQUN2RixrQkFBZSxRQUFRLEtBQUssYUFBYSxFQUFFLEtBQUssVUFBVSxNQUFNLENBQUM7VUFDM0Q7O0NBTVYsTUFBTSxrQkFBZ0Q7QUFDcEQsTUFBSSxLQUFLLGFBQWEsS0FDcEIsUUFBTyxLQUFLO0VBR2QsTUFBTSxTQUFTLEtBQUssa0JBQWtCO0FBQ3RDLE1BQUksV0FBVyxNQUFNO0FBQ25CLFFBQUssV0FBVztBQUNoQixVQUFPLEtBQUs7O0VBR2QsTUFBTSxjQUFjLElBQUksZ0JBQWdCO0dBQ3RDLFdBQVcsS0FBSztHQUNoQixRQUFRLEtBQUs7R0FDYixTQUFTLEtBQUs7R0FDZCxxQkFBcUI7R0FDckIsdUJBQXVCLE9BQU8sT0FBTyxhQUFhLENBQy9DLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUMsQ0FDMUMsS0FBSyxJQUFJO0dBQ2IsQ0FBQztFQUtGLE1BQU0sb0JBQW9CLE1BQU0sTUFDOUIsR0FBRyxLQUFLLFFBQVEsaUJBQWlCLFlBQVksVUFBVSxJQUN2RDtHQUNFLFFBQVE7R0FDUixTQUFTO0lBQ1AsZ0JBQWdCO0lBQ2hCLGVBQWUsVUFBVSxLQUFLO0lBQy9CO0dBQ0YsQ0FDRixDQUFDLEtBQUssT0FBTSxNQUFLO0FBQ2hCLE9BQUksQ0FBQyxFQUFFLEdBQ0wsT0FBTSxJQUFJLE1BQU0seUNBQXlDLEVBQUUsU0FBUztBQUV0RSxVQUFPLEVBQUUsTUFBTTtJQUNmO0VBT0YsTUFBTSxZQUhtQixJQUFJLG1CQUMzQixrQkFBa0IsU0FBUyxFQUFFLENBQzlCLENBQUMscUJBQXFCLGFBQWEsaUJBQWlCLEdBRWpELE1BQU0sMEJBQTBCLEtBQUssU0FBUyxLQUFLLFFBQVEsS0FBSyxPQUFPLEdBQ3ZFLE1BQU0sbUJBQW1CLEtBQUssU0FBUyxLQUFLLE9BQU87QUFFdkQsT0FBSyxXQUFXO0dBQUUsR0FBRztHQUFtQjtHQUFXO0FBQ25ELE9BQUssa0JBQWtCLEtBQUssU0FBUztBQUNyQyxTQUFPLEtBQUs7Ozs7Ozs7O0FBU2hCLElBQWEsMEJBQWIsTUFBcUU7Q0FLbkUsWUFBWSxBQUFpQkMsWUFBaUM7RUFBakM7aUJBSks7Z0JBRUQ7O0NBSWpDLE1BQU0sa0JBQWdEO0FBQ3BELFNBQU8sS0FBSyJ9
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5qcyIsIm5hbWVzIjpbImVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSIsIm1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50LCBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXMnO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFsQ29uZmlnVmFsdWVzIH0gZnJvbSAnc3JjL2NvbnRleHRzL2dyYXBocWxDb250ZXh0JztcbmltcG9ydCB7IGNvbmZpZ1ZlcnNpb25PdmVycmlkZSB9IGZyb20gJ3NyYy90eXBlcy9jb25maWctdmVyc2lvbnMnO1xuaW1wb3J0IHsgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyB9IGZyb20gJy4vZmV0Y2hHcmFwaFFMQ29uZmlnJztcblxuLy8gU2hvcnQtbGl2ZWQgc28gY29uZmlnIGNoYW5nZXMgKGdhdGVzLCBleHBlcmltZW50cykgc3RpbGwgcHJvcGFnYXRlIHdpdGhpblxuLy8gYSBzZXNzaW9uLCB3aGlsZSBzcGFyaW5nIGV2ZXJ5IHBhZ2UgbmF2aWdhdGlvbiBmcm9tIHJlLWZldGNoaW5nIG9yZ1xuLy8gY29uZmlnICsgR3JhcGhRTCBjb25maWcsIGJvdGggb2Ygd2hpY2ggc2l0IG9uIHRoZSBjcml0aWNhbCBwYXRoIGJlZm9yZVxuLy8gZmlyc3QgcGFpbnQuXG5jb25zdCBDT05GSUdfQ0FDSEVfVFRMX01TID0gNSAqIDYwICogMTAwMDtcblxudHlwZSBDYWNoZWRDb25maWdFbnRyeSA9IHtcbiAgdmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xufTtcblxudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICBvcmc6IHtcbiAgICBvcmc6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIC8vIFBvcHVsYXRlZCBieSB0aGUgYmFja2VuZCB3aGVuIHRoZSBgdXNlX3VuaWZpZWRfY29uZmlnYCBTdGF0c2lnIGdhdGVcbiAgLy8gZXZhbHVhdGVzIHRydWUuIGFtcGxpdHVkZVNlcnZpY2UgcmVhZHMgdGhlc2UgdG8gZW5yaWNoIGV2ZW50cyB3aXRoXG4gIC8vIGBleHBlcmltZW50Lntuc30uKmAgcHJvcGVydGllcy5cbiAgZXhwZXJpbWVudF9hc3NpZ25tZW50cz86IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50W107XG4gIC8vIG9yZ0NvbmZpZy5yZXNvbHV0aW9uIGlzIHBvcHVsYXRlZCBvbmx5IG9uIHRoZSB1bmlmaWVkIHBhdGggKHNvdXJjZWQgZnJvbVxuICAvLyBnZXRXaWRnZXRDb25maWcucmVzb2x1dGlvbiwgbm90IC92MS9vcmcvY29uZmlnLnJlc29sdXRpb24pIHNvIHRoZSB2ZXJzaW9uXG4gIC8vIHRocmVhZGVkIGludG8gaW5mZXJlbmNlIHJlcXVlc3RzIG1hdGNoZXMgdGhlIHZlcnNpb24gdGhhdCBwcm9kdWNlZCB0aGVcbiAgLy8gcmVuZGVyZWQgd2lkZ2V0cy5cbiAgb3JnQ29uZmlnPzogR3JhcGhRbENvbmZpZ1ZhbHVlcztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVzcG9uc2U6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIHRoaXMuYXBpS2V5ID0gYXBpS2V5O1xuICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYWNoZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZW52aXZlLWNvbmZpZy1jYWNoZToke3RoaXMuYmFzZVVybH06JHt0aGlzLmFwaUtleX06JHt0aGlzLnVzZXJJZH06JHt0aGlzLm5hbWVzcGFjZX06JHt0aGlzLnNvdXJjZX1gO1xuICB9XG5cbiAgLy8gYGVudml2ZV9jb25maWdfdmVyc2lvbmAgLyBgc3BpZmZ5X2NvbmZpZ192ZXJzaW9uYCBwaW4gYSBzcGVjaWZpYyBjb25maWdcbiAgLy8gdmVyc2lvbiBmb3IgZGVidWdnaW5nL3JvbGxiYWNrLiBBbnkgdXNlIG9mIHRoYXQgb3ZlcnJpZGUgbXVzdCBhbHdheXNcbiAgLy8gYnlwYXNzIHRoZSBjYWNoZSBiZWxvdyDigJQgYm90aCByZWFkaW5nIGEgc3RhbGUgZW50cnkgYW5kIHdyaXRpbmcgb25lXG4gIC8vIHVuZGVyIHRoZSBzaGFyZWQga2V5IHdvdWxkIGRlZmVhdCB0aGUgb3ZlcnJpZGUncyBwdXJwb3NlLlxuICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWcoKTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXcgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSk7XG4gICAgICBpZiAoIXJhdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5ID0gSlNPTi5wYXJzZShyYXcpIGFzIENhY2hlZENvbmZpZ0VudHJ5O1xuICAgICAgaWYgKERhdGUubm93KCkgPj0gZW50cnkuZXhwaXJlc0F0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVudHJ5LnZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZyh2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50cnk6IENhY2hlZENvbmZpZ0VudHJ5ID0geyB2YWx1ZSwgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ORklHX0NBQ0hFX1RUTF9NUyB9O1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCksIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTdG9yYWdlIGRpc2FibGVkLCBmdWxsLCBvciB1bmF2YWlsYWJsZSAocHJpdmF0ZSBicm93c2luZywgZXRjLikgLVxuICAgICAgLy8gZmFpbCBvcGVuIGFuZCBsZXQgdGhlIG5leHQgY2FsbCByZS1mZXRjaCBpbnN0ZWFkIG9mIGNhY2hpbmcuXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnJlYWRDYWNoZWRDb25maWcoKTtcbiAgICBpZiAoY2FjaGVkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlID0gY2FjaGVkO1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLy8gZ2V0V2lkZ2V0Q29uZmlnIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHNlc3Npb24gY29uZmlnOiBpdCByZXR1cm5zIG9yZ1xuICAgIC8vIGlkZW50aXR5ICsgZmVhdHVyZSBnYXRlcyArIGV4cGVyaW1lbnQgYXNzaWdubWVudHMgKHdoaWNoIHVzZWQgdG8gYmUgYVxuICAgIC8vIHNlcGFyYXRlIEdFVCAvdjEvb3JnL2NvbmZpZyBjYWxsKSBhbG9uZ3NpZGUgcHJvZHVjdHNDb25maWcgKyB0aGVcbiAgICAvLyByZXNvbHV0aW9uIG1ldGFkYXRhIHRocmVhZGVkIGludG8gZG93bnN0cmVhbSBpbmZlcmVuY2UuIGBnYXRlTmFtZXNgIGlzIHRoZVxuICAgIC8vIGxpc3Qgb2YgZ2F0ZXMgdGhlIGFwcCBjaGVja3MsIHNvIHRoZSByZXNvbHZlciBldmFsdWF0ZXMgYW5kIHJldHVybnMgdGhlbS5cbiAgICBjb25zdCBnYXRlTmFtZXMgPSBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcykubWFwKGZlYXR1cmVHYXRlID0+IGZlYXR1cmVHYXRlLnRvU3RyaW5nKCkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IGZldGNoVW5pZmllZEdyYXBoUUxDb25maWcoXG4gICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICB0aGlzLmFwaUtleSxcbiAgICAgIHRoaXMudXNlcklkLFxuICAgICAgZ2F0ZU5hbWVzLFxuICAgICAgdGhpcy5zb3VyY2UsXG4gICAgKTtcbiAgICB0aGlzLndyaXRlQ2FjaGVkQ29uZmlnKHRoaXMucmVzcG9uc2UpO1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBzdGF0aWMgbW9jayBkYXRhIGZyb20gaXRzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gUGFzc2VzIGVtcHR5IGJhc2VVcmwvYXBpS2V5XG4gKiBzbyBhbnkgY29kZSBjaGVja2luZyBpc1JlYWR5IGRvZXMgbm90IGZpcmUgcmVhbCBuZXR3b3JrIHJlcXVlc3RzLiBUaGUgb3JnQ29uZmlnIGZpZWxkXG4gKiBjb3ZlcnMgY29sb3JzLCBmcm9udGVuZENvbmZpZywgYW5kIHBhZ2Uvd2lkZ2V0L21vdW50aW5nIGNvbmZpZ3Mgd2l0aG91dCBhbnkgbmV0d29yayBjYWxscy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtb2NrQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKSB7fVxuXG4gIGFzeW5jIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5tb2NrQ29uZmlnO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsTUFBTSxzQkFBc0IsTUFBUztBQTZDckMsSUFBYSxzQkFBYixNQUFpRTtDQWEvRCxZQUFZLEVBQUUsU0FBUyxRQUFRLFFBQVEsV0FBVyxVQUFvQztrQkFGdkM7QUFHN0MsT0FBSyxVQUFVO0FBQ2YsT0FBSyxTQUFTO0FBQ2QsT0FBSyxTQUFTO0FBQ2QsT0FBSyxZQUFZO0FBQ2pCLE9BQUssU0FBUzs7Q0FHaEIsQUFBUSxjQUFzQjtBQUM1QixTQUFPLHVCQUF1QixLQUFLLFFBQVEsR0FBRyxLQUFLLE9BQU8sR0FBRyxLQUFLLE9BQU8sR0FBRyxLQUFLLFVBQVUsR0FBRyxLQUFLOztDQU9yRyxBQUFRLG1CQUErQztBQUNyRCxNQUFJLHVCQUF1QixDQUN6QixRQUFPO0FBRVQsTUFBSTtHQUNGLE1BQU0sTUFBTSxlQUFlLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFDdEQsT0FBSSxDQUFDLElBQ0gsUUFBTztHQUVULE1BQU0sUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUM3QixPQUFJLEtBQUssS0FBSyxJQUFJLE1BQU0sVUFDdEIsUUFBTztBQUVULFVBQU8sTUFBTTtVQUNQO0FBQ04sVUFBTzs7O0NBSVgsQUFBUSxrQkFBa0IsT0FBa0M7QUFDMUQsTUFBSSx1QkFBdUIsQ0FDekI7QUFFRixNQUFJO0dBQ0YsTUFBTUEsUUFBMkI7SUFBRTtJQUFPLFdBQVcsS0FBSyxLQUFLLEdBQUc7SUFBcUI7QUFDdkYsa0JBQWUsUUFBUSxLQUFLLGFBQWEsRUFBRSxLQUFLLFVBQVUsTUFBTSxDQUFDO1VBQzNEOztDQU1WLE1BQU0sa0JBQWdEO0FBQ3BELE1BQUksS0FBSyxhQUFhLEtBQ3BCLFFBQU8sS0FBSztFQUdkLE1BQU0sU0FBUyxLQUFLLGtCQUFrQjtBQUN0QyxNQUFJLFdBQVcsTUFBTTtBQUNuQixRQUFLLFdBQVc7QUFDaEIsVUFBTyxLQUFLOztFQVFkLE1BQU0sWUFBWSxPQUFPLE9BQU8sYUFBYSxDQUFDLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUM7QUFFeEYsT0FBSyxXQUFXLE1BQU0sMEJBQ3BCLEtBQUssU0FDTCxLQUFLLFFBQ0wsS0FBSyxRQUNMLFdBQ0EsS0FBSyxPQUNOO0FBQ0QsT0FBSyxrQkFBa0IsS0FBSyxTQUFTO0FBQ3JDLFNBQU8sS0FBSzs7Ozs7Ozs7QUFTaEIsSUFBYSwwQkFBYixNQUFxRTtDQUtuRSxZQUFZLEFBQWlCQyxZQUFpQztFQUFqQztpQkFKSztnQkFFRDs7Q0FJakMsTUFBTSxrQkFBZ0Q7QUFDcEQsU0FBTyxLQUFLIn0=