@hmcts/media-viewer 4.0.8-exui-2537-rc2 → 4.0.8-exui-2537-rc4
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/esm2022/lib/store/reducers/annotations.reducer.mjs +2 -2
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +2 -2
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +2 -2
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +2 -2
- package/fesm2022/hmcts-media-viewer.mjs +6 -7
- package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
- package/lib/store/reducers/annotations.reducer.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import uuid from 'uuid
|
|
1
|
+
import { v4 as uuid } from 'uuid';
|
|
2
2
|
import * as fromAnnotations from '../actions/annotation.actions';
|
|
3
3
|
import { StoreUtils } from '../store-utils';
|
|
4
4
|
export const initialState = {
|
|
@@ -205,4 +205,4 @@ export const getAnnoEnt = (state) => state.annotationEntities;
|
|
|
205
205
|
export const getSelectedAnno = (state) => state.selectedAnnotation;
|
|
206
206
|
export const commentSearchQ = (state) => state.commentSearchQueries;
|
|
207
207
|
export const getSummaryFilters = (state) => state.commentSummaryFilters;
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2Fubm90YXRpb25zLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFHakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0I1QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXVCO0lBQzlDLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLG9CQUFvQixFQUFFLEVBQUMsYUFBYSxFQUFFLEVBQUUsRUFBQztJQUN6QyxxQkFBcUIsRUFBRSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBQztJQUN0RCxPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxLQUFLO0NBQ2QsQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQ3JCLEtBQUssR0FBRyxZQUFZLEVBQ3BCLE1BQTBDO0lBRTFDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXBCLEtBQUssZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLGFBQWEsR0FBRztnQkFDcEIsR0FBRyxLQUFLLENBQUMsYUFBYTtnQkFDdEIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxPQUFPO2FBQzNCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsWUFBWTtnQkFDZixhQUFhO2dCQUNiLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztRQUNKLENBQUM7UUFD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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXVpZCBmcm9tICd1dWlkL3Y0JztcbmltcG9ydCAqIGFzIGZyb21Bbm5vdGF0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBTdG9yZVV0aWxzIH0gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQW5ub3RhdGlvbiB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL21vZGVscy9ldmVudC1zZWxlY3QubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVycyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXJzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ub3RhdGlvblNldFN0YXRlIHtcbiAgYW5ub3RhdGlvblNldDogYW55O1xuICBhbm5vdGF0aW9uRW50aXRpZXM6IHtbaWQ6IHN0cmluZ106IGFueX07XG4gIGFubm90YXRpb25QYWdlRW50aXRpZXM6IHtbaWQ6IHN0cmluZ106IEFubm90YXRpb25bXX07XG4gIGNvbW1lbnRFbnRpdGllczoge1tpZDogc3RyaW5nXTogQ29tbWVudH07XG4gIHNlbGVjdGVkQW5ub3RhdGlvbjogU2VsZWN0aW9uQW5ub3RhdGlvbjtcbiAgY29tbWVudFNlYXJjaFF1ZXJpZXM6IHsgY29tbWVudFNlYXJjaDogc3RyaW5nIH07XG4gIGNvbW1lbnRTdW1tYXJ5RmlsdGVyczoge2hhc0ZpbHRlcjogYm9vbGVhbjsgZmlsdGVyczogRmlsdGVyc307XG4gIGxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlID0ge1xuICBhbm5vdGF0aW9uU2V0OiB7fSxcbiAgYW5ub3RhdGlvbkVudGl0aWVzOiB7fSxcbiAgY29tbWVudEVudGl0aWVzOiB7fSxcbiAgYW5ub3RhdGlvblBhZ2VFbnRpdGllczoge30sXG4gIHNlbGVjdGVkQW5ub3RhdGlvbjogbnVsbCxcbiAgY29tbWVudFNlYXJjaFF1ZXJpZXM6IHtjb21tZW50U2VhcmNoOiAnJ30sXG4gIGNvbW1lbnRTdW1tYXJ5RmlsdGVyczoge2hhc0ZpbHRlcjogZmFsc2UsIGZpbHRlcnM6IHt9fSxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGxvYWRlZDogZmFsc2UsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlciAoXG4gIHN0YXRlID0gaW5pdGlhbFN0YXRlLFxuICBhY3Rpb246IGZyb21Bbm5vdGF0aW9ucy5Bbm5vdGF0aW9uc0FjdGlvbnNcbik6IEFubm90YXRpb25TZXRTdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkxPQURfQU5OT1RBVElPTl9TRVQ6IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb25TZXQgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25TZXQsXG4gICAgICAgIGRvY3VtZW50SWQ6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5pdGlhbFN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uU2V0LFxuICAgICAgICBsb2FkaW5nOiB0cnVlXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUX1NVQ0NFU1M6XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVF9GQUlMOiB7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uU2V0ID0gYWN0aW9uLnBheWxvYWQuc3RhdHVzID09PSAyMDAgPyBhY3Rpb24ucGF5bG9hZC5ib2R5IDpcbiAgICAgICAge1xuICAgICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25TZXQsXG4gICAgICAgICAgYW5ub3RhdGlvbnM6IFtdLFxuICAgICAgICAgIGlkOiB1dWlkKClcbiAgICAgICAgfTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVBbm5vdGF0aW9uRW50aXRpZXMoYW5ub3RhdGlvblNldC5hbm5vdGF0aW9ucyk7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RhdGlvblNldC5hbm5vdGF0aW9ucywgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVDb21tZW50c0VudGl0aWVzKGFubm90YXRpb25TZXQuYW5ub3RhdGlvbnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFubm90YXRpb25TZXQsXG4gICAgICAgIGFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgY29tbWVudEVudGl0aWVzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLlNBVkVfQU5OT1RBVElPTl9TRVRfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYW5ubyA9IGFjdGlvbi5wYXlsb2FkLmFubm90YXRpb25zO1xuICAgICAgY29uc3QgYW5uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgLi4uYW5ub1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGFubm90QXJyYXkgPSBPYmplY3Qua2V5cyhhbm5FbnRpdGllcykubWFwKGtleSA9PiBhbm5FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVBbm5vdGF0aW9uRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RBcnJheSwgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVDb21tZW50c0VudGl0aWVzKGFubm90QXJyYXkpO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRBbm5vdGF0aW9uID0ge1xuICAgICAgICAuLi5zdGF0ZS5zZWxlY3RlZEFubm90YXRpb24sXG4gICAgICAgIC4uLmFubm8sXG4gICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgc2VsZWN0ZWRBbm5vdGF0aW9uLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuXG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0FWRV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGFubm8gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGFubkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIFthbm5vLmlkXTogYW5ub1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGFubm90QXJyYXkgPSBPYmplY3Qua2V5cyhhbm5FbnRpdGllcykubWFwKGtleSA9PiBhbm5FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVBbm5vdGF0aW9uRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RBcnJheSwgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVDb21tZW50c0VudGl0aWVzKGFubm90QXJyYXkpO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRBbm5vdGF0aW9uID0ge1xuICAgICAgICAuLi5zdGF0ZS5zZWxlY3RlZEFubm90YXRpb24sXG4gICAgICAgIGFubm90YXRpb25JZCA6IGFubm8uaWQsXG4gICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgc2VsZWN0ZWRBbm5vdGF0aW9uLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkRFTEVURV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGlkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBwYWdlID0gc3RhdGUuYW5ub3RhdGlvbkVudGl0aWVzW2lkXS5wYWdlO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXNcbiAgICAgIH07XG4gICAgICBkZWxldGUgYW5ub3RhdGlvbkVudGl0aWVzW2lkXTtcbiAgICAgIGNvbnN0IHBhZ2VBbm5vdGF0aW9uc1JlbW92ZWQgPSBbXG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25QYWdlRW50aXRpZXNbcGFnZV0uZmlsdGVyKGFubm8gPT4gYW5uby5pZCAhPT0gaWQpXG4gICAgICBdO1xuICAgICAgY29uc3QgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgW3BhZ2VdOiBwYWdlQW5ub3RhdGlvbnNSZW1vdmVkXG4gICAgICB9O1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50RW50aXRpZXNcbiAgICAgIH07XG4gICAgICBpZiAoc3RhdGUuY29tbWVudEVudGl0aWVzW2lkXSkge1xuICAgICAgICBkZWxldGUgY29tbWVudEVudGl0aWVzW2lkXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5BRERfT1JfRURJVF9DT01NRU5UOiB7XG4gICAgICBjb25zdCBjb21tZW50ID0ge1xuICAgICAgICBbYWN0aW9uLnBheWxvYWQuYW5ub3RhdGlvbklkXTogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICBjb25zdCBjb21tZW50cyA9IHtcbiAgICAgICAgLi4uc3RhdGUuY29tbWVudEVudGl0aWVzLFxuICAgICAgICAuLi5jb21tZW50XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllczogY29tbWVudHNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VMRUNUX0FOTk9UQVRJT046IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdHkgPSB7XG4gICAgICAgIC4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc1twYXlsb2FkLmFubm90YXRpb25JZF0sXG4gICAgICAgIGVkaXRhYmxlOiBwYXlsb2FkLmVkaXRhYmxlLFxuICAgICAgICBzZWxlY3RlZDogcGF5bG9hZC5zZWxlY3RlZFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzZXRDb21tZW50RW50U2VsZWN0ID0gU3RvcmVVdGlscy5yZXNldENvbW1lbnRFbnRTZWxlY3Qoey4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc30pO1xuXG4gICAgICBjb25zdCBjb21tZW50RW50aXRpZXMgPSBwYXlsb2FkLmFubm90YXRpb25JZCAmJiBzdGF0ZS5jb21tZW50RW50aXRpZXNbcGF5bG9hZC5hbm5vdGF0aW9uSWRdID8ge1xuICAgICAgICAuLi5yZXNldENvbW1lbnRFbnRTZWxlY3QsXG4gICAgICBbcGF5bG9hZC5hbm5vdGF0aW9uSWRdOiBjb21tZW50RW50aXR5XG4gICAgICB9IDogey4uLnJlc2V0Q29tbWVudEVudFNlbGVjdH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIHNlbGVjdGVkQW5ub3RhdGlvbjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VBUkNIX0NPTU1FTlQ6IHtcbiAgICAgIGNvbnN0IGNvbW1lbnRTZWFyY2hRdWVyaWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50U2VhcmNoUXVlcmllcyxcbiAgICAgICAgY29tbWVudFNlYXJjaDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMucmVzZXRDb21tZW50RW50U2VsZWN0KHsuLi5zdGF0ZS5jb21tZW50RW50aXRpZXN9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRTZWFyY2hRdWVyaWVzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkFQUExZX0NPTU1FTlRfU1VNTUFSWV9GSUxURVI6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGhhc1RhZ0ZpbHRlciA9ICgpID0+IHtcbiAgICAgICAgbGV0IGlzRmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHBheWxvYWQudGFnRmlsdGVycykge1xuICAgICAgICAgIE9iamVjdC5rZXlzKHBheWxvYWQudGFnRmlsdGVycykubWFwKGZpbHRlciA9PiB7XG4gICAgICAgICAgICBpZiAocGF5bG9hZC50YWdGaWx0ZXJzW2ZpbHRlcl0gJiYgIWlzRmlsdGVyZWQpIHtcbiAgICAgICAgICAgICAgaXNGaWx0ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzRmlsdGVyZWQ7XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFzRmlsdGVyID0gKGhhc1RhZ0ZpbHRlcigpIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VGcm9tIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VUbyk7XG4gICAgICBjb25zdCBjb21tZW50U3VtbWFyeUZpbHRlcnMgPSB7XG4gICAgICAgIGhhc0ZpbHRlcixcbiAgICAgICAgZmlsdGVyczogcGF5bG9hZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IGNvbW1lbnRTdW1tYXJ5RmlsdGVyc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5DTEVBUl9DT01NRU5UX1NVTU1BUllfRklMVEVSOiB7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnMgOiB7Li4uaW5pdGlhbFN0YXRlLmNvbW1lbnRTdW1tYXJ5RmlsdGVyc31cbiAgICAgIH07XG4gICAgfVxuICB9XG5cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vU2V0ID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmFubm90YXRpb25TZXQ7XG5leHBvcnQgY29uc3QgZ2V0Q29tbWVudEVudHMgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuY29tbWVudEVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEFubm9QYWdlRW50ID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmFubm90YXRpb25QYWdlRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0QW5ub0VudCA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRBbm5vID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkQW5ub3RhdGlvbjtcbmV4cG9ydCBjb25zdCBjb21tZW50U2VhcmNoUSA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5jb21tZW50U2VhcmNoUXVlcmllcztcbmV4cG9ydCBjb25zdCBnZXRTdW1tYXJ5RmlsdGVycyA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5jb21tZW50U3VtbWFyeUZpbHRlcnM7XG4iXX0=
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2Fubm90YXRpb25zLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxLQUFLLGVBQWUsTUFBTSwrQkFBK0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFnQjVDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBdUI7SUFDOUMsYUFBYSxFQUFFLEVBQUU7SUFDakIsa0JBQWtCLEVBQUUsRUFBRTtJQUN0QixlQUFlLEVBQUUsRUFBRTtJQUNuQixzQkFBc0IsRUFBRSxFQUFFO0lBQzFCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsb0JBQW9CLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFO0lBQzNDLHFCQUFxQixFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3hELE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLE9BQU8sQ0FDckIsS0FBSyxHQUFHLFlBQVksRUFDcEIsTUFBMEM7SUFFMUMsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEIsS0FBSyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sYUFBYSxHQUFHO2dCQUNwQixHQUFHLEtBQUssQ0FBQyxhQUFhO2dCQUN0QixVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDM0IsQ0FBQztZQUNGLE9BQU87Z0JBQ0wsR0FBRyxZQUFZO2dCQUNmLGFBQWE7Z0JBQ2IsT0FBTyxFQUFFLElBQUk7YUFD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QUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vdGF0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBTdG9yZVV0aWxzIH0gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQW5ub3RhdGlvbiB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL21vZGVscy9ldmVudC1zZWxlY3QubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVycyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXJzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ub3RhdGlvblNldFN0YXRlIHtcbiAgYW5ub3RhdGlvblNldDogYW55O1xuICBhbm5vdGF0aW9uRW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBhbnkgfTtcbiAgYW5ub3RhdGlvblBhZ2VFbnRpdGllczogeyBbaWQ6IHN0cmluZ106IEFubm90YXRpb25bXSB9O1xuICBjb21tZW50RW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBDb21tZW50IH07XG4gIHNlbGVjdGVkQW5ub3RhdGlvbjogU2VsZWN0aW9uQW5ub3RhdGlvbjtcbiAgY29tbWVudFNlYXJjaFF1ZXJpZXM6IHsgY29tbWVudFNlYXJjaDogc3RyaW5nIH07XG4gIGNvbW1lbnRTdW1tYXJ5RmlsdGVyczogeyBoYXNGaWx0ZXI6IGJvb2xlYW47IGZpbHRlcnM6IEZpbHRlcnMgfTtcbiAgbG9hZGVkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUgPSB7XG4gIGFubm90YXRpb25TZXQ6IHt9LFxuICBhbm5vdGF0aW9uRW50aXRpZXM6IHt9LFxuICBjb21tZW50RW50aXRpZXM6IHt9LFxuICBhbm5vdGF0aW9uUGFnZUVudGl0aWVzOiB7fSxcbiAgc2VsZWN0ZWRBbm5vdGF0aW9uOiBudWxsLFxuICBjb21tZW50U2VhcmNoUXVlcmllczogeyBjb21tZW50U2VhcmNoOiAnJyB9LFxuICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IHsgaGFzRmlsdGVyOiBmYWxzZSwgZmlsdGVyczoge30gfSxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGxvYWRlZDogZmFsc2UsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcihcbiAgc3RhdGUgPSBpbml0aWFsU3RhdGUsXG4gIGFjdGlvbjogZnJvbUFubm90YXRpb25zLkFubm90YXRpb25zQWN0aW9uc1xuKTogQW5ub3RhdGlvblNldFN0YXRlIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVDoge1xuICAgICAgY29uc3QgYW5ub3RhdGlvblNldCA9IHtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblNldCxcbiAgICAgICAgZG9jdW1lbnRJZDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgICAgIGFubm90YXRpb25TZXQsXG4gICAgICAgIGxvYWRpbmc6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkxPQURfQU5OT1RBVElPTl9TRVRfU1VDQ0VTUzpcbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUX0ZBSUw6IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb25TZXQgPSBhY3Rpb24ucGF5bG9hZC5zdGF0dXMgPT09IDIwMCA/IGFjdGlvbi5wYXlsb2FkLmJvZHkgOlxuICAgICAgICB7XG4gICAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblNldCxcbiAgICAgICAgICBhbm5vdGF0aW9uczogW10sXG4gICAgICAgICAgaWQ6IHV1aWQoKVxuICAgICAgICB9O1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUFubm90YXRpb25FbnRpdGllcyhhbm5vdGF0aW9uU2V0LmFubm90YXRpb25zKTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdGF0aW9uU2V0LmFubm90YXRpb25zLCAncGFnZScpO1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUNvbW1lbnRzRW50aXRpZXMoYW5ub3RhdGlvblNldC5hbm5vdGF0aW9ucyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYW5ub3RhdGlvblNldCxcbiAgICAgICAgYW5ub3RhdGlvbkVudGl0aWVzLFxuICAgICAgICBhbm5vdGF0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0FWRV9BTk5PVEFUSU9OX1NFVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBhbm5vID0gYWN0aW9uLnBheWxvYWQuYW5ub3RhdGlvbnM7XG4gICAgICBjb25zdCBhbm5FbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvbkVudGl0aWVzLFxuICAgICAgICAuLi5hbm5vXG4gICAgICB9O1xuICAgICAgY29uc3QgYW5ub3RBcnJheSA9IE9iamVjdC5rZXlzKGFubkVudGl0aWVzKS5tYXAoa2V5ID0+IGFubkVudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUFubm90YXRpb25FbnRpdGllcyhhbm5vdEFycmF5KTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdEFycmF5LCAncGFnZScpO1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUNvbW1lbnRzRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBzZWxlY3RlZEFubm90YXRpb24gPSB7XG4gICAgICAgIC4uLnN0YXRlLnNlbGVjdGVkQW5ub3RhdGlvbixcbiAgICAgICAgLi4uYW5ubyxcbiAgICAgICAgZWRpdGFibGU6IGZhbHNlXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgY29tbWVudEVudGl0aWVzLFxuICAgICAgICBzZWxlY3RlZEFubm90YXRpb24sXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG5cbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5TQVZFX0FOTk9UQVRJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYW5ubyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgYW5uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgW2Fubm8uaWRdOiBhbm5vXG4gICAgICB9O1xuICAgICAgY29uc3QgYW5ub3RBcnJheSA9IE9iamVjdC5rZXlzKGFubkVudGl0aWVzKS5tYXAoa2V5ID0+IGFubkVudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUFubm90YXRpb25FbnRpdGllcyhhbm5vdEFycmF5KTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdEFycmF5LCAncGFnZScpO1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUNvbW1lbnRzRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBzZWxlY3RlZEFubm90YXRpb24gPSB7XG4gICAgICAgIC4uLnN0YXRlLnNlbGVjdGVkQW5ub3RhdGlvbixcbiAgICAgICAgYW5ub3RhdGlvbklkOiBhbm5vLmlkLFxuICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYW5ub3RhdGlvbkVudGl0aWVzLFxuICAgICAgICBhbm5vdGF0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIHNlbGVjdGVkQW5ub3RhdGlvbixcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGxvYWRlZDogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5ERUxFVEVfQU5OT1RBVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBpZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgcGFnZSA9IHN0YXRlLmFubm90YXRpb25FbnRpdGllc1tpZF0ucGFnZTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvbkVudGl0aWVzXG4gICAgICB9O1xuICAgICAgZGVsZXRlIGFubm90YXRpb25FbnRpdGllc1tpZF07XG4gICAgICBjb25zdCBwYWdlQW5ub3RhdGlvbnNSZW1vdmVkID0gW1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uUGFnZUVudGl0aWVzW3BhZ2VdLmZpbHRlcihhbm5vID0+IGFubm8uaWQgIT09IGlkKVxuICAgICAgXTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25QYWdlRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIFtwYWdlXTogcGFnZUFubm90YXRpb25zUmVtb3ZlZFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuY29tbWVudEVudGl0aWVzXG4gICAgICB9O1xuICAgICAgaWYgKHN0YXRlLmNvbW1lbnRFbnRpdGllc1tpZF0pIHtcbiAgICAgICAgZGVsZXRlIGNvbW1lbnRFbnRpdGllc1tpZF07XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYW5ub3RhdGlvbkVudGl0aWVzLFxuICAgICAgICBhbm5vdGF0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICBjb21tZW50RW50aXRpZXNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuQUREX09SX0VESVRfQ09NTUVOVDoge1xuICAgICAgY29uc3QgY29tbWVudCA9IHtcbiAgICAgICAgW2FjdGlvbi5wYXlsb2FkLmFubm90YXRpb25JZF06IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgICAgY29uc3QgY29tbWVudHMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgLi4uY29tbWVudFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXM6IGNvbW1lbnRzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLlNFTEVDVF9BTk5PVEFUSU9OOiB7XG4gICAgICBjb25zdCBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBjb21tZW50RW50aXR5ID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50RW50aXRpZXNbcGF5bG9hZC5hbm5vdGF0aW9uSWRdLFxuICAgICAgICBlZGl0YWJsZTogcGF5bG9hZC5lZGl0YWJsZSxcbiAgICAgICAgc2VsZWN0ZWQ6IHBheWxvYWQuc2VsZWN0ZWRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc2V0Q29tbWVudEVudFNlbGVjdCA9IFN0b3JlVXRpbHMucmVzZXRDb21tZW50RW50U2VsZWN0KHsgLi4uc3RhdGUuY29tbWVudEVudGl0aWVzIH0pO1xuXG4gICAgICBjb25zdCBjb21tZW50RW50aXRpZXMgPSBwYXlsb2FkLmFubm90YXRpb25JZCAmJiBzdGF0ZS5jb21tZW50RW50aXRpZXNbcGF5bG9hZC5hbm5vdGF0aW9uSWRdID8ge1xuICAgICAgICAuLi5yZXNldENvbW1lbnRFbnRTZWxlY3QsXG4gICAgICAgIFtwYXlsb2FkLmFubm90YXRpb25JZF06IGNvbW1lbnRFbnRpdHlcbiAgICAgIH0gOiB7IC4uLnJlc2V0Q29tbWVudEVudFNlbGVjdCB9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29tbWVudEVudGl0aWVzLFxuICAgICAgICBzZWxlY3RlZEFubm90YXRpb246IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLlNFQVJDSF9DT01NRU5UOiB7XG4gICAgICBjb25zdCBjb21tZW50U2VhcmNoUXVlcmllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuY29tbWVudFNlYXJjaFF1ZXJpZXMsXG4gICAgICAgIGNvbW1lbnRTZWFyY2g6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBjb21tZW50RW50aXRpZXMgPSBTdG9yZVV0aWxzLnJlc2V0Q29tbWVudEVudFNlbGVjdCh7IC4uLnN0YXRlLmNvbW1lbnRFbnRpdGllcyB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRTZWFyY2hRdWVyaWVzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkFQUExZX0NPTU1FTlRfU1VNTUFSWV9GSUxURVI6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGhhc1RhZ0ZpbHRlciA9ICgpID0+IHtcbiAgICAgICAgbGV0IGlzRmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHBheWxvYWQudGFnRmlsdGVycykge1xuICAgICAgICAgIE9iamVjdC5rZXlzKHBheWxvYWQudGFnRmlsdGVycykubWFwKGZpbHRlciA9PiB7XG4gICAgICAgICAgICBpZiAocGF5bG9hZC50YWdGaWx0ZXJzW2ZpbHRlcl0gJiYgIWlzRmlsdGVyZWQpIHtcbiAgICAgICAgICAgICAgaXNGaWx0ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzRmlsdGVyZWQ7XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFzRmlsdGVyID0gKGhhc1RhZ0ZpbHRlcigpIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VGcm9tIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VUbyk7XG4gICAgICBjb25zdCBjb21tZW50U3VtbWFyeUZpbHRlcnMgPSB7XG4gICAgICAgIGhhc0ZpbHRlcixcbiAgICAgICAgZmlsdGVyczogcGF5bG9hZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IGNvbW1lbnRTdW1tYXJ5RmlsdGVyc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5DTEVBUl9DT01NRU5UX1NVTU1BUllfRklMVEVSOiB7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IHsgLi4uaW5pdGlhbFN0YXRlLmNvbW1lbnRTdW1tYXJ5RmlsdGVycyB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0QW5ub1NldCA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5hbm5vdGF0aW9uU2V0O1xuZXhwb3J0IGNvbnN0IGdldENvbW1lbnRFbnRzID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmNvbW1lbnRFbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRBbm5vUGFnZUVudCA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5hbm5vdGF0aW9uUGFnZUVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEFubm9FbnQgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuYW5ub3RhdGlvbkVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkQW5ubyA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFubm90YXRpb247XG5leHBvcnQgY29uc3QgY29tbWVudFNlYXJjaFEgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuY29tbWVudFNlYXJjaFF1ZXJpZXM7XG5leHBvcnQgY29uc3QgZ2V0U3VtbWFyeUZpbHRlcnMgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuY29tbWVudFN1bW1hcnlGaWx0ZXJzO1xuIl19
|
|
@@ -3,7 +3,7 @@ import { Component, HostListener, ViewChild } from '@angular/core';
|
|
|
3
3
|
import { select } from '@ngrx/store';
|
|
4
4
|
import * as fromDocument from '../../store/selectors/document.selectors';
|
|
5
5
|
import * as fromRedactionActions from '../../store/actions/redaction.actions';
|
|
6
|
-
import uuid from 'uuid';
|
|
6
|
+
import { v4 as uuid } from 'uuid';
|
|
7
7
|
import { some } from 'lodash';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@ngrx/store";
|
|
@@ -233,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
233
233
|
type: HostListener,
|
|
234
234
|
args: ['window:keydown', ['$event']]
|
|
235
235
|
}] } });
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLXNlYXJjaC1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi90b29sYmFyL3JlZGFjdGlvbi1zZWFyY2gtYmFyL3JlZGFjdGlvbi1zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBa0MsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFeEYsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRyxPQUFPLEVBQVMsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE9BQU8sS0FBSyxZQUFZLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxLQUFLLG9CQUFvQixNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7QUFPOUIsTUFBTSxPQUFPLDJCQUEyQjtJQThCdEMsWUFDVSxLQUE2QixFQUNyQixjQUE4QyxFQUM5QyxhQUFrQyxFQUNsQyxnQkFBd0M7UUFIaEQsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQWdDO1FBQzlDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBOUIxRCxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FB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QnVsa1JlZGFjdGlvbiwgUmVkYWN0aW9uIH0gZnJvbSAnLi8uLi8uLi9yZWRhY3Rpb24vc2VydmljZXMvcmVkYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IFNlYXJjaE1vZGUsIFNlYXJjaFJlc3VsdHNDb3VudCwgU2VhcmNoVHlwZSB9IGZyb20gJy4vLi4vdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZGFjdGlvblNlYXJjaCwgUmVkYWN0UmVjdGFuZ2xlIH0gZnJvbSAnLi9yZWRhY3Rpb24tc2VhcmNoLm1vZGVsJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlLCBzZWxlY3QgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi4vLi4vc3RvcmUvcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50IGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdGlvbkFjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9yZWRhY3Rpb24uYWN0aW9ucyc7XG5pbXBvcnQgdXVpZCBmcm9tICd1dWlkJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBzb21lIH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtcmVkYWN0aW9uLXNlYXJjaC1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVkYWN0aW9uLXNlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWRhY3Rpb24tc2VhcmNoLWJhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlZGFjdGlvblNlYXJjaEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKCdmaW5kSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaW5kSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgaGlnaGxpZ2h0QWxsID0gdHJ1ZTtcbiAgbWF0Y2hDYXNlID0gZmFsc2U7XG4gIHdob2xlV29yZCA9IGZhbHNlO1xuICByZXN1bHRzVGV4dCA9ICcnO1xuICBzZWFyY2hUZXh0ID0gJyc7XG4gIHJlc3VsdENvdW50ID0gMDtcbiAgcmVkYWN0RWxlbWVudHM6IFJlZGFjdFJlY3RhbmdsZVtdID0gW107XG4gIHBhZ2VIZWlnaHQ6IG51bWJlcjtcbiAgcGFnZVdpZHRoOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgcm90YXRlOiBudW1iZXI7XG4gIGFsbFBhZ2VzOiBvYmplY3Q7XG4gIHJlZGFjdEFsbDogYm9vbGVhbjtcbiAgb3BlblNlYXJjaE1vZGFsOiBib29sZWFuO1xuICByZWRhY3RBbGxJblByb2dyZXNzOiBib29sZWFuO1xuICByZWRhY3RBbGxUZXh0Pzogc3RyaW5nO1xuICBzZWFyY2hUeXBlOiBTZWFyY2hUeXBlO1xuICBpblByb2dyZXNzVGV4dDogc3RyaW5nO1xuICB0aXRsZVRleHQ6IHN0cmluZztcblxuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgYWR2YW5jZWRTZWFyY2hWaXNpYmxlID0gZmFsc2U7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuU3RhdGU+LFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25TZXJhY2hTdWJqZWN0LnN1YnNjcmliZSgocmVzdWx0czogUmVkYWN0aW9uU2VhcmNoKSA9PiB0aGlzLnJlZGFjdEFsbFNlYXJjaGVkKHJlc3VsdHMpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0RG9jdW1lbnRJZCkpLnN1YnNjcmliZShkb2NJZCA9PiB0aGlzLmRvY3VtZW50SWQgPSBkb2NJZCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudC5nZXRQYWdlcykpLnN1YnNjcmliZSgocGFnZXMpID0+IHtcbiAgICAgIGlmIChwYWdlc1sxXSkge1xuICAgICAgICB0aGlzLmFsbFBhZ2VzID0gcGFnZXM7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hSZXN1bHRzQ291bnRTdWJqZWN0LnN1YnNjcmliZShyZXN1bHRzID0+IHRoaXMuc2V0U2VhcmNoUmVzdWx0c0NvdW50KHJlc3VsdHMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5vcGVuUmVkYWN0aW9uU2VhcmNoLnN1YnNjcmliZSgoc2VhcmNoTW9kZTogU2VhcmNoTW9kZSkgPT4ge1xuICAgICAgaWYgKHNlYXJjaE1vZGUpIHtcbiAgICAgICAgdGhpcy5vcGVuU2VhcmNoTW9kYWwgPSBzZWFyY2hNb2RlLmlzT3BlbjtcbiAgICAgICAgdGhpcy5zZWFyY2hUeXBlID0gc2VhcmNoTW9kZS5tb2RlVHlwZTtcbiAgICAgICAgdGhpcy5tb2RlVGV4dCgpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdEFsbEluUHJvZ3Jlc3NTdWJqZWN0XG4gICAgICAuc3Vic2NyaWJlKGluUHJvZ3Jlc3MgPT4gdGhpcy5yZWRhY3RBbGxJblByb2dyZXNzID0gaW5Qcm9ncmVzcykpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93S2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGUuY29kZSA9PT0gJ0YzJyB8fCAoZS5jdHJsS2V5ICYmIGUuY29kZSA9PT0gJ0tleUYnKSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KGZhbHNlKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maW5kSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpLCAyMDApO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaChyZXNldDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnJlZGFjdEFsbCA9ICFyZXNldDtcbiAgICBpZiAodGhpcy5yZWRhY3RBbGwpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3RBbGxJblByb2dyZXNzU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH1cbiAgICBpZiAocmVzZXQpIHtcbiAgICAgIHRoaXMucmVkYWN0RWxlbWVudHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaCh7XG4gICAgICBzZWFyY2hUZXJtOiB0aGlzLnNlYXJjaFRleHQsXG4gICAgICBoaWdobGlnaHRBbGw6IHRoaXMuaGlnaGxpZ2h0QWxsLFxuICAgICAgbWF0Y2hDYXNlOiB0aGlzLm1hdGNoQ2FzZSxcbiAgICAgIHdob2xlV29yZDogdGhpcy53aG9sZVdvcmQsXG4gICAgICBwcmV2aW91czogZmFsc2UsXG4gICAgICByZXNldFxuICAgIH0pO1xuICB9XG5cbiAgbW9kZVRleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VhcmNoVHlwZSA9PT0gU2VhcmNoVHlwZS5IaWdobGlnaHQpIHtcbiAgICAgIHRoaXMuaW5Qcm9ncmVzc1RleHQgPSAnSGlnaGxpZ2h0aW5nJztcbiAgICAgIHRoaXMudGl0bGVUZXh0ID0gJ0hpZ2hsaWdodCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IFNlYXJjaFR5cGUuUmVkYWN0KSB7XG4gICAgICB0aGlzLmluUHJvZ3Jlc3NUZXh0ID0gJ1JlZGFjdGluZyc7XG4gICAgICB0aGlzLnRpdGxlVGV4dCA9ICdSZWRhY3QnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2F2ZVJlZGFjdGlvbihyZWRhY3RSZWN0YW5nbGU6IFJlZGFjdFJlY3RhbmdsZVtdKSB7XG4gICAgY29uc3QgcmVkYWN0aW9uID0gcmVkYWN0UmVjdGFuZ2xlLm1hcChlbGUgPT4ge1xuICAgICAgcmV0dXJuIHsgcGFnZTogZWxlLnBhZ2UsIHJlY3RhbmdsZXM6IGVsZS5yZWN0YW5nbGVzLCByZWRhY3Rpb25JZDogdXVpZCgpLCBkb2N1bWVudElkOiB0aGlzLmRvY3VtZW50SWQgfSBhcyBSZWRhY3Rpb247XG4gICAgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVJlZGFjdGlvbkFjdGlvbnMuU2F2ZUJ1bGtSZWRhY3Rpb24oeyBzZWFyY2hSZWRhY3Rpb25zOiByZWRhY3Rpb24gfSBhcyBCdWxrUmVkYWN0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGV4aXN0SW5SZWRhY3RFbGVtZW50cyhwYWdlTnVtYmVyOiBudW1iZXIsIG1hdGVjaGVkSW5kZXg6IG51bWJlciwgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW10pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5yZWRhY3RFbGVtZW50cyAmJiB0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhZ2VzRm91bmQgPSB0aGlzLnJlZGFjdEVsZW1lbnRzLmZpbmQocmUgPT4gcmUucGFnZSA9PT0gcGFnZU51bWJlciAmJiByZS5tYXRjaGVkSW5kZXggPT09IG1hdGVjaGVkSW5kZXgpO1xuICAgICAgY29uc3QgcGFnZVJlY3RhbmdsZXMgPSBwYWdlc0ZvdW5kPy5yZWN0YW5nbGVzO1xuICAgICAgaWYgKCFwYWdlUmVjdGFuZ2xlcyB8fCBwYWdlUmVjdGFuZ2xlcy5sZW5ndGggPD0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBsZXQgbWF0Y2hlc1JlY3RhbmdsZXMgPSAwO1xuICAgICAgZm9yIChsZXQgcmVjdEluZHggPSAwOyByZWN0SW5keCA8IHBhZ2VSZWN0YW5nbGVzLmxlbmd0aDsgcmVjdEluZHgrKykge1xuICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBwYWdlUmVjdGFuZ2xlc1tyZWN0SW5keF07XG4gICAgICAgIGNvbnN0IGZvdW5kUmVjdGFuZ2xlID0gcmVjdGFuZ2xlcy5maW5kKHJlID0+IHJlLndpZHRoID09PSByZWN0YW5nbGUud2lkdGggJiZcbiAgICAgICAgICByZS5oZWlnaHQgPT09IHJlY3RhbmdsZS5oZWlnaHQgJiYgcmUueCA9PT0gcmVjdGFuZ2xlLnggJiYgcmUueSA9PT0gcmVjdGFuZ2xlLnkpO1xuICAgICAgICBpZiAoZm91bmRSZWN0YW5nbGUpIHtcbiAgICAgICAgICBtYXRjaGVzUmVjdGFuZ2xlcysrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcGFnZVJlY3RhbmdsZXMubGVuZ3RoID09PSBtYXRjaGVzUmVjdGFuZ2xlcztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25DbG9zZVNlYXJjaE1vZGFsKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5vcGVuUmVkYWN0aW9uU2VhcmNoLm5leHQoeyBpc09wZW46IGZhbHNlLCBtb2RlVHlwZTogdGhpcy5zZWFyY2hUeXBlIH0pO1xuICB9XG5cblxuICBwcml2YXRlIHNldFNlYXJjaFJlc3VsdHNDb3VudChyZXN1bHRzOiBTZWFyY2hSZXN1bHRzQ291bnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdENvdW50ID0gcmVzdWx0cy50b3RhbDtcbiAgICB0aGlzLnJlc3VsdHNUZXh0ID0gdGhpcy5yZXN1bHRDb3VudCA+IDBcbiAgICAgID8gYCR7cmVzdWx0cy50b3RhbH0gcmVzdWx0cyBmb3VuZHNgXG4gICAgICA6ICdObyByZXN1bHRzIGZvdW5kJztcbiAgfVxuXG4gIHByaXZhdGUgcmVkYWN0QWxsU2VhcmNoZWQocmVzdWx0czogUmVkYWN0aW9uU2VhcmNoKTogdm9pZCB7XG4gICAgY29uc3QgJHRoaXMgPSB0aGlzO1xuICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBjb25zdCBoaWdobGlnaHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGlnaGxpZ2h0IHNlbGVjdGVkJyk7XG4gICAgICBpZiAoaGlnaGxpZ2h0RWxlbWVudCAmJiBoaWdobGlnaHRFbGVtZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICAgICAgJHRoaXMucmVkYWN0QWxsU2VhcmNoZWRUaWNrKHJlc3VsdHMpO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH1cblxuXG4gIHByaXZhdGUgcmVkYWN0QWxsU2VhcmNoZWRUaWNrKHJlc3VsdHM6IFJlZGFjdGlvblNlYXJjaCk6IHZvaWQge1xuICAgIGNvbnN0IGhpZ2hsaWdodEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoaWdobGlnaHQgc2VsZWN0ZWQnKTtcbiAgICBpZiAoaGlnaGxpZ2h0RWxlbWVudCAmJiBoaWdobGlnaHRFbGVtZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmVzdWx0Q291bnQgPSByZXN1bHRzLm1hdGNoZXNDb3VudDtcbiAgICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSByZXN1bHRzLnBhZ2UgKyAxO1xuICAgICAgY29uc3QgcmVjdGFuZ2xlcyA9IHRoaXMuZ2V0UmVjdGFuZ2xlcyhwYWdlTnVtYmVyKTtcbiAgICAgIGlmIChyZWN0YW5nbGVzICYmIHRoaXMucmVkYWN0RWxlbWVudHMubGVuZ3RoIDw9IHRoaXMucmVzdWx0Q291bnRcbiAgICAgICAgJiYgIXRoaXMuZXhpc3RJblJlZGFjdEVsZW1lbnRzKHBhZ2VOdW1iZXIsIHJlc3VsdHMubWF0Y2hlZEluZGV4LCByZWN0YW5nbGVzKSkge1xuICAgICAgICB0aGlzLnJlZGFjdEVsZW1lbnRzLnB1c2goeyBwYWdlOiBwYWdlTnVtYmVyLCBtYXRjaGVkSW5kZXg6IHJlc3VsdHM/Lm1hdGNoZWRJbmRleCwgcmVjdGFuZ2xlcyB9IGFzIFJlZGFjdFJlY3RhbmdsZSk7XG4gICAgICAgIHRoaXMuQ3JlYXRlUmVkYWN0QWxsVGV4dCgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucmVkYWN0QWxsICYmIHRoaXMucmVzdWx0Q291bnQgJiYgdGhpcy5yZXN1bHRDb3VudCA+IDBcbiAgICAgICAgJiYgcmVjdGFuZ2xlcyAmJiB0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aCA8IHRoaXMucmVzdWx0Q291bnQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2goZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5yZWRhY3RBbGwgJiYgdGhpcy5yZXN1bHRDb3VudCAmJiB0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aCA9PT0gdGhpcy5yZXN1bHRDb3VudCkge1xuICAgICAgICB0aGlzLnJlZGFjdEFsbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlZGFjdEFsbFRleHQgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBTZWFyY2hUeXBlLlJlZGFjdCkge1xuICAgICAgICAgIHRoaXMuc2F2ZVJlZGFjdGlvbih0aGlzLnJlZGFjdEVsZW1lbnRzKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IFNlYXJjaFR5cGUuSGlnaGxpZ2h0KSB7XG4gICAgICAgICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNhdmVBbm5vdGF0aW9uU2V0KHRoaXMucmVkYWN0RWxlbWVudHMpO1xuICAgICAgICAgIHRoaXMuY2xlYW5VcFBvc3RTYXZlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsZWFuVXBQb3N0U2F2ZSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVkYWN0QWxsSW5Qcm9ncmVzc1N1YmplY3QubmV4dChmYWxzZSk7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHByaXZhdGUgQ3JlYXRlUmVkYWN0QWxsVGV4dCgpIHtcbiAgICB0aGlzLnJlZGFjdEFsbFRleHQgPSBgJHt0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aH0gb2YgJHt0aGlzLnJlc3VsdENvdW50fWA7XG4gIH1cblxuICBwdWJsaWMgb25Fc2NhcGVLZXlQcmVzcyhlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uRW50ZXJLZXlQcmVzcyhlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2hCYXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KCF0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoQmFySGlkZGVuLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWN0YW5nbGVzKHBhZ2U6IG51bWJlcik6IFJlY3RhbmdsZVtdIHtcbiAgICB0aGlzLnBhZ2VIZWlnaHQgPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy5oZWlnaHQ7XG4gICAgdGhpcy5wYWdlV2lkdGggPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy53aWR0aDtcbiAgICB0aGlzLnpvb20gPSBwYXJzZUZsb2F0KHRoaXMuYWxsUGFnZXNbcGFnZV0uc2NhbGVSb3RhdGlvbi5zY2FsZSk7XG4gICAgdGhpcy5yb3RhdGUgPSBwYXJzZUludCh0aGlzLmFsbFBhZ2VzW3BhZ2VdLnNjYWxlUm90YXRpb24ucm90YXRpb24sIDEwKTtcbiAgICBjb25zdCBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoaWdobGlnaHQgc2VsZWN0ZWQnKTtcbiAgICBpZiAoc2VsZWN0ZWRIaWdoTGlnaHRlZEVsZW1lbnRzICYmIHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkb2NSYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICBpZiAoc29tZShzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHMsIGVsZW1lbnQgPT4gZWxlbWVudC5jbGFzc05hbWUgPT09ICdoaWdobGlnaHQgYmVnaW4gc2VsZWN0ZWQnIHx8IGVsZW1lbnQuY2xhc3NOYW1lID09PSAnaGlnaGxpZ2h0IGVuZCBzZWxlY3RlZCcpKSB7XG4gICAgICAgIGRvY1JhbmdlLnNldFN0YXJ0KHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50c1swXSwgMCk7XG4gICAgICAgIGNvbnN0IGVuZE5vZGUgPSBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHNbc2VsZWN0ZWRIaWdoTGlnaHRlZEVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICBkb2NSYW5nZS5zZXRFbmQoZW5kTm9kZSwgZW5kTm9kZS5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgZG9jUmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50c1swXSBhcyBIVE1MRWxlbWVudCk7XG4gICAgICB9XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICBzZWxlY3Rpb24/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgc2VsZWN0aW9uPy5hZGRSYW5nZShkb2NSYW5nZSk7XG4gICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgJiYgIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCkge1xuICAgICAgICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmNsb25lUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgY2xpZW50UmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpO1xuXG4gICAgICAgIGlmIChjbGllbnRSZWN0cykge1xuICAgICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHNbMF0ucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGlvblJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdID0gW107XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGllbnRSZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmVjdGFuZ2xlID0gdGhpcy5jcmVhdGVUZXh0UmVjdGFuZ2xlKGNsaWVudFJlY3RzW2ldLCBwYXJlbnRSZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlID0gc2VsZWN0aW9uUmVjdGFuZ2xlcy5maW5kKFxuICAgICAgICAgICAgICAocmVjdCkgPT4gcmVjdC53aWR0aCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLndpZHRoICYmIHJlY3QueCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLnhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIWZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvblJlY3RhbmdsZXMucHVzaChzZWxlY3Rpb25SZWN0YW5nbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBzZWxlY3Rpb25SZWN0YW5nbGVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUZXh0UmVjdGFuZ2xlKHJlY3Q6IERPTVJlY3QsIHBhcmVudFJlY3Q6IGFueSk6IFJlY3RhbmdsZSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcDtcbiAgICBjb25zdCB3aWR0aCA9IHJlY3QucmlnaHQgLSByZWN0LmxlZnQ7XG4gICAgY29uc3QgdG9wID0gcmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcDtcbiAgICBjb25zdCBsZWZ0ID0gcmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0O1xuXG4gICAgbGV0IHJlY3RhbmdsZSA9IHRoaXMuaGlnaGxpZ2h0U2VydmljZS5hcHBseVJvdGF0aW9uKFxuICAgICAgdGhpcy5wYWdlSGVpZ2h0LFxuICAgICAgdGhpcy5wYWdlV2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICB3aWR0aCxcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICB0aGlzLnJvdGF0ZSxcbiAgICAgIHRoaXMuem9vbVxuICAgICk7XG4gICAgcmVjdGFuZ2xlID0geyBpZDogdXVpZCgpLCAuLi5yZWN0YW5nbGUgfTtcblxuICAgIHJldHVybiByZWN0YW5nbGUgYXMgUmVjdGFuZ2xlO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwib3BlblNlYXJjaE1vZGFsXCJcbiAgY2xhc3M9XCJzZWFyY2hiYXIgcmVkYWN0aW9uLXNlYXJjaC1iYXIgZ292dWstIS1wYWRkaW5nLTNcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctcmlnaHQtMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlZGFjdGlvbi1zZWFyY2gtYnV0dG9ucy1hcmVhXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBpZD1cIm12Q2xvc2VCdG5cIlxuICAgICAgICAgICNtdkNsb3NlQnRuXG4gICAgICAgICAgY2xhc3M9XCJtdi1idXR0b24gc2VhcmNoYmFyLWJ1dHRvbi0tY2xvc2VcIlxuICAgICAgICAgIHRpdGxlPVwiQ2xvc2UgU2VhcmNoXCJcbiAgICAgICAgICBkYXRhLWwxMG4taWQ9XCJtdlJlZGFjdEJ0blwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VTZWFyY2hNb2RhbCgpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXRcbiAgICAgICAgaWQ9XCJzZWFyY2hfaW5wdXRcIlxuICAgICAgICBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtdGhyZWUtcXVhcnRlcnMgZ292dWstIS1kaXNwbGF5LWlubGluZS1ibG9jayBnb3Z1ay0hLW1hcmdpbi10b3AtNVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlZGFjdCBmcm9tIHNlYXJjaFwiXG4gICAgICAgICNmaW5kSW5wdXRcbiAgICAgICAgdGl0bGU9XCJSZWRhY3QgZnJvbSBzZWFyY2hcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHRpdGxlVGV4dCArICcgZnJvbSBzZWFyY2guLi4nIHwgcnB4VHJhbnNsYXRlIH19XCJcbiAgICAgICAgZGF0YS1sMTBuLWlkPVwic2VhcmNoX2lucHV0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXJLZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVkYWN0aW9uLXNlYXJjaC1idXR0b25zLWFyZWFcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGlkPVwibXZTZWFyY2hBbGxCdG5cIlxuICAgICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCJcbiAgICAgICAgICBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlYXJjaCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwicmVkYWN0QWxsSW5Qcm9ncmVzc1wiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBcIlNlYXJjaFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgaWQ9XCJtdlJlZGFjdEFsbEJ0blwiXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstIS1tYXJnaW4tbGVmdC0yIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCJcbiAgICAgICAgICBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlYXJjaChmYWxzZSlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWRhY3RBbGxJblByb2dyZXNzIHx8IHJlc3VsdENvdW50IDw9IDBcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdGl0bGVUZXh0ICsgXCIgYWxsXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10aHJlZS1xdWFydGVycyBnb3Z1ay0hLXBhZGRpbmctbGVmdC0wIGdvdnVrLSEtcGFkZGluZy10b3AtMiByZWRhY3Rpb24tc3RhdHVzLXRleHRcIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGlkPVwiZmluZFJlZGFjdFJlc3VsdHNDb3VudFwiXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTQgZ292dWstIS1tYXJnaW4tbGVmdC0wIGdvdnVrLSEtcGFkZGluZy1sZWZ0LTBcIlxuICAgICAgICAgID48aDRcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstIS1kaXNwbGF5LWlubGluZS1ibG9jayBnb3Z1ay0hLW1hcmdpbi10b3AtMCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMVwiXG4gICAgICAgICAgICAqbmdJZj1cInJlZGFjdEFsbEluUHJvZ3Jlc3NcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGluUHJvZ3Jlc3NUZXh0ICsgXCIgaW4gcHJvZ3Jlc3NcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAge3sgcmVkYWN0QWxsSW5Qcm9ncmVzcyA/IFwiXCIgOiByZXN1bHRzVGV4dCB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIDxoNVxuICAgICAgICAgICAgaWQ9XCJyZWRhY3RBbGxJblByb2dyZXNzQ291bnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay0hLWRpc3BsYXktaW5saW5lLWJsb2NrIGdvdnVrLSEtbWFyZ2luLXRvcC0wIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0xXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyByZWRhY3RBbGxJblByb2dyZXNzID8gcmVkYWN0QWxsVGV4dCA6IFwiXCIgfX1cbiAgICAgICAgICA8L2g1PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLXNlYXJjaC1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi90b29sYmFyL3JlZGFjdGlvbi1zZWFyY2gtYmFyL3JlZGFjdGlvbi1zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBa0MsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFeEYsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRyxPQUFPLEVBQVMsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE9BQU8sS0FBSyxZQUFZLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxLQUFLLG9CQUFvQixNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7OztBQU85QixNQUFNLE9BQU8sMkJBQTJCO0lBOEJ0QyxZQUNVLEtBQTZCLEVBQ3JCLGNBQThDLEVBQzlDLGFBQWtDLEVBQ2xDLGdCQUF3QztRQUhoRCxVQUFLLEdBQUwsS0FBSyxDQUF3QjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0M7UUFDOUMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUE5QjFELGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFL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Q29udGVudCI6WyJpbXBvcnQgeyBCdWxrUmVkYWN0aW9uLCBSZWRhY3Rpb24gfSBmcm9tICcuLy4uLy4uL3JlZGFjdGlvbi9zZXJ2aWNlcy9yZWRhY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgU2VhcmNoTW9kZSwgU2VhcmNoUmVzdWx0c0NvdW50LCBTZWFyY2hUeXBlIH0gZnJvbSAnLi8uLi90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVkYWN0aW9uU2VhcmNoLCBSZWRhY3RSZWN0YW5nbGUgfSBmcm9tICcuL3JlZGFjdGlvbi1zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmUsIHNlbGVjdCB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBSZWN0YW5nbGUgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3JlY3RhbmdsZS5tb2RlbCc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tUmVkYWN0aW9uQWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL3JlZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBzb21lIH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtcmVkYWN0aW9uLXNlYXJjaC1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVkYWN0aW9uLXNlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWRhY3Rpb24tc2VhcmNoLWJhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlZGFjdGlvblNlYXJjaEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKCdmaW5kSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaW5kSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgaGlnaGxpZ2h0QWxsID0gdHJ1ZTtcbiAgbWF0Y2hDYXNlID0gZmFsc2U7XG4gIHdob2xlV29yZCA9IGZhbHNlO1xuICByZXN1bHRzVGV4dCA9ICcnO1xuICBzZWFyY2hUZXh0ID0gJyc7XG4gIHJlc3VsdENvdW50ID0gMDtcbiAgcmVkYWN0RWxlbWVudHM6IFJlZGFjdFJlY3RhbmdsZVtdID0gW107XG4gIHBhZ2VIZWlnaHQ6IG51bWJlcjtcbiAgcGFnZVdpZHRoOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgcm90YXRlOiBudW1iZXI7XG4gIGFsbFBhZ2VzOiBvYmplY3Q7XG4gIHJlZGFjdEFsbDogYm9vbGVhbjtcbiAgb3BlblNlYXJjaE1vZGFsOiBib29sZWFuO1xuICByZWRhY3RBbGxJblByb2dyZXNzOiBib29sZWFuO1xuICByZWRhY3RBbGxUZXh0Pzogc3RyaW5nO1xuICBzZWFyY2hUeXBlOiBTZWFyY2hUeXBlO1xuICBpblByb2dyZXNzVGV4dDogc3RyaW5nO1xuICB0aXRsZVRleHQ6IHN0cmluZztcblxuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgYWR2YW5jZWRTZWFyY2hWaXNpYmxlID0gZmFsc2U7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuU3RhdGU+LFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25TZXJhY2hTdWJqZWN0LnN1YnNjcmliZSgocmVzdWx0czogUmVkYWN0aW9uU2VhcmNoKSA9PiB0aGlzLnJlZGFjdEFsbFNlYXJjaGVkKHJlc3VsdHMpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0RG9jdW1lbnRJZCkpLnN1YnNjcmliZShkb2NJZCA9PiB0aGlzLmRvY3VtZW50SWQgPSBkb2NJZCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudC5nZXRQYWdlcykpLnN1YnNjcmliZSgocGFnZXMpID0+IHtcbiAgICAgIGlmIChwYWdlc1sxXSkge1xuICAgICAgICB0aGlzLmFsbFBhZ2VzID0gcGFnZXM7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hSZXN1bHRzQ291bnRTdWJqZWN0LnN1YnNjcmliZShyZXN1bHRzID0+IHRoaXMuc2V0U2VhcmNoUmVzdWx0c0NvdW50KHJlc3VsdHMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5vcGVuUmVkYWN0aW9uU2VhcmNoLnN1YnNjcmliZSgoc2VhcmNoTW9kZTogU2VhcmNoTW9kZSkgPT4ge1xuICAgICAgaWYgKHNlYXJjaE1vZGUpIHtcbiAgICAgICAgdGhpcy5vcGVuU2VhcmNoTW9kYWwgPSBzZWFyY2hNb2RlLmlzT3BlbjtcbiAgICAgICAgdGhpcy5zZWFyY2hUeXBlID0gc2VhcmNoTW9kZS5tb2RlVHlwZTtcbiAgICAgICAgdGhpcy5tb2RlVGV4dCgpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdEFsbEluUHJvZ3Jlc3NTdWJqZWN0XG4gICAgICAuc3Vic2NyaWJlKGluUHJvZ3Jlc3MgPT4gdGhpcy5yZWRhY3RBbGxJblByb2dyZXNzID0gaW5Qcm9ncmVzcykpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93S2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGUuY29kZSA9PT0gJ0YzJyB8fCAoZS5jdHJsS2V5ICYmIGUuY29kZSA9PT0gJ0tleUYnKSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KGZhbHNlKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maW5kSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpLCAyMDApO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaChyZXNldDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnJlZGFjdEFsbCA9ICFyZXNldDtcbiAgICBpZiAodGhpcy5yZWRhY3RBbGwpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3RBbGxJblByb2dyZXNzU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH1cbiAgICBpZiAocmVzZXQpIHtcbiAgICAgIHRoaXMucmVkYWN0RWxlbWVudHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaCh7XG4gICAgICBzZWFyY2hUZXJtOiB0aGlzLnNlYXJjaFRleHQsXG4gICAgICBoaWdobGlnaHRBbGw6IHRoaXMuaGlnaGxpZ2h0QWxsLFxuICAgICAgbWF0Y2hDYXNlOiB0aGlzLm1hdGNoQ2FzZSxcbiAgICAgIHdob2xlV29yZDogdGhpcy53aG9sZVdvcmQsXG4gICAgICBwcmV2aW91czogZmFsc2UsXG4gICAgICByZXNldFxuICAgIH0pO1xuICB9XG5cbiAgbW9kZVRleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VhcmNoVHlwZSA9PT0gU2VhcmNoVHlwZS5IaWdobGlnaHQpIHtcbiAgICAgIHRoaXMuaW5Qcm9ncmVzc1RleHQgPSAnSGlnaGxpZ2h0aW5nJztcbiAgICAgIHRoaXMudGl0bGVUZXh0ID0gJ0hpZ2hsaWdodCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IFNlYXJjaFR5cGUuUmVkYWN0KSB7XG4gICAgICB0aGlzLmluUHJvZ3Jlc3NUZXh0ID0gJ1JlZGFjdGluZyc7XG4gICAgICB0aGlzLnRpdGxlVGV4dCA9ICdSZWRhY3QnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2F2ZVJlZGFjdGlvbihyZWRhY3RSZWN0YW5nbGU6IFJlZGFjdFJlY3RhbmdsZVtdKSB7XG4gICAgY29uc3QgcmVkYWN0aW9uID0gcmVkYWN0UmVjdGFuZ2xlLm1hcChlbGUgPT4ge1xuICAgICAgcmV0dXJuIHsgcGFnZTogZWxlLnBhZ2UsIHJlY3RhbmdsZXM6IGVsZS5yZWN0YW5nbGVzLCByZWRhY3Rpb25JZDogdXVpZCgpLCBkb2N1bWVudElkOiB0aGlzLmRvY3VtZW50SWQgfSBhcyBSZWRhY3Rpb247XG4gICAgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVJlZGFjdGlvbkFjdGlvbnMuU2F2ZUJ1bGtSZWRhY3Rpb24oeyBzZWFyY2hSZWRhY3Rpb25zOiByZWRhY3Rpb24gfSBhcyBCdWxrUmVkYWN0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGV4aXN0SW5SZWRhY3RFbGVtZW50cyhwYWdlTnVtYmVyOiBudW1iZXIsIG1hdGVjaGVkSW5kZXg6IG51bWJlciwgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW10pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5yZWRhY3RFbGVtZW50cyAmJiB0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhZ2VzRm91bmQgPSB0aGlzLnJlZGFjdEVsZW1lbnRzLmZpbmQocmUgPT4gcmUucGFnZSA9PT0gcGFnZU51bWJlciAmJiByZS5tYXRjaGVkSW5kZXggPT09IG1hdGVjaGVkSW5kZXgpO1xuICAgICAgY29uc3QgcGFnZVJlY3RhbmdsZXMgPSBwYWdlc0ZvdW5kPy5yZWN0YW5nbGVzO1xuICAgICAgaWYgKCFwYWdlUmVjdGFuZ2xlcyB8fCBwYWdlUmVjdGFuZ2xlcy5sZW5ndGggPD0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBsZXQgbWF0Y2hlc1JlY3RhbmdsZXMgPSAwO1xuICAgICAgZm9yIChsZXQgcmVjdEluZHggPSAwOyByZWN0SW5keCA8IHBhZ2VSZWN0YW5nbGVzLmxlbmd0aDsgcmVjdEluZHgrKykge1xuICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBwYWdlUmVjdGFuZ2xlc1tyZWN0SW5keF07XG4gICAgICAgIGNvbnN0IGZvdW5kUmVjdGFuZ2xlID0gcmVjdGFuZ2xlcy5maW5kKHJlID0+IHJlLndpZHRoID09PSByZWN0YW5nbGUud2lkdGggJiZcbiAgICAgICAgICByZS5oZWlnaHQgPT09IHJlY3RhbmdsZS5oZWlnaHQgJiYgcmUueCA9PT0gcmVjdGFuZ2xlLnggJiYgcmUueSA9PT0gcmVjdGFuZ2xlLnkpO1xuICAgICAgICBpZiAoZm91bmRSZWN0YW5nbGUpIHtcbiAgICAgICAgICBtYXRjaGVzUmVjdGFuZ2xlcysrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcGFnZVJlY3RhbmdsZXMubGVuZ3RoID09PSBtYXRjaGVzUmVjdGFuZ2xlcztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25DbG9zZVNlYXJjaE1vZGFsKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5vcGVuUmVkYWN0aW9uU2VhcmNoLm5leHQoeyBpc09wZW46IGZhbHNlLCBtb2RlVHlwZTogdGhpcy5zZWFyY2hUeXBlIH0pO1xuICB9XG5cblxuICBwcml2YXRlIHNldFNlYXJjaFJlc3VsdHNDb3VudChyZXN1bHRzOiBTZWFyY2hSZXN1bHRzQ291bnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdENvdW50ID0gcmVzdWx0cy50b3RhbDtcbiAgICB0aGlzLnJlc3VsdHNUZXh0ID0gdGhpcy5yZXN1bHRDb3VudCA+IDBcbiAgICAgID8gYCR7cmVzdWx0cy50b3RhbH0gcmVzdWx0cyBmb3VuZHNgXG4gICAgICA6ICdObyByZXN1bHRzIGZvdW5kJztcbiAgfVxuXG4gIHByaXZhdGUgcmVkYWN0QWxsU2VhcmNoZWQocmVzdWx0czogUmVkYWN0aW9uU2VhcmNoKTogdm9pZCB7XG4gICAgY29uc3QgJHRoaXMgPSB0aGlzO1xuICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBjb25zdCBoaWdobGlnaHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGlnaGxpZ2h0IHNlbGVjdGVkJyk7XG4gICAgICBpZiAoaGlnaGxpZ2h0RWxlbWVudCAmJiBoaWdobGlnaHRFbGVtZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICAgICAgJHRoaXMucmVkYWN0QWxsU2VhcmNoZWRUaWNrKHJlc3VsdHMpO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH1cblxuXG4gIHByaXZhdGUgcmVkYWN0QWxsU2VhcmNoZWRUaWNrKHJlc3VsdHM6IFJlZGFjdGlvblNlYXJjaCk6IHZvaWQge1xuICAgIGNvbnN0IGhpZ2hsaWdodEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoaWdobGlnaHQgc2VsZWN0ZWQnKTtcbiAgICBpZiAoaGlnaGxpZ2h0RWxlbWVudCAmJiBoaWdobGlnaHRFbGVtZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmVzdWx0Q291bnQgPSByZXN1bHRzLm1hdGNoZXNDb3VudDtcbiAgICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSByZXN1bHRzLnBhZ2UgKyAxO1xuICAgICAgY29uc3QgcmVjdGFuZ2xlcyA9IHRoaXMuZ2V0UmVjdGFuZ2xlcyhwYWdlTnVtYmVyKTtcbiAgICAgIGlmIChyZWN0YW5nbGVzICYmIHRoaXMucmVkYWN0RWxlbWVudHMubGVuZ3RoIDw9IHRoaXMucmVzdWx0Q291bnRcbiAgICAgICAgJiYgIXRoaXMuZXhpc3RJblJlZGFjdEVsZW1lbnRzKHBhZ2VOdW1iZXIsIHJlc3VsdHMubWF0Y2hlZEluZGV4LCByZWN0YW5nbGVzKSkge1xuICAgICAgICB0aGlzLnJlZGFjdEVsZW1lbnRzLnB1c2goeyBwYWdlOiBwYWdlTnVtYmVyLCBtYXRjaGVkSW5kZXg6IHJlc3VsdHM/Lm1hdGNoZWRJbmRleCwgcmVjdGFuZ2xlcyB9IGFzIFJlZGFjdFJlY3RhbmdsZSk7XG4gICAgICAgIHRoaXMuQ3JlYXRlUmVkYWN0QWxsVGV4dCgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucmVkYWN0QWxsICYmIHRoaXMucmVzdWx0Q291bnQgJiYgdGhpcy5yZXN1bHRDb3VudCA+IDBcbiAgICAgICAgJiYgcmVjdGFuZ2xlcyAmJiB0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aCA8IHRoaXMucmVzdWx0Q291bnQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2goZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5yZWRhY3RBbGwgJiYgdGhpcy5yZXN1bHRDb3VudCAmJiB0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aCA9PT0gdGhpcy5yZXN1bHRDb3VudCkge1xuICAgICAgICB0aGlzLnJlZGFjdEFsbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlZGFjdEFsbFRleHQgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBTZWFyY2hUeXBlLlJlZGFjdCkge1xuICAgICAgICAgIHRoaXMuc2F2ZVJlZGFjdGlvbih0aGlzLnJlZGFjdEVsZW1lbnRzKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IFNlYXJjaFR5cGUuSGlnaGxpZ2h0KSB7XG4gICAgICAgICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNhdmVBbm5vdGF0aW9uU2V0KHRoaXMucmVkYWN0RWxlbWVudHMpO1xuICAgICAgICAgIHRoaXMuY2xlYW5VcFBvc3RTYXZlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsZWFuVXBQb3N0U2F2ZSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVkYWN0QWxsSW5Qcm9ncmVzc1N1YmplY3QubmV4dChmYWxzZSk7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHByaXZhdGUgQ3JlYXRlUmVkYWN0QWxsVGV4dCgpIHtcbiAgICB0aGlzLnJlZGFjdEFsbFRleHQgPSBgJHt0aGlzLnJlZGFjdEVsZW1lbnRzLmxlbmd0aH0gb2YgJHt0aGlzLnJlc3VsdENvdW50fWA7XG4gIH1cblxuICBwdWJsaWMgb25Fc2NhcGVLZXlQcmVzcyhlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uRW50ZXJLZXlQcmVzcyhlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2hCYXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KCF0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoQmFySGlkZGVuLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWN0YW5nbGVzKHBhZ2U6IG51bWJlcik6IFJlY3RhbmdsZVtdIHtcbiAgICB0aGlzLnBhZ2VIZWlnaHQgPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy5oZWlnaHQ7XG4gICAgdGhpcy5wYWdlV2lkdGggPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy53aWR0aDtcbiAgICB0aGlzLnpvb20gPSBwYXJzZUZsb2F0KHRoaXMuYWxsUGFnZXNbcGFnZV0uc2NhbGVSb3RhdGlvbi5zY2FsZSk7XG4gICAgdGhpcy5yb3RhdGUgPSBwYXJzZUludCh0aGlzLmFsbFBhZ2VzW3BhZ2VdLnNjYWxlUm90YXRpb24ucm90YXRpb24sIDEwKTtcbiAgICBjb25zdCBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoaWdobGlnaHQgc2VsZWN0ZWQnKTtcbiAgICBpZiAoc2VsZWN0ZWRIaWdoTGlnaHRlZEVsZW1lbnRzICYmIHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkb2NSYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICBpZiAoc29tZShzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHMsIGVsZW1lbnQgPT4gZWxlbWVudC5jbGFzc05hbWUgPT09ICdoaWdobGlnaHQgYmVnaW4gc2VsZWN0ZWQnIHx8IGVsZW1lbnQuY2xhc3NOYW1lID09PSAnaGlnaGxpZ2h0IGVuZCBzZWxlY3RlZCcpKSB7XG4gICAgICAgIGRvY1JhbmdlLnNldFN0YXJ0KHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50c1swXSwgMCk7XG4gICAgICAgIGNvbnN0IGVuZE5vZGUgPSBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHNbc2VsZWN0ZWRIaWdoTGlnaHRlZEVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICBkb2NSYW5nZS5zZXRFbmQoZW5kTm9kZSwgZW5kTm9kZS5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgZG9jUmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50c1swXSBhcyBIVE1MRWxlbWVudCk7XG4gICAgICB9XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICBzZWxlY3Rpb24/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgc2VsZWN0aW9uPy5hZGRSYW5nZShkb2NSYW5nZSk7XG4gICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgJiYgIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCkge1xuICAgICAgICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmNsb25lUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgY2xpZW50UmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpO1xuXG4gICAgICAgIGlmIChjbGllbnRSZWN0cykge1xuICAgICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHNbMF0ucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGlvblJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdID0gW107XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGllbnRSZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmVjdGFuZ2xlID0gdGhpcy5jcmVhdGVUZXh0UmVjdGFuZ2xlKGNsaWVudFJlY3RzW2ldLCBwYXJlbnRSZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlID0gc2VsZWN0aW9uUmVjdGFuZ2xlcy5maW5kKFxuICAgICAgICAgICAgICAocmVjdCkgPT4gcmVjdC53aWR0aCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLndpZHRoICYmIHJlY3QueCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLnhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIWZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvblJlY3RhbmdsZXMucHVzaChzZWxlY3Rpb25SZWN0YW5nbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBzZWxlY3Rpb25SZWN0YW5nbGVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUZXh0UmVjdGFuZ2xlKHJlY3Q6IERPTVJlY3QsIHBhcmVudFJlY3Q6IGFueSk6IFJlY3RhbmdsZSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcDtcbiAgICBjb25zdCB3aWR0aCA9IHJlY3QucmlnaHQgLSByZWN0LmxlZnQ7XG4gICAgY29uc3QgdG9wID0gcmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcDtcbiAgICBjb25zdCBsZWZ0ID0gcmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0O1xuXG4gICAgbGV0IHJlY3RhbmdsZSA9IHRoaXMuaGlnaGxpZ2h0U2VydmljZS5hcHBseVJvdGF0aW9uKFxuICAgICAgdGhpcy5wYWdlSGVpZ2h0LFxuICAgICAgdGhpcy5wYWdlV2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICB3aWR0aCxcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICB0aGlzLnJvdGF0ZSxcbiAgICAgIHRoaXMuem9vbVxuICAgICk7XG4gICAgcmVjdGFuZ2xlID0geyBpZDogdXVpZCgpLCAuLi5yZWN0YW5nbGUgfTtcblxuICAgIHJldHVybiByZWN0YW5nbGUgYXMgUmVjdGFuZ2xlO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwib3BlblNlYXJjaE1vZGFsXCJcbiAgY2xhc3M9XCJzZWFyY2hiYXIgcmVkYWN0aW9uLXNlYXJjaC1iYXIgZ292dWstIS1wYWRkaW5nLTNcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctcmlnaHQtMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlZGFjdGlvbi1zZWFyY2gtYnV0dG9ucy1hcmVhXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBpZD1cIm12Q2xvc2VCdG5cIlxuICAgICAgICAgICNtdkNsb3NlQnRuXG4gICAgICAgICAgY2xhc3M9XCJtdi1idXR0b24gc2VhcmNoYmFyLWJ1dHRvbi0tY2xvc2VcIlxuICAgICAgICAgIHRpdGxlPVwiQ2xvc2UgU2VhcmNoXCJcbiAgICAgICAgICBkYXRhLWwxMG4taWQ9XCJtdlJlZGFjdEJ0blwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VTZWFyY2hNb2RhbCgpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXRcbiAgICAgICAgaWQ9XCJzZWFyY2hfaW5wdXRcIlxuICAgICAgICBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtdGhyZWUtcXVhcnRlcnMgZ292dWstIS1kaXNwbGF5LWlubGluZS1ibG9jayBnb3Z1ay0hLW1hcmdpbi10b3AtNVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlZGFjdCBmcm9tIHNlYXJjaFwiXG4gICAgICAgICNmaW5kSW5wdXRcbiAgICAgICAgdGl0bGU9XCJSZWRhY3QgZnJvbSBzZWFyY2hcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHRpdGxlVGV4dCArICcgZnJvbSBzZWFyY2guLi4nIHwgcnB4VHJhbnNsYXRlIH19XCJcbiAgICAgICAgZGF0YS1sMTBuLWlkPVwic2VhcmNoX2lucHV0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXJLZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVkYWN0aW9uLXNlYXJjaC1idXR0b25zLWFyZWFcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGlkPVwibXZTZWFyY2hBbGxCdG5cIlxuICAgICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCJcbiAgICAgICAgICBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlYXJjaCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwicmVkYWN0QWxsSW5Qcm9ncmVzc1wiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBcIlNlYXJjaFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgaWQ9XCJtdlJlZGFjdEFsbEJ0blwiXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstIS1tYXJnaW4tbGVmdC0yIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCJcbiAgICAgICAgICBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlYXJjaChmYWxzZSlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWRhY3RBbGxJblByb2dyZXNzIHx8IHJlc3VsdENvdW50IDw9IDBcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdGl0bGVUZXh0ICsgXCIgYWxsXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10aHJlZS1xdWFydGVycyBnb3Z1ay0hLXBhZGRpbmctbGVmdC0wIGdvdnVrLSEtcGFkZGluZy10b3AtMiByZWRhY3Rpb24tc3RhdHVzLXRleHRcIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGlkPVwiZmluZFJlZGFjdFJlc3VsdHNDb3VudFwiXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTQgZ292dWstIS1tYXJnaW4tbGVmdC0wIGdvdnVrLSEtcGFkZGluZy1sZWZ0LTBcIlxuICAgICAgICAgID48aDRcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstIS1kaXNwbGF5LWlubGluZS1ibG9jayBnb3Z1ay0hLW1hcmdpbi10b3AtMCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMVwiXG4gICAgICAgICAgICAqbmdJZj1cInJlZGFjdEFsbEluUHJvZ3Jlc3NcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGluUHJvZ3Jlc3NUZXh0ICsgXCIgaW4gcHJvZ3Jlc3NcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAge3sgcmVkYWN0QWxsSW5Qcm9ncmVzcyA/IFwiXCIgOiByZXN1bHRzVGV4dCB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIDxoNVxuICAgICAgICAgICAgaWQ9XCJyZWRhY3RBbGxJblByb2dyZXNzQ291bnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay0hLWRpc3BsYXktaW5saW5lLWJsb2NrIGdvdnVrLSEtbWFyZ2luLXRvcC0wIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0xXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyByZWRhY3RBbGxJblByb2dyZXNzID8gcmVkYWN0QWxsVGV4dCA6IFwiXCIgfX1cbiAgICAgICAgICA8L2g1PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -135,7 +135,7 @@ export class PdfJsWrapper {
|
|
|
135
135
|
return Number(pageIndex) + 1;
|
|
136
136
|
}
|
|
137
137
|
downloadFile(url, filename) {
|
|
138
|
-
this.downloadManager.download(url, filename
|
|
138
|
+
this.downloadManager.download(null, url, filename);
|
|
139
139
|
}
|
|
140
140
|
setPageNumber(pageNumber) {
|
|
141
141
|
this.pdfViewer.currentPageNumber = pageNumber;
|
|
@@ -218,4 +218,4 @@ export class PdfJsWrapper {
|
|
|
218
218
|
return this.documentTitle;
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBbUIsY0FBYyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDM0YsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLDBCQUEwQixDQUFDO0FBS2xDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7QUFFeEU7O0dBRUc7QUFDSCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsbURBQWEsQ0FBQTtJQUNiLCtDQUFXLENBQUE7SUFDWCwrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQU12QixZQUNtQixTQUFvQixFQUNwQixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxnQkFBaUMsRUFDakMsb0JBQW1ELEVBQ25ELGNBQTRCLEVBQzVCLGFBQWlDLEVBQ2pDLGtCQUFrQyxFQUNsQyxZQUFrQyxFQUNsQyxlQUFtRDtRQVRsRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBQ25ELG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQ2xDLGlCQUFZLEdB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QUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN4RixDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQzNDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE91dGxpbmUgfSBmcm9tICcuLy4uL3NpZGUtYmFyL291dGxpbmUtaXRlbS9vdXRsaW5lLm1vZGVsJztcbmltcG9ydCB7IFJlZGFjdGlvblNlYXJjaCB9IGZyb20gJy4vLi4vLi4vLi4vdG9vbGJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci9yZWRhY3Rpb24tc2VhcmNoLm1vZGVsJztcbmltcG9ydCAqIGFzIHBkZmpzIGZyb20gJ3BkZmpzLWRpc3QnO1xuaW1wb3J0IHsgRG93bmxvYWRNYW5hZ2VyLCBQREZMaW5rU2VydmljZSwgUERGVmlld2VyIH0gZnJvbSAncGRmanMtZGlzdC93ZWIvcGRmX3ZpZXdlci5tanMnO1xuaW1wb3J0ICdwZGZqcy1kaXN0L2J1aWxkL3BkZi53b3JrZXInO1xuaW1wb3J0ICdwZGZqcy1kaXN0L2J1aWxkL3BkZi5tanMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoT3BlcmF0aW9uLCBTZWFyY2hSZXN1bHRzQ291bnQsIFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQZGZQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXInO1xuXG5wZGZqcy5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclNyYyA9ICcvYXNzZXRzL2J1aWxkL3BkZi53b3JrZXIubWluLmpzJztcblxuLyoqXG4gKiBWYWx1ZXMgb2YgdGhlIHN0YXRlIGZpZWxkIHJldHVybmVkIGJ5IHRoZSBmaW5kIGV2ZW50c1xuICovXG5lbnVtIEZpbmRTdGF0ZSB7XG4gIEZPVU5EID0gMCxcbiAgTk9UX0ZPVU5EID0gMSxcbiAgV1JBUFBFRCA9IDIsXG4gIFBFTkRJTkcgPSAzLFxufVxuXG5leHBvcnQgY2xhc3MgUGRmSnNXcmFwcGVyIHtcblxuICBwcml2YXRlIHpvb21WYWx1ZTogbnVtYmVyO1xuICBwcml2YXRlIGRvY3VtZW50VGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBkb2N1bWVudE91dGxpbmU6IE91dGxpbmVbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBkZlZpZXdlcjogUERGVmlld2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG93bmxvYWRNYW5hZ2VyOiBEb3dubG9hZE1hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRJbml0OiBTdWJqZWN0PHN0cmluZz4sXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZFByb2dyZXNzOiBTdWJqZWN0PERvY3VtZW50TG9hZFByb2dyZXNzPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkZWQ6IFN1YmplY3Q8YW55PixcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3V0bGluZUxvYWRlZDogU3ViamVjdDxPdXRsaW5lW10+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRGYWlsZWQ6IFN1YmplY3Q8RXJyb3I+LFxuICAgIHB1YmxpYyByZWFkb25seSBwYWdlUmVuZGVyZWQ6IFN1YmplY3Q8UGFnZUV2ZW50W10+LFxuICAgIHB1YmxpYyByZWFkb25seSBwb3NpdGlvblVwZGF0ZWQ6IFN1YmplY3Q8eyBsb2NhdGlvbjogUGRmUG9zaXRpb24gfT5cbiAgKSB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZXZpZXdhcmVhJywgZSA9PiBwb3NpdGlvblVwZGF0ZWQubmV4dChlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VjaGFuZ2luZycsIGUgPT4gdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlSW5wdXRWYWx1ZVN1YmplY3QubmV4dChlLnBhZ2VOdW1iZXIpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZXNpbml0JywgKCkgPT4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSAnMScpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VyZW5kZXJlZCcsIGUgPT4geyB9KTsgLy8gbm90IHVzZWQgbGVmdCBmb3IgZnV0dXJlIGNvbnZlbmllbmNlXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VzbG9hZGVkJywgKGUpID0+IHRoaXMuZW1pdERvY3VtZW50SW5mbyhlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3NjYWxlY2hhbmdpbmcnLCAoZSkgPT4gdGhpcy5lbWl0RG9jdW1lbnRJbmZvKGUpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncm90YXRpb25jaGFuZ2luZycsIChlKSA9PiB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZWZpbmRjb250cm9sc3RhdGUnLCBldmVudCA9PiB7XG4gICAgICB0aGlzLnNlbmRTZWFyY2hEZXRhaWxzKGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRlZmluZG1hdGNoZXNjb3VudCcsIGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHsgLi4uZXZlbnQubWF0Y2hlc0NvdW50LCBpc1ByZXZpb3VzOiBldmVudD8uc291cmNlPy5zdGF0ZT8uZmluZFByZXZpb3VzIH0gYXMgU2VhcmNoUmVzdWx0c0NvdW50XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoUmVzdWx0c0NvdW50U3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgfSk7XG4gICAgdGhpcy56b29tVmFsdWUgPSAxO1xuICB9XG5cbiAgc2VuZFNlYXJjaERldGFpbHMoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC5zdGF0ZSAhPT0gRmluZFN0YXRlLlBFTkRJTkcpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHsgLi4uZXZlbnQubWF0Y2hlc0NvdW50LCBpc1ByZXZpb3VzOiBldmVudD8uc291cmNlPy5zdGF0ZT8uZmluZFByZXZpb3VzIH0gYXMgU2VhcmNoUmVzdWx0c0NvdW50XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoUmVzdWx0c0NvdW50U3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgICBpZiAoZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/LnBhZ2VJZHggIT09IC0xICYmIGV2ZW50Lm1hdGNoZXNDb3VudC50b3RhbCA+IDApIHtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdGlvblNlcmFjaFN1YmplY3QubmV4dCh7XG4gICAgICAgICAgcGFnZTogZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/LnBhZ2VJZHgsXG4gICAgICAgICAgbWF0Y2hlZEluZGV4OiBldmVudD8uc291cmNlPy5zZWxlY3RlZD8ubWF0Y2hJZHgsXG4gICAgICAgICAgbWF0Y2hlc0NvdW50OiBldmVudC5tYXRjaGVzQ291bnQudG90YWxcbiAgICAgICAgfSBhcyBSZWRhY3Rpb25TZWFyY2hcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVtaXREb2N1bWVudEluZm8oZSkge1xuICAgIGNvbnN0IGFsbFBhZ2VzOiBQYWdlRXZlbnRbXSA9IFsuLi50aGlzLnBkZlZpZXdlci5fcGFnZXNdLm1hcChwYWdlID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogcGFnZS5kaXYsXG4gICAgICAgIHNjYWxlOiBwYWdlLnNjYWxlLFxuICAgICAgICByb3RhdGlvbjogcGFnZS5yb3RhdGlvbixcbiAgICAgICAgaWQ6IHBhZ2UuaWQsXG4gICAgICAgIHZpZXdwb3J0U2NhbGU6IHBhZ2Uudmlld3BvcnQuc2NhbGVcbiAgICAgIH07XG4gICAgfSk7XG4gICAgdGhpcy5wYWdlUmVuZGVyZWQubmV4dChhbGxQYWdlcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZERvY3VtZW50KGRvY3VtZW50VXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsb2FkaW5nVGFzayA9IHRoaXMuY3JlYXRlTG9hZGluZ1Rhc2soZG9jdW1lbnRVcmwpO1xuXG4gICAgbG9hZGluZ1Rhc2sub25Qcm9ncmVzcyA9ICh7IGxvYWRlZCwgdG90YWwgfSkgPT4ge1xuICAgICAgdGhpcy5kb2N1bWVudExvYWRQcm9ncmVzcy5uZXh0KHsgbG9hZGVkLCB0b3RhbCB9KTtcbiAgICB9O1xuXG4gICAgdGhpcy5kb2N1bWVudExvYWRJbml0Lm5leHQoZG9jdW1lbnRVcmwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBkZkRvY3VtZW50ID0gYXdhaXQgbG9hZGluZ1Rhc2sucHJvbWlzZTtcbiAgICAgIHRoaXMuZG9jdW1lbnRMb2FkZWQubmV4dChwZGZEb2N1bWVudCk7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucGFnZUNvdW50U3ViamVjdC5uZXh0KHBkZkRvY3VtZW50Lm51bVBhZ2VzKTtcblxuICAgICAgdGhpcy5wZGZWaWV3ZXIuc2V0RG9jdW1lbnQocGRmRG9jdW1lbnQpO1xuICAgICAgaWYgKHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlIGluc3RhbmNlb2YgUERGTGlua1NlcnZpY2UpIHtcbiAgICAgICAgY29uc3QgbGlua3NlcnZpY2U6IFBERkxpbmtTZXJ2aWNlID0gdGhpcy5wZGZWaWV3ZXIubGlua1NlcnZpY2U7XG4gICAgICAgIGxpbmtzZXJ2aWNlLnNldERvY3VtZW50KHBkZkRvY3VtZW50LCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3V0bGluZU5vZGUgPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRPdXRsaW5lKCk7XG4gICAgICBjb25zdCBvdXRsaW5lID0gb3V0bGluZU5vZGUgPyBvdXRsaW5lTm9kZS5tYXAoeCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm9sZDogeC5ib2xkLFxuICAgICAgICAgIGNvbG9yOiB4LmNvbG9yLFxuICAgICAgICAgIGNvdW50OiB4LmNvdW50LFxuICAgICAgICAgIGRlc3Q6IHguZGVzdCxcbiAgICAgICAgICBpdGFsaWM6IHguaXRhbGljLFxuICAgICAgICAgIGl0ZW1zOiB4Lml0ZW1zLFxuICAgICAgICAgIG5ld1dpbmRvdzogeC5uZXdXaW5kb3csXG4gICAgICAgICAgdGl0bGU6IHgudGl0bGUsXG4gICAgICAgICAgdW5zYWZlVXJsOiB4LnVuc2FmZVVybCxcbiAgICAgICAgICB1cmw6IHgudXJsXG4gICAgICAgIH0gYXMgT3V0bGluZVxuICAgICAgfSkgOiBudWxsO1xuXG5cblxuICAgICAgaWYgKG91dGxpbmUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRvY3VtZW50T3V0bGluZSA9IG91dGxpbmU7XG4gICAgICB0aGlzLm91dGxpbmVMb2FkZWQubmV4dCh0aGlzLmRvY3VtZW50T3V0bGluZSk7XG4gICAgICBjb25zdCBwZGZNZXRhRGF0YSA9IGF3YWl0IHBkZkRvY3VtZW50LmdldE1ldGFkYXRhKCk7XG4gICAgICB0aGlzLnNldEN1cnJlbnRQREZUaXRsZSgocGRmTWV0YURhdGEuaW5mbyBhcyBhbnkpPy5UaXRsZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5kb2N1bWVudExvYWRGYWlsZWQubmV4dChlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUxvYWRpbmdUYXNrKGRvY3VtZW50VXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcGRmanMuZ2V0RG9jdW1lbnQoe1xuICAgICAgdXJsOiBkb2N1bWVudFVybCxcbiAgICAgIGNNYXBVcmw6ICdhc3NldHMvbWluaWZpZWQvY21hcHMnLFxuICAgICAgY01hcFBhY2tlZDogdHJ1ZSxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGlzRXZhbFN1cHBvcnRlZDogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2V0T3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lQXJyYXk6IE91dGxpbmVbXSkge1xuICAgIG91dGxpbmVBcnJheS5mb3JFYWNoKGFzeW5jIChvdXRsaW5lOiBPdXRsaW5lKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLnNldE5lc3RlZE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldE5lc3RlZE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZTogT3V0bGluZSkge1xuICAgIG91dGxpbmUucGFnZU51bWJlciA9IGF3YWl0IHRoaXMuZ2V0T3V0bGluZVBhZ2VOdW1iZXIocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgIG91dGxpbmUuaXRlbXMuZm9yRWFjaChhc3luYyAob3V0bGluZUl0ZW06IE91dGxpbmUpID0+IHtcbiAgICAgIG91dGxpbmVJdGVtLnBhZ2VOdW1iZXIgPSBhd2FpdCB0aGlzLmdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lSXRlbSk7XG4gICAgICB0aGlzLnNldE5lc3RlZE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZUl0ZW0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRPdXRsaW5lUGFnZU51bWJlcihwZGZEb2N1bWVudCwgb3V0bGluZTogT3V0bGluZSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgZGVzdCA9IG91dGxpbmUuZGVzdDtcbiAgICBjb25zdCBwYWdlSW5kZXggPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRQYWdlSW5kZXgoZGVzdFswXSk7XG4gICAgcmV0dXJuIE51bWJlcihwYWdlSW5kZXgpICsgMTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvd25sb2FkTWFuYWdlci5kb3dubG9hZCh1cmwsIGZpbGVuYW1lLCB7fSk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50UGFnZU51bWJlciA9IHBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGdldFBhZ2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGNoYW5nZVBhZ2VOdW1iZXIobnVtUGFnZXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyICs9IG51bVBhZ2VzO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaChvcGVyYXRpb246IFNlYXJjaE9wZXJhdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBvcGVyYXRpb24ucmVzZXQgPyAnJyA6ICdhZ2Fpbic7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIHNvdXJjZTogdGhpcy5wZGZWaWV3ZXIsXG4gICAgICB0eXBlOiBjb21tYW5kLFxuICAgICAgcXVlcnk6IG9wZXJhdGlvbi5zZWFyY2hUZXJtLFxuICAgICAgcGhyYXNlU2VhcmNoOiB0cnVlLFxuICAgICAgY2FzZVNlbnNpdGl2ZTogb3BlcmF0aW9uLm1hdGNoQ2FzZSxcbiAgICAgIGVudGlyZVdvcmQ6IG9wZXJhdGlvbi53aG9sZVdvcmQsXG4gICAgICBoaWdobGlnaHRBbGw6IG9wZXJhdGlvbi5oaWdobGlnaHRBbGwsXG4gICAgICBmaW5kUHJldmlvdXM6IG9wZXJhdGlvbi5wcmV2aW91cyxcbiAgICB9O1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMuZGlzcGF0Y2goJ2ZpbmQnLCBkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5kaXNwYXRjaCgnZmluZGJhcmNsb3NlJywge30pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG8oZGVzdGluYXRpb246IHN0cmluZyB8IGFueVtdKSB7XG4gICAgaWYgKGRlc3RpbmF0aW9uIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICBpZiAoIWRlc3RpbmF0aW9uWzFdLm5hbWUuaW5jbHVkZXMoJ1hZWicpKSB7XG4gICAgICAgIGRlc3RpbmF0aW9uWzFdID0geyBuYW1lOiAnWFlaJyB9O1xuICAgICAgICBkZXN0aW5hdGlvblsyXSA9IGRlc3RpbmF0aW9uWzJdIHx8IG51bGw7XG4gICAgICAgIGRlc3RpbmF0aW9uWzNdID0gZGVzdGluYXRpb25bM10gfHwgbnVsbDtcbiAgICAgIH1cbiAgICAgIGRlc3RpbmF0aW9uWzRdID0gdGhpcy56b29tVmFsdWU7XG4gICAgfVxuICAgIHRoaXMubmF0aXZlTmF2aWdhdGUoZGVzdGluYXRpb24pO1xuICB9XG5cbiAgcHVibGljIG5hdGl2ZU5hdmlnYXRlKGRlc3RpbmF0aW9uOiBzdHJpbmcgfCBhbnlbXSkge1xuICAgIHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlLmdvVG9EZXN0aW5hdGlvbihkZXN0aW5hdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2V0Wm9vbSh6b29tVmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlID0gdGhpcy5nZXRab29tVmFsdWUoem9vbVZhbHVlKS50b1N0cmluZygpO1xuICAgIHRoaXMuem9vbVZhbHVlID0gK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy56b29tVmFsdWVTdWJqZWN0Lm5leHQodGhpcy56b29tVmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHN0ZXBab29tKHpvb21WYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSB0aGlzLmdldFpvb21WYWx1ZSgoK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlKSArIHpvb21WYWx1ZSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLnpvb21WYWx1ZSA9ICt0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVZhbHVlU3ViamVjdC5uZXh0KHRoaXMuem9vbVZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Wm9vbVZhbHVlKHpvb21WYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaXNOYU4oem9vbVZhbHVlKSkgeyByZXR1cm4gdGhpcy56b29tVmFsdWU7IH1cbiAgICBpZiAoem9vbVZhbHVlID4gNSkgeyByZXR1cm4gNTsgfVxuICAgIGlmICh6b29tVmFsdWUgPCAwLjEpIHsgcmV0dXJuIDAuMTsgfVxuXG4gICAgcmV0dXJuICt6b29tVmFsdWUudG9GaXhlZCgyKTtcbiAgfVxuXG4gIHB1YmxpYyByb3RhdGUocm90YXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb24gPSAodGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbiArIHJvdGF0aW9uKSAlIDM2MDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFJvdGF0aW9uKHJvdGF0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uID0gcm90YXRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9ybWFsaXNlZFBhZ2VzUm90YXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UERGWm9vbVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDdXJyZW50UERGVGl0bGUodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbnRQREZUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50VGl0bGU7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudExvYWRQcm9ncmVzcyB7XG4gIGxvYWRlZDogbnVtYmVyO1xuICB0b3RhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VFdmVudCB7XG4gIGRpdjogb2JqZWN0O1xuICBzY2FsZTogbnVtYmVyO1xuICByb3RhdGlvbjogbnVtYmVyO1xuICBpZDogc3RyaW5nO1xuICB2aWV3cG9ydFNjYWxlOiBudW1iZXI7XG59XG4iXX0=
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBbUIsY0FBYyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDM0YsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLDBCQUEwQixDQUFDO0FBS2xDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7QUFFeEU7O0dBRUc7QUFDSCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsbURBQWEsQ0FBQTtJQUNiLCtDQUFXLENBQUE7SUFDWCwrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQU12QixZQUNtQixTQUFvQixFQUNwQixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxnQkFBaUMsRUFDakMsb0JBQW1ELEVBQ25ELGNBQTRCLEVBQzVCLGFBQWlDLEVBQ2pDLGtCQUFrQyxFQUNsQyxZQUFrQyxFQUNsQyxlQUFtRDtRQVRsRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBQ25ELG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQ2xDLGlCQUFZLEdB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QUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN4RixDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQzNDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE91dGxpbmUgfSBmcm9tICcuLy4uL3NpZGUtYmFyL291dGxpbmUtaXRlbS9vdXRsaW5lLm1vZGVsJztcbmltcG9ydCB7IFJlZGFjdGlvblNlYXJjaCB9IGZyb20gJy4vLi4vLi4vLi4vdG9vbGJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci9yZWRhY3Rpb24tc2VhcmNoLm1vZGVsJztcbmltcG9ydCAqIGFzIHBkZmpzIGZyb20gJ3BkZmpzLWRpc3QnO1xuaW1wb3J0IHsgRG93bmxvYWRNYW5hZ2VyLCBQREZMaW5rU2VydmljZSwgUERGVmlld2VyIH0gZnJvbSAncGRmanMtZGlzdC93ZWIvcGRmX3ZpZXdlci5tanMnO1xuaW1wb3J0ICdwZGZqcy1kaXN0L2J1aWxkL3BkZi53b3JrZXInO1xuaW1wb3J0ICdwZGZqcy1kaXN0L2J1aWxkL3BkZi5tanMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoT3BlcmF0aW9uLCBTZWFyY2hSZXN1bHRzQ291bnQsIFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQZGZQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXInO1xuXG5wZGZqcy5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclNyYyA9ICcvYXNzZXRzL2J1aWxkL3BkZi53b3JrZXIubWluLmpzJztcblxuLyoqXG4gKiBWYWx1ZXMgb2YgdGhlIHN0YXRlIGZpZWxkIHJldHVybmVkIGJ5IHRoZSBmaW5kIGV2ZW50c1xuICovXG5lbnVtIEZpbmRTdGF0ZSB7XG4gIEZPVU5EID0gMCxcbiAgTk9UX0ZPVU5EID0gMSxcbiAgV1JBUFBFRCA9IDIsXG4gIFBFTkRJTkcgPSAzLFxufVxuXG5leHBvcnQgY2xhc3MgUGRmSnNXcmFwcGVyIHtcblxuICBwcml2YXRlIHpvb21WYWx1ZTogbnVtYmVyO1xuICBwcml2YXRlIGRvY3VtZW50VGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBkb2N1bWVudE91dGxpbmU6IE91dGxpbmVbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBkZlZpZXdlcjogUERGVmlld2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG93bmxvYWRNYW5hZ2VyOiBEb3dubG9hZE1hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRJbml0OiBTdWJqZWN0PHN0cmluZz4sXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZFByb2dyZXNzOiBTdWJqZWN0PERvY3VtZW50TG9hZFByb2dyZXNzPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkZWQ6IFN1YmplY3Q8YW55PixcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3V0bGluZUxvYWRlZDogU3ViamVjdDxPdXRsaW5lW10+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRGYWlsZWQ6IFN1YmplY3Q8RXJyb3I+LFxuICAgIHB1YmxpYyByZWFkb25seSBwYWdlUmVuZGVyZWQ6IFN1YmplY3Q8UGFnZUV2ZW50W10+LFxuICAgIHB1YmxpYyByZWFkb25seSBwb3NpdGlvblVwZGF0ZWQ6IFN1YmplY3Q8eyBsb2NhdGlvbjogUGRmUG9zaXRpb24gfT5cbiAgKSB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZXZpZXdhcmVhJywgZSA9PiBwb3NpdGlvblVwZGF0ZWQubmV4dChlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VjaGFuZ2luZycsIGUgPT4gdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlSW5wdXRWYWx1ZVN1YmplY3QubmV4dChlLnBhZ2VOdW1iZXIpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZXNpbml0JywgKCkgPT4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSAnMScpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VyZW5kZXJlZCcsIGUgPT4geyB9KTsgLy8gbm90IHVzZWQgbGVmdCBmb3IgZnV0dXJlIGNvbnZlbmllbmNlXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VzbG9hZGVkJywgKGUpID0+IHRoaXMuZW1pdERvY3VtZW50SW5mbyhlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3NjYWxlY2hhbmdpbmcnLCAoZSkgPT4gdGhpcy5lbWl0RG9jdW1lbnRJbmZvKGUpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncm90YXRpb25jaGFuZ2luZycsIChlKSA9PiB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZWZpbmRjb250cm9sc3RhdGUnLCBldmVudCA9PiB7XG4gICAgICB0aGlzLnNlbmRTZWFyY2hEZXRhaWxzKGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRlZmluZG1hdGNoZXNjb3VudCcsIGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHsgLi4uZXZlbnQubWF0Y2hlc0NvdW50LCBpc1ByZXZpb3VzOiBldmVudD8uc291cmNlPy5zdGF0ZT8uZmluZFByZXZpb3VzIH0gYXMgU2VhcmNoUmVzdWx0c0NvdW50XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoUmVzdWx0c0NvdW50U3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgfSk7XG4gICAgdGhpcy56b29tVmFsdWUgPSAxO1xuICB9XG5cbiAgc2VuZFNlYXJjaERldGFpbHMoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC5zdGF0ZSAhPT0gRmluZFN0YXRlLlBFTkRJTkcpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHsgLi4uZXZlbnQubWF0Y2hlc0NvdW50LCBpc1ByZXZpb3VzOiBldmVudD8uc291cmNlPy5zdGF0ZT8uZmluZFByZXZpb3VzIH0gYXMgU2VhcmNoUmVzdWx0c0NvdW50XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoUmVzdWx0c0NvdW50U3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgICBpZiAoZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/LnBhZ2VJZHggIT09IC0xICYmIGV2ZW50Lm1hdGNoZXNDb3VudC50b3RhbCA+IDApIHtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdGlvblNlcmFjaFN1YmplY3QubmV4dCh7XG4gICAgICAgICAgcGFnZTogZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/LnBhZ2VJZHgsXG4gICAgICAgICAgbWF0Y2hlZEluZGV4OiBldmVudD8uc291cmNlPy5zZWxlY3RlZD8ubWF0Y2hJZHgsXG4gICAgICAgICAgbWF0Y2hlc0NvdW50OiBldmVudC5tYXRjaGVzQ291bnQudG90YWxcbiAgICAgICAgfSBhcyBSZWRhY3Rpb25TZWFyY2hcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVtaXREb2N1bWVudEluZm8oZSkge1xuICAgIGNvbnN0IGFsbFBhZ2VzOiBQYWdlRXZlbnRbXSA9IFsuLi50aGlzLnBkZlZpZXdlci5fcGFnZXNdLm1hcChwYWdlID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogcGFnZS5kaXYsXG4gICAgICAgIHNjYWxlOiBwYWdlLnNjYWxlLFxuICAgICAgICByb3RhdGlvbjogcGFnZS5yb3RhdGlvbixcbiAgICAgICAgaWQ6IHBhZ2UuaWQsXG4gICAgICAgIHZpZXdwb3J0U2NhbGU6IHBhZ2Uudmlld3BvcnQuc2NhbGVcbiAgICAgIH07XG4gICAgfSk7XG4gICAgdGhpcy5wYWdlUmVuZGVyZWQubmV4dChhbGxQYWdlcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZERvY3VtZW50KGRvY3VtZW50VXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsb2FkaW5nVGFzayA9IHRoaXMuY3JlYXRlTG9hZGluZ1Rhc2soZG9jdW1lbnRVcmwpO1xuXG4gICAgbG9hZGluZ1Rhc2sub25Qcm9ncmVzcyA9ICh7IGxvYWRlZCwgdG90YWwgfSkgPT4ge1xuICAgICAgdGhpcy5kb2N1bWVudExvYWRQcm9ncmVzcy5uZXh0KHsgbG9hZGVkLCB0b3RhbCB9KTtcbiAgICB9O1xuXG4gICAgdGhpcy5kb2N1bWVudExvYWRJbml0Lm5leHQoZG9jdW1lbnRVcmwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBkZkRvY3VtZW50ID0gYXdhaXQgbG9hZGluZ1Rhc2sucHJvbWlzZTtcbiAgICAgIHRoaXMuZG9jdW1lbnRMb2FkZWQubmV4dChwZGZEb2N1bWVudCk7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucGFnZUNvdW50U3ViamVjdC5uZXh0KHBkZkRvY3VtZW50Lm51bVBhZ2VzKTtcblxuICAgICAgdGhpcy5wZGZWaWV3ZXIuc2V0RG9jdW1lbnQocGRmRG9jdW1lbnQpO1xuICAgICAgaWYgKHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlIGluc3RhbmNlb2YgUERGTGlua1NlcnZpY2UpIHtcbiAgICAgICAgY29uc3QgbGlua3NlcnZpY2U6IFBERkxpbmtTZXJ2aWNlID0gdGhpcy5wZGZWaWV3ZXIubGlua1NlcnZpY2U7XG4gICAgICAgIGxpbmtzZXJ2aWNlLnNldERvY3VtZW50KHBkZkRvY3VtZW50LCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3V0bGluZU5vZGUgPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRPdXRsaW5lKCk7XG4gICAgICBjb25zdCBvdXRsaW5lID0gb3V0bGluZU5vZGUgPyBvdXRsaW5lTm9kZS5tYXAoeCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm9sZDogeC5ib2xkLFxuICAgICAgICAgIGNvbG9yOiB4LmNvbG9yLFxuICAgICAgICAgIGNvdW50OiB4LmNvdW50LFxuICAgICAgICAgIGRlc3Q6IHguZGVzdCxcbiAgICAgICAgICBpdGFsaWM6IHguaXRhbGljLFxuICAgICAgICAgIGl0ZW1zOiB4Lml0ZW1zLFxuICAgICAgICAgIG5ld1dpbmRvdzogeC5uZXdXaW5kb3csXG4gICAgICAgICAgdGl0bGU6IHgudGl0bGUsXG4gICAgICAgICAgdW5zYWZlVXJsOiB4LnVuc2FmZVVybCxcbiAgICAgICAgICB1cmw6IHgudXJsXG4gICAgICAgIH0gYXMgT3V0bGluZVxuICAgICAgfSkgOiBudWxsO1xuXG5cblxuICAgICAgaWYgKG91dGxpbmUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRvY3VtZW50T3V0bGluZSA9IG91dGxpbmU7XG4gICAgICB0aGlzLm91dGxpbmVMb2FkZWQubmV4dCh0aGlzLmRvY3VtZW50T3V0bGluZSk7XG4gICAgICBjb25zdCBwZGZNZXRhRGF0YSA9IGF3YWl0IHBkZkRvY3VtZW50LmdldE1ldGFkYXRhKCk7XG4gICAgICB0aGlzLnNldEN1cnJlbnRQREZUaXRsZSgocGRmTWV0YURhdGEuaW5mbyBhcyBhbnkpPy5UaXRsZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5kb2N1bWVudExvYWRGYWlsZWQubmV4dChlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUxvYWRpbmdUYXNrKGRvY3VtZW50VXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcGRmanMuZ2V0RG9jdW1lbnQoe1xuICAgICAgdXJsOiBkb2N1bWVudFVybCxcbiAgICAgIGNNYXBVcmw6ICdhc3NldHMvbWluaWZpZWQvY21hcHMnLFxuICAgICAgY01hcFBhY2tlZDogdHJ1ZSxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGlzRXZhbFN1cHBvcnRlZDogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2V0T3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lQXJyYXk6IE91dGxpbmVbXSkge1xuICAgIG91dGxpbmVBcnJheS5mb3JFYWNoKGFzeW5jIChvdXRsaW5lOiBPdXRsaW5lKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLnNldE5lc3RlZE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldE5lc3RlZE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZTogT3V0bGluZSkge1xuICAgIG91dGxpbmUucGFnZU51bWJlciA9IGF3YWl0IHRoaXMuZ2V0T3V0bGluZVBhZ2VOdW1iZXIocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgIG91dGxpbmUuaXRlbXMuZm9yRWFjaChhc3luYyAob3V0bGluZUl0ZW06IE91dGxpbmUpID0+IHtcbiAgICAgIG91dGxpbmVJdGVtLnBhZ2VOdW1iZXIgPSBhd2FpdCB0aGlzLmdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lSXRlbSk7XG4gICAgICB0aGlzLnNldE5lc3RlZE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZUl0ZW0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRPdXRsaW5lUGFnZU51bWJlcihwZGZEb2N1bWVudCwgb3V0bGluZTogT3V0bGluZSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgZGVzdCA9IG91dGxpbmUuZGVzdDtcbiAgICBjb25zdCBwYWdlSW5kZXggPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRQYWdlSW5kZXgoZGVzdFswXSk7XG4gICAgcmV0dXJuIE51bWJlcihwYWdlSW5kZXgpICsgMTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvd25sb2FkTWFuYWdlci5kb3dubG9hZChudWxsLCB1cmwsIGZpbGVuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyID0gcGFnZU51bWJlcjtcbiAgfVxuICBwdWJsaWMgZ2V0UGFnZU51bWJlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5jdXJyZW50UGFnZU51bWJlcjtcbiAgfVxuICBwdWJsaWMgY2hhbmdlUGFnZU51bWJlcihudW1QYWdlczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXIgKz0gbnVtUGFnZXM7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKG9wZXJhdGlvbjogU2VhcmNoT3BlcmF0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgY29tbWFuZCA9IG9wZXJhdGlvbi5yZXNldCA/ICcnIDogJ2FnYWluJztcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgc291cmNlOiB0aGlzLnBkZlZpZXdlcixcbiAgICAgIHR5cGU6IGNvbW1hbmQsXG4gICAgICBxdWVyeTogb3BlcmF0aW9uLnNlYXJjaFRlcm0sXG4gICAgICBwaHJhc2VTZWFyY2g6IHRydWUsXG4gICAgICBjYXNlU2Vuc2l0aXZlOiBvcGVyYXRpb24ubWF0Y2hDYXNlLFxuICAgICAgZW50aXJlV29yZDogb3BlcmF0aW9uLndob2xlV29yZCxcbiAgICAgIGhpZ2hsaWdodEFsbDogb3BlcmF0aW9uLmhpZ2hsaWdodEFsbCxcbiAgICAgIGZpbmRQcmV2aW91czogb3BlcmF0aW9uLnByZXZpb3VzLFxuICAgIH07XG5cbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5kaXNwYXRjaCgnZmluZCcsIGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLmRpc3BhdGNoKCdmaW5kYmFyY2xvc2UnLCB7fSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUbyhkZXN0aW5hdGlvbjogc3RyaW5nIHwgYW55W10pIHtcbiAgICBpZiAoZGVzdGluYXRpb24gaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIGlmICghZGVzdGluYXRpb25bMV0ubmFtZS5pbmNsdWRlcygnWFlaJykpIHtcbiAgICAgICAgZGVzdGluYXRpb25bMV0gPSB7IG5hbWU6ICdYWVonIH07XG4gICAgICAgIGRlc3RpbmF0aW9uWzJdID0gZGVzdGluYXRpb25bMl0gfHwgbnVsbDtcbiAgICAgICAgZGVzdGluYXRpb25bM10gPSBkZXN0aW5hdGlvblszXSB8fCBudWxsO1xuICAgICAgfVxuICAgICAgZGVzdGluYXRpb25bNF0gPSB0aGlzLnpvb21WYWx1ZTtcbiAgICB9XG4gICAgdGhpcy5uYXRpdmVOYXZpZ2F0ZShkZXN0aW5hdGlvbik7XG4gIH1cblxuICBwdWJsaWMgbmF0aXZlTmF2aWdhdGUoZGVzdGluYXRpb246IHN0cmluZyB8IGFueVtdKSB7XG4gICAgdGhpcy5wZGZWaWV3ZXIubGlua1NlcnZpY2UuZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRab29tKHpvb21WYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSB0aGlzLmdldFpvb21WYWx1ZSh6b29tVmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgdGhpcy56b29tVmFsdWUgPSArdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWU7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh0aGlzLnpvb21WYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgc3RlcFpvb20oem9vbVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSA9IHRoaXMuZ2V0Wm9vbVZhbHVlKCgrdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUpICsgem9vbVZhbHVlKS50b1N0cmluZygpO1xuICAgIHRoaXMuem9vbVZhbHVlID0gK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy56b29tVmFsdWVTdWJqZWN0Lm5leHQodGhpcy56b29tVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRab29tVmFsdWUoem9vbVZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChpc05hTih6b29tVmFsdWUpKSB7IHJldHVybiB0aGlzLnpvb21WYWx1ZTsgfVxuICAgIGlmICh6b29tVmFsdWUgPiA1KSB7IHJldHVybiA1OyB9XG4gICAgaWYgKHpvb21WYWx1ZSA8IDAuMSkgeyByZXR1cm4gMC4xOyB9XG5cbiAgICByZXR1cm4gK3pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgcHVibGljIHJvdGF0ZShyb3RhdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbiA9ICh0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uICsgcm90YXRpb24pICUgMzYwO1xuICB9XG5cbiAgcHVibGljIHJlc2V0Um90YXRpb24ocm90YXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb24gPSByb3RhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb3JtYWxpc2VkUGFnZXNSb3RhdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbnRQREZab29tVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldEN1cnJlbnRQREZUaXRsZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kb2N1bWVudFRpdGxlID0gdGl0bGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudFBERlRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRUaXRsZTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50TG9hZFByb2dyZXNzIHtcbiAgbG9hZGVkOiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUV2ZW50IHtcbiAgZGl2OiBvYmplY3Q7XG4gIHNjYWxlOiBudW1iZXI7XG4gIHJvdGF0aW9uOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG4gIHZpZXdwb3J0U2NhbGU6IG51bWJlcjtcbn1cbiJdfQ==
|