@envive-ai/react-hooks 0.2.8 → 0.2.9
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/{NewOrgConfig-BYo4V8-u.cjs → NewOrgConfig-BPnlb15T.cjs} +2 -2
- package/dist/{NewOrgConfig-kYrS59aR.js → NewOrgConfig-D80VRZ38.js} +2 -2
- package/dist/{SystemSettingsContext-BY1BFgAQ.js → SystemSettingsContext-ChQgRVnq.js} +2 -2
- package/dist/{SystemSettingsContext-EDpRMMt2.cjs → SystemSettingsContext-DLrUiwz2.cjs} +2 -2
- package/dist/{TrackComponentVisibleEvent-BHVBHQhu.js → TrackComponentVisibleEvent-B0I6P2Ed.js} +2 -2
- package/dist/{TrackComponentVisibleEvent-B_2kXqvV.cjs → TrackComponentVisibleEvent-DG5M_UjY.cjs} +2 -2
- package/dist/{amplitudeContext-D58WY1aS.js → amplitudeContext-DE3rKEV2.js} +2 -2
- package/dist/{amplitudeContext-CjkMpI_a.cjs → amplitudeContext-k-YmQmpX.cjs} +2 -2
- package/dist/application/models/index.cjs +2 -2
- package/dist/application/models/index.js +2 -2
- package/dist/application/utils/index.cjs +4 -4
- package/dist/application/utils/index.d.cts +2 -2
- package/dist/application/utils/index.d.ts +2 -2
- package/dist/application/utils/index.js +4 -4
- package/dist/atoms/app/index.cjs +2 -2
- package/dist/atoms/app/index.d.cts +6 -6
- package/dist/atoms/app/index.d.ts +7 -7
- package/dist/atoms/app/index.js +2 -2
- package/dist/atoms/chat/index.cjs +5 -5
- package/dist/atoms/chat/index.d.cts +26 -26
- package/dist/atoms/chat/index.d.ts +26 -26
- package/dist/atoms/chat/index.js +5 -5
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +2 -2
- package/dist/atoms/org/index.d.cts +15 -15
- package/dist/atoms/org/index.js +2 -2
- package/dist/atoms/search/index.cjs +9 -9
- package/dist/atoms/search/index.d.cts +1 -1
- package/dist/atoms/search/index.d.ts +1 -1
- package/dist/atoms/search/index.js +9 -9
- package/dist/{cdnContext-DzifgoNo.cjs → cdnContext-CaDyQ_5p.cjs} +1 -1
- package/dist/{cdnContext-B8zWuGGT.js → cdnContext-CtrIlAqX.js} +1 -1
- package/dist/{chat-CLo8FBCb.cjs → chat-B1B05BM-.cjs} +4 -4
- package/dist/{chat-Qkx5llOV.js → chat-BTfQhuk5.js} +4 -4
- package/dist/{chat-DCGriB7h.cjs → chat-CJ9D8n7g.cjs} +1 -1
- package/dist/{chat-ClvJ9xEj.js → chat-EJbfGWRr.js} +1 -1
- package/dist/{chatSearch-CjMcB3fG.js → chatSearch-BGWkK5FD.js} +5 -5
- package/dist/{chatSearch-CP7QtVyA.cjs → chatSearch-BWXonqb0.cjs} +5 -5
- package/dist/{chatState-BUN8ehpy.js → chatState-5iiJOrvd.js} +3 -3
- package/dist/{chatState-BUlDJ4NK.cjs → chatState-C1ksoACz.cjs} +3 -3
- package/dist/{commerce-api-CxnUXpTq.js → commerce-api-DA5_5J9U.js} +4 -4
- package/dist/{commerce-api-DNnrOYWX.cjs → commerce-api-DUmK4auK.cjs} +4 -4
- package/dist/{common-DQPvV_S_.cjs → common-CuwWqIJ1.cjs} +1 -1
- package/dist/{common-c_4eX0qn.js → common-Df2bwzd2.js} +1 -1
- package/dist/{components-DKwVHIjq.cjs → components-BCfFLf9X.cjs} +1 -1
- package/dist/{components-CDpaMUjK.js → components-QGCWJ26c.js} +1 -1
- package/dist/config/index.cjs +4 -4
- package/dist/config/index.js +4 -4
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/common/index.cjs +1 -1
- package/dist/config/locators/components/common/index.js +1 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/index.cjs +4 -4
- package/dist/config/locators/index.js +4 -4
- package/dist/contexts/amplitudeContext/index.cjs +4 -4
- package/dist/contexts/amplitudeContext/index.js +4 -4
- package/dist/contexts/cdnContext/index.cjs +1 -1
- package/dist/contexts/cdnContext/index.js +1 -1
- package/dist/contexts/chatContext/index.cjs +14 -14
- package/dist/contexts/chatContext/index.d.cts +4 -4
- package/dist/contexts/chatContext/index.d.ts +2 -2
- package/dist/contexts/chatContext/index.js +14 -14
- package/dist/contexts/enviveCssContext/index.cjs +7 -7
- package/dist/contexts/enviveCssContext/index.js +7 -7
- package/dist/contexts/graphqlContext/index.cjs +3 -3
- package/dist/contexts/graphqlContext/index.js +3 -3
- package/dist/contexts/newOrgConfigContext/index.cjs +6 -6
- package/dist/contexts/newOrgConfigContext/index.js +6 -6
- package/dist/contexts/searchContext/index.cjs +7 -7
- package/dist/contexts/searchContext/index.js +7 -7
- package/dist/contexts/systemSettingsContext/index.cjs +1 -1
- package/dist/contexts/systemSettingsContext/index.d.cts +2 -2
- package/dist/contexts/systemSettingsContext/index.d.ts +2 -2
- package/dist/contexts/systemSettingsContext/index.js +1 -1
- package/dist/contexts/types.cjs +1 -1
- package/dist/contexts/types.js +1 -1
- package/dist/contexts/userIdentityContext/index.cjs +7 -7
- package/dist/contexts/userIdentityContext/index.js +7 -7
- package/dist/frontendConfig-DPpzM5cz.d.cts +1 -1
- package/dist/frontendConfig-msK69LYN.d.ts +1 -1
- package/dist/{globalSearch-BQEX-2Ml.js → globalSearch-CuyNpefG.js} +1 -1
- package/dist/{globalSearch-BOG3wmck.cjs → globalSearch-D7K4TS83.cjs} +1 -1
- package/dist/{graphqlContext-Dddy7mr7.cjs → graphqlContext-CT6auB8V.cjs} +2 -2
- package/dist/{graphqlContext-C0hG5Uer.js → graphqlContext-DYFkhHcB.js} +2 -2
- package/dist/hooks/AmplitudeOperations/index.cjs +4 -4
- package/dist/hooks/AmplitudeOperations/index.js +4 -4
- package/dist/hooks/AppDetails/index.cjs +5 -5
- package/dist/hooks/AppDetails/index.js +5 -5
- package/dist/hooks/CdnOperations/index.cjs +1 -1
- package/dist/hooks/CdnOperations/index.js +1 -1
- package/dist/hooks/ChatToggle/index.cjs +5 -5
- package/dist/hooks/ChatToggle/index.js +5 -5
- package/dist/hooks/ChatToggleAnalytics/index.cjs +5 -5
- package/dist/hooks/ChatToggleAnalytics/index.js +5 -5
- package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
- package/dist/hooks/GraphQLConfig/index.cjs +4 -4
- package/dist/hooks/GraphQLConfig/index.js +4 -4
- package/dist/hooks/IdentifyUser/index.cjs +7 -7
- package/dist/hooks/IdentifyUser/index.js +7 -7
- package/dist/hooks/ImageResolver/index.cjs +2 -2
- package/dist/hooks/ImageResolver/index.js +2 -2
- package/dist/hooks/MessageFilter/index.cjs +2 -2
- package/dist/hooks/MessageFilter/index.js +2 -2
- package/dist/hooks/NewOrgConfig/index.cjs +7 -7
- package/dist/hooks/NewOrgConfig/index.js +7 -7
- package/dist/hooks/Search/index.cjs +19 -19
- package/dist/hooks/Search/index.d.cts +7 -3
- package/dist/hooks/Search/index.d.ts +7 -3
- package/dist/hooks/Search/index.js +19 -19
- package/dist/hooks/SearchOperations/index.cjs +7 -7
- package/dist/hooks/SearchOperations/index.js +7 -7
- package/dist/hooks/SystemSettingsContext/index.cjs +2 -2
- package/dist/hooks/SystemSettingsContext/index.d.cts +2 -2
- package/dist/hooks/SystemSettingsContext/index.d.ts +2 -2
- package/dist/hooks/SystemSettingsContext/index.js +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +4 -4
- package/dist/hooks/TrackComponentVisibleEvent/index.js +4 -4
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +3 -3
- package/dist/hooks/UpdateAnalyticsProps/index.js +3 -3
- package/dist/{index-ri9oOY3g.d.cts → index-B0elglKV.d.cts} +30 -30
- package/dist/{index-BVsXKN48.d.ts → index-DvUvoVHb.d.ts} +30 -30
- package/dist/{locators-BMQGmGLq.js → locators-C2fWd-74.js} +1 -1
- package/dist/{locators-DxYdak1F.cjs → locators-Cx3q6Z_h.cjs} +1 -1
- package/dist/{models-CE5YjbzE.js → models-BA9B8LGE.js} +2 -2
- package/dist/{models-CJy0mOoW.cjs → models-BubplUcB.cjs} +2 -2
- package/dist/{newOrgConfigAtom-CPA6Gp6n.cjs → newOrgConfigAtom-DkZVcH1n.cjs} +1 -1
- package/dist/{newOrgConfigAtom-DEUj6H-p.js → newOrgConfigAtom-TCV1_sTk.js} +1 -1
- package/dist/{newOrgConfigContext-P4xkie1E.js → newOrgConfigContext-XmEpnUcU.js} +3 -3
- package/dist/{newOrgConfigContext-Dg2gtrwB.cjs → newOrgConfigContext-f3ZD_laY.cjs} +3 -3
- package/dist/{org-B_cWn2bt.cjs → org-B_56cFG-.cjs} +1 -1
- package/dist/{org-h32_LSEb.js → org-D7JD-Jhj.js} +1 -1
- package/dist/{search-Bpd_wxaK.cjs → search-3Q6-C6L4.cjs} +3 -3
- package/dist/{search-BRBqhum7.js → search-B24LICty.js} +3 -3
- package/dist/{searchContext-4mMbhaHA.cjs → searchContext-B5ea-PzV.cjs} +3 -3
- package/dist/{searchContext-nzEsa-bl.js → searchContext-i5I9qGDl.js} +3 -3
- package/dist/{systemSettingsContext-DF0jSq9m.js → systemSettingsContext-B4kZOE-R.js} +1 -1
- package/dist/{systemSettingsContext-dmE1v6w8.cjs → systemSettingsContext-jFIz9KS4.cjs} +1 -1
- package/dist/types-BegmH0S1.d.ts +1 -1
- package/dist/{types-UUvB6h05.cjs → types-BwNrLPSZ.cjs} +1 -1
- package/dist/{types-CtUb63bt.js → types-D3uOF0Oy.js} +1 -1
- package/dist/{unsupportedProductExceptions-DGENUnEA.cjs → unsupportedProductExceptions-B4f9aLjr.cjs} +1 -1
- package/dist/{unsupportedProductExceptions-uQuuelOs.js → unsupportedProductExceptions-DlmraJm8.js} +1 -1
- package/dist/{useAmplitudeOperations-DzFMBUU_.cjs → useAmplitudeOperations-CnN2-inX.cjs} +2 -2
- package/dist/{useAmplitudeOperations-Cr03Hlk6.js → useAmplitudeOperations-DufyKAt6.js} +2 -2
- package/dist/{useAppDetails-D-l3HbOk.cjs → useAppDetails-CPqMbju3.cjs} +2 -2
- package/dist/{useAppDetails-Bgql1vXN.js → useAppDetails-WagqDI97.js} +2 -2
- package/dist/{useGraphQLConfig-8oeOwWRP.js → useGraphQLConfig-CxLC4kGG.js} +2 -2
- package/dist/{useGraphQLConfig-CO9lCk8b.cjs → useGraphQLConfig-Ttye_Nhq.cjs} +2 -2
- package/dist/{userIdentityContext-BtOui2qA.js → userIdentityContext-Djf2FPEf.js} +2 -2
- package/dist/{userIdentityContext-B_CPsBYG.cjs → userIdentityContext-Dxm2Lnyi.cjs} +2 -2
- package/dist/{utils-Cv772xzd.js → utils-BfwOaizA.js} +3 -3
- package/dist/utils-C2HshI4X.d.cts +1 -1
- package/dist/{utils-BXfzt6tu.cjs → utils-CUkxBB5H.cjs} +3 -3
- package/dist/utils-aa1jK0Xe.d.ts +1 -1
- package/package.json +1 -1
- package/src/hooks/Search/useSearch.tsx +2 -5
- /package/dist/{amplitudeContext-q3mggFSE.cjs → amplitudeContext-BJHyYQ5s.cjs} +0 -0
- /package/dist/{amplitudeContext-DbicJUzl.js → amplitudeContext-DffV4DW_.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react1 from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/hooks/GrabAndScroll/useGrabAndScroll.d.ts
|
|
4
4
|
declare const useGrabAndScroll: (enabled: boolean, chunkWidth: number, speed?: number, offset?: number) => {
|
|
5
|
-
containerRef:
|
|
5
|
+
containerRef: react1.RefObject<HTMLDivElement>;
|
|
6
6
|
leftArrow: boolean;
|
|
7
7
|
rightArrow: boolean;
|
|
8
8
|
animationTrigger: () => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
require('../../types-
|
|
2
|
-
require('../../models-
|
|
1
|
+
require('../../types-BwNrLPSZ.cjs');
|
|
2
|
+
require('../../models-BubplUcB.cjs');
|
|
3
3
|
require('../../featureGates-qU_ulhpC.cjs');
|
|
4
4
|
require('../../urlsParser-COzMdJaX.cjs');
|
|
5
5
|
require('../../graphql-i3dtpVTl.cjs');
|
|
@@ -10,8 +10,8 @@ require('../../utilityTypes-BGbL2WTP.cjs');
|
|
|
10
10
|
require('../../variantInfo-DpLn4nHz.cjs');
|
|
11
11
|
require('../../localStorageContext-NRP-CdmF.cjs');
|
|
12
12
|
require('../../enviveConfig-Dv9-esGV.cjs');
|
|
13
|
-
require('../../graphqlContext-
|
|
14
|
-
const require_useGraphQLConfig = require('../../useGraphQLConfig-
|
|
13
|
+
require('../../graphqlContext-CT6auB8V.cjs');
|
|
14
|
+
const require_useGraphQLConfig = require('../../useGraphQLConfig-Ttye_Nhq.cjs');
|
|
15
15
|
|
|
16
16
|
exports.useColorsAndFrontendConfig = require_useGraphQLConfig.useColorsAndFrontendConfig;
|
|
17
17
|
exports.useOrgId = require_useGraphQLConfig.useOrgId;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../../types-
|
|
2
|
-
import "../../models-
|
|
1
|
+
import "../../types-D3uOF0Oy.js";
|
|
2
|
+
import "../../models-BA9B8LGE.js";
|
|
3
3
|
import "../../featureGates-KEwAL8p_.js";
|
|
4
4
|
import "../../urlsParser-DxjoLj98.js";
|
|
5
5
|
import "../../graphql-CkxgqsXP.js";
|
|
@@ -10,7 +10,7 @@ import "../../utilityTypes-B2KuRn37.js";
|
|
|
10
10
|
import "../../variantInfo-BfKlkaWU.js";
|
|
11
11
|
import "../../localStorageContext-BPZ82q-G.js";
|
|
12
12
|
import "../../enviveConfig-DZBohDpc.js";
|
|
13
|
-
import "../../graphqlContext-
|
|
14
|
-
import { useColorsAndFrontendConfig, useOrgId } from "../../useGraphQLConfig-
|
|
13
|
+
import "../../graphqlContext-DYFkhHcB.js";
|
|
14
|
+
import { useColorsAndFrontendConfig, useOrgId } from "../../useGraphQLConfig-CxLC4kGG.js";
|
|
15
15
|
|
|
16
16
|
export { useColorsAndFrontendConfig, useOrgId };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_chunk = require('../../chunk-CUT6urMc.cjs');
|
|
2
|
-
require('../../types-
|
|
2
|
+
require('../../types-BwNrLPSZ.cjs');
|
|
3
3
|
require('../../events-DYY4l817.cjs');
|
|
4
|
-
require('../../models-
|
|
4
|
+
require('../../models-BubplUcB.cjs');
|
|
5
5
|
require('../../featureGates-qU_ulhpC.cjs');
|
|
6
6
|
require('../../urlsParser-COzMdJaX.cjs');
|
|
7
7
|
require('../../graphql-i3dtpVTl.cjs');
|
|
@@ -17,13 +17,13 @@ require('../../atomStore-CmZbgQHc.cjs');
|
|
|
17
17
|
require('../../app-BbPSHefQ.cjs');
|
|
18
18
|
require('../../enviveConfigContext-D2OELZDR.cjs');
|
|
19
19
|
require('../../featureFlagServiceContext-CJyYItqu.cjs');
|
|
20
|
-
require('../../amplitudeContext-
|
|
21
|
-
require('../../utils-
|
|
20
|
+
require('../../amplitudeContext-k-YmQmpX.cjs');
|
|
21
|
+
require('../../utils-CUkxBB5H.cjs');
|
|
22
22
|
require('../../domObserver-COKvTfZV.cjs');
|
|
23
23
|
require('../../graphqlConfig-BnfE0ql5.cjs');
|
|
24
|
-
require('../../unsupportedProductExceptions-
|
|
25
|
-
require('../../commerce-api-
|
|
26
|
-
const require_userIdentityContext = require('../../userIdentityContext-
|
|
24
|
+
require('../../unsupportedProductExceptions-B4f9aLjr.cjs');
|
|
25
|
+
require('../../commerce-api-DUmK4auK.cjs');
|
|
26
|
+
const require_userIdentityContext = require('../../userIdentityContext-Dxm2Lnyi.cjs');
|
|
27
27
|
let react = require("react");
|
|
28
28
|
react = require_chunk.__toESM(react);
|
|
29
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "../../types-
|
|
1
|
+
import "../../types-D3uOF0Oy.js";
|
|
2
2
|
import "../../events-DyUix-Bn.js";
|
|
3
|
-
import "../../models-
|
|
3
|
+
import "../../models-BA9B8LGE.js";
|
|
4
4
|
import "../../featureGates-KEwAL8p_.js";
|
|
5
5
|
import "../../urlsParser-DxjoLj98.js";
|
|
6
6
|
import "../../graphql-CkxgqsXP.js";
|
|
@@ -16,13 +16,13 @@ import "../../atomStore-DEcDhiLp.js";
|
|
|
16
16
|
import "../../app-CflxT_xI.js";
|
|
17
17
|
import "../../enviveConfigContext-DrDjCems.js";
|
|
18
18
|
import "../../featureFlagServiceContext-FBM6DdMJ.js";
|
|
19
|
-
import "../../amplitudeContext-
|
|
20
|
-
import "../../utils-
|
|
19
|
+
import "../../amplitudeContext-DE3rKEV2.js";
|
|
20
|
+
import "../../utils-BfwOaizA.js";
|
|
21
21
|
import "../../domObserver-DEiUh0qg.js";
|
|
22
22
|
import "../../graphqlConfig-CZGjJ8hP.js";
|
|
23
|
-
import "../../unsupportedProductExceptions-
|
|
24
|
-
import "../../commerce-api-
|
|
25
|
-
import { useUserIdentity } from "../../userIdentityContext-
|
|
23
|
+
import "../../unsupportedProductExceptions-DlmraJm8.js";
|
|
24
|
+
import "../../commerce-api-DA5_5J9U.js";
|
|
25
|
+
import { useUserIdentity } from "../../userIdentityContext-Djf2FPEf.js";
|
|
26
26
|
import { useCallback, useState } from "react";
|
|
27
27
|
|
|
28
28
|
//#region src/hooks/IdentifyUser/useIdentifyUser.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_chunk = require('../../chunk-CUT6urMc.cjs');
|
|
2
|
-
require('../../types-
|
|
3
|
-
const require_models = require('../../models-
|
|
2
|
+
require('../../types-BwNrLPSZ.cjs');
|
|
3
|
+
const require_models = require('../../models-BubplUcB.cjs');
|
|
4
4
|
require('../../featureGates-qU_ulhpC.cjs');
|
|
5
5
|
require('../../urlsParser-COzMdJaX.cjs');
|
|
6
6
|
require('../../graphql-i3dtpVTl.cjs');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../../types-
|
|
2
|
-
import { OrgShortName } from "../../models-
|
|
1
|
+
import "../../types-D3uOF0Oy.js";
|
|
2
|
+
import { OrgShortName } from "../../models-BA9B8LGE.js";
|
|
3
3
|
import "../../featureGates-KEwAL8p_.js";
|
|
4
4
|
import "../../urlsParser-DxjoLj98.js";
|
|
5
5
|
import "../../graphql-CkxgqsXP.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
require('../../types-
|
|
2
|
-
const require_models = require('../../models-
|
|
1
|
+
require('../../types-BwNrLPSZ.cjs');
|
|
2
|
+
const require_models = require('../../models-BubplUcB.cjs');
|
|
3
3
|
require('../../featureGates-qU_ulhpC.cjs');
|
|
4
4
|
require('../../urlsParser-COzMdJaX.cjs');
|
|
5
5
|
require('../../graphql-i3dtpVTl.cjs');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../../types-
|
|
2
|
-
import { MessageType } from "../../models-
|
|
1
|
+
import "../../types-D3uOF0Oy.js";
|
|
2
|
+
import { MessageType } from "../../models-BA9B8LGE.js";
|
|
3
3
|
import "../../featureGates-KEwAL8p_.js";
|
|
4
4
|
import "../../urlsParser-DxjoLj98.js";
|
|
5
5
|
import "../../graphql-CkxgqsXP.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
require('../../types-
|
|
2
|
-
require('../../models-
|
|
1
|
+
require('../../types-BwNrLPSZ.cjs');
|
|
2
|
+
require('../../models-BubplUcB.cjs');
|
|
3
3
|
require('../../featureGates-qU_ulhpC.cjs');
|
|
4
4
|
require('../../urlsParser-COzMdJaX.cjs');
|
|
5
5
|
require('../../graphql-i3dtpVTl.cjs');
|
|
@@ -11,10 +11,10 @@ require('../../variantInfo-DpLn4nHz.cjs');
|
|
|
11
11
|
require('../../localStorageContext-NRP-CdmF.cjs');
|
|
12
12
|
require('../../enviveConfig-Dv9-esGV.cjs');
|
|
13
13
|
require('../../featureFlagServiceContext-CJyYItqu.cjs');
|
|
14
|
-
require('../../newOrgConfigAtom-
|
|
15
|
-
require('../../graphqlContext-
|
|
16
|
-
require('../../useGraphQLConfig-
|
|
17
|
-
require('../../newOrgConfigContext-
|
|
18
|
-
const require_NewOrgConfig = require('../../NewOrgConfig-
|
|
14
|
+
require('../../newOrgConfigAtom-DkZVcH1n.cjs');
|
|
15
|
+
require('../../graphqlContext-CT6auB8V.cjs');
|
|
16
|
+
require('../../useGraphQLConfig-Ttye_Nhq.cjs');
|
|
17
|
+
require('../../newOrgConfigContext-f3ZD_laY.cjs');
|
|
18
|
+
const require_NewOrgConfig = require('../../NewOrgConfig-BPnlb15T.cjs');
|
|
19
19
|
|
|
20
20
|
exports.useNewOrgConfig = require_NewOrgConfig.useNewOrgConfig;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../../types-
|
|
2
|
-
import "../../models-
|
|
1
|
+
import "../../types-D3uOF0Oy.js";
|
|
2
|
+
import "../../models-BA9B8LGE.js";
|
|
3
3
|
import "../../featureGates-KEwAL8p_.js";
|
|
4
4
|
import "../../urlsParser-DxjoLj98.js";
|
|
5
5
|
import "../../graphql-CkxgqsXP.js";
|
|
@@ -11,10 +11,10 @@ import "../../variantInfo-BfKlkaWU.js";
|
|
|
11
11
|
import "../../localStorageContext-BPZ82q-G.js";
|
|
12
12
|
import "../../enviveConfig-DZBohDpc.js";
|
|
13
13
|
import "../../featureFlagServiceContext-FBM6DdMJ.js";
|
|
14
|
-
import "../../newOrgConfigAtom-
|
|
15
|
-
import "../../graphqlContext-
|
|
16
|
-
import "../../useGraphQLConfig-
|
|
17
|
-
import "../../newOrgConfigContext-
|
|
18
|
-
import { useNewOrgConfig } from "../../NewOrgConfig-
|
|
14
|
+
import "../../newOrgConfigAtom-TCV1_sTk.js";
|
|
15
|
+
import "../../graphqlContext-DYFkhHcB.js";
|
|
16
|
+
import "../../useGraphQLConfig-CxLC4kGG.js";
|
|
17
|
+
import "../../newOrgConfigContext-XmEpnUcU.js";
|
|
18
|
+
import { useNewOrgConfig } from "../../NewOrgConfig-D80VRZ38.js";
|
|
19
19
|
|
|
20
20
|
export { useNewOrgConfig };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const require_chunk = require('../../chunk-CUT6urMc.cjs');
|
|
2
|
-
require('../../types-
|
|
2
|
+
require('../../types-BwNrLPSZ.cjs');
|
|
3
3
|
require('../../events-DYY4l817.cjs');
|
|
4
4
|
const require_utils = require('../../utils-hYTjy7hJ.cjs');
|
|
5
|
-
const require_models = require('../../models-
|
|
5
|
+
const require_models = require('../../models-BubplUcB.cjs');
|
|
6
6
|
const require_featureGates = require('../../featureGates-qU_ulhpC.cjs');
|
|
7
7
|
require('../../urlsParser-COzMdJaX.cjs');
|
|
8
8
|
require('../../graphql-i3dtpVTl.cjs');
|
|
@@ -18,25 +18,25 @@ require('../../atomStore-CmZbgQHc.cjs');
|
|
|
18
18
|
require('../../app-BbPSHefQ.cjs');
|
|
19
19
|
require('../../enviveConfigContext-D2OELZDR.cjs');
|
|
20
20
|
const require_featureFlagServiceContext = require('../../featureFlagServiceContext-CJyYItqu.cjs');
|
|
21
|
-
const require_amplitudeContext = require('../../amplitudeContext-
|
|
22
|
-
require('../../chatState-
|
|
21
|
+
const require_amplitudeContext = require('../../amplitudeContext-k-YmQmpX.cjs');
|
|
22
|
+
require('../../chatState-C1ksoACz.cjs');
|
|
23
23
|
require('../../graphqlConfig-BnfE0ql5.cjs');
|
|
24
|
-
const require_chat = require('../../chat-
|
|
25
|
-
|
|
26
|
-
require('../../
|
|
27
|
-
require('../../
|
|
24
|
+
const require_chat = require('../../chat-B1B05BM-.cjs');
|
|
25
|
+
require('../../org-B_56cFG-.cjs');
|
|
26
|
+
require('../../newOrgConfigAtom-DkZVcH1n.cjs');
|
|
27
|
+
const require_globalSearch = require('../../globalSearch-D7K4TS83.cjs');
|
|
28
28
|
const require_utils$2 = require('../../utils-CvLmSsUj.cjs');
|
|
29
|
-
require('../../chatSearch-
|
|
29
|
+
require('../../chatSearch-BWXonqb0.cjs');
|
|
30
30
|
const require_types$1 = require('../../types-BuvXXGxE.cjs');
|
|
31
31
|
require('../../searchServiceAdapter-BGlvoZFE.cjs');
|
|
32
|
-
const require_search = require('../../search-
|
|
33
|
-
require('../../amplitudeContext-
|
|
34
|
-
require('../../graphqlContext-
|
|
35
|
-
require('../../useGraphQLConfig-
|
|
36
|
-
require('../../newOrgConfigContext-
|
|
37
|
-
const require_NewOrgConfig = require('../../NewOrgConfig-
|
|
32
|
+
const require_search = require('../../search-3Q6-C6L4.cjs');
|
|
33
|
+
require('../../amplitudeContext-BJHyYQ5s.cjs');
|
|
34
|
+
require('../../graphqlContext-CT6auB8V.cjs');
|
|
35
|
+
require('../../useGraphQLConfig-Ttye_Nhq.cjs');
|
|
36
|
+
require('../../newOrgConfigContext-f3ZD_laY.cjs');
|
|
37
|
+
const require_NewOrgConfig = require('../../NewOrgConfig-BPnlb15T.cjs');
|
|
38
38
|
require('../../useIntersection-DSDREfj6.cjs');
|
|
39
|
-
const require_TrackComponentVisibleEvent = require('../../TrackComponentVisibleEvent-
|
|
39
|
+
const require_TrackComponentVisibleEvent = require('../../TrackComponentVisibleEvent-DG5M_UjY.cjs');
|
|
40
40
|
let react = require("react");
|
|
41
41
|
react = require_chunk.__toESM(react);
|
|
42
42
|
let jotai = require("jotai");
|
|
@@ -289,7 +289,7 @@ const useRecommendedProducts = () => {
|
|
|
289
289
|
|
|
290
290
|
//#endregion
|
|
291
291
|
//#region src/hooks/Search/useSearch.tsx
|
|
292
|
-
const useSearch = () => {
|
|
292
|
+
const useSearch = ({ allowRedirect = false } = {}) => {
|
|
293
293
|
const config = require_NewOrgConfig.useNewOrgConfig();
|
|
294
294
|
const orgShortName = (0, jotai.useAtomValue)(require_enviveConfig.orgShortNameAtom);
|
|
295
295
|
const { data: searchData, loading: isLoadingSearch } = (0, jotai.useAtomValue)(require_search.searchAtom);
|
|
@@ -320,7 +320,7 @@ const useSearch = () => {
|
|
|
320
320
|
initialSearchText: query || "",
|
|
321
321
|
searchOrigin: require_models.SpiffyWidgets.SearchResults,
|
|
322
322
|
onSearchSubmit: (searchQuery) => {
|
|
323
|
-
performSearch({ query: searchQuery });
|
|
323
|
+
performSearch({ query: searchQuery }, allowRedirect);
|
|
324
324
|
}
|
|
325
325
|
});
|
|
326
326
|
const searchResultsState = require_utils.getSearchResultsState(isLoadingSearch, searchData);
|
|
@@ -500,4 +500,4 @@ const useSearch = () => {
|
|
|
500
500
|
|
|
501
501
|
//#endregion
|
|
502
502
|
exports.useSearch = useSearch;
|
|
503
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20iLCJhdXRvY29tcGxldGVTdGF0ZUF0b20iLCJGdXNlIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsInByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbjpcbiAgfCAoKHBhcmFtczogUHJvZHVjdFJldHJpZXZhbFBhcmFtcykgPT4gUHJvbWlzZTxQcm9kdWN0UmV0cmlldmFsUmVzdWx0PilcbiAgfCBudWxsIiwiZXJyb3I6IHVua25vd24iLCJ1c2VGZWF0dXJlRmxhZ1NlcnZpY2UiLCJGZWF0dXJlR2F0ZXMiLCJ1c2VOZXdPcmdDb25maWciLCJ1c2VOZXdPcmdDb25maWciLCJvcmdTaG9ydE5hbWVBdG9tIiwic2VhcmNoQXRvbSIsImZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tIiwicGVyZm9ybVNlYXJjaEF0b20iLCJzZWFyY2hQYXJhbXNBdG9tIiwiaXNGaWx0ZXJPcGVuQXRvbSIsInNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20iLCJhZGRTZWFyY2hGaWx0ZXJBdG9tIiwicmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSIsInNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSIsImNsZWFyU2VhcmNoRmlsdGVyc0F0b20iLCJzZWFyY2hGaWx0ZXJzQXRvbSIsIlNwaWZmeVdpZGdldHMiLCJnZXRTZWFyY2hSZXN1bHRzU3RhdGUiLCJmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSIsIlByb2R1Y3RTb3J0aW5nIiwidXNlQW1wbGl0dWRlIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsImNyZWF0ZUZpbHRlck9wdGlvbiIsImhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0iLCJTZWFyY2hSZXN1bHRzU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvU2VhcmNoL3VzZVNlYXJjaElucHV0LnRzIiwiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQWRhcHRlci50cyIsIi4uLy4uLy4uL3NyYy9hdG9tcy9zZWFyY2gvcHJvZHVjdFJldHJpZXZhbEFQSS50cyIsIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlUmVjb21tZW5kZWRQcm9kdWN0cy50cyIsIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgRnVzZSBmcm9tIFwiZnVzZS5qc1wiO1xuXG5pbXBvcnQgeyBhdXRvY29tcGxldGVTdGF0ZUF0b20gfSBmcm9tIFwic3JjL2F0b21zL2dsb2JhbFNlYXJjaFwiO1xuaW1wb3J0IHsgYW1wbGl0dWRlVHJhY2tFdmVudEF0b20gfSBmcm9tIFwic3JjL2F0b21zL2FtcGxpdHVkZS9hbXBsaXR1ZGVUcmFja0V2ZW50QXRvbVwiO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gXCJzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dFwiO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL3NwaWZmeVdpZGdldHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBVc2VTZWFyY2hJbnB1dFByb3BzIHtcbiAgaW5pdGlhbFNlYXJjaFRleHQ/OiBzdHJpbmc7XG4gIHNlYXJjaE9yaWdpbjogU3BpZmZ5V2lkZ2V0cztcbiAgb25TZWFyY2hTdWJtaXQ/OiAocXVlcnk6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VTZWFyY2hJbnB1dFJldHVybiB7XG4gIC8vIFN0YXRlXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgaGFzVGV4dDogYm9vbGVhbjtcbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBmb2N1c2VkSW5kZXg6IG51bWJlcjtcbiAgZm9jdXNlZE9wdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGF1dG9jb21wbGV0ZVJlc3VsdHM6IHN0cmluZ1tdO1xuICBzaG91bGRTaG93QXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBcbiAgLy8gSGFuZGxlcnNcbiAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICBoYW5kbGVTZWFyY2hJbnB1dEJsdXI6ICgpID0+IHZvaWQ7XG4gIGhhbmRsZUtleURvd246IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZDtcbiAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nLCByYW5rUG9zaXRpb24/OiBudW1iZXIpID0+IHZvaWQ7XG4gIGhhbmRsZVN1Ym1pdFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgXG4gIC8vIFV0aWxpdGllc1xuICBzZXRTZWFyY2hUZXh0OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xuICByZXNldFNlYXJjaDogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaElucHV0ID0gKHtcbiAgaW5pdGlhbFNlYXJjaFRleHQgPSBcIlwiLFxuICBzZWFyY2hPcmlnaW4sXG4gIG9uU2VhcmNoU3VibWl0LFxufTogVXNlU2VhcmNoSW5wdXRQcm9wcyk6IFVzZVNlYXJjaElucHV0UmV0dXJuID0+IHtcbiAgY29uc3QgdHJhY2sgPSB1c2VBdG9tVmFsdWUoYW1wbGl0dWRlVHJhY2tFdmVudEF0b20pO1xuXG4gIC8vIFN0YXRlXG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxTZWFyY2hUZXh0KTtcbiAgY29uc3QgW2hhc1RleHQsIHNldEhhc1RleHRdID0gdXNlU3RhdGUoaW5pdGlhbFNlYXJjaFRleHQudHJpbSgpLmxlbmd0aCA+IDApO1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZm9jdXNlZEluZGV4LCBzZXRGb2N1c2VkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICBjb25zdCBbZm9jdXNlZE9wdGlvbklkLCBzZXRGb2N1c2VkT3B0aW9uSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgY29uc3QgYXV0b2NvbXBsZXRlU3RhdGUgPSB1c2VBdG9tVmFsdWUoYXV0b2NvbXBsZXRlU3RhdGVBdG9tKTtcbiAgY29uc3QgZ2xvYmFsQXV0b2NvbXBsZXRlUmVzdWx0cyA9IGF1dG9jb21wbGV0ZVN0YXRlLnJlc3VsdHM7XG4gIGNvbnN0IGlzQXV0b2NvbXBsZXRlRW5hYmxlZCA9IGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoID4gMDtcblxuICAvLyBSZWZzXG4gIGNvbnN0IGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlID0gdXNlUmVmKGZhbHNlKTtcblxuICAvLyBDb21wdXRlZFxuICBjb25zdCBzaG91bGRTaG93QXV0b2NvbXBsZXRlID0gaGFzVGV4dCAmJiBpc0ZvY3VzZWQgJiYgaXNBdXRvY29tcGxldGVFbmFibGVkO1xuXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdCA9IDU7XG5cbiAgLy8gQ29uZmlndXJlIEZ1c2UuanMgZm9yIGZ1enp5IHNlYXJjaCB3aXRoIGN1c3RvbSBzY29yaW5nXG4gIGNvbnN0IGZ1c2VPcHRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgaW5jbHVkZVNjb3JlOiB0cnVlLFxuICAgICAgaW5jbHVkZU1hdGNoZXM6IHRydWUsXG4gICAgICAvLyBGdXp6eSBtYXRjaGluZyB0aHJlc2hvbGQgKDAuMCA9IHBlcmZlY3QgbWF0Y2gsIDEuMCA9IG1hdGNoIGFueXRoaW5nKVxuICAgICAgdGhyZXNob2xkOiAwLjMsXG4gICAgICAvLyBMb2NhdGlvbiB3aGVyZSBtYXRjaCBpcyBleHBlY3RlZCAoMCA9IGJlZ2lubmluZylcbiAgICAgIGxvY2F0aW9uOiAwLFxuICAgICAgLy8gRGlzdGFuY2UgZnJvbSBsb2NhdGlvbiB3aGVyZSBtYXRjaCBjYW4gYmUgZm91bmQgLSBzbWFsbGVyIGZvciBwcmVmaXggcHJlZmVyZW5jZVxuICAgICAgZGlzdGFuY2U6IDQsXG4gICAgICAvLyBNaW5pbXVtIGNoYXJhY3RlciBsZW5ndGggYmVmb3JlIGZ1enp5IG1hdGNoaW5nIHN0YXJ0c1xuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoOiAxLFxuICAgICAgLy8gS2V5cyB0byBzZWFyY2ggKHdlJ3JlIHNlYXJjaGluZyBzdHJpbmdzIGRpcmVjdGx5LCBzbyBubyBrZXlzIG5lZWRlZClcbiAgICAgIGtleXM6IFtdLFxuICAgICAgLy8gVXNlIGV4dGVuZGVkIHNlYXJjaCBmb3IgZXhhY3QgbWF0Y2hlcyBhbmQgcHJlZml4IG1hdGNoaW5nXG4gICAgICB1c2VFeHRlbmRlZFNlYXJjaDogZmFsc2UsXG4gICAgICAvLyBEb24ndCBpZ25vcmUgbG9jYXRpb24gLSB0aGlzIGhlbHBzIHByaW9yaXRpemUgbWF0Y2hlcyBhdCB0aGUgYmVnaW5uaW5nXG4gICAgICBpZ25vcmVMb2NhdGlvbjogZmFsc2UsXG4gICAgfSksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBmdXNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFnbG9iYWxBdXRvY29tcGxldGVSZXN1bHRzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIG5ldyBGdXNlKGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zKTtcbiAgfSwgW2dsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zXSk7XG5cbiAgLy8gQXV0b2NvbXBsZXRlIGZ1enp5IHNlYXJjaCB1c2luZyBGdXNlLmpzXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWlzQXV0b2NvbXBsZXRlRW5hYmxlZCB8fCAhZnVzZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICghc2VhcmNoVGV4dC50cmltKCkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmdXNlUmVzdWx0cyA9IGZ1c2Uuc2VhcmNoKHNlYXJjaFRleHQpO1xuXG4gICAgLy8gVXNlIG9ubHkgRnVzZS5qcyBzY29yaW5nIChyZXN1bHRzIGFyZSBhbHJlYWR5IHNvcnRlZCBieSByZWxldmFuY2UpXG4gICAgcmV0dXJuIGZ1c2VSZXN1bHRzXG4gICAgICAuc2xpY2UoMCwgYXV0b2NvbXBsZXRlUmVzdWx0c0xpbWl0KVxuICAgICAgLm1hcCgocmVzdWx0KSA9PiByZXN1bHQuaXRlbSk7XG4gIH0sIFtpc0F1dG9jb21wbGV0ZUVuYWJsZWQsIGZ1c2UsIHNlYXJjaFRleHQsIGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdF0pO1xuXG4gIC8vIEhhbmRsZXJzXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIElmIHRoZSB1c2VyIGlzIGNoYW5naW5nIHRleHQsIHRoZXkgbXVzdCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBpbnB1dFxuICAgICAgLy8gU28gd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhleSdyZSBmb2N1c2VkXG4gICAgICBpZiAobmV3VmFsdWUgIT09IHNlYXJjaFRleHQpIHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3VmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRyYWNrPy4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgc2VhcmNoT3JpZ2luLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgc2V0U2VhcmNoVGV4dChuZXdWYWx1ZSk7XG4gICAgICBzZXRIYXNUZXh0KG5ld1ZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIFtzZWFyY2hPcmlnaW4sIHNlYXJjaFRleHQsIHRyYWNrXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoSW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50KSB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0sIDE1MCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXRTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcbiAgICBpZiAoc2VhcmNoVGV4dC50cmltKCkgJiYgb25TZWFyY2hTdWJtaXQpIHtcbiAgICAgIHRyYWNrPy4oe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoUXVlcnlTdWJtaXR0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LnRyaW0oKSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgb25TZWFyY2hTdWJtaXQoc2VhcmNoVGV4dC50cmltKCkpO1xuICAgIH1cbiAgfSwgW3NlYXJjaFRleHQsIG9uU2VhcmNoU3VibWl0LCBzZWFyY2hPcmlnaW4sIHRyYWNrXSk7XG5cbiAgY29uc3QgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHN1Z2dlc3Rpb246IHN0cmluZywgcmFua1Bvc2l0aW9uPzogbnVtYmVyKSA9PiB7XG4gICAgICBpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIHNldFNlYXJjaFRleHQoc3VnZ2VzdGlvbik7XG4gICAgICBzZXRIYXNUZXh0KHN1Z2dlc3Rpb24udHJpbSgpLmxlbmd0aCA+IDApO1xuICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcblxuICAgICAgdHJhY2s/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKG9uU2VhcmNoU3VibWl0KSB7XG4gICAgICAgIG9uU2VhcmNoU3VibWl0KHN1Z2dlc3Rpb24udHJpbSgpKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSxcbiAgICBbb25TZWFyY2hTdWJtaXQsIHNlYXJjaE9yaWdpbiwgdHJhY2tdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBuZXdJbmRleCA9IChmb2N1c2VkSW5kZXggKyAxKSAlIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoO1xuICAgICAgICBzZXRGb2N1c2VkSW5kZXgobmV3SW5kZXgpO1xuICAgICAgICBzZXRGb2N1c2VkT3B0aW9uSWQoYG9wdGlvbi0ke25ld0luZGV4fWApO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID1cbiAgICAgICAgICAoZm9jdXNlZEluZGV4IC0gMSArIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoKSAlXG4gICAgICAgICAgYXV0b2NvbXBsZXRlUmVzdWx0cy5sZW5ndGg7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleChuZXdJbmRleCk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZChgb3B0aW9uLSR7bmV3SW5kZXh9YCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgIGlmIChmb2N1c2VkSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBoYW5kbGVTdWJtaXRTZWFyY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25UZXh0ID0gYXV0b2NvbXBsZXRlUmVzdWx0c1tmb2N1c2VkSW5kZXhdO1xuICAgICAgICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdChzdWdnZXN0aW9uVGV4dCwgZm9jdXNlZEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICAgICAgc2V0Rm9jdXNlZE9wdGlvbklkKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgICAgZm9jdXNlZEluZGV4LFxuICAgICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0LFxuICAgICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIF1cbiAgKTtcblxuICBjb25zdCBzZXRTZWFyY2hUZXh0VXRpbGl0eSA9IHVzZUNhbGxiYWNrKCh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KHRleHQpO1xuICAgIHNldEhhc1RleHQodGV4dC50cmltKCkubGVuZ3RoID4gMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCByZXNldFNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KFwiXCIpO1xuICAgIHNldEhhc1RleHQoZmFsc2UpO1xuICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB7XG4gICAgLy8gU3RhdGVcbiAgICBzZWFyY2hUZXh0LFxuICAgIGhhc1RleHQsXG4gICAgaXNGb2N1c2VkLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuXG4gICAgLy8gSGFuZGxlcnNcbiAgICBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Qmx1cixcbiAgICBoYW5kbGVLZXlEb3duLFxuICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBoYW5kbGVTdWJtaXRTZWFyY2gsXG5cbiAgICAvLyBVdGlsaXRpZXNcbiAgICBzZXRTZWFyY2hUZXh0OiBzZXRTZWFyY2hUZXh0VXRpbGl0eSxcbiAgICByZXNldFNlYXJjaCxcbiAgfTtcbn07IiwiaW1wb3J0IHsgUHJvZHVjdFJldHJpZXZhbFBhcmFtcywgUHJvZHVjdFJldHJpZXZhbFJlc3VsdCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8vIFRoaXMgd2lsbCBiZSBzZXQgYnkgdGhlIFByb2R1Y3RSZXRyaWV2YWxQcm92aWRlciB3aGVuIGl0IGluaXRpYWxpemVzXG5sZXQgcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uOlxuICB8ICgocGFyYW1zOiBQcm9kdWN0UmV0cmlldmFsUGFyYW1zKSA9PiBQcm9taXNlPFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQ+KVxuICB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgY29uc3Qgc2V0UHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uID0gKFxuICBmbjogKHBhcmFtczogUHJvZHVjdFJldHJpZXZhbFBhcmFtcykgPT4gUHJvbWlzZTxQcm9kdWN0UmV0cmlldmFsUmVzdWx0PlxuKSA9PiB7XG4gIHByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9IGZuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9ICgpID0+IHtcbiAgaWYgKCFwcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIlByb2R1Y3QgcmV0cmlldmFsIGZ1bmN0aW9uIG5vdCBpbml0aWFsaXplZC4gTWFrZSBzdXJlIFByb2R1Y3RSZXRyaWV2YWxQcm92aWRlciBpcyBtb3VudGVkLlwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyUHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uID0gKCkgPT4ge1xuICBwcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24gPSBudWxsO1xufTsiLCJcbmltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGdldFByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiB9IGZyb20gXCIuL3Byb2R1Y3RSZXRyaWV2YWxBZGFwdGVyXCI7XG5pbXBvcnQgeyBQcm9kdWN0UmV0cmlldmFsUGFyYW1zLCBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxTdGF0ZSB7XG4gIGRhdGE6IFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQgfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdFByb2R1Y3RJZHM6IHN0cmluZ1tdIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IHByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbTxQcm9kdWN0UmV0cmlldmFsU3RhdGU+KHtcbiAgZGF0YTogbnVsbCxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGVycm9yOiBudWxsLFxuICBsYXN0UHJvZHVjdElkczogbnVsbCxcbn0pO1xuXG5leHBvcnQgY29uc3QgcGVyZm9ybVByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgYXN5bmMgKGdldCwgc2V0LCBwYXJhbXM6IFByb2R1Y3RSZXRyaWV2YWxQYXJhbXMpID0+IHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBnZXQocHJvZHVjdFJldHJpZXZhbEF0b20pO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0ZS5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47IC8vIFByZXZlbnQgY29uY3VycmVudCByZXRyaWV2YWxzXG4gICAgfVxuXG4gICAgc2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tLCB7XG4gICAgICBkYXRhOiBudWxsLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJldHJpZXZlUHJvZHVjdHMgPSBnZXRQcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24oKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJldHJpZXZlUHJvZHVjdHMocGFyYW1zKTtcbiAgICAgIHNldChwcm9kdWN0UmV0cmlldmFsQXRvbSwge1xuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkXCI7XG4gICAgICBzZXQocHJvZHVjdFJldHJpZXZhbEF0b20sIHtcbiAgICAgICAgZGF0YTogbnVsbCxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGxhc3RQcm9kdWN0SWRzOiBwYXJhbXMucHJvZHVjdElkcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcblxuLy8gR2V0IGp1c3QgdGhlIHByb2R1Y3RzIGFycmF5IChhbHJlYWR5IG5vcm1hbGl6ZWQgYnkgc2VydmljZSlcbmV4cG9ydCBjb25zdCByZXRyaWV2ZWRQcm9kdWN0c0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcmV0cmlldmFsRGF0YSA9IGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkuZGF0YTtcbiAgcmV0dXJuIHJldHJpZXZhbERhdGE/LnByb2R1Y3RzIHx8IFtdO1xufSk7XG5cbmV4cG9ydCBjb25zdCBwcm9kdWN0UmV0cmlldmFsTG9hZGluZ0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgcmV0dXJuIGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkubG9hZGluZztcbn0pO1xuXG5leHBvcnQgY29uc3QgcHJvZHVjdFJldHJpZXZhbEVycm9yQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICByZXR1cm4gZ2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tKS5lcnJvcjtcbn0pOyIsImltcG9ydCB7IHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tIFwic3JjL2NvbnRleHRzL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dFwiO1xuaW1wb3J0IHtcbiAgcmV0cmlldmVkUHJvZHVjdHNBdG9tLFxuICBwZXJmb3JtUHJvZHVjdFJldHJpZXZhbEF0b20sXG4gIHByb2R1Y3RSZXRyaWV2YWxBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQVBJXCI7XG5pbXBvcnQgeyB1c2VOZXdPcmdDb25maWcgfSBmcm9tIFwiLi4vTmV3T3JnQ29uZmlnXCI7XG5pbXBvcnQgeyBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlXCI7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuXG4vKipcbiAqIEEgaG9vayB0byBnZXQgcmVjb21tZW5kZWQgcHJvZHVjdHMuXG4gKiBJdCBjaGVja3MgdGhlIGBJc1JlY29tbWVuZGVkUHJvZHVjdHNFbmFibGVkYCBmZWF0dXJlIGdhdGUgYW5kIHRyaWdnZXJzIGZldGNoaW5nIGlmIG5lZWRlZC5cbiAqIElmIHRoZSBnYXRlIGlzIGVuYWJsZWQsIGl0IHJldHVybnMgdGhlIGxpc3Qgb2YgcmVjb21tZW5kZWQgcHJvZHVjdHMuXG4gKiBJZiB0aGUgZ2F0ZSBpcyBkaXNhYmxlZCwgaXQgcmV0dXJucyBhbiBlbXB0eSBhcnJheS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbGlzdCBvZiByZWNvbW1lbmRlZCBwcm9kdWN0cyBvciBhbiBlbXB0eSBhcnJheS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVJlY29tbWVuZGVkUHJvZHVjdHMgPVxuICAoKTogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1tcImF0dHJpYnV0ZXNcIl1bXSA9PiB7XG4gICAgY29uc3QgeyBmZWF0dXJlRmxhZ1NlcnZpY2UgfSA9IHVzZUZlYXR1cmVGbGFnU2VydmljZSgpO1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IGZlYXR1cmVGbGFnU2VydmljZT8uaXNGZWF0dXJlR2F0ZUVuYWJsZWQoXG4gICAgICBGZWF0dXJlR2F0ZXMuSXNSZWNvbW1lbmRlZFByb2R1Y3RzRW5hYmxlZFxuICAgICk7XG4gICAgY29uc3QgcmVjb21tZW5kZWRQcm9kdWN0cyA9IHVzZUF0b21WYWx1ZShyZXRyaWV2ZWRQcm9kdWN0c0F0b20pO1xuICAgIGNvbnN0IHBlcmZvcm1Qcm9kdWN0UmV0cmlldmFsID0gdXNlU2V0QXRvbShwZXJmb3JtUHJvZHVjdFJldHJpZXZhbEF0b20pO1xuICAgIGNvbnN0IHsgbGFzdFByb2R1Y3RJZHMgfSA9IHVzZUF0b21WYWx1ZShwcm9kdWN0UmV0cmlldmFsQXRvbSk7XG4gICAgY29uc3Qgb3JnVUlDb25maWcgPSB1c2VOZXdPcmdDb25maWcoKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCByZWNvbW1lbmRlZFByb2R1Y3RJZHMgPSBvcmdVSUNvbmZpZy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWdcbiAgICAgICAgPyBvcmdVSUNvbmZpZy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWcucmVjb21tZW5kZWRQcm9kdWN0c1xuICAgICAgICA6IFtdO1xuICAgICAgLy8gRmV0Y2ggb25seSBpZiB0aGUgZmVhdHVyZSBpcyBlbmFibGVkLCB0aGVyZSBhcmUgSURzIHRvIGZldGNoLCBhbmQgd2UgaGF2ZW4ndCBhbHJlYWR5IGZldGNoZWQgdGhlbS5cbiAgICAgIGlmIChcbiAgICAgICAgaXNFbmFibGVkICYmXG4gICAgICAgIHJlY29tbWVuZGVkUHJvZHVjdElkcyAmJlxuICAgICAgICByZWNvbW1lbmRlZFByb2R1Y3RJZHMubGVuZ3RoID4gMCAmJlxuICAgICAgICAhbGFzdFByb2R1Y3RJZHNcbiAgICAgICkge1xuICAgICAgICBwZXJmb3JtUHJvZHVjdFJldHJpZXZhbCh7IHByb2R1Y3RJZHM6IHJlY29tbWVuZGVkUHJvZHVjdElkcyB9KTtcbiAgICAgIH1cbiAgICB9LCBbaXNFbmFibGVkLCBwZXJmb3JtUHJvZHVjdFJldHJpZXZhbCwgbGFzdFByb2R1Y3RJZHMsIG9yZ1VJQ29uZmlnXSk7XG5cbiAgICByZXR1cm4gaXNFbmFibGVkID8gcmVjb21tZW5kZWRQcm9kdWN0cyA6IFtdO1xuICB9OyIsImltcG9ydCB7IHVzZUF0b20sIHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7XG4gIGFkZFNlYXJjaEZpbHRlckF0b20sXG4gIGNsZWFyU2VhcmNoRmlsdGVyc0F0b20sXG4gIGNyZWF0ZUZpbHRlck9wdGlvbixcbiAgZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20sXG4gIHBlcmZvcm1TZWFyY2hBdG9tLFxuICByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tLFxuICBzZWFyY2hBdG9tLFxuICBzZWFyY2hGaWx0ZXJzQXRvbSxcbiAgc2VhcmNoUGFyYW1zQXRvbSxcbiAgc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tLFxuICBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLFxuICBTZWxlY3RlZEZpbHRlck9wdGlvbixcbn0gZnJvbSBcInNyYy9hdG9tcy9zZWFyY2hcIjtcbmltcG9ydCB7XG4gIGlzRmlsdGVyT3BlbkF0b20sXG59IGZyb20gXCJzcmMvYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaFwiO1xuaW1wb3J0IHsgZm9ybWF0RmlsdGVyRGlzcGxheU5hbWUgfSBmcm9tIFwic3JjL2F0b21zL3NlYXJjaC91dGlsc1wiO1xuaW1wb3J0IHsgUHJvZHVjdFNvcnRpbmcgfSBmcm9tIFwic3JjL2F0b21zL3NlYXJjaC90eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSxcbiAgdXNlQW1wbGl0dWRlLFxufSBmcm9tIFwic3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQvYW1wbGl0dWRlQ29udGV4dFwiO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL3NwaWZmeVdpZGdldHNcIjtcbmltcG9ydCB7IFByb2R1Y3RDYXJkQ29uZmlnIH0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHtcbiAgU2VhcmNoRmlsdGVyRGF0dW0sXG4gIFNlbGVjdEZpbHRlckl0ZW0sXG59IGZyb20gXCJzcmMvdHlwZXMvc2VhcmNoLWZpbHRlci10eXBlc1wiO1xuaW1wb3J0IHsgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlLCBTZWFyY2hSZXN1bHRzU3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IG9yZ1Nob3J0TmFtZUF0b20gfSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCB7IHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50IH0gZnJvbSBcIi4uL1RyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50XCI7XG5pbXBvcnQgeyBhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvYW1wbGl0dWRlL2FtcGxpdHVkZVRyYWNrRXZlbnRBdG9tXCI7XG5pbXBvcnQgeyBuZXdPcmdDb25maWdBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9vcmdcIjtcbmltcG9ydCB7IHJldHJpZXZlZFByb2R1Y3RzQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvc2VhcmNoL3Byb2R1Y3RSZXRyaWV2YWxBUElcIjtcbmltcG9ydCB7IHVzZVNlYXJjaElucHV0IH0gZnJvbSBcIi4vdXNlU2VhcmNoSW5wdXRcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgdXNlTmV3T3JnQ29uZmlnIH0gZnJvbSBcIi4uL05ld09yZ0NvbmZpZ1wiO1xuaW1wb3J0IHsgdXNlUmVjb21tZW5kZWRQcm9kdWN0cyB9IGZyb20gXCIuL3VzZVJlY29tbWVuZGVkUHJvZHVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHRzSG9jUHJvcHMge1xuICAvLyBEYXRhXG4gIHNlYXJjaERhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGw7XG4gIHNlYXJjaFJlc3BvbnNlSWQ6IHN0cmluZztcbiAgbWVyY2hhbnRTaG9ydE5hbWU6IHN0cmluZztcbiAgcHJvZHVjdENhcmRDb25maWc6IFByb2R1Y3RDYXJkQ29uZmlnO1xuICBwcm9kdWN0TGlzdDogU2VhcmNoUmVzcG9uc2VQcm9kdWN0W107XG4gIGF1dG9jb21wbGV0ZVJlc3VsdHM6IHN0cmluZ1tdO1xuICBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICBhdmFpbGFibGVEeW5hbWljRmlsdGVyczogeyBuYW1lOiBzdHJpbmc7IGRpc3BsYXlOYW1lOiBzdHJpbmcgfVtdO1xuICBzZWxlY3RlZEZpbHRlck9wdGlvbnM6IFNlbGVjdGVkRmlsdGVyT3B0aW9uW107XG4gIHJlY29tbWVuZGVkUHJvZHVjdHM6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXVtdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZzogc3RyaW5nO1xuICBzZWFyY2hPdmVybGF5SGVhZGluZzogc3RyaW5nO1xuXG4gIC8vIFN0YXRlXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgc2VhcmNoUmVzdWx0c1N0YXRlOiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4gIGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbjtcbiAgaXNGaWx0ZXJPcGVuOiBib29sZWFuO1xuICBzaG91bGRTaG93QXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBmb2N1c2VkSW5kZXg6IG51bWJlcjtcbiAgZm9jdXNlZE9wdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gVUlcbiAgZmlsdGVyQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIC8vIEV2ZW50IEhhbmRsZXJzXG4gIG9uU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblN1Ym1pdFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgb25BdXRvY29tcGxldGVTZWxlY3Q6IChzdWdnZXN0aW9uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uS2V5RG93bjogKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvblNlYXJjaElucHV0Rm9jdXM6ICgpID0+IHZvaWQ7XG4gIG9uU2VhcmNoSW5wdXRCbHVyOiAoKSA9PiB2b2lkO1xuICBvblRvZ2dsZUR5bmFtaWNGaWx0ZXI6ICh7IGZpbHRlciwgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lIH06IHsgZmlsdGVyOiBzdHJpbmc7IGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZTogc3RyaW5nIH0pID0+IHZvaWQ7XG4gIG9uU2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbTtcbiAgb25SZW1vdmVGaWx0ZXI6IChmaWx0ZXI6IFNlbGVjdGVkRmlsdGVyT3B0aW9uKSA9PiB2b2lkO1xuICBvbkNsZWFyQWxsRmlsdGVyczogKCkgPT4gdm9pZDtcbiAgc2V0SXNGaWx0ZXJPcGVuOiAoaXNGaWx0ZXJPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xuICByZXNldFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgLy8gUmVmc1xuICBzZWFyY2hSZXN1bHRzUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufVxuXG5leHBvcnQgY29uc3QgdXNlU2VhcmNoID0gKCk6IFNlYXJjaFJlc3VsdHNIb2NQcm9wcyA9PiB7XG4gIC8vIEF0b21zXG4gIGNvbnN0IGNvbmZpZyA9IHVzZU5ld09yZ0NvbmZpZygpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSB1c2VBdG9tVmFsdWUob3JnU2hvcnROYW1lQXRvbSk7XG4gIGNvbnN0IHsgZGF0YTogc2VhcmNoRGF0YSwgbG9hZGluZzogaXNMb2FkaW5nU2VhcmNoIH0gPVxuICAgIHVzZUF0b21WYWx1ZShzZWFyY2hBdG9tKTtcbiAgY29uc3QgcHJvZHVjdExpc3QgPSB1c2VBdG9tVmFsdWUoZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20pO1xuICBjb25zdCBwZXJmb3JtU2VhcmNoID0gdXNlU2V0QXRvbShwZXJmb3JtU2VhcmNoQXRvbSk7XG4gIGNvbnN0IFt7IHF1ZXJ5IH1dID0gdXNlQXRvbShzZWFyY2hQYXJhbXNBdG9tKTtcbiAgY29uc3QgW2lzRmlsdGVyT3Blbiwgc2V0SXNGaWx0ZXJPcGVuXSA9IHVzZUF0b20oaXNGaWx0ZXJPcGVuQXRvbSk7XG4gIGNvbnN0IFtzZWxlY3RlZEZpbHRlck9wdGlvbnNdID0gdXNlQXRvbShzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgYWRkRmlsdGVyID0gdXNlU2V0QXRvbShhZGRTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgcmVtb3ZlRmlsdGVyID0gdXNlU2V0QXRvbShyZW1vdmVTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgW3Byb2R1Y3RTb3J0aW5nLCBzZXRQcm9kdWN0U29ydGluZ10gPSB1c2VBdG9tKHNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSk7XG4gIGNvbnN0IGNsZWFyRmlsdGVycyA9IHVzZVNldEF0b20oY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IHNlYXJjaEZpbHRlcnMgPSB1c2VBdG9tVmFsdWUoc2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCByZWNvbW1lbmRlZFByb2R1Y3RzID0gdXNlUmVjb21tZW5kZWRQcm9kdWN0cygpO1xuXG4gIC8vIFJlZnNcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIFxuICAvLyBVdGlsaXRpZXNcbiAgY29uc3Qgc2Nyb2xsVG9Ub3AgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gc2VhcmNoUmVzdWx0c1JlZi5jdXJyZW50O1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnRhaW5lci5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH0sIFtdKTtcbiAgXG4gIC8vIFNlYXJjaCBJbnB1dCBIb29rXG4gIGNvbnN0IHNlYXJjaElucHV0ID0gdXNlU2VhcmNoSW5wdXQoe1xuICAgIGluaXRpYWxTZWFyY2hUZXh0OiBxdWVyeSB8fCAnJyxcbiAgICBzZWFyY2hPcmlnaW46IFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBvblNlYXJjaFN1Ym1pdDogKHNlYXJjaFF1ZXJ5KSA9PiB7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IHNlYXJjaFF1ZXJ5IH0pO1xuICAgIH0sXG4gIH0pO1xuICBcbiAgY29uc3Qge1xuICAgIHNlYXJjaFRleHQsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2UsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgaGFuZGxlS2V5RG93bixcbiAgICBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIHNldFNlYXJjaFRleHQsXG4gICAgcmVzZXRTZWFyY2gsXG4gIH0gPSBzZWFyY2hJbnB1dDtcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1N0YXRlID0gZ2V0U2VhcmNoUmVzdWx0c1N0YXRlKGlzTG9hZGluZ1NlYXJjaCwgc2VhcmNoRGF0YSk7XG5cbiAgY29uc3QgZHluYW1pY0ZpbHRlcnMgPSBzZWFyY2hEYXRhPy5maWx0ZXJzIHx8IFtdO1xuXG4gIC8vIFByb3ZpZGUgZmFsbGJhY2sgdmFsdWVzIHdoZW4gb3JnVUlDb25maWcgaXMgbm90IHlldCBhdmFpbGFibGVcbiAgY29uc3Qgc2FmZVByb2R1Y3RDYXJkQ29uZmlnID0gY29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzXG4gICAgPy5wcm9kdWN0Q2FyZENvbmZpZyB8fCB7XG4gICAgdmFyaWFudDogXCJtaW5pbWFsXCIsXG4gICAgaG92ZXJWYXJpYW50OiBcIm5vbmVcIixcbiAgICBsYXlvdXRWYXJpYW50OiBcInNxdWFyZVwiLFxuICB9O1xuICBjb25zdCBzYWZlTWVyY2hhbnRTaG9ydE5hbWUgPSBvcmdTaG9ydE5hbWUgfHwgXCJcIjtcbiAgY29uc3Qgc2VhcmNoQ29uZmlnID0gY29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWc7XG4gIGNvbnN0IHNhZmVSZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZyA9IHNlYXJjaENvbmZpZz8ucmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgfHwgJ1N1Z2dlc3RlZCBQcm9kdWN0cydcbiAgY29uc3Qgc2FmZVNlYXJjaE92ZXJsYXlIZWFkaW5nID0gc2VhcmNoQ29uZmlnPy5zZWFyY2hPdmVybGF5SGVhZGluZyA/PyAnV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kPydcbiAgY29uc3QgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZHluYW1pY0ZpbHRlcnNcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChkeW5hbWljRmlsdGVyTmFtZSkgPT5cbiAgICAgICAgICAhc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSBgZHluYW1pYzoke2R5bmFtaWNGaWx0ZXJOYW1lfWApLFxuICAgICAgKVxuICAgICAgLm1hcCgoZHluYW1pY0ZpbHRlck5hbWUpID0+ICh7XG4gICAgICAgIG5hbWU6IGR5bmFtaWNGaWx0ZXJOYW1lLFxuICAgICAgICBkaXNwbGF5TmFtZTogZm9ybWF0RmlsdGVyRGlzcGxheU5hbWUoZHluYW1pY0ZpbHRlck5hbWUpLFxuICAgICAgfSkpO1xuICB9LCBbZHluYW1pY0ZpbHRlcnMsIHNlbGVjdGVkRmlsdGVyT3B0aW9uc10pO1xuXG4gIGNvbnN0IGZpbHRlcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBzb3J0T3B0aW9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuRkVBVFVSRUQpLFxuICAgICAgICBkaXNwbGF5TmFtZTogJ1JlbGV2YW5jZScsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVELFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDKSxcbiAgICAgICAgZGlzcGxheU5hbWU6ICdQcmljZTogTG93IHRvIEhpZ2gnLFxuICAgICAgICBwcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgIGlzU2VsZWN0ZWQ6IHByb2R1Y3RTb3J0aW5nID09PSBQcm9kdWN0U29ydGluZy5QUklDRV9BU0MsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IFN0cmluZyhQcm9kdWN0U29ydGluZy5QUklDRV9ERVNDKSxcbiAgICAgICAgZGlzcGxheU5hbWU6ICdQcmljZTogSGlnaCB0byBMb3cnLFxuICAgICAgICBwcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgIGlzU2VsZWN0ZWQ6IHByb2R1Y3RTb3J0aW5nID09PSBQcm9kdWN0U29ydGluZy5QUklDRV9ERVNDLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIFt7IGZpbHRlcklkOiAnc29ydCcsIGRpc3BsYXlOYW1lOiAnU09SVCcsIGl0ZW1zOiBzb3J0T3B0aW9ucyB9LCAuLi5zZWFyY2hGaWx0ZXJzXSBhcyBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICB9LCBbcHJvZHVjdFNvcnRpbmcsIHNlYXJjaEZpbHRlcnNdKTtcblxuICBjb25zdCBmaWx0ZXJCdXR0b25UZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDb3VudCA9IGZpbHRlcnMucmVkdWNlKChhY2M6IG51bWJlciwgZmlsdGVyKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2MgKyBmaWx0ZXIuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcbiAgICB9LCAwKTtcbiAgICBpZiAoc2VsZWN0ZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdGaWx0ZXIgJiBTb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIGBGaWx0ZXIgJiBTb3J0ICgke3NlbGVjdGVkQ291bnR9KWA7XG4gIH0sIFtmaWx0ZXJzXSk7XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cblxuICBjb25zdCBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUgfTogeyBmaWx0ZXI6IHN0cmluZzsgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgZmlsdGVyVHlwZTogJ0R5bmFtaWMnLFxuICAgICAgICAgIGZpbHRlclZhbHVlOiBmaWx0ZXIsXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBhZGRGaWx0ZXIoY3JlYXRlRmlsdGVyT3B0aW9uKCdkeW5hbWljJywgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUpKTtcbiAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgfSxcbiAgICBbYWRkRmlsdGVyLCBzZWFyY2hUZXh0LCBzY3JvbGxUb1RvcF0sXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmVtb3ZlRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHtcbiAgICAgIHJlbW92ZUZpbHRlcihmaWx0ZXIuaWQpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFtyZW1vdmVGaWx0ZXIsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVySWQsXG4gICAgICBmaWx0ZXJJdGVtSWQsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKGZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgY29uc3QgbmV3U29ydCA9IGZpbHRlckl0ZW1JZCBhcyBQcm9kdWN0U29ydGluZztcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFNvcnRDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHNvcnRUeXBlOiBuZXdTb3J0LFxuICAgICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRQcm9kdWN0U29ydGluZyhuZXdTb3J0KTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgICAgcmVtb3ZlRmlsdGVyKGAke2ZpbHRlcklkfToke2ZpbHRlckl0ZW1JZH1gKTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTdGF0aWMnLFxuICAgICAgICAgICAgZmlsdGVyQ2F0ZWdvcnk6IGZpbHRlcklkLFxuICAgICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlckl0ZW1JZCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgYWRkRmlsdGVyKGNyZWF0ZUZpbHRlck9wdGlvbihmaWx0ZXJJZCwgZmlsdGVySXRlbUlkLCBkaXNwbGF5TmFtZSkpO1xuICAgICAgICBzY3JvbGxUb1RvcCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2FkZEZpbHRlciwgcmVtb3ZlRmlsdGVyLCBzZXRQcm9kdWN0U29ydGluZywgc2VhcmNoVGV4dCwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG5cbiAgY29uc3QgaGFuZGxlQ2xlYXJBbGxGaWx0ZXJzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFByb2R1Y3RTb3J0aW5nKFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVEKTtcbiAgICBjbGVhckZpbHRlcnMoKTtcbiAgICBzY3JvbGxUb1RvcCgpO1xuICB9LCBbc2V0UHJvZHVjdFNvcnRpbmcsIGNsZWFyRmlsdGVycywgc2Nyb2xsVG9Ub3BdKTtcblxuICAvLyBTaWRlIEVmZmVjdHNcbiAgdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQoXG4gICAgU3BpZmZ5V2lkZ2V0cy5TZWFyY2hSZXN1bHRzLFxuICAgIHNlYXJjaFJlc3VsdHNSZWYsXG4gICAge30sXG4gICAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hDb21wb25lbnRWaXNpYmxlLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLlJlc3VsdHMgfHwgc2VhcmNoUmVzdWx0c1N0YXRlID09PSBTZWFyY2hSZXN1bHRzU3RhdGUuTm9SZXN1bHRzKSB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFJlc3VsdHNWaWV3ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgICAgcmVzdWx0c0NvdW50OiBwcm9kdWN0TGlzdC5sZW5ndGgsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcm9kdWN0TGlzdC5sZW5ndGgsIHNlYXJjaFJlc3VsdHNTdGF0ZV0pO1xuXG4gIC8vIFRoaXMgaXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZSBzZWFyY2ggdGV4dCB0cmlnZ2VyaW5nIGEgc2VhcmNoXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHF1ZXJ5ICYmIHF1ZXJ5ICE9PSBzZWFyY2hUZXh0KSB7XG4gICAgICBjb25zdCBlc3EgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgnZXNxJyk7XG4gICAgICBzZXRTZWFyY2hUZXh0KHF1ZXJ5KTtcbiAgICAgIHBlcmZvcm1TZWFyY2goeyBxdWVyeTogZXNxID8/IHF1ZXJ5IH0pO1xuICAgIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcGVyZm9ybVNlYXJjaCwgcXVlcnksIHNldFNlYXJjaFRleHRdKTtcblxuICByZXR1cm4ge1xuICAgIHNlYXJjaERhdGEsXG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc2VhcmNoRGF0YT8uc2VhcmNoUmVzcG9uc2VJZCA/PyAnJyxcbiAgICBtZXJjaGFudFNob3J0TmFtZTogc2FmZU1lcmNoYW50U2hvcnROYW1lLFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcsXG4gICAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyxcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzogc2FmZVByb2R1Y3RDYXJkQ29uZmlnLFxuICAgIHByb2R1Y3RMaXN0LFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHMsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzZWFyY2hGaWx0ZXJzOiBmaWx0ZXJzLFxuICAgIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzLFxuICAgIHNlbGVjdGVkRmlsdGVyT3B0aW9ucyxcbiAgICBzZWFyY2hUZXh0LFxuICAgIHF1ZXJ5OiBxdWVyeSB8fCAnJyxcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGUsXG4gICAgaXNMb2FkaW5nU2VhcmNoLFxuICAgIGlzRmlsdGVyT3BlbixcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgZmlsdGVyQnV0dG9uVGV4dCxcbiAgICBvblNlYXJjaElucHV0Q2hhbmdlOiBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBvblN1Ym1pdFNlYXJjaDogaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxuICAgIG9uU2VhcmNoSW5wdXRGb2N1czogaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBvblNlYXJjaElucHV0Qmx1cjogaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlcixcbiAgICBvblNlbGVjdEZpbHRlckl0ZW06IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW0sXG4gICAgb25SZW1vdmVGaWx0ZXI6IGhhbmRsZVJlbW92ZUZpbHRlcixcbiAgICBvbkNsZWFyQWxsRmlsdGVyczogaGFuZGxlQ2xlYXJBbGxGaWx0ZXJzLFxuICAgIHNldElzRmlsdGVyT3BlbixcbiAgICByZXNldFNlYXJjaCxcbiAgICBzZWFyY2hSZXN1bHRzUmVmLFxuICB9O1xufTsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0NBLE1BQWEsa0JBQWtCLEVBQzdCLG9CQUFvQixJQUNwQixjQUNBLHFCQUMrQztDQUMvQyxNQUFNLGdDQUFxQkEscUNBQXdCO0NBR25ELE1BQU0sQ0FBQyxZQUFZLHFDQUEwQixrQkFBa0I7Q0FDL0QsTUFBTSxDQUFDLFNBQVMsa0NBQXVCLGtCQUFrQixNQUFNLENBQUMsU0FBUyxFQUFFO0NBQzNFLE1BQU0sQ0FBQyxXQUFXLG9DQUF5QixNQUFNO0NBQ2pELE1BQU0sQ0FBQyxjQUFjLHVDQUE0QixHQUFHO0NBQ3BELE1BQU0sQ0FBQyxpQkFBaUIsMENBQ3RCLE9BQ0Q7Q0FFRCxNQUFNLG9EQURpQ0MsMkNBQXNCLENBQ1Q7Q0FDcEQsTUFBTSx3QkFBd0IsMEJBQTBCLFNBQVM7Q0FHakUsTUFBTSw0Q0FBaUMsTUFBTTtDQUc3QyxNQUFNLHlCQUF5QixXQUFXLGFBQWE7Q0FFdkQsTUFBTSwyQkFBMkI7Q0FHakMsTUFBTSx3Q0FDRztFQUNMLGNBQWM7RUFDZCxnQkFBZ0I7RUFFaEIsV0FBVztFQUVYLFVBQVU7RUFFVixVQUFVO0VBRVYsb0JBQW9CO0VBRXBCLE1BQU0sRUFBRTtFQUVSLG1CQUFtQjtFQUVuQixnQkFBZ0I7RUFDakIsR0FDRCxFQUFFLENBQ0g7Q0FFRCxNQUFNLGdDQUFxQjtBQUN6QixNQUFJLENBQUMsMEJBQTBCLE9BQVEsUUFBTztBQUM5QyxTQUFPLElBQUlDLGdCQUFLLDJCQUEyQixZQUFZO0lBQ3RE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
|
|
503
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20iLCJhdXRvY29tcGxldGVTdGF0ZUF0b20iLCJGdXNlIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsInByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbjpcbiAgfCAoKHBhcmFtczogUHJvZHVjdFJldHJpZXZhbFBhcmFtcykgPT4gUHJvbWlzZTxQcm9kdWN0UmV0cmlldmFsUmVzdWx0PilcbiAgfCBudWxsIiwiZXJyb3I6IHVua25vd24iLCJ1c2VGZWF0dXJlRmxhZ1NlcnZpY2UiLCJGZWF0dXJlR2F0ZXMiLCJ1c2VOZXdPcmdDb25maWciLCJ1c2VOZXdPcmdDb25maWciLCJvcmdTaG9ydE5hbWVBdG9tIiwic2VhcmNoQXRvbSIsImZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tIiwicGVyZm9ybVNlYXJjaEF0b20iLCJzZWFyY2hQYXJhbXNBdG9tIiwiaXNGaWx0ZXJPcGVuQXRvbSIsInNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20iLCJhZGRTZWFyY2hGaWx0ZXJBdG9tIiwicmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSIsInNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSIsImNsZWFyU2VhcmNoRmlsdGVyc0F0b20iLCJzZWFyY2hGaWx0ZXJzQXRvbSIsIlNwaWZmeVdpZGdldHMiLCJnZXRTZWFyY2hSZXN1bHRzU3RhdGUiLCJmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSIsIlByb2R1Y3RTb3J0aW5nIiwidXNlQW1wbGl0dWRlIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsImNyZWF0ZUZpbHRlck9wdGlvbiIsImhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0iLCJTZWFyY2hSZXN1bHRzU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvU2VhcmNoL3VzZVNlYXJjaElucHV0LnRzIiwiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQWRhcHRlci50cyIsIi4uLy4uLy4uL3NyYy9hdG9tcy9zZWFyY2gvcHJvZHVjdFJldHJpZXZhbEFQSS50cyIsIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlUmVjb21tZW5kZWRQcm9kdWN0cy50cyIsIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgRnVzZSBmcm9tIFwiZnVzZS5qc1wiO1xuXG5pbXBvcnQgeyBhdXRvY29tcGxldGVTdGF0ZUF0b20gfSBmcm9tIFwic3JjL2F0b21zL2dsb2JhbFNlYXJjaFwiO1xuaW1wb3J0IHsgYW1wbGl0dWRlVHJhY2tFdmVudEF0b20gfSBmcm9tIFwic3JjL2F0b21zL2FtcGxpdHVkZS9hbXBsaXR1ZGVUcmFja0V2ZW50QXRvbVwiO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gXCJzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dFwiO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL3NwaWZmeVdpZGdldHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBVc2VTZWFyY2hJbnB1dFByb3BzIHtcbiAgaW5pdGlhbFNlYXJjaFRleHQ/OiBzdHJpbmc7XG4gIHNlYXJjaE9yaWdpbjogU3BpZmZ5V2lkZ2V0cztcbiAgb25TZWFyY2hTdWJtaXQ/OiAocXVlcnk6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VTZWFyY2hJbnB1dFJldHVybiB7XG4gIC8vIFN0YXRlXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgaGFzVGV4dDogYm9vbGVhbjtcbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBmb2N1c2VkSW5kZXg6IG51bWJlcjtcbiAgZm9jdXNlZE9wdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGF1dG9jb21wbGV0ZVJlc3VsdHM6IHN0cmluZ1tdO1xuICBzaG91bGRTaG93QXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBcbiAgLy8gSGFuZGxlcnNcbiAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICBoYW5kbGVTZWFyY2hJbnB1dEJsdXI6ICgpID0+IHZvaWQ7XG4gIGhhbmRsZUtleURvd246IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZDtcbiAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nLCByYW5rUG9zaXRpb24/OiBudW1iZXIpID0+IHZvaWQ7XG4gIGhhbmRsZVN1Ym1pdFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgXG4gIC8vIFV0aWxpdGllc1xuICBzZXRTZWFyY2hUZXh0OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xuICByZXNldFNlYXJjaDogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaElucHV0ID0gKHtcbiAgaW5pdGlhbFNlYXJjaFRleHQgPSBcIlwiLFxuICBzZWFyY2hPcmlnaW4sXG4gIG9uU2VhcmNoU3VibWl0LFxufTogVXNlU2VhcmNoSW5wdXRQcm9wcyk6IFVzZVNlYXJjaElucHV0UmV0dXJuID0+IHtcbiAgY29uc3QgdHJhY2sgPSB1c2VBdG9tVmFsdWUoYW1wbGl0dWRlVHJhY2tFdmVudEF0b20pO1xuXG4gIC8vIFN0YXRlXG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxTZWFyY2hUZXh0KTtcbiAgY29uc3QgW2hhc1RleHQsIHNldEhhc1RleHRdID0gdXNlU3RhdGUoaW5pdGlhbFNlYXJjaFRleHQudHJpbSgpLmxlbmd0aCA+IDApO1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZm9jdXNlZEluZGV4LCBzZXRGb2N1c2VkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICBjb25zdCBbZm9jdXNlZE9wdGlvbklkLCBzZXRGb2N1c2VkT3B0aW9uSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgY29uc3QgYXV0b2NvbXBsZXRlU3RhdGUgPSB1c2VBdG9tVmFsdWUoYXV0b2NvbXBsZXRlU3RhdGVBdG9tKTtcbiAgY29uc3QgZ2xvYmFsQXV0b2NvbXBsZXRlUmVzdWx0cyA9IGF1dG9jb21wbGV0ZVN0YXRlLnJlc3VsdHM7XG4gIGNvbnN0IGlzQXV0b2NvbXBsZXRlRW5hYmxlZCA9IGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoID4gMDtcblxuICAvLyBSZWZzXG4gIGNvbnN0IGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlID0gdXNlUmVmKGZhbHNlKTtcblxuICAvLyBDb21wdXRlZFxuICBjb25zdCBzaG91bGRTaG93QXV0b2NvbXBsZXRlID0gaGFzVGV4dCAmJiBpc0ZvY3VzZWQgJiYgaXNBdXRvY29tcGxldGVFbmFibGVkO1xuXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdCA9IDU7XG5cbiAgLy8gQ29uZmlndXJlIEZ1c2UuanMgZm9yIGZ1enp5IHNlYXJjaCB3aXRoIGN1c3RvbSBzY29yaW5nXG4gIGNvbnN0IGZ1c2VPcHRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgaW5jbHVkZVNjb3JlOiB0cnVlLFxuICAgICAgaW5jbHVkZU1hdGNoZXM6IHRydWUsXG4gICAgICAvLyBGdXp6eSBtYXRjaGluZyB0aHJlc2hvbGQgKDAuMCA9IHBlcmZlY3QgbWF0Y2gsIDEuMCA9IG1hdGNoIGFueXRoaW5nKVxuICAgICAgdGhyZXNob2xkOiAwLjMsXG4gICAgICAvLyBMb2NhdGlvbiB3aGVyZSBtYXRjaCBpcyBleHBlY3RlZCAoMCA9IGJlZ2lubmluZylcbiAgICAgIGxvY2F0aW9uOiAwLFxuICAgICAgLy8gRGlzdGFuY2UgZnJvbSBsb2NhdGlvbiB3aGVyZSBtYXRjaCBjYW4gYmUgZm91bmQgLSBzbWFsbGVyIGZvciBwcmVmaXggcHJlZmVyZW5jZVxuICAgICAgZGlzdGFuY2U6IDQsXG4gICAgICAvLyBNaW5pbXVtIGNoYXJhY3RlciBsZW5ndGggYmVmb3JlIGZ1enp5IG1hdGNoaW5nIHN0YXJ0c1xuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoOiAxLFxuICAgICAgLy8gS2V5cyB0byBzZWFyY2ggKHdlJ3JlIHNlYXJjaGluZyBzdHJpbmdzIGRpcmVjdGx5LCBzbyBubyBrZXlzIG5lZWRlZClcbiAgICAgIGtleXM6IFtdLFxuICAgICAgLy8gVXNlIGV4dGVuZGVkIHNlYXJjaCBmb3IgZXhhY3QgbWF0Y2hlcyBhbmQgcHJlZml4IG1hdGNoaW5nXG4gICAgICB1c2VFeHRlbmRlZFNlYXJjaDogZmFsc2UsXG4gICAgICAvLyBEb24ndCBpZ25vcmUgbG9jYXRpb24gLSB0aGlzIGhlbHBzIHByaW9yaXRpemUgbWF0Y2hlcyBhdCB0aGUgYmVnaW5uaW5nXG4gICAgICBpZ25vcmVMb2NhdGlvbjogZmFsc2UsXG4gICAgfSksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBmdXNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFnbG9iYWxBdXRvY29tcGxldGVSZXN1bHRzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIG5ldyBGdXNlKGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zKTtcbiAgfSwgW2dsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zXSk7XG5cbiAgLy8gQXV0b2NvbXBsZXRlIGZ1enp5IHNlYXJjaCB1c2luZyBGdXNlLmpzXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWlzQXV0b2NvbXBsZXRlRW5hYmxlZCB8fCAhZnVzZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICghc2VhcmNoVGV4dC50cmltKCkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmdXNlUmVzdWx0cyA9IGZ1c2Uuc2VhcmNoKHNlYXJjaFRleHQpO1xuXG4gICAgLy8gVXNlIG9ubHkgRnVzZS5qcyBzY29yaW5nIChyZXN1bHRzIGFyZSBhbHJlYWR5IHNvcnRlZCBieSByZWxldmFuY2UpXG4gICAgcmV0dXJuIGZ1c2VSZXN1bHRzXG4gICAgICAuc2xpY2UoMCwgYXV0b2NvbXBsZXRlUmVzdWx0c0xpbWl0KVxuICAgICAgLm1hcCgocmVzdWx0KSA9PiByZXN1bHQuaXRlbSk7XG4gIH0sIFtpc0F1dG9jb21wbGV0ZUVuYWJsZWQsIGZ1c2UsIHNlYXJjaFRleHQsIGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdF0pO1xuXG4gIC8vIEhhbmRsZXJzXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIElmIHRoZSB1c2VyIGlzIGNoYW5naW5nIHRleHQsIHRoZXkgbXVzdCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBpbnB1dFxuICAgICAgLy8gU28gd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhleSdyZSBmb2N1c2VkXG4gICAgICBpZiAobmV3VmFsdWUgIT09IHNlYXJjaFRleHQpIHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3VmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRyYWNrPy4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgc2VhcmNoT3JpZ2luLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgc2V0U2VhcmNoVGV4dChuZXdWYWx1ZSk7XG4gICAgICBzZXRIYXNUZXh0KG5ld1ZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIFtzZWFyY2hPcmlnaW4sIHNlYXJjaFRleHQsIHRyYWNrXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoSW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50KSB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0sIDE1MCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXRTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcbiAgICBpZiAoc2VhcmNoVGV4dC50cmltKCkgJiYgb25TZWFyY2hTdWJtaXQpIHtcbiAgICAgIHRyYWNrPy4oe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoUXVlcnlTdWJtaXR0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LnRyaW0oKSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgb25TZWFyY2hTdWJtaXQoc2VhcmNoVGV4dC50cmltKCkpO1xuICAgIH1cbiAgfSwgW3NlYXJjaFRleHQsIG9uU2VhcmNoU3VibWl0LCBzZWFyY2hPcmlnaW4sIHRyYWNrXSk7XG5cbiAgY29uc3QgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHN1Z2dlc3Rpb246IHN0cmluZywgcmFua1Bvc2l0aW9uPzogbnVtYmVyKSA9PiB7XG4gICAgICBpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIHNldFNlYXJjaFRleHQoc3VnZ2VzdGlvbik7XG4gICAgICBzZXRIYXNUZXh0KHN1Z2dlc3Rpb24udHJpbSgpLmxlbmd0aCA+IDApO1xuICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcblxuICAgICAgdHJhY2s/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKG9uU2VhcmNoU3VibWl0KSB7XG4gICAgICAgIG9uU2VhcmNoU3VibWl0KHN1Z2dlc3Rpb24udHJpbSgpKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSxcbiAgICBbb25TZWFyY2hTdWJtaXQsIHNlYXJjaE9yaWdpbiwgdHJhY2tdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBuZXdJbmRleCA9IChmb2N1c2VkSW5kZXggKyAxKSAlIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoO1xuICAgICAgICBzZXRGb2N1c2VkSW5kZXgobmV3SW5kZXgpO1xuICAgICAgICBzZXRGb2N1c2VkT3B0aW9uSWQoYG9wdGlvbi0ke25ld0luZGV4fWApO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID1cbiAgICAgICAgICAoZm9jdXNlZEluZGV4IC0gMSArIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoKSAlXG4gICAgICAgICAgYXV0b2NvbXBsZXRlUmVzdWx0cy5sZW5ndGg7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleChuZXdJbmRleCk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZChgb3B0aW9uLSR7bmV3SW5kZXh9YCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgIGlmIChmb2N1c2VkSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBoYW5kbGVTdWJtaXRTZWFyY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25UZXh0ID0gYXV0b2NvbXBsZXRlUmVzdWx0c1tmb2N1c2VkSW5kZXhdO1xuICAgICAgICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdChzdWdnZXN0aW9uVGV4dCwgZm9jdXNlZEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICAgICAgc2V0Rm9jdXNlZE9wdGlvbklkKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgICAgZm9jdXNlZEluZGV4LFxuICAgICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0LFxuICAgICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIF1cbiAgKTtcblxuICBjb25zdCBzZXRTZWFyY2hUZXh0VXRpbGl0eSA9IHVzZUNhbGxiYWNrKCh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KHRleHQpO1xuICAgIHNldEhhc1RleHQodGV4dC50cmltKCkubGVuZ3RoID4gMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCByZXNldFNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KFwiXCIpO1xuICAgIHNldEhhc1RleHQoZmFsc2UpO1xuICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB7XG4gICAgLy8gU3RhdGVcbiAgICBzZWFyY2hUZXh0LFxuICAgIGhhc1RleHQsXG4gICAgaXNGb2N1c2VkLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuXG4gICAgLy8gSGFuZGxlcnNcbiAgICBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Qmx1cixcbiAgICBoYW5kbGVLZXlEb3duLFxuICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBoYW5kbGVTdWJtaXRTZWFyY2gsXG5cbiAgICAvLyBVdGlsaXRpZXNcbiAgICBzZXRTZWFyY2hUZXh0OiBzZXRTZWFyY2hUZXh0VXRpbGl0eSxcbiAgICByZXNldFNlYXJjaCxcbiAgfTtcbn07IiwiaW1wb3J0IHsgUHJvZHVjdFJldHJpZXZhbFBhcmFtcywgUHJvZHVjdFJldHJpZXZhbFJlc3VsdCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8vIFRoaXMgd2lsbCBiZSBzZXQgYnkgdGhlIFByb2R1Y3RSZXRyaWV2YWxQcm92aWRlciB3aGVuIGl0IGluaXRpYWxpemVzXG5sZXQgcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uOlxuICB8ICgocGFyYW1zOiBQcm9kdWN0UmV0cmlldmFsUGFyYW1zKSA9PiBQcm9taXNlPFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQ+KVxuICB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgY29uc3Qgc2V0UHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uID0gKFxuICBmbjogKHBhcmFtczogUHJvZHVjdFJldHJpZXZhbFBhcmFtcykgPT4gUHJvbWlzZTxQcm9kdWN0UmV0cmlldmFsUmVzdWx0PlxuKSA9PiB7XG4gIHByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9IGZuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9ICgpID0+IHtcbiAgaWYgKCFwcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIlByb2R1Y3QgcmV0cmlldmFsIGZ1bmN0aW9uIG5vdCBpbml0aWFsaXplZC4gTWFrZSBzdXJlIFByb2R1Y3RSZXRyaWV2YWxQcm92aWRlciBpcyBtb3VudGVkLlwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyUHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uID0gKCkgPT4ge1xuICBwcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24gPSBudWxsO1xufTsiLCJcbmltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGdldFByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiB9IGZyb20gXCIuL3Byb2R1Y3RSZXRyaWV2YWxBZGFwdGVyXCI7XG5pbXBvcnQgeyBQcm9kdWN0UmV0cmlldmFsUGFyYW1zLCBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxTdGF0ZSB7XG4gIGRhdGE6IFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQgfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdFByb2R1Y3RJZHM6IHN0cmluZ1tdIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IHByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbTxQcm9kdWN0UmV0cmlldmFsU3RhdGU+KHtcbiAgZGF0YTogbnVsbCxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGVycm9yOiBudWxsLFxuICBsYXN0UHJvZHVjdElkczogbnVsbCxcbn0pO1xuXG5leHBvcnQgY29uc3QgcGVyZm9ybVByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgYXN5bmMgKGdldCwgc2V0LCBwYXJhbXM6IFByb2R1Y3RSZXRyaWV2YWxQYXJhbXMpID0+IHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBnZXQocHJvZHVjdFJldHJpZXZhbEF0b20pO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0ZS5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47IC8vIFByZXZlbnQgY29uY3VycmVudCByZXRyaWV2YWxzXG4gICAgfVxuXG4gICAgc2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tLCB7XG4gICAgICBkYXRhOiBudWxsLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJldHJpZXZlUHJvZHVjdHMgPSBnZXRQcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24oKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJldHJpZXZlUHJvZHVjdHMocGFyYW1zKTtcbiAgICAgIHNldChwcm9kdWN0UmV0cmlldmFsQXRvbSwge1xuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkXCI7XG4gICAgICBzZXQocHJvZHVjdFJldHJpZXZhbEF0b20sIHtcbiAgICAgICAgZGF0YTogbnVsbCxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGxhc3RQcm9kdWN0SWRzOiBwYXJhbXMucHJvZHVjdElkcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcblxuLy8gR2V0IGp1c3QgdGhlIHByb2R1Y3RzIGFycmF5IChhbHJlYWR5IG5vcm1hbGl6ZWQgYnkgc2VydmljZSlcbmV4cG9ydCBjb25zdCByZXRyaWV2ZWRQcm9kdWN0c0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcmV0cmlldmFsRGF0YSA9IGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkuZGF0YTtcbiAgcmV0dXJuIHJldHJpZXZhbERhdGE/LnByb2R1Y3RzIHx8IFtdO1xufSk7XG5cbmV4cG9ydCBjb25zdCBwcm9kdWN0UmV0cmlldmFsTG9hZGluZ0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgcmV0dXJuIGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkubG9hZGluZztcbn0pO1xuXG5leHBvcnQgY29uc3QgcHJvZHVjdFJldHJpZXZhbEVycm9yQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICByZXR1cm4gZ2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tKS5lcnJvcjtcbn0pOyIsImltcG9ydCB7IHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tIFwic3JjL2NvbnRleHRzL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dFwiO1xuaW1wb3J0IHtcbiAgcmV0cmlldmVkUHJvZHVjdHNBdG9tLFxuICBwZXJmb3JtUHJvZHVjdFJldHJpZXZhbEF0b20sXG4gIHByb2R1Y3RSZXRyaWV2YWxBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQVBJXCI7XG5pbXBvcnQgeyB1c2VOZXdPcmdDb25maWcgfSBmcm9tIFwiLi4vTmV3T3JnQ29uZmlnXCI7XG5pbXBvcnQgeyBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlXCI7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuXG4vKipcbiAqIEEgaG9vayB0byBnZXQgcmVjb21tZW5kZWQgcHJvZHVjdHMuXG4gKiBJdCBjaGVja3MgdGhlIGBJc1JlY29tbWVuZGVkUHJvZHVjdHNFbmFibGVkYCBmZWF0dXJlIGdhdGUgYW5kIHRyaWdnZXJzIGZldGNoaW5nIGlmIG5lZWRlZC5cbiAqIElmIHRoZSBnYXRlIGlzIGVuYWJsZWQsIGl0IHJldHVybnMgdGhlIGxpc3Qgb2YgcmVjb21tZW5kZWQgcHJvZHVjdHMuXG4gKiBJZiB0aGUgZ2F0ZSBpcyBkaXNhYmxlZCwgaXQgcmV0dXJucyBhbiBlbXB0eSBhcnJheS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbGlzdCBvZiByZWNvbW1lbmRlZCBwcm9kdWN0cyBvciBhbiBlbXB0eSBhcnJheS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVJlY29tbWVuZGVkUHJvZHVjdHMgPVxuICAoKTogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1tcImF0dHJpYnV0ZXNcIl1bXSA9PiB7XG4gICAgY29uc3QgeyBmZWF0dXJlRmxhZ1NlcnZpY2UgfSA9IHVzZUZlYXR1cmVGbGFnU2VydmljZSgpO1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IGZlYXR1cmVGbGFnU2VydmljZT8uaXNGZWF0dXJlR2F0ZUVuYWJsZWQoXG4gICAgICBGZWF0dXJlR2F0ZXMuSXNSZWNvbW1lbmRlZFByb2R1Y3RzRW5hYmxlZFxuICAgICk7XG4gICAgY29uc3QgcmVjb21tZW5kZWRQcm9kdWN0cyA9IHVzZUF0b21WYWx1ZShyZXRyaWV2ZWRQcm9kdWN0c0F0b20pO1xuICAgIGNvbnN0IHBlcmZvcm1Qcm9kdWN0UmV0cmlldmFsID0gdXNlU2V0QXRvbShwZXJmb3JtUHJvZHVjdFJldHJpZXZhbEF0b20pO1xuICAgIGNvbnN0IHsgbGFzdFByb2R1Y3RJZHMgfSA9IHVzZUF0b21WYWx1ZShwcm9kdWN0UmV0cmlldmFsQXRvbSk7XG4gICAgY29uc3Qgb3JnVUlDb25maWcgPSB1c2VOZXdPcmdDb25maWcoKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCByZWNvbW1lbmRlZFByb2R1Y3RJZHMgPSBvcmdVSUNvbmZpZy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWdcbiAgICAgICAgPyBvcmdVSUNvbmZpZy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWcucmVjb21tZW5kZWRQcm9kdWN0c1xuICAgICAgICA6IFtdO1xuICAgICAgLy8gRmV0Y2ggb25seSBpZiB0aGUgZmVhdHVyZSBpcyBlbmFibGVkLCB0aGVyZSBhcmUgSURzIHRvIGZldGNoLCBhbmQgd2UgaGF2ZW4ndCBhbHJlYWR5IGZldGNoZWQgdGhlbS5cbiAgICAgIGlmIChcbiAgICAgICAgaXNFbmFibGVkICYmXG4gICAgICAgIHJlY29tbWVuZGVkUHJvZHVjdElkcyAmJlxuICAgICAgICByZWNvbW1lbmRlZFByb2R1Y3RJZHMubGVuZ3RoID4gMCAmJlxuICAgICAgICAhbGFzdFByb2R1Y3RJZHNcbiAgICAgICkge1xuICAgICAgICBwZXJmb3JtUHJvZHVjdFJldHJpZXZhbCh7IHByb2R1Y3RJZHM6IHJlY29tbWVuZGVkUHJvZHVjdElkcyB9KTtcbiAgICAgIH1cbiAgICB9LCBbaXNFbmFibGVkLCBwZXJmb3JtUHJvZHVjdFJldHJpZXZhbCwgbGFzdFByb2R1Y3RJZHMsIG9yZ1VJQ29uZmlnXSk7XG5cbiAgICByZXR1cm4gaXNFbmFibGVkID8gcmVjb21tZW5kZWRQcm9kdWN0cyA6IFtdO1xuICB9OyIsImltcG9ydCB7IHVzZUF0b20sIHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7XG4gIGFkZFNlYXJjaEZpbHRlckF0b20sXG4gIGNsZWFyU2VhcmNoRmlsdGVyc0F0b20sXG4gIGNyZWF0ZUZpbHRlck9wdGlvbixcbiAgZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20sXG4gIHBlcmZvcm1TZWFyY2hBdG9tLFxuICByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tLFxuICBzZWFyY2hBdG9tLFxuICBzZWFyY2hGaWx0ZXJzQXRvbSxcbiAgc2VhcmNoUGFyYW1zQXRvbSxcbiAgc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tLFxuICBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLFxuICBTZWxlY3RlZEZpbHRlck9wdGlvbixcbn0gZnJvbSBcInNyYy9hdG9tcy9zZWFyY2hcIjtcbmltcG9ydCB7XG4gIGlzRmlsdGVyT3BlbkF0b20sXG59IGZyb20gXCJzcmMvYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaFwiO1xuaW1wb3J0IHsgZm9ybWF0RmlsdGVyRGlzcGxheU5hbWUgfSBmcm9tIFwic3JjL2F0b21zL3NlYXJjaC91dGlsc1wiO1xuaW1wb3J0IHsgUHJvZHVjdFNvcnRpbmcgfSBmcm9tIFwic3JjL2F0b21zL3NlYXJjaC90eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSxcbiAgdXNlQW1wbGl0dWRlLFxufSBmcm9tIFwic3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQvYW1wbGl0dWRlQ29udGV4dFwiO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL3NwaWZmeVdpZGdldHNcIjtcbmltcG9ydCB7IFByb2R1Y3RDYXJkQ29uZmlnIH0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHtcbiAgU2VhcmNoRmlsdGVyRGF0dW0sXG4gIFNlbGVjdEZpbHRlckl0ZW0sXG59IGZyb20gXCJzcmMvdHlwZXMvc2VhcmNoLWZpbHRlci10eXBlc1wiO1xuaW1wb3J0IHsgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlLCBTZWFyY2hSZXN1bHRzU3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IG9yZ1Nob3J0TmFtZUF0b20gfSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCB7IHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50IH0gZnJvbSBcIi4uL1RyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50XCI7XG5pbXBvcnQgeyB1c2VTZWFyY2hJbnB1dCB9IGZyb20gXCIuL3VzZVNlYXJjaElucHV0XCI7XG5pbXBvcnQgeyBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IHVzZU5ld09yZ0NvbmZpZyB9IGZyb20gXCIuLi9OZXdPcmdDb25maWdcIjtcbmltcG9ydCB7IHVzZVJlY29tbWVuZGVkUHJvZHVjdHMgfSBmcm9tIFwiLi91c2VSZWNvbW1lbmRlZFByb2R1Y3RzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0hvY1Byb3BzIHtcbiAgLy8gRGF0YVxuICBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsO1xuICBzZWFyY2hSZXNwb25zZUlkOiBzdHJpbmc7XG4gIG1lcmNoYW50U2hvcnROYW1lOiBzdHJpbmc7XG4gIHByb2R1Y3RDYXJkQ29uZmlnOiBQcm9kdWN0Q2FyZENvbmZpZztcbiAgcHJvZHVjdExpc3Q6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdFtdO1xuICBhdXRvY29tcGxldGVSZXN1bHRzOiBzdHJpbmdbXTtcbiAgc2VhcmNoRmlsdGVyczogU2VhcmNoRmlsdGVyRGF0dW1bXTtcbiAgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnM6IHsgbmFtZTogc3RyaW5nOyBkaXNwbGF5TmFtZTogc3RyaW5nIH1bXTtcbiAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zOiBTZWxlY3RlZEZpbHRlck9wdGlvbltdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzOiBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ11bXTtcbiAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc6IHN0cmluZztcbiAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHN0cmluZztcblxuICAvLyBTdGF0ZVxuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHNlYXJjaFJlc3VsdHNTdGF0ZTogU2VhcmNoUmVzdWx0c1N0YXRlO1xuICBpc0xvYWRpbmdTZWFyY2g6IGJvb2xlYW47XG4gIGlzRmlsdGVyT3BlbjogYm9vbGVhbjtcbiAgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbjtcbiAgZm9jdXNlZEluZGV4OiBudW1iZXI7XG4gIGZvY3VzZWRPcHRpb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8vIFVJXG4gIGZpbHRlckJ1dHRvblRleHQ6IHN0cmluZztcblxuICAvLyBFdmVudCBIYW5kbGVyc1xuICBvblNlYXJjaElucHV0Q2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TdWJtaXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICBvbktleURvd246IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZDtcbiAgb25TZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICBvblNlYXJjaElucHV0Qmx1cjogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVEeW5hbWljRmlsdGVyOiAoeyBmaWx0ZXIsIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSB9OiB7IGZpbHRlcjogc3RyaW5nOyBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWU6IHN0cmluZyB9KSA9PiB2b2lkO1xuICBvblNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW07XG4gIG9uUmVtb3ZlRmlsdGVyOiAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4gdm9pZDtcbiAgb25DbGVhckFsbEZpbHRlcnM6ICgpID0+IHZvaWQ7XG4gIHNldElzRmlsdGVyT3BlbjogKGlzRmlsdGVyT3BlbjogYm9vbGVhbikgPT4gdm9pZDtcbiAgcmVzZXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gIC8vIFJlZnNcbiAgc2VhcmNoUmVzdWx0c1JlZjogUmVhY3QuUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaCA9ICh7IGFsbG93UmVkaXJlY3QgPSBmYWxzZSB9OiB7IGFsbG93UmVkaXJlY3Q/OiBib29sZWFuIH0gPSB7fSk6IFNlYXJjaFJlc3VsdHNIb2NQcm9wcyA9PiB7XG4gIC8vIEF0b21zXG4gIGNvbnN0IGNvbmZpZyA9IHVzZU5ld09yZ0NvbmZpZygpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSB1c2VBdG9tVmFsdWUob3JnU2hvcnROYW1lQXRvbSk7XG4gIGNvbnN0IHsgZGF0YTogc2VhcmNoRGF0YSwgbG9hZGluZzogaXNMb2FkaW5nU2VhcmNoIH0gPVxuICAgIHVzZUF0b21WYWx1ZShzZWFyY2hBdG9tKTtcbiAgY29uc3QgcHJvZHVjdExpc3QgPSB1c2VBdG9tVmFsdWUoZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20pO1xuICBjb25zdCBwZXJmb3JtU2VhcmNoID0gdXNlU2V0QXRvbShwZXJmb3JtU2VhcmNoQXRvbSk7XG4gIGNvbnN0IFt7IHF1ZXJ5IH1dID0gdXNlQXRvbShzZWFyY2hQYXJhbXNBdG9tKTtcbiAgY29uc3QgW2lzRmlsdGVyT3Blbiwgc2V0SXNGaWx0ZXJPcGVuXSA9IHVzZUF0b20oaXNGaWx0ZXJPcGVuQXRvbSk7XG4gIGNvbnN0IFtzZWxlY3RlZEZpbHRlck9wdGlvbnNdID0gdXNlQXRvbShzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgYWRkRmlsdGVyID0gdXNlU2V0QXRvbShhZGRTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgcmVtb3ZlRmlsdGVyID0gdXNlU2V0QXRvbShyZW1vdmVTZWFyY2hGaWx0ZXJBdG9tKTtcbiAgY29uc3QgW3Byb2R1Y3RTb3J0aW5nLCBzZXRQcm9kdWN0U29ydGluZ10gPSB1c2VBdG9tKHNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSk7XG4gIGNvbnN0IGNsZWFyRmlsdGVycyA9IHVzZVNldEF0b20oY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IHNlYXJjaEZpbHRlcnMgPSB1c2VBdG9tVmFsdWUoc2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCByZWNvbW1lbmRlZFByb2R1Y3RzID0gdXNlUmVjb21tZW5kZWRQcm9kdWN0cygpO1xuXG4gIC8vIFJlZnNcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIFxuICAvLyBVdGlsaXRpZXNcbiAgY29uc3Qgc2Nyb2xsVG9Ub3AgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gc2VhcmNoUmVzdWx0c1JlZi5jdXJyZW50O1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnRhaW5lci5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH0sIFtdKTtcbiAgXG4gIC8vIFNlYXJjaCBJbnB1dCBIb29rXG4gIGNvbnN0IHNlYXJjaElucHV0ID0gdXNlU2VhcmNoSW5wdXQoe1xuICAgIGluaXRpYWxTZWFyY2hUZXh0OiBxdWVyeSB8fCAnJyxcbiAgICBzZWFyY2hPcmlnaW46IFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBvblNlYXJjaFN1Ym1pdDogKHNlYXJjaFF1ZXJ5KSA9PiB7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IHNlYXJjaFF1ZXJ5IH0sIGFsbG93UmVkaXJlY3QpO1xuICAgIH0sXG4gIH0pO1xuICBcbiAgY29uc3Qge1xuICAgIHNlYXJjaFRleHQsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2UsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgaGFuZGxlS2V5RG93bixcbiAgICBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIHNldFNlYXJjaFRleHQsXG4gICAgcmVzZXRTZWFyY2gsXG4gIH0gPSBzZWFyY2hJbnB1dDtcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1N0YXRlID0gZ2V0U2VhcmNoUmVzdWx0c1N0YXRlKGlzTG9hZGluZ1NlYXJjaCwgc2VhcmNoRGF0YSk7XG5cbiAgY29uc3QgZHluYW1pY0ZpbHRlcnMgPSBzZWFyY2hEYXRhPy5maWx0ZXJzIHx8IFtdO1xuXG4gIC8vIFByb3ZpZGUgZmFsbGJhY2sgdmFsdWVzIHdoZW4gb3JnVUlDb25maWcgaXMgbm90IHlldCBhdmFpbGFibGVcbiAgY29uc3Qgc2FmZVByb2R1Y3RDYXJkQ29uZmlnID0gY29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzXG4gICAgPy5wcm9kdWN0Q2FyZENvbmZpZyB8fCB7XG4gICAgdmFyaWFudDogXCJtaW5pbWFsXCIsXG4gICAgaG92ZXJWYXJpYW50OiBcIm5vbmVcIixcbiAgICBsYXlvdXRWYXJpYW50OiBcInNxdWFyZVwiLFxuICB9O1xuICBjb25zdCBzYWZlTWVyY2hhbnRTaG9ydE5hbWUgPSBvcmdTaG9ydE5hbWUgfHwgXCJcIjtcbiAgY29uc3Qgc2VhcmNoQ29uZmlnID0gY29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWc7XG4gIGNvbnN0IHNhZmVSZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZyA9IHNlYXJjaENvbmZpZz8ucmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgfHwgJ1N1Z2dlc3RlZCBQcm9kdWN0cydcbiAgY29uc3Qgc2FmZVNlYXJjaE92ZXJsYXlIZWFkaW5nID0gc2VhcmNoQ29uZmlnPy5zZWFyY2hPdmVybGF5SGVhZGluZyA/PyAnV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kPydcbiAgY29uc3QgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZHluYW1pY0ZpbHRlcnNcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChkeW5hbWljRmlsdGVyTmFtZSkgPT5cbiAgICAgICAgICAhc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSBgZHluYW1pYzoke2R5bmFtaWNGaWx0ZXJOYW1lfWApLFxuICAgICAgKVxuICAgICAgLm1hcCgoZHluYW1pY0ZpbHRlck5hbWUpID0+ICh7XG4gICAgICAgIG5hbWU6IGR5bmFtaWNGaWx0ZXJOYW1lLFxuICAgICAgICBkaXNwbGF5TmFtZTogZm9ybWF0RmlsdGVyRGlzcGxheU5hbWUoZHluYW1pY0ZpbHRlck5hbWUpLFxuICAgICAgfSkpO1xuICB9LCBbZHluYW1pY0ZpbHRlcnMsIHNlbGVjdGVkRmlsdGVyT3B0aW9uc10pO1xuXG4gIGNvbnN0IGZpbHRlcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBzb3J0T3B0aW9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuRkVBVFVSRUQpLFxuICAgICAgICBkaXNwbGF5TmFtZTogJ1JlbGV2YW5jZScsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVELFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDKSxcbiAgICAgICAgZGlzcGxheU5hbWU6ICdQcmljZTogTG93IHRvIEhpZ2gnLFxuICAgICAgICBwcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgIGlzU2VsZWN0ZWQ6IHByb2R1Y3RTb3J0aW5nID09PSBQcm9kdWN0U29ydGluZy5QUklDRV9BU0MsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IFN0cmluZyhQcm9kdWN0U29ydGluZy5QUklDRV9ERVNDKSxcbiAgICAgICAgZGlzcGxheU5hbWU6ICdQcmljZTogSGlnaCB0byBMb3cnLFxuICAgICAgICBwcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgIGlzU2VsZWN0ZWQ6IHByb2R1Y3RTb3J0aW5nID09PSBQcm9kdWN0U29ydGluZy5QUklDRV9ERVNDLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIFt7IGZpbHRlcklkOiAnc29ydCcsIGRpc3BsYXlOYW1lOiAnU09SVCcsIGl0ZW1zOiBzb3J0T3B0aW9ucyB9LCAuLi5zZWFyY2hGaWx0ZXJzXSBhcyBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICB9LCBbcHJvZHVjdFNvcnRpbmcsIHNlYXJjaEZpbHRlcnNdKTtcblxuICBjb25zdCBmaWx0ZXJCdXR0b25UZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDb3VudCA9IGZpbHRlcnMucmVkdWNlKChhY2M6IG51bWJlciwgZmlsdGVyKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2MgKyBmaWx0ZXIuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcbiAgICB9LCAwKTtcbiAgICBpZiAoc2VsZWN0ZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdGaWx0ZXIgJiBTb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIGBGaWx0ZXIgJiBTb3J0ICgke3NlbGVjdGVkQ291bnR9KWA7XG4gIH0sIFtmaWx0ZXJzXSk7XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cblxuICBjb25zdCBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUgfTogeyBmaWx0ZXI6IHN0cmluZzsgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgZmlsdGVyVHlwZTogJ0R5bmFtaWMnLFxuICAgICAgICAgIGZpbHRlclZhbHVlOiBmaWx0ZXIsXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBhZGRGaWx0ZXIoY3JlYXRlRmlsdGVyT3B0aW9uKCdkeW5hbWljJywgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUpKTtcbiAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgfSxcbiAgICBbYWRkRmlsdGVyLCBzZWFyY2hUZXh0LCBzY3JvbGxUb1RvcF0sXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmVtb3ZlRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHtcbiAgICAgIHJlbW92ZUZpbHRlcihmaWx0ZXIuaWQpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFtyZW1vdmVGaWx0ZXIsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVySWQsXG4gICAgICBmaWx0ZXJJdGVtSWQsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKGZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgY29uc3QgbmV3U29ydCA9IGZpbHRlckl0ZW1JZCBhcyBQcm9kdWN0U29ydGluZztcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFNvcnRDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHNvcnRUeXBlOiBuZXdTb3J0LFxuICAgICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRQcm9kdWN0U29ydGluZyhuZXdTb3J0KTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgICAgcmVtb3ZlRmlsdGVyKGAke2ZpbHRlcklkfToke2ZpbHRlckl0ZW1JZH1gKTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTdGF0aWMnLFxuICAgICAgICAgICAgZmlsdGVyQ2F0ZWdvcnk6IGZpbHRlcklkLFxuICAgICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlckl0ZW1JZCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgYWRkRmlsdGVyKGNyZWF0ZUZpbHRlck9wdGlvbihmaWx0ZXJJZCwgZmlsdGVySXRlbUlkLCBkaXNwbGF5TmFtZSkpO1xuICAgICAgICBzY3JvbGxUb1RvcCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2FkZEZpbHRlciwgcmVtb3ZlRmlsdGVyLCBzZXRQcm9kdWN0U29ydGluZywgc2VhcmNoVGV4dCwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG5cbiAgY29uc3QgaGFuZGxlQ2xlYXJBbGxGaWx0ZXJzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFByb2R1Y3RTb3J0aW5nKFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVEKTtcbiAgICBjbGVhckZpbHRlcnMoKTtcbiAgICBzY3JvbGxUb1RvcCgpO1xuICB9LCBbc2V0UHJvZHVjdFNvcnRpbmcsIGNsZWFyRmlsdGVycywgc2Nyb2xsVG9Ub3BdKTtcblxuICAvLyBTaWRlIEVmZmVjdHNcbiAgdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQoXG4gICAgU3BpZmZ5V2lkZ2V0cy5TZWFyY2hSZXN1bHRzLFxuICAgIHNlYXJjaFJlc3VsdHNSZWYsXG4gICAge30sXG4gICAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hDb21wb25lbnRWaXNpYmxlLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLlJlc3VsdHMgfHwgc2VhcmNoUmVzdWx0c1N0YXRlID09PSBTZWFyY2hSZXN1bHRzU3RhdGUuTm9SZXN1bHRzKSB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFJlc3VsdHNWaWV3ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgICAgcmVzdWx0c0NvdW50OiBwcm9kdWN0TGlzdC5sZW5ndGgsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcm9kdWN0TGlzdC5sZW5ndGgsIHNlYXJjaFJlc3VsdHNTdGF0ZV0pO1xuXG4gIC8vIFRoaXMgaXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZSBzZWFyY2ggdGV4dCB0cmlnZ2VyaW5nIGEgc2VhcmNoXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHF1ZXJ5ICYmIHF1ZXJ5ICE9PSBzZWFyY2hUZXh0KSB7XG4gICAgICBjb25zdCBlc3EgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgnZXNxJyk7XG4gICAgICBzZXRTZWFyY2hUZXh0KHF1ZXJ5KTtcbiAgICAgIHBlcmZvcm1TZWFyY2goeyBxdWVyeTogZXNxID8/IHF1ZXJ5IH0pO1xuICAgIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcGVyZm9ybVNlYXJjaCwgcXVlcnksIHNldFNlYXJjaFRleHRdKTtcblxuICByZXR1cm4ge1xuICAgIHNlYXJjaERhdGEsXG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc2VhcmNoRGF0YT8uc2VhcmNoUmVzcG9uc2VJZCA/PyAnJyxcbiAgICBtZXJjaGFudFNob3J0TmFtZTogc2FmZU1lcmNoYW50U2hvcnROYW1lLFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcsXG4gICAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyxcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzogc2FmZVByb2R1Y3RDYXJkQ29uZmlnLFxuICAgIHByb2R1Y3RMaXN0LFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHMsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzZWFyY2hGaWx0ZXJzOiBmaWx0ZXJzLFxuICAgIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzLFxuICAgIHNlbGVjdGVkRmlsdGVyT3B0aW9ucyxcbiAgICBzZWFyY2hUZXh0LFxuICAgIHF1ZXJ5OiBxdWVyeSB8fCAnJyxcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGUsXG4gICAgaXNMb2FkaW5nU2VhcmNoLFxuICAgIGlzRmlsdGVyT3BlbixcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgZmlsdGVyQnV0dG9uVGV4dCxcbiAgICBvblNlYXJjaElucHV0Q2hhbmdlOiBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBvblN1Ym1pdFNlYXJjaDogaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxuICAgIG9uU2VhcmNoSW5wdXRGb2N1czogaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBvblNlYXJjaElucHV0Qmx1cjogaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlcixcbiAgICBvblNlbGVjdEZpbHRlckl0ZW06IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW0sXG4gICAgb25SZW1vdmVGaWx0ZXI6IGhhbmRsZVJlbW92ZUZpbHRlcixcbiAgICBvbkNsZWFyQWxsRmlsdGVyczogaGFuZGxlQ2xlYXJBbGxGaWx0ZXJzLFxuICAgIHNldElzRmlsdGVyT3BlbixcbiAgICByZXNldFNlYXJjaCxcbiAgICBzZWFyY2hSZXN1bHRzUmVmLFxuICB9O1xufTsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0NBLE1BQWEsa0JBQWtCLEVBQzdCLG9CQUFvQixJQUNwQixjQUNBLHFCQUMrQztDQUMvQyxNQUFNLGdDQUFxQkEscUNBQXdCO0NBR25ELE1BQU0sQ0FBQyxZQUFZLHFDQUEwQixrQkFBa0I7Q0FDL0QsTUFBTSxDQUFDLFNBQVMsa0NBQXVCLGtCQUFrQixNQUFNLENBQUMsU0FBUyxFQUFFO0NBQzNFLE1BQU0sQ0FBQyxXQUFXLG9DQUF5QixNQUFNO0NBQ2pELE1BQU0sQ0FBQyxjQUFjLHVDQUE0QixHQUFHO0NBQ3BELE1BQU0sQ0FBQyxpQkFBaUIsMENBQ3RCLE9BQ0Q7Q0FFRCxNQUFNLG9EQURpQ0MsMkNBQXNCLENBQ1Q7Q0FDcEQsTUFBTSx3QkFBd0IsMEJBQTBCLFNBQVM7Q0FHakUsTUFBTSw0Q0FBaUMsTUFBTTtDQUc3QyxNQUFNLHlCQUF5QixXQUFXLGFBQWE7Q0FFdkQsTUFBTSwyQkFBMkI7Q0FHakMsTUFBTSx3Q0FDRztFQUNMLGNBQWM7RUFDZCxnQkFBZ0I7RUFFaEIsV0FBVztFQUVYLFVBQVU7RUFFVixVQUFVO0VBRVYsb0JBQW9CO0VBRXBCLE1BQU0sRUFBRTtFQUVSLG1CQUFtQjtFQUVuQixnQkFBZ0I7RUFDakIsR0FDRCxFQUFFLENBQ0g7Q0FFRCxNQUFNLGdDQUFxQjtBQUN6QixNQUFJLENBQUMsMEJBQTBCLE9BQVEsUUFBTztBQUM5QyxTQUFPLElBQUlDLGdCQUFLLDJCQUEyQixZQUFZO0lBQ3RELENBQUMsMkJBQTJCLFlBQVksQ0FBQztDQUc1QyxNQUFNLCtDQUFvQztBQUN4QyxNQUFJLENBQUMseUJBQXlCLENBQUMsS0FDN0IsUUFBTyxFQUFFO0FBR1gsTUFBSSxDQUFDLFdBQVcsTUFBTSxDQUNwQixRQUFPLEVBQUU7QUFNWCxTQUhvQixLQUFLLE9BQU8sV0FBVyxDQUl4QyxNQUFNLEdBQUcseUJBQXlCLENBQ2xDLEtBQUssV0FBVyxPQUFPLEtBQUs7SUFDOUI7RUFBQztFQUF1QjtFQUFNO0VBQVk7RUFBeUIsQ0FBQztDQUd2RSxNQUFNLGtEQUNILGFBQXFCO0FBR3BCLE1BQUksYUFBYSxXQUNmLGNBQWEsS0FBSztBQUdwQixNQUFJLFNBQVMsV0FBVyxFQUN0QixTQUFRO0dBQ04sV0FBV0MsZ0RBQXVCO0dBQ2xDLFlBQVksRUFDVixjQUNEO0dBQ0YsQ0FBQztBQUVKLGdCQUFjLFNBQVM7QUFDdkIsYUFBVyxTQUFTLE1BQU0sQ0FBQyxTQUFTLEVBQUU7QUFDdEMsa0JBQWdCLEdBQUc7QUFDbkIscUJBQW1CLE9BQVU7SUFFL0I7RUFBQztFQUFjO0VBQVk7RUFBTSxDQUNsQztDQUVELE1BQU0sc0RBQTJDO0FBQy9DLGVBQWEsS0FBSztJQUNqQixFQUFFLENBQUM7Q0FFTixNQUFNLHFEQUEwQztBQUM5QyxtQkFBaUI7QUFDZixPQUFJLENBQUMsd0JBQXdCLFNBQVM7QUFDcEMsaUJBQWEsTUFBTTtBQUNuQixvQkFBZ0IsR0FBRztBQUNuQix1QkFBbUIsT0FBVTs7S0FFOUIsSUFBSTtJQUNOLEVBQUUsQ0FBQztDQUVOLE1BQU0sa0RBQXVDO0FBQzNDLGVBQWEsTUFBTTtBQUNuQixNQUFJLFdBQVcsTUFBTSxJQUFJLGdCQUFnQjtBQUN2QyxXQUFRO0lBQ04sV0FBV0EsZ0RBQXVCO0lBQ2xDLFlBQVk7S0FDVjtLQUNBLFdBQVcsV0FBVyxNQUFNO0tBQzdCO0lBQ0QsMkJBQTJCO0lBQzVCLENBQUM7QUFDRixrQkFBZSxXQUFXLE1BQU0sQ0FBQzs7SUFFbEM7RUFBQztFQUFZO0VBQWdCO0VBQWM7RUFBTSxDQUFDO0NBRXJELE1BQU0sbURBQ0gsWUFBb0IsaUJBQTBCO0FBQzdDLDBCQUF3QixVQUFVO0FBQ2xDLGdCQUFjLFdBQVc7QUFDekIsYUFBVyxXQUFXLE1BQU0sQ0FBQyxTQUFTLEVBQUU7QUFDeEMsZUFBYSxNQUFNO0FBRW5CLFVBQVE7R0FDTixXQUFXQSxnREFBdUI7R0FDbEMsWUFBWSxFQUNWLGNBQ0Q7R0FDRixDQUFDO0FBRUYsTUFBSSxlQUNGLGdCQUFlLFdBQVcsTUFBTSxDQUFDO0FBR25DLG1CQUFpQjtBQUNmLDJCQUF3QixVQUFVO0tBQ2pDLElBQUk7SUFFVDtFQUFDO0VBQWdCO0VBQWM7RUFBTSxDQUN0QztDQUVELE1BQU0sd0NBQ0gsVUFBaUQ7QUFDaEQsTUFBSSxNQUFNLFFBQVEsYUFBYTtBQUM3QixTQUFNLGdCQUFnQjtHQUN0QixNQUFNLFlBQVksZUFBZSxLQUFLLG9CQUFvQjtBQUMxRCxtQkFBZ0IsU0FBUztBQUN6QixzQkFBbUIsVUFBVSxXQUFXO2FBQy9CLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQU0sZ0JBQWdCO0dBQ3RCLE1BQU0sWUFDSCxlQUFlLElBQUksb0JBQW9CLFVBQ3hDLG9CQUFvQjtBQUN0QixtQkFBZ0IsU0FBUztBQUN6QixzQkFBbUIsVUFBVSxXQUFXO2FBQy9CLE1BQU0sUUFBUSxRQUN2QixLQUFJLGlCQUFpQixJQUFJO0FBQ3ZCLFNBQU0sZ0JBQWdCO0FBQ3RCLHVCQUFvQjtTQUNmO0FBQ0wsU0FBTSxnQkFBZ0I7R0FDdEIsTUFBTSxpQkFBaUIsb0JBQW9CO0FBQzNDLDRCQUF5QixnQkFBZ0IsYUFBYTs7V0FFL0MsTUFBTSxRQUFRLFVBQVU7QUFDakMsU0FBTSxnQkFBZ0I7QUFDdEIsbUJBQWdCLEdBQUc7QUFDbkIsc0JBQW1CLE9BQVU7O0lBR2pDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDRCxDQUNGO0NBRUQsTUFBTSwrQ0FBb0MsU0FBaUI7QUFDekQsZ0JBQWMsS0FBSztBQUNuQixhQUFXLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRTtJQUNqQyxFQUFFLENBQUM7Q0FFTixNQUFNLDJDQUFnQztBQUNwQyxnQkFBYyxHQUFHO0FBQ2pCLGFBQVcsTUFBTTtBQUNqQixlQUFhLE1BQU07QUFDbkIsa0JBQWdCLEdBQUc7QUFDbkIscUJBQW1CLE9BQVU7SUFDNUIsRUFBRSxDQUFDO0FBRU4sUUFBTztFQUVMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0EsZUFBZTtFQUNmO0VBQ0Q7Ozs7O0FDbFFILElBQUlDLDJCQUVPO0FBUVgsTUFBYSxvQ0FBb0M7QUFDL0MsS0FBSSxDQUFDLHlCQUNILE9BQU0sSUFBSSxNQUNSLDZGQUNEO0FBRUgsUUFBTzs7Ozs7QUNQVCxNQUFhLHVDQUFtRDtDQUM5RCxNQUFNO0NBQ04sU0FBUztDQUNULE9BQU87Q0FDUCxnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGLE1BQWEsOENBQ1gsTUFDQSxPQUFPLEtBQUssS0FBSyxXQUFtQztBQUdsRCxLQUZxQixJQUFJLHFCQUFxQixDQUU3QixRQUNmO0FBR0YsS0FBSSxzQkFBc0I7RUFDeEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZ0JBQWdCLE9BQU87RUFDeEIsQ0FBQztBQUVGLEtBQUk7RUFFRixNQUFNLFNBQVMsTUFEVSw2QkFBNkIsQ0FDaEIsT0FBTztBQUM3QyxNQUFJLHNCQUFzQjtHQUN4QixNQUFNO0dBQ04sU0FBUztHQUNULE9BQU87R0FDUCxnQkFBZ0IsT0FBTztHQUN4QixDQUFDO1VBQ0tDLE9BQWdCO0VBQ3ZCLE1BQU0sZUFDSixpQkFBaUIsUUFBUSxNQUFNLFVBQVU7QUFDM0MsTUFBSSxzQkFBc0I7R0FDeEIsTUFBTTtHQUNOLFNBQVM7R0FDVCxPQUFPO0dBQ1AsZ0JBQWdCLE9BQU87R0FDeEIsQ0FBQzs7RUFHUDtBQUdELE1BQWEseUNBQThCLFFBQVE7QUFFakQsUUFEc0IsSUFBSSxxQkFBcUIsQ0FBQyxNQUMxQixZQUFZLEVBQUU7RUFDcEM7QUFFRixNQUFhLCtDQUFvQyxRQUFRO0FBQ3ZELFFBQU8sSUFBSSxxQkFBcUIsQ0FBQztFQUNqQztBQUVGLE1BQWEsNkNBQWtDLFFBQVE7QUFDckQsUUFBTyxJQUFJLHFCQUFxQixDQUFDO0VBQ2pDOzs7Ozs7Ozs7Ozs7QUNqREYsTUFBYSwrQkFDNEM7Q0FDckQsTUFBTSxFQUFFLHVCQUF1QkMseURBQXVCO0NBQ3RELE1BQU0sWUFBWSxvQkFBb0IscUJBQ3BDQyxrQ0FBYSw2QkFDZDtDQUNELE1BQU0sOENBQW1DLHNCQUFzQjtDQUMvRCxNQUFNLGdEQUFxQyw0QkFBNEI7Q0FDdkUsTUFBTSxFQUFFLDJDQUFnQyxxQkFBcUI7Q0FDN0QsTUFBTSxjQUFjQyxzQ0FBaUI7QUFFckMsNEJBQWdCO0VBQ2QsTUFBTSx3QkFBd0IsWUFBWSxnQkFBZ0IsV0FBVyxlQUNqRSxZQUFZLGdCQUFnQixXQUFXLGFBQWEsc0JBQ3BELEVBQUU7QUFFTixNQUNFLGFBQ0EseUJBQ0Esc0JBQXNCLFNBQVMsS0FDL0IsQ0FBQyxlQUVELHlCQUF3QixFQUFFLFlBQVksdUJBQXVCLENBQUM7SUFFL0Q7RUFBQztFQUFXO0VBQXlCO0VBQWdCO0VBQVksQ0FBQztBQUVyRSxRQUFPLFlBQVksc0JBQXNCLEVBQUU7Ozs7O0FDeUMvQyxNQUFhLGFBQWEsRUFBRSxnQkFBZ0IsVUFBdUMsRUFBRSxLQUE0QjtDQUUvRyxNQUFNLFNBQVNDLHNDQUFpQjtDQUNoQyxNQUFNLHVDQUE0QkMsc0NBQWlCO0NBQ25ELE1BQU0sRUFBRSxNQUFNLFlBQVksU0FBUyw0Q0FDcEJDLDBCQUFXO0NBQzFCLE1BQU0sc0NBQTJCQywwQ0FBMkI7Q0FDNUQsTUFBTSxzQ0FBMkJDLGlDQUFrQjtDQUNuRCxNQUFNLENBQUMsRUFBRSw4QkFBbUJDLGdDQUFpQjtDQUM3QyxNQUFNLENBQUMsY0FBYyxzQ0FBMkJDLHNDQUFpQjtDQUNqRSxNQUFNLENBQUMsNENBQWlDQyx5Q0FBMEI7Q0FDbEUsTUFBTSxrQ0FBdUJDLG1DQUFvQjtDQUNqRCxNQUFNLHFDQUEwQkMsc0NBQXVCO0NBQ3ZELE1BQU0sQ0FBQyxnQkFBZ0Isd0NBQTZCQyx3Q0FBeUI7Q0FDN0UsTUFBTSxxQ0FBMEJDLHNDQUF1QjtDQUN2RCxNQUFNLHdDQUE2QkMsaUNBQWtCO0NBQ3JELE1BQU0sc0JBQXNCLHdCQUF3QjtDQUdwRCxNQUFNLHFDQUEwQyxLQUFLO0NBR3JELE1BQU0sMkNBQWdDO0VBQ3BDLE1BQU0sWUFBWSxpQkFBaUI7QUFDbkMsTUFBSSxVQUNGLFdBQVUsU0FBUztHQUFFLEtBQUs7R0FBRyxVQUFVO0dBQVUsQ0FBQztNQUVsRCxRQUFPLFNBQVM7R0FBRSxLQUFLO0dBQUcsVUFBVTtHQUFVLENBQUM7SUFFaEQsRUFBRSxDQUFDO0NBV04sTUFBTSxFQUNKLFlBQ0EsY0FDQSxpQkFDQSxxQkFDQSx3QkFDQSx5QkFDQSx3QkFDQSx1QkFDQSxlQUNBLDBCQUNBLG9CQUNBLGVBQ0EsZ0JBckJrQixlQUFlO0VBQ2pDLG1CQUFtQixTQUFTO0VBQzVCLGNBQWNDLDZCQUFjO0VBQzVCLGlCQUFpQixnQkFBZ0I7QUFDL0IsaUJBQWMsRUFBRSxPQUFPLGFBQWEsRUFBRSxjQUFjOztFQUV2RCxDQUFDO0NBaUJGLE1BQU0scUJBQXFCQyxvQ0FBc0IsaUJBQWlCLFdBQVc7Q0FFN0UsTUFBTSxpQkFBaUIsWUFBWSxXQUFXLEVBQUU7Q0FHaEQsTUFBTSx3QkFBd0IsUUFBUSxnQkFBZ0IsV0FDbEQscUJBQXFCO0VBQ3ZCLFNBQVM7RUFDVCxjQUFjO0VBQ2QsZUFBZTtFQUNoQjtDQUNELE1BQU0sd0JBQXdCLGdCQUFnQjtDQUM5QyxNQUFNLGVBQWUsUUFBUSxnQkFBZ0IsV0FBVztDQUN4RCxNQUFNLGlDQUFpQyxjQUFjLDhCQUE4QjtDQUNuRixNQUFNLDJCQUEyQixjQUFjLHdCQUF3QjtDQUN2RSxNQUFNLG1EQUF3QztBQUM1QyxTQUFPLGVBQ0osUUFDRSxzQkFDQyxDQUFDLHNCQUFzQixNQUFNLFdBQVcsT0FBTyxPQUFPLFdBQVcsb0JBQW9CLENBQ3hGLENBQ0EsS0FBSyx1QkFBdUI7R0FDM0IsTUFBTTtHQUNOLGFBQWFDLHdDQUF3QixrQkFBa0I7R0FDeEQsRUFBRTtJQUNKLENBQUMsZ0JBQWdCLHNCQUFzQixDQUFDO0NBRTNDLE1BQU0sbUNBQXdCO0FBc0I1QixTQUFPLENBQUM7R0FBRSxVQUFVO0dBQVEsYUFBYTtHQUFRLE9BckI3QjtJQUNsQjtLQUNFLGNBQWMsT0FBT0MsK0JBQWUsU0FBUztLQUM3QyxhQUFhO0tBQ2IsY0FBYztLQUNkLFlBQVksbUJBQW1CQSwrQkFBZTtLQUMvQztJQUNEO0tBQ0UsY0FBYyxPQUFPQSwrQkFBZSxVQUFVO0tBQzlDLGFBQWE7S0FDYixjQUFjO0tBQ2QsWUFBWSxtQkFBbUJBLCtCQUFlO0tBQy9DO0lBQ0Q7S0FDRSxjQUFjLE9BQU9BLCtCQUFlLFdBQVc7S0FDL0MsYUFBYTtLQUNiLGNBQWM7S0FDZCxZQUFZLG1CQUFtQkEsK0JBQWU7S0FDL0M7SUFDRjtHQUVvRSxFQUFFLEdBQUcsY0FBYztJQUN2RixDQUFDLGdCQUFnQixjQUFjLENBQUM7Q0FFbkMsTUFBTSw0Q0FBaUM7RUFDckMsTUFBTSxnQkFBZ0IsUUFBUSxRQUFRLEtBQWEsV0FBVztBQUM1RCxPQUFJLE9BQU8sYUFBYSxPQUN0QixRQUFPO0FBRVQsVUFBTyxNQUFNLE9BQU8sTUFBTSxRQUFRLFNBQVMsS0FBSyxXQUFXLENBQUM7S0FDM0QsRUFBRTtBQUNMLE1BQUksa0JBQWtCLEVBQ3BCLFFBQU87QUFFVCxTQUFPLGtCQUFrQixjQUFjO0lBQ3RDLENBQUMsUUFBUSxDQUFDO0NBR2IsTUFBTSxFQUFFLGVBQWVDLHVDQUFjO0NBR3JDLE1BQU0sb0RBQ0gsRUFBRSxRQUFRLCtCQUFxRjtBQUM5RixhQUFXO0dBQ1QsV0FBV0MsZ0RBQXVCO0dBQ2xDLFlBQVk7SUFDVixZQUFZO0lBQ1osYUFBYTtJQUNiLFdBQVc7SUFDWjtHQUNGLENBQUM7QUFDRixZQUFVQyxrQ0FBbUIsV0FBVyxRQUFRLHlCQUF5QixDQUFDO0FBQzFFLGVBQWE7SUFFZjtFQUFDO0VBQVc7RUFBWTtFQUFZLENBQ3JDO0NBRUQsTUFBTSw2Q0FDSCxXQUFpQztBQUNoQyxlQUFhLE9BQU8sR0FBRztBQUN2QixlQUFhO0lBRWYsQ0FBQyxjQUFjLFlBQVksQ0FDNUI7Q0FHRCxNQUFNQyxpREFDSCxFQUNDLFVBQ0EsY0FDQSxZQUNBLGtCQU1JO0FBQ0osTUFBSSxhQUFhLFFBQVE7R0FDdkIsTUFBTSxVQUFVO0FBQ2hCLGNBQVc7SUFDVCxXQUFXRixnREFBdUI7SUFDbEMsWUFBWTtLQUNWLFVBQVU7S0FDVixXQUFXO0tBQ1o7SUFDRixDQUFDO0FBQ0YscUJBQWtCLFFBQVE7QUFDMUIsZ0JBQWE7YUFDSixDQUFDLFlBQVk7QUFDdEIsZ0JBQWEsR0FBRyxTQUFTLEdBQUcsZUFBZTtBQUMzQyxnQkFBYTtTQUNSO0FBQ0wsY0FBVztJQUNULFdBQVdBLGdEQUF1QjtJQUNsQyxZQUFZO0tBQ1YsWUFBWTtLQUNaLGdCQUFnQjtLQUNoQixhQUFhO0tBQ2IsV0FBVztLQUNaO0lBQ0YsQ0FBQztBQUNGLGFBQVVDLGtDQUFtQixVQUFVLGNBQWMsWUFBWSxDQUFDO0FBQ2xFLGdCQUFhOztJQUdqQjtFQUFDO0VBQVc7RUFBYztFQUFtQjtFQUFZO0VBQVksQ0FDdEU7Q0FHRCxNQUFNLHFEQUEwQztBQUM5QyxvQkFBa0JILCtCQUFlLFNBQVM7QUFDMUMsZ0JBQWM7QUFDZCxlQUFhO0lBQ1o7RUFBQztFQUFtQjtFQUFjO0VBQVksQ0FBQztBQUdsRCxrRUFDRUgsNkJBQWMsZUFDZCxrQkFDQSxFQUFFLEVBQ0ZLLGdEQUF1Qix1QkFDeEI7QUFFRCw0QkFBZ0I7QUFDZCxNQUFJLHVCQUF1QkcsaUNBQW1CLFdBQVcsdUJBQXVCQSxpQ0FBbUIsVUFDakcsWUFBVztHQUNULFdBQVdILGdEQUF1QjtHQUNsQyxZQUFZO0lBQ1YsV0FBVztJQUNYLGNBQWMsWUFBWTtJQUMzQjtHQUNGLENBQUM7SUFFSCxDQUFDLFlBQVksUUFBUSxtQkFBbUIsQ0FBQztBQUc1Qyw0QkFBZ0I7QUFDZCxNQUFJLFNBQVMsVUFBVSxZQUFZO0dBQ2pDLE1BQU0sTUFBTSxJQUFJLGdCQUFnQixPQUFPLFNBQVMsT0FBTyxDQUFDLElBQUksTUFBTTtBQUNsRSxpQkFBYyxNQUFNO0FBQ3BCLGlCQUFjLEVBQUUsT0FBTyxPQUFPLE9BQU8sQ0FBQzs7SUFHdkM7RUFBQztFQUFlO0VBQU87RUFBYyxDQUFDO0FBRXpDLFFBQU87RUFDTDtFQUNBLGtCQUFrQixZQUFZLG9CQUFvQjtFQUNsRCxtQkFBbUI7RUFDbkIsNEJBQTRCO0VBQzVCLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkI7RUFDQTtFQUNBO0VBQ0EsZUFBZTtFQUNmO0VBQ0E7RUFDQTtFQUNBLE9BQU8sU0FBUztFQUNoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQjtFQUNBO0VBQ0E7RUFDRCJ9
|
|
@@ -11,7 +11,7 @@ import "../../spiffyWidgets-DK7Ekcy7.cjs";
|
|
|
11
11
|
import { SearchResult } from "../../search-6RrxBXD6.cjs";
|
|
12
12
|
import "../../index-OkKEOL6H.cjs";
|
|
13
13
|
import "../../types-DWorwfS-.cjs";
|
|
14
|
-
import { SelectedFilterOption } from "../../index-
|
|
14
|
+
import { SelectedFilterOption } from "../../index-B0elglKV.cjs";
|
|
15
15
|
import { SearchFilterDatum, SelectFilterItem } from "../../search-filter-types-BItKtezf.cjs";
|
|
16
16
|
import { SearchResultsState } from "../../utils-C2HshI4X.cjs";
|
|
17
17
|
import { SearchResponseProduct } from "@spiffy-ai/commerce-api-client";
|
|
@@ -62,7 +62,11 @@ interface SearchResultsHocProps {
|
|
|
62
62
|
resetSearch: () => void;
|
|
63
63
|
searchResultsRef: React.RefObject<HTMLDivElement>;
|
|
64
64
|
}
|
|
65
|
-
declare const useSearch: (
|
|
65
|
+
declare const useSearch: ({
|
|
66
|
+
allowRedirect
|
|
67
|
+
}?: {
|
|
68
|
+
allowRedirect?: boolean;
|
|
69
|
+
}) => SearchResultsHocProps;
|
|
66
70
|
//#endregion
|
|
67
71
|
export { SearchResultsHocProps, useSearch };
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL1NlYXJjaC91c2VTZWFyY2guZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RlZEZpbHRlck9wdGlvbiB9IGZyb20gXCJzcmMvYXRvbXMvc2VhcmNoXCI7XG5pbXBvcnQgeyBQcm9kdWN0Q2FyZENvbmZpZyB9IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2hcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdCB9IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IFNlYXJjaEZpbHRlckRhdHVtLCBTZWxlY3RGaWx0ZXJJdGVtIH0gZnJvbSBcInNyYy90eXBlcy9zZWFyY2gtZmlsdGVyLXR5cGVzXCI7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzU3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHRzSG9jUHJvcHMge1xuICAgIHNlYXJjaERhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGw7XG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc3RyaW5nO1xuICAgIG1lcmNoYW50U2hvcnROYW1lOiBzdHJpbmc7XG4gICAgcHJvZHVjdENhcmRDb25maWc6IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RMaXN0OiBTZWFyY2hSZXNwb25zZVByb2R1Y3RbXTtcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzOiBzdHJpbmdbXTtcbiAgICBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICAgIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICB9W107XG4gICAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zOiBTZWxlY3RlZEZpbHRlck9wdGlvbltdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHM6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXVtdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzdHJpbmc7XG4gICAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHN0cmluZztcbiAgICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gICAgcXVlcnk6IHN0cmluZztcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGU6IFNlYXJjaFJlc3VsdHNTdGF0ZTtcbiAgICBpc0xvYWRpbmdTZWFyY2g6IGJvb2xlYW47XG4gICAgaXNGaWx0ZXJPcGVuOiBib29sZWFuO1xuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGU6IGJvb2xlYW47XG4gICAgZm9jdXNlZEluZGV4OiBudW1iZXI7XG4gICAgZm9jdXNlZE9wdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgZmlsdGVyQnV0dG9uVGV4dDogc3RyaW5nO1xuICAgIG9uU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU3VibWl0U2VhcmNoOiAoKSA9PiB2b2lkO1xuICAgIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uS2V5RG93bjogKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICAgIG9uU2VhcmNoSW5wdXRGb2N1czogKCkgPT4gdm9pZDtcbiAgICBvblNlYXJjaElucHV0Qmx1cjogKCkgPT4gdm9pZDtcbiAgICBvblRvZ2dsZUR5bmFtaWNGaWx0ZXI6ICh7IGZpbHRlciwgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lIH06IHtcbiAgICAgICAgZmlsdGVyOiBzdHJpbmc7XG4gICAgICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH0pID0+IHZvaWQ7XG4gICAgb25TZWxlY3RGaWx0ZXJJdGVtOiBTZWxlY3RGaWx0ZXJJdGVtO1xuICAgIG9uUmVtb3ZlRmlsdGVyOiAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4gdm9pZDtcbiAgICBvbkNsZWFyQWxsRmlsdGVyczogKCkgPT4gdm9pZDtcbiAgICBzZXRJc0ZpbHRlck9wZW46IChpc0ZpbHRlck9wZW46IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgcmVzZXRTZWFyY2g6ICgpID0+
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL1NlYXJjaC91c2VTZWFyY2guZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RlZEZpbHRlck9wdGlvbiB9IGZyb20gXCJzcmMvYXRvbXMvc2VhcmNoXCI7XG5pbXBvcnQgeyBQcm9kdWN0Q2FyZENvbmZpZyB9IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2hcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdCB9IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IFNlYXJjaEZpbHRlckRhdHVtLCBTZWxlY3RGaWx0ZXJJdGVtIH0gZnJvbSBcInNyYy90eXBlcy9zZWFyY2gtZmlsdGVyLXR5cGVzXCI7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzU3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHRzSG9jUHJvcHMge1xuICAgIHNlYXJjaERhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGw7XG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc3RyaW5nO1xuICAgIG1lcmNoYW50U2hvcnROYW1lOiBzdHJpbmc7XG4gICAgcHJvZHVjdENhcmRDb25maWc6IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RMaXN0OiBTZWFyY2hSZXNwb25zZVByb2R1Y3RbXTtcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzOiBzdHJpbmdbXTtcbiAgICBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICAgIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICB9W107XG4gICAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zOiBTZWxlY3RlZEZpbHRlck9wdGlvbltdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHM6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXVtdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzdHJpbmc7XG4gICAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHN0cmluZztcbiAgICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gICAgcXVlcnk6IHN0cmluZztcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGU6IFNlYXJjaFJlc3VsdHNTdGF0ZTtcbiAgICBpc0xvYWRpbmdTZWFyY2g6IGJvb2xlYW47XG4gICAgaXNGaWx0ZXJPcGVuOiBib29sZWFuO1xuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGU6IGJvb2xlYW47XG4gICAgZm9jdXNlZEluZGV4OiBudW1iZXI7XG4gICAgZm9jdXNlZE9wdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgZmlsdGVyQnV0dG9uVGV4dDogc3RyaW5nO1xuICAgIG9uU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU3VibWl0U2VhcmNoOiAoKSA9PiB2b2lkO1xuICAgIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uS2V5RG93bjogKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICAgIG9uU2VhcmNoSW5wdXRGb2N1czogKCkgPT4gdm9pZDtcbiAgICBvblNlYXJjaElucHV0Qmx1cjogKCkgPT4gdm9pZDtcbiAgICBvblRvZ2dsZUR5bmFtaWNGaWx0ZXI6ICh7IGZpbHRlciwgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lIH06IHtcbiAgICAgICAgZmlsdGVyOiBzdHJpbmc7XG4gICAgICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH0pID0+IHZvaWQ7XG4gICAgb25TZWxlY3RGaWx0ZXJJdGVtOiBTZWxlY3RGaWx0ZXJJdGVtO1xuICAgIG9uUmVtb3ZlRmlsdGVyOiAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4gdm9pZDtcbiAgICBvbkNsZWFyQWxsRmlsdGVyczogKCkgPT4gdm9pZDtcbiAgICBzZXRJc0ZpbHRlck9wZW46IChpc0ZpbHRlck9wZW46IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgcmVzZXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gICAgc2VhcmNoUmVzdWx0c1JlZjogUmVhY3QuUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZVNlYXJjaDogKHsgYWxsb3dSZWRpcmVjdCB9Pzoge1xuICAgIGFsbG93UmVkaXJlY3Q/OiBib29sZWFuO1xufSkgPT4gU2VhcmNoUmVzdWx0c0hvY1Byb3BzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsSUFBVyx3QkFBd0I7Q0FBQztPQUFHO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQSxNQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBLE1BQUE7Q0FBQTtBQUN2QyxJQUFXLFlBQVk7Q0FBQztPQUFXO09BQUE7Q0FBQSJ9
|
|
@@ -11,7 +11,7 @@ import "../../spiffyWidgets-MTUAQq_u.js";
|
|
|
11
11
|
import { SearchResult } from "../../search-DrJiCT7d.js";
|
|
12
12
|
import "../../index-D7htGSQC.js";
|
|
13
13
|
import "../../types-BegmH0S1.js";
|
|
14
|
-
import { SelectedFilterOption } from "../../index-
|
|
14
|
+
import { SelectedFilterOption } from "../../index-DvUvoVHb.js";
|
|
15
15
|
import { SearchFilterDatum, SelectFilterItem } from "../../search-filter-types-CGFhksO3.js";
|
|
16
16
|
import { SearchResultsState } from "../../utils-aa1jK0Xe.js";
|
|
17
17
|
import { SearchResponseProduct } from "@spiffy-ai/commerce-api-client";
|
|
@@ -62,7 +62,11 @@ interface SearchResultsHocProps {
|
|
|
62
62
|
resetSearch: () => void;
|
|
63
63
|
searchResultsRef: React.RefObject<HTMLDivElement>;
|
|
64
64
|
}
|
|
65
|
-
declare const useSearch: (
|
|
65
|
+
declare const useSearch: ({
|
|
66
|
+
allowRedirect
|
|
67
|
+
}?: {
|
|
68
|
+
allowRedirect?: boolean;
|
|
69
|
+
}) => SearchResultsHocProps;
|
|
66
70
|
//#endregion
|
|
67
71
|
export { SearchResultsHocProps, useSearch };
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvU2VhcmNoL3VzZVNlYXJjaC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGVkRmlsdGVyT3B0aW9uIH0gZnJvbSBcInNyYy9hdG9tcy9zZWFyY2hcIjtcbmltcG9ydCB7IFByb2R1Y3RDYXJkQ29uZmlnIH0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyRGF0dW0sIFNlbGVjdEZpbHRlckl0ZW0gfSBmcm9tIFwic3JjL3R5cGVzL3NlYXJjaC1maWx0ZXItdHlwZXNcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNTdGF0ZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNIb2NQcm9wcyB7XG4gICAgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbDtcbiAgICBzZWFyY2hSZXNwb25zZUlkOiBzdHJpbmc7XG4gICAgbWVyY2hhbnRTaG9ydE5hbWU6IHN0cmluZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzogUHJvZHVjdENhcmRDb25maWc7XG4gICAgcHJvZHVjdExpc3Q6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdFtdO1xuICAgIGF1dG9jb21wbGV0ZVJlc3VsdHM6IHN0cmluZ1tdO1xuICAgIHNlYXJjaEZpbHRlcnM6IFNlYXJjaEZpbHRlckRhdHVtW107XG4gICAgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnM6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBzZWxlY3RlZEZpbHRlck9wdGlvbnM6IFNlbGVjdGVkRmlsdGVyT3B0aW9uW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0czogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc6IHN0cmluZztcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZzogc3RyaW5nO1xuICAgIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgICBxdWVyeTogc3RyaW5nO1xuICAgIHNlYXJjaFJlc3VsdHNTdGF0ZTogU2VhcmNoUmVzdWx0c1N0YXRlO1xuICAgIGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbjtcbiAgICBpc0ZpbHRlck9wZW46IGJvb2xlYW47XG4gICAgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbjtcbiAgICBmb2N1c2VkSW5kZXg6IG51bWJlcjtcbiAgICBmb2N1c2VkT3B0aW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBmaWx0ZXJCdXR0b25UZXh0OiBzdHJpbmc7XG4gICAgb25TZWFyY2hJbnB1dENoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgb25TdWJtaXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gICAgb25BdXRvY29tcGxldGVTZWxlY3Q6IChzdWdnZXN0aW9uOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgb25LZXlEb3duOiAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWQ7XG4gICAgb25TZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICAgIG9uU2VhcmNoSW5wdXRCbHVyOiAoKSA9PiB2b2lkO1xuICAgIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogKHsgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUgfToge1xuICAgICAgICBmaWx0ZXI6IHN0cmluZztcbiAgICAgICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBvblNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW07XG4gICAgb25SZW1vdmVGaWx0ZXI6IChmaWx0ZXI6IFNlbGVjdGVkRmlsdGVyT3B0aW9uKSA9PiB2b2lkO1xuICAgIG9uQ2xlYXJBbGxGaWx0ZXJzOiAoKSA9PiB2b2lkO1xuICAgIHNldElzRmlsdGVyT3BlbjogKGlzRmlsdGVyT3BlbjogYm9vbGVhbikgPT4gdm9pZDtcbiAgICByZXNldFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgICBzZWFyY2hSZXN1bHRzUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvU2VhcmNoL3VzZVNlYXJjaC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGVkRmlsdGVyT3B0aW9uIH0gZnJvbSBcInNyYy9hdG9tcy9zZWFyY2hcIjtcbmltcG9ydCB7IFByb2R1Y3RDYXJkQ29uZmlnIH0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyRGF0dW0sIFNlbGVjdEZpbHRlckl0ZW0gfSBmcm9tIFwic3JjL3R5cGVzL3NlYXJjaC1maWx0ZXItdHlwZXNcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNTdGF0ZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNIb2NQcm9wcyB7XG4gICAgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbDtcbiAgICBzZWFyY2hSZXNwb25zZUlkOiBzdHJpbmc7XG4gICAgbWVyY2hhbnRTaG9ydE5hbWU6IHN0cmluZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzogUHJvZHVjdENhcmRDb25maWc7XG4gICAgcHJvZHVjdExpc3Q6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdFtdO1xuICAgIGF1dG9jb21wbGV0ZVJlc3VsdHM6IHN0cmluZ1tdO1xuICAgIHNlYXJjaEZpbHRlcnM6IFNlYXJjaEZpbHRlckRhdHVtW107XG4gICAgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnM6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBzZWxlY3RlZEZpbHRlck9wdGlvbnM6IFNlbGVjdGVkRmlsdGVyT3B0aW9uW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0czogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc6IHN0cmluZztcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZzogc3RyaW5nO1xuICAgIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgICBxdWVyeTogc3RyaW5nO1xuICAgIHNlYXJjaFJlc3VsdHNTdGF0ZTogU2VhcmNoUmVzdWx0c1N0YXRlO1xuICAgIGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbjtcbiAgICBpc0ZpbHRlck9wZW46IGJvb2xlYW47XG4gICAgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbjtcbiAgICBmb2N1c2VkSW5kZXg6IG51bWJlcjtcbiAgICBmb2N1c2VkT3B0aW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBmaWx0ZXJCdXR0b25UZXh0OiBzdHJpbmc7XG4gICAgb25TZWFyY2hJbnB1dENoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgb25TdWJtaXRTZWFyY2g6ICgpID0+IHZvaWQ7XG4gICAgb25BdXRvY29tcGxldGVTZWxlY3Q6IChzdWdnZXN0aW9uOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgb25LZXlEb3duOiAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWQ7XG4gICAgb25TZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICAgIG9uU2VhcmNoSW5wdXRCbHVyOiAoKSA9PiB2b2lkO1xuICAgIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogKHsgZmlsdGVyLCBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUgfToge1xuICAgICAgICBmaWx0ZXI6IHN0cmluZztcbiAgICAgICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBvblNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW07XG4gICAgb25SZW1vdmVGaWx0ZXI6IChmaWx0ZXI6IFNlbGVjdGVkRmlsdGVyT3B0aW9uKSA9PiB2b2lkO1xuICAgIG9uQ2xlYXJBbGxGaWx0ZXJzOiAoKSA9PiB2b2lkO1xuICAgIHNldElzRmlsdGVyT3BlbjogKGlzRmlsdGVyT3BlbjogYm9vbGVhbikgPT4gdm9pZDtcbiAgICByZXNldFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgICBzZWFyY2hSZXN1bHRzUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlU2VhcmNoOiAoeyBhbGxvd1JlZGlyZWN0IH0/OiB7XG4gICAgYWxsb3dSZWRpcmVjdD86IGJvb2xlYW47XG59KSA9PiBTZWFyY2hSZXN1bHRzSG9jUHJvcHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxJQUFXLHdCQUF3QjtDQUFDO09BQUc7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBLE1BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUEsTUFBQTtDQUFBO0FBQ3ZDLElBQVcsWUFBWTtDQUFDO09BQVc7T0FBQTtDQUFBIn0=
|