@envive-ai/react-hooks 0.3.67 → 0.3.69
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.cts +7 -7
- package/dist/atoms/app/index.d.ts +1 -1
- package/dist/atoms/app/variant.d.cts +6 -6
- package/dist/atoms/chat/chatState.d.cts +19 -19
- package/dist/atoms/chat/chatState.d.ts +19 -19
- package/dist/atoms/chat/form.d.cts +2 -2
- 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 +3 -3
- 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 +6 -6
- 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 +2 -2
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.d.cts +3 -3
- package/dist/atoms/chat/replies.d.ts +2 -2
- package/dist/atoms/chat/suggestions.d.cts +2 -2
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/envive/enviveConfig.d.cts +14 -14
- 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 +4 -4
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
- 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/search/utils.d.ts +1 -1
- package/dist/contexts/enviveContext/types.d.cts +1 -1
- package/dist/contexts/pageContext/index.cjs +2 -0
- package/dist/contexts/pageContext/index.d.cts +2 -1
- package/dist/contexts/pageContext/index.d.ts +2 -1
- package/dist/contexts/pageContext/index.js +2 -1
- package/dist/contexts/pageContext/pageContext.cjs +12 -34
- package/dist/contexts/pageContext/pageContext.js +12 -34
- package/dist/contexts/pageContext/pageViewedContext.cjs +42 -0
- package/dist/contexts/pageContext/pageViewedContext.d.cts +16 -0
- package/dist/contexts/pageContext/pageViewedContext.d.ts +16 -0
- package/dist/contexts/pageContext/pageViewedContext.js +42 -0
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
- package/dist/contexts/types.d.cts +1 -1
- package/dist/contexts/types.d.ts +1 -1
- package/dist/contexts/typesV3.cjs +1 -1
- package/dist/contexts/typesV3.d.cts +3 -2
- package/dist/contexts/typesV3.d.ts +3 -2
- package/dist/contexts/typesV3.js +1 -1
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
- package/dist/hooks/PageViewedEvent/index.cjs +2 -1
- package/dist/hooks/PageViewedEvent/index.d.cts +2 -1
- package/dist/hooks/PageViewedEvent/index.d.ts +2 -1
- package/dist/hooks/PageViewedEvent/index.js +2 -1
- package/dist/hooks/PageViewedEvent/usePageViewedEvent.cjs +8 -34
- package/dist/hooks/PageViewedEvent/usePageViewedEvent.d.cts +9 -8
- package/dist/hooks/PageViewedEvent/usePageViewedEvent.d.ts +9 -8
- package/dist/hooks/PageViewedEvent/usePageViewedEvent.js +8 -33
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/hooks/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/contexts/pageContext/__tests__/pageContext.test.tsx +92 -14
- package/src/contexts/pageContext/index.ts +1 -0
- package/src/contexts/pageContext/pageContext.tsx +26 -33
- package/src/contexts/pageContext/pageViewedContext.ts +59 -0
- package/src/contexts/typesV3.ts +6 -1
- package/src/hooks/PageViewedEvent/usePageViewedEvent.ts +8 -53
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChatSearchFilter, ProductSorting } from "./types.js";
|
|
2
2
|
import { SearchParams, SearchResult } from "../../application/models/api/search.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as jotai82 from "jotai";
|
|
4
4
|
|
|
5
5
|
//#region src/atoms/search/searchAPI.d.ts
|
|
6
6
|
type SelectedFilterOption = {
|
|
@@ -15,28 +15,28 @@ interface SearchState {
|
|
|
15
15
|
error: string | null;
|
|
16
16
|
lastQuery: string | null;
|
|
17
17
|
}
|
|
18
|
-
declare const searchAtom:
|
|
18
|
+
declare const searchAtom: jotai82.PrimitiveAtom<SearchState> & {
|
|
19
19
|
init: SearchState;
|
|
20
20
|
};
|
|
21
|
-
declare const searchProductSortingAtom:
|
|
21
|
+
declare const searchProductSortingAtom: jotai82.PrimitiveAtom<ProductSorting> & {
|
|
22
22
|
init: ProductSorting;
|
|
23
23
|
};
|
|
24
|
-
declare const searchSelectedFiltersAtom:
|
|
24
|
+
declare const searchSelectedFiltersAtom: jotai82.PrimitiveAtom<SelectedFilterOption[]> & {
|
|
25
25
|
init: SelectedFilterOption[];
|
|
26
26
|
};
|
|
27
27
|
declare const createFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedFilterOption;
|
|
28
|
-
declare const searchParamsAtom:
|
|
28
|
+
declare const searchParamsAtom: jotai82.WritableAtom<{
|
|
29
29
|
id: string | null;
|
|
30
30
|
query: string | null;
|
|
31
31
|
}, [value: {
|
|
32
32
|
id: string | null;
|
|
33
33
|
query: string | null;
|
|
34
34
|
}], void>;
|
|
35
|
-
declare const internalSearchSystemStateAtom:
|
|
35
|
+
declare const internalSearchSystemStateAtom: jotai82.PrimitiveAtom<boolean> & {
|
|
36
36
|
init: boolean;
|
|
37
37
|
};
|
|
38
|
-
declare const searchSystemAtom:
|
|
39
|
-
declare const filteredSearchProductsAtom:
|
|
38
|
+
declare const searchSystemAtom: jotai82.WritableAtom<boolean, [value: boolean], void>;
|
|
39
|
+
declare const filteredSearchProductsAtom: jotai82.Atom<{
|
|
40
40
|
averageRating?: number | undefined;
|
|
41
41
|
colors?: string[] | undefined;
|
|
42
42
|
description?: string | undefined;
|
|
@@ -59,17 +59,17 @@ declare const filteredSearchProductsAtom: jotai52.Atom<{
|
|
|
59
59
|
title: string;
|
|
60
60
|
url: string;
|
|
61
61
|
}[]>;
|
|
62
|
-
declare const searchFiltersAtom:
|
|
63
|
-
declare const addSearchFilterAtom:
|
|
62
|
+
declare const searchFiltersAtom: jotai82.Atom<ChatSearchFilter[]>;
|
|
63
|
+
declare const addSearchFilterAtom: jotai82.WritableAtom<null, [filter: SelectedFilterOption], void> & {
|
|
64
64
|
init: null;
|
|
65
65
|
};
|
|
66
|
-
declare const removeSearchFilterAtom:
|
|
66
|
+
declare const removeSearchFilterAtom: jotai82.WritableAtom<null, [filterId: string], void> & {
|
|
67
67
|
init: null;
|
|
68
68
|
};
|
|
69
|
-
declare const clearSearchFiltersAtom:
|
|
69
|
+
declare const clearSearchFiltersAtom: jotai82.WritableAtom<null, [], void> & {
|
|
70
70
|
init: null;
|
|
71
71
|
};
|
|
72
|
-
declare const performSearchAtom:
|
|
72
|
+
declare const performSearchAtom: jotai82.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
|
|
73
73
|
init: null;
|
|
74
74
|
};
|
|
75
75
|
//#endregion
|
|
@@ -57,4 +57,4 @@ interface ProductRetrievalParams {
|
|
|
57
57
|
}
|
|
58
58
|
//#endregion
|
|
59
59
|
export { ChatSearchFilter, ChatSearchFilterItem, ChatSearchSortModalProps, ChatSearchSortOverrides, ChatSearchSortProps, ChatSearchStateType, ProductRetrievalParams, ProductRetrievalResult, ProductSorting, ProductSortingNames, SortOption };
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvc2VhcmNoL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlJztcbmV4cG9ydCBkZWNsYXJlIGVudW0gUHJvZHVjdFNvcnRpbmcge1xuICAgIEZFQVRVUkVEID0gXCJmZWF0dXJlZFwiLFxuICAgIFBSSUNFX0FTQyA9IFwicHJpY2VfYXNjXCIsXG4gICAgUFJJQ0VfREVTQyA9IFwicHJpY2VfZGVzY1wiXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBQcm9kdWN0U29ydGluZ05hbWVzOiB7XG4gICAgZmVhdHVyZWQ6IHN0cmluZztcbiAgICBwcmljZV9hc2M6IHN0cmluZztcbiAgICBwcmljZV9kZXNjOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaFN0YXRlVHlwZSA9ICdlbnRyeXBvaW50JyB8ICdpbml0aWFsaXppbmctc2VhcmNoJyB8ICdwcm9kdWN0LXBhZ2UnO1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlciA9IHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXRlbXM6IENoYXRTZWFyY2hGaWx0ZXJJdGVtW107XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlckl0ZW0gPSB7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3B0aW9uczogUHJvZHVjdFNvcnRpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRNb2RhbFByb3BzIGV4dGVuZHMgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3BlbjogYm9vbGVhbjtcbiAgICBoYW5kbGVQb3B1cFN0YXRlOiAoc3RhdGU6IGJvb2xlYW4pID0+
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvc2VhcmNoL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlJztcbmV4cG9ydCBkZWNsYXJlIGVudW0gUHJvZHVjdFNvcnRpbmcge1xuICAgIEZFQVRVUkVEID0gXCJmZWF0dXJlZFwiLFxuICAgIFBSSUNFX0FTQyA9IFwicHJpY2VfYXNjXCIsXG4gICAgUFJJQ0VfREVTQyA9IFwicHJpY2VfZGVzY1wiXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBQcm9kdWN0U29ydGluZ05hbWVzOiB7XG4gICAgZmVhdHVyZWQ6IHN0cmluZztcbiAgICBwcmljZV9hc2M6IHN0cmluZztcbiAgICBwcmljZV9kZXNjOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaFN0YXRlVHlwZSA9ICdlbnRyeXBvaW50JyB8ICdpbml0aWFsaXppbmctc2VhcmNoJyB8ICdwcm9kdWN0LXBhZ2UnO1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlciA9IHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXRlbXM6IENoYXRTZWFyY2hGaWx0ZXJJdGVtW107XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlckl0ZW0gPSB7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3B0aW9uczogUHJvZHVjdFNvcnRpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRNb2RhbFByb3BzIGV4dGVuZHMgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3BlbjogYm9vbGVhbjtcbiAgICBoYW5kbGVQb3B1cFN0YXRlOiAoc3RhdGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xuICAgIHZhbHVlOiBQcm9kdWN0U29ydGluZztcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIG9uU2VsZWN0OiAob3B0aW9uOiBQcm9kdWN0U29ydGluZykgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gQ2hhdFNlYXJjaFNvcnRPdmVycmlkZXMge1xuICAgIERFU0tUT1BfRklMVEVSX0NPTlRBSU5FUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1jb250YWluZXJcIixcbiAgICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfQ09NUE9ORU5UID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLXNlbGVjdC1jb21wb25lbnRcIixcbiAgICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfSUNPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtaWNvblwiLFxuICAgIE1PQklMRV9GSUxURVJfQlVUVE9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWJ1dHRvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfQ09OVEFJTkVSID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWNvbnRhaW5lclwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfSEVBREVSID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWhlYWRlclwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfU0VMRUNUSU9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLXNlbGVjdGlvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OX1BJTEwgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLXBpbGxcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9ERVNDUklQVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24tZGVzY1wiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfQVBQTFlfQlVUVE9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWFwcGx5LWJ1dHRvblwiXG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQge1xuICAgIHByb2R1Y3RzOiBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ11bXTtcbiAgICB0b3RhbFByb2R1Y3RDb3VudDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUGFyYW1zIHtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVyxpQkFBaUIsQ0FBQyxJQUFJO0FBQ2pDLElBQVcsc0JBQWMsQ0FBQSxJQUFBO0FBQ3pCLElBQVcsc0JBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLG1CQUFpQixDQUFBLFdBQUEscUJBQUE7QUFDNUIsSUFBQSx1QkFBQSxDQUFBLElBQUE7QUFDQSxJQUFXLHNCQUFzQixDQUFDLFdBQVEsZUFBQTtBQUMxQyxJQUFXLDJCQUFTLENBQUEsV0FBQSxvQkFBQTtBQUNwQixJQUFXLGFBQVU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFXLDBCQUFXLENBQUEsSUFBQTtBQUN0QixJQUFDLHlCQUFBLENBQUEsV0FBQSxnQ0FBQTtBQUNELElBQVcseUJBQXlCLENBQUMsSUFBSSJ9
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
declare const formatFilterDisplayName: (displayName: string) => string;
|
|
3
3
|
//#endregion
|
|
4
4
|
export { formatFilterDisplayName };
|
|
5
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvc2VhcmNoL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgY29uc3QgZm9ybWF0RmlsdGVyRGlzcGxheU5hbWU6IChkaXNwbGF5TmFtZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLDBCQUEwQixDQUFDLElBQUkifQ==
|
|
@@ -5,4 +5,4 @@ declare enum EnviveAgent {
|
|
|
5
5
|
}
|
|
6
6
|
//#endregion
|
|
7
7
|
export { EnviveAgent };
|
|
8
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2Vudml2ZUNvbnRleHQvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVjbGFyZSBlbnVtIEVudml2ZUFnZW50IHtcbiAgICBTYWxlc0FnZW50ID0gXCJzYWxlc1wiLFxuICAgIFNlYXJjaEFnZW50ID0gXCJzZWFyY2hcIlxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyxjQUFjLENBQUMsSUFBSSJ9
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
const require_mapping = require('./mapping.cjs');
|
|
2
|
+
const require_pageViewedContext = require('./pageViewedContext.cjs');
|
|
2
3
|
const require_pageContext = require('./pageContext.cjs');
|
|
3
4
|
|
|
4
5
|
exports.PageProvider = require_pageContext.PageProvider;
|
|
6
|
+
exports.extractPageViewedContext = require_pageViewedContext.extractPageViewedContext;
|
|
5
7
|
exports.mapApiUserEventToUserEvent = require_mapping.mapApiUserEventToUserEvent;
|
|
6
8
|
exports.mapUrlResolverResponseToVariantInfo = require_mapping.mapUrlResolverResponseToVariantInfo;
|
|
7
9
|
exports.usePage = require_pageContext.usePage;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { PageProvider, usePage } from "./pageContext.cjs";
|
|
2
2
|
import { mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo } from "./mapping.cjs";
|
|
3
|
-
|
|
3
|
+
import { PageViewedContext, extractPageViewedContext } from "./pageViewedContext.cjs";
|
|
4
|
+
export { PageProvider, PageViewedContext, extractPageViewedContext, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { PageProvider, usePage } from "./pageContext.js";
|
|
2
2
|
import { mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo } from "./mapping.js";
|
|
3
|
-
|
|
3
|
+
import { PageViewedContext, extractPageViewedContext } from "./pageViewedContext.js";
|
|
4
|
+
export { PageProvider, PageViewedContext, extractPageViewedContext, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo } from "./mapping.js";
|
|
2
|
+
import { extractPageViewedContext } from "./pageViewedContext.js";
|
|
2
3
|
import { PageProvider, usePage } from "./pageContext.js";
|
|
3
4
|
|
|
4
|
-
export { PageProvider, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
|
|
5
|
+
export { PageProvider, extractPageViewedContext, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
|
|
@@ -3,11 +3,13 @@ const require_logger = require('../../application/logging/logger.cjs');
|
|
|
3
3
|
const require_variantInfo = require('../../application/models/variantInfo/variantInfo.cjs');
|
|
4
4
|
require('../../application/models/index.cjs');
|
|
5
5
|
const require_eventNames = require('../../services/amplitudeService/eventNames.cjs');
|
|
6
|
+
const require_urlsParser = require('../../application/utils/urlsParser.cjs');
|
|
6
7
|
const require_variant = require('../../atoms/app/variant.cjs');
|
|
7
8
|
const require_application_commerce_api = require('../../application/commerce-api.cjs');
|
|
8
9
|
const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
|
|
9
10
|
require('../amplitudeContext/index.cjs');
|
|
10
11
|
const require_mapping = require('./mapping.cjs');
|
|
12
|
+
const require_pageViewedContext = require('./pageViewedContext.cjs');
|
|
11
13
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
12
14
|
let react = require("react");
|
|
13
15
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -18,6 +20,7 @@ const logger = new require_logger.default("pageContext");
|
|
|
18
20
|
const PageContext = (0, react.createContext)(void 0);
|
|
19
21
|
const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady }) => {
|
|
20
22
|
const [pageUrl, setPageUrl] = (0, react.useState)(void 0);
|
|
23
|
+
const [initialEnvivePlacement] = (0, react.useState)(() => require_urlsParser.parseHref(typeof window !== "undefined" ? window.location.href : "").urlSearchParams?.get("envive_placement") || void 0);
|
|
21
24
|
const [urlResolverResponse, setUrlResolverResponse] = (0, jotai.useAtom)(require_variant.urlResolverAtom);
|
|
22
25
|
const [isLoading, setIsLoading] = (0, react.useState)(false);
|
|
23
26
|
const [variantInfo, setVariantInfo] = (0, jotai.useAtom)(require_variant.pageVariantInfoAtom);
|
|
@@ -130,44 +133,18 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
|
|
|
130
133
|
const pageViewedFired = (0, react.useRef)(false);
|
|
131
134
|
(0, react.useEffect)(() => {
|
|
132
135
|
if (pageViewedFired.current || isLoading || !hasParsedVariantInfo || !variantInfo) return;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
switch (variantInfo.variantType) {
|
|
136
|
-
case require_variantInfo.VariantTypeEnum.Pdp:
|
|
137
|
-
pageType = "pdp";
|
|
138
|
-
pageId = variantInfo.productId;
|
|
139
|
-
break;
|
|
140
|
-
case require_variantInfo.VariantTypeEnum.Plp:
|
|
141
|
-
pageType = "plp";
|
|
142
|
-
pageId = variantInfo.plpId;
|
|
143
|
-
break;
|
|
144
|
-
case require_variantInfo.VariantTypeEnum.Home:
|
|
145
|
-
pageType = "homepage";
|
|
146
|
-
pageId = variantInfo.url;
|
|
147
|
-
break;
|
|
148
|
-
case require_variantInfo.VariantTypeEnum.Other:
|
|
149
|
-
pageType = "other";
|
|
150
|
-
pageId = variantInfo.url;
|
|
151
|
-
break;
|
|
152
|
-
case require_variantInfo.VariantTypeEnum.PageVisit:
|
|
153
|
-
pageType = "other";
|
|
154
|
-
pageId = variantInfo.url;
|
|
155
|
-
break;
|
|
156
|
-
case require_variantInfo.VariantTypeEnum.FullPageSalesAgent:
|
|
157
|
-
pageType = "adaptive_storefront";
|
|
158
|
-
pageId = variantInfo.url;
|
|
159
|
-
break;
|
|
160
|
-
default: return;
|
|
161
|
-
}
|
|
136
|
+
const pageViewedContext = require_pageViewedContext.extractPageViewedContext(variantInfo);
|
|
137
|
+
if (!pageViewedContext) return;
|
|
162
138
|
pageViewedFired.current = true;
|
|
163
139
|
trackEvent({
|
|
164
140
|
eventName: require_eventNames.EnviveMetricsEventName.PageViewed,
|
|
165
141
|
eventProps: {
|
|
166
|
-
"context.page_type":
|
|
167
|
-
"context.page_id":
|
|
142
|
+
"context.page_type": pageViewedContext.page_type,
|
|
143
|
+
"context.page_id": pageViewedContext.page_id,
|
|
168
144
|
"context.supported": isSupported,
|
|
169
145
|
"context.ready": isSupported,
|
|
170
|
-
"context.page_variant_id": resolvedVariantInfo.variantId
|
|
146
|
+
"context.page_variant_id": resolvedVariantInfo.variantId,
|
|
147
|
+
...initialEnvivePlacement ? { "context.envive_placement": initialEnvivePlacement } : {}
|
|
171
148
|
}
|
|
172
149
|
});
|
|
173
150
|
}, [
|
|
@@ -176,7 +153,8 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
|
|
|
176
153
|
hasParsedVariantInfo,
|
|
177
154
|
variantInfo,
|
|
178
155
|
resolvedVariantInfo,
|
|
179
|
-
trackEvent
|
|
156
|
+
trackEvent,
|
|
157
|
+
initialEnvivePlacement
|
|
180
158
|
]);
|
|
181
159
|
const setPageUrlStable = (0, react.useCallback)((url) => {
|
|
182
160
|
setPageUrl(url);
|
|
@@ -210,4 +188,4 @@ const usePage = () => {
|
|
|
210
188
|
//#endregion
|
|
211
189
|
exports.PageProvider = PageProvider;
|
|
212
190
|
exports.usePage = usePage;
|
|
213
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJWYXJpYW50VHlwZUVudW0iLCJtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyIsIm1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJ1c2VBbXBsaXR1ZGUiLCJ2YXJpYW50SW5mb0F0b20iLCJoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20iLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWFjdE5vZGUsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFVybFJlc29sdmVyUmVzcG9uc2UsXG4gIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSxcbiAgcGFnZVVzZXJFdmVudEF0b20sXG4gIHBhZ2VWYXJpYW50SW5mb0F0b20sXG4gIHVybFJlc29sdmVyQXRvbSxcbiAgdmFyaWFudEluZm9BdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQsIG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IFBhZ2VEZXRhaWxzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3BhZ2VDb250ZXh0Jyk7XG5cbmNvbnN0IFBhZ2VDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxcbiAgfCAoUGFnZURldGFpbHMgJiB7XG4gICAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgICBpc1N1cHBvcnRlZDogYm9vbGVhbjtcbiAgICAgIHNldFBhZ2VVcmw6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICB9KVxuICB8IHVuZGVmaW5lZFxuPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiA9ICh7IGNoaWxkcmVuLCBwcmV2aWV3TW9kZSA9IGZhbHNlLCBvblVybFJlc29sdmVyTm90UmVhZHkgfSkgPT4ge1xuICBjb25zdCBbcGFnZVVybCwgc2V0UGFnZVVybF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFt1cmxSZXNvbHZlclJlc3BvbnNlLCBzZXRVcmxSZXNvbHZlclJlc3BvbnNlXSA9IHVzZUF0b20odXJsUmVzb2x2ZXJBdG9tKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3ZhcmlhbnRJbmZvLCBzZXRWYXJpYW50SW5mb10gPSB1c2VBdG9tKHBhZ2VWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBbdXNlckV2ZW50LCBzZXRVc2VyRXZlbnRdID0gdXNlQXRvbShwYWdlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IFtpc1N1cHBvcnRlZCwgc2V0SXNTdXBwb3J0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBsYXN0Tm90UmVhZHlVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIC8vIFRyYWNrcyB0aGUgbGFzdCBVUkwgd2UgcmFuIHRocm91Z2ggdGhlIHJlc29sdmVyIChkZWR1cGUga2V5KS4gTGV0cyB1cyByZS1yZXNvbHZlIHdoZW4gdGhlXG4gIC8vIHBhZ2UgVVJMIGNoYW5nZXMgY2xpZW50LXNpZGUgKGUuZy4gYSBQRFAgY29sb3IvdmFyaWFudCBzd2FwIHRoYXQgcHVzaGVzIGEgbmV3IFVSTCB3aXRob3V0XG4gIC8vIGEgZnVsbCByZWxvYWQpIGluc3RlYWQgb2Ygc2hvcnQtY2lyY3VpdGluZyBvbiB0aGUgc3RhbGUgdmFyaWFudC91c2VyRXZlbnQgYXRvbXMuIENsZWFyZWRcbiAgLy8gb24gZmFpbHVyZSBzbyB0aGUgVVJMIGNhbiBiZSByZXRyaWVkLlxuICBjb25zdCBsYXN0UmVzb2x2ZWRVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIC8vIFdoZXRoZXIgd2UgaGF2ZSBldmVyIGRyaXZlbiBhIHJlc29sdXRpb24gb3Vyc2VsdmVzLiBLZXB0IHNlcGFyYXRlIGZyb21cbiAgLy8gYGxhc3RSZXNvbHZlZFVybFJlZmAgKHdoaWNoIGEgZmFpbHVyZSBjbGVhcnMpIHNvIGEgZmFpbGVkIHJlc29sdmUgY2FuIHJldHJ5IHdpdGhvdXQgdGhlXG4gIC8vIG5leHQgbmF2aWdhdGlvbiBtaXNyZWFkaW5nIGl0IGFzIFwiYXRvbXMgd2VyZSBzZWVkZWQgZXh0ZXJuYWxseVwiIGFuZCBza2lwcGluZyB0aGUgQVBJIGNhbGwuXG4gIGNvbnN0IGhhc1Jlc29sdmVkT25jZVJlZiA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRQYWdlVXJsKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgfSwgW10pO1xuXG4gIC8vIEF1dG8taW5pdGlhbGl6ZSBhdG9tcyBmb3IgcHJldmlldyBtb2RlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByZXZpZXdNb2RlICYmICF1c2VyRXZlbnQgJiYgIXZhcmlhbnRJbmZvKSB7XG4gICAgICBjb25zdCB1cmwgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJyc7XG4gICAgICBzZXRVc2VyRXZlbnQoe1xuICAgICAgICBldmVudF9pZDogJ3ByZXZpZXctdXNlci1ldmVudCcsXG4gICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHBhZ2VfdmlzaXRfY2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5Lk90aGVyLFxuICAgICAgICAgIHVybCxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55KTtcblxuICAgICAgc2V0VmFyaWFudEluZm8oe1xuICAgICAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLlBhZ2VWaXNpdCxcbiAgICAgICAgdXJsLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJldmlld01vZGUsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIHNldFVzZXJFdmVudCwgc2V0VmFyaWFudEluZm9dKTtcblxuICBjb25zdCBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHVybDogc3RyaW5nLCByZXNwb25zZTogVXJsUmVzb2x2ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhcmlhbnRJbmZvID0gbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8odXJsLCByZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IG5ld1VzZXJFdmVudCA9IG1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50KHJlc3BvbnNlLnVzZXJfZXZlbnQgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdzZXR0aW5nIHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCcsIHsgbmV3VmFyaWFudEluZm8sIG5ld1VzZXJFdmVudCB9KTtcbiAgICAgICAgc2V0VmFyaWFudEluZm8obmV3VmFyaWFudEluZm8pO1xuICAgICAgICBzZXRVc2VyRXZlbnQobmV3VXNlckV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFVzZXJFdmVudCh1bmRlZmluZWQpO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyh1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldCB2YXJpYW50IGluZm8gYW5kIHVzZXIgZXZlbnQgdG8gdW5kZWZpbmVkJywgeyB2YXJpYW50SW5mbywgdXNlckV2ZW50IH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFZhcmlhbnRJbmZvLCBzZXRVc2VyRXZlbnRdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZVBhZ2VVcmwgPSBhc3luYyAoKSA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIXBhZ2VVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsZWFuc2VkVXJsID0gcGFnZVVybC50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuICAgICAgICAvLyBSZS1yZXNvbHZlIHdoZW4gdGhlIFVSTCBjaGFuZ2VzIHNvIGEgY2xpZW50LXNpZGUgUERQIHZhcmlhbnQgc3dhcCBmb2xsb3dzIHRvIHRoZSBuZXdcbiAgICAgICAgLy8gcHJvZHVjdC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gQWxyZWFkeSByZXNvbHZlZCB0aGlzIGV4YWN0IFVSTCDigJQgZ3VhcmRzIGFnYWluc3QgdGhlIGVmZmVjdCByZS1ydW5uaW5nIG9uY2UgdGhlXG4gICAgICAgIC8vIHJlc29sdmVyIHdyaXRlcyB0aGUgdmFyaWFudC91c2VyRXZlbnQgYXRvbXMgKHRoZXkgYXJlIGVmZmVjdCBkZXBlbmRlbmNpZXMpLlxuICAgICAgICBpZiAobGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW4gcHJldmlldyBtb2RlLCBvciB3aGVuIHRoZSBhdG9tcyB3ZXJlIHNlZWRlZCBleHRlcm5hbGx5IChlLmcuIGJ5IHN0b3J5Ym9vaylcbiAgICAgICAgLy8gYmVmb3JlIHdlIG91cnNlbHZlcyByZXNvbHZlZCBhbnl0aGluZywgaG9ub3IgdGhvc2UgYXRvbXMgYW5kIHNraXAgdGhlIEFQSSBjYWxsLlxuICAgICAgICAvLyBPbmNlIHdlIGhhdmUgcmVzb2x2ZWQgYXQgbGVhc3Qgb25jZSAoYGhhc1Jlc29sdmVkT25jZVJlZmApLCBhIGNoYW5nZWQgVVJMIHNob3VsZFxuICAgICAgICAvLyByZS1yZXNvbHZlIGV2ZW4gdGhvdWdoIHRoZSBwcmV2aW91cyB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyBhcmUgc2V0LlxuICAgICAgICBpZiAocHJldmlld01vZGUgfHwgKCh1c2VyRXZlbnQgfHwgdmFyaWFudEluZm8pICYmICFoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCkpIHtcbiAgICAgICAgICBoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHVybFJlc29sdmVyUmVzcG9uc2VbY2xlYW5zZWRVcmxdID8/XG4gICAgICAgICAgKChhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5yZXNvbHZlVXJsKGNsZWFuc2VkVXJsKSkgYXMgVXJsUmVzb2x2ZXJSZXNwb25zZSk7XG5cbiAgICAgICAgLy8gQSBuZXdlciBuYXZpZ2F0aW9uIHN0YXJ0ZWQgcmVzb2x2aW5nIHdoaWxlIHdlIGF3YWl0ZWQgKGUuZy4gdGhlIHNob3BwZXIgY2xpY2tlZFxuICAgICAgICAvLyB0aHJvdWdoIHNldmVyYWwgdmFyaWFudCBzd2F0Y2hlcyBxdWlja2x5KS4gRHJvcCB0aGlzIG5vdy1zdGFsZSByZXNwb25zZSBzbyBhblxuICAgICAgICAvLyBvdXQtb2Ytb3JkZXIgcmVzb2x1dGlvbiBjYW4ndCBvdmVyd3JpdGUgdGhlIGxhdGVzdCB2YXJpYW50LiBEbyBOT1QgY2xlYXIgaXNMb2FkaW5nXG4gICAgICAgIC8vIGhlcmU6IHRoZSBuZXdlciBpbi1mbGlnaHQgcmVxdWVzdCBvd25zIHRoZSBsb2FkaW5nIHN0YXRlLCBhbmQgY2xlYXJpbmcgaXQgd291bGRcbiAgICAgICAgLy8gb3BlbiBhIHdpbmRvdyB3aGVyZSBpc0xvYWRpbmc9ZmFsc2Ugd2hpbGUgdmFyaWFudEluZm8vaXNTdXBwb3J0ZWQgc3RpbGwgYmVsb25nIHRvXG4gICAgICAgIC8vIHRoZSBwcmV2aW91cyBwcm9kdWN0IChjYXVzaW5nIHdpZGdldCBmbGFzaGVzIGFuZCBhIGZpcmUtb25jZSBzdWNjZXNzIHJlZiDigJQgc2VlXG4gICAgICAgIC8vIFdpZGdldHMudHN4IOKAlCB0byBsYXRjaCBvbnRvIHRoZSB3cm9uZyBwcm9kdWN0J3Mgc3RhdGUpLlxuICAgICAgICBpZiAobGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgIT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcihjbGVhbnNlZFVybCwgcmVzcG9uc2UpO1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBzZXRJc1N1cHBvcnRlZChyZXNwb25zZS5yZWFkeSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgICAgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSAmJiBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihgVVJMIHJlc29sdmVyIHJldHVybmVkIHJlYWR5PWZhbHNlIGZvciAke2NsZWFuc2VkVXJsfWApO1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZShvblVybFJlc29sdmVyTm90UmVhZHkoZXJyKSkuY2F0Y2goY2FsbGJhY2tFcnJvciA9PiB7XG4gICAgICAgICAgICBsb2dnZXIubG9nRGVidWcoJ29uVXJsUmVzb2x2ZXJOb3RSZWFkeSBjYWxsYmFjayBmYWlsZWQnLCBjYWxsYmFja0Vycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBBbGxvdyB0aGlzIFVSTCB0byBiZSByZXRyaWVkIG9uIGEgc3Vic2VxdWVudCB0cmlnZ2VyIOKAlCBidXQgb25seSBpZiBhIG5ld2VyXG4gICAgICAgIC8vIG5hdmlnYXRpb24gaGFzbid0IGFscmVhZHkgc3VwZXJzZWRlZCBpdCwgc28gYSBzdGFsZSBmYWlsdXJlIGNhbid0IGRpc2NhcmQgYSBuZXdlclxuICAgICAgICAvLyBpbi1mbGlnaHQgcmVzb2x1dGlvbi4gYGhhc1Jlc29sdmVkT25jZVJlZmAgaXMgaW50ZW50aW9uYWxseSBsZWZ0IHNldCwgc28gcmV0cnlpbmdcbiAgICAgICAgLy8gbmV2ZXIgZmFsbHMgaW50byB0aGUgc2VlZGVkLWF0b21zIGJyYW5jaCBhYm92ZS5cbiAgICAgICAgY29uc3QgZmFpbGVkVXJsID0gcGFnZVVybD8udG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgICAgIGlmIChmYWlsZWRVcmwgJiYgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPT09IGZhaWxlZFVybCkge1xuICAgICAgICAgIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBsb2dnZXIubG9nRXJyb3IoJ0ZhaWxlZCB0byByZXNvbHZlIHBhZ2UgVVJMJywgZSwgeyBwYWdlVXJsIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgcmVzb2x2ZVBhZ2VVcmwoKTtcbiAgfSwgW1xuICAgIHBhZ2VVcmwsXG4gICAgdXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgICBzZXRVcmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIsXG4gICAgdXNlckV2ZW50LFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHByZXZpZXdNb2RlLFxuICAgIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSxcbiAgXSk7XG5cbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgcmVzb2x2ZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZSh2YXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBwYWdlVmlld2VkRmlyZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50IHx8IGlzTG9hZGluZyB8fCAhaGFzUGFyc2VkVmFyaWFudEluZm8gfHwgIXZhcmlhbnRJbmZvKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHBhZ2VUeXBlOiBzdHJpbmc7XG4gICAgbGV0IHBhZ2VJZDogc3RyaW5nO1xuXG4gICAgc3dpdGNoICh2YXJpYW50SW5mby52YXJpYW50VHlwZSkge1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGRwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwZHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wcm9kdWN0SWQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGxwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwbHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wbHBJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5Ib21lOlxuICAgICAgICBwYWdlVHlwZSA9ICdob21lcGFnZSc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5PdGhlcjpcbiAgICAgICAgcGFnZVR5cGUgPSAnb3RoZXInO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0OlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5GdWxsUGFnZVNhbGVzQWdlbnQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2FkYXB0aXZlX3N0b3JlZnJvbnQnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50ID0gdHJ1ZTtcblxuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICdjb250ZXh0LnBhZ2VfdHlwZSc6IHBhZ2VUeXBlLFxuICAgICAgICAnY29udGV4dC5wYWdlX2lkJzogcGFnZUlkLFxuICAgICAgICAnY29udGV4dC5zdXBwb3J0ZWQnOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucmVhZHknOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJzogcmVzb2x2ZWRWYXJpYW50SW5mby52YXJpYW50SWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbaXNMb2FkaW5nLCBpc1N1cHBvcnRlZCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHZhcmlhbnRJbmZvLCByZXNvbHZlZFZhcmlhbnRJbmZvLCB0cmFja0V2ZW50XSk7XG5cbiAgY29uc3Qgc2V0UGFnZVVybFN0YWJsZSA9IHVzZUNhbGxiYWNrKCh1cmw6IHN0cmluZykgPT4ge1xuICAgIHNldFBhZ2VVcmwodXJsKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGFnZVVybCxcbiAgICAgIHZhcmlhbnRJbmZvLFxuICAgICAgdXNlckV2ZW50LFxuICAgICAgaXNMb2FkaW5nLFxuICAgICAgaXNTdXBwb3J0ZWQsXG4gICAgICBzZXRQYWdlVXJsOiBzZXRQYWdlVXJsU3RhYmxlLFxuICAgIH0pLFxuICAgIFtwYWdlVXJsLCB1c2VyRXZlbnQsIHZhcmlhbnRJbmZvLCBpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBzZXRQYWdlVXJsU3RhYmxlXSxcbiAgKTtcblxuICByZXR1cm4gPFBhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvUGFnZUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFBhZ2VDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VQYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBQYWdlUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSxTQUFTLElBQUlBLHVCQUFPLGNBQWM7QUFFeEMsTUFBTSx1Q0FPSixPQUFVO0FBRVosTUFBYUMsZ0JBS1AsRUFBRSxVQUFVLGNBQWMsT0FBTyw0QkFBNEI7Q0FDakUsTUFBTSxDQUFDLFNBQVMsa0NBQTJDLE9BQVU7Q0FDckUsTUFBTSxDQUFDLHFCQUFxQiw2Q0FBa0NDLGdDQUFnQjtDQUM5RSxNQUFNLENBQUMsV0FBVyxvQ0FBeUIsTUFBTTtDQUNqRCxNQUFNLENBQUMsYUFBYSxxQ0FBMEJDLG9DQUFvQjtDQUNsRSxNQUFNLENBQUMsV0FBVyxtQ0FBd0JDLGtDQUFrQjtDQUM1RCxNQUFNLENBQUMsYUFBYSxzQ0FBMkIsTUFBTTtDQUNyRCxNQUFNLHVDQUEyQyxLQUFLO0NBS3RELE1BQU0sdUNBQTJDLEtBQUs7Q0FJdEQsTUFBTSx1Q0FBNEIsTUFBTTtBQUV4Qyw0QkFBZ0I7QUFDZCxhQUFXLE9BQU8sU0FBUyxLQUFLO0lBQy9CLEVBQUUsQ0FBQztBQUdOLDRCQUFnQjtBQUNkLE1BQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxhQUFhO0dBQzdDLE1BQU0sTUFBTSxPQUFPLFdBQVcsY0FBYyxPQUFPLFNBQVMsT0FBTztBQUNuRSxnQkFBYTtJQUNYLFVBQVU7SUFDViw2QkFBWSxJQUFJLE1BQU0sRUFBQyxhQUFhO0lBQ3BDLFVBQVVDLGtEQUFrQjtJQUM1QixZQUFZO0tBQ1YscUJBQXFCQyxrREFBa0I7S0FDdkM7S0FDRDtJQUNGLENBQVE7QUFFVCxrQkFBZTtJQUNiLGFBQWFDLG9DQUFnQjtJQUM3QjtJQUNELENBQUM7O0lBRUg7RUFBQztFQUFhO0VBQVc7RUFBYTtFQUFjO0VBQWUsQ0FBQztDQUV2RSxNQUFNLG9EQUNILEtB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
|
|
191
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInBhcnNlSHJlZiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJWYXJpYW50VHlwZUVudW0iLCJtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyIsIm1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJ1c2VBbXBsaXR1ZGUiLCJ2YXJpYW50SW5mb0F0b20iLCJoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20iLCJleHRyYWN0UGFnZVZpZXdlZENvbnRleHQiLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWFjdE5vZGUsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFVybFJlc29sdmVyUmVzcG9uc2UsXG4gIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSxcbiAgcGFnZVVzZXJFdmVudEF0b20sXG4gIHBhZ2VWYXJpYW50SW5mb0F0b20sXG4gIHVybFJlc29sdmVyQXRvbSxcbiAgdmFyaWFudEluZm9BdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBwYXJzZUhyZWYgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMvdXJsc1BhcnNlcic7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQsIG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IGV4dHJhY3RQYWdlVmlld2VkQ29udGV4dCB9IGZyb20gJy4vcGFnZVZpZXdlZENvbnRleHQnO1xuaW1wb3J0IHsgUGFnZURldGFpbHMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcigncGFnZUNvbnRleHQnKTtcblxuY29uc3QgUGFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFxuICB8IChQYWdlRGV0YWlscyAmIHtcbiAgICAgIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgICAgIGlzU3VwcG9ydGVkOiBib29sZWFuO1xuICAgICAgc2V0UGFnZVVybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIH0pXG4gIHwgdW5kZWZpbmVkXG4+KHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+ID0gKHsgY2hpbGRyZW4sIHByZXZpZXdNb2RlID0gZmFsc2UsIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSB9KSA9PiB7XG4gIGNvbnN0IFtwYWdlVXJsLCBzZXRQYWdlVXJsXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgLy8gTWVyY2hhbnQtdGFnZ2VkIG9uLXNpdGUgcGxhY2VtZW50ICg/ZW52aXZlX3BsYWNlbWVudD3igKYpIGZvciBlbnRyeS1zb3VyY2UgYXR0cmlidXRpb24sXG4gIC8vIGNhcHR1cmVkIG9uIGZpcnN0IHJlbmRlcjogdGhlbWUvY29uc2VudCBzY3JpcHRzIGNhbiByZXdyaXRlIHRoZSBVUkwgKHJlcGxhY2VTdGF0ZSkgYmVmb3JlXG4gIC8vIHRoZSBQYWdlIFZpZXdlZCBldmVudCBmaXJlcyBhZnRlciBVUkwgcmVzb2x1dGlvbi4gRW1wdHkvYWJzZW50IOKGkiB1bmRlZmluZWQgKGtleSBvbWl0dGVkKS5cbiAgY29uc3QgW2luaXRpYWxFbnZpdmVQbGFjZW1lbnRdID0gdXNlU3RhdGUoXG4gICAgKCkgPT5cbiAgICAgIHBhcnNlSHJlZih0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJycpLnVybFNlYXJjaFBhcmFtcz8uZ2V0KFxuICAgICAgICAnZW52aXZlX3BsYWNlbWVudCcsXG4gICAgICApIHx8IHVuZGVmaW5lZCxcbiAgKTtcbiAgY29uc3QgW3VybFJlc29sdmVyUmVzcG9uc2UsIHNldFVybFJlc29sdmVyUmVzcG9uc2VdID0gdXNlQXRvbSh1cmxSZXNvbHZlckF0b20pO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbdmFyaWFudEluZm8sIHNldFZhcmlhbnRJbmZvXSA9IHVzZUF0b20ocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IFt1c2VyRXZlbnQsIHNldFVzZXJFdmVudF0gPSB1c2VBdG9tKHBhZ2VVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzU3VwcG9ydGVkLCBzZXRJc1N1cHBvcnRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGxhc3ROb3RSZWFkeVVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgLy8gVHJhY2tzIHRoZSBsYXN0IFVSTCB3ZSByYW4gdGhyb3VnaCB0aGUgcmVzb2x2ZXIgKGRlZHVwZSBrZXkpLiBMZXRzIHVzIHJlLXJlc29sdmUgd2hlbiB0aGVcbiAgLy8gcGFnZSBVUkwgY2hhbmdlcyBjbGllbnQtc2lkZSAoZS5nLiBhIFBEUCBjb2xvci92YXJpYW50IHN3YXAgdGhhdCBwdXNoZXMgYSBuZXcgVVJMIHdpdGhvdXRcbiAgLy8gYSBmdWxsIHJlbG9hZCkgaW5zdGVhZCBvZiBzaG9ydC1jaXJjdWl0aW5nIG9uIHRoZSBzdGFsZSB2YXJpYW50L3VzZXJFdmVudCBhdG9tcy4gQ2xlYXJlZFxuICAvLyBvbiBmYWlsdXJlIHNvIHRoZSBVUkwgY2FuIGJlIHJldHJpZWQuXG4gIGNvbnN0IGxhc3RSZXNvbHZlZFVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgLy8gV2hldGhlciB3ZSBoYXZlIGV2ZXIgZHJpdmVuIGEgcmVzb2x1dGlvbiBvdXJzZWx2ZXMuIEtlcHQgc2VwYXJhdGUgZnJvbVxuICAvLyBgbGFzdFJlc29sdmVkVXJsUmVmYCAod2hpY2ggYSBmYWlsdXJlIGNsZWFycykgc28gYSBmYWlsZWQgcmVzb2x2ZSBjYW4gcmV0cnkgd2l0aG91dCB0aGVcbiAgLy8gbmV4dCBuYXZpZ2F0aW9uIG1pc3JlYWRpbmcgaXQgYXMgXCJhdG9tcyB3ZXJlIHNlZWRlZCBleHRlcm5hbGx5XCIgYW5kIHNraXBwaW5nIHRoZSBBUEkgY2FsbC5cbiAgY29uc3QgaGFzUmVzb2x2ZWRPbmNlUmVmID0gdXNlUmVmKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFBhZ2VVcmwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICB9LCBbXSk7XG5cbiAgLy8gQXV0by1pbml0aWFsaXplIGF0b21zIGZvciBwcmV2aWV3IG1vZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJldmlld01vZGUgJiYgIXVzZXJFdmVudCAmJiAhdmFyaWFudEluZm8pIHtcbiAgICAgIGNvbnN0IHVybCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJztcbiAgICAgIHNldFVzZXJFdmVudCh7XG4gICAgICAgIGV2ZW50X2lkOiAncHJldmlldy11c2VyLWV2ZW50JyxcbiAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcGFnZV92aXNpdF9jYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkuT3RoZXIsXG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICBzZXRWYXJpYW50SW5mbyh7XG4gICAgICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0LFxuICAgICAgICB1cmwsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcmV2aWV3TW9kZSwgdXNlckV2ZW50LCB2YXJpYW50SW5mbywgc2V0VXNlckV2ZW50LCBzZXRWYXJpYW50SW5mb10pO1xuXG4gIGNvbnN0IHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAodXJsOiBzdHJpbmcsIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgY29uc3QgbmV3VmFyaWFudEluZm8gPSBtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyh1cmwsIHJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgbmV3VXNlckV2ZW50ID0gbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQocmVzcG9uc2UudXNlcl9ldmVudCA/PyB1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldHRpbmcgdmFyaWFudCBpbmZvIGFuZCB1c2VyIGV2ZW50JywgeyBuZXdWYXJpYW50SW5mbywgbmV3VXNlckV2ZW50IH0pO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyhuZXdWYXJpYW50SW5mbyk7XG4gICAgICAgIHNldFVzZXJFdmVudChuZXdVc2VyRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VXNlckV2ZW50KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldFZhcmlhbnRJbmZvKHVuZGVmaW5lZCk7XG4gICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2V0IHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCB0byB1bmRlZmluZWQnLCB7IHZhcmlhbnRJbmZvLCB1c2VyRXZlbnQgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0VmFyaWFudEluZm8sIHNldFVzZXJFdmVudF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZXNvbHZlUGFnZVVybCA9IGFzeW5jICgpID0+IHtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghcGFnZVVybCkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xlYW5zZWRVcmwgPSBwYWdlVXJsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gICAgICAgIC8vIFJlLXJlc29sdmUgd2hlbiB0aGUgVVJMIGNoYW5nZXMgc28gYSBjbGllbnQtc2lkZSBQRFAgdmFyaWFudCBzd2FwIGZvbGxvd3MgdG8gdGhlIG5ld1xuICAgICAgICAvLyBwcm9kdWN0LlxuICAgICAgICAvL1xuICAgICAgICAvLyBBbHJlYWR5IHJlc29sdmVkIHRoaXMgZXhhY3QgVVJMIOKAlCBndWFyZHMgYWdhaW5zdCB0aGUgZWZmZWN0IHJlLXJ1bm5pbmcgb25jZSB0aGVcbiAgICAgICAgLy8gcmVzb2x2ZXIgd3JpdGVzIHRoZSB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyAodGhleSBhcmUgZWZmZWN0IGRlcGVuZGVuY2llcykuXG4gICAgICAgIGlmIChsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9PT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBJbiBwcmV2aWV3IG1vZGUsIG9yIHdoZW4gdGhlIGF0b21zIHdlcmUgc2VlZGVkIGV4dGVybmFsbHkgKGUuZy4gYnkgc3Rvcnlib29rKVxuICAgICAgICAvLyBiZWZvcmUgd2Ugb3Vyc2VsdmVzIHJlc29sdmVkIGFueXRoaW5nLCBob25vciB0aG9zZSBhdG9tcyBhbmQgc2tpcCB0aGUgQVBJIGNhbGwuXG4gICAgICAgIC8vIE9uY2Ugd2UgaGF2ZSByZXNvbHZlZCBhdCBsZWFzdCBvbmNlIChgaGFzUmVzb2x2ZWRPbmNlUmVmYCksIGEgY2hhbmdlZCBVUkwgc2hvdWxkXG4gICAgICAgIC8vIHJlLXJlc29sdmUgZXZlbiB0aG91Z2ggdGhlIHByZXZpb3VzIHZhcmlhbnQvdXNlckV2ZW50IGF0b21zIGFyZSBzZXQuXG4gICAgICAgIGlmIChwcmV2aWV3TW9kZSB8fCAoKHVzZXJFdmVudCB8fCB2YXJpYW50SW5mbykgJiYgIWhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50KSkge1xuICAgICAgICAgIGhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdXJsUmVzb2x2ZXJSZXNwb25zZVtjbGVhbnNlZFVybF0gPz9cbiAgICAgICAgICAoKGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwoY2xlYW5zZWRVcmwpKSBhcyBVcmxSZXNvbHZlclJlc3BvbnNlKTtcblxuICAgICAgICAvLyBBIG5ld2VyIG5hdmlnYXRpb24gc3RhcnRlZCByZXNvbHZpbmcgd2hpbGUgd2UgYXdhaXRlZCAoZS5nLiB0aGUgc2hvcHBlciBjbGlja2VkXG4gICAgICAgIC8vIHRocm91Z2ggc2V2ZXJhbCB2YXJpYW50IHN3YXRjaGVzIHF1aWNrbHkpLiBEcm9wIHRoaXMgbm93LXN0YWxlIHJlc3BvbnNlIHNvIGFuXG4gICAgICAgIC8vIG91dC1vZi1vcmRlciByZXNvbHV0aW9uIGNhbid0IG92ZXJ3cml0ZSB0aGUgbGF0ZXN0IHZhcmlhbnQuIERvIE5PVCBjbGVhciBpc0xvYWRpbmdcbiAgICAgICAgLy8gaGVyZTogdGhlIG5ld2VyIGluLWZsaWdodCByZXF1ZXN0IG93bnMgdGhlIGxvYWRpbmcgc3RhdGUsIGFuZCBjbGVhcmluZyBpdCB3b3VsZFxuICAgICAgICAvLyBvcGVuIGEgd2luZG93IHdoZXJlIGlzTG9hZGluZz1mYWxzZSB3aGlsZSB2YXJpYW50SW5mby9pc1N1cHBvcnRlZCBzdGlsbCBiZWxvbmcgdG9cbiAgICAgICAgLy8gdGhlIHByZXZpb3VzIHByb2R1Y3QgKGNhdXNpbmcgd2lkZ2V0IGZsYXNoZXMgYW5kIGEgZmlyZS1vbmNlIHN1Y2Nlc3MgcmVmIOKAlCBzZWVcbiAgICAgICAgLy8gV2lkZ2V0cy50c3gg4oCUIHRvIGxhdGNoIG9udG8gdGhlIHdyb25nIHByb2R1Y3QncyBzdGF0ZSkuXG4gICAgICAgIGlmIChsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyKGNsZWFuc2VkVXJsLCByZXNwb25zZSk7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIHNldElzU3VwcG9ydGVkKHJlc3BvbnNlLnJlYWR5KTtcblxuICAgICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAob25VcmxSZXNvbHZlck5vdFJlYWR5ICYmIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ICE9PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG4gICAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKGBVUkwgcmVzb2x2ZXIgcmV0dXJuZWQgcmVhZHk9ZmFsc2UgZm9yICR7Y2xlYW5zZWRVcmx9YCk7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeShlcnIpKS5jYXRjaChjYWxsYmFja0Vycm9yID0+IHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnb25VcmxSZXNvbHZlck5vdFJlYWR5IGNhbGxiYWNrIGZhaWxlZCcsIGNhbGxiYWNrRXJyb3IpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIEFsbG93IHRoaXMgVVJMIHRvIGJlIHJldHJpZWQgb24gYSBzdWJzZXF1ZW50IHRyaWdnZXIg4oCUIGJ1dCBvbmx5IGlmIGEgbmV3ZXJcbiAgICAgICAgLy8gbmF2aWdhdGlvbiBoYXNuJ3QgYWxyZWFkeSBzdXBlcnNlZGVkIGl0LCBzbyBhIHN0YWxlIGZhaWx1cmUgY2FuJ3QgZGlzY2FyZCBhIG5ld2VyXG4gICAgICAgIC8vIGluLWZsaWdodCByZXNvbHV0aW9uLiBgaGFzUmVzb2x2ZWRPbmNlUmVmYCBpcyBpbnRlbnRpb25hbGx5IGxlZnQgc2V0LCBzbyByZXRyeWluZ1xuICAgICAgICAvLyBuZXZlciBmYWxscyBpbnRvIHRoZSBzZWVkZWQtYXRvbXMgYnJhbmNoIGFib3ZlLlxuICAgICAgICBjb25zdCBmYWlsZWRVcmwgPSBwYWdlVXJsPy50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICAgICAgaWYgKGZhaWxlZFVybCAmJiBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9PT0gZmFpbGVkVXJsKSB7XG4gICAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIGxvZ2dlci5sb2dFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcGFnZSBVUkwnLCBlLCB7IHBhZ2VVcmwgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXNvbHZlUGFnZVVybCgpO1xuICB9LCBbXG4gICAgcGFnZVVybCxcbiAgICB1cmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFVybFJlc29sdmVyUmVzcG9uc2UsXG4gICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcixcbiAgICB1c2VyRXZlbnQsXG4gICAgdmFyaWFudEluZm8sXG4gICAgcHJldmlld01vZGUsXG4gICAgb25VcmxSZXNvbHZlck5vdFJlYWR5LFxuICBdKTtcblxuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCByZXNvbHZlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IGhhc1BhcnNlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHBhZ2VWaWV3ZWRGaXJlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgfHwgaXNMb2FkaW5nIHx8ICFoYXNQYXJzZWRWYXJpYW50SW5mbyB8fCAhdmFyaWFudEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYWdlVmlld2VkQ29udGV4dCA9IGV4dHJhY3RQYWdlVmlld2VkQ29udGV4dCh2YXJpYW50SW5mbyk7XG4gICAgaWYgKCFwYWdlVmlld2VkQ29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50ID0gdHJ1ZTtcblxuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICdjb250ZXh0LnBhZ2VfdHlwZSc6IHBhZ2VWaWV3ZWRDb250ZXh0LnBhZ2VfdHlwZSxcbiAgICAgICAgJ2NvbnRleHQucGFnZV9pZCc6IHBhZ2VWaWV3ZWRDb250ZXh0LnBhZ2VfaWQsXG4gICAgICAgICdjb250ZXh0LnN1cHBvcnRlZCc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5yZWFkeSc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnOiByZXNvbHZlZFZhcmlhbnRJbmZvLnZhcmlhbnRJZCxcbiAgICAgICAgLi4uKGluaXRpYWxFbnZpdmVQbGFjZW1lbnQgPyB7ICdjb250ZXh0LmVudml2ZV9wbGFjZW1lbnQnOiBpbml0aWFsRW52aXZlUGxhY2VtZW50IH0gOiB7fSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzU3VwcG9ydGVkLFxuICAgIGhhc1BhcnNlZFZhcmlhbnRJbmZvLFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHJlc29sdmVkVmFyaWFudEluZm8sXG4gICAgdHJhY2tFdmVudCxcbiAgICBpbml0aWFsRW52aXZlUGxhY2VtZW50LFxuICBdKTtcblxuICBjb25zdCBzZXRQYWdlVXJsU3RhYmxlID0gdXNlQ2FsbGJhY2soKHVybDogc3RyaW5nKSA9PiB7XG4gICAgc2V0UGFnZVVybCh1cmwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwYWdlVXJsLFxuICAgICAgdmFyaWFudEluZm8sXG4gICAgICB1c2VyRXZlbnQsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICBpc1N1cHBvcnRlZCxcbiAgICAgIHNldFBhZ2VVcmw6IHNldFBhZ2VVcmxTdGFibGUsXG4gICAgfSksXG4gICAgW3BhZ2VVcmwsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIGlzTG9hZGluZywgaXNTdXBwb3J0ZWQsIHNldFBhZ2VVcmxTdGFibGVdLFxuICApO1xuXG4gIHJldHVybiA8UGFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9QYWdlQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoUGFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVBhZ2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFBhZ2VQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLE1BQU0sU0FBUyxJQUFJQSx1QkFBTyxjQUFjO0FBRXhDLE1BQU0sdUNBT0osT0FBVTtBQUVaLE1BQWFDLGdCQUtQLEVBQUUsVUFBVSxjQUFjLE9BQU8sNEJBQTRCO0NBQ2pFLE1BQU0sQ0FBQyxTQUFTLGtDQUEyQyxPQUFVO0NBSXJFLE1BQU0sQ0FBQyxvREFFSEMsNkJBQVUsT0FBTyxXQUFXLGNBQWMsT0FBTyxTQUFTLE9BQU8sR0FBRyxDQUFDLGlCQUFpQixJQUNwRixtQkFDRCxJQUFJLE9BQ1I7Q0FDRCxNQUFNLENBQUMscUJBQXFCLDZDQUFrQ0MsZ0NBQWdCO0NBQzlFLE1BQU0sQ0FBQyxXQUFXLG9DQUF5QixNQUFNO0NBQ2pELE1BQU0sQ0FBQyxhQUFhLHFDQUEwQkMsb0NBQW9CO0NBQ2xFLE1BQU0sQ0FBQyxXQUFXLG1DQUF3QkMsa0NBQWtCO0NBQzVELE1BQU0sQ0FBQyxhQUFhLHNDQUEyQixNQUFNO0NBQ3JELE1BQU0sdUNBQTJDLEtBQUs7Q0FLdEQsTUFBTSx1Q0FBMkMsS0FBSztDQUl0RCxNQUFNLHVDQUE0QixNQUFNO0FBRXhDLDRCQUFnQjtBQUNkLGFBQVcsT0FBTyxTQUFTLEtBQUs7SUFDL0IsRUFBRSxDQUFDO0FBR04sNEJBQWdCO0FBQ2QsTUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDLGFBQWE7R0FDN0MsTUFBTSxNQUFNLE9BQU8sV0FBVyxjQUFjLE9BQU8sU0FBUyxPQUFPO0FBQ25FLGdCQUFhO0lBQ1gsVUFBVTtJQUNWLDZC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
|
|
@@ -2,11 +2,13 @@ import logger_default from "../../application/logging/logger.js";
|
|
|
2
2
|
import { VariantTypeEnum } from "../../application/models/variantInfo/variantInfo.js";
|
|
3
3
|
import "../../application/models/index.js";
|
|
4
4
|
import { EnviveMetricsEventName } from "../../services/amplitudeService/eventNames.js";
|
|
5
|
+
import { parseHref } from "../../application/utils/urlsParser.js";
|
|
5
6
|
import { hasParsedVariantInfoAtom, pageUserEventAtom, pageVariantInfoAtom, urlResolverAtom, variantInfoAtom } from "../../atoms/app/variant.js";
|
|
6
7
|
import commerce_api_default from "../../application/commerce-api.js";
|
|
7
8
|
import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
|
|
8
9
|
import "../amplitudeContext/index.js";
|
|
9
10
|
import { mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo } from "./mapping.js";
|
|
11
|
+
import { extractPageViewedContext } from "./pageViewedContext.js";
|
|
10
12
|
import { PageVisitCategory, UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
11
13
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
12
14
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -17,6 +19,7 @@ const logger = new logger_default("pageContext");
|
|
|
17
19
|
const PageContext = createContext(void 0);
|
|
18
20
|
const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady }) => {
|
|
19
21
|
const [pageUrl, setPageUrl] = useState(void 0);
|
|
22
|
+
const [initialEnvivePlacement] = useState(() => parseHref(typeof window !== "undefined" ? window.location.href : "").urlSearchParams?.get("envive_placement") || void 0);
|
|
20
23
|
const [urlResolverResponse, setUrlResolverResponse] = useAtom(urlResolverAtom);
|
|
21
24
|
const [isLoading, setIsLoading] = useState(false);
|
|
22
25
|
const [variantInfo, setVariantInfo] = useAtom(pageVariantInfoAtom);
|
|
@@ -129,44 +132,18 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
|
|
|
129
132
|
const pageViewedFired = useRef(false);
|
|
130
133
|
useEffect(() => {
|
|
131
134
|
if (pageViewedFired.current || isLoading || !hasParsedVariantInfo || !variantInfo) return;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
switch (variantInfo.variantType) {
|
|
135
|
-
case VariantTypeEnum.Pdp:
|
|
136
|
-
pageType = "pdp";
|
|
137
|
-
pageId = variantInfo.productId;
|
|
138
|
-
break;
|
|
139
|
-
case VariantTypeEnum.Plp:
|
|
140
|
-
pageType = "plp";
|
|
141
|
-
pageId = variantInfo.plpId;
|
|
142
|
-
break;
|
|
143
|
-
case VariantTypeEnum.Home:
|
|
144
|
-
pageType = "homepage";
|
|
145
|
-
pageId = variantInfo.url;
|
|
146
|
-
break;
|
|
147
|
-
case VariantTypeEnum.Other:
|
|
148
|
-
pageType = "other";
|
|
149
|
-
pageId = variantInfo.url;
|
|
150
|
-
break;
|
|
151
|
-
case VariantTypeEnum.PageVisit:
|
|
152
|
-
pageType = "other";
|
|
153
|
-
pageId = variantInfo.url;
|
|
154
|
-
break;
|
|
155
|
-
case VariantTypeEnum.FullPageSalesAgent:
|
|
156
|
-
pageType = "adaptive_storefront";
|
|
157
|
-
pageId = variantInfo.url;
|
|
158
|
-
break;
|
|
159
|
-
default: return;
|
|
160
|
-
}
|
|
135
|
+
const pageViewedContext = extractPageViewedContext(variantInfo);
|
|
136
|
+
if (!pageViewedContext) return;
|
|
161
137
|
pageViewedFired.current = true;
|
|
162
138
|
trackEvent({
|
|
163
139
|
eventName: EnviveMetricsEventName.PageViewed,
|
|
164
140
|
eventProps: {
|
|
165
|
-
"context.page_type":
|
|
166
|
-
"context.page_id":
|
|
141
|
+
"context.page_type": pageViewedContext.page_type,
|
|
142
|
+
"context.page_id": pageViewedContext.page_id,
|
|
167
143
|
"context.supported": isSupported,
|
|
168
144
|
"context.ready": isSupported,
|
|
169
|
-
"context.page_variant_id": resolvedVariantInfo.variantId
|
|
145
|
+
"context.page_variant_id": resolvedVariantInfo.variantId,
|
|
146
|
+
...initialEnvivePlacement ? { "context.envive_placement": initialEnvivePlacement } : {}
|
|
170
147
|
}
|
|
171
148
|
});
|
|
172
149
|
}, [
|
|
@@ -175,7 +152,8 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
|
|
|
175
152
|
hasParsedVariantInfo,
|
|
176
153
|
variantInfo,
|
|
177
154
|
resolvedVariantInfo,
|
|
178
|
-
trackEvent
|
|
155
|
+
trackEvent,
|
|
156
|
+
initialEnvivePlacement
|
|
179
157
|
]);
|
|
180
158
|
const setPageUrlStable = useCallback((url) => {
|
|
181
159
|
setPageUrl(url);
|
|
@@ -208,4 +186,4 @@ const usePage = () => {
|
|
|
208
186
|
|
|
209
187
|
//#endregion
|
|
210
188
|
export { PageProvider, usePage };
|
|
211
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvcGFnZUNvbnRleHQvcGFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlYWN0Tm9kZSxcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tLFxuICBwYWdlVXNlckV2ZW50QXRvbSxcbiAgcGFnZVZhcmlhbnRJbmZvQXRvbSxcbiAgdXJsUmVzb2x2ZXJBdG9tLFxuICB2YXJpYW50SW5mb0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBWYXJpYW50VHlwZUVudW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCBDb21tZXJjZUFwaUNsaWVudCBmcm9tICdzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5LCBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5pbXBvcnQgeyBtYXBBcGlVc2VyRXZlbnRUb1VzZXJFdmVudCwgbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8gfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgUGFnZURldGFpbHMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcigncGFnZUNvbnRleHQnKTtcblxuY29uc3QgUGFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFxuICB8IChQYWdlRGV0YWlscyAmIHtcbiAgICAgIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgICAgIGlzU3VwcG9ydGVkOiBib29sZWFuO1xuICAgICAgc2V0UGFnZVVybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIH0pXG4gIHwgdW5kZWZpbmVkXG4+KHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+ID0gKHsgY2hpbGRyZW4sIHByZXZpZXdNb2RlID0gZmFsc2UsIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSB9KSA9PiB7XG4gIGNvbnN0IFtwYWdlVXJsLCBzZXRQYWdlVXJsXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgY29uc3QgW3VybFJlc29sdmVyUmVzcG9uc2UsIHNldFVybFJlc29sdmVyUmVzcG9uc2VdID0gdXNlQXRvbSh1cmxSZXNvbHZlckF0b20pO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbdmFyaWFudEluZm8sIHNldFZhcmlhbnRJbmZvXSA9IHVzZUF0b20ocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IFt1c2VyRXZlbnQsIHNldFVzZXJFdmVudF0gPSB1c2VBdG9tKHBhZ2VVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzU3VwcG9ydGVkLCBzZXRJc1N1cHBvcnRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGxhc3ROb3RSZWFkeVVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgLy8gVHJhY2tzIHRoZSBsYXN0IFVSTCB3ZSByYW4gdGhyb3VnaCB0aGUgcmVzb2x2ZXIgKGRlZHVwZSBrZXkpLiBMZXRzIHVzIHJlLXJlc29sdmUgd2hlbiB0aGVcbiAgLy8gcGFnZSBVUkwgY2hhbmdlcyBjbGllbnQtc2lkZSAoZS5nLiBhIFBEUCBjb2xvci92YXJpYW50IHN3YXAgdGhhdCBwdXNoZXMgYSBuZXcgVVJMIHdpdGhvdXRcbiAgLy8gYSBmdWxsIHJlbG9hZCkgaW5zdGVhZCBvZiBzaG9ydC1jaXJjdWl0aW5nIG9uIHRoZSBzdGFsZSB2YXJpYW50L3VzZXJFdmVudCBhdG9tcy4gQ2xlYXJlZFxuICAvLyBvbiBmYWlsdXJlIHNvIHRoZSBVUkwgY2FuIGJlIHJldHJpZWQuXG4gIGNvbnN0IGxhc3RSZXNvbHZlZFVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgLy8gV2hldGhlciB3ZSBoYXZlIGV2ZXIgZHJpdmVuIGEgcmVzb2x1dGlvbiBvdXJzZWx2ZXMuIEtlcHQgc2VwYXJhdGUgZnJvbVxuICAvLyBgbGFzdFJlc29sdmVkVXJsUmVmYCAod2hpY2ggYSBmYWlsdXJlIGNsZWFycykgc28gYSBmYWlsZWQgcmVzb2x2ZSBjYW4gcmV0cnkgd2l0aG91dCB0aGVcbiAgLy8gbmV4dCBuYXZpZ2F0aW9uIG1pc3JlYWRpbmcgaXQgYXMgXCJhdG9tcyB3ZXJlIHNlZWRlZCBleHRlcm5hbGx5XCIgYW5kIHNraXBwaW5nIHRoZSBBUEkgY2FsbC5cbiAgY29uc3QgaGFzUmVzb2x2ZWRPbmNlUmVmID0gdXNlUmVmKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFBhZ2VVcmwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICB9LCBbXSk7XG5cbiAgLy8gQXV0by1pbml0aWFsaXplIGF0b21zIGZvciBwcmV2aWV3IG1vZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJldmlld01vZGUgJiYgIXVzZXJFdmVudCAmJiAhdmFyaWFudEluZm8pIHtcbiAgICAgIGNvbnN0IHVybCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJztcbiAgICAgIHNldFVzZXJFdmVudCh7XG4gICAgICAgIGV2ZW50X2lkOiAncHJldmlldy11c2VyLWV2ZW50JyxcbiAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcGFnZV92aXNpdF9jYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkuT3RoZXIsXG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICBzZXRWYXJpYW50SW5mbyh7XG4gICAgICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0LFxuICAgICAgICB1cmwsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcmV2aWV3TW9kZSwgdXNlckV2ZW50LCB2YXJpYW50SW5mbywgc2V0VXNlckV2ZW50LCBzZXRWYXJpYW50SW5mb10pO1xuXG4gIGNvbnN0IHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAodXJsOiBzdHJpbmcsIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgY29uc3QgbmV3VmFyaWFudEluZm8gPSBtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyh1cmwsIHJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgbmV3VXNlckV2ZW50ID0gbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQocmVzcG9uc2UudXNlcl9ldmVudCA/PyB1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldHRpbmcgdmFyaWFudCBpbmZvIGFuZCB1c2VyIGV2ZW50JywgeyBuZXdWYXJpYW50SW5mbywgbmV3VXNlckV2ZW50IH0pO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyhuZXdWYXJpYW50SW5mbyk7XG4gICAgICAgIHNldFVzZXJFdmVudChuZXdVc2VyRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VXNlckV2ZW50KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldFZhcmlhbnRJbmZvKHVuZGVmaW5lZCk7XG4gICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2V0IHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCB0byB1bmRlZmluZWQnLCB7IHZhcmlhbnRJbmZvLCB1c2VyRXZlbnQgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0VmFyaWFudEluZm8sIHNldFVzZXJFdmVudF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZXNvbHZlUGFnZVVybCA9IGFzeW5jICgpID0+IHtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghcGFnZVVybCkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xlYW5zZWRVcmwgPSBwYWdlVXJsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gICAgICAgIC8vIFJlLXJlc29sdmUgd2hlbiB0aGUgVVJMIGNoYW5nZXMgc28gYSBjbGllbnQtc2lkZSBQRFAgdmFyaWFudCBzd2FwIGZvbGxvd3MgdG8gdGhlIG5ld1xuICAgICAgICAvLyBwcm9kdWN0LlxuICAgICAgICAvL1xuICAgICAgICAvLyBBbHJlYWR5IHJlc29sdmVkIHRoaXMgZXhhY3QgVVJMIOKAlCBndWFyZHMgYWdhaW5zdCB0aGUgZWZmZWN0IHJlLXJ1bm5pbmcgb25jZSB0aGVcbiAgICAgICAgLy8gcmVzb2x2ZXIgd3JpdGVzIHRoZSB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyAodGhleSBhcmUgZWZmZWN0IGRlcGVuZGVuY2llcykuXG4gICAgICAgIGlmIChsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9PT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBJbiBwcmV2aWV3IG1vZGUsIG9yIHdoZW4gdGhlIGF0b21zIHdlcmUgc2VlZGVkIGV4dGVybmFsbHkgKGUuZy4gYnkgc3Rvcnlib29rKVxuICAgICAgICAvLyBiZWZvcmUgd2Ugb3Vyc2VsdmVzIHJlc29sdmVkIGFueXRoaW5nLCBob25vciB0aG9zZSBhdG9tcyBhbmQgc2tpcCB0aGUgQVBJIGNhbGwuXG4gICAgICAgIC8vIE9uY2Ugd2UgaGF2ZSByZXNvbHZlZCBhdCBsZWFzdCBvbmNlIChgaGFzUmVzb2x2ZWRPbmNlUmVmYCksIGEgY2hhbmdlZCBVUkwgc2hvdWxkXG4gICAgICAgIC8vIHJlLXJlc29sdmUgZXZlbiB0aG91Z2ggdGhlIHByZXZpb3VzIHZhcmlhbnQvdXNlckV2ZW50IGF0b21zIGFyZSBzZXQuXG4gICAgICAgIGlmIChwcmV2aWV3TW9kZSB8fCAoKHVzZXJFdmVudCB8fCB2YXJpYW50SW5mbykgJiYgIWhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50KSkge1xuICAgICAgICAgIGhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdXJsUmVzb2x2ZXJSZXNwb25zZVtjbGVhbnNlZFVybF0gPz9cbiAgICAgICAgICAoKGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwoY2xlYW5zZWRVcmwpKSBhcyBVcmxSZXNvbHZlclJlc3BvbnNlKTtcblxuICAgICAgICAvLyBBIG5ld2VyIG5hdmlnYXRpb24gc3RhcnRlZCByZXNvbHZpbmcgd2hpbGUgd2UgYXdhaXRlZCAoZS5nLiB0aGUgc2hvcHBlciBjbGlja2VkXG4gICAgICAgIC8vIHRocm91Z2ggc2V2ZXJhbCB2YXJpYW50IHN3YXRjaGVzIHF1aWNrbHkpLiBEcm9wIHRoaXMgbm93LXN0YWxlIHJlc3BvbnNlIHNvIGFuXG4gICAgICAgIC8vIG91dC1vZi1vcmRlciByZXNvbHV0aW9uIGNhbid0IG92ZXJ3cml0ZSB0aGUgbGF0ZXN0IHZhcmlhbnQuIERvIE5PVCBjbGVhciBpc0xvYWRpbmdcbiAgICAgICAgLy8gaGVyZTogdGhlIG5ld2VyIGluLWZsaWdodCByZXF1ZXN0IG93bnMgdGhlIGxvYWRpbmcgc3RhdGUsIGFuZCBjbGVhcmluZyBpdCB3b3VsZFxuICAgICAgICAvLyBvcGVuIGEgd2luZG93IHdoZXJlIGlzTG9hZGluZz1mYWxzZSB3aGlsZSB2YXJpYW50SW5mby9pc1N1cHBvcnRlZCBzdGlsbCBiZWxvbmcgdG9cbiAgICAgICAgLy8gdGhlIHByZXZpb3VzIHByb2R1Y3QgKGNhdXNpbmcgd2lkZ2V0IGZsYXNoZXMgYW5kIGEgZmlyZS1vbmNlIHN1Y2Nlc3MgcmVmIOKAlCBzZWVcbiAgICAgICAgLy8gV2lkZ2V0cy50c3gg4oCUIHRvIGxhdGNoIG9udG8gdGhlIHdyb25nIHByb2R1Y3QncyBzdGF0ZSkuXG4gICAgICAgIGlmIChsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyKGNsZWFuc2VkVXJsLCByZXNwb25zZSk7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIHNldElzU3VwcG9ydGVkKHJlc3BvbnNlLnJlYWR5KTtcblxuICAgICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAob25VcmxSZXNvbHZlck5vdFJlYWR5ICYmIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ICE9PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG4gICAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKGBVUkwgcmVzb2x2ZXIgcmV0dXJuZWQgcmVhZHk9ZmFsc2UgZm9yICR7Y2xlYW5zZWRVcmx9YCk7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeShlcnIpKS5jYXRjaChjYWxsYmFja0Vycm9yID0+IHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnb25VcmxSZXNvbHZlck5vdFJlYWR5IGNhbGxiYWNrIGZhaWxlZCcsIGNhbGxiYWNrRXJyb3IpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIEFsbG93IHRoaXMgVVJMIHRvIGJlIHJldHJpZWQgb24gYSBzdWJzZXF1ZW50IHRyaWdnZXIg4oCUIGJ1dCBvbmx5IGlmIGEgbmV3ZXJcbiAgICAgICAgLy8gbmF2aWdhdGlvbiBoYXNuJ3QgYWxyZWFkeSBzdXBlcnNlZGVkIGl0LCBzbyBhIHN0YWxlIGZhaWx1cmUgY2FuJ3QgZGlzY2FyZCBhIG5ld2VyXG4gICAgICAgIC8vIGluLWZsaWdodCByZXNvbHV0aW9uLiBgaGFzUmVzb2x2ZWRPbmNlUmVmYCBpcyBpbnRlbnRpb25hbGx5IGxlZnQgc2V0LCBzbyByZXRyeWluZ1xuICAgICAgICAvLyBuZXZlciBmYWxscyBpbnRvIHRoZSBzZWVkZWQtYXRvbXMgYnJhbmNoIGFib3ZlLlxuICAgICAgICBjb25zdCBmYWlsZWRVcmwgPSBwYWdlVXJsPy50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICAgICAgaWYgKGZhaWxlZFVybCAmJiBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9PT0gZmFpbGVkVXJsKSB7XG4gICAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIGxvZ2dlci5sb2dFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcGFnZSBVUkwnLCBlLCB7IHBhZ2VVcmwgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXNvbHZlUGFnZVVybCgpO1xuICB9LCBbXG4gICAgcGFnZVVybCxcbiAgICB1cmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFVybFJlc29sdmVyUmVzcG9uc2UsXG4gICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcixcbiAgICB1c2VyRXZlbnQsXG4gICAgdmFyaWFudEluZm8sXG4gICAgcHJldmlld01vZGUsXG4gICAgb25VcmxSZXNvbHZlck5vdFJlYWR5LFxuICBdKTtcblxuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCByZXNvbHZlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IGhhc1BhcnNlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHBhZ2VWaWV3ZWRGaXJlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgfHwgaXNMb2FkaW5nIHx8ICFoYXNQYXJzZWRWYXJpYW50SW5mbyB8fCAhdmFyaWFudEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcGFnZVR5cGU6IHN0cmluZztcbiAgICBsZXQgcGFnZUlkOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKHZhcmlhbnRJbmZvLnZhcmlhbnRUeXBlKSB7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QZHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BkcCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnByb2R1Y3RJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QbHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BscCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnBscElkO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkhvbWU6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2hvbWVwYWdlJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLk90aGVyOlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ290aGVyJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkZ1bGxQYWdlU2FsZXNBZ2VudDpcbiAgICAgICAgcGFnZVR5cGUgPSAnYWRhcHRpdmVfc3RvcmVmcm9udCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuUGFnZVZpZXdlZCxcbiAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgJ2NvbnRleHQucGFnZV90eXBlJzogcGFnZVR5cGUsXG4gICAgICAgICdjb250ZXh0LnBhZ2VfaWQnOiBwYWdlSWQsXG4gICAgICAgICdjb250ZXh0LnN1cHBvcnRlZCc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5yZWFkeSc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnOiByZXNvbHZlZFZhcmlhbnRJbmZvLnZhcmlhbnRJZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBoYXNQYXJzZWRWYXJpYW50SW5mbywgdmFyaWFudEluZm8sIHJlc29sdmVkVmFyaWFudEluZm8sIHRyYWNrRXZlbnRdKTtcblxuICBjb25zdCBzZXRQYWdlVXJsU3RhYmxlID0gdXNlQ2FsbGJhY2soKHVybDogc3RyaW5nKSA9PiB7XG4gICAgc2V0UGFnZVVybCh1cmwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwYWdlVXJsLFxuICAgICAgdmFyaWFudEluZm8sXG4gICAgICB1c2VyRXZlbnQsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICBpc1N1cHBvcnRlZCxcbiAgICAgIHNldFBhZ2VVcmw6IHNldFBhZ2VVcmxTdGFibGUsXG4gICAgfSksXG4gICAgW3BhZ2VVcmwsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIGlzTG9hZGluZywgaXNTdXBwb3J0ZWQsIHNldFBhZ2VVcmxTdGFibGVdLFxuICApO1xuXG4gIHJldHVybiA8UGFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9QYWdlQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoUGFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVBhZ2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFBhZ2VQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLE1BQU0sU0FBUyxJQUFJQSxlQUFPLGNBQWM7QUFFeEMsTUFBTSxjQUFjLGNBT2xCLE9BQVU7QUFFWixNQUFhQyxnQkFLUCxFQUFFLFVBQVUsY0FBYyxPQUFPLDRCQUE0QjtDQUNqRSxNQUFNLENBQUMsU0FBUyxj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
|
|
189
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+IiwiQ29tbWVyY2VBcGlDbGllbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvcGFnZUNvbnRleHQvcGFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlYWN0Tm9kZSxcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tLFxuICBwYWdlVXNlckV2ZW50QXRvbSxcbiAgcGFnZVZhcmlhbnRJbmZvQXRvbSxcbiAgdXJsUmVzb2x2ZXJBdG9tLFxuICB2YXJpYW50SW5mb0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBWYXJpYW50VHlwZUVudW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCBDb21tZXJjZUFwaUNsaWVudCBmcm9tICdzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IHBhcnNlSHJlZiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscy91cmxzUGFyc2VyJztcbmltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5LCBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5pbXBvcnQgeyBtYXBBcGlVc2VyRXZlbnRUb1VzZXJFdmVudCwgbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8gfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgZXh0cmFjdFBhZ2VWaWV3ZWRDb250ZXh0IH0gZnJvbSAnLi9wYWdlVmlld2VkQ29udGV4dCc7XG5pbXBvcnQgeyBQYWdlRGV0YWlscyB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdwYWdlQ29udGV4dCcpO1xuXG5jb25zdCBQYWdlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8XG4gIHwgKFBhZ2VEZXRhaWxzICYge1xuICAgICAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAgICAgaXNTdXBwb3J0ZWQ6IGJvb2xlYW47XG4gICAgICBzZXRQYWdlVXJsOiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgfSlcbiAgfCB1bmRlZmluZWRcbj4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IFBhZ2VQcm92aWRlcjogUmVhY3QuRkM8e1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBwcmV2aWV3TW9kZTogYm9vbGVhbjtcbiAgLyoqIFdoZW4gVVJMIHJlc29sdmVyIHJldHVybnMgYHJlYWR5OiBmYWxzZWAsIGludm9rZWQgZm9yIGV4dGVuc2lvbi9pbmplY3Rpb24gZmFpbHVyZSByZXBvcnRpbmcuICovXG4gIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeT86IChlcnJvcjogRXJyb3IpID0+IFByb21pc2U8dW5rbm93bj4gfCB2b2lkO1xufT4gPSAoeyBjaGlsZHJlbiwgcHJldmlld01vZGUgPSBmYWxzZSwgb25VcmxSZXNvbHZlck5vdFJlYWR5IH0pID0+IHtcbiAgY29uc3QgW3BhZ2VVcmwsIHNldFBhZ2VVcmxdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAvLyBNZXJjaGFudC10YWdnZWQgb24tc2l0ZSBwbGFjZW1lbnQgKD9lbnZpdmVfcGxhY2VtZW50PeKApikgZm9yIGVudHJ5LXNvdXJjZSBhdHRyaWJ1dGlvbixcbiAgLy8gY2FwdHVyZWQgb24gZmlyc3QgcmVuZGVyOiB0aGVtZS9jb25zZW50IHNjcmlwdHMgY2FuIHJld3JpdGUgdGhlIFVSTCAocmVwbGFjZVN0YXRlKSBiZWZvcmVcbiAgLy8gdGhlIFBhZ2UgVmlld2VkIGV2ZW50IGZpcmVzIGFmdGVyIFVSTCByZXNvbHV0aW9uLiBFbXB0eS9hYnNlbnQg4oaSIHVuZGVmaW5lZCAoa2V5IG9taXR0ZWQpLlxuICBjb25zdCBbaW5pdGlhbEVudml2ZVBsYWNlbWVudF0gPSB1c2VTdGF0ZShcbiAgICAoKSA9PlxuICAgICAgcGFyc2VIcmVmKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJykudXJsU2VhcmNoUGFyYW1zPy5nZXQoXG4gICAgICAgICdlbnZpdmVfcGxhY2VtZW50JyxcbiAgICAgICkgfHwgdW5kZWZpbmVkLFxuICApO1xuICBjb25zdCBbdXJsUmVzb2x2ZXJSZXNwb25zZSwgc2V0VXJsUmVzb2x2ZXJSZXNwb25zZV0gPSB1c2VBdG9tKHVybFJlc29sdmVyQXRvbSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFt2YXJpYW50SW5mbywgc2V0VmFyaWFudEluZm9dID0gdXNlQXRvbShwYWdlVmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgW3VzZXJFdmVudCwgc2V0VXNlckV2ZW50XSA9IHVzZUF0b20ocGFnZVVzZXJFdmVudEF0b20pO1xuICBjb25zdCBbaXNTdXBwb3J0ZWQsIHNldElzU3VwcG9ydGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgbGFzdE5vdFJlYWR5VXJsUmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAvLyBUcmFja3MgdGhlIGxhc3QgVVJMIHdlIHJhbiB0aHJvdWdoIHRoZSByZXNvbHZlciAoZGVkdXBlIGtleSkuIExldHMgdXMgcmUtcmVzb2x2ZSB3aGVuIHRoZVxuICAvLyBwYWdlIFVSTCBjaGFuZ2VzIGNsaWVudC1zaWRlIChlLmcuIGEgUERQIGNvbG9yL3ZhcmlhbnQgc3dhcCB0aGF0IHB1c2hlcyBhIG5ldyBVUkwgd2l0aG91dFxuICAvLyBhIGZ1bGwgcmVsb2FkKSBpbnN0ZWFkIG9mIHNob3J0LWNpcmN1aXRpbmcgb24gdGhlIHN0YWxlIHZhcmlhbnQvdXNlckV2ZW50IGF0b21zLiBDbGVhcmVkXG4gIC8vIG9uIGZhaWx1cmUgc28gdGhlIFVSTCBjYW4gYmUgcmV0cmllZC5cbiAgY29uc3QgbGFzdFJlc29sdmVkVXJsUmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAvLyBXaGV0aGVyIHdlIGhhdmUgZXZlciBkcml2ZW4gYSByZXNvbHV0aW9uIG91cnNlbHZlcy4gS2VwdCBzZXBhcmF0ZSBmcm9tXG4gIC8vIGBsYXN0UmVzb2x2ZWRVcmxSZWZgICh3aGljaCBhIGZhaWx1cmUgY2xlYXJzKSBzbyBhIGZhaWxlZCByZXNvbHZlIGNhbiByZXRyeSB3aXRob3V0IHRoZVxuICAvLyBuZXh0IG5hdmlnYXRpb24gbWlzcmVhZGluZyBpdCBhcyBcImF0b21zIHdlcmUgc2VlZGVkIGV4dGVybmFsbHlcIiBhbmQgc2tpcHBpbmcgdGhlIEFQSSBjYWxsLlxuICBjb25zdCBoYXNSZXNvbHZlZE9uY2VSZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UGFnZVVybCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gIH0sIFtdKTtcblxuICAvLyBBdXRvLWluaXRpYWxpemUgYXRvbXMgZm9yIHByZXZpZXcgbW9kZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcmV2aWV3TW9kZSAmJiAhdXNlckV2ZW50ICYmICF2YXJpYW50SW5mbykge1xuICAgICAgY29uc3QgdXJsID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cubG9jYXRpb24uaHJlZiA6ICcnO1xuICAgICAgc2V0VXNlckV2ZW50KHtcbiAgICAgICAgZXZlbnRfaWQ6ICdwcmV2aWV3LXVzZXItZXZlbnQnLFxuICAgICAgICBjcmVhdGVkX2F0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBwYWdlX3Zpc2l0X2NhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeS5PdGhlcixcbiAgICAgICAgICB1cmwsXG4gICAgICAgIH0sXG4gICAgICB9IGFzIGFueSk7XG5cbiAgICAgIHNldFZhcmlhbnRJbmZvKHtcbiAgICAgICAgdmFyaWFudFR5cGU6IFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQsXG4gICAgICAgIHVybCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3ByZXZpZXdNb2RlLCB1c2VyRXZlbnQsIHZhcmlhbnRJbmZvLCBzZXRVc2VyRXZlbnQsIHNldFZhcmlhbnRJbmZvXSk7XG5cbiAgY29uc3Qgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlciA9IHVzZUNhbGxiYWNrKFxuICAgICh1cmw6IHN0cmluZywgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2UpID0+IHtcbiAgICAgIGlmIChyZXNwb25zZS5yZWFkeSkge1xuICAgICAgICBjb25zdCBuZXdWYXJpYW50SW5mbyA9IG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvKHVybCwgcmVzcG9uc2UpO1xuICAgICAgICBjb25zdCBuZXdVc2VyRXZlbnQgPSBtYXBBcGlVc2VyRXZlbnRUb1VzZXJFdmVudChyZXNwb25zZS51c2VyX2V2ZW50ID8/IHVuZGVmaW5lZCk7XG4gICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2V0dGluZyB2YXJpYW50IGluZm8gYW5kIHVzZXIgZXZlbnQnLCB7IG5ld1ZhcmlhbnRJbmZvLCBuZXdVc2VyRXZlbnQgfSk7XG4gICAgICAgIHNldFZhcmlhbnRJbmZvKG5ld1ZhcmlhbnRJbmZvKTtcbiAgICAgICAgc2V0VXNlckV2ZW50KG5ld1VzZXJFdmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRVc2VyRXZlbnQodW5kZWZpbmVkKTtcbiAgICAgICAgc2V0VmFyaWFudEluZm8odW5kZWZpbmVkKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdzZXQgdmFyaWFudCBpbmZvIGFuZCB1c2VyIGV2ZW50IHRvIHVuZGVmaW5lZCcsIHsgdmFyaWFudEluZm8sIHVzZXJFdmVudCB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRWYXJpYW50SW5mbywgc2V0VXNlckV2ZW50XSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVQYWdlVXJsID0gYXN5bmMgKCkgPT4ge1xuICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKCFwYWdlVXJsKSB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGVhbnNlZFVybCA9IHBhZ2VVcmwudG9Mb3dlckNhc2UoKS50cmltKCk7XG5cbiAgICAgICAgLy8gUmUtcmVzb2x2ZSB3aGVuIHRoZSBVUkwgY2hhbmdlcyBzbyBhIGNsaWVudC1zaWRlIFBEUCB2YXJpYW50IHN3YXAgZm9sbG93cyB0byB0aGUgbmV3XG4gICAgICAgIC8vIHByb2R1Y3QuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIEFscmVhZHkgcmVzb2x2ZWQgdGhpcyBleGFjdCBVUkwg4oCUIGd1YXJkcyBhZ2FpbnN0IHRoZSBlZmZlY3QgcmUtcnVubmluZyBvbmNlIHRoZVxuICAgICAgICAvLyByZXNvbHZlciB3cml0ZXMgdGhlIHZhcmlhbnQvdXNlckV2ZW50IGF0b21zICh0aGV5IGFyZSBlZmZlY3QgZGVwZW5kZW5jaWVzKS5cbiAgICAgICAgaWYgKGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID09PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEluIHByZXZpZXcgbW9kZSwgb3Igd2hlbiB0aGUgYXRvbXMgd2VyZSBzZWVkZWQgZXh0ZXJuYWxseSAoZS5nLiBieSBzdG9yeWJvb2spXG4gICAgICAgIC8vIGJlZm9yZSB3ZSBvdXJzZWx2ZXMgcmVzb2x2ZWQgYW55dGhpbmcsIGhvbm9yIHRob3NlIGF0b21zIGFuZCBza2lwIHRoZSBBUEkgY2FsbC5cbiAgICAgICAgLy8gT25jZSB3ZSBoYXZlIHJlc29sdmVkIGF0IGxlYXN0IG9uY2UgKGBoYXNSZXNvbHZlZE9uY2VSZWZgKSwgYSBjaGFuZ2VkIFVSTCBzaG91bGRcbiAgICAgICAgLy8gcmUtcmVzb2x2ZSBldmVuIHRob3VnaCB0aGUgcHJldmlvdXMgdmFyaWFudC91c2VyRXZlbnQgYXRvbXMgYXJlIHNldC5cbiAgICAgICAgaWYgKHByZXZpZXdNb2RlIHx8ICgodXNlckV2ZW50IHx8IHZhcmlhbnRJbmZvKSAmJiAhaGFzUmVzb2x2ZWRPbmNlUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgICAgaGFzUmVzb2x2ZWRPbmNlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaGFzUmVzb2x2ZWRPbmNlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID1cbiAgICAgICAgICB1cmxSZXNvbHZlclJlc3BvbnNlW2NsZWFuc2VkVXJsXSA/P1xuICAgICAgICAgICgoYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQucmVzb2x2ZVVybChjbGVhbnNlZFVybCkpIGFzIFVybFJlc29sdmVyUmVzcG9uc2UpO1xuXG4gICAgICAgIC8vIEEgbmV3ZXIgbmF2aWdhdGlvbiBzdGFydGVkIHJlc29sdmluZyB3aGlsZSB3ZSBhd2FpdGVkIChlLmcuIHRoZSBzaG9wcGVyIGNsaWNrZWRcbiAgICAgICAgLy8gdGhyb3VnaCBzZXZlcmFsIHZhcmlhbnQgc3dhdGNoZXMgcXVpY2tseSkuIERyb3AgdGhpcyBub3ctc3RhbGUgcmVzcG9uc2Ugc28gYW5cbiAgICAgICAgLy8gb3V0LW9mLW9yZGVyIHJlc29sdXRpb24gY2FuJ3Qgb3ZlcndyaXRlIHRoZSBsYXRlc3QgdmFyaWFudC4gRG8gTk9UIGNsZWFyIGlzTG9hZGluZ1xuICAgICAgICAvLyBoZXJlOiB0aGUgbmV3ZXIgaW4tZmxpZ2h0IHJlcXVlc3Qgb3ducyB0aGUgbG9hZGluZyBzdGF0ZSwgYW5kIGNsZWFyaW5nIGl0IHdvdWxkXG4gICAgICAgIC8vIG9wZW4gYSB3aW5kb3cgd2hlcmUgaXNMb2FkaW5nPWZhbHNlIHdoaWxlIHZhcmlhbnRJbmZvL2lzU3VwcG9ydGVkIHN0aWxsIGJlbG9uZyB0b1xuICAgICAgICAvLyB0aGUgcHJldmlvdXMgcHJvZHVjdCAoY2F1c2luZyB3aWRnZXQgZmxhc2hlcyBhbmQgYSBmaXJlLW9uY2Ugc3VjY2VzcyByZWYg4oCUIHNlZVxuICAgICAgICAvLyBXaWRnZXRzLnRzeCDigJQgdG8gbGF0Y2ggb250byB0aGUgd3JvbmcgcHJvZHVjdCdzIHN0YXRlKS5cbiAgICAgICAgaWYgKGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ICE9PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIoY2xlYW5zZWRVcmwsIHJlc3BvbnNlKTtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgc2V0SXNTdXBwb3J0ZWQocmVzcG9uc2UucmVhZHkpO1xuXG4gICAgICAgIGlmIChyZXNwb25zZS5yZWFkeSkge1xuICAgICAgICAgIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmIChvblVybFJlc29sdmVyTm90UmVhZHkgJiYgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgIT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcbiAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoYFVSTCByZXNvbHZlciByZXR1cm5lZCByZWFkeT1mYWxzZSBmb3IgJHtjbGVhbnNlZFVybH1gKTtcbiAgICAgICAgICBQcm9taXNlLnJlc29sdmUob25VcmxSZXNvbHZlck5vdFJlYWR5KGVycikpLmNhdGNoKGNhbGxiYWNrRXJyb3IgPT4ge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdvblVybFJlc29sdmVyTm90UmVhZHkgY2FsbGJhY2sgZmFpbGVkJywgY2FsbGJhY2tFcnJvcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gQWxsb3cgdGhpcyBVUkwgdG8gYmUgcmV0cmllZCBvbiBhIHN1YnNlcXVlbnQgdHJpZ2dlciDigJQgYnV0IG9ubHkgaWYgYSBuZXdlclxuICAgICAgICAvLyBuYXZpZ2F0aW9uIGhhc24ndCBhbHJlYWR5IHN1cGVyc2VkZWQgaXQsIHNvIGEgc3RhbGUgZmFpbHVyZSBjYW4ndCBkaXNjYXJkIGEgbmV3ZXJcbiAgICAgICAgLy8gaW4tZmxpZ2h0IHJlc29sdXRpb24uIGBoYXNSZXNvbHZlZE9uY2VSZWZgIGlzIGludGVudGlvbmFsbHkgbGVmdCBzZXQsIHNvIHJldHJ5aW5nXG4gICAgICAgIC8vIG5ldmVyIGZhbGxzIGludG8gdGhlIHNlZWRlZC1hdG9tcyBicmFuY2ggYWJvdmUuXG4gICAgICAgIGNvbnN0IGZhaWxlZFVybCA9IHBhZ2VVcmw/LnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgICBpZiAoZmFpbGVkVXJsICYmIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID09PSBmYWlsZWRVcmwpIHtcbiAgICAgICAgICBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0Vycm9yKCdGYWlsZWQgdG8gcmVzb2x2ZSBwYWdlIFVSTCcsIGUsIHsgcGFnZVVybCB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJlc29sdmVQYWdlVXJsKCk7XG4gIH0sIFtcbiAgICBwYWdlVXJsLFxuICAgIHVybFJlc29sdmVyUmVzcG9uc2UsXG4gICAgc2V0VXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgICBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyLFxuICAgIHVzZXJFdmVudCxcbiAgICB2YXJpYW50SW5mbyxcbiAgICBwcmV2aWV3TW9kZSxcbiAgICBvblVybFJlc29sdmVyTm90UmVhZHksXG4gIF0pO1xuXG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG4gIGNvbnN0IHJlc29sdmVkVmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUodmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgaGFzUGFyc2VkVmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUoaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgcGFnZVZpZXdlZEZpcmVkID0gdXNlUmVmKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwYWdlVmlld2VkRmlyZWQuY3VycmVudCB8fCBpc0xvYWRpbmcgfHwgIWhhc1BhcnNlZFZhcmlhbnRJbmZvIHx8ICF2YXJpYW50SW5mbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhZ2VWaWV3ZWRDb250ZXh0ID0gZXh0cmFjdFBhZ2VWaWV3ZWRDb250ZXh0KHZhcmlhbnRJbmZvKTtcbiAgICBpZiAoIXBhZ2VWaWV3ZWRDb250ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuUGFnZVZpZXdlZCxcbiAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgJ2NvbnRleHQucGFnZV90eXBlJzogcGFnZVZpZXdlZENvbnRleHQucGFnZV90eXBlLFxuICAgICAgICAnY29udGV4dC5wYWdlX2lkJzogcGFnZVZpZXdlZENvbnRleHQucGFnZV9pZCxcbiAgICAgICAgJ2NvbnRleHQuc3VwcG9ydGVkJzogaXNTdXBwb3J0ZWQsXG4gICAgICAgICdjb250ZXh0LnJlYWR5JzogaXNTdXBwb3J0ZWQsXG4gICAgICAgICdjb250ZXh0LnBhZ2VfdmFyaWFudF9pZCc6IHJlc29sdmVkVmFyaWFudEluZm8udmFyaWFudElkLFxuICAgICAgICAuLi4oaW5pdGlhbEVudml2ZVBsYWNlbWVudCA/IHsgJ2NvbnRleHQuZW52aXZlX3BsYWNlbWVudCc6IGluaXRpYWxFbnZpdmVQbGFjZW1lbnQgfSA6IHt9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNTdXBwb3J0ZWQsXG4gICAgaGFzUGFyc2VkVmFyaWFudEluZm8sXG4gICAgdmFyaWFudEluZm8sXG4gICAgcmVzb2x2ZWRWYXJpYW50SW5mbyxcbiAgICB0cmFja0V2ZW50LFxuICAgIGluaXRpYWxFbnZpdmVQbGFjZW1lbnQsXG4gIF0pO1xuXG4gIGNvbnN0IHNldFBhZ2VVcmxTdGFibGUgPSB1c2VDYWxsYmFjaygodXJsOiBzdHJpbmcpID0+IHtcbiAgICBzZXRQYWdlVXJsKHVybCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHBhZ2VVcmwsXG4gICAgICB2YXJpYW50SW5mbyxcbiAgICAgIHVzZXJFdmVudCxcbiAgICAgIGlzTG9hZGluZyxcbiAgICAgIGlzU3VwcG9ydGVkLFxuICAgICAgc2V0UGFnZVVybDogc2V0UGFnZVVybFN0YWJsZSxcbiAgICB9KSxcbiAgICBbcGFnZVVybCwgdXNlckV2ZW50LCB2YXJpYW50SW5mbywgaXNMb2FkaW5nLCBpc1N1cHBvcnRlZCwgc2V0UGFnZVVybFN0YWJsZV0sXG4gICk7XG5cbiAgcmV0dXJuIDxQYWdlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L1BhZ2VDb250ZXh0LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VQYWdlID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChQYWdlQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlUGFnZSBtdXN0IGJlIHVzZWQgd2l0aGluIGEgUGFnZVByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQTZCQSxNQUFNLFNBQVMsSUFBSUEsZUFBTyxjQUFjO0FBRXhDLE1BQU0sY0FBYyxjQU9sQixPQUFVO0FB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
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const require_variantInfo = require('../../application/models/variantInfo/variantInfo.cjs');
|
|
2
|
+
require('../../application/models/index.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/contexts/pageContext/pageViewedContext.ts
|
|
5
|
+
/**
|
|
6
|
+
* Maps a resolved page variant to the `context.page_type` / `context.page_id` pair sent on
|
|
7
|
+
* [Envive] Page Viewed. Single source of truth for that mapping — returns null for variant
|
|
8
|
+
* types that don't emit the event.
|
|
9
|
+
*/
|
|
10
|
+
const extractPageViewedContext = (pageVariant) => {
|
|
11
|
+
switch (pageVariant.variantType) {
|
|
12
|
+
case require_variantInfo.VariantTypeEnum.Pdp: return {
|
|
13
|
+
page_type: "pdp",
|
|
14
|
+
page_id: pageVariant.productId
|
|
15
|
+
};
|
|
16
|
+
case require_variantInfo.VariantTypeEnum.Plp: return {
|
|
17
|
+
page_type: "plp",
|
|
18
|
+
page_id: pageVariant.plpId
|
|
19
|
+
};
|
|
20
|
+
case require_variantInfo.VariantTypeEnum.Home: return {
|
|
21
|
+
page_type: "homepage",
|
|
22
|
+
page_id: pageVariant.url
|
|
23
|
+
};
|
|
24
|
+
case require_variantInfo.VariantTypeEnum.Other: return {
|
|
25
|
+
page_type: "other",
|
|
26
|
+
page_id: pageVariant.url
|
|
27
|
+
};
|
|
28
|
+
case require_variantInfo.VariantTypeEnum.PageVisit: return {
|
|
29
|
+
page_type: "other",
|
|
30
|
+
page_id: pageVariant.url
|
|
31
|
+
};
|
|
32
|
+
case require_variantInfo.VariantTypeEnum.FullPageSalesAgent: return {
|
|
33
|
+
page_type: "adaptive_storefront",
|
|
34
|
+
page_id: pageVariant.url
|
|
35
|
+
};
|
|
36
|
+
default: return null;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
exports.extractPageViewedContext = extractPageViewedContext;
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZVZpZXdlZENvbnRleHQuY2pzIiwibmFtZXMiOlsiVmFyaWFudFR5cGVFbnVtIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VWaWV3ZWRDb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhcmlhbnRUeXBlRW51bSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgRnVsbFBhZ2VTYWxlc0FnZW50VmFyaWFudEluZm8sXG4gIEhvbWVWYXJpYW50SW5mbyxcbiAgT3RoZXJWYXJpYW50SW5mbyxcbiAgUERQUGFnZVZhcmlhbnRJbmZvLFxuICBQTFBQYWdlVmFyaWFudEluZm8sXG4gIFBhZ2VWYXJpYW50SW5mbyxcbiAgVmlzaXRQYWdlVmFyaWFudEluZm8sXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VWaWV3ZWRDb250ZXh0IHtcbiAgcGFnZV90eXBlOiBzdHJpbmc7XG4gIHBhZ2VfaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBNYXBzIGEgcmVzb2x2ZWQgcGFnZSB2YXJpYW50IHRvIHRoZSBgY29udGV4dC5wYWdlX3R5cGVgIC8gYGNvbnRleHQucGFnZV9pZGAgcGFpciBzZW50IG9uXG4gKiBbRW52aXZlXSBQYWdlIFZpZXdlZC4gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhhdCBtYXBwaW5nIOKAlCByZXR1cm5zIG51bGwgZm9yIHZhcmlhbnRcbiAqIHR5cGVzIHRoYXQgZG9uJ3QgZW1pdCB0aGUgZXZlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBleHRyYWN0UGFnZVZpZXdlZENvbnRleHQgPSAoXG4gIHBhZ2VWYXJpYW50OiBQYWdlVmFyaWFudEluZm8sXG4pOiBQYWdlVmlld2VkQ29udGV4dCB8IG51bGwgPT4ge1xuICBzd2l0Y2ggKHBhZ2VWYXJpYW50LnZhcmlhbnRUeXBlKSB7XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGRwOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFnZV90eXBlOiAncGRwJyxcbiAgICAgICAgcGFnZV9pZDogKHBhZ2VWYXJpYW50IGFzIFBEUFBhZ2VWYXJpYW50SW5mbykucHJvZHVjdElkLFxuICAgICAgfTtcbiAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QbHA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWdlX3R5cGU6ICdwbHAnLFxuICAgICAgICBwYWdlX2lkOiAocGFnZVZhcmlhbnQgYXMgUExQUGFnZVZhcmlhbnRJbmZvKS5wbHBJZCxcbiAgICAgIH07XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uSG9tZTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VfdHlwZTogJ2hvbWVwYWdlJyxcbiAgICAgICAgcGFnZV9pZDogKHBhZ2VWYXJpYW50IGFzIEhvbWVWYXJpYW50SW5mbykudXJsLFxuICAgICAgfTtcbiAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5PdGhlcjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VfdHlwZTogJ290aGVyJyxcbiAgICAgICAgcGFnZV9pZDogKHBhZ2VWYXJpYW50IGFzIE90aGVyVmFyaWFudEluZm8pLnVybCxcbiAgICAgIH07XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFnZV90eXBlOiAnb3RoZXInLFxuICAgICAgICBwYWdlX2lkOiAocGFnZVZhcmlhbnQgYXMgVmlzaXRQYWdlVmFyaWFudEluZm8pLnVybCxcbiAgICAgIH07XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uRnVsbFBhZ2VTYWxlc0FnZW50OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFnZV90eXBlOiAnYWRhcHRpdmVfc3RvcmVmcm9udCcsXG4gICAgICAgIHBhZ2VfaWQ6IChwYWdlVmFyaWFudCBhcyBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50SW5mbykudXJsLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQXFCQSxNQUFhLDRCQUNYLGdCQUM2QjtBQUM3QixTQUFRLFlBQVksYUFBcEI7RUFDRSxLQUFLQSxvQ0FBZ0IsSUFDbkIsUUFBTztHQUNMLFdBQVc7R0FDWCxTQUFVLFlBQW1DO0dBQzlDO0VBQ0gsS0FBS0Esb0NBQWdCLElBQ25CLFFBQU87R0FDTCxXQUFXO0dBQ1gsU0FBVSxZQUFtQztHQUM5QztFQUNILEtBQUtBLG9DQUFnQixLQUNuQixRQUFPO0dBQ0wsV0FBVztHQUNYLFNBQVUsWUFBZ0M7R0FDM0M7RUFDSCxLQUFLQSxvQ0FBZ0IsTUFDbkIsUUFBTztHQUNMLFdBQVc7R0FDWCxTQUFVLFlBQWlDO0dBQzVDO0VBQ0gsS0FBS0Esb0NBQWdCLFVBQ25CLFFBQU87R0FDTCxXQUFXO0dBQ1gsU0FBVSxZQUFxQztHQUNoRDtFQUNILEtBQUtBLG9DQUFnQixtQkFDbkIsUUFBTztHQUNMLFdBQVc7R0FDWCxTQUFVLFlBQThDO0dBQ3pEO0VBQ0gsUUFDRSxRQUFPIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PageVariantInfo } from "./types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/contexts/pageContext/pageViewedContext.d.ts
|
|
4
|
+
interface PageViewedContext {
|
|
5
|
+
page_type: string;
|
|
6
|
+
page_id: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Maps a resolved page variant to the `context.page_type` / `context.page_id` pair sent on
|
|
10
|
+
* [Envive] Page Viewed. Single source of truth for that mapping — returns null for variant
|
|
11
|
+
* types that don't emit the event.
|
|
12
|
+
*/
|
|
13
|
+
declare const extractPageViewedContext: (pageVariant: PageVariantInfo) => PageViewedContext | null;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { PageViewedContext, extractPageViewedContext };
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZVZpZXdlZENvbnRleHQuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VWaWV3ZWRDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZVZhcmlhbnRJbmZvIH0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VWaWV3ZWRDb250ZXh0IHtcbiAgICBwYWdlX3R5cGU6IHN0cmluZztcbiAgICBwYWdlX2lkOiBzdHJpbmc7XG59XG4vKipcbiAqIE1hcHMgYSByZXNvbHZlZCBwYWdlIHZhcmlhbnQgdG8gdGhlIGBjb250ZXh0LnBhZ2VfdHlwZWAgLyBgY29udGV4dC5wYWdlX2lkYCBwYWlyIHNlbnQgb25cbiAqIFtFbnZpdmVdIFBhZ2UgVmlld2VkLiBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGF0IG1hcHBpbmcg4oCUIHJldHVybnMgbnVsbCBmb3IgdmFyaWFudFxuICogdHlwZXMgdGhhdCBkb24ndCBlbWl0IHRoZSBldmVudC5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgZXh0cmFjdFBhZ2VWaWV3ZWRDb250ZXh0OiAocGFnZVZhcmlhbnQ6IFBhZ2VWYXJpYW50SW5mbykgPT4gUGFnZVZpZXdlZENvbnRleHQgfCBudWxsO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFXLG9CQUFvQixDQUFDLElBQUc7QUFDbkMsSUFBVywyQkFBVTtDQUFBO09BQUE7T0FBQTtDQUFBIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PageVariantInfo } from "./types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/contexts/pageContext/pageViewedContext.d.ts
|
|
4
|
+
interface PageViewedContext {
|
|
5
|
+
page_type: string;
|
|
6
|
+
page_id: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Maps a resolved page variant to the `context.page_type` / `context.page_id` pair sent on
|
|
10
|
+
* [Envive] Page Viewed. Single source of truth for that mapping — returns null for variant
|
|
11
|
+
* types that don't emit the event.
|
|
12
|
+
*/
|
|
13
|
+
declare const extractPageViewedContext: (pageVariant: PageVariantInfo) => PageViewedContext | null;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { PageViewedContext, extractPageViewedContext };
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZVZpZXdlZENvbnRleHQuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvcGFnZUNvbnRleHQvcGFnZVZpZXdlZENvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlVmFyaWFudEluZm8gfSBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVZpZXdlZENvbnRleHQge1xuICAgIHBhZ2VfdHlwZTogc3RyaW5nO1xuICAgIHBhZ2VfaWQ6IHN0cmluZztcbn1cbi8qKlxuICogTWFwcyBhIHJlc29sdmVkIHBhZ2UgdmFyaWFudCB0byB0aGUgYGNvbnRleHQucGFnZV90eXBlYCAvIGBjb250ZXh0LnBhZ2VfaWRgIHBhaXIgc2VudCBvblxuICogW0Vudml2ZV0gUGFnZSBWaWV3ZWQuIFNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoYXQgbWFwcGluZyDigJQgcmV0dXJucyBudWxsIGZvciB2YXJpYW50XG4gKiB0eXBlcyB0aGF0IGRvbid0IGVtaXQgdGhlIGV2ZW50LlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBleHRyYWN0UGFnZVZpZXdlZENvbnRleHQ6IChwYWdlVmFyaWFudDogUGFnZVZhcmlhbnRJbmZvKSA9PiBQYWdlVmlld2VkQ29udGV4dCB8IG51bGw7XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcsb0JBQW9CLENBQUMsSUFBRztBQUNuQyxJQUFXLDJCQUFVO0NBQUE7T0FBQTtPQUFBO0NBQUEifQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { VariantTypeEnum } from "../../application/models/variantInfo/variantInfo.js";
|
|
2
|
+
import "../../application/models/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/contexts/pageContext/pageViewedContext.ts
|
|
5
|
+
/**
|
|
6
|
+
* Maps a resolved page variant to the `context.page_type` / `context.page_id` pair sent on
|
|
7
|
+
* [Envive] Page Viewed. Single source of truth for that mapping — returns null for variant
|
|
8
|
+
* types that don't emit the event.
|
|
9
|
+
*/
|
|
10
|
+
const extractPageViewedContext = (pageVariant) => {
|
|
11
|
+
switch (pageVariant.variantType) {
|
|
12
|
+
case VariantTypeEnum.Pdp: return {
|
|
13
|
+
page_type: "pdp",
|
|
14
|
+
page_id: pageVariant.productId
|
|
15
|
+
};
|
|
16
|
+
case VariantTypeEnum.Plp: return {
|
|
17
|
+
page_type: "plp",
|
|
18
|
+
page_id: pageVariant.plpId
|
|
19
|
+
};
|
|
20
|
+
case VariantTypeEnum.Home: return {
|
|
21
|
+
page_type: "homepage",
|
|
22
|
+
page_id: pageVariant.url
|
|
23
|
+
};
|
|
24
|
+
case VariantTypeEnum.Other: return {
|
|
25
|
+
page_type: "other",
|
|
26
|
+
page_id: pageVariant.url
|
|
27
|
+
};
|
|
28
|
+
case VariantTypeEnum.PageVisit: return {
|
|
29
|
+
page_type: "other",
|
|
30
|
+
page_id: pageVariant.url
|
|
31
|
+
};
|
|
32
|
+
case VariantTypeEnum.FullPageSalesAgent: return {
|
|
33
|
+
page_type: "adaptive_storefront",
|
|
34
|
+
page_id: pageVariant.url
|
|
35
|
+
};
|
|
36
|
+
default: return null;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
export { extractPageViewedContext };
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZVZpZXdlZENvbnRleHQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VWaWV3ZWRDb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhcmlhbnRUeXBlRW51bSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgRnVsbFBhZ2VTYWxlc0FnZW50VmFyaWFudEluZm8sXG4gIEhvbWVWYXJpYW50SW5mbyxcbiAgT3RoZXJWYXJpYW50SW5mbyxcbiAgUERQUGFnZVZhcmlhbnRJbmZvLFxuICBQTFBQYWdlVmFyaWFudEluZm8sXG4gIFBhZ2VWYXJpYW50SW5mbyxcbiAgVmlzaXRQYWdlVmFyaWFudEluZm8sXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VWaWV3ZWRDb250ZXh0IHtcbiAgcGFnZV90eXBlOiBzdHJpbmc7XG4gIHBhZ2VfaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBNYXBzIGEgcmVzb2x2ZWQgcGFnZSB2YXJpYW50IHRvIHRoZSBgY29udGV4dC5wYWdlX3R5cGVgIC8gYGNvbnRleHQucGFnZV9pZGAgcGFpciBzZW50IG9uXG4gKiBbRW52aXZlXSBQYWdlIFZpZXdlZC4gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhhdCBtYXBwaW5nIOKAlCByZXR1cm5zIG51bGwgZm9yIHZhcmlhbnRcbiAqIHR5cGVzIHRoYXQgZG9uJ3QgZW1pdCB0aGUgZXZlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBleHRyYWN0UGFnZVZpZXdlZENvbnRleHQgPSAoXG4gIHBhZ2VWYXJpYW50OiBQYWdlVmFyaWFudEluZm8sXG4pOiBQYWdlVmlld2VkQ29udGV4dCB8IG51bGwgPT4ge1xuICBzd2l0Y2ggKHBhZ2VWYXJpYW50LnZhcmlhbnRUeXBlKSB7XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGRwOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFnZV90eXBlOiAncGRwJyxcbiAgICAgICAgcGFnZV9pZDogKHBhZ2VWYXJpYW50IGFzIFBEUFBhZ2VWYXJpYW50SW5mbykucHJvZHVjdElkLFxuICAgICAgfTtcbiAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QbHA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWdlX3R5cGU6ICdwbHAnLFxuICAgICAgICBwYWdlX2lkOiAocGFnZVZhcmlhbnQgYXMgUExQUGFnZVZhcmlhbnRJbmZvKS5wbHBJZCxcbiAgICAgIH07XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uSG9tZTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VfdHlwZTogJ2hvbWVwYWdlJyxcbiAgICAgICAgcGFnZV9pZDogKHBhZ2VWYXJpYW50IGFzIEhvbWVWYXJpYW50SW5mbykudXJsLFxuICAgICAgfTtcbiAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5PdGhlcjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VfdHlwZTogJ290aGVyJyxcbiAgICAgICAgcGFnZV9pZDogKHBhZ2VWYXJpYW50IGFzIE90aGVyVmFyaWFudEluZm8pLnVybCxcbiAgICAgIH07XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFnZV90eXBlOiAnb3RoZXInLFxuICAgICAgICBwYWdlX2lkOiAocGFnZVZhcmlhbnQgYXMgVmlzaXRQYWdlVmFyaWFudEluZm8pLnVybCxcbiAgICAgIH07XG4gICAgY2FzZSBWYXJpYW50VHlwZUVudW0uRnVsbFBhZ2VTYWxlc0FnZW50OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFnZV90eXBlOiAnYWRhcHRpdmVfc3RvcmVmcm9udCcsXG4gICAgICAgIHBhZ2VfaWQ6IChwYWdlVmFyaWFudCBhcyBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50SW5mbykudXJsLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQXFCQSxNQUFhLDRCQUNYLGdCQUM2QjtBQUM3QixTQUFRLFlBQVksYUFBcEI7RUFDRSxLQUFLLGdCQUFnQixJQUNuQixRQUFPO0dBQ0wsV0FBVztHQUNYLFNBQVUsWUFBbUM7R0FDOUM7RUFDSCxLQUFLLGdCQUFnQixJQUNuQixRQUFPO0dBQ0wsV0FBVztHQUNYLFNBQVUsWUFBbUM7R0FDOUM7RUFDSCxLQUFLLGdCQUFnQixLQUNuQixRQUFPO0dBQ0wsV0FBVztHQUNYLFNBQVUsWUFBZ0M7R0FDM0M7RUFDSCxLQUFLLGdCQUFnQixNQUNuQixRQUFPO0dBQ0wsV0FBVztHQUNYLFNBQVUsWUFBaUM7R0FDNUM7RUFDSCxLQUFLLGdCQUFnQixVQUNuQixRQUFPO0dBQ0wsV0FBVztHQUNYLFNBQVUsWUFBcUM7R0FDaEQ7RUFDSCxLQUFLLGdCQUFnQixtQkFDbkIsUUFBTztHQUNMLFdBQVc7R0FDWCxTQUFVLFlBQThDO0dBQ3pEO0VBQ0gsUUFDRSxRQUFPIn0=
|