@envive-ai/react-hooks 0.3.21 → 0.3.22
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.
- package/dist/atoms/app/index.d.ts +7 -7
- package/dist/atoms/app/variant.d.cts +6 -6
- package/dist/atoms/chat/chatState.d.ts +17 -17
- package/dist/atoms/chat/form.d.cts +3 -3
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/index.d.cts +3 -3
- package/dist/atoms/chat/index.d.ts +2 -2
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/messageQueue.d.cts +7 -7
- package/dist/atoms/chat/messageQueue.d.ts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
- package/dist/atoms/chat/renderedWidgetRefs.d.cts +3 -3
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.d.cts +2 -2
- package/dist/atoms/chat/replies.d.ts +2 -2
- package/dist/atoms/chat/suggestions.d.cts +3 -3
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/envive/enviveConfig.d.cts +12 -12
- package/dist/atoms/envive/enviveConfig.d.ts +13 -13
- package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
- package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
- package/dist/atoms/org/customerService.d.cts +6 -6
- package/dist/atoms/org/customerService.d.ts +6 -6
- package/dist/atoms/org/graphqlConfig.d.cts +4 -4
- package/dist/atoms/org/graphqlConfig.d.ts +4 -4
- package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
- package/dist/atoms/search/chatSearch.d.cts +17 -17
- package/dist/atoms/search/chatSearch.d.ts +17 -17
- package/dist/atoms/search/searchAPI.d.cts +13 -13
- package/dist/atoms/search/searchAPI.d.ts +13 -13
- package/dist/atoms/search/types.d.ts +1 -1
- package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
- package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
- package/dist/contexts/amplitudeContext/amplitudeContext.cjs +9 -3
- package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +2 -1
- package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +2 -1
- package/dist/contexts/amplitudeContext/amplitudeContext.js +9 -3
- package/dist/contexts/enviveContext/types.d.ts +1 -1
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
- package/dist/contexts/types.d.ts +1 -1
- package/dist/contexts/typesV3.d.cts +1 -1
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
- package/dist/hooks/Search/useSearch.cjs +12 -4
- package/dist/hooks/Search/useSearch.js +12 -4
- package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +20 -27
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +8 -8
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +8 -8
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +21 -28
- package/dist/hooks/WidgetInteraction/types.cjs +25 -1
- package/dist/hooks/WidgetInteraction/types.d.cts +11 -2
- package/dist/hooks/WidgetInteraction/types.d.ts +11 -2
- package/dist/hooks/WidgetInteraction/types.js +24 -2
- package/dist/hooks/WidgetInteraction/useWidgetInteraction.cjs +6 -2
- package/dist/hooks/WidgetInteraction/useWidgetInteraction.js +6 -2
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/services/amplitudeService/amplitudeService.cjs +9 -1
- package/dist/services/amplitudeService/amplitudeService.d.cts +2 -1
- package/dist/services/amplitudeService/amplitudeService.d.ts +2 -1
- package/dist/services/amplitudeService/amplitudeService.js +9 -1
- package/package.json +1 -1
- package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +31 -27
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +5 -2
- package/src/contexts/pageContext/__tests__/pageContext.test.tsx +10 -0
- package/src/hooks/Search/__tests__/useSearch.test.tsx +0 -4
- package/src/hooks/Search/useSearch.tsx +14 -8
- package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +27 -34
- package/src/hooks/WidgetInteraction/types.ts +25 -1
- package/src/hooks/WidgetInteraction/useWidgetInteraction.ts +3 -1
- package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +69 -6
- package/src/services/amplitudeService/amplitudeService.ts +13 -0
|
@@ -12,8 +12,7 @@ require('../../atoms/search/index.cjs');
|
|
|
12
12
|
const require_amplitudeContext = require('../../contexts/amplitudeContext/amplitudeContext.cjs');
|
|
13
13
|
const require_useNewOrgConfig = require('../NewOrgConfig/useNewOrgConfig.cjs');
|
|
14
14
|
require('../NewOrgConfig/index.cjs');
|
|
15
|
-
const
|
|
16
|
-
require('../TrackComponentVisibleEvent/index.cjs');
|
|
15
|
+
const require_useIntersection = require('../Intersection/useIntersection.cjs');
|
|
17
16
|
const require_useSearchInput = require('./useSearchInput.cjs');
|
|
18
17
|
const require_useRecommendedProducts = require('./useRecommendedProducts.cjs');
|
|
19
18
|
let react = require("react");
|
|
@@ -170,7 +169,16 @@ const useSearch = ({ allowRedirect = false } = {}) => {
|
|
|
170
169
|
clearFilters,
|
|
171
170
|
scrollToTop
|
|
172
171
|
]);
|
|
173
|
-
|
|
172
|
+
const searchResultsVisible = require_useIntersection.useIntersection(searchResultsRef, "0px");
|
|
173
|
+
const hasTrackedSearchComponentVisible = (0, react.useRef)(false);
|
|
174
|
+
(0, react.useEffect)(() => {
|
|
175
|
+
if (!searchResultsVisible || hasTrackedSearchComponentVisible.current) return;
|
|
176
|
+
hasTrackedSearchComponentVisible.current = true;
|
|
177
|
+
trackEvent({
|
|
178
|
+
eventName: require_eventNames.SpiffyMetricsEventName.SearchComponentVisible,
|
|
179
|
+
eventProps: {}
|
|
180
|
+
});
|
|
181
|
+
}, [searchResultsVisible, trackEvent]);
|
|
174
182
|
(0, react.useEffect)(() => {
|
|
175
183
|
if (searchResultsState === require_hooks_utils.SearchResultsState.Results || searchResultsState === require_hooks_utils.SearchResultsState.NoResults) trackEvent({
|
|
176
184
|
eventName: require_eventNames.SpiffyMetricsEventName.SearchResultsViewed,
|
|
@@ -231,4 +239,4 @@ const useSearch = ({ allowRedirect = false } = {}) => {
|
|
|
231
239
|
|
|
232
240
|
//#endregion
|
|
233
241
|
exports.useSearch = useSearch;
|
|
234
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2VhcmNoLmNqcyIsIm5hbWVzIjpbInVzZU5ld09yZ0NvbmZpZyIsIm9yZ1Nob3J0TmFtZUF0b20iLCJzZWFyY2hBdG9tIiwiZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20iLCJwZXJmb3JtU2VhcmNoQXRvbSIsInNlYXJjaFBhcmFtc0F0b20iLCJpc0ZpbHRlck9wZW5BdG9tIiwic2VhcmNoU2VsZWN0ZWRGaWx0ZXJzQXRvbSIsImFkZFNlYXJjaEZpbHRlckF0b20iLCJyZW1vdmVTZWFyY2hGaWx0ZXJBdG9tIiwic2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tIiwiY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSIsInNlYXJjaEZpbHRlcnNBdG9tIiwidXNlUmVjb21tZW5kZWRQcm9kdWN0cyIsInVzZVNlYXJjaElucHV0IiwiU3BpZmZ5V2lkZ2V0cyIsImdldFNlYXJjaFJlc3VsdHNTdGF0ZSIsImZvcm1hdEZpbHRlckRpc3BsYXlOYW1lIiwiUHJvZHVjdFNvcnRpbmciLCJ1c2VBbXBsaXR1ZGUiLCJTcGlmZnlNZXRyaWNzRXZlbnROYW1lIiwiY3JlYXRlRmlsdGVyT3B0aW9uIiwiaGFuZGxlU2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbSIsIlNlYXJjaFJlc3VsdHNTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBSZWZPYmplY3QsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtcbiAgU2VsZWN0ZWRGaWx0ZXJPcHRpb24sXG4gIGFkZFNlYXJjaEZpbHRlckF0b20sXG4gIGNsZWFyU2VhcmNoRmlsdGVyc0F0b20sXG4gIGNyZWF0ZUZpbHRlck9wdGlvbixcbiAgZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20sXG4gIHBlcmZvcm1TZWFyY2hBdG9tLFxuICByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tLFxuICBzZWFyY2hBdG9tLFxuICBzZWFyY2hGaWx0ZXJzQXRvbSxcbiAgc2VhcmNoUGFyYW1zQXRvbSxcbiAgc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tLFxuICBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoJztcbmltcG9ydCB7IGlzRmlsdGVyT3BlbkF0b20gfSBmcm9tICdzcmMvYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaCc7XG5pbXBvcnQgeyBmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSB9IGZyb20gJ3NyYy9hdG9tcy9zZWFyY2gvdXRpbHMnO1xuaW1wb3J0IHsgUHJvZHVjdFNvcnRpbmcgfSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoL3R5cGVzJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BpZmZ5V2lkZ2V0cyc7XG5pbXBvcnQgeyBQcm9kdWN0Q2FyZENvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFNlYXJjaEZpbHRlckRhdHVtLCBTZWxlY3RGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3R5cGVzL3NlYXJjaC1maWx0ZXItdHlwZXMnO1xuaW1wb3J0IHsgb3JnU2hvcnROYW1lQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IEZyb250ZW5kQ29uZmlnLCBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzU3RhdGUsIGdldFNlYXJjaFJlc3VsdHNTdGF0ZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50IH0gZnJvbSAnLi4vVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQnO1xuaW1wb3J0IHsgdXNlU2VhcmNoSW5wdXQgfSBmcm9tICcuL3VzZVNlYXJjaElucHV0JztcbmltcG9ydCB7IHVzZU5ld09yZ0NvbmZpZyB9IGZyb20gJy4uL05ld09yZ0NvbmZpZyc7XG5pbXBvcnQgeyB1c2VSZWNvbW1lbmRlZFByb2R1Y3RzIH0gZnJvbSAnLi91c2VSZWNvbW1lbmRlZFByb2R1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHRzSG9jUHJvcHMge1xuICAvLyBEYXRhXG4gIHNlYXJjaERhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGw7XG4gIHNlYXJjaFJlc3BvbnNlSWQ6IHN0cmluZztcbiAgbWVyY2hhbnRTaG9ydE5hbWU6IHN0cmluZztcbiAgcHJvZHVjdENhcmRDb25maWc6IFByb2R1Y3RDYXJkQ29uZmlnO1xuICBwcm9kdWN0TGlzdDogU2VhcmNoUmVzcG9uc2VQcm9kdWN0W107XG4gIGF1dG9jb21wbGV0ZVJlc3VsdHM6IHN0cmluZ1tdO1xuICBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICBhdmFpbGFibGVEeW5hbWljRmlsdGVyczogeyBuYW1lOiBzdHJpbmc7IGRpc3BsYXlOYW1lOiBzdHJpbmcgfVtdO1xuICBzZWxlY3RlZEZpbHRlck9wdGlvbnM6IFNlbGVjdGVkRmlsdGVyT3B0aW9uW107XG4gIHJlY29tbWVuZGVkUHJvZHVjdHM6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXVtdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZzogc3RyaW5nO1xuICBzZWFyY2hPdmVybGF5SGVhZGluZzogc3RyaW5nO1xuXG4gIC8vIFN0YXRlXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgc2VhcmNoUmVzdWx0c1N0YXRlOiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4gIGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbjtcbiAgaXNGaWx0ZXJPcGVuOiBib29sZWFuO1xuICBzaG91bGRTaG93QXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBmb2N1c2VkSW5kZXg6IG51bWJlcjtcbiAgZm9jdXNlZE9wdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gVUlcbiAgZmlsdGVyQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIC8vIEV2ZW50IEhhbmRsZXJzXG4gIG9uU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblN1Ym1pdFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgb25BdXRvY29tcGxldGVTZWxlY3Q6IChzdWdnZXN0aW9uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uS2V5RG93bjogKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvblNlYXJjaElucHV0Rm9jdXM6ICgpID0+IHZvaWQ7XG4gIG9uU2VhcmNoSW5wdXRCbHVyOiAoKSA9PiB2b2lkO1xuICBvblRvZ2dsZUR5bmFtaWNGaWx0ZXI6ICh7XG4gICAgZmlsdGVyLFxuICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSxcbiAgfToge1xuICAgIGZpbHRlcjogc3RyaW5nO1xuICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xuICB9KSA9PiB2b2lkO1xuICBvblNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW07XG4gIG9uUmVtb3ZlRmlsdGVyOiAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4gdm9pZDtcbiAgb25DbGVhckFsbEZpbHRlcnM6ICgpID0+IHZvaWQ7XG4gIHNldElzRmlsdGVyT3BlbjogKGlzRmlsdGVyT3BlbjogYm9vbGVhbikgPT4gdm9pZDtcbiAgcmVzZXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gIC8vIFJlZnNcbiAgc2VhcmNoUmVzdWx0c1JlZjogUmVhY3QuUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaCA9ICh7XG4gIGFsbG93UmVkaXJlY3QgPSBmYWxzZSxcbn06IHsgYWxsb3dSZWRpcmVjdD86IGJvb2xlYW4gfSA9IHt9KTogU2VhcmNoUmVzdWx0c0hvY1Byb3BzID0+IHtcbiAgLy8gQXRvbXNcbiAgY29uc3QgY29uZmlnID0gdXNlTmV3T3JnQ29uZmlnKCk7XG4gIGNvbnN0IG9yZ1Nob3J0TmFtZSA9IHVzZUF0b21WYWx1ZShvcmdTaG9ydE5hbWVBdG9tKTtcbiAgY29uc3QgeyBkYXRhOiBzZWFyY2hEYXRhLCBsb2FkaW5nOiBpc0xvYWRpbmdTZWFyY2ggfSA9IHVzZUF0b21WYWx1ZShzZWFyY2hBdG9tKTtcbiAgY29uc3QgcHJvZHVjdExpc3QgPSB1c2VBdG9tVmFsdWUoZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20pO1xuICBjb25zdCBwZXJmb3JtU2VhcmNoID0gdXNlU2V0QXRvbShwZXJmb3JtU2VhcmNoQXRvbSk7XG4gIGNvbnN0IFt7IHF1ZXJ5IH1dID0gdXNlQXRvbShzZWFyY2hQYXJhbXNBdG9tKTtcbiAgY29uc3QgW2lzRmlsdGVyT3Blbiwgc2V0SXNGaWx0ZXJPcGVuXSA9IHVzZUF0b20oaXNGaWx0ZXJPcGVuQXRvbSk7XG4gIGNvbnN0IFtzZWxlY3RlZEZpbHRlck9wdGlvbnNdID0gdXNlQXRvbShzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgYWRkRmlsdGVyID0gdXNlU2V0QXRvbShhZGRTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgcmVtb3ZlRmlsdGVyID0gdXNlU2V0QXRvbShyZW1vdmVTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgW3Byb2R1Y3RTb3J0aW5nLCBzZXRQcm9kdWN0U29ydGluZ10gPSB1c2VBdG9tKHNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSk7XG4gIGNvbnN0IGNsZWFyRmlsdGVycyA9IHVzZVNldEF0b20oY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IHNlYXJjaEZpbHRlcnMgPSB1c2VBdG9tVmFsdWUoc2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCByZWNvbW1lbmRlZFByb2R1Y3RzID0gdXNlUmVjb21tZW5kZWRQcm9kdWN0cygpO1xuXG4gIC8vIFJlZnNcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgLy8gVXRpbGl0aWVzXG4gIGNvbnN0IHNjcm9sbFRvVG9wID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHNlYXJjaFJlc3VsdHNSZWYuY3VycmVudDtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgLy8gU2VhcmNoIElucHV0IEhvb2tcbiAgY29uc3Qgc2VhcmNoSW5wdXQgPSB1c2VTZWFyY2hJbnB1dCh7XG4gICAgaW5pdGlhbFNlYXJjaFRleHQ6ICcnLFxuICAgIHNlYXJjaE9yaWdpbjogU3BpZmZ5V2lkZ2V0cy5TZWFyY2hSZXN1bHRzLFxuICAgIG9uU2VhcmNoU3VibWl0OiBzZWFyY2hRdWVyeSA9PiB7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IHNlYXJjaFF1ZXJ5IH0sIGFsbG93UmVkaXJlY3QpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0IHtcbiAgICBzZWFyY2hUZXh0LFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Rm9jdXMsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIGhhbmRsZUtleURvd24sXG4gICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0LFxuICAgIGhhbmRsZVN1Ym1pdFNlYXJjaCxcbiAgICBzZXRTZWFyY2hUZXh0LFxuICAgIHJlc2V0U2VhcmNoLFxuICB9ID0gc2VhcmNoSW5wdXQ7XG4gIGNvbnN0IHNlYXJjaFJlc3VsdHNTdGF0ZSA9IGdldFNlYXJjaFJlc3VsdHNTdGF0ZShpc0xvYWRpbmdTZWFyY2gsIHNlYXJjaERhdGEpO1xuXG4gIGNvbnN0IGR5bmFtaWNGaWx0ZXJzID0gc2VhcmNoRGF0YT8uZmlsdGVycyB8fCBbXTtcblxuICAvLyBQcm92aWRlIGZhbGxiYWNrIHZhbHVlcyB3aGVuIG9yZ1VJQ29uZmlnIGlzIG5vdCB5ZXQgYXZhaWxhYmxlXG4gIGNvbnN0IHNhZmVQcm9kdWN0Q2FyZENvbmZpZyA9IChjb25maWc/LmZyb250ZW5kQ29uZmlnIGFzIEZyb250ZW5kQ29uZmlnKT8udWlDb25maWdzXG4gICAgPy5wcm9kdWN0Q2FyZENvbmZpZyB8fCB7XG4gICAgdmFyaWFudDogJ21pbmltYWwnLFxuICAgIGhvdmVyVmFyaWFudDogJ25vbmUnLFxuICAgIGxheW91dFZhcmlhbnQ6ICdzcXVhcmUnLFxuICB9O1xuICBjb25zdCBzYWZlTWVyY2hhbnRTaG9ydE5hbWUgPSBvcmdTaG9ydE5hbWUgfHwgJyc7XG4gIGNvbnN0IHNlYXJjaENvbmZpZyA9IGNvbmZpZz8uZnJvbnRlbmRDb25maWc/LnVpQ29uZmlncz8uc2VhcmNoQ29uZmlnO1xuICBjb25zdCBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgPVxuICAgIHNlYXJjaENvbmZpZz8ucmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgfHwgJ1N1Z2dlc3RlZCBQcm9kdWN0cyc7XG4gIGNvbnN0IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyA9XG4gICAgc2VhcmNoQ29uZmlnPy5zZWFyY2hPdmVybGF5SGVhZGluZyA/PyAnV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kPyc7XG4gIGNvbnN0IGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGR5bmFtaWNGaWx0ZXJzXG4gICAgICAuZmlsdGVyKFxuICAgICAgICBkeW5hbWljRmlsdGVyTmFtZSA9PlxuICAgICAgICAgICFzZWxlY3RlZEZpbHRlck9wdGlvbnMuc29tZShvcHRpb24gPT4gb3B0aW9uLmlkID09PSBgZHluYW1pYzoke2R5bmFtaWNGaWx0ZXJOYW1lfWApLFxuICAgICAgKVxuICAgICAgLm1hcChkeW5hbWljRmlsdGVyTmFtZSA9PiAoe1xuICAgICAgICBuYW1lOiBkeW5hbWljRmlsdGVyTmFtZSxcbiAgICAgICAgZGlzcGxheU5hbWU6IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lKGR5bmFtaWNGaWx0ZXJOYW1lKSxcbiAgICAgIH0pKTtcbiAgfSwgW2R5bmFtaWNGaWx0ZXJzLCBzZWxlY3RlZEZpbHRlck9wdGlvbnNdKTtcblxuICBjb25zdCBmaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc29ydE9wdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVEKSxcbiAgICAgICAgZGlzcGxheU5hbWU6ICdSZWxldmFuY2UnLFxuICAgICAgICBwcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgIGlzU2VsZWN0ZWQ6IHByb2R1Y3RTb3J0aW5nID09PSBQcm9kdWN0U29ydGluZy5GRUFUVVJFRCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQyksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUHJpY2U6IExvdyB0byBIaWdoJyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUHJpY2U6IEhpZ2ggdG8gTG93JyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBbXG4gICAgICB7IGZpbHRlcklkOiAnc29ydCcsIGRpc3BsYXlOYW1lOiAnU09SVCcsIGl0ZW1zOiBzb3J0T3B0aW9ucyB9LFxuICAgICAgLi4uc2VhcmNoRmlsdGVycyxcbiAgICBdIGFzIFNlYXJjaEZpbHRlckRhdHVtW107XG4gIH0sIFtwcm9kdWN0U29ydGluZywgc2VhcmNoRmlsdGVyc10pO1xuXG4gIGNvbnN0IGZpbHRlckJ1dHRvblRleHQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZENvdW50ID0gZmlsdGVycy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBmaWx0ZXIpID0+IHtcbiAgICAgIGlmIChmaWx0ZXIuZmlsdGVySWQgPT09ICdzb3J0Jykge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYyArIGZpbHRlci5pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcbiAgICB9LCAwKTtcbiAgICBpZiAoc2VsZWN0ZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdGaWx0ZXIgJiBTb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIGBGaWx0ZXIgJiBTb3J0ICgke3NlbGVjdGVkQ291bnR9KWA7XG4gIH0sIFtmaWx0ZXJzXSk7XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlciA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICBmaWx0ZXIsXG4gICAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVyOiBzdHJpbmc7XG4gICAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWU6IHN0cmluZztcbiAgICB9KSA9PiB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaEZpbHRlckNsaWNrZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBmaWx0ZXJUeXBlOiAnRHluYW1pYycsXG4gICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlcixcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGFkZEZpbHRlcihjcmVhdGVGaWx0ZXJPcHRpb24oJ2R5bmFtaWMnLCBmaWx0ZXIsIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSkpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFthZGRGaWx0ZXIsIHNlYXJjaFRleHQsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVSZW1vdmVGaWx0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4ge1xuICAgICAgcmVtb3ZlRmlsdGVyKGZpbHRlci5pZCk7XG4gICAgICBzY3JvbGxUb1RvcCgpO1xuICAgIH0sXG4gICAgW3JlbW92ZUZpbHRlciwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVySWQsXG4gICAgICBmaWx0ZXJJdGVtSWQsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKGZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgY29uc3QgbmV3U29ydCA9IGZpbHRlckl0ZW1JZCBhcyBQcm9kdWN0U29ydGluZztcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFNvcnRDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHNvcnRUeXBlOiBuZXdTb3J0LFxuICAgICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRQcm9kdWN0U29ydGluZyhuZXdTb3J0KTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgICAgcmVtb3ZlRmlsdGVyKGAke2ZpbHRlcklkfToke2ZpbHRlckl0ZW1JZH1gKTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTdGF0aWMnLFxuICAgICAgICAgICAgZmlsdGVyQ2F0ZWdvcnk6IGZpbHRlcklkLFxuICAgICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlckl0ZW1JZCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgYWRkRmlsdGVyKGNyZWF0ZUZpbHRlck9wdGlvbihmaWx0ZXJJZCwgZmlsdGVySXRlbUlkLCBkaXNwbGF5TmFtZSkpO1xuICAgICAgICBzY3JvbGxUb1RvcCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2FkZEZpbHRlciwgcmVtb3ZlRmlsdGVyLCBzZXRQcm9kdWN0U29ydGluZywgc2VhcmNoVGV4dCwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyQWxsRmlsdGVycyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRQcm9kdWN0U29ydGluZyhQcm9kdWN0U29ydGluZy5GRUFUVVJFRCk7XG4gICAgY2xlYXJGaWx0ZXJzKCk7XG4gICAgc2Nyb2xsVG9Ub3AoKTtcbiAgfSwgW3NldFByb2R1Y3RTb3J0aW5nLCBjbGVhckZpbHRlcnMsIHNjcm9sbFRvVG9wXSk7XG5cbiAgLy8gU2lkZSBFZmZlY3RzXG4gIHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50KFxuICAgIFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBzZWFyY2hSZXN1bHRzUmVmIGFzIFJlZk9iamVjdDxIVE1MRWxlbWVudD4sXG4gICAge30sXG4gICAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hDb21wb25lbnRWaXNpYmxlLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VhcmNoUmVzdWx0c1N0YXRlID09PSBTZWFyY2hSZXN1bHRzU3RhdGUuUmVzdWx0cyB8fFxuICAgICAgc2VhcmNoUmVzdWx0c1N0YXRlID09PSBTZWFyY2hSZXN1bHRzU3RhdGUuTm9SZXN1bHRzXG4gICAgKSB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFJlc3VsdHNWaWV3ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgICAgcmVzdWx0c0NvdW50OiBwcm9kdWN0TGlzdC5sZW5ndGgsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcm9kdWN0TGlzdC5sZW5ndGgsIHNlYXJjaFJlc3VsdHNTdGF0ZV0pO1xuXG4gIC8vIFRoaXMgaXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZSBzZWFyY2ggdGV4dCB0cmlnZ2VyaW5nIGEgc2VhcmNoXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHF1ZXJ5ICYmIHF1ZXJ5ICE9PSBzZWFyY2hUZXh0KSB7XG4gICAgICBjb25zdCBlc3EgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgnZXNxJyk7XG4gICAgICBzZXRTZWFyY2hUZXh0KHF1ZXJ5KTtcbiAgICAgIHBlcmZvcm1TZWFyY2goeyBxdWVyeTogZXNxID8/IHF1ZXJ5IH0pO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtwZXJmb3JtU2VhcmNoLCBxdWVyeSwgc2V0U2VhcmNoVGV4dF0pO1xuXG4gIHJldHVybiB7XG4gICAgc2VhcmNoRGF0YSxcbiAgICBzZWFyY2hSZXNwb25zZUlkOiBzZWFyY2hEYXRhPy5zZWFyY2hSZXNwb25zZUlkID8/ICcnLFxuICAgIG1lcmNoYW50U2hvcnROYW1lOiBzYWZlTWVyY2hhbnRTaG9ydE5hbWUsXG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc6IHNhZmVSZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZyxcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZzogc2FmZVNlYXJjaE92ZXJsYXlIZWFkaW5nLFxuICAgIHByb2R1Y3RDYXJkQ29uZmlnOiBzYWZlUHJvZHVjdENhcmRDb25maWcsXG4gICAgcHJvZHVjdExpc3QsXG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cyxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNlYXJjaEZpbHRlcnM6IGZpbHRlcnMsXG4gICAgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnMsXG4gICAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLFxuICAgIHNlYXJjaFRleHQsXG4gICAgcXVlcnk6IHF1ZXJ5IHx8ICcnLFxuICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSxcbiAgICBpc0xvYWRpbmdTZWFyY2gsXG4gICAgaXNGaWx0ZXJPcGVuLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBmaWx0ZXJCdXR0b25UZXh0LFxuICAgIG9uU2VhcmNoSW5wdXRDaGFuZ2U6IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlLFxuICAgIG9uU3VibWl0U2VhcmNoOiBoYW5kbGVTdWJtaXRTZWFyY2gsXG4gICAgb25BdXRvY29tcGxldGVTZWxlY3Q6IGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBvbktleURvd246IGhhbmRsZUtleURvd24sXG4gICAgb25TZWFyY2hJbnB1dEZvY3VzOiBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIG9uU2VhcmNoSW5wdXRCbHVyOiBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgb25Ub2dnbGVEeW5hbWljRmlsdGVyOiBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyLFxuICAgIG9uU2VsZWN0RmlsdGVySXRlbTogaGFuZGxlU2VsZWN0RmlsdGVySXRlbSxcbiAgICBvblJlbW92ZUZpbHRlcjogaGFuZGxlUmVtb3ZlRmlsdGVyLFxuICAgIG9uQ2xlYXJBbGxGaWx0ZXJzOiBoYW5kbGVDbGVhckFsbEZpbHRlcnMsXG4gICAgc2V0SXNGaWx0ZXJPcGVuLFxuICAgIHJlc2V0U2VhcmNoLFxuICAgIHNlYXJjaFJlc3VsdHNSZWY6IHNlYXJjaFJlc3VsdHNSZWYgYXMgUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PixcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzRkEsTUFBYSxhQUFhLEVBQ3hCLGdCQUFnQixVQUNlLEVBQUUsS0FBNEI7Q0FFN0QsTUFBTSxTQUFTQSx5Q0FBaUI7Q0FDaEMsTUFBTSx1Q0FBNEJDLG1EQUFpQjtDQUNuRCxNQUFNLEVBQUUsTUFBTSxZQUFZLFNBQVMsNENBQWlDQyw2QkFBVztDQUMvRSxNQUFNLHNDQUEyQkMsNkNBQTJCO0NBQzVELE1BQU0sc0NBQTJCQyxvQ0FBa0I7Q0FDbkQsTUFBTSxDQUFDLEVBQUUsOEJBQW1CQyxtQ0FBaUI7Q0FDN0MsTUFBTSxDQUFDLGNBQWMsc0NBQTJCQyxzQ0FBaUI7Q0FDakUsTUFBTSxDQUFDLDRDQUFpQ0MsNENBQTBCO0NBQ2xFLE1BQU0sa0NBQXVCQyxzQ0FBb0I7Q0FDakQsTUFBTSxxQ0FBMEJDLHlDQUF1QjtDQUN2RCxNQUFNLENBQUMsZ0JBQWdCLHdDQUE2QkMsMkNBQXlCO0NBQzdFLE1BQU0scUNBQTBCQyx5Q0FBdUI7Q0FDdkQsTUFBTSx3Q0FBNkJDLG9DQUFrQjtDQUNyRCxNQUFNLHNCQUFzQkMsdURBQXdCO0NBR3BELE1BQU0scUNBQTBDLEtBQUs7Q0FHckQsTUFBTSwyQ0FBZ0M7RUFDcEMsTUFBTSxZQUFZLGlCQUFpQjtBQUNuQyxN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
|
|
242
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2VhcmNoLmNqcyIsIm5hbWVzIjpbInVzZU5ld09yZ0NvbmZpZyIsIm9yZ1Nob3J0TmFtZUF0b20iLCJzZWFyY2hBdG9tIiwiZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20iLCJwZXJmb3JtU2VhcmNoQXRvbSIsInNlYXJjaFBhcmFtc0F0b20iLCJpc0ZpbHRlck9wZW5BdG9tIiwic2VhcmNoU2VsZWN0ZWRGaWx0ZXJzQXRvbSIsImFkZFNlYXJjaEZpbHRlckF0b20iLCJyZW1vdmVTZWFyY2hGaWx0ZXJBdG9tIiwic2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tIiwiY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSIsInNlYXJjaEZpbHRlcnNBdG9tIiwidXNlUmVjb21tZW5kZWRQcm9kdWN0cyIsInVzZVNlYXJjaElucHV0IiwiU3BpZmZ5V2lkZ2V0cyIsImdldFNlYXJjaFJlc3VsdHNTdGF0ZSIsImZvcm1hdEZpbHRlckRpc3BsYXlOYW1lIiwiUHJvZHVjdFNvcnRpbmciLCJ1c2VBbXBsaXR1ZGUiLCJTcGlmZnlNZXRyaWNzRXZlbnROYW1lIiwiY3JlYXRlRmlsdGVyT3B0aW9uIiwiaGFuZGxlU2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbSIsInVzZUludGVyc2VjdGlvbiIsIlNlYXJjaFJlc3VsdHNTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBSZWZPYmplY3QsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtcbiAgU2VsZWN0ZWRGaWx0ZXJPcHRpb24sXG4gIGFkZFNlYXJjaEZpbHRlckF0b20sXG4gIGNsZWFyU2VhcmNoRmlsdGVyc0F0b20sXG4gIGNyZWF0ZUZpbHRlck9wdGlvbixcbiAgZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20sXG4gIHBlcmZvcm1TZWFyY2hBdG9tLFxuICByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tLFxuICBzZWFyY2hBdG9tLFxuICBzZWFyY2hGaWx0ZXJzQXRvbSxcbiAgc2VhcmNoUGFyYW1zQXRvbSxcbiAgc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tLFxuICBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoJztcbmltcG9ydCB7IGlzRmlsdGVyT3BlbkF0b20gfSBmcm9tICdzcmMvYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaCc7XG5pbXBvcnQgeyBmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSB9IGZyb20gJ3NyYy9hdG9tcy9zZWFyY2gvdXRpbHMnO1xuaW1wb3J0IHsgUHJvZHVjdFNvcnRpbmcgfSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoL3R5cGVzJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BpZmZ5V2lkZ2V0cyc7XG5pbXBvcnQgeyBQcm9kdWN0Q2FyZENvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFNlYXJjaEZpbHRlckRhdHVtLCBTZWxlY3RGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3R5cGVzL3NlYXJjaC1maWx0ZXItdHlwZXMnO1xuaW1wb3J0IHsgb3JnU2hvcnROYW1lQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IEZyb250ZW5kQ29uZmlnLCBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB1c2VJbnRlcnNlY3Rpb24gfSBmcm9tICdzcmMvaG9va3MvSW50ZXJzZWN0aW9uL3VzZUludGVyc2VjdGlvbic7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzU3RhdGUsIGdldFNlYXJjaFJlc3VsdHNTdGF0ZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlYXJjaElucHV0IH0gZnJvbSAnLi91c2VTZWFyY2hJbnB1dCc7XG5pbXBvcnQgeyB1c2VOZXdPcmdDb25maWcgfSBmcm9tICcuLi9OZXdPcmdDb25maWcnO1xuaW1wb3J0IHsgdXNlUmVjb21tZW5kZWRQcm9kdWN0cyB9IGZyb20gJy4vdXNlUmVjb21tZW5kZWRQcm9kdWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0hvY1Byb3BzIHtcbiAgLy8gRGF0YVxuICBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsO1xuICBzZWFyY2hSZXNwb25zZUlkOiBzdHJpbmc7XG4gIG1lcmNoYW50U2hvcnROYW1lOiBzdHJpbmc7XG4gIHByb2R1Y3RDYXJkQ29uZmlnOiBQcm9kdWN0Q2FyZENvbmZpZztcbiAgcHJvZHVjdExpc3Q6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdFtdO1xuICBhdXRvY29tcGxldGVSZXN1bHRzOiBzdHJpbmdbXTtcbiAgc2VhcmNoRmlsdGVyczogU2VhcmNoRmlsdGVyRGF0dW1bXTtcbiAgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnM6IHsgbmFtZTogc3RyaW5nOyBkaXNwbGF5TmFtZTogc3RyaW5nIH1bXTtcbiAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zOiBTZWxlY3RlZEZpbHRlck9wdGlvbltdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzOiBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ11bXTtcbiAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc6IHN0cmluZztcbiAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHN0cmluZztcblxuICAvLyBTdGF0ZVxuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHNlYXJjaFJlc3VsdHNTdGF0ZTogU2VhcmNoUmVzdWx0c1N0YXRlO1xuICBpc0xvYWRpbmdTZWFyY2g6IGJvb2xlYW47XG4gIGlzRmlsdGVyT3BlbjogYm9vbGVhbjtcbiAgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbjtcbiAgZm9jdXNlZEluZGV4OiBudW1iZXI7XG4gIGZvY3VzZWRPcHRpb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8vIFVJXG4gIGZpbHRlckJ1dHRvblRleHQ6IHN0cmluZztcblxuICAvLyBFdmVudCBIYW5kbGVyc1xuICBvblNlYXJjaElucHV0Q2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TdWJtaXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICBvbktleURvd246IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZDtcbiAgb25TZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICBvblNlYXJjaElucHV0Qmx1cjogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVEeW5hbWljRmlsdGVyOiAoe1xuICAgIGZpbHRlcixcbiAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUsXG4gIH06IHtcbiAgICBmaWx0ZXI6IHN0cmluZztcbiAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWU6IHN0cmluZztcbiAgfSkgPT4gdm9pZDtcbiAgb25TZWxlY3RGaWx0ZXJJdGVtOiBTZWxlY3RGaWx0ZXJJdGVtO1xuICBvblJlbW92ZUZpbHRlcjogKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHZvaWQ7XG4gIG9uQ2xlYXJBbGxGaWx0ZXJzOiAoKSA9PiB2b2lkO1xuICBzZXRJc0ZpbHRlck9wZW46IChpc0ZpbHRlck9wZW46IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHJlc2V0U2VhcmNoOiAoKSA9PiB2b2lkO1xuICAvLyBSZWZzXG4gIHNlYXJjaFJlc3VsdHNSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59XG5cbmV4cG9ydCBjb25zdCB1c2VTZWFyY2ggPSAoe1xuICBhbGxvd1JlZGlyZWN0ID0gZmFsc2UsXG59OiB7IGFsbG93UmVkaXJlY3Q/OiBib29sZWFuIH0gPSB7fSk6IFNlYXJjaFJlc3VsdHNIb2NQcm9wcyA9PiB7XG4gIC8vIEF0b21zXG4gIGNvbnN0IGNvbmZpZyA9IHVzZU5ld09yZ0NvbmZpZygpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSB1c2VBdG9tVmFsdWUob3JnU2hvcnROYW1lQXRvbSk7XG4gIGNvbnN0IHsgZGF0YTogc2VhcmNoRGF0YSwgbG9hZGluZzogaXNMb2FkaW5nU2VhcmNoIH0gPSB1c2VBdG9tVmFsdWUoc2VhcmNoQXRvbSk7XG4gIGNvbnN0IHByb2R1Y3RMaXN0ID0gdXNlQXRvbVZhbHVlKGZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tKTtcbiAgY29uc3QgcGVyZm9ybVNlYXJjaCA9IHVzZVNldEF0b20ocGVyZm9ybVNlYXJjaEF0b20pO1xuICBjb25zdCBbeyBxdWVyeSB9XSA9IHVzZUF0b20oc2VhcmNoUGFyYW1zQXRvbSk7XG4gIGNvbnN0IFtpc0ZpbHRlck9wZW4sIHNldElzRmlsdGVyT3Blbl0gPSB1c2VBdG9tKGlzRmlsdGVyT3BlbkF0b20pO1xuICBjb25zdCBbc2VsZWN0ZWRGaWx0ZXJPcHRpb25zXSA9IHVzZUF0b20oc2VhcmNoU2VsZWN0ZWRGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IGFkZEZpbHRlciA9IHVzZVNldEF0b20oYWRkU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IHJlbW92ZUZpbHRlciA9IHVzZVNldEF0b20ocmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IFtwcm9kdWN0U29ydGluZywgc2V0UHJvZHVjdFNvcnRpbmddID0gdXNlQXRvbShzZWFyY2hQcm9kdWN0U29ydGluZ0F0b20pO1xuICBjb25zdCBjbGVhckZpbHRlcnMgPSB1c2VTZXRBdG9tKGNsZWFyU2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCBzZWFyY2hGaWx0ZXJzID0gdXNlQXRvbVZhbHVlKHNlYXJjaEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgcmVjb21tZW5kZWRQcm9kdWN0cyA9IHVzZVJlY29tbWVuZGVkUHJvZHVjdHMoKTtcblxuICAvLyBSZWZzXG4gIGNvbnN0IHNlYXJjaFJlc3VsdHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIC8vIFV0aWxpdGllc1xuICBjb25zdCBzY3JvbGxUb1RvcCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSBzZWFyY2hSZXN1bHRzUmVmLmN1cnJlbnQ7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgY29udGFpbmVyLnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIC8vIFNlYXJjaCBJbnB1dCBIb29rXG4gIGNvbnN0IHNlYXJjaElucHV0ID0gdXNlU2VhcmNoSW5wdXQoe1xuICAgIGluaXRpYWxTZWFyY2hUZXh0OiAnJyxcbiAgICBzZWFyY2hPcmlnaW46IFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBvblNlYXJjaFN1Ym1pdDogc2VhcmNoUXVlcnkgPT4ge1xuICAgICAgcGVyZm9ybVNlYXJjaCh7IHF1ZXJ5OiBzZWFyY2hRdWVyeSB9LCBhbGxvd1JlZGlyZWN0KTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCB7XG4gICAgc2VhcmNoVGV4dCxcbiAgICBmb2N1c2VkSW5kZXgsXG4gICAgZm9jdXNlZE9wdGlvbklkLFxuICAgIGF1dG9jb21wbGV0ZVJlc3VsdHMsXG4gICAgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Qmx1cixcbiAgICBoYW5kbGVLZXlEb3duLFxuICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBoYW5kbGVTdWJtaXRTZWFyY2gsXG4gICAgc2V0U2VhcmNoVGV4dCxcbiAgICByZXNldFNlYXJjaCxcbiAgfSA9IHNlYXJjaElucHV0O1xuICBjb25zdCBzZWFyY2hSZXN1bHRzU3RhdGUgPSBnZXRTZWFyY2hSZXN1bHRzU3RhdGUoaXNMb2FkaW5nU2VhcmNoLCBzZWFyY2hEYXRhKTtcblxuICBjb25zdCBkeW5hbWljRmlsdGVycyA9IHNlYXJjaERhdGE/LmZpbHRlcnMgfHwgW107XG5cbiAgLy8gUHJvdmlkZSBmYWxsYmFjayB2YWx1ZXMgd2hlbiBvcmdVSUNvbmZpZyBpcyBub3QgeWV0IGF2YWlsYWJsZVxuICBjb25zdCBzYWZlUHJvZHVjdENhcmRDb25maWcgPSAoY29uZmlnPy5mcm9udGVuZENvbmZpZyBhcyBGcm9udGVuZENvbmZpZyk/LnVpQ29uZmlnc1xuICAgID8ucHJvZHVjdENhcmRDb25maWcgfHwge1xuICAgIHZhcmlhbnQ6ICdtaW5pbWFsJyxcbiAgICBob3ZlclZhcmlhbnQ6ICdub25lJyxcbiAgICBsYXlvdXRWYXJpYW50OiAnc3F1YXJlJyxcbiAgfTtcbiAgY29uc3Qgc2FmZU1lcmNoYW50U2hvcnROYW1lID0gb3JnU2hvcnROYW1lIHx8ICcnO1xuICBjb25zdCBzZWFyY2hDb25maWcgPSBjb25maWc/LmZyb250ZW5kQ29uZmlnPy51aUNvbmZpZ3M/LnNlYXJjaENvbmZpZztcbiAgY29uc3Qgc2FmZVJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nID1cbiAgICBzZWFyY2hDb25maWc/LnJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nIHx8ICdTdWdnZXN0ZWQgUHJvZHVjdHMnO1xuICBjb25zdCBzYWZlU2VhcmNoT3ZlcmxheUhlYWRpbmcgPVxuICAgIHNlYXJjaENvbmZpZz8uc2VhcmNoT3ZlcmxheUhlYWRpbmcgPz8gJ1doYXQgY2FuIEkgaGVscCB5b3UgZmluZD8nO1xuICBjb25zdCBhdmFpbGFibGVEeW5hbWljRmlsdGVycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBkeW5hbWljRmlsdGVyc1xuICAgICAgLmZpbHRlcihcbiAgICAgICAgZHluYW1pY0ZpbHRlck5hbWUgPT5cbiAgICAgICAgICAhc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLnNvbWUob3B0aW9uID0+IG9wdGlvbi5pZCA9PT0gYGR5bmFtaWM6JHtkeW5hbWljRmlsdGVyTmFtZX1gKSxcbiAgICAgIClcbiAgICAgIC5tYXAoZHluYW1pY0ZpbHRlck5hbWUgPT4gKHtcbiAgICAgICAgbmFtZTogZHluYW1pY0ZpbHRlck5hbWUsXG4gICAgICAgIGRpc3BsYXlOYW1lOiBmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZShkeW5hbWljRmlsdGVyTmFtZSksXG4gICAgICB9KSk7XG4gIH0sIFtkeW5hbWljRmlsdGVycywgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zXSk7XG5cbiAgY29uc3QgZmlsdGVycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHNvcnRPcHRpb25zID0gW1xuICAgICAge1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IFN0cmluZyhQcm9kdWN0U29ydGluZy5GRUFUVVJFRCksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUmVsZXZhbmNlJyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuRkVBVFVSRUQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IFN0cmluZyhQcm9kdWN0U29ydGluZy5QUklDRV9BU0MpLFxuICAgICAgICBkaXNwbGF5TmFtZTogJ1ByaWNlOiBMb3cgdG8gSGlnaCcsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0MpLFxuICAgICAgICBkaXNwbGF5TmFtZTogJ1ByaWNlOiBIaWdoIHRvIExvdycsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0MsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gW1xuICAgICAgeyBmaWx0ZXJJZDogJ3NvcnQnLCBkaXNwbGF5TmFtZTogJ1NPUlQnLCBpdGVtczogc29ydE9wdGlvbnMgfSxcbiAgICAgIC4uLnNlYXJjaEZpbHRlcnMsXG4gICAgXSBhcyBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICB9LCBbcHJvZHVjdFNvcnRpbmcsIHNlYXJjaEZpbHRlcnNdKTtcblxuICBjb25zdCBmaWx0ZXJCdXR0b25UZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDb3VudCA9IGZpbHRlcnMucmVkdWNlKChhY2M6IG51bWJlciwgZmlsdGVyKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2MgKyBmaWx0ZXIuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pc1NlbGVjdGVkKS5sZW5ndGg7XG4gICAgfSwgMCk7XG4gICAgaWYgKHNlbGVjdGVkQ291bnQgPT09IDApIHtcbiAgICAgIHJldHVybiAnRmlsdGVyICYgU29ydCc7XG4gICAgfVxuICAgIHJldHVybiBgRmlsdGVyICYgU29ydCAoJHtzZWxlY3RlZENvdW50fSlgO1xuICB9LCBbZmlsdGVyc10pO1xuXG4gIC8vIENhbGxiYWNrc1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZUR5bmFtaWNGaWx0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVyLFxuICAgICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lLFxuICAgIH06IHtcbiAgICAgIGZpbHRlcjogc3RyaW5nO1xuICAgICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgZmlsdGVyVHlwZTogJ0R5bmFtaWMnLFxuICAgICAgICAgIGZpbHRlclZhbHVlOiBmaWx0ZXIsXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBhZGRGaWx0ZXIoY3JlYXRlRmlsdGVyT3B0aW9uKCdkeW5hbWljJywgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUpKTtcbiAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgfSxcbiAgICBbYWRkRmlsdGVyLCBzZWFyY2hUZXh0LCBzY3JvbGxUb1RvcF0sXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmVtb3ZlRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHtcbiAgICAgIHJlbW92ZUZpbHRlcihmaWx0ZXIuaWQpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFtyZW1vdmVGaWx0ZXIsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RGaWx0ZXJJdGVtOiBTZWxlY3RGaWx0ZXJJdGVtID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIGZpbHRlcklkLFxuICAgICAgZmlsdGVySXRlbUlkLFxuICAgICAgaXNTZWxlY3RlZCxcbiAgICAgIGRpc3BsYXlOYW1lLFxuICAgIH06IHtcbiAgICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbiAgICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH0pID0+IHtcbiAgICAgIGlmIChmaWx0ZXJJZCA9PT0gJ3NvcnQnKSB7XG4gICAgICAgIGNvbnN0IG5ld1NvcnQgPSBmaWx0ZXJJdGVtSWQgYXMgUHJvZHVjdFNvcnRpbmc7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hTb3J0Q2xpY2tlZCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICBzb3J0VHlwZTogbmV3U29ydCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UHJvZHVjdFNvcnRpbmcobmV3U29ydCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2UgaWYgKCFpc1NlbGVjdGVkKSB7XG4gICAgICAgIHJlbW92ZUZpbHRlcihgJHtmaWx0ZXJJZH06JHtmaWx0ZXJJdGVtSWR9YCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoRmlsdGVyQ2xpY2tlZCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnU3RhdGljJyxcbiAgICAgICAgICAgIGZpbHRlckNhdGVnb3J5OiBmaWx0ZXJJZCxcbiAgICAgICAgICAgIGZpbHRlclZhbHVlOiBmaWx0ZXJJdGVtSWQsXG4gICAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGFkZEZpbHRlcihjcmVhdGVGaWx0ZXJPcHRpb24oZmlsdGVySWQsIGZpbHRlckl0ZW1JZCwgZGlzcGxheU5hbWUpKTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFthZGRGaWx0ZXIsIHJlbW92ZUZpbHRlciwgc2V0UHJvZHVjdFNvcnRpbmcsIHNlYXJjaFRleHQsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVDbGVhckFsbEZpbHRlcnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0UHJvZHVjdFNvcnRpbmcoUHJvZHVjdFNvcnRpbmcuRkVBVFVSRUQpO1xuICAgIGNsZWFyRmlsdGVycygpO1xuICAgIHNjcm9sbFRvVG9wKCk7XG4gIH0sIFtzZXRQcm9kdWN0U29ydGluZywgY2xlYXJGaWx0ZXJzLCBzY3JvbGxUb1RvcF0pO1xuXG4gIGNvbnN0IHNlYXJjaFJlc3VsdHNWaXNpYmxlID0gdXNlSW50ZXJzZWN0aW9uKHNlYXJjaFJlc3VsdHNSZWYgYXMgUmVmT2JqZWN0PEhUTUxFbGVtZW50PiwgJzBweCcpO1xuICBjb25zdCBoYXNUcmFja2VkU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXNlYXJjaFJlc3VsdHNWaXNpYmxlIHx8IGhhc1RyYWNrZWRTZWFyY2hDb21wb25lbnRWaXNpYmxlLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaGFzVHJhY2tlZFNlYXJjaENvbXBvbmVudFZpc2libGUuY3VycmVudCA9IHRydWU7XG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoQ29tcG9uZW50VmlzaWJsZSxcbiAgICAgIGV2ZW50UHJvcHM6IHt9LFxuICAgIH0pO1xuICB9LCBbc2VhcmNoUmVzdWx0c1Zpc2libGUsIHRyYWNrRXZlbnRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLlJlc3VsdHMgfHxcbiAgICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLk5vUmVzdWx0c1xuICAgICkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hSZXN1bHRzVmlld2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIHJlc3VsdHNDb3VudDogcHJvZHVjdExpc3QubGVuZ3RoLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJvZHVjdExpc3QubGVuZ3RoLCBzZWFyY2hSZXN1bHRzU3RhdGVdKTtcblxuICAvLyBUaGlzIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgc2VhcmNoIHRleHQgdHJpZ2dlcmluZyBhIHNlYXJjaFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChxdWVyeSAmJiBxdWVyeSAhPT0gc2VhcmNoVGV4dCkge1xuICAgICAgY29uc3QgZXNxID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoJ2VzcScpO1xuICAgICAgc2V0U2VhcmNoVGV4dChxdWVyeSk7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IGVzcSA/PyBxdWVyeSB9KTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcGVyZm9ybVNlYXJjaCwgcXVlcnksIHNldFNlYXJjaFRleHRdKTtcblxuICByZXR1cm4ge1xuICAgIHNlYXJjaERhdGEsXG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc2VhcmNoRGF0YT8uc2VhcmNoUmVzcG9uc2VJZCA/PyAnJyxcbiAgICBtZXJjaGFudFNob3J0TmFtZTogc2FmZU1lcmNoYW50U2hvcnROYW1lLFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcsXG4gICAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyxcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzogc2FmZVByb2R1Y3RDYXJkQ29uZmlnLFxuICAgIHByb2R1Y3RMaXN0LFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHMsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzZWFyY2hGaWx0ZXJzOiBmaWx0ZXJzLFxuICAgIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzLFxuICAgIHNlbGVjdGVkRmlsdGVyT3B0aW9ucyxcbiAgICBzZWFyY2hUZXh0LFxuICAgIHF1ZXJ5OiBxdWVyeSB8fCAnJyxcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGUsXG4gICAgaXNMb2FkaW5nU2VhcmNoLFxuICAgIGlzRmlsdGVyT3BlbixcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgZmlsdGVyQnV0dG9uVGV4dCxcbiAgICBvblNlYXJjaElucHV0Q2hhbmdlOiBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBvblN1Ym1pdFNlYXJjaDogaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxuICAgIG9uU2VhcmNoSW5wdXRGb2N1czogaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBvblNlYXJjaElucHV0Qmx1cjogaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlcixcbiAgICBvblNlbGVjdEZpbHRlckl0ZW06IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW0sXG4gICAgb25SZW1vdmVGaWx0ZXI6IGhhbmRsZVJlbW92ZUZpbHRlcixcbiAgICBvbkNsZWFyQWxsRmlsdGVyczogaGFuZGxlQ2xlYXJBbGxGaWx0ZXJzLFxuICAgIHNldElzRmlsdGVyT3BlbixcbiAgICByZXNldFNlYXJjaCxcbiAgICBzZWFyY2hSZXN1bHRzUmVmOiBzZWFyY2hSZXN1bHRzUmVmIGFzIFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4sXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzRkEsTUFBYSxhQUFhLEVBQ3hCLGdCQUFnQixVQUNlLEVBQUUsS0FBNEI7Q0FFN0QsTUFBTSxTQUFTQSx5Q0FBaUI7Q0FDaEMsTUFBTSx1Q0FBNEJDLG1EQUFpQjtDQUNuRCxNQUFNLEVBQUUsTUFBTSxZQUFZLFNBQVMsNENBQWlDQyw2QkFBVztDQUMvRSxNQUFNLHNDQUEyQkMsNkNBQTJCO0NBQzVELE1BQU0sc0NBQTJCQyxvQ0FBa0I7Q0FDbkQsTUFBTSxDQUFDLEVBQUUsOEJBQW1CQyxtQ0FBaUI7Q0FD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
|
|
@@ -11,8 +11,7 @@ import "../../atoms/search/index.js";
|
|
|
11
11
|
import { useAmplitude } from "../../contexts/amplitudeContext/amplitudeContext.js";
|
|
12
12
|
import { useNewOrgConfig } from "../NewOrgConfig/useNewOrgConfig.js";
|
|
13
13
|
import "../NewOrgConfig/index.js";
|
|
14
|
-
import {
|
|
15
|
-
import "../TrackComponentVisibleEvent/index.js";
|
|
14
|
+
import { useIntersection } from "../Intersection/useIntersection.js";
|
|
16
15
|
import { useSearchInput } from "./useSearchInput.js";
|
|
17
16
|
import { useRecommendedProducts } from "./useRecommendedProducts.js";
|
|
18
17
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
@@ -169,7 +168,16 @@ const useSearch = ({ allowRedirect = false } = {}) => {
|
|
|
169
168
|
clearFilters,
|
|
170
169
|
scrollToTop
|
|
171
170
|
]);
|
|
172
|
-
|
|
171
|
+
const searchResultsVisible = useIntersection(searchResultsRef, "0px");
|
|
172
|
+
const hasTrackedSearchComponentVisible = useRef(false);
|
|
173
|
+
useEffect(() => {
|
|
174
|
+
if (!searchResultsVisible || hasTrackedSearchComponentVisible.current) return;
|
|
175
|
+
hasTrackedSearchComponentVisible.current = true;
|
|
176
|
+
trackEvent({
|
|
177
|
+
eventName: SpiffyMetricsEventName.SearchComponentVisible,
|
|
178
|
+
eventProps: {}
|
|
179
|
+
});
|
|
180
|
+
}, [searchResultsVisible, trackEvent]);
|
|
173
181
|
useEffect(() => {
|
|
174
182
|
if (searchResultsState === SearchResultsState.Results || searchResultsState === SearchResultsState.NoResults) trackEvent({
|
|
175
183
|
eventName: SpiffyMetricsEventName.SearchResultsViewed,
|
|
@@ -230,4 +238,4 @@ const useSearch = ({ allowRedirect = false } = {}) => {
|
|
|
230
238
|
|
|
231
239
|
//#endregion
|
|
232
240
|
export { useSearch };
|
|
233
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2VhcmNoLmpzIiwibmFtZXMiOlsiaGFuZGxlU2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBSZWZPYmplY3QsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtcbiAgU2VsZWN0ZWRGaWx0ZXJPcHRpb24sXG4gIGFkZFNlYXJjaEZpbHRlckF0b20sXG4gIGNsZWFyU2VhcmNoRmlsdGVyc0F0b20sXG4gIGNyZWF0ZUZpbHRlck9wdGlvbixcbiAgZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20sXG4gIHBlcmZvcm1TZWFyY2hBdG9tLFxuICByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tLFxuICBzZWFyY2hBdG9tLFxuICBzZWFyY2hGaWx0ZXJzQXRvbSxcbiAgc2VhcmNoUGFyYW1zQXRvbSxcbiAgc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tLFxuICBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoJztcbmltcG9ydCB7IGlzRmlsdGVyT3BlbkF0b20gfSBmcm9tICdzcmMvYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaCc7XG5pbXBvcnQgeyBmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSB9IGZyb20gJ3NyYy9hdG9tcy9zZWFyY2gvdXRpbHMnO1xuaW1wb3J0IHsgUHJvZHVjdFNvcnRpbmcgfSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoL3R5cGVzJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BpZmZ5V2lkZ2V0cyc7XG5pbXBvcnQgeyBQcm9kdWN0Q2FyZENvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFNlYXJjaEZpbHRlckRhdHVtLCBTZWxlY3RGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3R5cGVzL3NlYXJjaC1maWx0ZXItdHlwZXMnO1xuaW1wb3J0IHsgb3JnU2hvcnROYW1lQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IEZyb250ZW5kQ29uZmlnLCBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzU3RhdGUsIGdldFNlYXJjaFJlc3VsdHNTdGF0ZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50IH0gZnJvbSAnLi4vVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQnO1xuaW1wb3J0IHsgdXNlU2VhcmNoSW5wdXQgfSBmcm9tICcuL3VzZVNlYXJjaElucHV0JztcbmltcG9ydCB7IHVzZU5ld09yZ0NvbmZpZyB9IGZyb20gJy4uL05ld09yZ0NvbmZpZyc7XG5pbXBvcnQgeyB1c2VSZWNvbW1lbmRlZFByb2R1Y3RzIH0gZnJvbSAnLi91c2VSZWNvbW1lbmRlZFByb2R1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHRzSG9jUHJvcHMge1xuICAvLyBEYXRhXG4gIHNlYXJjaERhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGw7XG4gIHNlYXJjaFJlc3BvbnNlSWQ6IHN0cmluZztcbiAgbWVyY2hhbnRTaG9ydE5hbWU6IHN0cmluZztcbiAgcHJvZHVjdENhcmRDb25maWc6IFByb2R1Y3RDYXJkQ29uZmlnO1xuICBwcm9kdWN0TGlzdDogU2VhcmNoUmVzcG9uc2VQcm9kdWN0W107XG4gIGF1dG9jb21wbGV0ZVJlc3VsdHM6IHN0cmluZ1tdO1xuICBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICBhdmFpbGFibGVEeW5hbWljRmlsdGVyczogeyBuYW1lOiBzdHJpbmc7IGRpc3BsYXlOYW1lOiBzdHJpbmcgfVtdO1xuICBzZWxlY3RlZEZpbHRlck9wdGlvbnM6IFNlbGVjdGVkRmlsdGVyT3B0aW9uW107XG4gIHJlY29tbWVuZGVkUHJvZHVjdHM6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXVtdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZzogc3RyaW5nO1xuICBzZWFyY2hPdmVybGF5SGVhZGluZzogc3RyaW5nO1xuXG4gIC8vIFN0YXRlXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgc2VhcmNoUmVzdWx0c1N0YXRlOiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4gIGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbjtcbiAgaXNGaWx0ZXJPcGVuOiBib29sZWFuO1xuICBzaG91bGRTaG93QXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBmb2N1c2VkSW5kZXg6IG51bWJlcjtcbiAgZm9jdXNlZE9wdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gVUlcbiAgZmlsdGVyQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIC8vIEV2ZW50IEhhbmRsZXJzXG4gIG9uU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblN1Ym1pdFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgb25BdXRvY29tcGxldGVTZWxlY3Q6IChzdWdnZXN0aW9uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uS2V5RG93bjogKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvblNlYXJjaElucHV0Rm9jdXM6ICgpID0+IHZvaWQ7XG4gIG9uU2VhcmNoSW5wdXRCbHVyOiAoKSA9PiB2b2lkO1xuICBvblRvZ2dsZUR5bmFtaWNGaWx0ZXI6ICh7XG4gICAgZmlsdGVyLFxuICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSxcbiAgfToge1xuICAgIGZpbHRlcjogc3RyaW5nO1xuICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xuICB9KSA9PiB2b2lkO1xuICBvblNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW07XG4gIG9uUmVtb3ZlRmlsdGVyOiAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4gdm9pZDtcbiAgb25DbGVhckFsbEZpbHRlcnM6ICgpID0+IHZvaWQ7XG4gIHNldElzRmlsdGVyT3BlbjogKGlzRmlsdGVyT3BlbjogYm9vbGVhbikgPT4gdm9pZDtcbiAgcmVzZXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gIC8vIFJlZnNcbiAgc2VhcmNoUmVzdWx0c1JlZjogUmVhY3QuUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaCA9ICh7XG4gIGFsbG93UmVkaXJlY3QgPSBmYWxzZSxcbn06IHsgYWxsb3dSZWRpcmVjdD86IGJvb2xlYW4gfSA9IHt9KTogU2VhcmNoUmVzdWx0c0hvY1Byb3BzID0+IHtcbiAgLy8gQXRvbXNcbiAgY29uc3QgY29uZmlnID0gdXNlTmV3T3JnQ29uZmlnKCk7XG4gIGNvbnN0IG9yZ1Nob3J0TmFtZSA9IHVzZUF0b21WYWx1ZShvcmdTaG9ydE5hbWVBdG9tKTtcbiAgY29uc3QgeyBkYXRhOiBzZWFyY2hEYXRhLCBsb2FkaW5nOiBpc0xvYWRpbmdTZWFyY2ggfSA9IHVzZUF0b21WYWx1ZShzZWFyY2hBdG9tKTtcbiAgY29uc3QgcHJvZHVjdExpc3QgPSB1c2VBdG9tVmFsdWUoZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20pO1xuICBjb25zdCBwZXJmb3JtU2VhcmNoID0gdXNlU2V0QXRvbShwZXJmb3JtU2VhcmNoQXRvbSk7XG4gIGNvbnN0IFt7IHF1ZXJ5IH1dID0gdXNlQXRvbShzZWFyY2hQYXJhbXNBdG9tKTtcbiAgY29uc3QgW2lzRmlsdGVyT3Blbiwgc2V0SXNGaWx0ZXJPcGVuXSA9IHVzZUF0b20oaXNGaWx0ZXJPcGVuQXRvbSk7XG4gIGNvbnN0IFtzZWxlY3RlZEZpbHRlck9wdGlvbnNdID0gdXNlQXRvbShzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgYWRkRmlsdGVyID0gdXNlU2V0QXRvbShhZGRTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgcmVtb3ZlRmlsdGVyID0gdXNlU2V0QXRvbShyZW1vdmVTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgW3Byb2R1Y3RTb3J0aW5nLCBzZXRQcm9kdWN0U29ydGluZ10gPSB1c2VBdG9tKHNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSk7XG4gIGNvbnN0IGNsZWFyRmlsdGVycyA9IHVzZVNldEF0b20oY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IHNlYXJjaEZpbHRlcnMgPSB1c2VBdG9tVmFsdWUoc2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCByZWNvbW1lbmRlZFByb2R1Y3RzID0gdXNlUmVjb21tZW5kZWRQcm9kdWN0cygpO1xuXG4gIC8vIFJlZnNcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgLy8gVXRpbGl0aWVzXG4gIGNvbnN0IHNjcm9sbFRvVG9wID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHNlYXJjaFJlc3VsdHNSZWYuY3VycmVudDtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgLy8gU2VhcmNoIElucHV0IEhvb2tcbiAgY29uc3Qgc2VhcmNoSW5wdXQgPSB1c2VTZWFyY2hJbnB1dCh7XG4gICAgaW5pdGlhbFNlYXJjaFRleHQ6ICcnLFxuICAgIHNlYXJjaE9yaWdpbjogU3BpZmZ5V2lkZ2V0cy5TZWFyY2hSZXN1bHRzLFxuICAgIG9uU2VhcmNoU3VibWl0OiBzZWFyY2hRdWVyeSA9PiB7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IHNlYXJjaFF1ZXJ5IH0sIGFsbG93UmVkaXJlY3QpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0IHtcbiAgICBzZWFyY2hUZXh0LFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Rm9jdXMsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIGhhbmRsZUtleURvd24sXG4gICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0LFxuICAgIGhhbmRsZVN1Ym1pdFNlYXJjaCxcbiAgICBzZXRTZWFyY2hUZXh0LFxuICAgIHJlc2V0U2VhcmNoLFxuICB9ID0gc2VhcmNoSW5wdXQ7XG4gIGNvbnN0IHNlYXJjaFJlc3VsdHNTdGF0ZSA9IGdldFNlYXJjaFJlc3VsdHNTdGF0ZShpc0xvYWRpbmdTZWFyY2gsIHNlYXJjaERhdGEpO1xuXG4gIGNvbnN0IGR5bmFtaWNGaWx0ZXJzID0gc2VhcmNoRGF0YT8uZmlsdGVycyB8fCBbXTtcblxuICAvLyBQcm92aWRlIGZhbGxiYWNrIHZhbHVlcyB3aGVuIG9yZ1VJQ29uZmlnIGlzIG5vdCB5ZXQgYXZhaWxhYmxlXG4gIGNvbnN0IHNhZmVQcm9kdWN0Q2FyZENvbmZpZyA9IChjb25maWc/LmZyb250ZW5kQ29uZmlnIGFzIEZyb250ZW5kQ29uZmlnKT8udWlDb25maWdzXG4gICAgPy5wcm9kdWN0Q2FyZENvbmZpZyB8fCB7XG4gICAgdmFyaWFudDogJ21pbmltYWwnLFxuICAgIGhvdmVyVmFyaWFudDogJ25vbmUnLFxuICAgIGxheW91dFZhcmlhbnQ6ICdzcXVhcmUnLFxuICB9O1xuICBjb25zdCBzYWZlTWVyY2hhbnRTaG9ydE5hbWUgPSBvcmdTaG9ydE5hbWUgfHwgJyc7XG4gIGNvbnN0IHNlYXJjaENvbmZpZyA9IGNvbmZpZz8uZnJvbnRlbmRDb25maWc/LnVpQ29uZmlncz8uc2VhcmNoQ29uZmlnO1xuICBjb25zdCBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgPVxuICAgIHNlYXJjaENvbmZpZz8ucmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgfHwgJ1N1Z2dlc3RlZCBQcm9kdWN0cyc7XG4gIGNvbnN0IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyA9XG4gICAgc2VhcmNoQ29uZmlnPy5zZWFyY2hPdmVybGF5SGVhZGluZyA/PyAnV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kPyc7XG4gIGNvbnN0IGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGR5bmFtaWNGaWx0ZXJzXG4gICAgICAuZmlsdGVyKFxuICAgICAgICBkeW5hbWljRmlsdGVyTmFtZSA9PlxuICAgICAgICAgICFzZWxlY3RlZEZpbHRlck9wdGlvbnMuc29tZShvcHRpb24gPT4gb3B0aW9uLmlkID09PSBgZHluYW1pYzoke2R5bmFtaWNGaWx0ZXJOYW1lfWApLFxuICAgICAgKVxuICAgICAgLm1hcChkeW5hbWljRmlsdGVyTmFtZSA9PiAoe1xuICAgICAgICBuYW1lOiBkeW5hbWljRmlsdGVyTmFtZSxcbiAgICAgICAgZGlzcGxheU5hbWU6IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lKGR5bmFtaWNGaWx0ZXJOYW1lKSxcbiAgICAgIH0pKTtcbiAgfSwgW2R5bmFtaWNGaWx0ZXJzLCBzZWxlY3RlZEZpbHRlck9wdGlvbnNdKTtcblxuICBjb25zdCBmaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc29ydE9wdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVEKSxcbiAgICAgICAgZGlzcGxheU5hbWU6ICdSZWxldmFuY2UnLFxuICAgICAgICBwcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgIGlzU2VsZWN0ZWQ6IHByb2R1Y3RTb3J0aW5nID09PSBQcm9kdWN0U29ydGluZy5GRUFUVVJFRCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQyksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUHJpY2U6IExvdyB0byBIaWdoJyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUHJpY2U6IEhpZ2ggdG8gTG93JyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBbXG4gICAgICB7IGZpbHRlcklkOiAnc29ydCcsIGRpc3BsYXlOYW1lOiAnU09SVCcsIGl0ZW1zOiBzb3J0T3B0aW9ucyB9LFxuICAgICAgLi4uc2VhcmNoRmlsdGVycyxcbiAgICBdIGFzIFNlYXJjaEZpbHRlckRhdHVtW107XG4gIH0sIFtwcm9kdWN0U29ydGluZywgc2VhcmNoRmlsdGVyc10pO1xuXG4gIGNvbnN0IGZpbHRlckJ1dHRvblRleHQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZENvdW50ID0gZmlsdGVycy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBmaWx0ZXIpID0+IHtcbiAgICAgIGlmIChmaWx0ZXIuZmlsdGVySWQgPT09ICdzb3J0Jykge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYyArIGZpbHRlci5pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcbiAgICB9LCAwKTtcbiAgICBpZiAoc2VsZWN0ZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdGaWx0ZXIgJiBTb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIGBGaWx0ZXIgJiBTb3J0ICgke3NlbGVjdGVkQ291bnR9KWA7XG4gIH0sIFtmaWx0ZXJzXSk7XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlciA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICBmaWx0ZXIsXG4gICAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVyOiBzdHJpbmc7XG4gICAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWU6IHN0cmluZztcbiAgICB9KSA9PiB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaEZpbHRlckNsaWNrZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBmaWx0ZXJUeXBlOiAnRHluYW1pYycsXG4gICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlcixcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGFkZEZpbHRlcihjcmVhdGVGaWx0ZXJPcHRpb24oJ2R5bmFtaWMnLCBmaWx0ZXIsIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSkpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFthZGRGaWx0ZXIsIHNlYXJjaFRleHQsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVSZW1vdmVGaWx0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4ge1xuICAgICAgcmVtb3ZlRmlsdGVyKGZpbHRlci5pZCk7XG4gICAgICBzY3JvbGxUb1RvcCgpO1xuICAgIH0sXG4gICAgW3JlbW92ZUZpbHRlciwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVySWQsXG4gICAgICBmaWx0ZXJJdGVtSWQsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKGZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgY29uc3QgbmV3U29ydCA9IGZpbHRlckl0ZW1JZCBhcyBQcm9kdWN0U29ydGluZztcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFNvcnRDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHNvcnRUeXBlOiBuZXdTb3J0LFxuICAgICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRQcm9kdWN0U29ydGluZyhuZXdTb3J0KTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgICAgcmVtb3ZlRmlsdGVyKGAke2ZpbHRlcklkfToke2ZpbHRlckl0ZW1JZH1gKTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTdGF0aWMnLFxuICAgICAgICAgICAgZmlsdGVyQ2F0ZWdvcnk6IGZpbHRlcklkLFxuICAgICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlckl0ZW1JZCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgYWRkRmlsdGVyKGNyZWF0ZUZpbHRlck9wdGlvbihmaWx0ZXJJZCwgZmlsdGVySXRlbUlkLCBkaXNwbGF5TmFtZSkpO1xuICAgICAgICBzY3JvbGxUb1RvcCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2FkZEZpbHRlciwgcmVtb3ZlRmlsdGVyLCBzZXRQcm9kdWN0U29ydGluZywgc2VhcmNoVGV4dCwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyQWxsRmlsdGVycyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRQcm9kdWN0U29ydGluZyhQcm9kdWN0U29ydGluZy5GRUFUVVJFRCk7XG4gICAgY2xlYXJGaWx0ZXJzKCk7XG4gICAgc2Nyb2xsVG9Ub3AoKTtcbiAgfSwgW3NldFByb2R1Y3RTb3J0aW5nLCBjbGVhckZpbHRlcnMsIHNjcm9sbFRvVG9wXSk7XG5cbiAgLy8gU2lkZSBFZmZlY3RzXG4gIHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50KFxuICAgIFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBzZWFyY2hSZXN1bHRzUmVmIGFzIFJlZk9iamVjdDxIVE1MRWxlbWVudD4sXG4gICAge30sXG4gICAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hDb21wb25lbnRWaXNpYmxlLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VhcmNoUmVzdWx0c1N0YXRlID09PSBTZWFyY2hSZXN1bHRzU3RhdGUuUmVzdWx0cyB8fFxuICAgICAgc2VhcmNoUmVzdWx0c1N0YXRlID09PSBTZWFyY2hSZXN1bHRzU3RhdGUuTm9SZXN1bHRzXG4gICAgKSB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFJlc3VsdHNWaWV3ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgICAgcmVzdWx0c0NvdW50OiBwcm9kdWN0TGlzdC5sZW5ndGgsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcm9kdWN0TGlzdC5sZW5ndGgsIHNlYXJjaFJlc3VsdHNTdGF0ZV0pO1xuXG4gIC8vIFRoaXMgaXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZSBzZWFyY2ggdGV4dCB0cmlnZ2VyaW5nIGEgc2VhcmNoXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHF1ZXJ5ICYmIHF1ZXJ5ICE9PSBzZWFyY2hUZXh0KSB7XG4gICAgICBjb25zdCBlc3EgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgnZXNxJyk7XG4gICAgICBzZXRTZWFyY2hUZXh0KHF1ZXJ5KTtcbiAgICAgIHBlcmZvcm1TZWFyY2goeyBxdWVyeTogZXNxID8/IHF1ZXJ5IH0pO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtwZXJmb3JtU2VhcmNoLCBxdWVyeSwgc2V0U2VhcmNoVGV4dF0pO1xuXG4gIHJldHVybiB7XG4gICAgc2VhcmNoRGF0YSxcbiAgICBzZWFyY2hSZXNwb25zZUlkOiBzZWFyY2hEYXRhPy5zZWFyY2hSZXNwb25zZUlkID8/ICcnLFxuICAgIG1lcmNoYW50U2hvcnROYW1lOiBzYWZlTWVyY2hhbnRTaG9ydE5hbWUsXG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc6IHNhZmVSZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZyxcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZzogc2FmZVNlYXJjaE92ZXJsYXlIZWFkaW5nLFxuICAgIHByb2R1Y3RDYXJkQ29uZmlnOiBzYWZlUHJvZHVjdENhcmRDb25maWcsXG4gICAgcHJvZHVjdExpc3QsXG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cyxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNlYXJjaEZpbHRlcnM6IGZpbHRlcnMsXG4gICAgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnMsXG4gICAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLFxuICAgIHNlYXJjaFRleHQsXG4gICAgcXVlcnk6IHF1ZXJ5IHx8ICcnLFxuICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSxcbiAgICBpc0xvYWRpbmdTZWFyY2gsXG4gICAgaXNGaWx0ZXJPcGVuLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBmaWx0ZXJCdXR0b25UZXh0LFxuICAgIG9uU2VhcmNoSW5wdXRDaGFuZ2U6IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlLFxuICAgIG9uU3VibWl0U2VhcmNoOiBoYW5kbGVTdWJtaXRTZWFyY2gsXG4gICAgb25BdXRvY29tcGxldGVTZWxlY3Q6IGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBvbktleURvd246IGhhbmRsZUtleURvd24sXG4gICAgb25TZWFyY2hJbnB1dEZvY3VzOiBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIG9uU2VhcmNoSW5wdXRCbHVyOiBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgb25Ub2dnbGVEeW5hbWljRmlsdGVyOiBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyLFxuICAgIG9uU2VsZWN0RmlsdGVySXRlbTogaGFuZGxlU2VsZWN0RmlsdGVySXRlbSxcbiAgICBvblJlbW92ZUZpbHRlcjogaGFuZGxlUmVtb3ZlRmlsdGVyLFxuICAgIG9uQ2xlYXJBbGxGaWx0ZXJzOiBoYW5kbGVDbGVhckFsbEZpbHRlcnMsXG4gICAgc2V0SXNGaWx0ZXJPcGVuLFxuICAgIHJlc2V0U2VhcmNoLFxuICAgIHNlYXJjaFJlc3VsdHNSZWY6IHNlYXJjaFJlc3VsdHNSZWYgYXMgUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PixcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNGQSxNQUFhLGFBQWEsRUFDeEIsZ0JBQWdCLFVBQ2UsRUFBRSxLQUE0QjtDQUU3RCxNQUFNLFNBQVMsaUJBQWlCO0NBQ2hDLE1BQU0sZUFBZSxhQUFhLGlCQUFpQjtDQUNuRCxNQUFNLEVBQUUsTUFBTSxZQUFZLFNBQVMs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
|
|
241
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2VhcmNoLmpzIiwibmFtZXMiOlsiaGFuZGxlU2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBSZWZPYmplY3QsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtcbiAgU2VsZWN0ZWRGaWx0ZXJPcHRpb24sXG4gIGFkZFNlYXJjaEZpbHRlckF0b20sXG4gIGNsZWFyU2VhcmNoRmlsdGVyc0F0b20sXG4gIGNyZWF0ZUZpbHRlck9wdGlvbixcbiAgZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20sXG4gIHBlcmZvcm1TZWFyY2hBdG9tLFxuICByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tLFxuICBzZWFyY2hBdG9tLFxuICBzZWFyY2hGaWx0ZXJzQXRvbSxcbiAgc2VhcmNoUGFyYW1zQXRvbSxcbiAgc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tLFxuICBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoJztcbmltcG9ydCB7IGlzRmlsdGVyT3BlbkF0b20gfSBmcm9tICdzcmMvYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaCc7XG5pbXBvcnQgeyBmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSB9IGZyb20gJ3NyYy9hdG9tcy9zZWFyY2gvdXRpbHMnO1xuaW1wb3J0IHsgUHJvZHVjdFNvcnRpbmcgfSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoL3R5cGVzJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BpZmZ5V2lkZ2V0cyc7XG5pbXBvcnQgeyBQcm9kdWN0Q2FyZENvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFNlYXJjaEZpbHRlckRhdHVtLCBTZWxlY3RGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3R5cGVzL3NlYXJjaC1maWx0ZXItdHlwZXMnO1xuaW1wb3J0IHsgb3JnU2hvcnROYW1lQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IEZyb250ZW5kQ29uZmlnLCBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB1c2VJbnRlcnNlY3Rpb24gfSBmcm9tICdzcmMvaG9va3MvSW50ZXJzZWN0aW9uL3VzZUludGVyc2VjdGlvbic7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzU3RhdGUsIGdldFNlYXJjaFJlc3VsdHNTdGF0ZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlYXJjaElucHV0IH0gZnJvbSAnLi91c2VTZWFyY2hJbnB1dCc7XG5pbXBvcnQgeyB1c2VOZXdPcmdDb25maWcgfSBmcm9tICcuLi9OZXdPcmdDb25maWcnO1xuaW1wb3J0IHsgdXNlUmVjb21tZW5kZWRQcm9kdWN0cyB9IGZyb20gJy4vdXNlUmVjb21tZW5kZWRQcm9kdWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0hvY1Byb3BzIHtcbiAgLy8gRGF0YVxuICBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsO1xuICBzZWFyY2hSZXNwb25zZUlkOiBzdHJpbmc7XG4gIG1lcmNoYW50U2hvcnROYW1lOiBzdHJpbmc7XG4gIHByb2R1Y3RDYXJkQ29uZmlnOiBQcm9kdWN0Q2FyZENvbmZpZztcbiAgcHJvZHVjdExpc3Q6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdFtdO1xuICBhdXRvY29tcGxldGVSZXN1bHRzOiBzdHJpbmdbXTtcbiAgc2VhcmNoRmlsdGVyczogU2VhcmNoRmlsdGVyRGF0dW1bXTtcbiAgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnM6IHsgbmFtZTogc3RyaW5nOyBkaXNwbGF5TmFtZTogc3RyaW5nIH1bXTtcbiAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zOiBTZWxlY3RlZEZpbHRlck9wdGlvbltdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzOiBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ11bXTtcbiAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc6IHN0cmluZztcbiAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHN0cmluZztcblxuICAvLyBTdGF0ZVxuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHNlYXJjaFJlc3VsdHNTdGF0ZTogU2VhcmNoUmVzdWx0c1N0YXRlO1xuICBpc0xvYWRpbmdTZWFyY2g6IGJvb2xlYW47XG4gIGlzRmlsdGVyT3BlbjogYm9vbGVhbjtcbiAgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbjtcbiAgZm9jdXNlZEluZGV4OiBudW1iZXI7XG4gIGZvY3VzZWRPcHRpb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8vIFVJXG4gIGZpbHRlckJ1dHRvblRleHQ6IHN0cmluZztcblxuICAvLyBFdmVudCBIYW5kbGVyc1xuICBvblNlYXJjaElucHV0Q2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TdWJtaXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICBvbktleURvd246IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZDtcbiAgb25TZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICBvblNlYXJjaElucHV0Qmx1cjogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVEeW5hbWljRmlsdGVyOiAoe1xuICAgIGZpbHRlcixcbiAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUsXG4gIH06IHtcbiAgICBmaWx0ZXI6IHN0cmluZztcbiAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWU6IHN0cmluZztcbiAgfSkgPT4gdm9pZDtcbiAgb25TZWxlY3RGaWx0ZXJJdGVtOiBTZWxlY3RGaWx0ZXJJdGVtO1xuICBvblJlbW92ZUZpbHRlcjogKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHZvaWQ7XG4gIG9uQ2xlYXJBbGxGaWx0ZXJzOiAoKSA9PiB2b2lkO1xuICBzZXRJc0ZpbHRlck9wZW46IChpc0ZpbHRlck9wZW46IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHJlc2V0U2VhcmNoOiAoKSA9PiB2b2lkO1xuICAvLyBSZWZzXG4gIHNlYXJjaFJlc3VsdHNSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59XG5cbmV4cG9ydCBjb25zdCB1c2VTZWFyY2ggPSAoe1xuICBhbGxvd1JlZGlyZWN0ID0gZmFsc2UsXG59OiB7IGFsbG93UmVkaXJlY3Q/OiBib29sZWFuIH0gPSB7fSk6IFNlYXJjaFJlc3VsdHNIb2NQcm9wcyA9PiB7XG4gIC8vIEF0b21zXG4gIGNvbnN0IGNvbmZpZyA9IHVzZU5ld09yZ0NvbmZpZygpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSB1c2VBdG9tVmFsdWUob3JnU2hvcnROYW1lQXRvbSk7XG4gIGNvbnN0IHsgZGF0YTogc2VhcmNoRGF0YSwgbG9hZGluZzogaXNMb2FkaW5nU2VhcmNoIH0gPSB1c2VBdG9tVmFsdWUoc2VhcmNoQXRvbSk7XG4gIGNvbnN0IHByb2R1Y3RMaXN0ID0gdXNlQXRvbVZhbHVlKGZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tKTtcbiAgY29uc3QgcGVyZm9ybVNlYXJjaCA9IHVzZVNldEF0b20ocGVyZm9ybVNlYXJjaEF0b20pO1xuICBjb25zdCBbeyBxdWVyeSB9XSA9IHVzZUF0b20oc2VhcmNoUGFyYW1zQXRvbSk7XG4gIGNvbnN0IFtpc0ZpbHRlck9wZW4sIHNldElzRmlsdGVyT3Blbl0gPSB1c2VBdG9tKGlzRmlsdGVyT3BlbkF0b20pO1xuICBjb25zdCBbc2VsZWN0ZWRGaWx0ZXJPcHRpb25zXSA9IHVzZUF0b20oc2VhcmNoU2VsZWN0ZWRGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IGFkZEZpbHRlciA9IHVzZVNldEF0b20oYWRkU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IHJlbW92ZUZpbHRlciA9IHVzZVNldEF0b20ocmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IFtwcm9kdWN0U29ydGluZywgc2V0UHJvZHVjdFNvcnRpbmddID0gdXNlQXRvbShzZWFyY2hQcm9kdWN0U29ydGluZ0F0b20pO1xuICBjb25zdCBjbGVhckZpbHRlcnMgPSB1c2VTZXRBdG9tKGNsZWFyU2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCBzZWFyY2hGaWx0ZXJzID0gdXNlQXRvbVZhbHVlKHNlYXJjaEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgcmVjb21tZW5kZWRQcm9kdWN0cyA9IHVzZVJlY29tbWVuZGVkUHJvZHVjdHMoKTtcblxuICAvLyBSZWZzXG4gIGNvbnN0IHNlYXJjaFJlc3VsdHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIC8vIFV0aWxpdGllc1xuICBjb25zdCBzY3JvbGxUb1RvcCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSBzZWFyY2hSZXN1bHRzUmVmLmN1cnJlbnQ7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgY29udGFpbmVyLnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIC8vIFNlYXJjaCBJbnB1dCBIb29rXG4gIGNvbnN0IHNlYXJjaElucHV0ID0gdXNlU2VhcmNoSW5wdXQoe1xuICAgIGluaXRpYWxTZWFyY2hUZXh0OiAnJyxcbiAgICBzZWFyY2hPcmlnaW46IFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBvblNlYXJjaFN1Ym1pdDogc2VhcmNoUXVlcnkgPT4ge1xuICAgICAgcGVyZm9ybVNlYXJjaCh7IHF1ZXJ5OiBzZWFyY2hRdWVyeSB9LCBhbGxvd1JlZGlyZWN0KTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCB7XG4gICAgc2VhcmNoVGV4dCxcbiAgICBmb2N1c2VkSW5kZXgsXG4gICAgZm9jdXNlZE9wdGlvbklkLFxuICAgIGF1dG9jb21wbGV0ZVJlc3VsdHMsXG4gICAgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Qmx1cixcbiAgICBoYW5kbGVLZXlEb3duLFxuICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBoYW5kbGVTdWJtaXRTZWFyY2gsXG4gICAgc2V0U2VhcmNoVGV4dCxcbiAgICByZXNldFNlYXJjaCxcbiAgfSA9IHNlYXJjaElucHV0O1xuICBjb25zdCBzZWFyY2hSZXN1bHRzU3RhdGUgPSBnZXRTZWFyY2hSZXN1bHRzU3RhdGUoaXNMb2FkaW5nU2VhcmNoLCBzZWFyY2hEYXRhKTtcblxuICBjb25zdCBkeW5hbWljRmlsdGVycyA9IHNlYXJjaERhdGE/LmZpbHRlcnMgfHwgW107XG5cbiAgLy8gUHJvdmlkZSBmYWxsYmFjayB2YWx1ZXMgd2hlbiBvcmdVSUNvbmZpZyBpcyBub3QgeWV0IGF2YWlsYWJsZVxuICBjb25zdCBzYWZlUHJvZHVjdENhcmRDb25maWcgPSAoY29uZmlnPy5mcm9udGVuZENvbmZpZyBhcyBGcm9udGVuZENvbmZpZyk/LnVpQ29uZmlnc1xuICAgID8ucHJvZHVjdENhcmRDb25maWcgfHwge1xuICAgIHZhcmlhbnQ6ICdtaW5pbWFsJyxcbiAgICBob3ZlclZhcmlhbnQ6ICdub25lJyxcbiAgICBsYXlvdXRWYXJpYW50OiAnc3F1YXJlJyxcbiAgfTtcbiAgY29uc3Qgc2FmZU1lcmNoYW50U2hvcnROYW1lID0gb3JnU2hvcnROYW1lIHx8ICcnO1xuICBjb25zdCBzZWFyY2hDb25maWcgPSBjb25maWc/LmZyb250ZW5kQ29uZmlnPy51aUNvbmZpZ3M/LnNlYXJjaENvbmZpZztcbiAgY29uc3Qgc2FmZVJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nID1cbiAgICBzZWFyY2hDb25maWc/LnJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nIHx8ICdTdWdnZXN0ZWQgUHJvZHVjdHMnO1xuICBjb25zdCBzYWZlU2VhcmNoT3ZlcmxheUhlYWRpbmcgPVxuICAgIHNlYXJjaENvbmZpZz8uc2VhcmNoT3ZlcmxheUhlYWRpbmcgPz8gJ1doYXQgY2FuIEkgaGVscCB5b3UgZmluZD8nO1xuICBjb25zdCBhdmFpbGFibGVEeW5hbWljRmlsdGVycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBkeW5hbWljRmlsdGVyc1xuICAgICAgLmZpbHRlcihcbiAgICAgICAgZHluYW1pY0ZpbHRlck5hbWUgPT5cbiAgICAgICAgICAhc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLnNvbWUob3B0aW9uID0+IG9wdGlvbi5pZCA9PT0gYGR5bmFtaWM6JHtkeW5hbWljRmlsdGVyTmFtZX1gKSxcbiAgICAgIClcbiAgICAgIC5tYXAoZHluYW1pY0ZpbHRlck5hbWUgPT4gKHtcbiAgICAgICAgbmFtZTogZHluYW1pY0ZpbHRlck5hbWUsXG4gICAgICAgIGRpc3BsYXlOYW1lOiBmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZShkeW5hbWljRmlsdGVyTmFtZSksXG4gICAgICB9KSk7XG4gIH0sIFtkeW5hbWljRmlsdGVycywgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zXSk7XG5cbiAgY29uc3QgZmlsdGVycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHNvcnRPcHRpb25zID0gW1xuICAgICAge1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IFN0cmluZyhQcm9kdWN0U29ydGluZy5GRUFUVVJFRCksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUmVsZXZhbmNlJyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuRkVBVFVSRUQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IFN0cmluZyhQcm9kdWN0U29ydGluZy5QUklDRV9BU0MpLFxuICAgICAgICBkaXNwbGF5TmFtZTogJ1ByaWNlOiBMb3cgdG8gSGlnaCcsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0MpLFxuICAgICAgICBkaXNwbGF5TmFtZTogJ1ByaWNlOiBIaWdoIHRvIExvdycsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0MsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gW1xuICAgICAgeyBmaWx0ZXJJZDogJ3NvcnQnLCBkaXNwbGF5TmFtZTogJ1NPUlQnLCBpdGVtczogc29ydE9wdGlvbnMgfSxcbiAgICAgIC4uLnNlYXJjaEZpbHRlcnMsXG4gICAgXSBhcyBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICB9LCBbcHJvZHVjdFNvcnRpbmcsIHNlYXJjaEZpbHRlcnNdKTtcblxuICBjb25zdCBmaWx0ZXJCdXR0b25UZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDb3VudCA9IGZpbHRlcnMucmVkdWNlKChhY2M6IG51bWJlciwgZmlsdGVyKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2MgKyBmaWx0ZXIuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pc1NlbGVjdGVkKS5sZW5ndGg7XG4gICAgfSwgMCk7XG4gICAgaWYgKHNlbGVjdGVkQ291bnQgPT09IDApIHtcbiAgICAgIHJldHVybiAnRmlsdGVyICYgU29ydCc7XG4gICAgfVxuICAgIHJldHVybiBgRmlsdGVyICYgU29ydCAoJHtzZWxlY3RlZENvdW50fSlgO1xuICB9LCBbZmlsdGVyc10pO1xuXG4gIC8vIENhbGxiYWNrc1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZUR5bmFtaWNGaWx0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVyLFxuICAgICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lLFxuICAgIH06IHtcbiAgICAgIGZpbHRlcjogc3RyaW5nO1xuICAgICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgZmlsdGVyVHlwZTogJ0R5bmFtaWMnLFxuICAgICAgICAgIGZpbHRlclZhbHVlOiBmaWx0ZXIsXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBhZGRGaWx0ZXIoY3JlYXRlRmlsdGVyT3B0aW9uKCdkeW5hbWljJywgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUpKTtcbiAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgfSxcbiAgICBbYWRkRmlsdGVyLCBzZWFyY2hUZXh0LCBzY3JvbGxUb1RvcF0sXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmVtb3ZlRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHtcbiAgICAgIHJlbW92ZUZpbHRlcihmaWx0ZXIuaWQpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFtyZW1vdmVGaWx0ZXIsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RGaWx0ZXJJdGVtOiBTZWxlY3RGaWx0ZXJJdGVtID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIGZpbHRlcklkLFxuICAgICAgZmlsdGVySXRlbUlkLFxuICAgICAgaXNTZWxlY3RlZCxcbiAgICAgIGRpc3BsYXlOYW1lLFxuICAgIH06IHtcbiAgICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbiAgICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH0pID0+IHtcbiAgICAgIGlmIChmaWx0ZXJJZCA9PT0gJ3NvcnQnKSB7XG4gICAgICAgIGNvbnN0IG5ld1NvcnQgPSBmaWx0ZXJJdGVtSWQgYXMgUHJvZHVjdFNvcnRpbmc7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hTb3J0Q2xpY2tlZCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICBzb3J0VHlwZTogbmV3U29ydCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UHJvZHVjdFNvcnRpbmcobmV3U29ydCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2UgaWYgKCFpc1NlbGVjdGVkKSB7XG4gICAgICAgIHJlbW92ZUZpbHRlcihgJHtmaWx0ZXJJZH06JHtmaWx0ZXJJdGVtSWR9YCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoRmlsdGVyQ2xpY2tlZCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnU3RhdGljJyxcbiAgICAgICAgICAgIGZpbHRlckNhdGVnb3J5OiBmaWx0ZXJJZCxcbiAgICAgICAgICAgIGZpbHRlclZhbHVlOiBmaWx0ZXJJdGVtSWQsXG4gICAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGFkZEZpbHRlcihjcmVhdGVGaWx0ZXJPcHRpb24oZmlsdGVySWQsIGZpbHRlckl0ZW1JZCwgZGlzcGxheU5hbWUpKTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFthZGRGaWx0ZXIsIHJlbW92ZUZpbHRlciwgc2V0UHJvZHVjdFNvcnRpbmcsIHNlYXJjaFRleHQsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVDbGVhckFsbEZpbHRlcnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0UHJvZHVjdFNvcnRpbmcoUHJvZHVjdFNvcnRpbmcuRkVBVFVSRUQpO1xuICAgIGNsZWFyRmlsdGVycygpO1xuICAgIHNjcm9sbFRvVG9wKCk7XG4gIH0sIFtzZXRQcm9kdWN0U29ydGluZywgY2xlYXJGaWx0ZXJzLCBzY3JvbGxUb1RvcF0pO1xuXG4gIGNvbnN0IHNlYXJjaFJlc3VsdHNWaXNpYmxlID0gdXNlSW50ZXJzZWN0aW9uKHNlYXJjaFJlc3VsdHNSZWYgYXMgUmVmT2JqZWN0PEhUTUxFbGVtZW50PiwgJzBweCcpO1xuICBjb25zdCBoYXNUcmFja2VkU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXNlYXJjaFJlc3VsdHNWaXNpYmxlIHx8IGhhc1RyYWNrZWRTZWFyY2hDb21wb25lbnRWaXNpYmxlLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaGFzVHJhY2tlZFNlYXJjaENvbXBvbmVudFZpc2libGUuY3VycmVudCA9IHRydWU7XG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoQ29tcG9uZW50VmlzaWJsZSxcbiAgICAgIGV2ZW50UHJvcHM6IHt9LFxuICAgIH0pO1xuICB9LCBbc2VhcmNoUmVzdWx0c1Zpc2libGUsIHRyYWNrRXZlbnRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLlJlc3VsdHMgfHxcbiAgICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLk5vUmVzdWx0c1xuICAgICkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hSZXN1bHRzVmlld2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIHJlc3VsdHNDb3VudDogcHJvZHVjdExpc3QubGVuZ3RoLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJvZHVjdExpc3QubGVuZ3RoLCBzZWFyY2hSZXN1bHRzU3RhdGVdKTtcblxuICAvLyBUaGlzIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgc2VhcmNoIHRleHQgdHJpZ2dlcmluZyBhIHNlYXJjaFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChxdWVyeSAmJiBxdWVyeSAhPT0gc2VhcmNoVGV4dCkge1xuICAgICAgY29uc3QgZXNxID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoJ2VzcScpO1xuICAgICAgc2V0U2VhcmNoVGV4dChxdWVyeSk7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IGVzcSA/PyBxdWVyeSB9KTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcGVyZm9ybVNlYXJjaCwgcXVlcnksIHNldFNlYXJjaFRleHRdKTtcblxuICByZXR1cm4ge1xuICAgIHNlYXJjaERhdGEsXG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc2VhcmNoRGF0YT8uc2VhcmNoUmVzcG9uc2VJZCA/PyAnJyxcbiAgICBtZXJjaGFudFNob3J0TmFtZTogc2FmZU1lcmNoYW50U2hvcnROYW1lLFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcsXG4gICAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyxcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzogc2FmZVByb2R1Y3RDYXJkQ29uZmlnLFxuICAgIHByb2R1Y3RMaXN0LFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHMsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzZWFyY2hGaWx0ZXJzOiBmaWx0ZXJzLFxuICAgIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzLFxuICAgIHNlbGVjdGVkRmlsdGVyT3B0aW9ucyxcbiAgICBzZWFyY2hUZXh0LFxuICAgIHF1ZXJ5OiBxdWVyeSB8fCAnJyxcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGUsXG4gICAgaXNMb2FkaW5nU2VhcmNoLFxuICAgIGlzRmlsdGVyT3BlbixcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgZmlsdGVyQnV0dG9uVGV4dCxcbiAgICBvblNlYXJjaElucHV0Q2hhbmdlOiBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBvblN1Ym1pdFNlYXJjaDogaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxuICAgIG9uU2VhcmNoSW5wdXRGb2N1czogaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBvblNlYXJjaElucHV0Qmx1cjogaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlcixcbiAgICBvblNlbGVjdEZpbHRlckl0ZW06IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW0sXG4gICAgb25SZW1vdmVGaWx0ZXI6IGhhbmRsZVJlbW92ZUZpbHRlcixcbiAgICBvbkNsZWFyQWxsRmlsdGVyczogaGFuZGxlQ2xlYXJBbGxGaWx0ZXJzLFxuICAgIHNldElzRmlsdGVyT3BlbixcbiAgICByZXNldFNlYXJjaCxcbiAgICBzZWFyY2hSZXN1bHRzUmVmOiBzZWFyY2hSZXN1bHRzUmVmIGFzIFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4sXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNGQSxNQUFhLGFBQWEsRUFDeEIsZ0JBQWdCLFVBQ2UsRUFBRSxLQUE0QjtDQUU3RCxNQUFNLFNBQVMsaUJBQWlCO0NBQ2hDLE1BQU0sZUFBZSxhQUFhLGlCQUFpQjtDQUNuRCxNQUFNLEVBQUUsTUFBTSxZQUFZLFNBQVMsb0JBQW9CLGFBQWEsV0FBVztDQUMvRSxNQUFNLGNBQWMsYUFBYSwyQkFBMkI7Q0FDNUQsTUFBTSxnQkFBZ0IsV0FBVyxrQkFBa0I7Q0FDbkQsTUFBTSxDQUFDLEVBQUUsV0FBVyxRQUFRLGlCQUFpQjtDQUM3QyxNQUFNLENBQUMsY0FBYyxtQkFBbUIsUUFBUSxpQkFBaUI7Q0FDakUsTUFBTSxDQUFDLHlCQUF5QixRQUFRLDBCQUEwQjtDQUNsRSxNQUFNLFlBQVksV0FBVyxvQkFBb0I7Q0FDakQsTUFBTSxlQUFlLFdBQVcsdUJBQXVCO0NBQ3ZELE1BQU0sQ0FBQyxnQkFBZ0IscUJBQXFCLFFBQVEseUJBQXlCO0NBQzdFLE1BQU0sZUFBZSxXQUFXLHVCQUF1QjtDQUN2RCxNQUFNLGdCQUFnQixhQUFhLGtCQUFrQjtDQUNyRCxNQUFNLHNCQUFzQix3QkFBd0I7Q0FHcEQsTUFBTSxtQkFBbUIsT0FBdUIsS0FBSztDQUdyRCxNQUFNLGNBQWMsa0JBQWtCO0VBQ3BDLE1BQU0sWUFBWSxpQkFBaUI7QUFDbkMsTUFBSSxVQUNGLFdBQVUsU0FBUztHQUFFLEtBQUs7R0FBRyxVQUFVO0dBQVUsQ0FBQztNQUVsRCxRQUFPLFNBQVM7R0FBRSxLQUFLO0dBQUcsVUFBVTtHQUFVLENBQUM7SUFFaEQsRUFBRSxDQUFDO0NBV04sTUFBTSxFQUNKLFlBQ0EsY0FDQSxpQkFDQSxxQkFDQSx3QkFDQSx5QkFDQSx3QkFD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
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { GenerationParams } from "../../application/models/api/generationParams.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react0 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts
|
|
5
5
|
declare const useSystemSettingsContext: () => {
|
|
6
6
|
generationParams?: GenerationParams;
|
|
7
7
|
showDebugBar?: boolean;
|
|
8
8
|
endpointURL?: string;
|
|
9
|
-
setGenerationParams:
|
|
9
|
+
setGenerationParams: react0.Dispatch<react0.SetStateAction<GenerationParams | undefined>>;
|
|
10
10
|
};
|
|
11
11
|
//#endregion
|
|
12
12
|
export { useSystemSettingsContext };
|
|
@@ -7,49 +7,42 @@ let react = require("react");
|
|
|
7
7
|
|
|
8
8
|
//#region src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts
|
|
9
9
|
/**
|
|
10
|
-
* Tracks a component and logs
|
|
10
|
+
* Tracks a component and logs `SpiffyMetricsEventName.ChatComponentVisible` when visible.
|
|
11
11
|
*
|
|
12
|
-
* @param component - The component to track.
|
|
13
12
|
* @param element - The element to track visibility of.
|
|
14
|
-
* @param eventProps -
|
|
15
|
-
* @param
|
|
13
|
+
* @param eventProps - Properties to include with the event.
|
|
14
|
+
* @param rootMargin - Root margin for the intersection observer (defaults to 0px).
|
|
15
|
+
* @param enabled - Whether tracking is enabled (defaults to true).
|
|
16
16
|
*/
|
|
17
|
-
const useTrackComponentVisibleEvent = (
|
|
18
|
-
const isVisible = require_useIntersection.useIntersection(element,
|
|
17
|
+
const useTrackComponentVisibleEvent = (element, eventProps, rootMargin = "0px", enabled = true) => {
|
|
18
|
+
const isVisible = require_useIntersection.useIntersection(element, rootMargin);
|
|
19
19
|
const hasTrackedEvent = (0, react.useRef)(false);
|
|
20
20
|
const { trackEvent } = require_amplitudeContext.useAmplitude();
|
|
21
|
-
const componentProps = (() => {
|
|
22
|
-
if (eventName === require_eventNames.SpiffyMetricsEventName.ChatComponentVisible) return {
|
|
23
|
-
chat_component: component,
|
|
24
|
-
...eventProps
|
|
25
|
-
};
|
|
26
|
-
if (eventName === require_eventNames.SpiffyMetricsEventName.SearchComponentVisible) return {
|
|
27
|
-
search_component: component,
|
|
28
|
-
...eventProps
|
|
29
|
-
};
|
|
30
|
-
return {
|
|
31
|
-
component,
|
|
32
|
-
...eventProps
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
21
|
(0, react.useEffect)(() => {
|
|
36
|
-
if (
|
|
22
|
+
if (!enabled || hasTrackedEvent.current) return;
|
|
23
|
+
if (isVisible) {
|
|
37
24
|
trackEvent({
|
|
38
|
-
eventName,
|
|
39
|
-
eventProps
|
|
25
|
+
eventName: require_eventNames.SpiffyMetricsEventName.ChatComponentVisible,
|
|
26
|
+
eventProps
|
|
27
|
+
});
|
|
28
|
+
trackEvent({
|
|
29
|
+
eventName: require_eventNames.EnviveMetricsEventName.WidgetRendered,
|
|
30
|
+
eventProps: {
|
|
31
|
+
...eventProps,
|
|
32
|
+
"trigger.widget": eventProps?.widget_type
|
|
33
|
+
}
|
|
40
34
|
});
|
|
41
35
|
hasTrackedEvent.current = true;
|
|
42
36
|
}
|
|
43
37
|
}, [
|
|
38
|
+
enabled,
|
|
44
39
|
isVisible,
|
|
45
|
-
component,
|
|
46
40
|
eventProps,
|
|
47
|
-
eventName,
|
|
48
|
-
componentProps,
|
|
49
41
|
trackEvent
|
|
50
42
|
]);
|
|
43
|
+
return { isVisible };
|
|
51
44
|
};
|
|
52
45
|
|
|
53
46
|
//#endregion
|
|
54
47
|
exports.useTrackComponentVisibleEvent = useTrackComponentVisibleEvent;
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQuY2pzIiwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwidXNlQW1wbGl0dWRlIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsIkVudml2ZU1ldHJpY3NFdmVudE5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQvdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUludGVyc2VjdGlvbiB9IGZyb20gJ3NyYy9ob29rcy9JbnRlcnNlY3Rpb24vdXNlSW50ZXJzZWN0aW9uJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHtcbiAgRW52aXZlTWV0cmljc0V2ZW50TmFtZSxcbiAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSxcbn0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5cbi8qKlxuICogVHJhY2tzIGEgY29tcG9uZW50IGFuZCBsb2dzIGBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRDb21wb25lbnRWaXNpYmxlYCB3aGVuIHZpc2libGUuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byB0cmFjayB2aXNpYmlsaXR5IG9mLlxuICogQHBhcmFtIGV2ZW50UHJvcHMgLSBQcm9wZXJ0aWVzIHRvIGluY2x1ZGUgd2l0aCB0aGUgZXZlbnQuXG4gKiBAcGFyYW0gcm9vdE1hcmdpbiAtIFJvb3QgbWFyZ2luIGZvciB0aGUgaW50ZXJzZWN0aW9uIG9ic2VydmVyIChkZWZhdWx0cyB0byAwcHgpLlxuICogQHBhcmFtIGVuYWJsZWQgLSBXaGV0aGVyIHRyYWNraW5nIGlzIGVuYWJsZWQgKGRlZmF1bHRzIHRvIHRydWUpLlxuICovXG5leHBvcnQgY29uc3QgdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQgPSAoXG4gIGVsZW1lbnQ6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sXG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgcm9vdE1hcmdpbjogc3RyaW5nID0gJzBweCcsXG4gIGVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlLFxuKTogeyBpc1Zpc2libGU6IGJvb2xlYW4gfSA9PiB7XG4gIGNvbnN0IGlzVmlzaWJsZSA9IHVzZUludGVyc2VjdGlvbihlbGVtZW50LCByb290TWFyZ2luKTtcbiAgY29uc3QgaGFzVHJhY2tlZEV2ZW50ID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCB8fCBoYXNUcmFja2VkRXZlbnQuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRDb21wb25lbnRWaXNpYmxlLFxuICAgICAgICBldmVudFByb3BzLFxuICAgICAgfSk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFJlbmRlcmVkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uZXZlbnRQcm9wcyxcbiAgICAgICAgICAndHJpZ2dlci53aWRnZXQnOiBldmVudFByb3BzPy53aWRnZXRfdHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgaGFzVHJhY2tlZEV2ZW50LmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cbiAgfSwgW2VuYWJsZWQsIGlzVmlzaWJsZSwgZXZlbnRQcm9wcywgdHJhY2tFdmVudF0pO1xuICByZXR1cm4geyBpc1Zpc2libGUgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBYSxpQ0FDWCxTQUNBLFlBQ0EsYUFBcUIsT0FDckIsVUFBbUIsU0FDUTtDQUMzQixNQUFNLFlBQVlBLHdDQUFnQixTQUFTLFdBQVc7Q0FDdEQsTUFBTSxvQ0FBeUIsTUFBTTtDQUNyQyxNQUFNLEVBQUUsZUFBZUMsdUNBQWM7QUFFckMsNEJBQWdCO0FBQ2QsTUFBSSxDQUFDLFdBQVcsZ0JBQWdCLFFBQzlCO0FBRUYsTUFBSSxXQUFXO0FBQ2IsY0FBVztJQUNULFdBQVdDLDBDQUF1QjtJQUNsQztJQUNELENBQUM7QUFDRixjQUFXO0lBQ1QsV0FBV0MsMENBQXVCO0lBQ2xDLFlBQVk7S0FDVixHQUFHO0tBQ0gsa0JBQWtCLFlBQVk7S0FDL0I7SUFDRixDQUFDO0FBQ0YsbUJBQWdCLFVBQVU7O0lBRTNCO0VBQUM7RUFBUztFQUFXO0VBQVk7RUFBVyxDQUFDO0FBQ2hELFFBQU8sRUFBRSxXQUFXIn0=
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { SpiffyWidgets } from "../../application/models/spiffyWidgets.cjs";
|
|
2
|
-
import { SpiffyMetricsEventName } from "../../services/amplitudeService/eventNames.cjs";
|
|
3
1
|
import { RefObject } from "react";
|
|
4
2
|
|
|
5
3
|
//#region src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts
|
|
6
4
|
|
|
7
5
|
/**
|
|
8
|
-
* Tracks a component and logs
|
|
6
|
+
* Tracks a component and logs `SpiffyMetricsEventName.ChatComponentVisible` when visible.
|
|
9
7
|
*
|
|
10
|
-
* @param component - The component to track.
|
|
11
8
|
* @param element - The element to track visibility of.
|
|
12
|
-
* @param eventProps -
|
|
13
|
-
* @param
|
|
9
|
+
* @param eventProps - Properties to include with the event.
|
|
10
|
+
* @param rootMargin - Root margin for the intersection observer (defaults to 0px).
|
|
11
|
+
* @param enabled - Whether tracking is enabled (defaults to true).
|
|
14
12
|
*/
|
|
15
|
-
declare const useTrackComponentVisibleEvent: (
|
|
13
|
+
declare const useTrackComponentVisibleEvent: (element: RefObject<HTMLElement>, eventProps?: Record<string, unknown>, rootMargin?: string, enabled?: boolean) => {
|
|
14
|
+
isVisible: boolean;
|
|
15
|
+
};
|
|
16
16
|
//#endregion
|
|
17
17
|
export { useTrackComponentVisibleEvent };
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL1RyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50L3VzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBUcmFja3MgYSBjb21wb25lbnQgYW5kIGxvZ3MgYFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdENvbXBvbmVudFZpc2libGVgIHdoZW4gdmlzaWJsZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHRyYWNrIHZpc2liaWxpdHkgb2YuXG4gKiBAcGFyYW0gZXZlbnRQcm9wcyAtIFByb3BlcnRpZXMgdG8gaW5jbHVkZSB3aXRoIHRoZSBldmVudC5cbiAqIEBwYXJhbSByb290TWFyZ2luIC0gUm9vdCBtYXJnaW4gZm9yIHRoZSBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgKGRlZmF1bHRzIHRvIDBweCkuXG4gKiBAcGFyYW0gZW5hYmxlZCAtIFdoZXRoZXIgdHJhY2tpbmcgaXMgZW5hYmxlZCAoZGVmYXVsdHMgdG8gdHJ1ZSkuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50OiAoZWxlbWVudDogUmVmT2JqZWN0PEhUTUxFbGVtZW50PiwgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCByb290TWFyZ2luPzogc3RyaW5nLCBlbmFibGVkPzogYm9vbGVhbikgPT4ge1xuICAgIGlzVmlzaWJsZTogYm9vbGVhbjtcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQUUsZ0NBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { SpiffyWidgets } from "../../application/models/spiffyWidgets.js";
|
|
2
|
-
import { SpiffyMetricsEventName } from "../../services/amplitudeService/eventNames.js";
|
|
3
1
|
import { RefObject } from "react";
|
|
4
2
|
|
|
5
3
|
//#region src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts
|
|
6
4
|
|
|
7
5
|
/**
|
|
8
|
-
* Tracks a component and logs
|
|
6
|
+
* Tracks a component and logs `SpiffyMetricsEventName.ChatComponentVisible` when visible.
|
|
9
7
|
*
|
|
10
|
-
* @param component - The component to track.
|
|
11
8
|
* @param element - The element to track visibility of.
|
|
12
|
-
* @param eventProps -
|
|
13
|
-
* @param
|
|
9
|
+
* @param eventProps - Properties to include with the event.
|
|
10
|
+
* @param rootMargin - Root margin for the intersection observer (defaults to 0px).
|
|
11
|
+
* @param enabled - Whether tracking is enabled (defaults to true).
|
|
14
12
|
*/
|
|
15
|
-
declare const useTrackComponentVisibleEvent: (
|
|
13
|
+
declare const useTrackComponentVisibleEvent: (element: RefObject<HTMLElement>, eventProps?: Record<string, unknown>, rootMargin?: string, enabled?: boolean) => {
|
|
14
|
+
isVisible: boolean;
|
|
15
|
+
};
|
|
16
16
|
//#endregion
|
|
17
17
|
export { useTrackComponentVisibleEvent };
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQvdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCc7XG4vKipcbiAqIFRyYWNrcyBhIGNvbXBvbmVudCBhbmQgbG9ncyBgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0Q29tcG9uZW50VmlzaWJsZWAgd2hlbiB2aXNpYmxlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gdHJhY2sgdmlzaWJpbGl0eSBvZi5cbiAqIEBwYXJhbSBldmVudFByb3BzIC0gUHJvcGVydGllcyB0byBpbmNsdWRlIHdpdGggdGhlIGV2ZW50LlxuICogQHBhcmFtIHJvb3RNYXJnaW4gLSBSb290IG1hcmdpbiBmb3IgdGhlIGludGVyc2VjdGlvbiBvYnNlcnZlciAoZGVmYXVsdHMgdG8gMHB4KS5cbiAqIEBwYXJhbSBlbmFibGVkIC0gV2hldGhlciB0cmFja2luZyBpcyBlbmFibGVkIChkZWZhdWx0cyB0byB0cnVlKS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQ6IChlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LCBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHJvb3RNYXJnaW4/OiBzdHJpbmcsIGVuYWJsZWQ/OiBib29sZWFuKSA9PiB7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBRSxnQ0FBQTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SpiffyMetricsEventName } from "../../services/amplitudeService/eventNames.js";
|
|
1
|
+
import { EnviveMetricsEventName, SpiffyMetricsEventName } from "../../services/amplitudeService/eventNames.js";
|
|
2
2
|
import "../../services/amplitudeService/amplitudeService.js";
|
|
3
3
|
import { useAmplitude } from "../../contexts/amplitudeContext/amplitudeContext.js";
|
|
4
4
|
import { useIntersection } from "../Intersection/useIntersection.js";
|
|
@@ -6,49 +6,42 @@ import { useEffect, useRef } from "react";
|
|
|
6
6
|
|
|
7
7
|
//#region src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts
|
|
8
8
|
/**
|
|
9
|
-
* Tracks a component and logs
|
|
9
|
+
* Tracks a component and logs `SpiffyMetricsEventName.ChatComponentVisible` when visible.
|
|
10
10
|
*
|
|
11
|
-
* @param component - The component to track.
|
|
12
11
|
* @param element - The element to track visibility of.
|
|
13
|
-
* @param eventProps -
|
|
14
|
-
* @param
|
|
12
|
+
* @param eventProps - Properties to include with the event.
|
|
13
|
+
* @param rootMargin - Root margin for the intersection observer (defaults to 0px).
|
|
14
|
+
* @param enabled - Whether tracking is enabled (defaults to true).
|
|
15
15
|
*/
|
|
16
|
-
const useTrackComponentVisibleEvent = (
|
|
17
|
-
const isVisible = useIntersection(element,
|
|
16
|
+
const useTrackComponentVisibleEvent = (element, eventProps, rootMargin = "0px", enabled = true) => {
|
|
17
|
+
const isVisible = useIntersection(element, rootMargin);
|
|
18
18
|
const hasTrackedEvent = useRef(false);
|
|
19
19
|
const { trackEvent } = useAmplitude();
|
|
20
|
-
const componentProps = (() => {
|
|
21
|
-
if (eventName === SpiffyMetricsEventName.ChatComponentVisible) return {
|
|
22
|
-
chat_component: component,
|
|
23
|
-
...eventProps
|
|
24
|
-
};
|
|
25
|
-
if (eventName === SpiffyMetricsEventName.SearchComponentVisible) return {
|
|
26
|
-
search_component: component,
|
|
27
|
-
...eventProps
|
|
28
|
-
};
|
|
29
|
-
return {
|
|
30
|
-
component,
|
|
31
|
-
...eventProps
|
|
32
|
-
};
|
|
33
|
-
})();
|
|
34
20
|
useEffect(() => {
|
|
35
|
-
if (
|
|
21
|
+
if (!enabled || hasTrackedEvent.current) return;
|
|
22
|
+
if (isVisible) {
|
|
36
23
|
trackEvent({
|
|
37
|
-
eventName,
|
|
38
|
-
eventProps
|
|
24
|
+
eventName: SpiffyMetricsEventName.ChatComponentVisible,
|
|
25
|
+
eventProps
|
|
26
|
+
});
|
|
27
|
+
trackEvent({
|
|
28
|
+
eventName: EnviveMetricsEventName.WidgetRendered,
|
|
29
|
+
eventProps: {
|
|
30
|
+
...eventProps,
|
|
31
|
+
"trigger.widget": eventProps?.widget_type
|
|
32
|
+
}
|
|
39
33
|
});
|
|
40
34
|
hasTrackedEvent.current = true;
|
|
41
35
|
}
|
|
42
36
|
}, [
|
|
37
|
+
enabled,
|
|
43
38
|
isVisible,
|
|
44
|
-
component,
|
|
45
39
|
eventProps,
|
|
46
|
-
eventName,
|
|
47
|
-
componentProps,
|
|
48
40
|
trackEvent
|
|
49
41
|
]);
|
|
42
|
+
return { isVisible };
|
|
50
43
|
};
|
|
51
44
|
|
|
52
45
|
//#endregion
|
|
53
46
|
export { useTrackComponentVisibleEvent };
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL1RyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50L3VzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VJbnRlcnNlY3Rpb24gfSBmcm9tICdzcmMvaG9va3MvSW50ZXJzZWN0aW9uL3VzZUludGVyc2VjdGlvbic7XG5pbXBvcnQgeyB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7XG4gIEVudml2ZU1ldHJpY3NFdmVudE5hbWUsXG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG59IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuXG4vKipcbiAqIFRyYWNrcyBhIGNvbXBvbmVudCBhbmQgbG9ncyBgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0Q29tcG9uZW50VmlzaWJsZWAgd2hlbiB2aXNpYmxlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gdHJhY2sgdmlzaWJpbGl0eSBvZi5cbiAqIEBwYXJhbSBldmVudFByb3BzIC0gUHJvcGVydGllcyB0byBpbmNsdWRlIHdpdGggdGhlIGV2ZW50LlxuICogQHBhcmFtIHJvb3RNYXJnaW4gLSBSb290IG1hcmdpbiBmb3IgdGhlIGludGVyc2VjdGlvbiBvYnNlcnZlciAoZGVmYXVsdHMgdG8gMHB4KS5cbiAqIEBwYXJhbSBlbmFibGVkIC0gV2hldGhlciB0cmFja2luZyBpcyBlbmFibGVkIChkZWZhdWx0cyB0byB0cnVlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50ID0gKFxuICBlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LFxuICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHJvb3RNYXJnaW46IHN0cmluZyA9ICcwcHgnLFxuICBlbmFibGVkOiBib29sZWFuID0gdHJ1ZSxcbik6IHsgaXNWaXNpYmxlOiBib29sZWFuIH0gPT4ge1xuICBjb25zdCBpc1Zpc2libGUgPSB1c2VJbnRlcnNlY3Rpb24oZWxlbWVudCwgcm9vdE1hcmdpbik7XG4gIGNvbnN0IGhhc1RyYWNrZWRFdmVudCA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQgfHwgaGFzVHJhY2tlZEV2ZW50LmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0Q29tcG9uZW50VmlzaWJsZSxcbiAgICAgICAgZXZlbnRQcm9wcyxcbiAgICAgIH0pO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRSZW5kZXJlZCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmV2ZW50UHJvcHMsXG4gICAgICAgICAgJ3RyaWdnZXIud2lkZ2V0JzogZXZlbnRQcm9wcz8ud2lkZ2V0X3R5cGUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGhhc1RyYWNrZWRFdmVudC5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCBpc1Zpc2libGUsIGV2ZW50UHJvcHMsIHRyYWNrRXZlbnRdKTtcbiAgcmV0dXJuIHsgaXNWaXNpYmxlIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBYSxpQ0FDWCxTQUNBLFlBQ0EsYUFBcUIsT0FDckIsVUFBbUIsU0FDUTtDQUMzQixNQUFNLFlBQVksZ0JBQWdCLFNBQVMsV0FBVztDQUN0RCxNQUFNLGtCQUFrQixPQUFPLE1BQU07Q0FDckMsTUFBTSxFQUFFLGVBQWUsY0FBYztBQUVyQyxpQkFBZ0I7QUFDZCxNQUFJLENBQUMsV0FBVyxnQkFBZ0IsUUFDOUI7QUFFRixNQUFJLFdBQVc7QUFDYixjQUFXO0lBQ1QsV0FBVyx1QkFBdUI7SUFDbEM7SUFDRCxDQUFDO0FBQ0YsY0FBVztJQUNULFdBQVcsdUJBQXVCO0lBQ2xDLFlBQVk7S0FDVixHQUFHO0tBQ0gsa0JBQWtCLFlBQVk7S0FDL0I7SUFDRixDQUFDO0FBQ0YsbUJBQWdCLFVBQVU7O0lBRTNCO0VBQUM7RUFBUztFQUFXO0VBQVk7RUFBVyxDQUFDO0FBQ2hELFFBQU8sRUFBRSxXQUFXIn0=
|
|
@@ -40,9 +40,33 @@ let WidgetInteractionType = /* @__PURE__ */ function(WidgetInteractionType$1) {
|
|
|
40
40
|
WidgetInteractionType$1["MANUAL_SCROLL_TO_BOTTOM"] = "manual_scroll_to_bottom";
|
|
41
41
|
return WidgetInteractionType$1;
|
|
42
42
|
}({});
|
|
43
|
+
let InteractionClass = /* @__PURE__ */ function(InteractionClass$1) {
|
|
44
|
+
InteractionClass$1["PASSIVE"] = "passive";
|
|
45
|
+
InteractionClass$1["NAVIGATIONAL"] = "navigational";
|
|
46
|
+
InteractionClass$1["INTENTIONAL"] = "intentional";
|
|
47
|
+
return InteractionClass$1;
|
|
48
|
+
}({});
|
|
49
|
+
const INTERACTION_TYPE_CLASS = {
|
|
50
|
+
[WidgetInteractionType.QUERY_INPUT_CLICKED]: InteractionClass.INTENTIONAL,
|
|
51
|
+
[WidgetInteractionType.SUGGESTION_CLICKED]: InteractionClass.INTENTIONAL,
|
|
52
|
+
[WidgetInteractionType.WIDGET_CLICKED]: InteractionClass.INTENTIONAL,
|
|
53
|
+
[WidgetInteractionType.WIDGET_HOVERED]: InteractionClass.PASSIVE,
|
|
54
|
+
[WidgetInteractionType.WIDGET_EXPANDED]: InteractionClass.NAVIGATIONAL,
|
|
55
|
+
[WidgetInteractionType.WIDGET_COLLAPSED]: InteractionClass.NAVIGATIONAL,
|
|
56
|
+
[WidgetInteractionType.SUGGESTION_SCROLLED]: InteractionClass.PASSIVE,
|
|
57
|
+
[WidgetInteractionType.LINK_CLICKED]: InteractionClass.INTENTIONAL,
|
|
58
|
+
[WidgetInteractionType.PRODUCT_CARD_CLICKED]: InteractionClass.INTENTIONAL,
|
|
59
|
+
[WidgetInteractionType.TEXT_LINK_CLICKED]: InteractionClass.INTENTIONAL,
|
|
60
|
+
[WidgetInteractionType.ARTICLE_LINK_CLICKED]: InteractionClass.INTENTIONAL,
|
|
61
|
+
[WidgetInteractionType.REVIEW_CARD_CLICKED]: InteractionClass.INTENTIONAL,
|
|
62
|
+
[WidgetInteractionType.MESSAGE_SUBMITTED]: InteractionClass.INTENTIONAL,
|
|
63
|
+
[WidgetInteractionType.MANUAL_SCROLL_TO_BOTTOM]: InteractionClass.PASSIVE
|
|
64
|
+
};
|
|
43
65
|
|
|
44
66
|
//#endregion
|
|
67
|
+
exports.INTERACTION_TYPE_CLASS = INTERACTION_TYPE_CLASS;
|
|
68
|
+
exports.InteractionClass = InteractionClass;
|
|
45
69
|
exports.WidgetInteractionComponent = WidgetInteractionComponent;
|
|
46
70
|
exports.WidgetInteractionPageType = WidgetInteractionPageType;
|
|
47
71
|
exports.WidgetInteractionType = WidgetInteractionType;
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOlsiSU5URVJBQ1RJT05fVFlQRV9DTEFTUzogUmVjb3JkPFdpZGdldEludGVyYWN0aW9uVHlwZSwgSW50ZXJhY3Rpb25DbGFzcz4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJy4uLy4uL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEludGVyYWN0aW9uQ29udGV4dCB7XG4gIHBhZ2VfdHlwZTogV2lkZ2V0SW50ZXJhY3Rpb25QYWdlVHlwZTtcbiAgcGFnZV9pZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEludGVyYWN0aW9uVHJpZ2dlciB7XG4gIGludGVyYWN0aW9uX2lkPzogc3RyaW5nO1xuICB3aWRnZXQ6IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50O1xuICB3aWRnZXRfaW50ZXJhY3Rpb246IFdpZGdldEludGVyYWN0aW9uVHlwZTtcbiAgd2lkZ2V0X2ludGVyYWN0aW9uX2RhdGE/OiBXaWRnZXRJbnRlcmFjdGlvbkRhdGEgfCBudWxsO1xuICBpbnRlcmFjdGlvbl9jbGFzcz86IEludGVyYWN0aW9uQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYWxXaWRnZXRJbnRlcmFjdGlvbiB7XG4gIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB8IEVudml2ZU1ldHJpY3NFdmVudE5hbWU7XG4gIGNvbnRleHQ6IFdpZGdldEludGVyYWN0aW9uQ29udGV4dDtcbiAgdHJpZ2dlcjogV2lkZ2V0SW50ZXJhY3Rpb25UcmlnZ2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEludGVyYWN0aW9uIHtcbiAgZXZlbnROYW1lOiBJbnRlcm5hbFdpZGdldEludGVyYWN0aW9uWydldmVudE5hbWUnXTtcbiAgdHJpZ2dlcjogSW50ZXJuYWxXaWRnZXRJbnRlcmFjdGlvblsndHJpZ2dlciddO1xufVxuXG5leHBvcnQgZW51bSBXaWRnZXRJbnRlcmFjdGlvblBhZ2VUeXBlIHtcbiAgUERQID0gJ3BkcCcsXG4gIFBMUCA9ICdwbHAnLFxuICBIT01FUEFHRSA9ICdob21lcGFnZScsXG4gIFNFQVJDSCA9ICdzZWFyY2gnLFxuICBPVEhFUiA9ICdvdGhlcicsXG4gIEZVTExfUEFHRSA9ICdmdWxsX3BhZ2UnLFxufVxuXG5leHBvcnQgZW51bSBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCB7XG4gIEVNQkVEREVEX1dJREdFVCA9ICdlbWJlZGRlZF93aWRnZXQnLFxuICBTVUdHRVNUSU9OX0JBUiA9ICdzdWdnZXN0aW9uX2JhcicsXG4gIEZMT0FUSU5HX0JVVFRPTiA9ICdmbG9hdGluZ19idXR0b24nLFxuICBGVUxMX1BBR0VfU0FMRVNfQUdFTlQgPSAnZnVsbF9wYWdlX3NhbGVzX2FnZW50JyxcbiAgU09DSUFMX1BST09GID0gJ3NvY2lhbF9wcm9vZicsXG4gIENIQVRfUFJFVklFVyA9ICdjaGF0X3ByZXZpZXcnLFxuICBGTE9BVElOR19DSEFUID0gJ2Zsb2F0aW5nX2NoYXQnLFxuICBTSU5HTEVfSU1BR0VfUFJPTVBUID0gJ3NpbmdsZV9pbWFnZV9wcm9tcHQnLFxuICBJTUFHRV9QUk9NUFRfQ0FSRCA9ICdpbWFnZV9wcm9tcHRfY2FyZCcsXG4gIFBPU1RfSU5URVJBQ1RJT05fQ09NUEFSSVNPTiA9ICdwb3N0X2ludGVyYWN0aW9uX2NvbXBhcmlzb24nLFxuICBQT1NUX0lOVEVSQUNUSU9OX0VNQkVEREVEID0gJ3Bvc3RfaW50ZXJhY3Rpb25fZW1iZWRkZWQnLFxufVxuXG5leHBvcnQgZW51bSBXaWRnZXRJbnRlcmFjdGlvblR5cGUge1xuICBRVUVSWV9JTlBVVF9DTElDS0VEID0gJ3F1ZXJ5X2lucHV0X2NsaWNrZWQnLFxuICBTVUdHRVNUSU9OX0NMSUNLRUQgPSAnc3VnZ2VzdGlvbl9jbGlja2VkJyxcbiAgV0lER0VUX0NMSUNLRUQgPSAnd2lkZ2V0X2NsaWNrZWQnLFxuICBXSURHRVRfSE9WRVJFRCA9ICd3aWRnZXRfaG92ZXJlZCcsXG4gIFdJREdFVF9FWFBBTkRFRCA9ICd3aWRnZXRfZXhwYW5kZWQnLFxuICBXSURHRVRfQ09MTEFQU0VEID0gJ3dpZGdldF9jb2xsYXBzZWQnLFxuICBTVUdHRVNUSU9OX1NDUk9MTEVEID0gJ3N1Z2dlc3Rpb25fc2Nyb2xsZWQnLFxuICBMSU5LX0NMSUNLRUQgPSAnbGlua19jbGlja2VkJyxcbiAgUFJPRFVDVF9DQVJEX0NMSUNLRUQgPSAncHJvZHVjdF9jYXJkX2NsaWNrZWQnLFxuICBURVhUX0xJTktfQ0xJQ0tFRCA9ICd0ZXh0X2xpbmtfY2xpY2tlZCcsXG4gIEFSVElDTEVfTElOS19DTElDS0VEID0gJ2FydGljbGVfbGlua19jbGlja2VkJyxcbiAgUkVWSUVXX0NBUkRfQ0xJQ0tFRCA9ICdyZXZpZXdfY2FyZF9jbGlja2VkJyxcbiAgTUVTU0FHRV9TVUJNSVRURUQgPSAnbWVzc2FnZV9zdWJtaXR0ZWQnLFxuICBNQU5VQUxfU0NST0xMX1RPX0JPVFRPTSA9ICdtYW51YWxfc2Nyb2xsX3RvX2JvdHRvbScsXG59XG5cbmV4cG9ydCBlbnVtIEludGVyYWN0aW9uQ2xhc3Mge1xuICBQQVNTSVZFID0gJ3Bhc3NpdmUnLCAvLyBObyB1c2VyIGNvbW1pdG1lbnQg4oCUIGhvdmVyLCBzY3JvbGwsIHZpc2liaWxpdHkgdHJpZ2dlcnNcbiAgTkFWSUdBVElPTkFMID0gJ25hdmlnYXRpb25hbCcsIC8vIE9wZW5zL2Nsb3NlcyBzb21ldGhpbmcg4oCUIG9mdGVuIGEgc2lkZSBlZmZlY3Qgb2YgaW50ZW50XG4gIElOVEVOVElPTkFMID0gJ2ludGVudGlvbmFsJywgLy8gRGVsaWJlcmF0ZSB1c2VyIGFjdGlvbiDigJQgY2xpY2tzLCBzdWJtaXRzLCB0eXBlZCBxdWVyaWVzXG59XG5cbmV4cG9ydCBjb25zdCBJTlRFUkFDVElPTl9UWVBFX0NMQVNTOiBSZWNvcmQ8V2lkZ2V0SW50ZXJhY3Rpb25UeXBlLCBJbnRlcmFjdGlvbkNsYXNzPiA9IHtcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5RVUVSWV9JTlBVVF9DTElDS0VEXTogSW50ZXJhY3Rpb25DbGFzcy5JTlRFTlRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5TVUdHRVNUSU9OX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLldJREdFVF9DTElDS0VEXTogSW50ZXJhY3Rpb25DbGFzcy5JTlRFTlRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5XSURHRVRfSE9WRVJFRF06IEludGVyYWN0aW9uQ2xhc3MuUEFTU0lWRSxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5XSURHRVRfRVhQQU5ERURdOiBJbnRlcmFjdGlvbkNsYXNzLk5BVklHQVRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5XSURHRVRfQ09MTEFQU0VEXTogSW50ZXJhY3Rpb25DbGFzcy5OQVZJR0FUSU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuU1VHR0VTVElPTl9TQ1JPTExFRF06IEludGVyYWN0aW9uQ2xhc3MuUEFTU0lWRSxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5MSU5LX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlBST0RVQ1RfQ0FSRF9DTElDS0VEXTogSW50ZXJhY3Rpb25DbGFzcy5JTlRFTlRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5URVhUX0xJTktfQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuQVJUSUNMRV9MSU5LX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlJFVklFV19DQVJEX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLk1FU1NBR0VfU1VCTUlUVEVEXTogSW50ZXJhY3Rpb25DbGFzcy5JTlRFTlRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5NQU5VQUxfU0NST0xMX1RPX0JPVFRPTV06IEludGVyYWN0aW9uQ2xhc3MuUEFTU0lWRSxcbn07XG5cbmV4cG9ydCB0eXBlIFVSTCA9IHtcbiAgdXJsOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0ID0ge1xuICBwcm9kdWN0X2lkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSZXZpZXcgPSB7XG4gIHJldmlld19pZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbiA9IHtcbiAgc3VnZ2VzdGlvbl9pZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUmVxdWVzdCA9IHtcbiAgcmVxdWVzdF90ZXh0OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDb2xsYXBzZSA9IHtcbiAgY29sbGFwc2Vfc291cmNlOiAnY2xvc2VfYnV0dG9uJyB8ICdzd2lwZScgfCAnYm9keV9jbGljayc7XG59O1xuXG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uU2Nyb2xsZWQgPSB7XG4gIHN1Z2dlc3Rpb25fc2Nyb2xsZWQ6IFN1Z2dlc3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uQ2xpY2tlZCA9IHtcbiAgc3VnZ2VzdGlvbl9jbGlja2VkOiBTdWdnZXN0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbkhvdmVyZWQgPSB7XG4gIHN1Z2dlc3Rpb25faG92ZXJlZDogU3VnZ2VzdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIExpbmtDbGlja2VkID0ge1xuICBsaW5rX2NsaWNrZWQ6IFVSTDtcbn07XG5cbmV4cG9ydCB0eXBlIFdpZGdldENvbGxhcHNlZCA9IHtcbiAgd2lkZ2V0X2NvbGxhcHNlZDogQ29sbGFwc2U7XG59O1xuXG5leHBvcnQgdHlwZSBUZXh0TGlua0NsaWNrZWQgPSB7XG4gIHRleHRfbGlua19jbGlja2VkOiBVUkw7XG59O1xuXG5leHBvcnQgdHlwZSBBcnRpY2xlTGlua0NsaWNrZWQgPSB7XG4gIGFydGljbGVfbGlua19jbGlja2VkOiBVUkw7XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0Q2FyZENsaWNrZWQgPSB7XG4gIHByb2R1Y3RfY2FyZF9jbGlja2VkOiBQcm9kdWN0O1xufTtcblxuZXhwb3J0IHR5cGUgUmV2aWV3Q2FyZENsaWNrZWQgPSB7XG4gIHJldmlld19jYXJkX2NsaWNrZWQ6IFJldmlldztcbn07XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2VTdWJtaXR0ZWQgPSB7XG4gIG1lc3NhZ2Vfc3VibWl0dGVkOiBSZXF1ZXN0O1xufTtcblxuZXhwb3J0IHR5cGUgV2lkZ2V0SW50ZXJhY3Rpb25EYXRhID1cbiAgfCBTdWdnZXN0aW9uU2Nyb2xsZWRcbiAgfCBTdWdnZXN0aW9uQ2xpY2tlZFxuICB8IFN1Z2dlc3Rpb25Ib3ZlcmVkXG4gIHwgTGlua0NsaWNrZWRcbiAgfCBXaWRnZXRDb2xsYXBzZWRcbiAgfCBUZXh0TGlua0NsaWNrZWRcbiAgfCBBcnRpY2xlTGlua0NsaWNrZWRcbiAgfCBQcm9kdWN0Q2FyZENsaWNrZWRcbiAgfCBSZXZpZXdDYXJkQ2xpY2tlZFxuICB8IE1lc3NhZ2VTdWJtaXR0ZWQ7XG4iXSwibWFwcGluZ3MiOiI7O0FBMEJBLElBQVksa0ZBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLElBQVksb0ZBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHRixJQUFZLDBFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0YsSUFBWSxnRUFBTDtBQUNMO0FBQ0E7QUFDQTs7O0FBR0YsTUFBYUEseUJBQTBFO0VBQ3BGLHNCQUFzQixzQkFBc0IsaUJBQWlCO0VBQzdELHNCQUFzQixxQkFBcUIsaUJBQWlCO0VBQzVELHNCQUFzQixpQkFBaUIsaUJBQWlCO0VBQ3hELHNCQUFzQixpQkFBaUIsaUJBQWlCO0VBQ3hELHNCQUFzQixrQkFBa0IsaUJBQWlCO0VBQ3pELHNCQUFzQixtQkFBbUIsaUJBQWlCO0VBQzFELHNCQUFzQixzQkFBc0IsaUJBQWlCO0VBQzdELHNCQUFzQixlQUFlLGlCQUFpQjtFQUN0RCxzQkFBc0IsdUJBQXVCLGlCQUFpQjtFQUM5RCxzQkFBc0Isb0JBQW9CLGlCQUFpQjtFQUMzRCxzQkFBc0IsdUJBQXVCLGlCQUFpQjtFQUM5RCxzQkFBc0Isc0JBQXNCLGlCQUFpQjtFQUM3RCxzQkFBc0Isb0JBQW9CLGlCQUFpQjtFQUMzRCxzQkFBc0IsMEJBQTBCLGlCQUFpQjtDQUNuRSJ9
|