@appconda/nextjs 1.0.226 → 1.0.227
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.
@@ -7,7 +7,7 @@ export const CreateProject = async (parsedInput) => {
|
|
7
7
|
//@ts-ignore
|
8
8
|
const project = await task.CreateProject(parsedInput);
|
9
9
|
const view = await CreateView({
|
10
|
-
|
10
|
+
id: `${project.id}-default`,
|
11
11
|
title: 'Backlog',
|
12
12
|
projectId: project.id
|
13
13
|
});
|
@@ -671,4 +671,4 @@ export const ListVotes = async (parsedInput) => {
|
|
671
671
|
throw error;
|
672
672
|
}
|
673
673
|
};
|
674
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdGFzay9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2xFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsV0FBZ0QsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsWUFBWTtRQUNaLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxNQUFNLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBQztZQUMxQixnQkFBZ0I7WUFDaEIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUM7SUFDaEIsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsV0FBNkMsRUFBRSxFQUFFO0lBQzlFLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FB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QUM3QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELE1BQU0sS0FBSyxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHNlcnZlcic7XG5cbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgQXBwY29uZGFFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0U0RLRm9yQ3VycmVudFVzZXIgfSBmcm9tICcuLi8uLi9nZXRTREtGb3JDdXJyZW50VXNlcic7XG5pbXBvcnQgeyBDaGFuZ2VQb3N0Q2F0ZWdvcnlTY2hlbWEsIENoYW5nZVBvc3RTdGF0dXNTY2hlbWEsIENoYW5nZVRhc2tTdGF0dXNTY2hlbWEsIENyZWF0ZUJvYXJkU2NoZW1hLCBDcmVhdGVDaGFuZ2Vsb2dTY2hlbWEsIENyZWF0ZUNvbW1lbnRTY2hlbWEsIENyZWF0ZUxpc3RTY2hlbWEsIENyZWF0ZVBvc3RDYXRlZ29yeVNjaGVtYSwgQ3JlYXRlUG9zdFNjaGVtYSwgQ3JlYXRlUHJvamVjdFNjaGVtYSwgQ3JlYXRlUm9hZG1hcFNjaGVtYSwgQ3JlYXRlU3ByaW50U2NoZW1hLCBDcmVhdGVTdGF0dXNDaGFuZ2VTY2hlbWEsIENyZWF0ZVRhZ1NjaGVtYSwgQ3JlYXRlVGFza0xpc3RTY2hlbWEsIENyZWF0ZVRhc2tTY2hlbWEsIENyZWF0ZVZpZXdTY2hlbWEsIENyZWF0ZVZvdGVTY2hlbWEsIERlbGV0ZUJvYXJkU2NoZW1hLCBEZWxldGVDb21tZW50U2NoZW1hLCBEZWxldGVQb3N0Q2F0ZWdvcnlTY2hlbWEsIERlbGV0ZVNwcmludFNjaGVtYSwgRGVsZXRlVGFza0xpc3RTY2hlbWEsIERlbGV0ZVZvdGVTY2hlbWEsIEdldEJvYXJkU2NoZW1hLCBHZXRDaGFuZ2VMb2dTY2hlbWEsIEdldENvbW1lbnRTY2hlbWEsIEdldFBvc3RDYXRlZ29yeVNjaGVtYSwgR2V0UG9zdFNjaGVtYSwgR2V0UHJvamVjdFNjaGVtYSwgR2V0Um9hZG1hcFNjaGVtYSwgR2V0U3ByaW50U2NoZW1hLCBHZXRUYWdTY2hlbWEsIEdldFRhc2tMaXN0U2NoZW1hLCBHZXRUYXNrU2NoZW1hLCBHZXRWb3RlU2NoZW1hLCBMaXN0Qm9hcmRzU2NoZW1hLCBMaXN0Q2hhbmdlTG9nc1NjaGVtYSwgTGlzdENvbW1lbnRzU2NoZW1hLCBMaXN0UG9zdENhdGVnb3JpZXNTY2hlbWEsIExpc3RQb3N0c1NjaGVtYSwgTGlzdFByb2plY3RzU2NoZW1hLCBMaXN0VGFnc1NjaGVtYSwgTGlzdFRhc2tMaXN0c1NjaGVtYSwgTGlzdFRhc2tzSW5MaXN0U2NoZW1hLCBMaXN0VGFza3NTY2hlbWEsIExpc3RWaWV3c1NjaGVtYSwgTGlzdFZvdGVzU2NoZW1hLCBNb3ZlVGFza1NjaGVtYSwgVXBkYXRlTGlzdFNjaGVtYSwgVXBkYXRlU3ByaW50U2NoZW1hLCBVcGRhdGVUYXNrTGlzdFNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVByb2plY3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVByb2plY3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgcHJvamVjdCA9IGF3YWl0IHRhc2suQ3JlYXRlUHJvamVjdChwYXJzZWRJbnB1dCk7XG4gICAgICAgIGNvbnN0IHZpZXcgPSBhd2FpdCBDcmVhdGVWaWV3KHtcbiAgICAgICAgICAgIC8vaWQ6ICdkZWZhdWx0JyxcbiAgICAgICAgICAgIHRpdGxlOiAnQmFja2xvZycsXG4gICAgICAgICAgICBwcm9qZWN0SWQ6IHByb2plY3QuaWRcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwcm9qZWN0O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0UHJvamVjdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0UHJvamVjdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFByb2plY3QocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFByb2plY3RzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0UHJvamVjdHNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFByb2plY3RzKHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0VGFzayA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0VGFza1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFRhc2socGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhbmdlVGFza1N0YXR1cyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ2hhbmdlVGFza1N0YXR1c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNoYW5nZVRhc2tTdGF0dXMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59OyAgXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYXNrTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVGFza0xpc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVRhc2tMaXN0KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0VGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0VGFza0xpc3QocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5cblxuZXhwb3J0IGNvbnN0IExpc3RUYXNrTGlzdHMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RUYXNrTGlzdHNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RUYXNrTGlzdHMocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVUYXNrTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlVGFza0xpc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLlVwZGF0ZVRhc2tMaXN0KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5EZWxldGVUYXNrTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNwcmludCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU3ByaW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVTcHJpbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRTcHJpbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFNwcmludFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0U3ByaW50KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG4vL0B0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBMaXN0U3ByaW50cyA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFNwcmludHMoKTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlU3ByaW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTcHJpbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLlVwZGF0ZVNwcmludChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVNwcmludCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlU3ByaW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5EZWxldGVTcHJpbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVMaXN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVMaXN0KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlTGlzdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suVXBkYXRlTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuXG5leHBvcnQgY29uc3QgTGlzdFRhc2tzSW5MaXN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGFza3NJbkxpc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RUYXNrc0luTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVRhc2sgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVRhc2tTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVRhc2socGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNb3ZlVGFzayA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTW92ZVRhc2tTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLk1vdmVUYXNrKHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGluIE1vdmVUYXNrIDogJHtlcnJvci50b1N0cmluZygpfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVZpZXcgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVZpZXdTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVZpZXcocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Vmlld3MgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RWaWV3c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RWaWV3cyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0VGFza3MgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RUYXNrc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RUYXNrcyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbi8vIEZlZWRiYWNrIG1vZMO8bMO8IGFjdGlvbiBmb25rc2l5b25sYXLEsVxuZXhwb3J0IGNvbnN0IENoYW5nZVBvc3RDYXRlZ29yeSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ2hhbmdlUG9zdENhdGVnb3J5U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ2hhbmdlUG9zdENhdGVnb3J5KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDaGFuZ2VQb3N0U3RhdHVzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDaGFuZ2VQb3N0U3RhdHVzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ2hhbmdlUG9zdFN0YXR1cyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQm9hcmQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUJvYXJkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlQm9hcmQocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldEJvYXJkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRCb2FyZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldEJvYXJkKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Qm9hcmRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Qm9hcmRzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdEJvYXJkcyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQm9hcmQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUJvYXJkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suRGVsZXRlQm9hcmQocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUNoYW5nZWxvZyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ2hhbmdlbG9nU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlQ2hhbmdlbG9nKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVDb21tZW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVDb21tZW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlQ29tbWVudChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlUG9zdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlUG9zdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVBvc3QocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVBvc3RDYXRlZ29yeSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlUG9zdENhdGVnb3J5U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlUG9zdENhdGVnb3J5KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVSb2FkbWFwID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVSb2FkbWFwU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlUm9hZG1hcChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU3RhdHVzQ2hhbmdlID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTdGF0dXNDaGFuZ2VTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVTdGF0dXNDaGFuZ2UocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVRhZyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVGFnU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlVGFnKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVWb3RlID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVWb3RlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlVm90ZShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQ29tbWVudCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ29tbWVudFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZUNvbW1lbnQocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVBvc3RDYXRlZ29yeSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlUG9zdENhdGVnb3J5U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suRGVsZXRlUG9zdENhdGVnb3J5KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVWb3RlID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVWb3RlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suRGVsZXRlVm90ZShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0Q2hhbmdlTG9nID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRDaGFuZ2VMb2dTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRDaGFuZ2VMb2cocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldENvbW1lbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldENvbW1lbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRDb21tZW50KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRQb3N0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRQb3N0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0UG9zdChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0UG9zdENhdGVnb3J5ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRQb3N0Q2F0ZWdvcnlTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRQb3N0Q2F0ZWdvcnkocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFJvYWRtYXAgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFJvYWRtYXBTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRSb2FkbWFwKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRUYWcgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFRhZ1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFRhZyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0Vm90ZSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0Vm90ZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFZvdGUocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RDaGFuZ2VMb2dzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Q2hhbmdlTG9nc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RDaGFuZ2VMb2dzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Q29tbWVudHMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RDb21tZW50c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RDb21tZW50cyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFBvc3RDYXRlZ29yaWVzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0UG9zdENhdGVnb3JpZXNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0UG9zdENhdGVnb3JpZXMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RQb3N0cyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFBvc3RzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFBvc3RzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Um9hZG1hcHMgPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0Um9hZG1hcHMoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0U3RhdHVzQ2hhbmdlcyA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RTdGF0dXNDaGFuZ2VzKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFRhZ3MgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RUYWdzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFRhZ3MocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RWb3RlcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFZvdGVzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFZvdGVzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG4iXX0=
|
674
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdGFzay9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2xFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsV0FBZ0QsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsWUFBWTtRQUNaLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxNQUFNLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBQztZQUMxQixFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVO1lBQzNCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtTQUN4QixDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLFdBQTZDLEVBQUUsRUFBRTtJQUM5RSxJQUFJLENBQUM7UUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQzlDLE9BQU8s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QyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzZXJ2ZXInO1xuXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IEFwcGNvbmRhRXhjZXB0aW9uIH0gZnJvbSAnLi4vLi4vY2xpZW50JztcbmltcG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSAnLi4vLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXInO1xuaW1wb3J0IHsgQ2hhbmdlUG9zdENhdGVnb3J5U2NoZW1hLCBDaGFuZ2VQb3N0U3RhdHVzU2NoZW1hLCBDaGFuZ2VUYXNrU3RhdHVzU2NoZW1hLCBDcmVhdGVCb2FyZFNjaGVtYSwgQ3JlYXRlQ2hhbmdlbG9nU2NoZW1hLCBDcmVhdGVDb21tZW50U2NoZW1hLCBDcmVhdGVMaXN0U2NoZW1hLCBDcmVhdGVQb3N0Q2F0ZWdvcnlTY2hlbWEsIENyZWF0ZVBvc3RTY2hlbWEsIENyZWF0ZVByb2plY3RTY2hlbWEsIENyZWF0ZVJvYWRtYXBTY2hlbWEsIENyZWF0ZVNwcmludFNjaGVtYSwgQ3JlYXRlU3RhdHVzQ2hhbmdlU2NoZW1hLCBDcmVhdGVUYWdTY2hlbWEsIENyZWF0ZVRhc2tMaXN0U2NoZW1hLCBDcmVhdGVUYXNrU2NoZW1hLCBDcmVhdGVWaWV3U2NoZW1hLCBDcmVhdGVWb3RlU2NoZW1hLCBEZWxldGVCb2FyZFNjaGVtYSwgRGVsZXRlQ29tbWVudFNjaGVtYSwgRGVsZXRlUG9zdENhdGVnb3J5U2NoZW1hLCBEZWxldGVTcHJpbnRTY2hlbWEsIERlbGV0ZVRhc2tMaXN0U2NoZW1hLCBEZWxldGVWb3RlU2NoZW1hLCBHZXRCb2FyZFNjaGVtYSwgR2V0Q2hhbmdlTG9nU2NoZW1hLCBHZXRDb21tZW50U2NoZW1hLCBHZXRQb3N0Q2F0ZWdvcnlTY2hlbWEsIEdldFBvc3RTY2hlbWEsIEdldFByb2plY3RTY2hlbWEsIEdldFJvYWRtYXBTY2hlbWEsIEdldFNwcmludFNjaGVtYSwgR2V0VGFnU2NoZW1hLCBHZXRUYXNrTGlzdFNjaGVtYSwgR2V0VGFza1NjaGVtYSwgR2V0Vm90ZVNjaGVtYSwgTGlzdEJvYXJkc1NjaGVtYSwgTGlzdENoYW5nZUxvZ3NTY2hlbWEsIExpc3RDb21tZW50c1NjaGVtYSwgTGlzdFBvc3RDYXRlZ29yaWVzU2NoZW1hLCBMaXN0UG9zdHNTY2hlbWEsIExpc3RQcm9qZWN0c1NjaGVtYSwgTGlzdFRhZ3NTY2hlbWEsIExpc3RUYXNrTGlzdHNTY2hlbWEsIExpc3RUYXNrc0luTGlzdFNjaGVtYSwgTGlzdFRhc2tzU2NoZW1hLCBMaXN0Vmlld3NTY2hlbWEsIExpc3RWb3Rlc1NjaGVtYSwgTW92ZVRhc2tTY2hlbWEsIFVwZGF0ZUxpc3RTY2hlbWEsIFVwZGF0ZVNwcmludFNjaGVtYSwgVXBkYXRlVGFza0xpc3RTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVQcm9qZWN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVQcm9qZWN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IHByb2plY3QgPSBhd2FpdCB0YXNrLkNyZWF0ZVByb2plY3QocGFyc2VkSW5wdXQpO1xuICAgICAgICBjb25zdCB2aWV3ID0gYXdhaXQgQ3JlYXRlVmlldyh7XG4gICAgICAgICAgICBpZDogYCR7cHJvamVjdC5pZH0tZGVmYXVsdGAsXG4gICAgICAgICAgICB0aXRsZTogJ0JhY2tsb2cnLFxuICAgICAgICAgICAgcHJvamVjdElkOiBwcm9qZWN0LmlkXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcHJvamVjdDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFByb2plY3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFByb2plY3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRQcm9qZWN0KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RQcm9qZWN0cyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFByb2plY3RzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RQcm9qZWN0cyhwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFRhc2sgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFRhc2tTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRUYXNrKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENoYW5nZVRhc2tTdGF0dXMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENoYW5nZVRhc2tTdGF0dXNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DaGFuZ2VUYXNrU3RhdHVzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTsgIFxuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVUYXNrTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFRhc2tMaXN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRUYXNrTGlzdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFRhc2tMaXN0KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuXG5cbmV4cG9ydCBjb25zdCBMaXN0VGFza0xpc3RzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGFza0xpc3RzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0VGFza0xpc3RzKHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5VcGRhdGVUYXNrTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVRhc2tMaXN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVUYXNrTGlzdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suRGVsZXRlVGFza0xpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTcHJpbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVNwcmludFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlU3ByaW50KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3ByaW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRTcHJpbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFNwcmludChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuLy9AdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTGlzdFNwcmludHMgPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RTcHJpbnRzKCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNwcmludCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlU3ByaW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5VcGRhdGVTcHJpbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVTcHJpbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNwcmludFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suRGVsZXRlU3ByaW50KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlTGlzdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUxpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUxpc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLlVwZGF0ZUxpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IExpc3RUYXNrc0luTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFRhc2tzSW5MaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0VGFza3NJbkxpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYXNrID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVUYXNrU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVUYXNrKHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTW92ZVRhc2sgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIE1vdmVUYXNrU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5Nb3ZlVGFzayhwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBpbiBNb3ZlVGFzayA6ICR7ZXJyb3IudG9TdHJpbmcoKX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVWaWV3ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVWaWV3U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVWaWV3KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFZpZXdzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Vmlld3NTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0Vmlld3MocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFRhc2tzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGFza3NTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0VGFza3MocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG4vLyBGZWVkYmFjayBtb2TDvGzDvCBhY3Rpb24gZm9ua3NpeW9ubGFyxLFcbmV4cG9ydCBjb25zdCBDaGFuZ2VQb3N0Q2F0ZWdvcnkgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENoYW5nZVBvc3RDYXRlZ29yeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNoYW5nZVBvc3RDYXRlZ29yeShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhbmdlUG9zdFN0YXR1cyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ2hhbmdlUG9zdFN0YXR1c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNoYW5nZVBvc3RTdGF0dXMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUJvYXJkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVCb2FyZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZUJvYXJkKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRCb2FyZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0Qm9hcmRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRCb2FyZChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdEJvYXJkcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdEJvYXJkc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RCb2FyZHMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUJvYXJkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVCb2FyZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZUJvYXJkKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVDaGFuZ2Vsb2cgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNoYW5nZWxvZ1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZUNoYW5nZWxvZyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29tbWVudCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29tbWVudFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZUNvbW1lbnQocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVBvc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVBvc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVQb3N0KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVQb3N0Q2F0ZWdvcnkgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVBvc3RDYXRlZ29yeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVBvc3RDYXRlZ29yeShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlUm9hZG1hcCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlUm9hZG1hcFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVJvYWRtYXAocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVN0YXR1c0NoYW5nZSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU3RhdHVzQ2hhbmdlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlU3RhdHVzQ2hhbmdlKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYWcgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVRhZ1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVRhZyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVm90ZSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVm90ZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVZvdGUocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbW1lbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUNvbW1lbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5EZWxldGVDb21tZW50KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVQb3N0Q2F0ZWdvcnkgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVBvc3RDYXRlZ29yeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZVBvc3RDYXRlZ29yeShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVm90ZSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlVm90ZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZVZvdGUocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldENoYW5nZUxvZyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0Q2hhbmdlTG9nU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0Q2hhbmdlTG9nKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRDb21tZW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRDb21tZW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0Q29tbWVudChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0UG9zdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0UG9zdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFBvc3QocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFBvc3RDYXRlZ29yeSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0UG9zdENhdGVnb3J5U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0UG9zdENhdGVnb3J5KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRSb2FkbWFwID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRSb2FkbWFwU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0Um9hZG1hcChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0VGFnID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRUYWdTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRUYWcocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFZvdGUgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFZvdGVTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRWb3RlKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Q2hhbmdlTG9ncyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdENoYW5nZUxvZ3NTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0Q2hhbmdlTG9ncyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdENvbW1lbnRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Q29tbWVudHNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0Q29tbWVudHMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RQb3N0Q2F0ZWdvcmllcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFBvc3RDYXRlZ29yaWVzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFBvc3RDYXRlZ29yaWVzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0UG9zdHMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RQb3N0c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RQb3N0cyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFJvYWRtYXBzID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFJvYWRtYXBzKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFN0YXR1c0NoYW5nZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0U3RhdHVzQ2hhbmdlcygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RUYWdzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGFnc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RUYWdzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Vm90ZXMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RWb3Rlc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RWb3RlcyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuIl19
|
package/package.json
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"name": "@appconda/nextjs",
|
3
3
|
"homepage": "https://appconda.io/support",
|
4
4
|
"description": "Appconda is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
|
5
|
-
"version": "1.0.
|
5
|
+
"version": "1.0.227",
|
6
6
|
"license": "BSD-3-Clause",
|
7
7
|
"main": "dist/index.js",
|
8
8
|
"types": "dist/index.d.ts",
|
@@ -11,7 +11,7 @@ export const CreateProject = async (parsedInput: z.infer<typeof CreateProjectSch
|
|
11
11
|
//@ts-ignore
|
12
12
|
const project = await task.CreateProject(parsedInput);
|
13
13
|
const view = await CreateView({
|
14
|
-
|
14
|
+
id: `${project.id}-default`,
|
15
15
|
title: 'Backlog',
|
16
16
|
projectId: project.id
|
17
17
|
});
|