@onepercentio/one-ui 1.0.0 → 1.0.2
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/components/Form/Form.hook.d.ts +10 -10
- package/dist/components/Form/Form.hook.js +1 -1
- package/dist/components/Form/Form.types.d.ts +3 -3
- package/dist/components/Form/Form.types.js +1 -1
- package/dist/components/Form/FormField/FormField.js +1 -1
- package/dist/components/Form/FormField/FormField.types.d.ts +1 -1
- package/dist/components/Form/FormField/FormField.types.js +1 -1
- package/dist/context/OneUIProvider.d.ts +1 -1
- package/dist/context/OneUIProvider.js +1 -1
- package/dist/hooks/useHero.js +6 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +22 -10
- package/dist/index.preprocess.js +4 -3
- package/dist-ts/components/Form/Form.hook.d.ts +10 -10
- package/dist-ts/components/Form/Form.hook.js.map +1 -1
- package/dist-ts/components/Form/Form.types.d.ts +3 -3
- package/dist-ts/components/Form/FormField/FormField.js +1 -1
- package/dist-ts/components/Form/FormField/FormField.js.map +1 -1
- package/dist-ts/components/Form/FormField/FormField.types.d.ts +1 -1
- package/dist-ts/context/OneUIProvider.d.ts +1 -1
- package/dist-ts/hooks/useHero.js +3 -1
- package/dist-ts/hooks/useHero.js.map +1 -1
- package/dist-ts/index.d.ts +3 -2
- package/dist-ts/index.js +3 -2
- package/dist-ts/index.js.map +1 -1
- package/dist-ts/index.preprocess.js +16 -12
- package/dist-ts/index.preprocess.js.map +1 -1
- package/package.json +2 -2
- package/dist/test.d.ts +0 -0
- package/dist/test.js +0 -2
- package/dist-ts/test.d.ts +0 -0
- package/dist-ts/test.js +0 -2
- package/dist-ts/test.js.map +0 -1
|
@@ -6,27 +6,27 @@ export declare function useFormAnswers<A extends AnswersMap<any> = AnswersMap>(d
|
|
|
6
6
|
answers: A;
|
|
7
7
|
setAnswers: import("react").Dispatch<import("react").SetStateAction<A>>;
|
|
8
8
|
};
|
|
9
|
-
export declare function useFormState(currentQuestions:
|
|
10
|
-
answers: Partial<{
|
|
11
|
-
|
|
12
|
-
}>;
|
|
9
|
+
export declare function useFormState<Q extends FormFieldView[]>(currentQuestions: Q, { answers, setAnswers }: ReturnType<typeof useFormAnswers<AnswersMap<Q>>>): {
|
|
10
|
+
answers: Partial<{ [questionId in Q[number]["id"]]: AnswerByField<Q[number] & {
|
|
11
|
+
id: questionId;
|
|
12
|
+
}>; }>;
|
|
13
13
|
isQuestionsAnswered: boolean;
|
|
14
14
|
isFilesUploaded: boolean;
|
|
15
15
|
onAnswerAction: <T extends FormFieldTypes>(questionType: T, id: string, answer: AnswerAction<{
|
|
16
16
|
type: T;
|
|
17
17
|
}> | undefined) => void;
|
|
18
|
-
questions:
|
|
18
|
+
questions: Q;
|
|
19
19
|
};
|
|
20
|
-
export declare function useForm(currentQuestions:
|
|
21
|
-
answers: Partial<{
|
|
22
|
-
|
|
23
|
-
}>;
|
|
20
|
+
export declare function useForm<Q extends FormFieldView[]>(currentQuestions: Q, defaultAnswers: AnswersMap, mode: FormMode): {
|
|
21
|
+
answers: Partial<{ [questionId in Q[number]["id"]]: AnswerByField<Q[number] & {
|
|
22
|
+
id: questionId;
|
|
23
|
+
}>; }>;
|
|
24
24
|
isQuestionsAnswered: boolean;
|
|
25
25
|
isFilesUploaded: boolean;
|
|
26
26
|
onAnswerAction: <T extends FormFieldTypes>(questionType: T, id: string, answer: AnswerAction<{
|
|
27
27
|
type: T;
|
|
28
28
|
}> | undefined) => void;
|
|
29
|
-
questions:
|
|
29
|
+
questions: Q;
|
|
30
30
|
};
|
|
31
31
|
export declare function useFieldErrors<Q extends Readonly<Pick<FormField, "type" | "id" | "optional" | "validator">[]>>(currentQuestions: Q, answers: AnswersMap, showAllErrors: boolean): { [k in Q[number]["id"]]: string; };
|
|
32
32
|
export declare function areAllQuestionsAnswered(currentQuestions: FormField[], answers: AnswersMap, requiredLabel: string, extensions: OneUIContextSpecs["component"]["form"]["extensions"]): {
|
|
@@ -230,4 +230,4 @@ const isValidated = (_answer, isOptional, validator, requiredFieldLabel) => {
|
|
|
230
230
|
};
|
|
231
231
|
};
|
|
232
232
|
exports.isValidated = isValidated;
|
|
233
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX09uZVVJUHJvdmlkZXIiLCJfRm9ybUZpZWxkIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJ1c2VGb3JtQW5zd2VycyIsImRlZmF1bHRBbnN3ZXJzIiwibW9kZSIsImFuc3dlcnMiLCJzZXRBbnN3ZXJzIiwidXNlU3RhdGUiLCJjbG9uZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwidXNlRm9ybVN0YXRlIiwiY3VycmVudFF1ZXN0aW9ucyIsIl9yZWYiLCJmb3JtQ29uZmlnIiwidXNlT25lVUlDb25maWciLCJpc1ZhbGlkIiwiaXNRdWVzdGlvbnNBbnN3ZXJlZCIsInVzZU1lbW8iLCJhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZCIsInJlcXVpcmVkTGFiZWwiLCJleHRlbnNpb25zIiwib25BbnN3ZXJBY3Rpb24iLCJxdWVzdGlvblR5cGUiLCJpZCIsImFuc3dlciIsIm9uRmlsZVVwbG9hZCIsInByZXYiLCJmaWxlIiwiaXNGaWxlc1VwbG9hZGVkIiwidXNlRmlsZVVwbG9hZHMiLCJxdWVzdGlvbnMiLCJ1c2VGb3JtIiwiZmlsZVVwbG9hZFF1ZXN0aW9ucyIsImEiLCJ0eXBlIiwiZmlsZVVwbG9hZFN0YXR1cyIsInNldEZpbGVVcGxvYWRTdGF0dXMiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1bnN1YnMiLCJmaWxlUXVlc3Rpb24iLCJ1cGxvYWRUYXNrIiwib24iLCJ0b3RhbEJ5dGVzIiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInVuc3ViIiwiYXJlQWxsRmlsZVVwbG9hZGVkIiwicmVkdWNlIiwicXVlc3Rpb24iLCJ1cGxvYWRTdGF0dXMiLCJ1c2VGaWVsZEVycm9ycyIsInNob3dBbGxFcnJvcnMiLCJlcnJvck1hcCIsImFucyIsImVycm9yc01hcCIsIl9pc1ZhbGlkYXRlZCIsImlzVmFsaWRhdGVkIiwib3B0aW9uYWwiLCJ2YWxpZGF0b3IiLCJ1cGRhdGVEZWZhdWx0RXJyb3IiLCJ2YWxpZGF0aW9uIiwiZXJyb3IiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiZXh0ZW5kZWRTdXBwb3J0IiwidmFsaWRhdGlvblJlc3VsdEV4dGVuZCIsImN1cnJlbnRFcnJvcnMiLCJlbnRyaWVzIiwiX3JlZjIiLCJrIiwidiIsInVuZGVmaW5lZCIsImFuc3dlcmVkQWxsIiwicmVzdWx0IiwiY2hlY2tzIiwiYWNjZXB0IiwiX3JlZjMiLCJpZHgiLCJjaGVja21hcmtzIiwiaW5jbHVkZXMiLCJfYW5zd2VyIiwiaXNPcHRpb25hbCIsInJlcXVpcmVkRmllbGRMYWJlbCIsIkFycmF5IiwiaXNBcnJheSIsIl8iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtLmhvb2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgT25lVUlDb250ZXh0U3BlY3MsIHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgQW5zd2VyQWN0aW9uLFxuICBBbnN3ZXJCeUZpZWxkLFxuICBGb3JtRmllbGQsXG4gIEZvcm1GaWVsZFR5cGVzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkL0Zvcm1GaWVsZC50eXBlc1wiO1xuaW1wb3J0IHsgQW5zd2Vyc01hcCB9IGZyb20gXCIuL0Zvcm0udHlwZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2ssIFVwbG9hZFRhc2tTbmFwc2hvdCB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHkgfSBmcm9tIFwiLi4vLi4vdHlwZS11dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybUFuc3dlcnM8QSBleHRlbmRzIEFuc3dlcnNNYXA8YW55PiA9IEFuc3dlcnNNYXA+KFxuICBkZWZhdWx0QW5zd2VyczogQSxcbiAgbW9kZTogRm9ybU1vZGVcbikge1xuICBjb25zdCBbYW5zd2Vycywgc2V0QW5zd2Vyc10gPSB1c2VTdGF0ZTxBPigoKSA9PiB7XG4gICAgY29uc3QgY2xvbmUgPSB7XG4gICAgICAuLi5kZWZhdWx0QW5zd2VycyxcbiAgICB9O1xuICAgIGlmIChtb2RlID09PSBGb3JtTW9kZS5SRUFEX09OTFkpIHJldHVybiBjbG9uZTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGFuc3dlcnMsXG4gICAgc2V0QW5zd2VycyxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtU3RhdGUoXG4gIGN1cnJlbnRRdWVzdGlvbnM6IEZvcm1GaWVsZFZpZXdbXSxcbiAgeyBhbnN3ZXJzLCBzZXRBbnN3ZXJzIH06IFJldHVyblR5cGU8dHlwZW9mIHVzZUZvcm1BbnN3ZXJzPlxuKSB7XG4gIGNvbnN0IGZvcm1Db25maWcgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5mb3JtXCIpO1xuXG4gIGNvbnN0IHsgaXNWYWxpZDogaXNRdWVzdGlvbnNBbnN3ZXJlZCB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGFyZUFsbFF1ZXN0aW9uc0Fuc3dlcmVkKFxuICAgICAgY3VycmVudFF1ZXN0aW9ucyxcbiAgICAgIGFuc3dlcnMsXG4gICAgICBmb3JtQ29uZmlnLnJlcXVpcmVkTGFiZWwsXG4gICAgICBmb3JtQ29uZmlnLmV4dGVuc2lvbnNcbiAgICApO1xuICB9LCBbYW5zd2VycywgY3VycmVudFF1ZXN0aW9uc10pO1xuXG4gIGNvbnN0IG9uQW5zd2VyQWN0aW9uID0gPFQgZXh0ZW5kcyBGb3JtRmllbGRUeXBlcz4oXG4gICAgcXVlc3Rpb25UeXBlOiBULFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYW5zd2VyOlxuICAgICAgfCBBbnN3ZXJBY3Rpb248e1xuICAgICAgICAgIHR5cGU6IFQ7XG4gICAgICAgIH0+XG4gICAgICB8IHVuZGVmaW5lZFxuICApID0+IHtcbiAgICBzd2l0Y2ggKHF1ZXN0aW9uVHlwZSkge1xuICAgICAgY2FzZSBcImZpbGVcIjpcbiAgICAgICAgY29uc3QgeyBvbkZpbGVVcGxvYWQgfSA9IGZvcm1Db25maWc7XG4gICAgICAgIHNldEFuc3dlcnMoKHByZXY6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGUgPSBhbnN3ZXIgYXMgRmlsZSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAoZmlsZSlcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtpZF06IG9uRmlsZVVwbG9hZChpZCwgZmlsZSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIGRlbGV0ZSBwcmV2W2lkXTtcbiAgICAgICAgICByZXR1cm4geyAuLi5wcmV2IH07XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNldEFuc3dlcnMoKHByZXYpID0+IHtcbiAgICAgICAgICBpZiAocHJldltpZF0gPT09IGFuc3dlcikgcmV0dXJuIHByZXY7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICBbaWRdOiBhbnN3ZXIgYXMgc3RyaW5nLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBpc0ZpbGVzVXBsb2FkZWQgPSB1c2VGaWxlVXBsb2FkcyhjdXJyZW50UXVlc3Rpb25zLCBhbnN3ZXJzKTtcblxuICByZXR1cm4ge1xuICAgIGFuc3dlcnMsXG4gICAgaXNRdWVzdGlvbnNBbnN3ZXJlZCxcbiAgICBpc0ZpbGVzVXBsb2FkZWQsXG4gICAgb25BbnN3ZXJBY3Rpb24sXG4gICAgcXVlc3Rpb25zOiBjdXJyZW50UXVlc3Rpb25zLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybShcbiAgY3VycmVudFF1ZXN0aW9uczogRm9ybUZpZWxkVmlld1tdLFxuICBkZWZhdWx0QW5zd2VyczogQW5zd2Vyc01hcCxcbiAgbW9kZTogRm9ybU1vZGVcbikge1xuICBjb25zdCBhbnN3ZXJzID0gdXNlRm9ybUFuc3dlcnMoZGVmYXVsdEFuc3dlcnMsIG1vZGUpO1xuICByZXR1cm4gdXNlRm9ybVN0YXRlKGN1cnJlbnRRdWVzdGlvbnMsIGFuc3dlcnMpO1xufVxuXG5mdW5jdGlvbiB1c2VGaWxlVXBsb2FkcyhxdWVzdGlvbnM6IEZvcm1GaWVsZFtdLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwKSB7XG4gIGNvbnN0IGZpbGVVcGxvYWRRdWVzdGlvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+IHF1ZXN0aW9ucy5maWx0ZXIoKGEpID0+IGEudHlwZSA9PT0gXCJmaWxlXCIpLFxuICAgIFtxdWVzdGlvbnNdXG4gICk7XG4gIGNvbnN0IFtmaWxlVXBsb2FkU3RhdHVzLCBzZXRGaWxlVXBsb2FkU3RhdHVzXSA9IHVzZVN0YXRlPHtcbiAgICBbcXVlc3Rpb25JRDogc3RyaW5nXTogVXBsb2FkVGFza1NuYXBzaG90W1wic3RhdGVcIl07XG4gIH0+KHt9KTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB1bnN1YnM6IFJldHVyblR5cGU8VXBsb2FkVGFza1tcIm9uXCJdPltdID0gW107XG4gICAgZm9yIChsZXQgZmlsZVF1ZXN0aW9uIG9mIGZpbGVVcGxvYWRRdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IHVwbG9hZFRhc2sgPSBhbnN3ZXJzW2ZpbGVRdWVzdGlvbi5pZF0gYXNcbiAgICAgICAgfCBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgICAgIHR5cGU6IFwiZmlsZVwiO1xuICAgICAgICAgIH0+XG4gICAgICAgIHwgdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoIXVwbG9hZFRhc2spXG4gICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBbZmlsZVF1ZXN0aW9uLmlkXTogXCJydW5uaW5nXCIsXG4gICAgICAgIH0pKTtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiB1cGxvYWRUYXNrID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICBzZXRGaWxlVXBsb2FkU3RhdHVzKChwcmV2KSA9PiAoe1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgW2ZpbGVRdWVzdGlvbi5pZF06IFwic3VjY2Vzc1wiLFxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdW5zdWJzLnB1c2goXG4gICAgICAgICAgdXBsb2FkVGFzay5vbihcInN0YXRlX2NoYW5nZWRcIiwgKHIpID0+IHtcbiAgICAgICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtmaWxlUXVlc3Rpb24uaWRdOlxuICAgICAgICAgICAgICAgIHIudG90YWxCeXRlcyA9PT0gci5ieXRlc1RyYW5zZmVycmVkID8gXCJzdWNjZXNzXCIgOiBcInJ1bm5pbmdcIixcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB1bnN1YnMuZm9yRWFjaCgodW5zdWIpID0+IHVuc3ViKCkpO1xuICAgIH07XG4gIH0sIFthbnN3ZXJzLCBmaWxlVXBsb2FkUXVlc3Rpb25zXSk7XG5cbiAgY29uc3QgYXJlQWxsRmlsZVVwbG9hZGVkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZpbGVVcGxvYWRRdWVzdGlvbnMucmVkdWNlKChyLCBxdWVzdGlvbikgPT4ge1xuICAgICAgY29uc3QgdXBsb2FkU3RhdHVzID0gZmlsZVVwbG9hZFN0YXR1c1txdWVzdGlvbi5pZF07XG4gICAgICByZXR1cm4gciAmJiB1cGxvYWRTdGF0dXMgPT09IFwic3VjY2Vzc1wiO1xuICAgIH0sIHRydWUpO1xuICB9LCBbZmlsZVVwbG9hZFN0YXR1cywgZmlsZVVwbG9hZFF1ZXN0aW9uc10pO1xuXG4gIHJldHVybiBhcmVBbGxGaWxlVXBsb2FkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VGaWVsZEVycm9yczxcbiAgUSBleHRlbmRzIFJlYWRvbmx5PFxuICAgIFBpY2s8Rm9ybUZpZWxkLCBcInR5cGVcIiB8IFwiaWRcIiB8IFwib3B0aW9uYWxcIiB8IFwidmFsaWRhdG9yXCI+W11cbiAgPlxuPihjdXJyZW50UXVlc3Rpb25zOiBRLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwLCBzaG93QWxsRXJyb3JzOiBib29sZWFuKSB7XG4gIGNvbnN0IHsgcmVxdWlyZWRMYWJlbCwgZXh0ZW5zaW9ucyB9ID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcbiAgY29uc3QgZXJyb3JNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBQaWNrPEZvcm1GaWVsZCwgXCJpZFwiPiAmIHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH1cbiAgICApID0+XG4gICAgICBhbnN3ZXJzW3F1ZXN0aW9uLmlkXSBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuICAgIGNvbnN0IGVycm9yc01hcDoge1xuICAgICAgW3F1ZXN0aW9uSWQ6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB9ID0ge307XG4gICAgZm9yIChsZXQgcXVlc3Rpb24gb2YgY3VycmVudFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgX2lzVmFsaWRhdGVkID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgYW5zKHF1ZXN0aW9uKSxcbiAgICAgICAgICAhIXF1ZXN0aW9uLm9wdGlvbmFsLFxuICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICByZXF1aXJlZExhYmVsXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgICAgY29uc3QgdXBkYXRlRGVmYXVsdEVycm9yID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uID0gX2lzVmFsaWRhdGVkKCk7XG4gICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uLmVycm9yO1xuICAgICAgfTtcbiAgICAgIHN3aXRjaCAocXVlc3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFwiY2hlY2tcIjpcbiAgICAgICAgY2FzZSBcInJhd2NoZWNrXCI6XG4gICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgaWYgKHF1ZXN0aW9uLnZhbGlkYXRvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSBxdWVzdGlvbi52YWxpZGF0b3IoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbikgYXMgYW55XG4gICAgICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICBjYXNlIFwic2VsZWN0XCI6XG4gICAgICAgIGNhc2UgXCJyYWRpb1wiOlxuICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgIHVwZGF0ZURlZmF1bHRFcnJvcigpO1xuICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBfaXNWYWxpZGF0ZWQoKTtcbiAgICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uUmVzdWx0LmVycm9yO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICBleHRlbnNpb25zPy5bXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnR5cGUgYXMgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdW1widHlwZVwiXVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICBpZiAoZXh0ZW5kZWRTdXBwb3J0KSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kID0gZXh0ZW5kZWRTdXBwb3J0LnZhbGlkYXRvcihcbiAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSBhcyBhbnksXG4gICAgICAgICAgICAgIHF1ZXN0aW9uIGFzIGFueVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmVycm9yKVxuICAgICAgICAgICAgICBlcnJvcnNNYXBbcXVlc3Rpb24uaWRdID0gdmFsaWRhdGlvblJlc3VsdEV4dGVuZC5lcnJvcjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnNNYXA7XG4gIH0sIFtjdXJyZW50UXVlc3Rpb25zLCBhbnN3ZXJzXSk7XG5cbiAgY29uc3QgY3VycmVudEVycm9ycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhlcnJvck1hcCkucmVkdWNlKFxuICAgICAgKHIsIFtrLCB2XSkgPT4gKHtcbiAgICAgICAgLi4ucixcbiAgICAgICAgW2tdOiBzaG93QWxsRXJyb3JzID8gdiA6IHYgIT09IHJlcXVpcmVkTGFiZWwgPyB2IDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG4gIH0sIFtzaG93QWxsRXJyb3JzLCBlcnJvck1hcF0pO1xuXG4gIHJldHVybiBjdXJyZW50RXJyb3JzIGFzIHsgW2sgaW4gUVtudW1iZXJdW1wiaWRcIl1dOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZUFsbFF1ZXN0aW9uc0Fuc3dlcmVkKFxuICBjdXJyZW50UXVlc3Rpb25zOiBGb3JtRmllbGRbXSxcbiAgYW5zd2VyczogQW5zd2Vyc01hcCxcbiAgcmVxdWlyZWRMYWJlbDogc3RyaW5nLFxuICBleHRlbnNpb25zOiBPbmVVSUNvbnRleHRTcGVjc1tcImNvbXBvbmVudFwiXVtcImZvcm1cIl1bXCJleHRlbnNpb25zXCJdXG4pIHtcbiAgY29uc3QgaXNWYWxpZCA9IGN1cnJlbnRRdWVzdGlvbnMucmVkdWNlKChhbnN3ZXJlZEFsbCwgcXVlc3Rpb24pID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBGb3JtRmllbGQgJiB7XG4gICAgICAgIHR5cGU6IFQ7XG4gICAgICB9XG4gICAgKSA9PlxuICAgICAgYW5zd2Vyc1txdWVzdGlvbi5pZF0gYXMgdW5rbm93biBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuXG4gICAgY29uc3QgcmVzdWx0ID1cbiAgICAgIGFuc3dlcmVkQWxsICYmXG4gICAgICAoKCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHF1ZXN0aW9uLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFwiYWNjZXB0XCI6XG4gICAgICAgICAgICBjb25zdCBjaGVja3MgPSBhbnMocXVlc3Rpb24pIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLmFjY2VwdC5yZWR1Y2UoXG4gICAgICAgICAgICAgIChyLCB7IG9wdGlvbmFsIH0sIGlkeCkgPT4gciAmJiAob3B0aW9uYWwgPyB0cnVlIDogY2hlY2tzW2lkeF0pLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgICAgIGNhc2UgXCJyYXdjaGVja1wiOlxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLm9wdGlvbmFsKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi52YWxpZGF0b3IpXG4gICAgICAgICAgICAgIHJldHVybiBxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpIGFzIGJvb2xlYW47XG4gICAgICAgICAgICBjb25zdCBjaGVja21hcmtzID0gYW5zKHF1ZXN0aW9uKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBjaGVja21hcmtzLmluY2x1ZGVzKHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgICAgICBjYXNlIFwicmFkaW9cIjpcbiAgICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgICAgaWYgKCFhbnN3ZXJzW3F1ZXN0aW9uLmlkXSkgcmV0dXJuICEhcXVlc3Rpb24ub3B0aW9uYWw7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbiksXG4gICAgICAgICAgICAgICEhcXVlc3Rpb24ub3B0aW9uYWwsXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICAgICAgcmVxdWlyZWRMYWJlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0LmlzVmFsaWQgJiYgYW5zd2VyZWRBbGw7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICAgIGV4dGVuc2lvbnM/LltcbiAgICAgICAgICAgICAgICBxdWVzdGlvbi50eXBlIGFzIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXVtcInR5cGVcIl1cbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGlmIChleHRlbmRlZFN1cHBvcnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdEV4dGVuZCA9IGV4dGVuZGVkU3VwcG9ydC52YWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSBhcyBhbnksXG4gICAgICAgICAgICAgICAgcXVlc3Rpb24gYXMgYW55XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmlzVmFsaWQ7XG4gICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLnZhbGlkYXRvclxuICAgICAgICAgICAgICAgID8gISFxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpXG4gICAgICAgICAgICAgICAgOiAhIWFucyhxdWVzdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pKCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwgdHJ1ZSk7XG5cbiAgcmV0dXJuIHsgaXNWYWxpZDogISFpc1ZhbGlkIH07XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkYXRlZCA9IChcbiAgX2Fuc3dlcjogQW5zd2VyQnlGaWVsZDx7IHR5cGU6IEZvcm1GaWVsZFR5cGVzIH0+LFxuICBpc09wdGlvbmFsOiBib29sZWFuLFxuICB2YWxpZGF0b3I6ICgodmFsOiBhbnkpID0+IHN0cmluZyB8IGJvb2xlYW4pIHwgdW5kZWZpbmVkLFxuICByZXF1aXJlZEZpZWxkTGFiZWw6IHN0cmluZ1xuKSA9PiB7XG4gIGNvbnN0IGFuc3dlciA9IEFycmF5LmlzQXJyYXkoX2Fuc3dlcikgPyBfYW5zd2VyWzBdIDogX2Fuc3dlcjtcbiAgaWYgKCFhbnN3ZXIgJiYgIWlzT3B0aW9uYWwpXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3I6IHJlcXVpcmVkRmllbGRMYWJlbCxcbiAgICB9O1xuICBpZiAoIXZhbGlkYXRvcilcbiAgICBpZiAoQXJyYXkuaXNBcnJheShfYW5zd2VyKSkge1xuICAgICAgY29uc3QgW18sIGlzVmFsaWQsIGVycm9yXSA9IF9hbnN3ZXI7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpc1ZhbGlkLFxuICAgICAgICBlcnJvcixcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBcIlwiLFxuICAgICAgfTtcbiAgICB9XG4gIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0b3IoYW5zd2VyKTtcbiAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uUmVzdWx0ID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiB7XG4gICAgICBpc1ZhbGlkOiBmYWxzZSxcbiAgICAgIGVycm9yOiB2YWxpZGF0aW9uUmVzdWx0LFxuICAgIH07XG4gIHJldHVybiB7XG4gICAgaXNWYWxpZDogdmFsaWRhdGlvblJlc3VsdCxcbiAgICBlcnJvcjogXCJcIixcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFB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
|
|
233
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX09uZVVJUHJvdmlkZXIiLCJfRm9ybUZpZWxkIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJ1c2VGb3JtQW5zd2VycyIsImRlZmF1bHRBbnN3ZXJzIiwibW9kZSIsImFuc3dlcnMiLCJzZXRBbnN3ZXJzIiwidXNlU3RhdGUiLCJjbG9uZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwidXNlRm9ybVN0YXRlIiwiY3VycmVudFF1ZXN0aW9ucyIsIl9yZWYiLCJmb3JtQ29uZmlnIiwidXNlT25lVUlDb25maWciLCJpc1ZhbGlkIiwiaXNRdWVzdGlvbnNBbnN3ZXJlZCIsInVzZU1lbW8iLCJhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZCIsInJlcXVpcmVkTGFiZWwiLCJleHRlbnNpb25zIiwib25BbnN3ZXJBY3Rpb24iLCJxdWVzdGlvblR5cGUiLCJpZCIsImFuc3dlciIsIm9uRmlsZVVwbG9hZCIsInByZXYiLCJmaWxlIiwiaXNGaWxlc1VwbG9hZGVkIiwidXNlRmlsZVVwbG9hZHMiLCJxdWVzdGlvbnMiLCJ1c2VGb3JtIiwiZmlsZVVwbG9hZFF1ZXN0aW9ucyIsImEiLCJ0eXBlIiwiZmlsZVVwbG9hZFN0YXR1cyIsInNldEZpbGVVcGxvYWRTdGF0dXMiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1bnN1YnMiLCJmaWxlUXVlc3Rpb24iLCJ1cGxvYWRUYXNrIiwib24iLCJ0b3RhbEJ5dGVzIiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInVuc3ViIiwiYXJlQWxsRmlsZVVwbG9hZGVkIiwicmVkdWNlIiwicXVlc3Rpb24iLCJ1cGxvYWRTdGF0dXMiLCJ1c2VGaWVsZEVycm9ycyIsInNob3dBbGxFcnJvcnMiLCJlcnJvck1hcCIsImFucyIsImVycm9yc01hcCIsIl9pc1ZhbGlkYXRlZCIsImlzVmFsaWRhdGVkIiwib3B0aW9uYWwiLCJ2YWxpZGF0b3IiLCJ1cGRhdGVEZWZhdWx0RXJyb3IiLCJ2YWxpZGF0aW9uIiwiZXJyb3IiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiZXh0ZW5kZWRTdXBwb3J0IiwidmFsaWRhdGlvblJlc3VsdEV4dGVuZCIsImN1cnJlbnRFcnJvcnMiLCJlbnRyaWVzIiwiX3JlZjIiLCJrIiwidiIsInVuZGVmaW5lZCIsImFuc3dlcmVkQWxsIiwicmVzdWx0IiwiY2hlY2tzIiwiYWNjZXB0IiwiX3JlZjMiLCJpZHgiLCJjaGVja21hcmtzIiwiaW5jbHVkZXMiLCJfYW5zd2VyIiwiaXNPcHRpb25hbCIsInJlcXVpcmVkRmllbGRMYWJlbCIsIkFycmF5IiwiaXNBcnJheSIsIl8iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtLmhvb2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgT25lVUlDb250ZXh0U3BlY3MsIHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgQW5zd2VyQWN0aW9uLFxuICBBbnN3ZXJCeUZpZWxkLFxuICBGb3JtRmllbGQsXG4gIEZvcm1GaWVsZFR5cGVzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkL0Zvcm1GaWVsZC50eXBlc1wiO1xuaW1wb3J0IHsgQW5zd2Vyc01hcCB9IGZyb20gXCIuL0Zvcm0udHlwZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2ssIFVwbG9hZFRhc2tTbmFwc2hvdCB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHkgfSBmcm9tIFwiLi4vLi4vdHlwZS11dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybUFuc3dlcnM8QSBleHRlbmRzIEFuc3dlcnNNYXA8YW55PiA9IEFuc3dlcnNNYXA+KFxuICBkZWZhdWx0QW5zd2VyczogQSxcbiAgbW9kZTogRm9ybU1vZGVcbikge1xuICBjb25zdCBbYW5zd2Vycywgc2V0QW5zd2Vyc10gPSB1c2VTdGF0ZTxBPigoKSA9PiB7XG4gICAgY29uc3QgY2xvbmUgPSB7XG4gICAgICAuLi5kZWZhdWx0QW5zd2VycyxcbiAgICB9O1xuICAgIGlmIChtb2RlID09PSBGb3JtTW9kZS5SRUFEX09OTFkpIHJldHVybiBjbG9uZTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGFuc3dlcnMsXG4gICAgc2V0QW5zd2VycyxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtU3RhdGU8USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIGN1cnJlbnRRdWVzdGlvbnM6IFEsXG4gIHsgYW5zd2Vycywgc2V0QW5zd2VycyB9OiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VGb3JtQW5zd2VyczxBbnN3ZXJzTWFwPFE+Pj5cbikge1xuICBjb25zdCBmb3JtQ29uZmlnID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcblxuICBjb25zdCB7IGlzVmFsaWQ6IGlzUXVlc3Rpb25zQW5zd2VyZWQgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZChcbiAgICAgIGN1cnJlbnRRdWVzdGlvbnMsXG4gICAgICBhbnN3ZXJzLFxuICAgICAgZm9ybUNvbmZpZy5yZXF1aXJlZExhYmVsLFxuICAgICAgZm9ybUNvbmZpZy5leHRlbnNpb25zXG4gICAgKTtcbiAgfSwgW2Fuc3dlcnMsIGN1cnJlbnRRdWVzdGlvbnNdKTtcblxuICBjb25zdCBvbkFuc3dlckFjdGlvbiA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVHlwZXM+KFxuICAgIHF1ZXN0aW9uVHlwZTogVCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGFuc3dlcjpcbiAgICAgIHwgQW5zd2VyQWN0aW9uPHtcbiAgICAgICAgICB0eXBlOiBUO1xuICAgICAgICB9PlxuICAgICAgfCB1bmRlZmluZWRcbiAgKSA9PiB7XG4gICAgc3dpdGNoIChxdWVzdGlvblR5cGUpIHtcbiAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgIGNvbnN0IHsgb25GaWxlVXBsb2FkIH0gPSBmb3JtQ29uZmlnO1xuICAgICAgICBzZXRBbnN3ZXJzKChwcmV2OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlID0gYW5zd2VyIGFzIEZpbGUgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgaWYgKGZpbGUpXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBbaWRdOiBvbkZpbGVVcGxvYWQoaWQsIGZpbGUpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBkZWxldGUgcHJldltpZF07XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucHJldiB9O1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBzZXRBbnN3ZXJzKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZbaWRdID09PSBhbnN3ZXIpIHJldHVybiBwcmV2O1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgW2lkXTogYW5zd2VyIGFzIHN0cmluZyxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaXNGaWxlc1VwbG9hZGVkID0gdXNlRmlsZVVwbG9hZHMoY3VycmVudFF1ZXN0aW9ucywgYW5zd2Vycyk7XG5cbiAgcmV0dXJuIHtcbiAgICBhbnN3ZXJzLFxuICAgIGlzUXVlc3Rpb25zQW5zd2VyZWQsXG4gICAgaXNGaWxlc1VwbG9hZGVkLFxuICAgIG9uQW5zd2VyQWN0aW9uLFxuICAgIHF1ZXN0aW9uczogY3VycmVudFF1ZXN0aW9ucyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm08USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIGN1cnJlbnRRdWVzdGlvbnM6IFEsXG4gIGRlZmF1bHRBbnN3ZXJzOiBBbnN3ZXJzTWFwLFxuICBtb2RlOiBGb3JtTW9kZVxuKSB7XG4gIGNvbnN0IGFuc3dlcnMgPSB1c2VGb3JtQW5zd2VycyhkZWZhdWx0QW5zd2VycywgbW9kZSk7XG4gIHJldHVybiB1c2VGb3JtU3RhdGUoY3VycmVudFF1ZXN0aW9ucywgYW5zd2Vycyk7XG59XG5cbmZ1bmN0aW9uIHVzZUZpbGVVcGxvYWRzKHF1ZXN0aW9uczogRm9ybUZpZWxkW10sIGFuc3dlcnM6IEFuc3dlcnNNYXApIHtcbiAgY29uc3QgZmlsZVVwbG9hZFF1ZXN0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gcXVlc3Rpb25zLmZpbHRlcigoYSkgPT4gYS50eXBlID09PSBcImZpbGVcIiksXG4gICAgW3F1ZXN0aW9uc11cbiAgKTtcbiAgY29uc3QgW2ZpbGVVcGxvYWRTdGF0dXMsIHNldEZpbGVVcGxvYWRTdGF0dXNdID0gdXNlU3RhdGU8e1xuICAgIFtxdWVzdGlvbklEOiBzdHJpbmddOiBVcGxvYWRUYXNrU25hcHNob3RbXCJzdGF0ZVwiXTtcbiAgfT4oe30pO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHVuc3ViczogUmV0dXJuVHlwZTxVcGxvYWRUYXNrW1wib25cIl0+W10gPSBbXTtcbiAgICBmb3IgKGxldCBmaWxlUXVlc3Rpb24gb2YgZmlsZVVwbG9hZFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgdXBsb2FkVGFzayA9IGFuc3dlcnNbZmlsZVF1ZXN0aW9uLmlkXSBhc1xuICAgICAgICB8IEFuc3dlckJ5RmllbGQ8e1xuICAgICAgICAgICAgdHlwZTogXCJmaWxlXCI7XG4gICAgICAgICAgfT5cbiAgICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICAgIGlmICghdXBsb2FkVGFzaylcbiAgICAgICAgc2V0RmlsZVVwbG9hZFN0YXR1cygocHJldikgPT4gKHtcbiAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgIFtmaWxlUXVlc3Rpb24uaWRdOiBcInJ1bm5pbmdcIixcbiAgICAgICAgfSkpO1xuICAgICAgZWxzZSBpZiAodHlwZW9mIHVwbG9hZFRhc2sgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBbZmlsZVF1ZXN0aW9uLmlkXTogXCJzdWNjZXNzXCIsXG4gICAgICAgIH0pKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICB1bnN1YnMucHVzaChcbiAgICAgICAgICB1cGxvYWRUYXNrLm9uKFwic3RhdGVfY2hhbmdlZFwiLCAocikgPT4ge1xuICAgICAgICAgICAgc2V0RmlsZVVwbG9hZFN0YXR1cygocHJldikgPT4gKHtcbiAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgW2ZpbGVRdWVzdGlvbi5pZF06XG4gICAgICAgICAgICAgICAgci50b3RhbEJ5dGVzID09PSByLmJ5dGVzVHJhbnNmZXJyZWQgPyBcInN1Y2Nlc3NcIiA6IFwicnVubmluZ1wiLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHVuc3Vicy5mb3JFYWNoKCh1bnN1YikgPT4gdW5zdWIoKSk7XG4gICAgfTtcbiAgfSwgW2Fuc3dlcnMsIGZpbGVVcGxvYWRRdWVzdGlvbnNdKTtcblxuICBjb25zdCBhcmVBbGxGaWxlVXBsb2FkZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZmlsZVVwbG9hZFF1ZXN0aW9ucy5yZWR1Y2UoKHIsIHF1ZXN0aW9uKSA9PiB7XG4gICAgICBjb25zdCB1cGxvYWRTdGF0dXMgPSBmaWxlVXBsb2FkU3RhdHVzW3F1ZXN0aW9uLmlkXTtcbiAgICAgIHJldHVybiByICYmIHVwbG9hZFN0YXR1cyA9PT0gXCJzdWNjZXNzXCI7XG4gICAgfSwgdHJ1ZSk7XG4gIH0sIFtmaWxlVXBsb2FkU3RhdHVzLCBmaWxlVXBsb2FkUXVlc3Rpb25zXSk7XG5cbiAgcmV0dXJuIGFyZUFsbEZpbGVVcGxvYWRlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZpZWxkRXJyb3JzPFxuICBRIGV4dGVuZHMgUmVhZG9ubHk8XG4gICAgUGljazxGb3JtRmllbGQsIFwidHlwZVwiIHwgXCJpZFwiIHwgXCJvcHRpb25hbFwiIHwgXCJ2YWxpZGF0b3JcIj5bXVxuICA+XG4+KGN1cnJlbnRRdWVzdGlvbnM6IFEsIGFuc3dlcnM6IEFuc3dlcnNNYXAsIHNob3dBbGxFcnJvcnM6IGJvb2xlYW4pIHtcbiAgY29uc3QgeyByZXF1aXJlZExhYmVsLCBleHRlbnNpb25zIH0gPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5mb3JtXCIpO1xuICBjb25zdCBlcnJvck1hcCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGFucyA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVmlld1tcInR5cGVcIl0+KFxuICAgICAgcXVlc3Rpb246IFBpY2s8Rm9ybUZpZWxkLCBcImlkXCI+ICYge1xuICAgICAgICB0eXBlOiBUO1xuICAgICAgfVxuICAgICkgPT5cbiAgICAgIGFuc3dlcnNbcXVlc3Rpb24uaWRdIGFzIEFuc3dlckJ5RmllbGQ8e1xuICAgICAgICB0eXBlOiBUO1xuICAgICAgfT47XG4gICAgY29uc3QgZXJyb3JzTWFwOiB7XG4gICAgICBbcXVlc3Rpb25JZDogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIH0gPSB7fTtcbiAgICBmb3IgKGxldCBxdWVzdGlvbiBvZiBjdXJyZW50UXVlc3Rpb25zKSB7XG4gICAgICBjb25zdCBfaXNWYWxpZGF0ZWQgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiBpc1ZhbGlkYXRlZChcbiAgICAgICAgICBhbnMocXVlc3Rpb24pLFxuICAgICAgICAgICEhcXVlc3Rpb24ub3B0aW9uYWwsXG4gICAgICAgICAgcXVlc3Rpb24udmFsaWRhdG9yLFxuICAgICAgICAgIHJlcXVpcmVkTGFiZWxcbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgICBjb25zdCB1cGRhdGVEZWZhdWx0RXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSBfaXNWYWxpZGF0ZWQoKTtcbiAgICAgICAgZXJyb3JzTWFwW3F1ZXN0aW9uLmlkXSA9IHZhbGlkYXRpb24uZXJyb3I7XG4gICAgICB9O1xuICAgICAgc3dpdGNoIChxdWVzdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgICBjYXNlIFwicmF3Y2hlY2tcIjpcbiAgICAgICAgICB1cGRhdGVEZWZhdWx0RXJyb3IoKTtcbiAgICAgICAgICBpZiAocXVlc3Rpb24udmFsaWRhdG9yKVxuICAgICAgICAgICAgZXJyb3JzTWFwW3F1ZXN0aW9uLmlkXSA9IHF1ZXN0aW9uLnZhbGlkYXRvcihcbiAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSBhcyBhbnlcbiAgICAgICAgICAgICkgYXMgc3RyaW5nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgIGNhc2UgXCJ0ZXh0XCI6XG4gICAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgICAgY2FzZSBcInJhZGlvXCI6XG4gICAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IF9pc1ZhbGlkYXRlZCgpO1xuICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKVxuICAgICAgICAgICAgZXJyb3JzTWFwW3F1ZXN0aW9uLmlkXSA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY29uc3QgZXh0ZW5kZWRTdXBwb3J0ID1cbiAgICAgICAgICAgIGV4dGVuc2lvbnM/LltcbiAgICAgICAgICAgICAgcXVlc3Rpb24udHlwZSBhcyBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIj5bXCJmaWVsZHNcIl1bXCJ0eXBlXCJdXG4gICAgICAgICAgICBdO1xuICAgICAgICAgIGlmIChleHRlbmRlZFN1cHBvcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHRFeHRlbmQgPSBleHRlbmRlZFN1cHBvcnQudmFsaWRhdG9yKFxuICAgICAgICAgICAgICBhbnMocXVlc3Rpb24pIGFzIGFueSxcbiAgICAgICAgICAgICAgcXVlc3Rpb24gYXMgYW55XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHRFeHRlbmQuZXJyb3IpXG4gICAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmVycm9yO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cGRhdGVEZWZhdWx0RXJyb3IoKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9yc01hcDtcbiAgfSwgW2N1cnJlbnRRdWVzdGlvbnMsIGFuc3dlcnNdKTtcblxuICBjb25zdCBjdXJyZW50RXJyb3JzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGVycm9yTWFwKS5yZWR1Y2UoXG4gICAgICAociwgW2ssIHZdKSA9PiAoe1xuICAgICAgICAuLi5yLFxuICAgICAgICBba106IHNob3dBbGxFcnJvcnMgPyB2IDogdiAhPT0gcmVxdWlyZWRMYWJlbCA/IHYgOiB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcbiAgfSwgW3Nob3dBbGxFcnJvcnMsIGVycm9yTWFwXSk7XG5cbiAgcmV0dXJuIGN1cnJlbnRFcnJvcnMgYXMgeyBbayBpbiBRW251bWJlcl1bXCJpZFwiXV06IHN0cmluZyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlQWxsUXVlc3Rpb25zQW5zd2VyZWQoXG4gIGN1cnJlbnRRdWVzdGlvbnM6IEZvcm1GaWVsZFtdLFxuICBhbnN3ZXJzOiBBbnN3ZXJzTWFwLFxuICByZXF1aXJlZExhYmVsOiBzdHJpbmcsXG4gIGV4dGVuc2lvbnM6IE9uZVVJQ29udGV4dFNwZWNzW1wiY29tcG9uZW50XCJdW1wiZm9ybVwiXVtcImV4dGVuc2lvbnNcIl1cbikge1xuICBjb25zdCBpc1ZhbGlkID0gY3VycmVudFF1ZXN0aW9ucy5yZWR1Y2UoKGFuc3dlcmVkQWxsLCBxdWVzdGlvbikgPT4ge1xuICAgIGNvbnN0IGFucyA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVmlld1tcInR5cGVcIl0+KFxuICAgICAgcXVlc3Rpb246IEZvcm1GaWVsZCAmIHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH1cbiAgICApID0+XG4gICAgICBhbnN3ZXJzW3F1ZXN0aW9uLmlkXSBhcyB1bmtub3duIGFzIEFuc3dlckJ5RmllbGQ8e1xuICAgICAgICB0eXBlOiBUO1xuICAgICAgfT47XG5cbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgYW5zd2VyZWRBbGwgJiZcbiAgICAgICgoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocXVlc3Rpb24udHlwZSkge1xuICAgICAgICAgIGNhc2UgXCJhY2NlcHRcIjpcbiAgICAgICAgICAgIGNvbnN0IGNoZWNrcyA9IGFucyhxdWVzdGlvbikgfHwgW107XG4gICAgICAgICAgICByZXR1cm4gcXVlc3Rpb24uYWNjZXB0LnJlZHVjZShcbiAgICAgICAgICAgICAgKHIsIHsgb3B0aW9uYWwgfSwgaWR4KSA9PiByICYmIChvcHRpb25hbCA/IHRydWUgOiBjaGVja3NbaWR4XSksXG4gICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcImNoZWNrXCI6XG4gICAgICAgICAgY2FzZSBcInJhd2NoZWNrXCI6XG4gICAgICAgICAgICBpZiAocXVlc3Rpb24ub3B0aW9uYWwpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnZhbGlkYXRvcilcbiAgICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLnZhbGlkYXRvcihhbnMocXVlc3Rpb24pIGFzIGFueSkgYXMgYm9vbGVhbjtcbiAgICAgICAgICAgIGNvbnN0IGNoZWNrbWFya3MgPSBhbnMocXVlc3Rpb24pIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrbWFya3MuaW5jbHVkZXModHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgIGNhc2UgXCJ0ZXh0XCI6XG4gICAgICAgICAgY2FzZSBcInNlbGVjdFwiOlxuICAgICAgICAgIGNhc2UgXCJyYWRpb1wiOlxuICAgICAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgICAgICBpZiAoIWFuc3dlcnNbcXVlc3Rpb24uaWRdKSByZXR1cm4gISFxdWVzdGlvbi5vcHRpb25hbDtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBpc1ZhbGlkYXRlZChcbiAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSxcbiAgICAgICAgICAgICAgISFxdWVzdGlvbi5vcHRpb25hbCxcbiAgICAgICAgICAgICAgcXVlc3Rpb24udmFsaWRhdG9yLFxuICAgICAgICAgICAgICByZXF1aXJlZExhYmVsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25SZXN1bHQuaXNWYWxpZCAmJiBhbnN3ZXJlZEFsbDtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY29uc3QgZXh0ZW5kZWRTdXBwb3J0ID1cbiAgICAgICAgICAgICAgZXh0ZW5zaW9ucz8uW1xuICAgICAgICAgICAgICAgIHF1ZXN0aW9uLnR5cGUgYXMgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdW1widHlwZVwiXVxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgaWYgKGV4dGVuZGVkU3VwcG9ydCkge1xuICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kID0gZXh0ZW5kZWRTdXBwb3J0LnZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICBhbnMocXVlc3Rpb24pIGFzIGFueSxcbiAgICAgICAgICAgICAgICBxdWVzdGlvbiBhcyBhbnlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25SZXN1bHRFeHRlbmQuaXNWYWxpZDtcbiAgICAgICAgICAgIH0gZWxzZVxuICAgICAgICAgICAgICByZXR1cm4gcXVlc3Rpb24udmFsaWRhdG9yXG4gICAgICAgICAgICAgICAgPyAhIXF1ZXN0aW9uLnZhbGlkYXRvcihhbnMocXVlc3Rpb24pIGFzIGFueSlcbiAgICAgICAgICAgICAgICA6ICEhYW5zKHF1ZXN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSkoKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LCB0cnVlKTtcblxuICByZXR1cm4geyBpc1ZhbGlkOiAhIWlzVmFsaWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRhdGVkID0gKFxuICBfYW5zd2VyOiBBbnN3ZXJCeUZpZWxkPHsgdHlwZTogRm9ybUZpZWxkVHlwZXMgfT4sXG4gIGlzT3B0aW9uYWw6IGJvb2xlYW4sXG4gIHZhbGlkYXRvcjogKCh2YWw6IGFueSkgPT4gc3RyaW5nIHwgYm9vbGVhbikgfCB1bmRlZmluZWQsXG4gIHJlcXVpcmVkRmllbGRMYWJlbDogc3RyaW5nXG4pID0+IHtcbiAgY29uc3QgYW5zd2VyID0gQXJyYXkuaXNBcnJheShfYW5zd2VyKSA/IF9hbnN3ZXJbMF0gOiBfYW5zd2VyO1xuICBpZiAoIWFuc3dlciAmJiAhaXNPcHRpb25hbClcbiAgICByZXR1cm4ge1xuICAgICAgaXNWYWxpZDogZmFsc2UsXG4gICAgICBlcnJvcjogcmVxdWlyZWRGaWVsZExhYmVsLFxuICAgIH07XG4gIGlmICghdmFsaWRhdG9yKVxuICAgIGlmIChBcnJheS5pc0FycmF5KF9hbnN3ZXIpKSB7XG4gICAgICBjb25zdCBbXywgaXNWYWxpZCwgZXJyb3JdID0gX2Fuc3dlcjtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzVmFsaWQsXG4gICAgICAgIGVycm9yLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXNWYWxpZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IFwiXCIsXG4gICAgICB9O1xuICAgIH1cbiAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IHZhbGlkYXRvcihhbnN3ZXIpO1xuICBpZiAodHlwZW9mIHZhbGlkYXRpb25SZXN1bHQgPT09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3I6IHZhbGlkYXRpb25SZXN1bHQsXG4gICAgfTtcbiAgcmV0dXJuIHtcbiAgICBpc1ZhbGlkOiB2YWxpZGF0aW9uUmVzdWx0LFxuICAgIGVycm9yOiBcIlwiLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFD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
|
|
@@ -64,12 +64,12 @@ export type FormViewProps<Q extends BaseQuestion[]> = {
|
|
|
64
64
|
"data-testid"?: (id: Q[number]["id"]) => string;
|
|
65
65
|
} & ({
|
|
66
66
|
mode?: FormMode.WRITE;
|
|
67
|
-
initialAnswers?: AnswersMap
|
|
68
|
-
onFormUpdate: (
|
|
67
|
+
initialAnswers?: AnswersMap<Q>;
|
|
68
|
+
onFormUpdate: (answers: any, isValid: boolean) => void;
|
|
69
69
|
/** When provided (true) show all current errors that are blocking the completion of the form */
|
|
70
70
|
showAllErrors?: boolean;
|
|
71
71
|
} | {
|
|
72
|
-
initialAnswers: AnswersMap
|
|
72
|
+
initialAnswers: AnswersMap<Q>;
|
|
73
73
|
mode: FormMode.READ_ONLY;
|
|
74
74
|
});
|
|
75
75
|
export type AnswersMap<Q extends Readonly<BaseQuestion[]> = [
|
|
@@ -37,4 +37,4 @@ let INVESTOR_PROFILE = exports.INVESTOR_PROFILE = /*#__PURE__*/function (INVESTO
|
|
|
37
37
|
INVESTOR_PROFILE[INVESTOR_PROFILE["UNLIMITED"] = 2] = "UNLIMITED";
|
|
38
38
|
return INVESTOR_PROFILE;
|
|
39
39
|
}({});
|
|
40
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhU3RhdHVzIiwiZXhwb3J0cyIsIlN0ZXBTdGF0dXMiLCJGb3JtU3RlcCIsIkZvcm1Nb2RlIiwiSU5WRVNUT1JfUFJPRklMRSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm0vRm9ybS50eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSBcIi4uL1NlbGVjdC9TZWxlY3RcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2sgfSBmcm9tIFwiZmlyZWJhc2Uvc3RvcmFnZVwiO1xuaW1wb3J0IHsgUmVhY3RFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7XG4gIEFuc3dlckFjdGlvbixcbiAgQW5zd2VyQnlGaWVsZCxcbiAgRm9ybUZpZWxkLFxufSBmcm9tIFwiLi9Gb3JtRmllbGQvRm9ybUZpZWxkLnR5cGVzXCI7XG5cbmV4cG9ydCB0eXBlIEJhc2VRdWVzdGlvbiA9IHsgaWQ6IHN0cmluZzsgdHlwZTogRm9ybUZpZWxkW1widHlwZVwiXSB9O1xuZXhwb3J0IHR5cGUgRm9ybVN0YXRlPFEgZXh0ZW5kcyBCYXNlUXVlc3Rpb25bXSA9IFtdPiA9IFtcbiAgYW5zd2VyczogQW5zd2Vyc01hcDxRPixcbiAgaXNWYWxpZDogYm9vbGVhblxuXTtcblxuZXhwb3J0IGVudW0gRGF0YVN0YXR1cyB7XG4gIC8qKiBGb3JtIGlzIGVtcHR5ICovXG4gIFBFTkRJTkcsXG4gIC8qKiBGb3JtIGlzIHBhcnRpYWxseSBmaWxsZWQgKi9cbiAgSU5DT01QTEVURSxcbiAgLyoqIEZvcm0gaXMgY29tcGxldGVkICovXG4gIENPTVBMRVRFLFxuICAvKiogRm9ybSBoYXMgZXJyb3IgKi9cbiAgRVJST1IsXG59XG5cbmV4cG9ydCBlbnVtIFN0ZXBTdGF0dXMge1xuICAvKiogV2hlbiB0aGUgZGF0YSBpcyBlbXB0eSBhbmQgbmVlZHMgdG8gYmUgZmlsbGVkICovXG4gIElOQ09NUExFVEUsXG4gIC8qKiBXaGVuIGRhdGEgaGFzIGFscmVhZHkgYmVlbiBmaWxsZWQgKi9cbiAgQ09NUExFVEVELFxuICAvKiogV2hlbiB0aGUgc3RlcCBpcyB0aGUgY3VycmVudCBzZWxlY3RlZCAqL1xuICBDVVJSRU5ULFxuICAvKiogV2hlbiB0aGUgc3RlcCBoYXMgZXJyb3IgKi9cbiAgRVJST1IsXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1TdGVwIHtcbiAgUEVSU09OQUxfREFUQSxcbiAgQURESVRJT05BTF9EQVRBLFxuICBET0NVTUVOVFMsXG4gIElOVkVTVF9QUk9GSUxFLFxuICBDT05UUkFDVFMsXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1Nb2RlIHtcbiAgUkVBRF9PTkxZLFxuICBXUklURSxcbn1cblxuZXhwb3J0IHR5cGUgRm9ybUZpZWxkVmlldyA9IEZvcm1GaWVsZCAmIHtcbiAgdGl0bGU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEZvcm1Qcm9wcyA9IHtcbiAgb25Gb3JtU3VibWl0dGVkOiAoKSA9PiB2b2lkO1xuICBzYXZlZEFuc3dlcnM6IFBhcnRpYWw8e1xuICAgIFtxdWVzdGlvbklkOiBzdHJpbmddOiBBbnN3ZXJCeUZpZWxkPEZvcm1GaWVsZD47XG4gIH0+O1xuICBzdGFydEF0OiBGb3JtU3RlcDtcbiAgb25Hb0JhY2s6ICgpID0+
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhU3RhdHVzIiwiZXhwb3J0cyIsIlN0ZXBTdGF0dXMiLCJGb3JtU3RlcCIsIkZvcm1Nb2RlIiwiSU5WRVNUT1JfUFJPRklMRSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm0vRm9ybS50eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSBcIi4uL1NlbGVjdC9TZWxlY3RcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2sgfSBmcm9tIFwiZmlyZWJhc2Uvc3RvcmFnZVwiO1xuaW1wb3J0IHsgUmVhY3RFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7XG4gIEFuc3dlckFjdGlvbixcbiAgQW5zd2VyQnlGaWVsZCxcbiAgRm9ybUZpZWxkLFxufSBmcm9tIFwiLi9Gb3JtRmllbGQvRm9ybUZpZWxkLnR5cGVzXCI7XG5cbmV4cG9ydCB0eXBlIEJhc2VRdWVzdGlvbiA9IHsgaWQ6IHN0cmluZzsgdHlwZTogRm9ybUZpZWxkW1widHlwZVwiXSB9O1xuZXhwb3J0IHR5cGUgRm9ybVN0YXRlPFEgZXh0ZW5kcyBCYXNlUXVlc3Rpb25bXSA9IFtdPiA9IFtcbiAgYW5zd2VyczogQW5zd2Vyc01hcDxRPixcbiAgaXNWYWxpZDogYm9vbGVhblxuXTtcblxuZXhwb3J0IGVudW0gRGF0YVN0YXR1cyB7XG4gIC8qKiBGb3JtIGlzIGVtcHR5ICovXG4gIFBFTkRJTkcsXG4gIC8qKiBGb3JtIGlzIHBhcnRpYWxseSBmaWxsZWQgKi9cbiAgSU5DT01QTEVURSxcbiAgLyoqIEZvcm0gaXMgY29tcGxldGVkICovXG4gIENPTVBMRVRFLFxuICAvKiogRm9ybSBoYXMgZXJyb3IgKi9cbiAgRVJST1IsXG59XG5cbmV4cG9ydCBlbnVtIFN0ZXBTdGF0dXMge1xuICAvKiogV2hlbiB0aGUgZGF0YSBpcyBlbXB0eSBhbmQgbmVlZHMgdG8gYmUgZmlsbGVkICovXG4gIElOQ09NUExFVEUsXG4gIC8qKiBXaGVuIGRhdGEgaGFzIGFscmVhZHkgYmVlbiBmaWxsZWQgKi9cbiAgQ09NUExFVEVELFxuICAvKiogV2hlbiB0aGUgc3RlcCBpcyB0aGUgY3VycmVudCBzZWxlY3RlZCAqL1xuICBDVVJSRU5ULFxuICAvKiogV2hlbiB0aGUgc3RlcCBoYXMgZXJyb3IgKi9cbiAgRVJST1IsXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1TdGVwIHtcbiAgUEVSU09OQUxfREFUQSxcbiAgQURESVRJT05BTF9EQVRBLFxuICBET0NVTUVOVFMsXG4gIElOVkVTVF9QUk9GSUxFLFxuICBDT05UUkFDVFMsXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1Nb2RlIHtcbiAgUkVBRF9PTkxZLFxuICBXUklURSxcbn1cblxuZXhwb3J0IHR5cGUgRm9ybUZpZWxkVmlldyA9IEZvcm1GaWVsZCAmIHtcbiAgdGl0bGU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEZvcm1Qcm9wcyA9IHtcbiAgb25Gb3JtU3VibWl0dGVkOiAoKSA9PiB2b2lkO1xuICBzYXZlZEFuc3dlcnM6IFBhcnRpYWw8e1xuICAgIFtxdWVzdGlvbklkOiBzdHJpbmddOiBBbnN3ZXJCeUZpZWxkPEZvcm1GaWVsZD47XG4gIH0+O1xuICBzdGFydEF0OiBGb3JtU3RlcDtcbiAgb25Hb0JhY2s6ICgpID0+IHZvaWQ7XG59O1xuZXhwb3J0IHR5cGUgU3RlcEZvcm1Qcm9wcyA9IFBpY2s8Rm9ybVByb3BzLCBcInNhdmVkQW5zd2Vyc1wiPiAmIHtcbiAgc3RlcDogRm9ybVN0ZXA7XG59ICYgTW9kZVByb3BzO1xuXG5leHBvcnQgdHlwZSBNb2RlUHJvcHMgPVxuICB8IHtcbiAgICAgIG1vZGU6IEZvcm1Nb2RlLlJFQURfT05MWTtcbiAgICB9XG4gIHwge1xuICAgICAgbW9kZTogRm9ybU1vZGUuV1JJVEU7XG4gICAgICBvbkZpbmlzaDogKCkgPT4gdm9pZDtcbiAgICAgIG9uQ2FuY2VsOiAoKSA9PiB2b2lkO1xuICAgIH07XG5leHBvcnQgdHlwZSBGb3JtVmlld1Byb3BzPFEgZXh0ZW5kcyBCYXNlUXVlc3Rpb25bXT4gPSB7XG4gIHF1ZXN0aW9uczogUTtcbiAgXCJkYXRhLXRlc3RpZFwiPzogKGlkOiBRW251bWJlcl1bXCJpZFwiXSkgPT4gc3RyaW5nO1xufSAmIChcbiAgfCB7XG4gICAgICBtb2RlPzogRm9ybU1vZGUuV1JJVEU7XG4gICAgICBpbml0aWFsQW5zd2Vycz86IEFuc3dlcnNNYXA8UT47XG4gICAgICBvbkZvcm1VcGRhdGU6IChhbnN3ZXJzOiBhbnksIGlzVmFsaWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgICAvKiogV2hlbiBwcm92aWRlZCAodHJ1ZSkgc2hvdyBhbGwgY3VycmVudCBlcnJvcnMgdGhhdCBhcmUgYmxvY2tpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGZvcm0gKi9cbiAgICAgIHNob3dBbGxFcnJvcnM/OiBib29sZWFuO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbml0aWFsQW5zd2VyczogQW5zd2Vyc01hcDxRPjtcbiAgICAgIG1vZGU6IEZvcm1Nb2RlLlJFQURfT05MWTtcbiAgICB9XG4pO1xuXG5leHBvcnQgdHlwZSBBbnN3ZXJzTWFwPFxuICBRIGV4dGVuZHMgUmVhZG9ubHk8QmFzZVF1ZXN0aW9uW10+ID0gW1xuICAgIHsgdHlwZTogQmFzZVF1ZXN0aW9uW1widHlwZVwiXTsgaWQ6IHN0cmluZyB9XG4gIF1cbj4gPSBQYXJ0aWFsPHtcbiAgW3F1ZXN0aW9uSWQgaW4gUVtudW1iZXJdW1wiaWRcIl1dOiBBbnN3ZXJCeUZpZWxkPFxuICAgIFFbbnVtYmVyXSAmIHsgaWQ6IHF1ZXN0aW9uSWQgfVxuICA+O1xufT47XG5cbmV4cG9ydCBlbnVtIElOVkVTVE9SX1BST0ZJTEUge1xuICAvKipcbiAgICogVXNlciBjYW4gb25seSBzcGVuZCB1cCB0byAyMGtcbiAgICovXG4gIFJFU1RSSUNURUQsXG4gIC8qKlxuICAgKiBVc2VyIGNhbiBvbmx5IHNwZW5kIHVwIHRvIDEwJSBvZiBpdCdzIGluY29tZVxuICAgKi9cbiAgTElNSVRFRCxcbiAgLyoqXG4gICAqIFVzZXIgZG9lc24ndCBoYXZlIHJlc3RyaWN0aW9uc1xuICAgKi9cbiAgVU5MSU1JVEVELFxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7SUFnQllBLFVBQVUsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLDBCQUFWQSxVQUFVO0VBQVZBLFVBQVUsQ0FBVkEsVUFBVTtFQUFWQSxVQUFVLENBQVZBLFVBQVU7RUFBVkEsVUFBVSxDQUFWQSxVQUFVO0VBQVZBLFVBQVUsQ0FBVkEsVUFBVTtFQUFBLE9BQVZBLFVBQVU7QUFBQTtBQUFBLElBV1ZFLFVBQVUsR0FBQUQsT0FBQSxDQUFBQyxVQUFBLDBCQUFWQSxVQUFVO0VBQVZBLFVBQVUsQ0FBVkEsVUFBVTtFQUFWQSxVQUFVLENBQVZBLFVBQVU7RUFBVkEsVUFBVSxDQUFWQSxVQUFVO0VBQVZBLFVBQVUsQ0FBVkEsVUFBVTtFQUFBLE9BQVZBLFVBQVU7QUFBQTtBQUFBLElBV1ZDLFFBQVEsR0FBQUYsT0FBQSxDQUFBRSxRQUFBLDBCQUFSQSxRQUFRO0VBQVJBLFFBQVEsQ0FBUkEsUUFBUTtFQUFSQSxRQUFRLENBQVJBLFFBQVE7RUFBUkEsUUFBUSxDQUFSQSxRQUFRO0VBQVJBLFFBQVEsQ0FBUkEsUUFBUTtFQUFSQSxRQUFRLENBQVJBLFFBQVE7RUFBQSxPQUFSQSxRQUFRO0FBQUE7QUFBQSxJQVFSQyxRQUFRLEdBQUFILE9BQUEsQ0FBQUcsUUFBQSwwQkFBUkEsUUFBUTtFQUFSQSxRQUFRLENBQVJBLFFBQVE7RUFBUkEsUUFBUSxDQUFSQSxRQUFRO0VBQUEsT0FBUkEsUUFBUTtBQUFBO0FBQUEsSUF5RFJDLGdCQUFnQixHQUFBSixPQUFBLENBQUFJLGdCQUFBLDBCQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQUEsT0FBaEJBLGdCQUFnQjtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -273,4 +273,4 @@ function FormField(_ref) {
|
|
|
273
273
|
throw new Error("The form field \"".concat(type, "\" is not implemented yet. Please provide it using OneUIProvider config options for form extensions"));
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2RlYm91bmNlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Gb3JtRmllbGQiLCJfU2VsZWN0IiwiX0lucHV0IiwiX1RleHQiLCJfQnV0dG9uIiwiX1JhZGlvIiwiX0FuY2hvcmVkVG9vbHRpcCIsIl9GaWxlSW5wdXQiLCJfQ2hlY2tCb3giLCJfU3BhY2luZyIsIl9PbmVVSVByb3ZpZGVyIiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwidCIsIm8iLCJyIiwiaSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibiIsImxlbmd0aCIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNhbGwiLCJoYXNPd25Qcm9wZXJ0eSIsIkZvcm1GaWVsZCIsIl9yZWYiLCJjb25maWciLCJjIiwidmFsdWUiLCJwcm9wcyIsInZhbCIsImFucyIsImFuc3dlciIsInR5cGUiLCJ0aXRsZVZhcmlhbnQiLCJsYWJlbFZhcmlhbnQiLCJvcHRpb25hbExhYmVsIiwiZXh0ZW5zaW9ucyIsInVzZU9uZVVJQ29uZmlnIiwibW9kZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwiY2hlY2tzIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJ0aXRsZSIsImluY2x1ZGVzIiwibWFwIiwiY2hlY2tlZCIsIm9wdGlvbnMiLCJzaXplIiwiZmlsZSIsInN0YXRlcyIsImZpbGVQcm92aWRlZCIsImRlc2NyaXB0aW9uIiwiZmlsZVVzYWdlRGVzY3JpcHRpb24iLCJ3YWl0aW5nRmlsZSIsImZvb3RlciIsIm9uRmlsZSIsInVuZGVmaW5lZCIsInByb2dyZXNzIiwiZGlzYWJsZWQiLCJ2YXJpYW50IiwiY29sb3IiLCJvbkNsaWNrIiwib3BlbkZpbGUiLCJhY3Rpb24iLCJsYWJlbCIsIm9uQW5zd2VyIiwiZXJyb3IiLCJjb250cmFjdCIsImFjY2VwdCIsImEiLCJvcHRpb25hbCIsIm9uVG9nZ2xlIiwiY2xvbmUiLCJpZCIsImdyb3VwSWQiLCJ1cGxvYWQiLCJzZXRQcm9ncmVzcyIsInVzZVN0YXRlIiwicyIsInNuYXBzaG90IiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInRvdGFsQnl0ZXMiLCJ1c2VFZmZlY3QiLCJ0aHJvdHRsZVNldFByb2dyZXNzIiwiZGVib3VuY2UiLCJ1bnN1YnNjcmliZSIsIm9uIiwieCIsImNvbmNhdCIsImpvaW4iLCJzZWxlY3RlZCIsImVsIiwiY2hlY2tFcnJvciIsImNoZWNrbWFya3MiLCJyYXdDaGVja21hcmtzIiwiYWxpZ25UbyIsIkFuY2hvcmVkVG9vbHRpcEFsaWdubWVudCIsIkxFRlQiLCJpdGVtcyIsImZpbHRlciIsInJlcGxhY2UiLCJtdWx0aWxpbmUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiX3JlZjIiLCJ0YXJnZXQiLCJyZWdpc3RlcmVkRXh0ZW5zaW9uIiwiSW5wdXQiLCJxdWVzdGlvbiIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtRmllbGQvRm9ybUZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBkZWJvdW5jZSBmcm9tIFwibG9kYXNoL2RlYm91bmNlXCI7XG5pbXBvcnQge1xuICBBbnN3ZXJBY3Rpb24sXG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZFByb3BzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkLnR5cGVzXCI7XG5pbXBvcnQgU2VsZWN0IGZyb20gXCIuLi8uLi9TZWxlY3QvU2VsZWN0XCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uLy4uL0lucHV0XCI7XG5pbXBvcnQgT25lVGV4dCBmcm9tIFwiLi4vLi4vVGV4dFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vQnV0dG9uXCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uLy4uL1JhZGlvXCI7XG5pbXBvcnQgeyBBbmNob3JlZFRvb2x0aXBBbGlnbm1lbnQgfSBmcm9tIFwiLi4vLi4vQW5jaG9yZWRUb29sdGlwL0FuY2hvcmVkVG9vbHRpcFwiO1xuaW1wb3J0IEZpbGVJbnB1dCBmcm9tIFwiLi4vLi4vRmlsZUlucHV0L0ZpbGVJbnB1dFwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi8uLi9DaGVja0JveC9DaGVja0JveFwiO1xuaW1wb3J0IFNwYWNpbmcgZnJvbSBcIi4uLy4uL1NwYWNpbmdcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuLy8gaW1wb3J0IElucHV0TWFzayBmcm9tIFwicmVhY3QtaW5wdXQtbWFza1wiO1xuXG4vKipcbiAqIFRoZSBsb2dpYyBmb3IgYSBmaWVsZCBvZiB0aGUgZm9ybVxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRm9ybUZpZWxkPFEgZXh0ZW5kcyBGb3JtRmllbGRWaWV3Pih7XG4gIGNvbmZpZzogYyxcbiAgdmFsdWUsXG4gIC4uLnByb3BzXG59OiBGb3JtRmllbGRQcm9wczxRPikge1xuICBjb25zdCB2YWwgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPigpID0+XG4gICAgdmFsdWUgYXMgdW5rbm93biBhc1xuICAgIHwgQW5zd2VyQnlGaWVsZDx7XG4gICAgICB0eXBlOiBUO1xuICAgIH0+XG4gICAgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGFucyA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVmlld1tcInR5cGVcIl0+KFxuICAgIGFuc3dlcjpcbiAgICAgIHwgQW5zd2VyQWN0aW9uPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+XG4gICAgICB8IHVuZGVmaW5lZFxuICApID0+XG4gICAgYW5zd2VyIGFzIHVua25vd24gYXMgQW5zd2VyQWN0aW9uPHtcbiAgICAgIHR5cGU6IFQ7XG4gICAgfT47XG4gIGNvbnN0IHR5cGUgPSBjLnR5cGU7XG4gIGNvbnN0IHsgdGl0bGVWYXJpYW50LCBsYWJlbFZhcmlhbnQsIG9wdGlvbmFsTGFiZWwsIGV4dGVuc2lvbnMgfSA9XG4gICAgdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcbiAgaWYgKHByb3BzLm1vZGUgPT09IEZvcm1Nb2RlLlJFQURfT05MWSkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcImNoZWNrXCI6XG4gICAgICAgIGNvbnN0IGNoZWNrcyA9IHZhbDx0eXBlb2YgdHlwZT4oKSEgfHwgW107XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e3RpdGxlVmFyaWFudH0+e2MudGl0bGV9PC9PbmVUZXh0PlxuICAgICAgICAgICAge2NoZWNrcy5pbmNsdWRlcyh0cnVlKSA/IChcbiAgICAgICAgICAgICAgY2hlY2tzLm1hcCgoY2hlY2tlZCwgaSkgPT5cbiAgICAgICAgICAgICAgICBjaGVja2VkID8gKFxuICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT57Yy5vcHRpb25zW2ldLnZhbHVlfTwvT25lVGV4dD5cbiAgICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8T25lVGV4dCB0eXBlPXtsYWJlbFZhcmlhbnR9Pi08L09uZVRleHQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgIGNvbnN0IGZpbGUgPSB2YWw8dHlwZW9mIHR5cGU+KCkhO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8RmlsZUlucHV0XG4gICAgICAgICAgICAgIHN0YXRlcz17e1xuICAgICAgICAgICAgICAgIGZpbGVQcm92aWRlZDoge1xuICAgICAgICAgICAgICAgICAgdGl0bGU6IGMudGl0bGUsXG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHdhaXRpbmdGaWxlOiB7XG4gICAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjLmZpbGVVc2FnZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGZvb3Rlcj17Yy5mb290ZXJ9XG4gICAgICAgICAgICAgIG9uRmlsZT17KCkgPT4geyB9fVxuICAgICAgICAgICAgICBmaWxlPXtmaWxlID09PSB0cnVlID8gKHt9IGFzIEZpbGUpIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICBwcm9ncmVzcz17ZmlsZSA9PT0gdHJ1ZSA/IDEwMCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgIHtmaWxlID09PSB0cnVlICYmIChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2Mub3BlbkZpbGUhLmFjdGlvbn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjLm9wZW5GaWxlIS5sYWJlbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cImxhcmdlXCIgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnN0IGFuc3dlciA9IHZhbDx0eXBlb2YgdHlwZT4oKSBhcyBSZWFjdE5vZGU7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e3RpdGxlVmFyaWFudH0+e2MudGl0bGV9PC9PbmVUZXh0PlxuICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fSBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXX0+e2Fuc3dlciB8fCBcIi1cIn08L09uZVRleHQ+XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHsgb25BbnN3ZXIsIGVycm9yIH0gPSBwcm9wcztcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBcImFjY2VwdFwiOlxuICAgICAgY29uc3QgY2hlY2tzID0gdmFsPHR5cGVvZiB0eXBlPigpIHx8IFtdO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImxpbmtcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17Yy5jb250cmFjdC5hY3Rpb259XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Yy5jb250cmFjdC5sYWJlbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICB7Yy5hY2NlcHQubWFwKChhLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT5cbiAgICAgICAgICAgICAgICAgIDxDaGVja0JveFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7YS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2Eub3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIj57b3B0aW9uYWxMYWJlbH08L09uZVRleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2NoZWNrc1tpXX1cbiAgICAgICAgICAgICAgICAgICAgb25Ub2dnbGU9eyhjaGVja2VkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBbLi4uY2hlY2tzXTtcbiAgICAgICAgICAgICAgICAgICAgICBjbG9uZVtpXSA9IGNoZWNrZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgb25BbnN3ZXIodHlwZSwgYy5pZCwgYW5zPHR5cGVvZiB0eXBlPihjbG9uZSkpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBncm91cElkPXtjLmlkfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxTcGFjaW5nIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgY29uc3QgdXBsb2FkID0gdmFsPHR5cGVvZiB0eXBlPigpO1xuICAgICAgY29uc3QgW3Byb2dyZXNzLCBzZXRQcm9ncmVzc10gPSB1c2VTdGF0ZTxudW1iZXIgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgaWYgKCF1cGxvYWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh1cGxvYWQgPT09IHRydWUpIHJldHVybiAxMDA7XG4gICAgICAgIGNvbnN0IHMgPSB1cGxvYWQuc25hcHNob3Q7XG4gICAgICAgIHJldHVybiAocy5ieXRlc1RyYW5zZmVycmVkICogMTAwKSAvIHMudG90YWxCeXRlcztcbiAgICAgIH0pO1xuICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCF1cGxvYWQpIHJldHVybiBzZXRQcm9ncmVzcyh1bmRlZmluZWQpO1xuICAgICAgICBpZiAodXBsb2FkID09PSB0cnVlKSB7XG4gICAgICAgICAgc2V0UHJvZ3Jlc3MoMTAwKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGhyb3R0bGVTZXRQcm9ncmVzcyA9IGRlYm91bmNlKHNldFByb2dyZXNzLCAyNTApO1xuICAgICAgICBjb25zdCB1bnN1YnNjcmliZSA9IHVwbG9hZC5vbihcInN0YXRlX2NoYW5nZWRcIiwgKHMpID0+IHtcbiAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IChzLmJ5dGVzVHJhbnNmZXJyZWQgKiAxMDApIC8gcy50b3RhbEJ5dGVzO1xuICAgICAgICAgIHRocm90dGxlU2V0UHJvZ3Jlc3MocHJvZ3Jlc3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH07XG4gICAgICB9LCBbdXBsb2FkXSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlSW5wdXRcbiAgICAgICAgICAgIHN0YXRlcz17e1xuICAgICAgICAgICAgICBmaWxlUHJvdmlkZWQ6IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgd2FpdGluZ0ZpbGU6IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmb290ZXI9e2MuZm9vdGVyfVxuICAgICAgICAgICAgb25GaWxlPXsoZmlsZSkgPT4ge1xuICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBhbnM8dHlwZW9mIHR5cGU+KGZpbGUpKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmaWxlPXt1cGxvYWQgYXMgdW5rbm93biBhcyBGaWxlfVxuICAgICAgICAgICAgcHJvZ3Jlc3M9e3VwbG9hZCA/IHByb2dyZXNzIHx8IDAgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhY2NlcHQ9e2MuZXh0ZW5zaW9ucy5tYXAoKHgpID0+IGAuJHt4fWApLmpvaW4oXCIsXCIpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2Vycm9yID8gKFxuICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8U3BhY2luZyBzaXplPVwibGFyZ2VcIiAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInJhZGlvXCI6XG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHZhbDx0eXBlb2YgdHlwZT4oKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAge2Vycm9yICYmIChcbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9XCJjYXB0aW9uXCIgY29sb3I9XCJlcnJvclwiPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L09uZVRleHQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7Yy5vcHRpb25zLm1hcCgoZWwpID0+IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e2xhYmVsVmFyaWFudH0+XG4gICAgICAgICAgICAgICAgPFJhZGlvXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZCA9PT0gZWwudmFsdWV9XG4gICAgICAgICAgICAgICAgICBsYWJlbD17ZWwubGFiZWx9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZT17KCkgPT4gb25BbnN3ZXIodHlwZSwgYy5pZCwgZWwudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgZ3JvdXBJZD17Yy5pZH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlbC52YWx1ZX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtwcm9wc1tcImRhdGEtdGVzdGlkXCJdfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgY29uc3QgY2hlY2tFcnJvciA9XG4gICAgICAgIHR5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIiA/IGMub3B0aW9ucy5tYXAoKCkgPT4gZXJyb3IpIDogZXJyb3I7XG4gICAgICBjb25zdCBjaGVja21hcmtzID0gdmFsPHR5cGVvZiB0eXBlPigpIHx8IFtdO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8T25lVGV4dCB0eXBlPXt0aXRsZVZhcmlhbnR9PntjLnRpdGxlfTwvT25lVGV4dD5cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7Yy5vcHRpb25zLm1hcCgoZWwsIGkpID0+IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e2xhYmVsVmFyaWFudH0+XG4gICAgICAgICAgICAgICAgPENoZWNrQm94XG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtjaGVja21hcmtzW2ldfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIHtlbC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICB7Y2hlY2tFcnJvcj8uW2ldID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGVja0Vycm9yW2ldfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uVG9nZ2xlPXsoY2hlY2tlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZSA9IFsuLi5jaGVja21hcmtzXTtcbiAgICAgICAgICAgICAgICAgICAgY2xvbmVbaV0gPSBjaGVja2VkO1xuICAgICAgICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBjbG9uZSk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgZ3JvdXBJZD17Yy5pZH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlbC52YWx1ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L09uZVRleHQ+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBjYXNlIFwicmF3Y2hlY2tcIjpcbiAgICAgIGNvbnN0IHJhd0NoZWNrbWFya3MgPSB2YWw8dHlwZW9mIHR5cGU+KCkgfHwgW107XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8T25lVGV4dCB0eXBlPVwiY2FwdGlvblwiIGNvbG9yPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtjLm9wdGlvbnMubWFwKChlbCwgaSkgPT4gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT5cbiAgICAgICAgICAgICAgICA8Q2hlY2tCb3hcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3Jhd0NoZWNrbWFya3NbaV19XG4gICAgICAgICAgICAgICAgICBsYWJlbD17ZWwubGFiZWx9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZT17KGNoZWNrZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBbLi4ucmF3Q2hlY2ttYXJrc107XG4gICAgICAgICAgICAgICAgICAgIGNsb25lW2ldID0gY2hlY2tlZDtcbiAgICAgICAgICAgICAgICAgICAgb25BbnN3ZXIodHlwZSwgYy5pZCwgY2xvbmUpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGdyb3VwSWQ9e2MuaWR9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWwudmFsdWV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInNlbGVjdFwiOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8T25lVGV4dCB0eXBlPXt0aXRsZVZhcmlhbnR9PntjLnRpdGxlfTwvT25lVGV4dD5cbiAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17YGN2bTg4LSR7Yy5pZH1gfVxuICAgICAgICAgICAgYWxpZ25Ubz17QW5jaG9yZWRUb29sdGlwQWxpZ25tZW50LkxFRlR9XG4gICAgICAgICAgICBpdGVtcz17Yy5vcHRpb25zfVxuICAgICAgICAgICAgc2VsZWN0ZWQ9e3ZhbDx0eXBlb2YgdHlwZT4oKSF9XG4gICAgICAgICAgICBvbkNsaWNrPXsoaSkgPT4ge1xuICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBpLnZhbHVlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmaWx0ZXI9e2MuZmlsdGVyfVxuICAgICAgICAgICAgZXJyb3I9e2Vycm9yIGFzIHN0cmluZ31cbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInRleHRcIjpcbiAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICBjb25zdCBmaWx0ZXIgPVxuICAgICAgICB0eXBlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgPyAodmFsOiBzdHJpbmcpID0+IHZhbC5yZXBsYWNlKC9bXjAtOV0rL2csIFwiXCIpXG4gICAgICAgICAgOiAodmFsOiBzdHJpbmcpID0+IHZhbDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBtdWx0aWxpbmU9e1wibXVsdGlsaW5lXCIgaW4gYyA/IGMubXVsdGlsaW5lIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2MudGl0bGV9XG4gICAgICAgICAgICB2YWx1ZT17dmFsPHR5cGVvZiB0eXBlPigpfVxuICAgICAgICAgICAgZXJyb3I9e2Vycm9yIGFzIHN0cmluZ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoeyB0YXJnZXQ6IHsgdmFsdWUgfSB9KSA9PiB7XG4gICAgICAgICAgICAgIG9uQW5zd2VyKHR5cGUsIGMuaWQsIGZpbHRlcih2YWx1ZSkpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtwcm9wc1tcImRhdGEtdGVzdGlkXCJdfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBkZWZhdWx0OlxuICAgICAgY29uc3QgcmVnaXN0ZXJlZEV4dGVuc2lvbiA9IGV4dGVuc2lvbnM/Llt0eXBlXSBhcyBhbnk7XG4gICAgICBpZiAocmVnaXN0ZXJlZEV4dGVuc2lvbikge1xuICAgICAgICBjb25zdCB7IElucHV0IH0gPSByZWdpc3RlcmVkRXh0ZW5zaW9uO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgb25BbnN3ZXI9e29uQW5zd2VyfVxuICAgICAgICAgICAgcXVlc3Rpb249e2MgYXMgYW55fVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlIGFzIGFueX1cbiAgICAgICAgICAgIGVycm9yPXtlcnJvciBhcyBhbnl9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIGZvcm0gZmllbGQgXCIke3R5cGV9XCIgaXMgbm90IGltcGxlbWVudGVkIHlldC4gUGxlYXNlIHByb3ZpZGUgaXQgdXNpbmcgT25lVUlQcm92aWRlciBjb25maWcgb3B0aW9ucyBmb3IgZm9ybSBleHRlbnNpb25zYFxuICAgICAgKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFPQSxJQUFBSSxPQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFKLHNCQUFB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
|
|
276
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2RlYm91bmNlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Gb3JtRmllbGQiLCJfU2VsZWN0IiwiX0lucHV0IiwiX1RleHQiLCJfQnV0dG9uIiwiX1JhZGlvIiwiX0FuY2hvcmVkVG9vbHRpcCIsIl9GaWxlSW5wdXQiLCJfQ2hlY2tCb3giLCJfU3BhY2luZyIsIl9PbmVVSVByb3ZpZGVyIiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwidCIsIm8iLCJyIiwiaSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibiIsImxlbmd0aCIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNhbGwiLCJoYXNPd25Qcm9wZXJ0eSIsIkZvcm1GaWVsZCIsIl9yZWYiLCJjb25maWciLCJjIiwidmFsdWUiLCJwcm9wcyIsInZhbCIsImFucyIsImFuc3dlciIsInR5cGUiLCJ0aXRsZVZhcmlhbnQiLCJsYWJlbFZhcmlhbnQiLCJvcHRpb25hbExhYmVsIiwiZXh0ZW5zaW9ucyIsInVzZU9uZVVJQ29uZmlnIiwibW9kZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwiY2hlY2tzIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJ0aXRsZSIsImluY2x1ZGVzIiwibWFwIiwiY2hlY2tlZCIsIm9wdGlvbnMiLCJzaXplIiwiZmlsZSIsInN0YXRlcyIsImZpbGVQcm92aWRlZCIsImRlc2NyaXB0aW9uIiwiZmlsZVVzYWdlRGVzY3JpcHRpb24iLCJ3YWl0aW5nRmlsZSIsImZvb3RlciIsIm9uRmlsZSIsInVuZGVmaW5lZCIsInByb2dyZXNzIiwiZGlzYWJsZWQiLCJ2YXJpYW50IiwiY29sb3IiLCJvbkNsaWNrIiwib3BlbkZpbGUiLCJhY3Rpb24iLCJsYWJlbCIsIm9uQW5zd2VyIiwiZXJyb3IiLCJjb250cmFjdCIsImFjY2VwdCIsImEiLCJvcHRpb25hbCIsIm9uVG9nZ2xlIiwiY2xvbmUiLCJpZCIsImdyb3VwSWQiLCJ1cGxvYWQiLCJzZXRQcm9ncmVzcyIsInVzZVN0YXRlIiwicyIsInNuYXBzaG90IiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInRvdGFsQnl0ZXMiLCJ1c2VFZmZlY3QiLCJ0aHJvdHRsZVNldFByb2dyZXNzIiwiZGVib3VuY2UiLCJ1bnN1YnNjcmliZSIsIm9uIiwieCIsImNvbmNhdCIsImpvaW4iLCJzZWxlY3RlZCIsImVsIiwiY2hlY2tFcnJvciIsImNoZWNrbWFya3MiLCJyYXdDaGVja21hcmtzIiwiYWxpZ25UbyIsIkFuY2hvcmVkVG9vbHRpcEFsaWdubWVudCIsIkxFRlQiLCJpdGVtcyIsImZpbHRlciIsInJlcGxhY2UiLCJtdWx0aWxpbmUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiX3JlZjIiLCJ0YXJnZXQiLCJyZWdpc3RlcmVkRXh0ZW5zaW9uIiwiSW5wdXQiLCJxdWVzdGlvbiIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtRmllbGQvRm9ybUZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBkZWJvdW5jZSBmcm9tIFwibG9kYXNoL2RlYm91bmNlXCI7XG5pbXBvcnQge1xuICBBbnN3ZXJBY3Rpb24sXG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZFByb3BzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkLnR5cGVzXCI7XG5pbXBvcnQgU2VsZWN0IGZyb20gXCIuLi8uLi9TZWxlY3QvU2VsZWN0XCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uLy4uL0lucHV0XCI7XG5pbXBvcnQgT25lVGV4dCBmcm9tIFwiLi4vLi4vVGV4dFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vQnV0dG9uXCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uLy4uL1JhZGlvXCI7XG5pbXBvcnQgeyBBbmNob3JlZFRvb2x0aXBBbGlnbm1lbnQgfSBmcm9tIFwiLi4vLi4vQW5jaG9yZWRUb29sdGlwL0FuY2hvcmVkVG9vbHRpcFwiO1xuaW1wb3J0IEZpbGVJbnB1dCBmcm9tIFwiLi4vLi4vRmlsZUlucHV0L0ZpbGVJbnB1dFwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi8uLi9DaGVja0JveC9DaGVja0JveFwiO1xuaW1wb3J0IFNwYWNpbmcgZnJvbSBcIi4uLy4uL1NwYWNpbmdcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuLy8gaW1wb3J0IElucHV0TWFzayBmcm9tIFwicmVhY3QtaW5wdXQtbWFza1wiO1xuXG4vKipcbiAqIFRoZSBsb2dpYyBmb3IgYSBmaWVsZCBvZiB0aGUgZm9ybVxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRm9ybUZpZWxkPFEgZXh0ZW5kcyBGb3JtRmllbGRWaWV3Pih7XG4gIGNvbmZpZzogYyxcbiAgdmFsdWUsXG4gIC4uLnByb3BzXG59OiBGb3JtRmllbGRQcm9wczxRPikge1xuICBjb25zdCB2YWwgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPigpID0+XG4gICAgdmFsdWUgYXMgdW5rbm93biBhc1xuICAgICAgfCBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgICB0eXBlOiBUO1xuICAgICAgICB9PlxuICAgICAgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGFucyA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVmlld1tcInR5cGVcIl0+KFxuICAgIGFuc3dlcjpcbiAgICAgIHwgQW5zd2VyQWN0aW9uPHtcbiAgICAgICAgICB0eXBlOiBUO1xuICAgICAgICB9PlxuICAgICAgfCB1bmRlZmluZWRcbiAgKSA9PlxuICAgIGFuc3dlciBhcyB1bmtub3duIGFzIEFuc3dlckFjdGlvbjx7XG4gICAgICB0eXBlOiBUO1xuICAgIH0+O1xuICBjb25zdCB0eXBlID0gYy50eXBlO1xuICBjb25zdCB7IHRpdGxlVmFyaWFudCwgbGFiZWxWYXJpYW50LCBvcHRpb25hbExhYmVsLCBleHRlbnNpb25zIH0gPVxuICAgIHVzZU9uZVVJQ29uZmlnKFwiY29tcG9uZW50LmZvcm1cIik7XG4gIGlmIChwcm9wcy5tb2RlID09PSBGb3JtTW9kZS5SRUFEX09OTFkpIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgICBjb25zdCBjaGVja3MgPSB2YWw8dHlwZW9mIHR5cGU+KCkhIHx8IFtdO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8T25lVGV4dCB0eXBlPXt0aXRsZVZhcmlhbnR9PntjLnRpdGxlfTwvT25lVGV4dD5cbiAgICAgICAgICAgIHtjaGVja3MuaW5jbHVkZXModHJ1ZSkgPyAoXG4gICAgICAgICAgICAgIGNoZWNrcy5tYXAoKGNoZWNrZWQsIGkpID0+XG4gICAgICAgICAgICAgICAgY2hlY2tlZCA/IChcbiAgICAgICAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e2xhYmVsVmFyaWFudH0+e2Mub3B0aW9uc1tpXS52YWx1ZX08L09uZVRleHQ+XG4gICAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT4tPC9PbmVUZXh0PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxTcGFjaW5nIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICBjb25zdCBmaWxlID0gdmFsPHR5cGVvZiB0eXBlPigpITtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPEZpbGVJbnB1dFxuICAgICAgICAgICAgICBzdGF0ZXM9e3tcbiAgICAgICAgICAgICAgICBmaWxlUHJvdmlkZWQ6IHtcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBjLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGMuZmlsZVVzYWdlRGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB3YWl0aW5nRmlsZToge1xuICAgICAgICAgICAgICAgICAgdGl0bGU6IGMudGl0bGUsXG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBmb290ZXI9e2MuZm9vdGVyfVxuICAgICAgICAgICAgICBvbkZpbGU9eygpID0+IHt9fVxuICAgICAgICAgICAgICBmaWxlPXtmaWxlID09PSB0cnVlID8gKHt9IGFzIEZpbGUpIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICBwcm9ncmVzcz17ZmlsZSA9PT0gdHJ1ZSA/IDEwMCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgIHtmaWxlID09PSB0cnVlICYmIChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2Mub3BlbkZpbGUhLmFjdGlvbn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjLm9wZW5GaWxlIS5sYWJlbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cImxhcmdlXCIgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnN0IGFuc3dlciA9IHZhbDx0eXBlb2YgdHlwZT4oKSBhcyBSZWFjdE5vZGU7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e3RpdGxlVmFyaWFudH0+e2MudGl0bGV9PC9PbmVUZXh0PlxuICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fSBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXX0+XG4gICAgICAgICAgICAgIHthbnN3ZXIgfHwgXCItXCJ9XG4gICAgICAgICAgICA8L09uZVRleHQ+XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHsgb25BbnN3ZXIsIGVycm9yIH0gPSBwcm9wcztcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBcImFjY2VwdFwiOlxuICAgICAgY29uc3QgY2hlY2tzID0gdmFsPHR5cGVvZiB0eXBlPigpIHx8IFtdO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImxpbmtcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17Yy5jb250cmFjdC5hY3Rpb259XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Yy5jb250cmFjdC5sYWJlbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICB7Yy5hY2NlcHQubWFwKChhLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT5cbiAgICAgICAgICAgICAgICAgIDxDaGVja0JveFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7YS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2Eub3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIj57b3B0aW9uYWxMYWJlbH08L09uZVRleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2NoZWNrc1tpXX1cbiAgICAgICAgICAgICAgICAgICAgb25Ub2dnbGU9eyhjaGVja2VkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBbLi4uY2hlY2tzXTtcbiAgICAgICAgICAgICAgICAgICAgICBjbG9uZVtpXSA9IGNoZWNrZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgb25BbnN3ZXIodHlwZSwgYy5pZCwgYW5zPHR5cGVvZiB0eXBlPihjbG9uZSkpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBncm91cElkPXtjLmlkfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxTcGFjaW5nIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgY29uc3QgdXBsb2FkID0gdmFsPHR5cGVvZiB0eXBlPigpO1xuICAgICAgY29uc3QgW3Byb2dyZXNzLCBzZXRQcm9ncmVzc10gPSB1c2VTdGF0ZTxudW1iZXIgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgaWYgKCF1cGxvYWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh1cGxvYWQgPT09IHRydWUpIHJldHVybiAxMDA7XG4gICAgICAgIGNvbnN0IHMgPSB1cGxvYWQuc25hcHNob3Q7XG4gICAgICAgIHJldHVybiAocy5ieXRlc1RyYW5zZmVycmVkICogMTAwKSAvIHMudG90YWxCeXRlcztcbiAgICAgIH0pO1xuICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCF1cGxvYWQpIHJldHVybiBzZXRQcm9ncmVzcyh1bmRlZmluZWQpO1xuICAgICAgICBpZiAodXBsb2FkID09PSB0cnVlKSB7XG4gICAgICAgICAgc2V0UHJvZ3Jlc3MoMTAwKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGhyb3R0bGVTZXRQcm9ncmVzcyA9IGRlYm91bmNlKHNldFByb2dyZXNzLCAyNTApO1xuICAgICAgICBjb25zdCB1bnN1YnNjcmliZSA9IHVwbG9hZC5vbihcInN0YXRlX2NoYW5nZWRcIiwgKHMpID0+IHtcbiAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IChzLmJ5dGVzVHJhbnNmZXJyZWQgKiAxMDApIC8gcy50b3RhbEJ5dGVzO1xuICAgICAgICAgIHRocm90dGxlU2V0UHJvZ3Jlc3MocHJvZ3Jlc3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH07XG4gICAgICB9LCBbdXBsb2FkXSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlSW5wdXRcbiAgICAgICAgICAgIHN0YXRlcz17e1xuICAgICAgICAgICAgICBmaWxlUHJvdmlkZWQ6IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgd2FpdGluZ0ZpbGU6IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmb290ZXI9e2MuZm9vdGVyfVxuICAgICAgICAgICAgb25GaWxlPXsoZmlsZSkgPT4ge1xuICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBhbnM8dHlwZW9mIHR5cGU+KGZpbGUpKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmaWxlPXt1cGxvYWQgYXMgdW5rbm93biBhcyBGaWxlfVxuICAgICAgICAgICAgcHJvZ3Jlc3M9e3VwbG9hZCA/IHByb2dyZXNzIHx8IDAgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhY2NlcHQ9e2MuZXh0ZW5zaW9ucy5tYXAoKHgpID0+IGAuJHt4fWApLmpvaW4oXCIsXCIpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2Vycm9yID8gKFxuICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8U3BhY2luZyBzaXplPVwibGFyZ2VcIiAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInJhZGlvXCI6XG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHZhbDx0eXBlb2YgdHlwZT4oKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAge2Vycm9yICYmIChcbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9XCJjYXB0aW9uXCIgY29sb3I9XCJlcnJvclwiPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L09uZVRleHQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7Yy5vcHRpb25zLm1hcCgoZWwpID0+IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e2xhYmVsVmFyaWFudH0+XG4gICAgICAgICAgICAgICAgPFJhZGlvXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZCA9PT0gZWwudmFsdWV9XG4gICAgICAgICAgICAgICAgICBsYWJlbD17ZWwubGFiZWx9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZT17KCkgPT4gb25BbnN3ZXIodHlwZSwgYy5pZCwgZWwudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgZ3JvdXBJZD17Yy5pZH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlbC52YWx1ZX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtwcm9wc1tcImRhdGEtdGVzdGlkXCJdfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgY29uc3QgY2hlY2tFcnJvciA9XG4gICAgICAgIHR5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIiA/IGMub3B0aW9ucy5tYXAoKCkgPT4gZXJyb3IpIDogZXJyb3I7XG4gICAgICBjb25zdCBjaGVja21hcmtzID0gdmFsPHR5cGVvZiB0eXBlPigpIHx8IFtdO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8T25lVGV4dCB0eXBlPXt0aXRsZVZhcmlhbnR9PntjLnRpdGxlfTwvT25lVGV4dD5cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7Yy5vcHRpb25zLm1hcCgoZWwsIGkpID0+IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e2xhYmVsVmFyaWFudH0+XG4gICAgICAgICAgICAgICAgPENoZWNrQm94XG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtjaGVja21hcmtzW2ldfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIHtlbC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICB7Y2hlY2tFcnJvcj8uW2ldID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGVja0Vycm9yW2ldfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uVG9nZ2xlPXsoY2hlY2tlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZSA9IFsuLi5jaGVja21hcmtzXTtcbiAgICAgICAgICAgICAgICAgICAgY2xvbmVbaV0gPSBjaGVja2VkO1xuICAgICAgICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBjbG9uZSk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgZ3JvdXBJZD17Yy5pZH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlbC52YWx1ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L09uZVRleHQ+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBjYXNlIFwicmF3Y2hlY2tcIjpcbiAgICAgIGNvbnN0IHJhd0NoZWNrbWFya3MgPSB2YWw8dHlwZW9mIHR5cGU+KCkgfHwgW107XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8T25lVGV4dCB0eXBlPVwiY2FwdGlvblwiIGNvbG9yPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtjLm9wdGlvbnMubWFwKChlbCwgaSkgPT4gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT5cbiAgICAgICAgICAgICAgICA8Q2hlY2tCb3hcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3Jhd0NoZWNrbWFya3NbaV19XG4gICAgICAgICAgICAgICAgICBsYWJlbD17ZWwubGFiZWx9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZT17KGNoZWNrZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBbLi4ucmF3Q2hlY2ttYXJrc107XG4gICAgICAgICAgICAgICAgICAgIGNsb25lW2ldID0gY2hlY2tlZDtcbiAgICAgICAgICAgICAgICAgICAgb25BbnN3ZXIodHlwZSwgYy5pZCwgY2xvbmUpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGdyb3VwSWQ9e2MuaWR9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWwudmFsdWV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInNlbGVjdFwiOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8T25lVGV4dCB0eXBlPXt0aXRsZVZhcmlhbnR9PntjLnRpdGxlfTwvT25lVGV4dD5cbiAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXX1cbiAgICAgICAgICAgIGFsaWduVG89e0FuY2hvcmVkVG9vbHRpcEFsaWdubWVudC5MRUZUfVxuICAgICAgICAgICAgaXRlbXM9e2Mub3B0aW9uc31cbiAgICAgICAgICAgIHNlbGVjdGVkPXt2YWw8dHlwZW9mIHR5cGU+KCkhfVxuICAgICAgICAgICAgb25DbGljaz17KGkpID0+IHtcbiAgICAgICAgICAgICAgb25BbnN3ZXIodHlwZSwgYy5pZCwgaS52YWx1ZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZmlsdGVyPXtjLmZpbHRlcn1cbiAgICAgICAgICAgIGVycm9yPXtlcnJvciBhcyBzdHJpbmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIGNhc2UgXCJ0ZXh0XCI6XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgY29uc3QgZmlsdGVyID1cbiAgICAgICAgdHlwZSA9PT0gXCJudW1iZXJcIlxuICAgICAgICAgID8gKHZhbDogc3RyaW5nKSA9PiB2YWwucmVwbGFjZSgvW14wLTldKy9nLCBcIlwiKVxuICAgICAgICAgIDogKHZhbDogc3RyaW5nKSA9PiB2YWw7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e3RpdGxlVmFyaWFudH0+e2MudGl0bGV9PC9PbmVUZXh0PlxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgbXVsdGlsaW5lPXtcIm11bHRpbGluZVwiIGluIGMgPyBjLm11bHRpbGluZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtjLnRpdGxlfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbDx0eXBlb2YgdHlwZT4oKX1cbiAgICAgICAgICAgIGVycm9yPXtlcnJvciBhcyBzdHJpbmd9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHsgdGFyZ2V0OiB7IHZhbHVlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBmaWx0ZXIodmFsdWUpKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXX1cbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbnN0IHJlZ2lzdGVyZWRFeHRlbnNpb24gPSBleHRlbnNpb25zPy5bdHlwZV0gYXMgYW55O1xuICAgICAgaWYgKHJlZ2lzdGVyZWRFeHRlbnNpb24pIHtcbiAgICAgICAgY29uc3QgeyBJbnB1dCB9ID0gcmVnaXN0ZXJlZEV4dGVuc2lvbjtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIG9uQW5zd2VyPXtvbkFuc3dlcn1cbiAgICAgICAgICAgIHF1ZXN0aW9uPXtjIGFzIGFueX1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZSBhcyBhbnl9XG4gICAgICAgICAgICBlcnJvcj17ZXJyb3IgYXMgYW55fVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e3Byb3BzW1wiZGF0YS10ZXN0aWRcIl19XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBmb3JtIGZpZWxkIFwiJHt0eXBlfVwiIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuIFBsZWFzZSBwcm92aWRlIGl0IHVzaW5nIE9uZVVJUHJvdmlkZXIgY29uZmlnIG9wdGlvbnMgZm9yIGZvcm0gZXh0ZW5zaW9uc2BcbiAgICAgICk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBT0EsSUFBQUksT0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFB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
|
|
@@ -9,4 +9,4 @@ let FormMode = exports.FormMode = /*#__PURE__*/function (FormMode) {
|
|
|
9
9
|
FormMode[FormMode["WRITE"] = 1] = "WRITE";
|
|
10
10
|
return FormMode;
|
|
11
11
|
}({});
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGb3JtTW9kZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tIFwiLi4vLi4vU2VsZWN0L1NlbGVjdFwiO1xuaW1wb3J0IHsgVXBsb2FkVGFzayB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHksIFVucmVzb2x2YWJsZU9yIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGUtdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgR2VuZXJpY0Zvcm1GaWVsZFByb3BzPFQgZXh0ZW5kcyBGb3JtRmllbGRbXCJ0eXBlXCJdPiA9IHtcbiAgdmFsdWU6IEFuc3dlckJ5RmllbGQ8eyB0eXBlOiBUIH0+
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGb3JtTW9kZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tIFwiLi4vLi4vU2VsZWN0L1NlbGVjdFwiO1xuaW1wb3J0IHsgVXBsb2FkVGFzayB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHksIFVucmVzb2x2YWJsZU9yIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGUtdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgR2VuZXJpY0Zvcm1GaWVsZFByb3BzPFQgZXh0ZW5kcyBGb3JtRmllbGRbXCJ0eXBlXCJdPiA9IHtcbiAgdmFsdWU6IEFuc3dlckJ5RmllbGQ8eyB0eXBlOiBUIH0+IHwgdW5kZWZpbmVkO1xuICBvbkFuc3dlcjogKEZvcm1GaWVsZFByb3BzPHsgdHlwZTogVCB9PiAmIHtcbiAgICBtb2RlOiBGb3JtTW9kZS5XUklURTtcbiAgfSlbXCJvbkFuc3dlclwiXTtcbiAgcXVlc3Rpb246IEZvcm1GaWVsZFZpZXcgJiB7IHR5cGU6IFQgfTtcbiAgZXJyb3I/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBGb3JtRmllbGRQcm9wczxRIGV4dGVuZHMgUGljazxGb3JtRmllbGRWaWV3LCBcInR5cGVcIj4+ID0ge1xuICBjb25maWc6IFE7XG4gIHZhbHVlOiBBbnN3ZXJCeUZpZWxkPFE+O1xuICBcImRhdGEtdGVzdGlkXCI/OiBzdHJpbmc7XG59ICYgKFxuICB8IHtcbiAgICAgIG1vZGU6IEZvcm1Nb2RlLlJFQURfT05MWTtcbiAgICB9XG4gIHwge1xuICAgICAgbW9kZT86IEZvcm1Nb2RlLldSSVRFO1xuICAgICAgb25BbnN3ZXI6IDxUIGV4dGVuZHMgUVtcInR5cGVcIl0+KFxuICAgICAgICBxdWVzdGlvblR5cGU6IFQsXG4gICAgICAgIHF1ZXN0aW9uSWQ6IHN0cmluZyxcbiAgICAgICAgYW5zd2VyOlxuICAgICAgICAgIHwgQW5zd2VyQWN0aW9uPHtcbiAgICAgICAgICAgICAgdHlwZTogVDtcbiAgICAgICAgICAgIH0+XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICkgPT4gdm9pZDtcbiAgICAgIGVycm9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfVxuKTtcblxuZXhwb3J0IGVudW0gRm9ybU1vZGUge1xuICBSRUFEX09OTFksXG4gIFdSSVRFLFxufVxuZXhwb3J0IHR5cGUgRm9ybUZpZWxkVmlldyA9IEZvcm1GaWVsZCAmIHtcbiAgdGl0bGU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEFuc3dlckFjdGlvbjxGIGV4dGVuZHMgUGljazxGb3JtRmllbGQsIFwidHlwZVwiPj4gPVxuICBGW1widHlwZVwiXSBleHRlbmRzIFwiZmlsZVwiID8gRmlsZSA6IEFuc3dlckJ5RmllbGQ8Rj47XG5cbmV4cG9ydCB0eXBlIEJhc2ljRm9ybUZpZWxkcyA9XG4gIHwge1xuICAgICAgdHlwZTogXCJzZWxlY3RcIjtcbiAgICAgIGZpbHRlcj86IChpdGVtOiBTZWxlY3RJdGVtLCB0ZXJtOiBzdHJpbmcpID0+IGJvb2xlYW47XG4gICAgICBvcHRpb25zOiBTZWxlY3RJdGVtW107XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwidGV4dFwiO1xuICAgICAgbXVsdGlsaW5lPzogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcIm51bWJlclwiO1xuICAgIH07XG5cbnR5cGUgRGlzdHJpYnV0ZVZhbGlkYXRvck92ZXJVbmlvbjxGb3JtRmllbGRUeXBlcyBleHRlbmRzIHsgdHlwZTogYW55IH0+ID1cbiAgRm9ybUZpZWxkVHlwZXMgZXh0ZW5kcyBhbnlcbiAgICA/IEZvcm1GaWVsZFR5cGVzICYge1xuICAgICAgICB2YWxpZGF0b3I/OiAoXG4gICAgICAgICAgdmFsOiBBbnN3ZXJBY3Rpb248Rm9ybUZpZWxkVHlwZXM+IHwgdW5kZWZpbmVkXG4gICAgICAgICkgPT4gYm9vbGVhbiB8IHN0cmluZztcbiAgICAgIH1cbiAgICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgRm9ybUZpZWxkID0ge1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn0gJiBEaXN0cmlidXRlVmFsaWRhdG9yT3ZlclVuaW9uPFxuICB8IEJhc2ljRm9ybUZpZWxkc1xuICB8IHtcbiAgICAgIHR5cGU6IFwicmFkaW9cIjtcbiAgICAgIG9wdGlvbnM6IFNlbGVjdEl0ZW1bXTtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJjaGVja1wiIHwgXCJyYXdjaGVja1wiO1xuICAgICAgb3B0aW9uczogU2VsZWN0SXRlbVtdO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImZpbGVcIjtcbiAgICAgIGZpbGVVc2FnZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICBleHRlbnNpb25zOiBzdHJpbmdbXTtcbiAgICAgIGZvb3Rlcjogc3RyaW5nO1xuICAgICAgb3BlbkZpbGU/OiB7XG4gICAgICAgIGFjdGlvbjogKCkgPT4gdm9pZDtcbiAgICAgICAgbGFiZWw6IHN0cmluZyB8IFJlYWN0Tm9kZTtcbiAgICAgIH07XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiYWNjZXB0XCI7XG4gICAgICBsaW5rOiB7XG4gICAgICAgIHR5cGU6IFwiZmlsZVwiIHwgXCJyb3V0ZVwiO1xuICAgICAgICB0bzogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIGNvbnRyYWN0OiB7XG4gICAgICAgIGFjdGlvbjogKCkgPT4gdm9pZDtcbiAgICAgICAgbGFiZWw6IHN0cmluZyB8IFJlYWN0Tm9kZTtcbiAgICAgIH07XG4gICAgICBhY2NlcHQ6IHtcbiAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgb3B0aW9uYWw/OiB0cnVlO1xuICAgICAgfVtdO1xuICAgIH1cbiAgfCBVbnJlc29sdmFibGVPcjxcbiAgICAgIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXSxcbiAgICAgIEJhc2ljRm9ybUZpZWxkc1xuICAgID5cbj47XG5cbmV4cG9ydCB0eXBlIEZvcm1GaWVsZFR5cGVzID0gRm9ybUZpZWxkW1widHlwZVwiXSB8IFwiYWNjZXB0XCI7XG5cbnR5cGUgRXh0ZXJuYWxRdWVzdGlvbkZpZWxkcyA9IFVucmVzb2x2YWJsZU9yPFxuICBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIj5bXCJmaWVsZEFuc3dlclwiXSxcbiAge31cbj47XG5cbmV4cG9ydCB0eXBlIEFuc3dlckJ5RmllbGQ8RiBleHRlbmRzIFBpY2s8Rm9ybUZpZWxkLCBcInR5cGVcIj4+ID1cbiAgRltcInR5cGVcIl0gZXh0ZW5kcyBcImZpbGVcIlxuICAgID8gVXBsb2FkVGFzayB8IHRydWVcbiAgICA6IEZbXCJ0eXBlXCJdIGV4dGVuZHMgXCJhY2NlcHRcIiB8IFwiY2hlY2tcIiB8IFwicmF3Y2hlY2tcIlxuICAgID8gYm9vbGVhbltdXG4gICAgOiBGW1widHlwZVwiXSBleHRlbmRzIFwicmFkaW9cIiB8IFwidGV4dFwiIHwgXCJzZWxlY3RcIiB8IFwibnVtYmVyXCJcbiAgICA/IHN0cmluZ1xuICAgIDogRltcInR5cGVcIl0gZXh0ZW5kcyBrZXlvZiBFeHRlcm5hbFF1ZXN0aW9uRmllbGRzXG4gICAgPyBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIj5bXCJmaWVsZEFuc3dlclwiXVtGW1widHlwZVwiXV1cbiAgICA6IHVua25vd247XG5cbnR5cGUgTyA9IEZvcm1GaWVsZFtcInR5cGVcIl07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztJQXFDWUEsUUFBUSxHQUFBQyxPQUFBLENBQUFELFFBQUEsMEJBQVJBLFFBQVE7RUFBUkEsUUFBUSxDQUFSQSxRQUFRO0VBQVJBLFFBQVEsQ0FBUkEsUUFBUTtFQUFBLE9BQVJBLFFBQVE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -43,7 +43,7 @@ export type OneUIContextSpecs = {
|
|
|
43
43
|
Input: (props: GenericFormFieldProps<K>) => ReactElement;
|
|
44
44
|
validator: (answer: AnswerByField<{
|
|
45
45
|
type: K;
|
|
46
|
-
}
|
|
46
|
+
}> | undefined, question: BaseQuestion & (FromOnePercentUtility<"UIElements.FormExtension">["fields"] & {
|
|
47
47
|
type: K;
|
|
48
48
|
})) => {
|
|
49
49
|
isValid: boolean;
|
|
@@ -96,4 +96,4 @@ function useCurrentImageScale() {
|
|
|
96
96
|
const context = (0, _react.useContext)(Context);
|
|
97
97
|
return context.state.imageScale;
|
|
98
98
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWVyZ2UiLCJfY2xvbmVEZWVwIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQWRhcHRpdmVJbWFnZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiT25lVUlQcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsImNvbmZpZyIsInByZXZDdHgiLCJ1c2VDb250ZXh0Iiwic2NhbGUiLCJ1c2VBZGFwdGl2ZUltYWdlIiwibWVyZ2VkQ29uZmlnIiwidXNlTWVtbyIsIm1lcmdlIiwiY2xvbmUiLCJzdGF0ZSIsImltYWdlU2NhbGUiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInBhdGhUb0pzb24iLCJwYXRoIiwia2V5IiwiZXhhbXBsZUNvbmZpZyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNwbGl0Iiwic2xpY2UiLCJyZXBsYWNlIiwiY29uY2F0IiwicmVkdWNlIiwicmVzdWx0IiwiaWR4IiwiYXJyIiwiayIsIkVycm9yV3JhcHBlciIsIm9yaWdpbmFsT2JqZWN0IiwiUHJveHkiLCJfdGFyZ2V0IiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhdGhKc29uIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidXNlT25lVUlDb250ZXh0IiwiY29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInVzZU9uZVVJVmlldyIsIm9uZXVpQ29uZmlnUGF0aCIsImNvbXBvbmVudE5hbWUiLCJwcm92aWRlZFZhbHVlIiwidXNlT25lVUlDb25maWciLCJwcm9wIiwiZGVmYXVsdFZhbHVlIiwidmFsIiwiZW5kc1dpdGgiLCJ1c2VDdXJyZW50SW1hZ2VTY2FsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L09uZVVJUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpTWCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGdldCBmcm9tIFwibG9kYXNoL2dldFwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJsb2Rhc2gvbWVyZ2VcIjtcbmltcG9ydCBjbG9uZSBmcm9tIFwibG9kYXNoL2Nsb25lRGVlcFwiO1xuaW1wb3J0IHsgR2V0IH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzLCBSZWFjdEVsZW1lbnQsIFJlYWN0Tm9kZSwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEltYWdlU2NhbGVzIH0gZnJvbSBcIkBtdXJpdGF2by93ZWJwYWNrLW1pY3JvZnJvbnRlbmQtc2NyaXB0cy9iaW4vdHlwZXMvSW1hZ2VTY2FsZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2sgfSBmcm9tIFwiZmlyZWJhc2Uvc3RvcmFnZVwiO1xuaW1wb3J0IHtcbiAgRmllbGRQYXRoLFxuICBGcm9tT25lUGVyY2VudFV0aWxpdHksXG4gIE5hbWVzcGFjZUFjY2Vzc29ycyxcbiAgUGF0aCxcbiAgUGF0aE9iamVjdCxcbn0gZnJvbSBcIi4uL3R5cGUtdXRpbHNcIjtcbmltcG9ydCB1c2VBZGFwdGl2ZUltYWdlIGZyb20gXCIuLi9ob29rcy91aS91c2VBZGFwdGl2ZUltYWdlXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvblwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0NoZWNrQm94XCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uL2NvbXBvbmVudHMvUmFkaW8vUmFkaW9cIjtcbmltcG9ydCB7IEZpbGVJbnB1dFZpZXdQcm9wcyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0ZpbGVJbnB1dC9WaWV3L1ZpZXcudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZCxcbiAgR2VuZXJpY0Zvcm1GaWVsZFByb3BzLFxufSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXNcIjtcbmltcG9ydCB7IEJhc2VRdWVzdGlvbiwgRm9ybU1vZGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm0udHlwZXNcIjtcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBOb25OdWxsYWJsZTxUW1BdPiBleHRlbmRzIEZ1bmN0aW9uXG4gICAgPyBUW1BdXG4gICAgOiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbnR5cGUgSWZVdGlsaXR5SGFzPFxuICBOIGV4dGVuZHMgTmFtZXNwYWNlQWNjZXNzb3JzLFxuICBEZWNsYXJlXG4+ID0gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PE4+IGV4dGVuZHMgYFRvIGRlZmluZSB0aGlzIHByb3BlcnR5IHlvdSBuZWVkIHRvIHNldCBPbmVwZXJjZW50VXRpbGl0eS4ke3N0cmluZ30gZ2xvYmFsbHlgXG4gID8gdW5kZWZpbmVkXG4gIDogRGVjbGFyZTtcblxuZXhwb3J0IHR5cGUgT25lVUlDb250ZXh0U3BlY3MgPSB7XG4gIGNvbXBvbmVudDoge1xuICAgIHNwYWNpbmc6IHtcbiAgICAgIHZhcmlhbnRzOiB7XG4gICAgICAgIFtrIGluIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuU3BhY2luZ1ZhcmlhbnRzXCI+XTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGNvbGxhcHNhYmxlOiB7XG4gICAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgICB9O1xuICAgIGZvcm06IHtcbiAgICAgIGZpZWxkV3JhcHBlcjoge1xuICAgICAgICBbayBpbiBgJHtrZXlvZiB0eXBlb2YgRm9ybU1vZGV9LSR7Rm9ybUZpZWxkW1widHlwZVwiXX1gXTpcbiAgICAgICAgICB8IHN0cmluZ1xuICAgICAgICAgIHwgKChwOiBQcm9wc1dpdGhDaGlsZHJlbjxGb3JtRmllbGQgJiB7dmFsdWU6IGFueX0+KSA9PiBSZWFjdE5vZGUpO1xuICAgICAgfTtcbiAgICAgIHRpdGxlVmFyaWFudDogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICBsYWJlbFZhcmlhbnQ6IEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCI+O1xuICAgICAgLyoqIExhYmVsIHNob3duIHdoZW4gYSBmaWVsZCBpcyBvcHRpb25hbCAqL1xuICAgICAgb3B0aW9uYWxMYWJlbDogc3RyaW5nO1xuXG4gICAgICAvKiogTGFiZWwgc2hvd24gd2hlbiBhIHJlcXVpcmVkIGZpZWxkIHdhcyBub3QgcHJvdmlkZWQgKi9cbiAgICAgIHJlcXVpcmVkTGFiZWw6IHN0cmluZztcblxuICAgICAgb25GaWxlVXBsb2FkKHF1ZXN0aW9uSWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IFVwbG9hZFRhc2s7XG5cbiAgICAgIGV4dGVuc2lvbnM6IElmVXRpbGl0eUhhczxcbiAgICAgICAgXCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIixcbiAgICAgICAge1xuICAgICAgICAgIFtLIGluIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXVtcInR5cGVcIl1dOiB7XG4gICAgICAgICAgICBJbnB1dDogKHByb3BzOiBHZW5lcmljRm9ybUZpZWxkUHJvcHM8Sz4pID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogKFxuICAgICAgICAgICAgICBhbnN3ZXI6IEFuc3dlckJ5RmllbGQ8eyB0eXBlOiBLIH0+LFxuICAgICAgICAgICAgICBxdWVzdGlvbjogQmFzZVF1ZXN0aW9uICZcbiAgICAgICAgICAgICAgICAoRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdICYge1xuICAgICAgICAgICAgICAgICAgdHlwZTogSztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgIGlzVmFsaWQ6IGJvb2xlYW47XG4gICAgICAgICAgICAgIGVycm9yPzogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICA+O1xuICAgIH07XG4gICAgdGV4dDogSWZVdGlsaXR5SGFzPFxuICAgICAgXCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICBbayBpbiBSZWFjdC5Db21wb25lbnRQcm9wczxcbiAgICAgICAgICAgIHR5cGVvZiBpbXBvcnQoXCIuLi9jb21wb25lbnRzL1RleHRcIilbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgPltcInR5cGVcIl1dOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGh0bWxUYWc6IHtcbiAgICAgICAgICBbayBpbiBSZWFjdC5Db21wb25lbnRQcm9wczxcbiAgICAgICAgICAgIHR5cGVvZiBpbXBvcnQoXCIuLi9jb21wb25lbnRzL1RleHRcIilbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgPltcInR5cGVcIl1dOiBcInBcIiB8IFwiaDFcIiB8IFwiaDJcIiB8IFwiaDNcIiB8IFwiaDRcIiB8IFwiaDVcIiB8IFwiaDZcIjtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICA+O1xuICAgIGJ1dHRvbj86IHtcbiAgICAgIGNsYXNzTmFtZT86IHtcbiAgICAgICAgW2sgaW4gTm9uTnVsbGFibGU8XG4gICAgICAgICAgUmVhY3QuQ29tcG9uZW50UHJvcHM8XG4gICAgICAgICAgICB0eXBlb2YgaW1wb3J0KFwiLi4vY29tcG9uZW50cy9CdXR0b25cIilbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgPltcInZhcmlhbnRcIl1cbiAgICAgICAgPl0/OiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgQnV0dG9uPikgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgaW5wdXQ6IHtcbiAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAvKiogVGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0IHRhZyAmIGNhcHRpb24gZWxlbWVudCAodXNlZCBmb3IgZXJyb3IgYW5kIGNhcHRpb24pICovXG4gICAgICAgIGNvbnRhaW5lcjogc3RyaW5nO1xuICAgICAgICAvKiogVGhlIGlucHV0IGh0bWwgdGFnICovXG4gICAgICAgIGlucHV0OiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH07XG4gICAgZmlsZUlucHV0OiB7XG4gICAgICBWaWV3OiAocHJvcHM6IEZpbGVJbnB1dFZpZXdQcm9wcykgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgcGFzc3dvcmRJbnB1dDoge1xuICAgICAgaWNvblNyYzoge1xuICAgICAgICBwYXNzd29yZEhpZGRlbjogc3RyaW5nO1xuICAgICAgICBwYXNzd29yZFZpc2libGU6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBhc3luY1dyYXBwZXI6IHtcbiAgICAgIExvYWRpbmdDb21wb25lbnQ/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgICAgIG1lc3NhZ2VzOiB7XG4gICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgICAgICByZXRyeUJ0bjogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9O1xuICAgIHNlbGVjdDoge1xuICAgICAgU3RhdGVJbmRpY2F0b3I6IChwcm9wczogeyBvcGVuOiBib29sZWFuIH0pID0+IEpTWC5FbGVtZW50O1xuICAgICAgY2xhc3NOYW1lPzoge1xuICAgICAgICBkcm9wZG93bj86IHN0cmluZztcbiAgICAgICAgaXRlbT86IHN0cmluZztcbiAgICAgICAgc2VsZWN0ZWRJdGVtPzogc3RyaW5nO1xuICAgICAgICBpbnB1dD86IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBoZWFkZXI6IHtcbiAgICAgIExvZ29JbWFnZTogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICBNb3JlT3B0aW9uczogKHsgb3BlbiB9OiB7IG9wZW46IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgfTtcbiAgICB0YWJsZToge1xuICAgICAgY29udHJvbHM6IHtcbiAgICAgICAgUHJldlBhZ2U6ICh7IGRpc2FibGVkIH06IHsgZGlzYWJsZWQ6IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICAgIE5leHRQYWdlOiAoeyBkaXNhYmxlZCB9OiB7IGRpc2FibGVkOiBib29sZWFuIH0pID0+IEpTWC5FbGVtZW50O1xuICAgICAgfTtcbiAgICB9O1xuICAgIHRvb2x0aXA6IHtcbiAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICB9O1xuICAgIGFkYXB0aXZlRGlhbG9nOiB7XG4gICAgICBkaWFsb2dDbGFzc05hbWU6IHN0cmluZztcbiAgICAgIGJhY2tkcm9wQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgICB2YXJpYW50OiB7XG4gICAgICAgIFtrIGluIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuQWRhcHRpdmVEaWFsb2dWYXJpYW50c1wiPl06IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBhZGFwdGl2ZVNpZGViYXI6IHtcbiAgICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgY29udHJvbENsYXNzTmFtZTogc3RyaW5nO1xuICAgIH07XG4gICAgY2hlY2tib3g6IHtcbiAgICAgIENvbXBvbmVudD86IChwcm9wczogQ29tcG9uZW50UHJvcHM8dHlwZW9mIENoZWNrQm94PikgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgcmFkaW86IHtcbiAgICAgIENvbXBvbmVudD86IChwcm9wczogQ29tcG9uZW50UHJvcHM8dHlwZW9mIFJhZGlvPikgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgdGFiczoge1xuICAgICAgaXRlbTogc3RyaW5nO1xuICAgICAgY29udGFpbmVyOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgaG9vazoge1xuICAgIHVpOiB7XG4gICAgICB1c2VQYWdpbmF0aW9uQ29udHJvbHM6IHtcbiAgICAgICAgTGVmdENvbnRyb2w6ICgpID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgUmlnaHRDb250cm9sOiAoKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgc3RhdGU6IHtcbiAgICBpbWFnZVNjYWxlOiBJbWFnZVNjYWxlcztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbnRleHRDb25maWdTcGVjcyA9IERlZXBQYXJ0aWFsPE9uZVVJQ29udGV4dFNwZWNzPiAmXG4gIFBhdGhPYmplY3Q8T25lVUlDb250ZXh0U3BlY3MsIFwiY29tcG9uZW50LnRleHRcIj47XG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0PENvbnRleHRDb25maWdTcGVjcz4obnVsbCBhcyBhbnkpO1xuXG5mdW5jdGlvbiBPbmVVSVByb3ZpZGVyKHtcbiAgY2hpbGRyZW4sXG4gIGNvbmZpZyxcbn06IFByb3BzV2l0aENoaWxkcmVuPHsgY29uZmlnOiBDb250ZXh0Q29uZmlnU3BlY3MgfT4pIHtcbiAgY29uc3QgcHJldkN0eCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG4gIGNvbnN0IHNjYWxlID0gdXNlQWRhcHRpdmVJbWFnZSgpO1xuICBjb25zdCBtZXJnZWRDb25maWcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2UoY2xvbmUocHJldkN0eCksIGNvbmZpZywge1xuICAgICAgc3RhdGU6IHtcbiAgICAgICAgaW1hZ2VTY2FsZTogc2NhbGUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbcHJldkN0eCwgY29uZmlnLCBzY2FsZV0pO1xuXG4gIHJldHVybiA8Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17bWVyZ2VkQ29uZmlnfT57Y2hpbGRyZW59PC9Db250ZXh0LlByb3ZpZGVyPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgT25lVUlQcm92aWRlcjtcblxuZnVuY3Rpb24gcGF0aFRvSnNvbihcbiAgcGF0aDogc3RyaW5nLFxuICBrZXk/OiBzdHJpbmcgfCBTeW1ib2wsXG4gIGV4YW1wbGVDb25maWcgPSBcIlRIRV9NSVNTSU5HX0NPTkZJR1wiXG4pIHtcbiAgaWYgKCFrZXkpIHtcbiAgICBrZXkgPSBwYXRoLnNwbGl0KFwiLlwiKS5zbGljZSgtMSlbMF07XG4gICAgcGF0aCA9IHBhdGgucmVwbGFjZShgLiR7a2V5fWAsIFwiXCIpO1xuICB9XG5cbiAgcmV0dXJuIHBhdGhcbiAgICAuc3BsaXQoXCIuXCIpXG4gICAgLmNvbmNhdChrZXkgYXMgc3RyaW5nKVxuICAgIC5yZWR1Y2UoKHJlc3VsdCwga2V5LCBpZHgsIGFycikgPT4ge1xuICAgICAgKGFyci5zbGljZSgwLCBpZHgpLnJlZHVjZSgociwgaykgPT4gKHIgYXMgYW55KVtrXSwgcmVzdWx0KSBhcyBhbnkpW2tleV0gPVxuICAgICAgICBpZHggPT09IGFyci5sZW5ndGggLSAxID8gZXhhbXBsZUNvbmZpZyA6IHt9O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIEVycm9yV3JhcHBlcihcbiAgb3JpZ2luYWxPYmplY3Q6IGFueSxcbiAgcGF0aDogc3RyaW5nID0gXCJjb25maWdcIlxuKTogdHlwZW9mIFByb3h5IHtcbiAgcmV0dXJuIG5ldyBQcm94eShcbiAgICB0eXBlb2Ygb3JpZ2luYWxPYmplY3QgIT09IFwib2JqZWN0XCIgPyB7fSA6IG9yaWdpbmFsT2JqZWN0IHx8IHt9LFxuICAgIHtcbiAgICAgIGdldChfdGFyZ2V0LCBrZXkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gU3ltYm9sLnRvUHJpbWl0aXZlKSB7XG4gICAgICAgICAgcmV0dXJuICgpID0+IF90YXJnZXRba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gb3JpZ2luYWxPYmplY3Rba2V5XTtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpXG4gICAgICAgICAgICByZXR1cm4gRXJyb3JXcmFwcGVyKHZhbHVlLCBbcGF0aCwga2V5XS5maWx0ZXIoQm9vbGVhbikuam9pbihcIi5cIikpO1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnN0IHBhdGhKc29uID0gcGF0aFRvSnNvbihwYXRoLCBrZXkpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBBIGNvbXBvbmVudCBpcyB1c2luZyB0aGUgVUkgY29uZmlnICR7W3BhdGgsIGtleV0uam9pbihcIi5cIil9LlxuXG5QbGVhc2UgZGVmaW5lIGl0IHVzaW5nOlxuaW1wb3J0IE9uZVVJUHJvdmlkZXIgZnJvbSBcIkBvbmVwZXJjZW50L29uZS11aS9kaXN0L2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuXG4gIC4uLlxuJHtgPE9uZVVJUHJvdmlkZXIgY29uZmlnPXske0pTT04uc3RyaW5naWZ5KHBhdGhKc29uLCBudWxsLCA0KX19PlxuLi4uXG48L09uZVVJUHJvdmlkZXI+YC5yZXBsYWNlKC9bIF0vZywgXCItXCIpfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZU9uZVVJQ29udGV4dCgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpXG4gICAgcmV0dXJuIEVycm9yV3JhcHBlcihjb250ZXh0KSBhcyB1bmtub3duIGFzIE9uZVVJQ29udGV4dFNwZWNzO1xuXG4gIHJldHVybiBjb250ZXh0IGFzIE9uZVVJQ29udGV4dFNwZWNzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlT25lVUlWaWV3PFAgZXh0ZW5kcyBGaWVsZFBhdGg8T25lVUlDb250ZXh0U3BlY3M+PihcbiAgb25ldWlDb25maWdQYXRoOiBQLFxuICBjb21wb25lbnROYW1lOiBzdHJpbmdcbikge1xuICBjb25zdCBwcm92aWRlZFZhbHVlID0gdXNlT25lVUlDb25maWcob25ldWlDb25maWdQYXRoKTtcbiAgaWYgKCFwcm92aWRlZFZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0gcmVxdWlyZXMgYSB2aWV3IHRvIGJlIHNldCBvbiBPbmVVSSBpbml0aWFsaXphdGlvblxuXG5WaWV3cyByZWFkeSBmb3IgdXNlIHdpdGggdGhpcyBjb21wb25lbnQgc2hhbGwgYmUgYXZhaWxhYmxlIGF0OlxuaW1wb3J0IFNvbWVWaWV3IGZyb20gXCJAb25lcGVyY2VudGlvL29uZS11aS9kaXN0L2NvbXBvbmVudHMvJHtjb21wb25lbnROYW1lfS9WaWV3L1NvbWVWaWV3XCI7XG4gICAgXG5QbGVhc2UgZGVmaW5lIGl0IHVzaW5nOlxuaW1wb3J0IE9uZVVJUHJvdmlkZXIgZnJvbSBcIkBvbmVwZXJjZW50aW8vb25lLXVpL2Rpc3QvY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5cbiAgLi4uXG4ke2A8T25lVUlQcm92aWRlciBjb25maWc9eyR7SlNPTi5zdHJpbmdpZnkoXG4gIHBhdGhUb0pzb24ob25ldWlDb25maWdQYXRoLCB1bmRlZmluZWQsIFwiU29tZVZpZXdcIiksXG4gIG51bGwsXG4gIDRcbil9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlZFZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlT25lVUlDb25maWc8UCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4+KFxuICBwcm9wOiBQXG4pOiBHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU9uZVVJQ29uZmlnPFxuICBQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPixcbiAgVCBleHRlbmRzIERlZXBQYXJ0aWFsPEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD4+XG4+KHByb3A6IFAsIGRlZmF1bHRWYWx1ZTogVCk6IE5vbk51bGxhYmxlPEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD4+O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU9uZVVJQ29uZmlnPFxuICBQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPixcbiAgVCBleHRlbmRzIEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD5cbj4ocHJvcDogUCwgZGVmYXVsdFZhbHVlPzogVCk6IEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD4gfCBUIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgY29uc3QgdmFsID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gZ2V0KGNvbnRleHQsIHByb3ApO1xuICAgIH0sIFtjb250ZXh0LCBwcm9wXSk7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIiB8fFxuICAgICAgdHlwZW9mIHZhbCA9PT0gXCJmdW5jdGlvblwiIHx8XG4gICAgICBwcm9wLmVuZHNXaXRoKFwiLkNvbXBvbmVudFwiKSB8fFxuICAgICAgcHJvcC5lbmRzV2l0aChcIi5WaWV3XCIpXG4gICAgKVxuICAgICAgcmV0dXJuICh2YWwgYXMgYW55KSB8fCBkZWZhdWx0VmFsdWU7XG5cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJib29sZWFuXCIpIHJldHVybiB2YWwgYXMgYW55O1xuICAgIHJldHVybiBFcnJvcldyYXBwZXIodmFsIHx8IGRlZmF1bHRWYWx1ZSkgYXMgdW5rbm93biBhcyBOb25OdWxsYWJsZTxUPjtcbiAgfVxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBnZXQoY29udGV4dCwgcHJvcCk7XG4gIH0sIFtjb250ZXh0LCBwcm9wXSk7XG4gIHJldHVybiB2YWx1ZSB8fCBkZWZhdWx0VmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VDdXJyZW50SW1hZ2VTY2FsZSgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRleHQuc3RhdGUhLmltYWdlU2NhbGUhO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBV0EsSUFBQUssaUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUE0RCxTQUFBSSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9B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
|
|
99
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWVyZ2UiLCJfY2xvbmVEZWVwIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQWRhcHRpdmVJbWFnZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiT25lVUlQcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsImNvbmZpZyIsInByZXZDdHgiLCJ1c2VDb250ZXh0Iiwic2NhbGUiLCJ1c2VBZGFwdGl2ZUltYWdlIiwibWVyZ2VkQ29uZmlnIiwidXNlTWVtbyIsIm1lcmdlIiwiY2xvbmUiLCJzdGF0ZSIsImltYWdlU2NhbGUiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInBhdGhUb0pzb24iLCJwYXRoIiwia2V5IiwiZXhhbXBsZUNvbmZpZyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNwbGl0Iiwic2xpY2UiLCJyZXBsYWNlIiwiY29uY2F0IiwicmVkdWNlIiwicmVzdWx0IiwiaWR4IiwiYXJyIiwiayIsIkVycm9yV3JhcHBlciIsIm9yaWdpbmFsT2JqZWN0IiwiUHJveHkiLCJfdGFyZ2V0IiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhdGhKc29uIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidXNlT25lVUlDb250ZXh0IiwiY29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInVzZU9uZVVJVmlldyIsIm9uZXVpQ29uZmlnUGF0aCIsImNvbXBvbmVudE5hbWUiLCJwcm92aWRlZFZhbHVlIiwidXNlT25lVUlDb25maWciLCJwcm9wIiwiZGVmYXVsdFZhbHVlIiwidmFsIiwiZW5kc1dpdGgiLCJ1c2VDdXJyZW50SW1hZ2VTY2FsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L09uZVVJUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpTWCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGdldCBmcm9tIFwibG9kYXNoL2dldFwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJsb2Rhc2gvbWVyZ2VcIjtcbmltcG9ydCBjbG9uZSBmcm9tIFwibG9kYXNoL2Nsb25lRGVlcFwiO1xuaW1wb3J0IHsgR2V0IH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzLCBSZWFjdEVsZW1lbnQsIFJlYWN0Tm9kZSwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEltYWdlU2NhbGVzIH0gZnJvbSBcIkBtdXJpdGF2by93ZWJwYWNrLW1pY3JvZnJvbnRlbmQtc2NyaXB0cy9iaW4vdHlwZXMvSW1hZ2VTY2FsZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2sgfSBmcm9tIFwiZmlyZWJhc2Uvc3RvcmFnZVwiO1xuaW1wb3J0IHtcbiAgRmllbGRQYXRoLFxuICBGcm9tT25lUGVyY2VudFV0aWxpdHksXG4gIE5hbWVzcGFjZUFjY2Vzc29ycyxcbiAgUGF0aCxcbiAgUGF0aE9iamVjdCxcbn0gZnJvbSBcIi4uL3R5cGUtdXRpbHNcIjtcbmltcG9ydCB1c2VBZGFwdGl2ZUltYWdlIGZyb20gXCIuLi9ob29rcy91aS91c2VBZGFwdGl2ZUltYWdlXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvblwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0NoZWNrQm94XCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uL2NvbXBvbmVudHMvUmFkaW8vUmFkaW9cIjtcbmltcG9ydCB7IEZpbGVJbnB1dFZpZXdQcm9wcyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0ZpbGVJbnB1dC9WaWV3L1ZpZXcudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZCxcbiAgR2VuZXJpY0Zvcm1GaWVsZFByb3BzLFxufSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXNcIjtcbmltcG9ydCB7IEJhc2VRdWVzdGlvbiwgRm9ybU1vZGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm0udHlwZXNcIjtcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBOb25OdWxsYWJsZTxUW1BdPiBleHRlbmRzIEZ1bmN0aW9uXG4gICAgPyBUW1BdXG4gICAgOiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbnR5cGUgSWZVdGlsaXR5SGFzPFxuICBOIGV4dGVuZHMgTmFtZXNwYWNlQWNjZXNzb3JzLFxuICBEZWNsYXJlXG4+ID0gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PE4+IGV4dGVuZHMgYFRvIGRlZmluZSB0aGlzIHByb3BlcnR5IHlvdSBuZWVkIHRvIHNldCBPbmVwZXJjZW50VXRpbGl0eS4ke3N0cmluZ30gZ2xvYmFsbHlgXG4gID8gdW5kZWZpbmVkXG4gIDogRGVjbGFyZTtcblxuZXhwb3J0IHR5cGUgT25lVUlDb250ZXh0U3BlY3MgPSB7XG4gIGNvbXBvbmVudDoge1xuICAgIHNwYWNpbmc6IHtcbiAgICAgIHZhcmlhbnRzOiB7XG4gICAgICAgIFtrIGluIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuU3BhY2luZ1ZhcmlhbnRzXCI+XTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGNvbGxhcHNhYmxlOiB7XG4gICAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgICB9O1xuICAgIGZvcm06IHtcbiAgICAgIGZpZWxkV3JhcHBlcjoge1xuICAgICAgICBbayBpbiBgJHtrZXlvZiB0eXBlb2YgRm9ybU1vZGV9LSR7Rm9ybUZpZWxkW1widHlwZVwiXX1gXTpcbiAgICAgICAgICB8IHN0cmluZ1xuICAgICAgICAgIHwgKChwOiBQcm9wc1dpdGhDaGlsZHJlbjxGb3JtRmllbGQgJiB7IHZhbHVlOiBhbnkgfT4pID0+IFJlYWN0Tm9kZSk7XG4gICAgICB9O1xuICAgICAgdGl0bGVWYXJpYW50OiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiPjtcbiAgICAgIGxhYmVsVmFyaWFudDogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICAvKiogTGFiZWwgc2hvd24gd2hlbiBhIGZpZWxkIGlzIG9wdGlvbmFsICovXG4gICAgICBvcHRpb25hbExhYmVsOiBzdHJpbmc7XG5cbiAgICAgIC8qKiBMYWJlbCBzaG93biB3aGVuIGEgcmVxdWlyZWQgZmllbGQgd2FzIG5vdCBwcm92aWRlZCAqL1xuICAgICAgcmVxdWlyZWRMYWJlbDogc3RyaW5nO1xuXG4gICAgICBvbkZpbGVVcGxvYWQocXVlc3Rpb25JZDogc3RyaW5nLCBmaWxlOiBGaWxlKTogVXBsb2FkVGFzaztcblxuICAgICAgZXh0ZW5zaW9uczogSWZVdGlsaXR5SGFzPFxuICAgICAgICBcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiLFxuICAgICAgICB7XG4gICAgICAgICAgW0sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdW1widHlwZVwiXV06IHtcbiAgICAgICAgICAgIElucHV0OiAocHJvcHM6IEdlbmVyaWNGb3JtRmllbGRQcm9wczxLPikgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICAgICAgdmFsaWRhdG9yOiAoXG4gICAgICAgICAgICAgIGFuc3dlcjogQW5zd2VyQnlGaWVsZDx7IHR5cGU6IEsgfT4gfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHF1ZXN0aW9uOiBCYXNlUXVlc3Rpb24gJlxuICAgICAgICAgICAgICAgIChGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIj5bXCJmaWVsZHNcIl0gJiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBLO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICAgICAgICAgICAgZXJyb3I/OiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgID47XG4gICAgfTtcbiAgICB0ZXh0OiBJZlV0aWxpdHlIYXM8XG4gICAgICBcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCIsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAgIFtrIGluIFJlYWN0LkNvbXBvbmVudFByb3BzPFxuICAgICAgICAgICAgdHlwZW9mIGltcG9ydChcIi4uL2NvbXBvbmVudHMvVGV4dFwiKVtcImRlZmF1bHRcIl1cbiAgICAgICAgICA+W1widHlwZVwiXV06IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgaHRtbFRhZzoge1xuICAgICAgICAgIFtrIGluIFJlYWN0LkNvbXBvbmVudFByb3BzPFxuICAgICAgICAgICAgdHlwZW9mIGltcG9ydChcIi4uL2NvbXBvbmVudHMvVGV4dFwiKVtcImRlZmF1bHRcIl1cbiAgICAgICAgICA+W1widHlwZVwiXV06IFwicFwiIHwgXCJoMVwiIHwgXCJoMlwiIHwgXCJoM1wiIHwgXCJoNFwiIHwgXCJoNVwiIHwgXCJoNlwiO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgID47XG4gICAgYnV0dG9uPzoge1xuICAgICAgY2xhc3NOYW1lPzoge1xuICAgICAgICBbayBpbiBOb25OdWxsYWJsZTxcbiAgICAgICAgICBSZWFjdC5Db21wb25lbnRQcm9wczxcbiAgICAgICAgICAgIHR5cGVvZiBpbXBvcnQoXCIuLi9jb21wb25lbnRzL0J1dHRvblwiKVtcImRlZmF1bHRcIl1cbiAgICAgICAgICA+W1widmFyaWFudFwiXVxuICAgICAgICA+XT86IHN0cmluZztcbiAgICAgIH07XG4gICAgICBDb21wb25lbnQ/OiAocHJvcHM6IENvbXBvbmVudFByb3BzPHR5cGVvZiBCdXR0b24+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICBpbnB1dDoge1xuICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgIC8qKiBUaGUgd3JhcHBlciBhcm91bmQgaW5wdXQgdGFnICYgY2FwdGlvbiBlbGVtZW50ICh1c2VkIGZvciBlcnJvciBhbmQgY2FwdGlvbikgKi9cbiAgICAgICAgY29udGFpbmVyOiBzdHJpbmc7XG4gICAgICAgIC8qKiBUaGUgaW5wdXQgaHRtbCB0YWcgKi9cbiAgICAgICAgaW5wdXQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBmaWxlSW5wdXQ6IHtcbiAgICAgIFZpZXc6IChwcm9wczogRmlsZUlucHV0Vmlld1Byb3BzKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICBwYXNzd29yZElucHV0OiB7XG4gICAgICBpY29uU3JjOiB7XG4gICAgICAgIHBhc3N3b3JkSGlkZGVuOiBzdHJpbmc7XG4gICAgICAgIHBhc3N3b3JkVmlzaWJsZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFzeW5jV3JhcHBlcjoge1xuICAgICAgTG9hZGluZ0NvbXBvbmVudD86ICgpID0+IEpTWC5FbGVtZW50O1xuICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICAgIHJldHJ5QnRuOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH07XG4gICAgc2VsZWN0OiB7XG4gICAgICBTdGF0ZUluZGljYXRvcjogKHByb3BzOiB7IG9wZW46IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICBjbGFzc05hbWU/OiB7XG4gICAgICAgIGRyb3Bkb3duPzogc3RyaW5nO1xuICAgICAgICBpdGVtPzogc3RyaW5nO1xuICAgICAgICBzZWxlY3RlZEl0ZW0/OiBzdHJpbmc7XG4gICAgICAgIGlucHV0Pzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGhlYWRlcjoge1xuICAgICAgTG9nb0ltYWdlOiAoKSA9PiBKU1guRWxlbWVudDtcbiAgICAgIE1vcmVPcHRpb25zOiAoeyBvcGVuIH06IHsgb3BlbjogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICB9O1xuICAgIHRhYmxlOiB7XG4gICAgICBjb250cm9sczoge1xuICAgICAgICBQcmV2UGFnZTogKHsgZGlzYWJsZWQgfTogeyBkaXNhYmxlZDogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICAgICAgTmV4dFBhZ2U6ICh7IGRpc2FibGVkIH06IHsgZGlzYWJsZWQ6IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICB9O1xuICAgIH07XG4gICAgdG9vbHRpcDoge1xuICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIH07XG4gICAgYWRhcHRpdmVEaWFsb2c6IHtcbiAgICAgIGRpYWxvZ0NsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgYmFja2Ryb3BDbGFzc05hbWU6IHN0cmluZztcbiAgICAgIHZhcmlhbnQ6IHtcbiAgICAgICAgW2sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5BZGFwdGl2ZURpYWxvZ1ZhcmlhbnRzXCI+XTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFkYXB0aXZlU2lkZWJhcjoge1xuICAgICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgICBjb250cm9sQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgfTtcbiAgICBjaGVja2JveDoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2hlY2tCb3g+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICByYWRpbzoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgUmFkaW8+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICB0YWJzOiB7XG4gICAgICBpdGVtOiBzdHJpbmc7XG4gICAgICBjb250YWluZXI6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBob29rOiB7XG4gICAgdWk6IHtcbiAgICAgIHVzZVBhZ2luYXRpb25Db250cm9sczoge1xuICAgICAgICBMZWZ0Q29udHJvbDogKCkgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICBSaWdodENvbnRyb2w6ICgpID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBzdGF0ZToge1xuICAgIGltYWdlU2NhbGU6IEltYWdlU2NhbGVzO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQ29udGV4dENvbmZpZ1NwZWNzID0gRGVlcFBhcnRpYWw8T25lVUlDb250ZXh0U3BlY3M+ICZcbiAgUGF0aE9iamVjdDxPbmVVSUNvbnRleHRTcGVjcywgXCJjb21wb25lbnQudGV4dFwiPjtcblxuY29uc3QgQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8Q29udGV4dENvbmZpZ1NwZWNzPihudWxsIGFzIGFueSk7XG5cbmZ1bmN0aW9uIE9uZVVJUHJvdmlkZXIoe1xuICBjaGlsZHJlbixcbiAgY29uZmlnLFxufTogUHJvcHNXaXRoQ2hpbGRyZW48eyBjb25maWc6IENvbnRleHRDb25maWdTcGVjcyB9Pikge1xuICBjb25zdCBwcmV2Q3R4ID0gdXNlQ29udGV4dChDb250ZXh0KTtcbiAgY29uc3Qgc2NhbGUgPSB1c2VBZGFwdGl2ZUltYWdlKCk7XG4gIGNvbnN0IG1lcmdlZENvbmZpZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBtZXJnZShjbG9uZShwcmV2Q3R4KSwgY29uZmlnLCB7XG4gICAgICBzdGF0ZToge1xuICAgICAgICBpbWFnZVNjYWxlOiBzY2FsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtwcmV2Q3R4LCBjb25maWcsIHNjYWxlXSk7XG5cbiAgcmV0dXJuIDxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXttZXJnZWRDb25maWd9PntjaGlsZHJlbn08L0NvbnRleHQuUHJvdmlkZXI+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBPbmVVSVByb3ZpZGVyO1xuXG5mdW5jdGlvbiBwYXRoVG9Kc29uKFxuICBwYXRoOiBzdHJpbmcsXG4gIGtleT86IHN0cmluZyB8IFN5bWJvbCxcbiAgZXhhbXBsZUNvbmZpZyA9IFwiVEhFX01JU1NJTkdfQ09ORklHXCJcbikge1xuICBpZiAoIWtleSkge1xuICAgIGtleSA9IHBhdGguc3BsaXQoXCIuXCIpLnNsaWNlKC0xKVswXTtcbiAgICBwYXRoID0gcGF0aC5yZXBsYWNlKGAuJHtrZXl9YCwgXCJcIik7XG4gIH1cblxuICByZXR1cm4gcGF0aFxuICAgIC5zcGxpdChcIi5cIilcbiAgICAuY29uY2F0KGtleSBhcyBzdHJpbmcpXG4gICAgLnJlZHVjZSgocmVzdWx0LCBrZXksIGlkeCwgYXJyKSA9PiB7XG4gICAgICAoYXJyLnNsaWNlKDAsIGlkeCkucmVkdWNlKChyLCBrKSA9PiAociBhcyBhbnkpW2tdLCByZXN1bHQpIGFzIGFueSlba2V5XSA9XG4gICAgICAgIGlkeCA9PT0gYXJyLmxlbmd0aCAtIDEgPyBleGFtcGxlQ29uZmlnIDoge307XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sIHt9KTtcbn1cblxuZnVuY3Rpb24gRXJyb3JXcmFwcGVyKFxuICBvcmlnaW5hbE9iamVjdDogYW55LFxuICBwYXRoOiBzdHJpbmcgPSBcImNvbmZpZ1wiXG4pOiB0eXBlb2YgUHJveHkge1xuICByZXR1cm4gbmV3IFByb3h5KFxuICAgIHR5cGVvZiBvcmlnaW5hbE9iamVjdCAhPT0gXCJvYmplY3RcIiA/IHt9IDogb3JpZ2luYWxPYmplY3QgfHwge30sXG4gICAge1xuICAgICAgZ2V0KF90YXJnZXQsIGtleSkge1xuICAgICAgICBpZiAoa2V5ID09PSBTeW1ib2wudG9QcmltaXRpdmUpIHtcbiAgICAgICAgICByZXR1cm4gKCkgPT4gX3RhcmdldFtrZXldO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBvcmlnaW5hbE9iamVjdFtrZXldO1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiBFcnJvcldyYXBwZXIodmFsdWUsIFtwYXRoLCBrZXldLmZpbHRlcihCb29sZWFuKS5qb2luKFwiLlwiKSk7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc3QgcGF0aEpzb24gPSBwYXRoVG9Kc29uKHBhdGgsIGtleSk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEEgY29tcG9uZW50IGlzIHVzaW5nIHRoZSBVSSBjb25maWcgJHtbcGF0aCwga2V5XS5qb2luKFwiLlwiKX0uXG5cblBsZWFzZSBkZWZpbmUgaXQgdXNpbmc6XG5pbXBvcnQgT25lVUlQcm92aWRlciBmcm9tIFwiQG9uZXBlcmNlbnQvb25lLXVpL2Rpc3QvY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5cbiAgLi4uXG4ke2A8T25lVUlQcm92aWRlciBjb25maWc9eyR7SlNPTi5zdHJpbmdpZnkocGF0aEpzb24sIG51bGwsIDQpfX0+XG4uLi5cbjwvT25lVUlQcm92aWRlcj5gLnJlcGxhY2UoL1sgXS9nLCBcIi1cIil9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlT25lVUlDb250ZXh0KCkge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChDb250ZXh0KTtcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIilcbiAgICByZXR1cm4gRXJyb3JXcmFwcGVyKGNvbnRleHQpIGFzIHVua25vd24gYXMgT25lVUlDb250ZXh0U3BlY3M7XG5cbiAgcmV0dXJuIGNvbnRleHQgYXMgT25lVUlDb250ZXh0U3BlY3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSVZpZXc8UCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4+KFxuICBvbmV1aUNvbmZpZ1BhdGg6IFAsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZ1xuKSB7XG4gIGNvbnN0IHByb3ZpZGVkVmFsdWUgPSB1c2VPbmVVSUNvbmZpZyhvbmV1aUNvbmZpZ1BhdGgpO1xuICBpZiAoIXByb3ZpZGVkVmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfSByZXF1aXJlcyBhIHZpZXcgdG8gYmUgc2V0IG9uIE9uZVVJIGluaXRpYWxpemF0aW9uXG5cblZpZXdzIHJlYWR5IGZvciB1c2Ugd2l0aCB0aGlzIGNvbXBvbmVudCBzaGFsbCBiZSBhdmFpbGFibGUgYXQ6XG5pbXBvcnQgU29tZVZpZXcgZnJvbSBcIkBvbmVwZXJjZW50aW8vb25lLXVpL2Rpc3QvY29tcG9uZW50cy8ke2NvbXBvbmVudE5hbWV9L1ZpZXcvU29tZVZpZXdcIjtcbiAgICBcblBsZWFzZSBkZWZpbmUgaXQgdXNpbmc6XG5pbXBvcnQgT25lVUlQcm92aWRlciBmcm9tIFwiQG9uZXBlcmNlbnRpby9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShcbiAgcGF0aFRvSnNvbihvbmV1aUNvbmZpZ1BhdGgsIHVuZGVmaW5lZCwgXCJTb21lVmlld1wiKSxcbiAgbnVsbCxcbiAgNFxuKX19PlxuLi4uXG48L09uZVVJUHJvdmlkZXI+YC5yZXBsYWNlKC9bIF0vZywgXCItXCIpfWApO1xuICB9XG5cbiAgcmV0dXJuIHByb3ZpZGVkVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPj4oXG4gIHByb3A6IFBcbik6IEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD47XG5leHBvcnQgZnVuY3Rpb24gdXNlT25lVUlDb25maWc8XG4gIFAgZXh0ZW5kcyBGaWVsZFBhdGg8T25lVUlDb250ZXh0U3BlY3M+LFxuICBUIGV4dGVuZHMgRGVlcFBhcnRpYWw8R2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPj5cbj4ocHJvcDogUCwgZGVmYXVsdFZhbHVlOiBUKTogTm9uTnVsbGFibGU8R2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPj47XG5leHBvcnQgZnVuY3Rpb24gdXNlT25lVUlDb25maWc8XG4gIFAgZXh0ZW5kcyBGaWVsZFBhdGg8T25lVUlDb250ZXh0U3BlY3M+LFxuICBUIGV4dGVuZHMgR2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPlxuPihwcm9wOiBQLCBkZWZhdWx0VmFsdWU/OiBUKTogR2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPiB8IFQge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChDb250ZXh0KTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICBjb25zdCB2YWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBnZXQoY29udGV4dCwgcHJvcCk7XG4gICAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiIHx8XG4gICAgICB0eXBlb2YgdmFsID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3AuZW5kc1dpdGgoXCIuQ29tcG9uZW50XCIpIHx8XG4gICAgICBwcm9wLmVuZHNXaXRoKFwiLlZpZXdcIilcbiAgICApXG4gICAgICByZXR1cm4gKHZhbCBhcyBhbnkpIHx8IGRlZmF1bHRWYWx1ZTtcblxuICAgIGlmICh0eXBlb2YgdmFsID09PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbCBhcyBhbnk7XG4gICAgcmV0dXJuIEVycm9yV3JhcHBlcih2YWwgfHwgZGVmYXVsdFZhbHVlKSBhcyB1bmtub3duIGFzIE5vbk51bGxhYmxlPFQ+O1xuICB9XG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGdldChjb250ZXh0LCBwcm9wKTtcbiAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgcmV0dXJuIHZhbHVlIHx8IGRlZmF1bHRWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUN1cnJlbnRJbWFnZVNjYWxlKCkge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChDb250ZXh0KTtcblxuICByZXR1cm4gY29udGV4dC5zdGF0ZSEuaW1hZ2VTY2FsZSE7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxJQUFBQSxJQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxNQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFXQSxJQUFBSyxpQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQTRELFNBQUFJLHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFF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
|