@talrace/ngx-noder 0.0.11 → 0.0.13
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/README.md +374 -71
- package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +1 -1
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +2 -2
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +2 -5
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +3 -3
- package/esm2022/lib/editor/components/edges/edge-element.model.mjs +30 -1
- package/esm2022/lib/editor/components/edges/edge.component.mjs +23 -23
- package/esm2022/lib/editor/components/edges/edges.mjs +30 -15
- package/esm2022/lib/editor/components/image/components/image.component.mjs +2 -2
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +2 -2
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +5 -3
- package/esm2022/lib/editor/components/table/components/table.component.mjs +7 -5
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +12 -5
- package/esm2022/lib/editor/content/display-data/display-data.mjs +4 -4
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +1 -1
- package/esm2022/lib/editor/content/helpers/link.helper.mjs +39 -3
- package/esm2022/lib/editor/display/layers/text.layer.mjs +100 -75
- package/esm2022/lib/editor/display/print/print.helper.mjs +3 -3
- package/esm2022/lib/editor/display/print/print.renderer.mjs +5 -5
- package/esm2022/lib/editor/display/renderer.mjs +23 -25
- package/esm2022/lib/editor/display/virtual.renderer.mjs +10 -43
- package/esm2022/lib/editor/execution/edit.session.mjs +26 -16
- package/esm2022/lib/editor/execution/editor.mjs +88 -127
- package/esm2022/lib/editor/execution/regulator.service.mjs +44 -39
- package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +2 -3
- package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +2 -3
- package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +2 -2
- package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +1 -1
- package/esm2022/lib/editor/gadgets/history/operation-history.mjs +39 -37
- package/esm2022/lib/editor/interaction/editor.service.mjs +22 -22
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +2 -2
- package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +4 -4
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +2 -2
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +59 -7
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +24 -25
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +6 -5
- package/esm2022/lib/editor/positioning/content.helper.mjs +10 -1
- package/esm2022/lib/editor/positioning/position.helper.mjs +49 -35
- package/esm2022/lib/editor/revision.helper.mjs +3 -1
- package/esm2022/lib/models/generated/delete.model.mjs +1 -1
- package/esm2022/lib/models/generated/link-data.model.mjs +1 -1
- package/esm2022/lib/models/generated/link.model.mjs +1 -1
- package/esm2022/lib/models/generated/restore-text-styles.model.mjs +1 -1
- package/esm2022/lib/models/generated/target.model.mjs +1 -1
- package/fesm2022/talrace-ngx-noder.mjs +672 -545
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.d.ts +1 -3
- package/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.d.ts +1 -1
- package/lib/editor/components/edges/edge-element.model.d.ts +9 -1
- package/lib/editor/components/edges/edge.component.d.ts +4 -4
- package/lib/editor/components/edges/edges.d.ts +8 -2
- package/lib/editor/components/table/components/table.component.d.ts +4 -2
- package/lib/editor/components/table/selection/table-selection.d.ts +5 -2
- package/lib/editor/content/display-data/display-data.d.ts +2 -1
- package/lib/editor/content/helpers/content-style.helper.d.ts +1 -1
- package/lib/editor/content/helpers/link.helper.d.ts +4 -1
- package/lib/editor/display/layers/text.layer.d.ts +8 -10
- package/lib/editor/display/print/print.helper.d.ts +1 -2
- package/lib/editor/display/print/print.renderer.d.ts +1 -2
- package/lib/editor/display/renderer.d.ts +9 -9
- package/lib/editor/display/virtual.renderer.d.ts +3 -10
- package/lib/editor/execution/edit.session.d.ts +7 -2
- package/lib/editor/execution/editor.d.ts +10 -9
- package/lib/editor/execution/regulator.service.d.ts +6 -4
- package/lib/editor/execution/targeting/cell-session-source.model.d.ts +0 -1
- package/lib/editor/execution/targeting/edge-session-source.model.d.ts +0 -1
- package/lib/editor/execution/targeting/session-source.model.d.ts +0 -1
- package/lib/editor/gadgets/history/operation-history.d.ts +7 -3
- package/lib/editor/interaction/editor.service.d.ts +13 -12
- package/lib/editor/operations/helpers/content-operations.helper.d.ts +1 -1
- package/lib/editor/operations/helpers/link-operations.helper.d.ts +7 -2
- package/lib/editor/operations/operations-helper.helper.d.ts +3 -3
- package/lib/editor/operations/save-commands.helper.d.ts +1 -1
- package/lib/editor/positioning/content.helper.d.ts +2 -0
- package/lib/editor/positioning/position.helper.d.ts +21 -6
- package/lib/models/generated/delete.model.d.ts +1 -1
- package/lib/models/generated/restore-text-styles.model.d.ts +1 -0
- package/lib/models/generated/target.model.d.ts +0 -1
- package/package.json +1 -1
- package/src/scss/base-editor.scss +4 -0
|
@@ -25,7 +25,7 @@ export class SaveCommandsHelper {
|
|
|
25
25
|
return new CommandModel({ commandType: CommandType.RemoveNumberings, removeNumberings, targets });
|
|
26
26
|
}
|
|
27
27
|
static getRestoreNumberingsCommand(restoreNumberings, targets) {
|
|
28
|
-
return new CommandModel({ commandType: CommandType.
|
|
28
|
+
return new CommandModel({ commandType: CommandType.RestoreNumberings, restoreNumberings, targets });
|
|
29
29
|
}
|
|
30
30
|
static getApplyImageStyleCommand(height, width, insertIndex, targets) {
|
|
31
31
|
const applyImageStyle = new ApplyImageStyleModel({ height, width, insertIndex });
|
|
@@ -39,8 +39,8 @@ export class SaveCommandsHelper {
|
|
|
39
39
|
const applyTextStyle = new ApplyTextStyleModel({ startIndex, endIndex, textStyle });
|
|
40
40
|
return new CommandModel({ commandType: CommandType.ApplyTextStyle, applyTextStyle, targets });
|
|
41
41
|
}
|
|
42
|
-
static getDeleteCommand(startIndex,
|
|
43
|
-
const deleteModel = new DeleteModel({ startIndex,
|
|
42
|
+
static getDeleteCommand(startIndex, count, targets) {
|
|
43
|
+
const deleteModel = new DeleteModel({ startIndex, count });
|
|
44
44
|
return new CommandModel({ commandType: CommandType.Delete, delete: deleteModel, targets });
|
|
45
45
|
}
|
|
46
46
|
static getInsertTextCommand(text, insertIndex, targets) {
|
|
@@ -107,7 +107,8 @@ export class SaveCommandsHelper {
|
|
|
107
107
|
paragraphs: restoreModel.paragraphs,
|
|
108
108
|
tables: restoreModel.tables,
|
|
109
109
|
tabs: restoreModel.tabs,
|
|
110
|
-
text: restoreModel.text
|
|
110
|
+
text: restoreModel.text,
|
|
111
|
+
links: restoreModel.links
|
|
111
112
|
});
|
|
112
113
|
return new CommandModel({ commandType: CommandType.Restore, restore, targets });
|
|
113
114
|
}
|
|
@@ -124,4 +125,4 @@ export class SaveCommandsHelper {
|
|
|
124
125
|
return new CommandModel({ commandType: CommandType.ApplyElementStyle, applyElementStyle, targets });
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1jb21tYW5kcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9zYXZlLWNvbW1hbmRzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU9sRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFJM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFHdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRXBH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LEtBQW1CLEVBQUUsT0FBc0I7UUFDdkUsT0FBTyxJQUFJLFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU0sTUFBTSxDQUFDLDRCQUE0QixDQUFDLGtCQUEyQyxFQUFFLE9BQXNCO1FBQzFHLE9BQU8sSUFBSSxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxpQkFBeUMsRUFBRSxPQUFzQjtRQUN2RyxPQUFPLElBQUksWUFBWSxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZE51bWJlcmluZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9hZGQtbnVtYmVyaW5nLm1vZGVsJztcbmltcG9ydCB7IEFwcGx5RWxlbWVudFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LWVsZW1lbnQtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlJbWFnZVN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LWltYWdlLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IEFwcGx5UGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IEFwcGx5VGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LXRleHQtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWFuZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9jb21tYW5kLm1vZGVsJztcbmltcG9ydCB7IENvbW1hbmRUeXBlIH0gZnJvbSAnLi9lbnVtcy9jb21tYW5kLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBEZWxldGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZGVsZXRlLm1vZGVsJztcbmltcG9ydCB7IEZvcm1hdE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9mb3JtYXQubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0QnJlYWtNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWJyZWFrLm1vZGVsJztcbmltcG9ydCB7IEluc2VydEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWVsZW1lbnQubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0SW1hZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWltYWdlLm1vZGVsJztcbmltcG9ydCB7IEluc2VydExpbmtNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWxpbmsubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0UGFyYWdyYXBoTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC1wYXJhZ3JhcGgubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0U3R5bGVkVGV4dE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtc3R5bGVkLXRleHQubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWJsZS1jb2x1bW5zLm1vZGVsJztcbmltcG9ydCB7IEluc2VydFRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJsZVJvd3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLXJvd3MubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFiTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWIubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGV4dE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdMZXZlbE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9udW1iZXJpbmctbGV2ZWwubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9wYXJhZ3JhcGgtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgUmVtb3ZlTnVtYmVyaW5nc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZW1vdmUtbnVtYmVyaW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBSZW1vdmVUYWJsZUNvbHVtbnNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVtb3ZlLXRhYmxlLWNvbHVtbnMubW9kZWwnO1xuaW1wb3J0IHsgUmVtb3ZlVGFibGVSb3dzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3JlbW92ZS10YWJsZS1yb3dzLm1vZGVsJztcbmltcG9ydCB7IFJlcGxhY2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVwbGFjZS5tb2RlbCc7XG5pbXBvcnQgeyBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzaXplLXRhYmxlLWNvbHVtbnMubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVOdW1iZXJpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtbnVtYmVyaW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlUGFyYWdyYXBoU3R5bGVzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtcGFyYWdyYXBoLXN0eWxlcy5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlVGFibGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlVGV4dFN0eWxlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLXRleHQtc3R5bGVzLm1vZGVsJztcbmltcG9ydCB7IFRhcmdldE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90YXJnZXQubW9kZWwnO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgU2F2ZUNvbW1hbmRzSGVscGVyIHtcbiAgICBwdWJsaWMgc3RhdGljIGdldEFkZE51bWJlcmluZ0NvbW1hbmQoXG4gICAgICAgIHN0YXJ0SW5kZXg6IG51bWJlcixcbiAgICAgICAgZW5kSW5kZXg6IG51bWJlcixcbiAgICAgICAgbGV2ZWxzOiBOdW1iZXJpbmdMZXZlbE1vZGVsW10sXG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW11cbiAgICApOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCBhZGROdW1iZXJpbmcgPSBuZXcgQWRkTnVtYmVyaW5nTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCwgbGV2ZWxzIH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5BZGROdW1iZXJpbmcsIGFkZE51bWJlcmluZywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFJlbW92ZU51bWJlcmluZ3NDb21tYW5kKHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IHJlbW92ZU51bWJlcmluZ3MgPSBuZXcgUmVtb3ZlTnVtYmVyaW5nc01vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXggfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLlJlbW92ZU51bWJlcmluZ3MsIHJlbW92ZU51bWJlcmluZ3MsIHRhcmdldHMgfSk7XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UmVzdG9yZU51bWJlcmluZ3NDb21tYW5kKHJlc3RvcmVOdW1iZXJpbmdzOiBSZXN0b3JlTnVtYmVyaW5nc01vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuQWRkTnVtYmVyaW5nLCByZXN0b3JlTnVtYmVyaW5ncywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEFwcGx5SW1hZ2VTdHlsZUNvbW1hbmQoaGVpZ2h0OiBudW1iZXIsIHdpZHRoOiBudW1iZXIsIGluc2VydEluZGV4OiBudW1iZXIsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCBhcHBseUltYWdlU3R5bGUgPSBuZXcgQXBwbHlJbWFnZVN0eWxlTW9kZWwoeyBoZWlnaHQsIHdpZHRoLCBpbnNlcnRJbmRleCB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuQXBwbHlJbWFnZVN0eWxlLCBhcHBseUltYWdlU3R5bGUsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBcHBseVBhcmFncmFwaFN0eWxlQ29tbWFuZChcbiAgICAgICAgc3RhcnRJbmRleDogbnVtYmVyLFxuICAgICAgICBlbmRJbmRleDogbnVtYmVyLFxuICAgICAgICBwYXJhZ3JhcGhTdHlsZTogUGFyYWdyYXBoU3R5bGVNb2RlbCxcbiAgICAgICAgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXVxuICAgICk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IGFwcGx5UGFyYWdyYXBoU3R5bGUgPSBuZXcgQXBwbHlQYXJhZ3JhcGhTdHlsZU1vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXgsIHBhcmFncmFwaFN0eWxlIH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5BcHBseVBhcmFncmFwaFN0eWxlLCBhcHBseVBhcmFncmFwaFN0eWxlLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QXBwbHlUZXh0U3R5bGVDb21tYW5kKFxuICAgICAgICBzdGFydEluZGV4OiBudW1iZXIsXG4gICAgICAgIGVuZEluZGV4OiBudW1iZXIsXG4gICAgICAgIHRleHRTdHlsZTogVGV4dFN0eWxlTW9kZWwsXG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW11cbiAgICApOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCBhcHBseVRleHRTdHlsZSA9IG5ldyBBcHBseVRleHRTdHlsZU1vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXgsIHRleHRTdHlsZSB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuQXBwbHlUZXh0U3R5bGUsIGFwcGx5VGV4dFN0eWxlLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RGVsZXRlQ29tbWFuZChzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCBkZWxldGVNb2RlbCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXgsIGVuZEluZGV4IH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5EZWxldGUsIGRlbGV0ZTogZGVsZXRlTW9kZWwsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJbnNlcnRUZXh0Q29tbWFuZCh0ZXh0OiBzdHJpbmcsIGluc2VydEluZGV4OiBudW1iZXIsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCBpbnNlcnRUZXh0ID0gbmV3IEluc2VydFRleHRNb2RlbCh7IHRleHQsIGluc2VydEluZGV4IH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5JbnNlcnRUZXh0LCBpbnNlcnRUZXh0LCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0UGFyYWdyYXBoQ29tbWFuZChpbnNlcnRQYXJhZ3JhcGg6IEluc2VydFBhcmFncmFwaE1vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0UGFyYWdyYXBoLCBpbnNlcnRQYXJhZ3JhcGgsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJbnNlcnRTdHlsZWRUZXh0Q29tbWFuZChcbiAgICAgICAgdGV4dDogc3RyaW5nLFxuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyLFxuICAgICAgICB0ZXh0U3R5bGU6IFRleHRTdHlsZU1vZGVsLFxuICAgICAgICB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdXG4gICAgKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgaW5zZXJ0U3R5bGVkVGV4dCA9IG5ldyBJbnNlcnRTdHlsZWRUZXh0TW9kZWwoeyB0ZXh0LCBpbnNlcnRJbmRleCwgdGV4dFN0eWxlIH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5JbnNlcnRTdHlsZWRUZXh0LCBpbnNlcnRTdHlsZWRUZXh0LCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0QnJlYWtDb21tYW5kKGluc2VydEJyZWFrOiBJbnNlcnRCcmVha01vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0QnJlYWssIGluc2VydEJyZWFrLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0RWxlbWVudENvbW1hbmQoaW5zZXJ0RWxlbWVudDogSW5zZXJ0RWxlbWVudE1vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0RWxlbWVudCwgaW5zZXJ0RWxlbWVudCwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydEltYWdlQ29tbWFuZChpbnNlcnRJbWFnZTogSW5zZXJ0SW1hZ2VNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydEltYWdlLCBpbnNlcnRJbWFnZSwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydExpbmtPcGVyYXRpb24oaW5zZXJ0TGluazogSW5zZXJ0TGlua01vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0TGluaywgaW5zZXJ0TGluaywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydFRhYkNvbW1hbmQoaW5zZXJ0VGFiOiBJbnNlcnRUYWJNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydFRhYiwgaW5zZXJ0VGFiLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0VGFibGVDb21tYW5kKGluc2VydFRhYmxlOiBJbnNlcnRUYWJsZU1vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0VGFibGUsIGluc2VydFRhYmxlLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0VGFibGVDb2x1bW5zQ29tbWFuZChcbiAgICAgICAgY29sdW1uc0NvdW50OiBudW1iZXIsXG4gICAgICAgIGluaGVyaXRJbmRleDogbnVtYmVyLFxuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyLFxuICAgICAgICB0YXJnZXRJbmRleDogbnVtYmVyLFxuICAgICAgICB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdXG4gICAgKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgaW5zZXJ0VGFibGVDb2x1bW5zID0gbmV3IEluc2VydFRhYmxlQ29sdW1uc01vZGVsKHsgY29sdW1uc0NvdW50LCBpbmhlcml0SW5kZXgsIGluc2VydEluZGV4LCB0YXJnZXRJbmRleCB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0VGFibGVDb2x1bW5zLCBpbnNlcnRUYWJsZUNvbHVtbnMsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJbnNlcnRUYWJsZVJvd3NDb21tYW5kKFxuICAgICAgICByb3dzQ291bnQ6IG51bWJlcixcbiAgICAgICAgaW5oZXJpdEluZGV4OiBudW1iZXIsXG4gICAgICAgIGluc2VydEluZGV4OiBudW1iZXIsXG4gICAgICAgIHRhcmdldEluZGV4OiBudW1iZXIsXG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW11cbiAgICApOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCBpbnNlcnRUYWJsZVJvd3MgPSBuZXcgSW5zZXJ0VGFibGVSb3dzTW9kZWwoeyByb3dzQ291bnQsIGluaGVyaXRJbmRleCwgaW5zZXJ0SW5kZXgsIHRhcmdldEluZGV4IH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5JbnNlcnRUYWJsZVJvd3MsIGluc2VydFRhYmxlUm93cywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFJlbW92ZVRhYmxlQ29sdW1uc0NvbW1hbmQoXG4gICAgICAgIHN0YXJ0SW5kZXg6IG51bWJlcixcbiAgICAgICAgZW5kSW5kZXg6IG51bWJlcixcbiAgICAgICAgaW5zZXJ0SW5kZXg6IG51bWJlcixcbiAgICAgICAgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXVxuICAgICk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IHJlbW92ZVRhYmxlQ29sdW1ucyA9IG5ldyBSZW1vdmVUYWJsZUNvbHVtbnNNb2RlbCh7IHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBpbnNlcnRJbmRleCB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuUmVtb3ZlVGFibGVDb2x1bW5zLCByZW1vdmVUYWJsZUNvbHVtbnMsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRSZW1vdmVUYWJsZVJvd3NDb21tYW5kKFxuICAgICAgICBzdGFydEluZGV4OiBudW1iZXIsXG4gICAgICAgIGVuZEluZGV4OiBudW1iZXIsXG4gICAgICAgIGluc2VydEluZGV4OiBudW1iZXIsXG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW11cbiAgICApOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCByZW1vdmVUYWJsZVJvd3MgPSBuZXcgUmVtb3ZlVGFibGVSb3dzTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCwgaW5zZXJ0SW5kZXggfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLlJlbW92ZVRhYmxlUm93cywgcmVtb3ZlVGFibGVSb3dzLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UmVzdG9yZVRleHRTdHlsZXNDb21tYW5kKGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCByZXN0b3JlVGV4dFN0eWxlcyA9IG5ldyBSZXN0b3JlVGV4dFN0eWxlc01vZGVsKHsgZm9ybWF0cyB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuUmVzdG9yZVRleHRTdHlsZXMsIHJlc3RvcmVUZXh0U3R5bGVzLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UmVzdG9yZVBhcmFncmFwaFN0eWxlc0NvbW1hbmQocGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IHJlc3RvcmVQYXJhZ3JhcGhTdHlsZXMgPSBuZXcgUmVzdG9yZVBhcmFncmFwaFN0eWxlc01vZGVsKHsgcGFyYWdyYXBocyB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuUmVzdG9yZVBhcmFncmFwaFN0eWxlcywgcmVzdG9yZVBhcmFncmFwaFN0eWxlcywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFJlc3RvcmVDb21tYW5kKHJlc3RvcmVNb2RlbDogUmVzdG9yZU1vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgcmVzdG9yZSA9IG5ldyBSZXN0b3JlTW9kZWwoe1xuICAgICAgICAgICAgYnJlYWtzOiByZXN0b3JlTW9kZWwuYnJlYWtzLFxuICAgICAgICAgICAgZWxlbWVudHM6IHJlc3RvcmVNb2RlbC5lbGVtZW50cyxcbiAgICAgICAgICAgIGZvcm1hdHM6IHJlc3RvcmVNb2RlbC5mb3JtYXRzLFxuICAgICAgICAgICAgaW1hZ2VzOiByZXN0b3JlTW9kZWwuaW1hZ2VzLFxuICAgICAgICAgICAgc3RhcnRJbmRleDogcmVzdG9yZU1vZGVsLnN0YXJ0SW5kZXgsXG4gICAgICAgICAgICBlbmRJbmRleDogcmVzdG9yZU1vZGVsLmVuZEluZGV4LFxuICAgICAgICAgICAgcGFyYWdyYXBoczogcmVzdG9yZU1vZGVsLnBhcmFncmFwaHMsXG4gICAgICAgICAgICB0YWJsZXM6IHJlc3RvcmVNb2RlbC50YWJsZXMsXG4gICAgICAgICAgICB0YWJzOiByZXN0b3JlTW9kZWwudGFicyxcbiAgICAgICAgICAgIHRleHQ6IHJlc3RvcmVNb2RlbC50ZXh0XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5SZXN0b3JlLCByZXN0b3JlLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UmVzdG9yZVRhYmxlQ29tbWFuZChyZXN0b3JlVGFibGU6IFJlc3RvcmVUYWJsZU1vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuUmVzdG9yZVRhYmxlLCByZXN0b3JlVGFibGUsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRSZXBsYWNlQ29tbWFuZChtb2RlbDogUmVwbGFjZU1vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuUmVwbGFjZSwgcmVwbGFjZTogbW9kZWwsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRSZXNpemVUYWJsZUNvbHVtbnNDb21tYW5kKHJlc2l6ZVRhYmxlQ29sdW1uczogUmVzaXplVGFibGVDb2x1bW5zTW9kZWwsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5SZXNpemVUYWJsZUNvbHVtbnMsIHJlc2l6ZVRhYmxlQ29sdW1ucywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEFwcGx5RWxlbWVudFN0eWxlQ29tbWFuZChhcHBseUVsZW1lbnRTdHlsZTogQXBwbHlFbGVtZW50U3R5bGVNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkFwcGx5RWxlbWVudFN0eWxlLCBhcHBseUVsZW1lbnRTdHlsZSwgdGFyZ2V0cyB9KTtcbiAgICB9XG59XG4iXX0=
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1jb21tYW5kcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9zYXZlLWNvbW1hbmRzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU9sRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFJM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFHdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRXBH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LENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBbUIsRUFBRSxPQUFzQjtRQUN2RSxPQUFPLElBQUksWUFBWSxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsa0JBQTJDLEVBQUUsT0FBc0I7UUFDMUcsT0FBTyxJQUFJLFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLGlCQUF5QyxFQUFFLE9BQXNCO1FBQ3ZHLE9BQU8sSUFBSSxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkTnVtYmVyaW5nTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FkZC1udW1iZXJpbmcubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlFbGVtZW50U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktZWxlbWVudC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBBcHBseUltYWdlU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktaW1hZ2Utc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlQYXJhZ3JhcGhTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9hcHBseS1wYXJhZ3JhcGgtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktdGV4dC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBDb21tYW5kTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2NvbW1hbmQubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWFuZFR5cGUgfSBmcm9tICcuL2VudW1zL2NvbW1hbmQtdHlwZS5lbnVtJztcbmltcG9ydCB7IERlbGV0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9kZWxldGUubW9kZWwnO1xuaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2Zvcm1hdC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRCcmVha01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtYnJlYWsubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0RWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0TGlua01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtbGluay5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXBhcmFncmFwaC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRTdHlsZWRUZXh0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC1zdHlsZWQtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJsZUNvbHVtbnNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLWNvbHVtbnMubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFibGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IEluc2VydFRhYmxlUm93c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtdGFibGUtcm93cy5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYi5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUZXh0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10ZXh0Lm1vZGVsJztcbmltcG9ydCB7IE51bWJlcmluZ0xldmVsTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy1sZXZlbC5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBSZW1vdmVOdW1iZXJpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3JlbW92ZS1udW1iZXJpbmdzLm1vZGVsJztcbmltcG9ydCB7IFJlbW92ZVRhYmxlQ29sdW1uc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZW1vdmUtdGFibGUtY29sdW1ucy5tb2RlbCc7XG5pbXBvcnQgeyBSZW1vdmVUYWJsZVJvd3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVtb3ZlLXRhYmxlLXJvd3MubW9kZWwnO1xuaW1wb3J0IHsgUmVwbGFjZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXBsYWNlLm1vZGVsJztcbmltcG9ydCB7IFJlc2l6ZVRhYmxlQ29sdW1uc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXNpemUtdGFibGUtY29sdW1ucy5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZU51bWJlcmluZ3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS1udW1iZXJpbmdzLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS1wYXJhZ3JhcGgtc3R5bGVzLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVUYWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVUZXh0U3R5bGVzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtdGV4dC1zdHlsZXMubW9kZWwnO1xuaW1wb3J0IHsgVGFyZ2V0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RhcmdldC5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBTYXZlQ29tbWFuZHNIZWxwZXIge1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWRkTnVtYmVyaW5nQ29tbWFuZChcbiAgICAgICAgc3RhcnRJbmRleDogbnVtYmVyLFxuICAgICAgICBlbmRJbmRleDogbnVtYmVyLFxuICAgICAgICBsZXZlbHM6IE51bWJlcmluZ0xldmVsTW9kZWxbXSxcbiAgICAgICAgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXVxuICAgICk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IGFkZE51bWJlcmluZyA9IG5ldyBBZGROdW1iZXJpbmdNb2RlbCh7IHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBsZXZlbHMgfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkFkZE51bWJlcmluZywgYWRkTnVtYmVyaW5nLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UmVtb3ZlTnVtYmVyaW5nc0NvbW1hbmQoc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlTnVtYmVyaW5ncyA9IG5ldyBSZW1vdmVOdW1iZXJpbmdzTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuUmVtb3ZlTnVtYmVyaW5ncywgcmVtb3ZlTnVtYmVyaW5ncywgdGFyZ2V0cyB9KTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBnZXRSZXN0b3JlTnVtYmVyaW5nc0NvbW1hbmQocmVzdG9yZU51bWJlcmluZ3M6IFJlc3RvcmVOdW1iZXJpbmdzTW9kZWwsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5SZXN0b3JlTnVtYmVyaW5ncywgcmVzdG9yZU51bWJlcmluZ3MsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBcHBseUltYWdlU3R5bGVDb21tYW5kKGhlaWdodDogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBpbnNlcnRJbmRleDogbnVtYmVyLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgYXBwbHlJbWFnZVN0eWxlID0gbmV3IEFwcGx5SW1hZ2VTdHlsZU1vZGVsKHsgaGVpZ2h0LCB3aWR0aCwgaW5zZXJ0SW5kZXggfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkFwcGx5SW1hZ2VTdHlsZSwgYXBwbHlJbWFnZVN0eWxlLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QXBwbHlQYXJhZ3JhcGhTdHlsZUNvbW1hbmQoXG4gICAgICAgIHN0YXJ0SW5kZXg6IG51bWJlcixcbiAgICAgICAgZW5kSW5kZXg6IG51bWJlcixcbiAgICAgICAgcGFyYWdyYXBoU3R5bGU6IFBhcmFncmFwaFN0eWxlTW9kZWwsXG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW11cbiAgICApOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCBhcHBseVBhcmFncmFwaFN0eWxlID0gbmV3IEFwcGx5UGFyYWdyYXBoU3R5bGVNb2RlbCh7IHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBwYXJhZ3JhcGhTdHlsZSB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuQXBwbHlQYXJhZ3JhcGhTdHlsZSwgYXBwbHlQYXJhZ3JhcGhTdHlsZSwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEFwcGx5VGV4dFN0eWxlQ29tbWFuZChcbiAgICAgICAgc3RhcnRJbmRleDogbnVtYmVyLFxuICAgICAgICBlbmRJbmRleDogbnVtYmVyLFxuICAgICAgICB0ZXh0U3R5bGU6IFRleHRTdHlsZU1vZGVsLFxuICAgICAgICB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdXG4gICAgKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgYXBwbHlUZXh0U3R5bGUgPSBuZXcgQXBwbHlUZXh0U3R5bGVNb2RlbCh7IHN0YXJ0SW5kZXgsIGVuZEluZGV4LCB0ZXh0U3R5bGUgfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkFwcGx5VGV4dFN0eWxlLCBhcHBseVRleHRTdHlsZSwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldERlbGV0ZUNvbW1hbmQoc3RhcnRJbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgZGVsZXRlTW9kZWwgPSBuZXcgRGVsZXRlTW9kZWwoeyBzdGFydEluZGV4LCBjb3VudCB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuRGVsZXRlLCBkZWxldGU6IGRlbGV0ZU1vZGVsLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0VGV4dENvbW1hbmQodGV4dDogc3RyaW5nLCBpbnNlcnRJbmRleDogbnVtYmVyLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgaW5zZXJ0VGV4dCA9IG5ldyBJbnNlcnRUZXh0TW9kZWwoeyB0ZXh0LCBpbnNlcnRJbmRleCB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0VGV4dCwgaW5zZXJ0VGV4dCwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydFBhcmFncmFwaENvbW1hbmQoaW5zZXJ0UGFyYWdyYXBoOiBJbnNlcnRQYXJhZ3JhcGhNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydFBhcmFncmFwaCwgaW5zZXJ0UGFyYWdyYXBoLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0U3R5bGVkVGV4dENvbW1hbmQoXG4gICAgICAgIHRleHQ6IHN0cmluZyxcbiAgICAgICAgaW5zZXJ0SW5kZXg6IG51bWJlcixcbiAgICAgICAgdGV4dFN0eWxlOiBUZXh0U3R5bGVNb2RlbCxcbiAgICAgICAgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXVxuICAgICk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IGluc2VydFN0eWxlZFRleHQgPSBuZXcgSW5zZXJ0U3R5bGVkVGV4dE1vZGVsKHsgdGV4dCwgaW5zZXJ0SW5kZXgsIHRleHRTdHlsZSB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0U3R5bGVkVGV4dCwgaW5zZXJ0U3R5bGVkVGV4dCwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydEJyZWFrQ29tbWFuZChpbnNlcnRCcmVhazogSW5zZXJ0QnJlYWtNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydEJyZWFrLCBpbnNlcnRCcmVhaywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydEVsZW1lbnRDb21tYW5kKGluc2VydEVsZW1lbnQ6IEluc2VydEVsZW1lbnRNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydEVsZW1lbnQsIGluc2VydEVsZW1lbnQsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJbnNlcnRJbWFnZUNvbW1hbmQoaW5zZXJ0SW1hZ2U6IEluc2VydEltYWdlTW9kZWwsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5JbnNlcnRJbWFnZSwgaW5zZXJ0SW1hZ2UsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJbnNlcnRMaW5rT3BlcmF0aW9uKGluc2VydExpbms6IEluc2VydExpbmtNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydExpbmssIGluc2VydExpbmssIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJbnNlcnRUYWJDb21tYW5kKGluc2VydFRhYjogSW5zZXJ0VGFiTW9kZWwsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5JbnNlcnRUYWIsIGluc2VydFRhYiwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydFRhYmxlQ29tbWFuZChpbnNlcnRUYWJsZTogSW5zZXJ0VGFibGVNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydFRhYmxlLCBpbnNlcnRUYWJsZSwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEluc2VydFRhYmxlQ29sdW1uc0NvbW1hbmQoXG4gICAgICAgIGNvbHVtbnNDb3VudDogbnVtYmVyLFxuICAgICAgICBpbmhlcml0SW5kZXg6IG51bWJlcixcbiAgICAgICAgaW5zZXJ0SW5kZXg6IG51bWJlcixcbiAgICAgICAgdGFyZ2V0SW5kZXg6IG51bWJlcixcbiAgICAgICAgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXVxuICAgICk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IGluc2VydFRhYmxlQ29sdW1ucyA9IG5ldyBJbnNlcnRUYWJsZUNvbHVtbnNNb2RlbCh7IGNvbHVtbnNDb3VudCwgaW5oZXJpdEluZGV4LCBpbnNlcnRJbmRleCwgdGFyZ2V0SW5kZXggfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLkluc2VydFRhYmxlQ29sdW1ucywgaW5zZXJ0VGFibGVDb2x1bW5zLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zZXJ0VGFibGVSb3dzQ29tbWFuZChcbiAgICAgICAgcm93c0NvdW50OiBudW1iZXIsXG4gICAgICAgIGluaGVyaXRJbmRleDogbnVtYmVyLFxuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyLFxuICAgICAgICB0YXJnZXRJbmRleDogbnVtYmVyLFxuICAgICAgICB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdXG4gICAgKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgaW5zZXJ0VGFibGVSb3dzID0gbmV3IEluc2VydFRhYmxlUm93c01vZGVsKHsgcm93c0NvdW50LCBpbmhlcml0SW5kZXgsIGluc2VydEluZGV4LCB0YXJnZXRJbmRleCB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuSW5zZXJ0VGFibGVSb3dzLCBpbnNlcnRUYWJsZVJvd3MsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRSZW1vdmVUYWJsZUNvbHVtbnNDb21tYW5kKFxuICAgICAgICBzdGFydEluZGV4OiBudW1iZXIsXG4gICAgICAgIGVuZEluZGV4OiBudW1iZXIsXG4gICAgICAgIGluc2VydEluZGV4OiBudW1iZXIsXG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW11cbiAgICApOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCByZW1vdmVUYWJsZUNvbHVtbnMgPSBuZXcgUmVtb3ZlVGFibGVDb2x1bW5zTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCwgaW5zZXJ0SW5kZXggfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLlJlbW92ZVRhYmxlQ29sdW1ucywgcmVtb3ZlVGFibGVDb2x1bW5zLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UmVtb3ZlVGFibGVSb3dzQ29tbWFuZChcbiAgICAgICAgc3RhcnRJbmRleDogbnVtYmVyLFxuICAgICAgICBlbmRJbmRleDogbnVtYmVyLFxuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyLFxuICAgICAgICB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdXG4gICAgKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlVGFibGVSb3dzID0gbmV3IFJlbW92ZVRhYmxlUm93c01vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXgsIGluc2VydEluZGV4IH0pO1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5SZW1vdmVUYWJsZVJvd3MsIHJlbW92ZVRhYmxlUm93cywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFJlc3RvcmVUZXh0U3R5bGVzQ29tbWFuZChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgY29uc3QgcmVzdG9yZVRleHRTdHlsZXMgPSBuZXcgUmVzdG9yZVRleHRTdHlsZXNNb2RlbCh7IGZvcm1hdHMgfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLlJlc3RvcmVUZXh0U3R5bGVzLCByZXN0b3JlVGV4dFN0eWxlcywgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXNDb21tYW5kKHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICBjb25zdCByZXN0b3JlUGFyYWdyYXBoU3R5bGVzID0gbmV3IFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXNNb2RlbCh7IHBhcmFncmFwaHMgfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLlJlc3RvcmVQYXJhZ3JhcGhTdHlsZXMsIHJlc3RvcmVQYXJhZ3JhcGhTdHlsZXMsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRSZXN0b3JlQ29tbWFuZChyZXN0b3JlTW9kZWw6IFJlc3RvcmVNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIGNvbnN0IHJlc3RvcmUgPSBuZXcgUmVzdG9yZU1vZGVsKHtcbiAgICAgICAgICAgIGJyZWFrczogcmVzdG9yZU1vZGVsLmJyZWFrcyxcbiAgICAgICAgICAgIGVsZW1lbnRzOiByZXN0b3JlTW9kZWwuZWxlbWVudHMsXG4gICAgICAgICAgICBmb3JtYXRzOiByZXN0b3JlTW9kZWwuZm9ybWF0cyxcbiAgICAgICAgICAgIGltYWdlczogcmVzdG9yZU1vZGVsLmltYWdlcyxcbiAgICAgICAgICAgIHN0YXJ0SW5kZXg6IHJlc3RvcmVNb2RlbC5zdGFydEluZGV4LFxuICAgICAgICAgICAgZW5kSW5kZXg6IHJlc3RvcmVNb2RlbC5lbmRJbmRleCxcbiAgICAgICAgICAgIHBhcmFncmFwaHM6IHJlc3RvcmVNb2RlbC5wYXJhZ3JhcGhzLFxuICAgICAgICAgICAgdGFibGVzOiByZXN0b3JlTW9kZWwudGFibGVzLFxuICAgICAgICAgICAgdGFiczogcmVzdG9yZU1vZGVsLnRhYnMsXG4gICAgICAgICAgICB0ZXh0OiByZXN0b3JlTW9kZWwudGV4dCxcbiAgICAgICAgICAgIGxpbmtzOiByZXN0b3JlTW9kZWwubGlua3NcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLlJlc3RvcmUsIHJlc3RvcmUsIHRhcmdldHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRSZXN0b3JlVGFibGVDb21tYW5kKHJlc3RvcmVUYWJsZTogUmVzdG9yZVRhYmxlTW9kZWwsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5SZXN0b3JlVGFibGUsIHJlc3RvcmVUYWJsZSwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFJlcGxhY2VDb21tYW5kKG1vZGVsOiBSZXBsYWNlTW9kZWwsIHRhcmdldHM6IFRhcmdldE1vZGVsW10pOiBDb21tYW5kTW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbW1hbmRNb2RlbCh7IGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZS5SZXBsYWNlLCByZXBsYWNlOiBtb2RlbCwgdGFyZ2V0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFJlc2l6ZVRhYmxlQ29sdW1uc0NvbW1hbmQocmVzaXplVGFibGVDb2x1bW5zOiBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbCwgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IENvbW1hbmRNb2RlbCB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZE1vZGVsKHsgY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLlJlc2l6ZVRhYmxlQ29sdW1ucywgcmVzaXplVGFibGVDb2x1bW5zLCB0YXJnZXRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QXBwbHlFbGVtZW50U3R5bGVDb21tYW5kKGFwcGx5RWxlbWVudFN0eWxlOiBBcHBseUVsZW1lbnRTdHlsZU1vZGVsLCB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogQ29tbWFuZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kTW9kZWwoeyBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUuQXBwbHlFbGVtZW50U3R5bGUsIGFwcGx5RWxlbWVudFN0eWxlLCB0YXJnZXRzIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -32,5 +32,14 @@ export class ContentHelper {
|
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
+
static getContentFromInsertParagraph(insertParagraph) {
|
|
36
|
+
if (insertParagraph.insertImage) {
|
|
37
|
+
return insertParagraph.insertImage.imageData.content;
|
|
38
|
+
}
|
|
39
|
+
if (insertParagraph.insertTable) {
|
|
40
|
+
return insertParagraph.insertTable.content;
|
|
41
|
+
}
|
|
42
|
+
return insertParagraph.insertText.text;
|
|
43
|
+
}
|
|
35
44
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvcG9zaXRpb25pbmcvY29udGVudC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3JELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxVQUFnQyxFQUFFLGVBQXVCO1FBQzFGLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQzFFLFNBQVMsR0FBRyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDNUUsT0FBTyxJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLFVBQWdDLEVBQUUsZUFBdUI7UUFDL0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNqRixJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQzNELE9BQU8sSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFnQyxFQUFFLFNBQTBCO1FBQ2hHLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsTUFBTSxDQUFDLDhCQUE4QixDQUFDLFVBQWdDLEVBQUUsS0FBWTtRQUNoRixPQUFPO1lBQ0gsVUFBVSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMxRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztTQUM3RSxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxVQUFnQyxFQUFFLFNBQWlCLEVBQUUsS0FBYTtRQUM5RixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQy9CLFFBQWEsRUFDYixjQUF3QixFQUN4QixVQUFrQixFQUNsQixRQUFnQjtRQUVoQixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxVQUFVLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxRQUFRLEVBQUU7Z0JBQzFELGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQzthQUNuRDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxlQUFxQztRQUN0RSxJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUU7WUFDN0IsT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDeEQ7UUFFRCxJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUU7WUFDN0IsT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztTQUM5QztRQUVELE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDM0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zZXJ0UGFyYWdyYXBoTW9kZWwgfSBmcm9tICcuLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXBhcmFncmFwaC5tb2RlbCc7XG5pbXBvcnQgeyBDdXJzb3JQYXJhZ3JhcGggfSBmcm9tICcuL2N1cnNvci1wYXJhZ3JhcGgnO1xuaW1wb3J0IHsgSW5zZXJ0SW5kZXhJbnRlcmZhY2UgfSBmcm9tICcuL2luc2VydC1pbmRleC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGFyYWdyYXBoSW5mb01vZGVsIH0gZnJvbSAnLi4vY29udGVudC9kaXNwbGF5LWRhdGEvbW9kZWxzL3BhcmFncmFwaC1pbmZvLm1vZGVsJztcbmltcG9ydCB7IFJhbmdlIH0gZnJvbSAnLi9yYW5nZSc7XG5cbmV4cG9ydCBjbGFzcyBDb250ZW50SGVscGVyIHtcbiAgICBzdGF0aWMgZG9jdW1lbnRJbmRleFRvUGFyYWdyYXBoSW5kZXgocGFyYWdyYXBoczogUGFyYWdyYXBoSW5mb01vZGVsW10sIGluZGV4SW5Eb2N1bWVudDogbnVtYmVyKTogQ3Vyc29yUGFyYWdyYXBoIHtcbiAgICAgICAgbGV0IHBhcmFncmFwaCA9IHBhcmFncmFwaHMuZmluZEluZGV4KHggPT4geC5zdGFydEluZGV4ID4gaW5kZXhJbkRvY3VtZW50KTtcbiAgICAgICAgcGFyYWdyYXBoID0gcGFyYWdyYXBoID09PSAtMSA/IHBhcmFncmFwaHMubGVuZ3RoIC0gMSA6IHBhcmFncmFwaCAtIDE7XG4gICAgICAgIGNvbnN0IGluZGV4SW5QYXJhZ3JhcGggPSBpbmRleEluRG9jdW1lbnQgLSBwYXJhZ3JhcGhzW3BhcmFncmFwaF0uc3RhcnRJbmRleDtcbiAgICAgICAgcmV0dXJuIG5ldyBDdXJzb3JQYXJhZ3JhcGgocGFyYWdyYXBoLCBpbmRleEluUGFyYWdyYXBoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZG9jdW1lbnRJbmRleFRvUGFyYWdyYXBoV2l0aE9mZnNldChwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhJbmZvTW9kZWxbXSwgaW5kZXhJbkRvY3VtZW50OiBudW1iZXIpOiBDdXJzb3JQYXJhZ3JhcGgge1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuZG9jdW1lbnRJbmRleFRvUGFyYWdyYXBoSW5kZXgocGFyYWdyYXBocywgaW5kZXhJbkRvY3VtZW50KTtcbiAgICAgICAgaWYgKHBvc2l0aW9uLmNvbHVtbiA8IHBhcmFncmFwaHNbcG9zaXRpb24ucm93XS5jb250ZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJzb3JQYXJhZ3JhcGgocG9zaXRpb24ucm93LCBwb3NpdGlvbi5jb2x1bW4gKyAxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9zaXRpb247XG4gICAgfVxuXG4gICAgc3RhdGljIHBhcmFncmFwaFBvc2l0aW9uVG9Eb2N1bWVudEluZGV4KHBhcmFncmFwaHM6IFBhcmFncmFwaEluZm9Nb2RlbFtdLCBwYXJhZ3JhcGg6IEN1cnNvclBhcmFncmFwaCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmFncmFwaFRvRG9jdW1lbnRJbmRleChwYXJhZ3JhcGhzLCBwYXJhZ3JhcGgucm93LCBwYXJhZ3JhcGguY29sdW1uKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0U2VsZWN0ZWRQYXJ0RG9jdW1lbnRJbmRleGVzKHBhcmFncmFwaHM6IFBhcmFncmFwaEluZm9Nb2RlbFtdLCByYW5nZTogUmFuZ2UpOiB7IHN0YXJ0SW5kZXg6IG51bWJlcjsgZW5kSW5kZXg6IG51bWJlciB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXg6IHRoaXMucGFyYWdyYXBoUG9zaXRpb25Ub0RvY3VtZW50SW5kZXgocGFyYWdyYXBocywgcmFuZ2Uuc3RhcnQpLFxuICAgICAgICAgICAgZW5kSW5kZXg6IHRoaXMucGFyYWdyYXBoUG9zaXRpb25Ub0RvY3VtZW50SW5kZXgocGFyYWdyYXBocywgcmFuZ2UuZW5kKSAtIDFcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcGFyYWdyYXBoVG9Eb2N1bWVudEluZGV4KHBhcmFncmFwaHM6IFBhcmFncmFwaEluZm9Nb2RlbFtdLCBwYXJhZ3JhcGg6IG51bWJlciwgaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJhZ3JhcGhzW3BhcmFncmFwaF0uc3RhcnRJbmRleCArIGluZGV4O1xuICAgIH1cblxuICAgIHN0YXRpYyBzZXRJbmRleGVzRWxlbWVudHNJbkludGVydmFsPFQgZXh0ZW5kcyBJbnNlcnRJbmRleEludGVyZmFjZT4oXG4gICAgICAgIGVsZW1lbnRzOiBUW10sXG4gICAgICAgIGVsZW1lbnRJbmRleGVzOiBudW1iZXJbXSxcbiAgICAgICAgc3RhcnRJbmRleDogbnVtYmVyLFxuICAgICAgICBlbmRJbmRleDogbnVtYmVyXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICBpZiAoeC5pbnNlcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIHguaW5zZXJ0SW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50SW5kZXhlcy5wdXNoKHguaW5zZXJ0SW5kZXggLSBzdGFydEluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldENvbnRlbnRGcm9tSW5zZXJ0UGFyYWdyYXBoKGluc2VydFBhcmFncmFwaDogSW5zZXJ0UGFyYWdyYXBoTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICBpZiAoaW5zZXJ0UGFyYWdyYXBoLmluc2VydEltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5zZXJ0UGFyYWdyYXBoLmluc2VydEltYWdlLmltYWdlRGF0YS5jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluc2VydFBhcmFncmFwaC5pbnNlcnRUYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGluc2VydFBhcmFncmFwaC5pbnNlcnRUYWJsZS5jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc2VydFBhcmFncmFwaC5pbnNlcnRUZXh0LnRleHQ7XG4gICAgfVxufVxuIl19
|
|
@@ -109,46 +109,67 @@ export class PositionHelper {
|
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
|
-
*
|
|
112
|
+
* Calculates the paragraph and line index based on the given Y position.
|
|
113
113
|
**/
|
|
114
|
-
static
|
|
115
|
-
const displayData = session
|
|
116
|
-
|
|
117
|
-
let
|
|
118
|
-
let paragraphIndex = displayData.paragraphs.findIndex(paragraph => paragraph.paragraphSettings.distanceFromTop > yPos);
|
|
114
|
+
static getParagraphAndLineIndexFromYPosition(session, yPosition, top) {
|
|
115
|
+
const { displayData, scrollTop } = session;
|
|
116
|
+
yPosition += scrollTop - top;
|
|
117
|
+
let paragraphIndex = displayData.paragraphs.findIndex(paragraph => paragraph.paragraphSettings.distanceFromTop > yPosition);
|
|
119
118
|
if (paragraphIndex < 0) {
|
|
120
119
|
paragraphIndex = displayData.paragraphs.length - 1;
|
|
121
120
|
}
|
|
122
121
|
else if (paragraphIndex > 0) {
|
|
123
122
|
paragraphIndex--;
|
|
124
123
|
}
|
|
125
|
-
const paragraphSettings = displayData.
|
|
126
|
-
|
|
124
|
+
const paragraphSettings = displayData.paragraphs[paragraphIndex].paragraphSettings;
|
|
125
|
+
yPosition -= paragraphSettings.distanceFromTop;
|
|
127
126
|
let lineIndex = 0;
|
|
128
|
-
while (
|
|
129
|
-
const
|
|
130
|
-
const
|
|
131
|
-
if (
|
|
127
|
+
while (yPosition > 0 && lineIndex < paragraphSettings.textLinesInfo.length - 1) {
|
|
128
|
+
const lineInfo = paragraphSettings.textLinesInfo[lineIndex];
|
|
129
|
+
const lineHeight = lineInfo.height + lineInfo.endPageOffset + lineInfo.offsetBefore + lineInfo.offsetAfter;
|
|
130
|
+
if (yPosition <= lineHeight) {
|
|
132
131
|
break;
|
|
133
132
|
}
|
|
134
133
|
lineIndex++;
|
|
135
|
-
|
|
134
|
+
yPosition -= lineHeight;
|
|
136
135
|
}
|
|
136
|
+
return { paragraphIndex, lineIndex };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Maps a pixel position to a screen position using half-token width comparison.
|
|
140
|
+
*/
|
|
141
|
+
static mapPixelToClosestTokenMidpoint(session, xPixel, paragraphIndex, lineIndex, leftOffset) {
|
|
142
|
+
const paragraphSettings = session.displayData.paragraphs[paragraphIndex].paragraphSettings;
|
|
137
143
|
const line = paragraphSettings.textLinesInfo[lineIndex].screenLine;
|
|
138
|
-
let
|
|
139
|
-
let
|
|
144
|
+
let indexInLine = 0;
|
|
145
|
+
let relativeX = xPixel - leftOffset - session.displayData.pageMargin.left - paragraphSettings.textLinesInfo[lineIndex].paddingLeft;
|
|
140
146
|
const tokens = LineWidthHelper.getParagraphLineDisplayTokens(session, paragraphIndex, lineIndex);
|
|
141
147
|
if (tokens[0].displayValue === DisplayValue.emptyLine) {
|
|
142
|
-
return
|
|
148
|
+
return { line, indexInLine };
|
|
143
149
|
}
|
|
144
|
-
while (tokens.length
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
+
while (indexInLine < tokens.length && relativeX >= tokens[indexInLine].width / 2) {
|
|
151
|
+
relativeX -= tokens[indexInLine].width;
|
|
152
|
+
indexInLine++;
|
|
153
|
+
}
|
|
154
|
+
return { line, indexInLine };
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Maps a pixel position to a screen position using full-token width comparison.
|
|
158
|
+
*/
|
|
159
|
+
static mapPixelToNextTokenBoundary(session, xPixel, paragraphIndex, lineIndex, leftOffset) {
|
|
160
|
+
const paragraphSettings = session.displayData.paragraphs[paragraphIndex].paragraphSettings;
|
|
161
|
+
const line = paragraphSettings.textLinesInfo[lineIndex].screenLine;
|
|
162
|
+
let indexInLine = 0;
|
|
163
|
+
let relativeX = xPixel - leftOffset - session.displayData.pageMargin.left - paragraphSettings.textLinesInfo[lineIndex].paddingLeft;
|
|
164
|
+
const tokens = LineWidthHelper.getParagraphLineDisplayTokens(session, paragraphIndex, lineIndex);
|
|
165
|
+
if (tokens[0].displayValue === DisplayValue.emptyLine) {
|
|
166
|
+
return { line, indexInLine };
|
|
150
167
|
}
|
|
151
|
-
|
|
168
|
+
while (indexInLine < tokens.length && relativeX >= tokens[indexInLine].width) {
|
|
169
|
+
relativeX -= tokens[indexInLine].width;
|
|
170
|
+
indexInLine++;
|
|
171
|
+
}
|
|
172
|
+
return { line, indexInLine };
|
|
152
173
|
}
|
|
153
174
|
static findLineInParagraphs(paragraphs, documentLine) {
|
|
154
175
|
let index = 0;
|
|
@@ -180,17 +201,10 @@ export class PositionHelper {
|
|
|
180
201
|
}
|
|
181
202
|
return column;
|
|
182
203
|
}
|
|
183
|
-
static pixelToPage(
|
|
184
|
-
const
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const endPagePosition = (session.displayData.pagesSpace + session.displayData.pageHeight) * page;
|
|
188
|
-
if (endPagePosition >= posY) {
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
191
|
-
page++;
|
|
192
|
-
}
|
|
193
|
-
return page;
|
|
204
|
+
static pixelToPage(clientY, mainSession, mainRenderer) {
|
|
205
|
+
const positionY = clientY + mainSession.scrollTop - mainRenderer.container.getBoundingClientRect().top;
|
|
206
|
+
const height = mainSession.displayData.pagesSpace + mainSession.displayData.pageHeight;
|
|
207
|
+
return Math.floor(positionY / height) + 1;
|
|
194
208
|
}
|
|
195
209
|
}
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL3Bvc2l0aW9uaW5nL3Bvc2l0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUl0RCxNQUFNLE9BQU8sY0FBYztJQUN2Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBb0IsRUFBRSxnQkFBaUM7UUFDMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckcsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7O1FBRUk7SUFDSixNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBZ0MsRUFBRSxHQUFXO1FBQ3RFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FB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O1FBQzNGLElBQUksS0FBSyxHQUFHLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDM0UsT0FBTyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUM1RCxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM5QixNQUFNLEVBQUUsQ0FBQztTQUNaO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBWSxFQUFFLE9BQW9CO1FBQ2pELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUN0SCxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLElBQUksSUFBSSxVQUFVLEVBQUU7WUFDdkIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNqRyxJQUFJLGVBQWUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3pCLE1BQU07YUFDVDtZQUNELElBQUksRUFBRSxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJzb3JQYXJhZ3JhcGggfSBmcm9tICcuL2N1cnNvci1wYXJhZ3JhcGgnO1xuaW1wb3J0IHsgQ3Vyc29yUG9zaXRpb24gfSBmcm9tICcuL2N1cnNvci1wb3NpdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlzcGxheVZhbHVlIH0gZnJvbSAnLi4vY29udGVudC9jb25zdGFudHMvZGlzcGxheS12YWx1ZXMuY29uc3QnO1xuaW1wb3J0IHsgRWRpdFNlc3Npb24gfSBmcm9tICcuLi9leGVjdXRpb24vZWRpdC5zZXNzaW9uJztcbmltcG9ydCB7IElGb250TWV0cmljU2l6ZSB9IGZyb20gJy4uL2dhZGdldHMvZm9udC1tZXRyaWNzL2ZvbnQtbWV0cmljLXNpemUuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpbmVXaWR0aEhlbHBlciB9IGZyb20gJy4vbGluZS13aWR0aC5oZWxwZXInO1xuaW1wb3J0IHsgUGFyYWdyYXBoSW5mbyB9IGZyb20gJy4uL2NvbnRlbnQvZGlzcGxheS1kYXRhL3BhcmFncmFwaC1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhJbmZvTW9kZWwgfSBmcm9tICcuLi9jb250ZW50L2Rpc3BsYXktZGF0YS9tb2RlbHMvcGFyYWdyYXBoLWluZm8ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUG9zaXRpb25IZWxwZXIge1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGBwYWdlWGAgYW5kIGBwYWdlWWAgY29vcmRpbmF0ZXMgb2YgdGhlIGRvY3VtZW50IHBvc2l0aW9uLlxuICAgICAqL1xuICAgIHN0YXRpYyBkb2N1bWVudFRvUGl4ZWwoc2Vzc2lvbjogRWRpdFNlc3Npb24sIGRvY3VtZW50UG9zaXRpb246IEN1cnNvclBhcmFncmFwaCk6IEN1cnNvclBvc2l0aW9uIHtcbiAgICAgICAgY29uc3Qgc2NyZWVuUG9zaXRpb24gPSB0aGlzLmRvY3VtZW50VG9TY3JlZW4oc2Vzc2lvbiwgZG9jdW1lbnRQb3NpdGlvbi5yb3csIGRvY3VtZW50UG9zaXRpb24uY29sdW1uKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zY3JlZW5Ub1BpeGVsKHNlc3Npb24sIHNjcmVlblBvc2l0aW9uLnJvdywgc2NyZWVuUG9zaXRpb24uY29sdW1uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgcGFyYWdyYXBoIGluZm8gKHBhcmFncmFwaCBpbmRleCwgcGFyYWdyYXBoIGxpbmUgaW5kZXgsIGxpbmUgdG9wIG9mZnNldCBhbmQgb3RoZXJzKSBieSByb3cgaW5kZXhcbiAgICAgKiovXG4gICAgc3RhdGljIGdldFBhcmFncmFwaEluZm9CeVJvdyhwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhJbmZvTW9kZWxbXSwgcm93OiBudW1iZXIpOiBQYXJhZ3JhcGhJbmZvIHtcbiAgICAgICAgY29uc3QgeyBwYXJhZ3JhcGhJbmRleCwgbGluZUluZGV4IH0gPSB0aGlzLmZpbmRMaW5lSW5QYXJhZ3JhcGhzKHBhcmFncmFwaHMsIHJvdyk7XG4gICAgICAgIGxldCBsaW5lVG9wT2Zmc2V0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lSW5kZXg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaW5mbyA9IHBhcmFncmFwaHNbcGFyYWdyYXBoSW5kZXhdLnBhcmFncmFwaFNldHRpbmdzLnRleHRMaW5lc0luZm9baV07XG4gICAgICAgICAgICBsaW5lVG9wT2Zmc2V0ICs9IGluZm8uaGVpZ2h0ICsgaW5mby5lbmRQYWdlT2Zmc2V0ICsgaW5mby5vZmZzZXRCZWZvcmUgKyBpbmZvLm9mZnNldEFmdGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyYWdyYXBoTGluZUluZm8gPSBwYXJhZ3JhcGhzW3BhcmFncmFwaEluZGV4XS5wYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvW2xpbmVJbmRleF07XG4gICAgICAgIGxpbmVUb3BPZmZzZXQgKz0gcGFyYWdyYXBoTGluZUluZm8ub2Zmc2V0QmVmb3JlO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXJhZ3JhcGhJbmRleCxcbiAgICAgICAgICAgIGxpbmVJbmRleCxcbiAgICAgICAgICAgIGxpbmVUb3BPZmZzZXQsXG4gICAgICAgICAgICBpbmRlbnRCZWZvcmU6IHBhcmFncmFwaExpbmVJbmZvLm9mZnNldEJlZm9yZSxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IHBhcmFncmFwaExpbmVJbmZvLmhlaWdodFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBkb2N1bWVudFRvU2NyZWVuKHNlc3Npb246IEVkaXRTZXNzaW9uLCBwYXJhZ3JhcGg6IG51bWJlciwgaW5kZXhJblBhcmFncmFwaDogbnVtYmVyKTogQ3Vyc29yUGFyYWdyYXBoIHtcbiAgICAgICAgY29uc3QgcGFyYWdyYXBoTGluZSA9IHNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBoc1twYXJhZ3JhcGhdLmxpbmVOdW1iZXI7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHNbcGFyYWdyYXBoXS5uZXh0TGluZUluZGV4ZXMubGVuZ3RoIHx8XG4gICAgICAgICAgICBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHNbcGFyYWdyYXBoXS5uZXh0TGluZUluZGV4ZXNbMF0gPiBpbmRleEluUGFyYWdyYXBoXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJzb3JQYXJhZ3JhcGgocGFyYWdyYXBoTGluZSwgaW5kZXhJblBhcmFncmFwaCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGluZSA9IDA7XG4gICAgICAgIHdoaWxlIChcbiAgICAgICAgICAgIHNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBoc1twYXJhZ3JhcGhdLm5leHRMaW5lSW5kZXhlc1tsaW5lXSA8PSBpbmRleEluUGFyYWdyYXBoICYmXG4gICAgICAgICAgICBsaW5lIDwgc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzW3BhcmFncmFwaF0ubmV4dExpbmVJbmRleGVzLmxlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxpbmUrKztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbmRleCA9IGluZGV4SW5QYXJhZ3JhcGggLSBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHNbcGFyYWdyYXBoXS5uZXh0TGluZUluZGV4ZXNbbGluZSAtIDFdO1xuICAgICAgICByZXR1cm4gbmV3IEN1cnNvclBhcmFncmFwaChwYXJhZ3JhcGhMaW5lICsgbGluZSwgaW5kZXgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzY3JlZW5Ub0RvY3VtZW50KHNlc3Npb246IEVkaXRTZXNzaW9uLCBsaW5lOiBudW1iZXIsIGluZGV4SW5MaW5lOiBudW1iZXIpOiBDdXJzb3JQYXJhZ3JhcGgge1xuICAgICAgICBsZXQgcGFyYWdyYXBoID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzLmZpbmRJbmRleCh4ID0+IHgubGluZU51bWJlciA+IGxpbmUpO1xuICAgICAgICBpZiAocGFyYWdyYXBoID09PSAtMSkge1xuICAgICAgICAgICAgcGFyYWdyYXBoID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzLmxlbmd0aCAtIDE7XG4gICAgICAgIH0gZWxzZSBpZiAocGFyYWdyYXBoID4gMCkge1xuICAgICAgICAgICAgcGFyYWdyYXBoID0gcGFyYWdyYXBoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGluZUluUGFyYWdyYXBoID0gbGluZSAtIHNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBoc1twYXJhZ3JhcGhdLmxpbmVOdW1iZXI7XG4gICAgICAgIGlmICghc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzW3BhcmFncmFwaF0ubmV4dExpbmVJbmRleGVzLmxlbmd0aCB8fCBsaW5lSW5QYXJhZ3JhcGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ3Vyc29yUGFyYWdyYXBoKHBhcmFncmFwaCwgaW5kZXhJbkxpbmUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaW5kZXhJbkxpbmUgKyBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHNbcGFyYWdyYXBoXS5uZXh0TGluZUluZGV4ZXNbbGluZUluUGFyYWdyYXBoIC0gMV07XG4gICAgICAgIHJldHVybiBuZXcgQ3Vyc29yUGFyYWdyYXBoKHBhcmFncmFwaCwgaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGBwYWdlWGAgYW5kIGBwYWdlWWAgY29vcmRpbmF0ZXMgb2YgdGhlIGRvY3VtZW50IHBvc2l0aW9uLlxuICAgICAqKi9cbiAgICBzdGF0aWMgc2NyZWVuVG9QaXhlbChzZXNzaW9uOiBFZGl0U2Vzc2lvbiwgcm93OiBudW1iZXIsIGNvbHVtbjogbnVtYmVyKTogQ3Vyc29yUG9zaXRpb24ge1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhzID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzO1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhJbmZvID0gdGhpcy5nZXRQYXJhZ3JhcGhJbmZvQnlSb3cocGFyYWdyYXBocywgcm93KTtcbiAgICAgICAgY29uc3QgdG9rZW5zID0gTGluZVdpZHRoSGVscGVyLmdldFBhcmFncmFwaExpbmVEaXNwbGF5VG9rZW5zKHNlc3Npb24sIHBhcmFncmFwaEluZm8ucGFyYWdyYXBoSW5kZXgsIHBhcmFncmFwaEluZm8ubGluZUluZGV4KTtcblxuICAgICAgICBsZXQgc2l6ZTogSUZvbnRNZXRyaWNTaXplID0ge1xuICAgICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgICBoZWlnaHQ6IHBhcmFncmFwaEluZm8ubGluZUhlaWdodCxcbiAgICAgICAgICAgIGJhc2VsaW5lOiBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQsXG4gICAgICAgICAgICBjb250ZW50OiBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQsXG4gICAgICAgICAgICBmb250OiBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQsXG4gICAgICAgICAgICBsaW5lOiBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQsXG4gICAgICAgICAgICBtdWx0aXBsaWVyOiBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQsXG4gICAgICAgICAgICBhc2NlbnQ6IDAsXG4gICAgICAgICAgICBkZXNjZW50OiAwXG4gICAgICAgIH07XG4gICAgICAgIGxldCB0b2tlbkluZGV4ID0gY29sdW1uID4gMCA/IGNvbHVtbiAtIDEgOiBjb2x1bW47XG4gICAgICAgIGlmICh0b2tlbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc2l6ZSA9IHRva2Vuc1t0b2tlbkluZGV4XTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNpemVOZXh0ID0gdG9rZW5zW3Rva2VuSW5kZXggKyAxXTtcbiAgICAgICAgbGV0IHNpemVNYXggPSB7IC4uLnNpemUgfTtcbiAgICAgICAgbGV0IGxpbmVXaWR0aFRvUG9zaXRpb24gPSBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhZ2VNYXJnaW4ubGVmdDtcbiAgICAgICAgZm9yIChsZXQgY3VycmVudENvbHVtbiA9IDA7IGN1cnJlbnRDb2x1bW4gPCB0b2tlbnMubGVuZ3RoOyBjdXJyZW50Q29sdW1uKyspIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50Q29sdW1uIDwgY29sdW1uKSB7XG4gICAgICAgICAgICAgICAgbGluZVdpZHRoVG9Qb3NpdGlvbiArPSB0b2tlbnNbY3VycmVudENvbHVtbl0ud2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzaXplTWF4LmFzY2VudCA8IHRva2Vuc1tjdXJyZW50Q29sdW1uXS5hc2NlbnQpIHtcbiAgICAgICAgICAgICAgICBzaXplTWF4ID0gdG9rZW5zW2N1cnJlbnRDb2x1bW5dO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRva2Vuc1t0b2tlbkluZGV4XT8uaXNUYWJsZSkge1xuICAgICAgICAgICAgc2l6ZU1heC5hc2NlbnQgPSBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJhZ3JhcGggPSBwYXJhZ3JhcGhzW3BhcmFncmFwaEluZm8ucGFyYWdyYXBoSW5kZXhdO1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhUb3AgPSBwYXJhZ3JhcGgucGFyYWdyYXBoU2V0dGluZ3MuZGlzdGFuY2VGcm9tVG9wIHx8IDA7XG4gICAgICAgIGNvbnN0IGxpbmVQYWRkaW5nTGVmdCA9IHBhcmFncmFwaC5wYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvW3BhcmFncmFwaEluZm8ubGluZUluZGV4XS5wYWRkaW5nTGVmdDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGFnZVg6IGxpbmVXaWR0aFRvUG9zaXRpb24gKyBsaW5lUGFkZGluZ0xlZnQsXG4gICAgICAgICAgICBwYWdlWTogcGFyYWdyYXBoVG9wICsgcGFyYWdyYXBoSW5mby5saW5lVG9wT2Zmc2V0IC0gc2Vzc2lvbi5zY3JvbGxUb3AsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQsXG4gICAgICAgICAgICBzaXplQ3VycmVudDogc2l6ZSxcbiAgICAgICAgICAgIHNpemVNYXgsXG4gICAgICAgICAgICBzaXplTmV4dCxcbiAgICAgICAgICAgIGZpcnN0Q2hhcjogY29sdW1uID09PSAwLFxuICAgICAgICAgICAgbGFzdENoYXI6IGNvbHVtbiA9PT0gdG9rZW5zLmxlbmd0aCAtIDFcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBwaXhlbCBwb3NpdGlvbiB0byBzY3JlZW4gcG9zaXRpb25cbiAgICAgKiovXG4gICAgc3RhdGljIHBpeGVsVG9TY3JlZW4oc2Vzc2lvbjogRWRpdFNlc3Npb24sIHg6IG51bWJlciwgeTogbnVtYmVyLCBzY3JvbGxlclBvc2l0aW9uOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSk6IEN1cnNvclBhcmFncmFwaCB7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlEYXRhID0gc2Vzc2lvbi5kaXNwbGF5RGF0YTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gc2Vzc2lvbi5zY3JvbGxUb3A7XG5cbiAgICAgICAgbGV0IHlQb3MgPSB5ICsgc2Nyb2xsVG9wIC0gc2Nyb2xsZXJQb3NpdGlvbi50b3A7XG4gICAgICAgIGxldCBwYXJhZ3JhcGhJbmRleCA9IGRpc3BsYXlEYXRhLnBhcmFncmFwaHMuZmluZEluZGV4KHBhcmFncmFwaCA9PiBwYXJhZ3JhcGgucGFyYWdyYXBoU2V0dGluZ3MuZGlzdGFuY2VGcm9tVG9wID4geVBvcyk7XG4gICAgICAgIGlmIChwYXJhZ3JhcGhJbmRleCA8IDApIHtcbiAgICAgICAgICAgIHBhcmFncmFwaEluZGV4ID0gZGlzcGxheURhdGEucGFyYWdyYXBocy5sZW5ndGggLSAxO1xuICAgICAgICB9IGVsc2UgaWYgKHBhcmFncmFwaEluZGV4ID4gMCkge1xuICAgICAgICAgICAgcGFyYWdyYXBoSW5kZXgtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmFncmFwaFNldHRpbmdzID0gZGlzcGxheURhdGEuZ2V0UGFyYWdyYXBoU2V0dGluZ3MocGFyYWdyYXBoSW5kZXgpO1xuICAgICAgICB5UG9zIC09IHBhcmFncmFwaFNldHRpbmdzLmRpc3RhbmNlRnJvbVRvcDtcbiAgICAgICAgbGV0IGxpbmVJbmRleCA9IDA7XG4gICAgICAgIHdoaWxlICh5UG9zID4gMCAmJiBsaW5lSW5kZXggPCBwYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBwYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvW2xpbmVJbmRleF07XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IGxpbmUuaGVpZ2h0ICsgbGluZS5lbmRQYWdlT2Zmc2V0ICsgbGluZS5vZmZzZXRCZWZvcmUgKyBsaW5lLm9mZnNldEFmdGVyO1xuICAgICAgICAgICAgaWYgKHlQb3MgPD0gd2lkdGgpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpbmVJbmRleCsrO1xuICAgICAgICAgICAgeVBvcyAtPSB3aWR0aDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsaW5lID0gcGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mb1tsaW5lSW5kZXhdLnNjcmVlbkxpbmU7XG5cbiAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgbGV0IHhQb3MgPSB4IC0gc2Nyb2xsZXJQb3NpdGlvbi5sZWZ0IC0gZGlzcGxheURhdGEucGFnZU1hcmdpbi5sZWZ0IC0gcGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mb1tsaW5lSW5kZXhdLnBhZGRpbmdMZWZ0O1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBMaW5lV2lkdGhIZWxwZXIuZ2V0UGFyYWdyYXBoTGluZURpc3BsYXlUb2tlbnMoc2Vzc2lvbiwgcGFyYWdyYXBoSW5kZXgsIGxpbmVJbmRleCk7XG4gICAgICAgIGlmICh0b2tlbnNbMF0uZGlzcGxheVZhbHVlID09PSBEaXNwbGF5VmFsdWUuZW1wdHlMaW5lKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEN1cnNvclBhcmFncmFwaChsaW5lLCBpbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAodG9rZW5zLmxlbmd0aCA+IGluZGV4KSB7XG4gICAgICAgICAgICBpZiAoeFBvcyA8IHRva2Vuc1tpbmRleF0ud2lkdGggLyAyKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHhQb3MgLT0gdG9rZW5zW2luZGV4XS53aWR0aDtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBDdXJzb3JQYXJhZ3JhcGgobGluZSwgaW5kZXgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBmaW5kTGluZUluUGFyYWdyYXBocyhwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhJbmZvTW9kZWxbXSwgZG9jdW1lbnRMaW5lOiBudW1iZXIpOiB7IHBhcmFncmFwaEluZGV4OiBudW1iZXI7IGxpbmVJbmRleDogbnVtYmVyIH0ge1xuICAgICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgICBsZXQgcGFyYWdyYXBoSW5kZXggPSAwO1xuICAgICAgICB3aGlsZSAocGFyYWdyYXBoSW5kZXggPCBwYXJhZ3JhcGhzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKGluZGV4ICsgcGFyYWdyYXBoc1twYXJhZ3JhcGhJbmRleF0ucGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mby5sZW5ndGggPiBkb2N1bWVudExpbmUpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5kZXggKz0gcGFyYWdyYXBoc1twYXJhZ3JhcGhJbmRleF0ucGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mby5sZW5ndGg7XG4gICAgICAgICAgICBwYXJhZ3JhcGhJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxpbmVJbmRleCA9IGRvY3VtZW50TGluZSAtIGluZGV4O1xuICAgICAgICByZXR1cm4geyBwYXJhZ3JhcGhJbmRleCwgbGluZUluZGV4IH07XG4gICAgfVxuXG4gICAgc3RhdGljIGdldEFwcHJveGltYXRlUG9zaXRpb24oc2Vzc2lvbjogRWRpdFNlc3Npb24sIGRvY3VtZW50TGluZTogbnVtYmVyLCBwb3NpdGlvbldpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhzID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzO1xuICAgICAgICBjb25zdCBkb2N1bWVudE1hcmdpbiA9IHNlc3Npb24uZGlzcGxheURhdGEucGFnZU1hcmdpbjtcbiAgICAgICAgY29uc3QgeyBwYXJhZ3JhcGhJbmRleCwgbGluZUluZGV4IH0gPSBQb3NpdGlvbkhlbHBlci5maW5kTGluZUluUGFyYWdyYXBocyhwYXJhZ3JhcGhzLCBkb2N1bWVudExpbmUpO1xuICAgICAgICBsZXQgY29sdW1uID0gMDtcbiAgICAgICAgY29uc3QgdG9rZW5zID0gTGluZVdpZHRoSGVscGVyLmdldFBhcmFncmFwaExpbmVEaXNwbGF5VG9rZW5zKHNlc3Npb24sIHBhcmFncmFwaEluZGV4LCBsaW5lSW5kZXgpO1xuICAgICAgICBpZiAodG9rZW5zLmxlbmd0aCA9PT0gMSAmJiB0b2tlbnNbMF0uZGlzcGxheVZhbHVlID09PSBEaXNwbGF5VmFsdWUuZW1wdHlMaW5lKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGV4dExpbmVJbmZvID0gcGFyYWdyYXBoc1twYXJhZ3JhcGhJbmRleF0ucGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mb1tsaW5lSW5kZXhdO1xuICAgICAgICBsZXQgd2lkdGggPSBwb3NpdGlvbldpZHRoIC0gdGV4dExpbmVJbmZvLnBhZGRpbmdMZWZ0IC0gZG9jdW1lbnRNYXJnaW4ubGVmdDtcbiAgICAgICAgd2hpbGUgKGNvbHVtbiA8IHRva2Vucy5sZW5ndGggJiYgd2lkdGggPj0gdG9rZW5zW2NvbHVtbl0ud2lkdGgpIHtcbiAgICAgICAgICAgIHdpZHRoIC09IHRva2Vuc1tjb2x1bW5dLndpZHRoO1xuICAgICAgICAgICAgY29sdW1uKys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICB9XG5cbiAgICBzdGF0aWMgcGl4ZWxUb1BhZ2UocG9zWTogbnVtYmVyLCBzZXNzaW9uOiBFZGl0U2Vzc2lvbik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBhZ2VzQ291bnQgPSBzZXNzaW9uLmRpc3BsYXlEYXRhLmdldFBhcmFncmFwaFNldHRpbmdzKHNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBocy5sZW5ndGggLSAxKS5sYXN0UGFnZU51bWJlcjtcbiAgICAgICAgbGV0IHBhZ2UgPSAxO1xuICAgICAgICB3aGlsZSAocGFnZSA8PSBwYWdlc0NvdW50KSB7XG4gICAgICAgICAgICBjb25zdCBlbmRQYWdlUG9zaXRpb24gPSAoc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYWdlc1NwYWNlICsgc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYWdlSGVpZ2h0KSAqIHBhZ2U7XG4gICAgICAgICAgICBpZiAoZW5kUGFnZVBvc2l0aW9uID49IHBvc1kpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhZ2UrKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFnZTtcbiAgICB9XG59XG4iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL3Bvc2l0aW9uaW5nL3Bvc2l0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt0RCxNQUFNLE9BQU8sY0FBYztJQUN2Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBb0IsRUFBRSxnQkFBaUM7UUFDMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckcsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7O1FBRUk7SUFDSixNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBZ0MsRUFBRSxHQUFXO1FBQ3RFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FB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LGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRixJQUFJLEtBQUssR0FBRyxhQUFhLEdBQUcsWUFBWSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQzNFLE9BQU8sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDNUQsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUM7U0FDWjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWUsRUFBRSxXQUF3QixFQUFFLFlBQTZCO1FBQ3ZGLE1BQU0sU0FBUyxHQUFHLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDdkcsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDdkYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3Vyc29yUGFyYWdyYXBoIH0gZnJvbSAnLi9jdXJzb3ItcGFyYWdyYXBoJztcbmltcG9ydCB7IEN1cnNvclBvc2l0aW9uIH0gZnJvbSAnLi9jdXJzb3ItcG9zaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IERpc3BsYXlWYWx1ZSB9IGZyb20gJy4uL2NvbnRlbnQvY29uc3RhbnRzL2Rpc3BsYXktdmFsdWVzLmNvbnN0JztcbmltcG9ydCB7IEVkaXRTZXNzaW9uIH0gZnJvbSAnLi4vZXhlY3V0aW9uL2VkaXQuc2Vzc2lvbic7XG5pbXBvcnQgeyBJRm9udE1ldHJpY1NpemUgfSBmcm9tICcuLi9nYWRnZXRzL2ZvbnQtbWV0cmljcy9mb250LW1ldHJpYy1zaXplLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaW5lV2lkdGhIZWxwZXIgfSBmcm9tICcuL2xpbmUtd2lkdGguaGVscGVyJztcbmltcG9ydCB7IFBhcmFncmFwaEluZm8gfSBmcm9tICcuLi9jb250ZW50L2Rpc3BsYXktZGF0YS9wYXJhZ3JhcGgtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGFyYWdyYXBoSW5mb01vZGVsIH0gZnJvbSAnLi4vY29udGVudC9kaXNwbGF5LWRhdGEvbW9kZWxzL3BhcmFncmFwaC1pbmZvLm1vZGVsJztcbmltcG9ydCB7IFZpcnR1YWxSZW5kZXJlciB9IGZyb20gJy4uL2Rpc3BsYXkvdmlydHVhbC5yZW5kZXJlcic7XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvbkhlbHBlciB7XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgYHBhZ2VYYCBhbmQgYHBhZ2VZYCBjb29yZGluYXRlcyBvZiB0aGUgZG9jdW1lbnQgcG9zaXRpb24uXG4gICAgICovXG4gICAgc3RhdGljIGRvY3VtZW50VG9QaXhlbChzZXNzaW9uOiBFZGl0U2Vzc2lvbiwgZG9jdW1lbnRQb3NpdGlvbjogQ3Vyc29yUGFyYWdyYXBoKTogQ3Vyc29yUG9zaXRpb24ge1xuICAgICAgICBjb25zdCBzY3JlZW5Qb3NpdGlvbiA9IHRoaXMuZG9jdW1lbnRUb1NjcmVlbihzZXNzaW9uLCBkb2N1bWVudFBvc2l0aW9uLnJvdywgZG9jdW1lbnRQb3NpdGlvbi5jb2x1bW4pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnNjcmVlblRvUGl4ZWwoc2Vzc2lvbiwgc2NyZWVuUG9zaXRpb24ucm93LCBzY3JlZW5Qb3NpdGlvbi5jb2x1bW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBwYXJhZ3JhcGggaW5mbyAocGFyYWdyYXBoIGluZGV4LCBwYXJhZ3JhcGggbGluZSBpbmRleCwgbGluZSB0b3Agb2Zmc2V0IGFuZCBvdGhlcnMpIGJ5IHJvdyBpbmRleFxuICAgICAqKi9cbiAgICBzdGF0aWMgZ2V0UGFyYWdyYXBoSW5mb0J5Um93KHBhcmFncmFwaHM6IFBhcmFncmFwaEluZm9Nb2RlbFtdLCByb3c6IG51bWJlcik6IFBhcmFncmFwaEluZm8ge1xuICAgICAgICBjb25zdCB7IHBhcmFncmFwaEluZGV4LCBsaW5lSW5kZXggfSA9IHRoaXMuZmluZExpbmVJblBhcmFncmFwaHMocGFyYWdyYXBocywgcm93KTtcbiAgICAgICAgbGV0IGxpbmVUb3BPZmZzZXQgPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmZvID0gcGFyYWdyYXBoc1twYXJhZ3JhcGhJbmRleF0ucGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mb1tpXTtcbiAgICAgICAgICAgIGxpbmVUb3BPZmZzZXQgKz0gaW5mby5oZWlnaHQgKyBpbmZvLmVuZFBhZ2VPZmZzZXQgKyBpbmZvLm9mZnNldEJlZm9yZSArIGluZm8ub2Zmc2V0QWZ0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJhZ3JhcGhMaW5lSW5mbyA9IHBhcmFncmFwaHNbcGFyYWdyYXBoSW5kZXhdLnBhcmFncmFwaFNldHRpbmdzLnRleHRMaW5lc0luZm9bbGluZUluZGV4XTtcbiAgICAgICAgbGluZVRvcE9mZnNldCArPSBwYXJhZ3JhcGhMaW5lSW5mby5vZmZzZXRCZWZvcmU7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhcmFncmFwaEluZGV4LFxuICAgICAgICAgICAgbGluZUluZGV4LFxuICAgICAgICAgICAgbGluZVRvcE9mZnNldCxcbiAgICAgICAgICAgIGluZGVudEJlZm9yZTogcGFyYWdyYXBoTGluZUluZm8ub2Zmc2V0QmVmb3JlLFxuICAgICAgICAgICAgbGluZUhlaWdodDogcGFyYWdyYXBoTGluZUluZm8uaGVpZ2h0XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGRvY3VtZW50VG9TY3JlZW4oc2Vzc2lvbjogRWRpdFNlc3Npb24sIHBhcmFncmFwaDogbnVtYmVyLCBpbmRleEluUGFyYWdyYXBoOiBudW1iZXIpOiBDdXJzb3JQYXJhZ3JhcGgge1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhMaW5lID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzW3BhcmFncmFwaF0ubGluZU51bWJlcjtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBoc1twYXJhZ3JhcGhdLm5leHRMaW5lSW5kZXhlcy5sZW5ndGggfHxcbiAgICAgICAgICAgIHNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBoc1twYXJhZ3JhcGhdLm5leHRMaW5lSW5kZXhlc1swXSA+IGluZGV4SW5QYXJhZ3JhcGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEN1cnNvclBhcmFncmFwaChwYXJhZ3JhcGhMaW5lLCBpbmRleEluUGFyYWdyYXBoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsaW5lID0gMDtcbiAgICAgICAgd2hpbGUgKFxuICAgICAgICAgICAgc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzW3BhcmFncmFwaF0ubmV4dExpbmVJbmRleGVzW2xpbmVdIDw9IGluZGV4SW5QYXJhZ3JhcGggJiZcbiAgICAgICAgICAgIGxpbmUgPCBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHNbcGFyYWdyYXBoXS5uZXh0TGluZUluZGV4ZXMubGVuZ3RoXG4gICAgICAgICkge1xuICAgICAgICAgICAgbGluZSsrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaW5kZXhJblBhcmFncmFwaCAtIHNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBoc1twYXJhZ3JhcGhdLm5leHRMaW5lSW5kZXhlc1tsaW5lIC0gMV07XG4gICAgICAgIHJldHVybiBuZXcgQ3Vyc29yUGFyYWdyYXBoKHBhcmFncmFwaExpbmUgKyBsaW5lLCBpbmRleCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHNjcmVlblRvRG9jdW1lbnQoc2Vzc2lvbjogRWRpdFNlc3Npb24sIGxpbmU6IG51bWJlciwgaW5kZXhJbkxpbmU6IG51bWJlcik6IEN1cnNvclBhcmFncmFwaCB7XG4gICAgICAgIGxldCBwYXJhZ3JhcGggPSBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHMuZmluZEluZGV4KHggPT4geC5saW5lTnVtYmVyID4gbGluZSk7XG4gICAgICAgIGlmIChwYXJhZ3JhcGggPT09IC0xKSB7XG4gICAgICAgICAgICBwYXJhZ3JhcGggPSBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHMubGVuZ3RoIC0gMTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhZ3JhcGggPiAwKSB7XG4gICAgICAgICAgICBwYXJhZ3JhcGggPSBwYXJhZ3JhcGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIGxldCBsaW5lSW5QYXJhZ3JhcGggPSBsaW5lIC0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzW3BhcmFncmFwaF0ubGluZU51bWJlcjtcbiAgICAgICAgaWYgKCFzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHNbcGFyYWdyYXBoXS5uZXh0TGluZUluZGV4ZXMubGVuZ3RoIHx8IGxpbmVJblBhcmFncmFwaCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJzb3JQYXJhZ3JhcGgocGFyYWdyYXBoLCBpbmRleEluTGluZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBpbmRleEluTGluZSArIHNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBoc1twYXJhZ3JhcGhdLm5leHRMaW5lSW5kZXhlc1tsaW5lSW5QYXJhZ3JhcGggLSAxXTtcbiAgICAgICAgcmV0dXJuIG5ldyBDdXJzb3JQYXJhZ3JhcGgocGFyYWdyYXBoLCBpbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgYHBhZ2VYYCBhbmQgYHBhZ2VZYCBjb29yZGluYXRlcyBvZiB0aGUgZG9jdW1lbnQgcG9zaXRpb24uXG4gICAgICoqL1xuICAgIHN0YXRpYyBzY3JlZW5Ub1BpeGVsKHNlc3Npb246IEVkaXRTZXNzaW9uLCByb3c6IG51bWJlciwgY29sdW1uOiBudW1iZXIpOiBDdXJzb3JQb3NpdGlvbiB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaHMgPSBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHM7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaEluZm8gPSB0aGlzLmdldFBhcmFncmFwaEluZm9CeVJvdyhwYXJhZ3JhcGhzLCByb3cpO1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBMaW5lV2lkdGhIZWxwZXIuZ2V0UGFyYWdyYXBoTGluZURpc3BsYXlUb2tlbnMoc2Vzc2lvbiwgcGFyYWdyYXBoSW5mby5wYXJhZ3JhcGhJbmRleCwgcGFyYWdyYXBoSW5mby5saW5lSW5kZXgpO1xuXG4gICAgICAgIGxldCBzaXplOiBJRm9udE1ldHJpY1NpemUgPSB7XG4gICAgICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgICAgIGhlaWdodDogcGFyYWdyYXBoSW5mby5saW5lSGVpZ2h0LFxuICAgICAgICAgICAgYmFzZWxpbmU6IHBhcmFncmFwaEluZm8ubGluZUhlaWdodCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHBhcmFncmFwaEluZm8ubGluZUhlaWdodCxcbiAgICAgICAgICAgIGZvbnQ6IHBhcmFncmFwaEluZm8ubGluZUhlaWdodCxcbiAgICAgICAgICAgIGxpbmU6IHBhcmFncmFwaEluZm8ubGluZUhlaWdodCxcbiAgICAgICAgICAgIG11bHRpcGxpZXI6IHBhcmFncmFwaEluZm8ubGluZUhlaWdodCxcbiAgICAgICAgICAgIGFzY2VudDogMCxcbiAgICAgICAgICAgIGRlc2NlbnQ6IDBcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IHRva2VuSW5kZXggPSBjb2x1bW4gPiAwID8gY29sdW1uIC0gMSA6IGNvbHVtbjtcbiAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBzaXplID0gdG9rZW5zW3Rva2VuSW5kZXhdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2l6ZU5leHQgPSB0b2tlbnNbdG9rZW5JbmRleCArIDFdO1xuICAgICAgICBsZXQgc2l6ZU1heCA9IHsgLi4uc2l6ZSB9O1xuICAgICAgICBsZXQgbGluZVdpZHRoVG9Qb3NpdGlvbiA9IHNlc3Npb24uZGlzcGxheURhdGEucGFnZU1hcmdpbi5sZWZ0O1xuICAgICAgICBmb3IgKGxldCBjdXJyZW50Q29sdW1uID0gMDsgY3VycmVudENvbHVtbiA8IHRva2Vucy5sZW5ndGg7IGN1cnJlbnRDb2x1bW4rKykge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRDb2x1bW4gPCBjb2x1bW4pIHtcbiAgICAgICAgICAgICAgICBsaW5lV2lkdGhUb1Bvc2l0aW9uICs9IHRva2Vuc1tjdXJyZW50Q29sdW1uXS53aWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNpemVNYXguYXNjZW50IDwgdG9rZW5zW2N1cnJlbnRDb2x1bW5dLmFzY2VudCkge1xuICAgICAgICAgICAgICAgIHNpemVNYXggPSB0b2tlbnNbY3VycmVudENvbHVtbl07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodG9rZW5zW3Rva2VuSW5kZXhdPy5pc1RhYmxlKSB7XG4gICAgICAgICAgICBzaXplTWF4LmFzY2VudCA9IHBhcmFncmFwaEluZm8ubGluZUhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmFncmFwaCA9IHBhcmFncmFwaHNbcGFyYWdyYXBoSW5mby5wYXJhZ3JhcGhJbmRleF07XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaFRvcCA9IHBhcmFncmFwaC5wYXJhZ3JhcGhTZXR0aW5ncy5kaXN0YW5jZUZyb21Ub3AgfHwgMDtcbiAgICAgICAgY29uc3QgbGluZVBhZGRpbmdMZWZ0ID0gcGFyYWdyYXBoLnBhcmFncmFwaFNldHRpbmdzLnRleHRMaW5lc0luZm9bcGFyYWdyYXBoSW5mby5saW5lSW5kZXhdLnBhZGRpbmdMZWZ0O1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYWdlWDogbGluZVdpZHRoVG9Qb3NpdGlvbiArIGxpbmVQYWRkaW5nTGVmdCxcbiAgICAgICAgICAgIHBhZ2VZOiBwYXJhZ3JhcGhUb3AgKyBwYXJhZ3JhcGhJbmZvLmxpbmVUb3BPZmZzZXQgLSBzZXNzaW9uLnNjcm9sbFRvcCxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IHBhcmFncmFwaEluZm8ubGluZUhlaWdodCxcbiAgICAgICAgICAgIHNpemVDdXJyZW50OiBzaXplLFxuICAgICAgICAgICAgc2l6ZU1heCxcbiAgICAgICAgICAgIHNpemVOZXh0LFxuICAgICAgICAgICAgZmlyc3RDaGFyOiBjb2x1bW4gPT09IDAsXG4gICAgICAgICAgICBsYXN0Q2hhcjogY29sdW1uID09PSB0b2tlbnMubGVuZ3RoIC0gMVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBhcmFncmFwaCBhbmQgbGluZSBpbmRleCBiYXNlZCBvbiB0aGUgZ2l2ZW4gWSBwb3NpdGlvbi5cbiAgICAgKiovXG4gICAgc3RhdGljIGdldFBhcmFncmFwaEFuZExpbmVJbmRleEZyb21ZUG9zaXRpb24oXG4gICAgICAgIHNlc3Npb246IEVkaXRTZXNzaW9uLFxuICAgICAgICB5UG9zaXRpb246IG51bWJlcixcbiAgICAgICAgdG9wOiBudW1iZXJcbiAgICApOiB7IHBhcmFncmFwaEluZGV4OiBudW1iZXI7IGxpbmVJbmRleDogbnVtYmVyIH0ge1xuICAgICAgICBjb25zdCB7IGRpc3BsYXlEYXRhLCBzY3JvbGxUb3AgfSA9IHNlc3Npb247XG4gICAgICAgIHlQb3NpdGlvbiArPSBzY3JvbGxUb3AgLSB0b3A7XG5cbiAgICAgICAgbGV0IHBhcmFncmFwaEluZGV4ID0gZGlzcGxheURhdGEucGFyYWdyYXBocy5maW5kSW5kZXgocGFyYWdyYXBoID0+IHBhcmFncmFwaC5wYXJhZ3JhcGhTZXR0aW5ncy5kaXN0YW5jZUZyb21Ub3AgPiB5UG9zaXRpb24pO1xuICAgICAgICBpZiAocGFyYWdyYXBoSW5kZXggPCAwKSB7XG4gICAgICAgICAgICBwYXJhZ3JhcGhJbmRleCA9IGRpc3BsYXlEYXRhLnBhcmFncmFwaHMubGVuZ3RoIC0gMTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhZ3JhcGhJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHBhcmFncmFwaEluZGV4LS07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJhZ3JhcGhTZXR0aW5ncyA9IGRpc3BsYXlEYXRhLnBhcmFncmFwaHNbcGFyYWdyYXBoSW5kZXhdLnBhcmFncmFwaFNldHRpbmdzO1xuICAgICAgICB5UG9zaXRpb24gLT0gcGFyYWdyYXBoU2V0dGluZ3MuZGlzdGFuY2VGcm9tVG9wO1xuXG4gICAgICAgIGxldCBsaW5lSW5kZXggPSAwO1xuICAgICAgICB3aGlsZSAoeVBvc2l0aW9uID4gMCAmJiBsaW5lSW5kZXggPCBwYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVJbmZvID0gcGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mb1tsaW5lSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgbGluZUhlaWdodCA9IGxpbmVJbmZvLmhlaWdodCArIGxpbmVJbmZvLmVuZFBhZ2VPZmZzZXQgKyBsaW5lSW5mby5vZmZzZXRCZWZvcmUgKyBsaW5lSW5mby5vZmZzZXRBZnRlcjtcblxuICAgICAgICAgICAgaWYgKHlQb3NpdGlvbiA8PSBsaW5lSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5lSW5kZXgrKztcbiAgICAgICAgICAgIHlQb3NpdGlvbiAtPSBsaW5lSGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgcGFyYWdyYXBoSW5kZXgsIGxpbmVJbmRleCB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hcHMgYSBwaXhlbCBwb3NpdGlvbiB0byBhIHNjcmVlbiBwb3NpdGlvbiB1c2luZyBoYWxmLXRva2VuIHdpZHRoIGNvbXBhcmlzb24uXG4gICAgICovXG4gICAgc3RhdGljIG1hcFBpeGVsVG9DbG9zZXN0VG9rZW5NaWRwb2ludChcbiAgICAgICAgc2Vzc2lvbjogRWRpdFNlc3Npb24sXG4gICAgICAgIHhQaXhlbDogbnVtYmVyLFxuICAgICAgICBwYXJhZ3JhcGhJbmRleDogbnVtYmVyLFxuICAgICAgICBsaW5lSW5kZXg6IG51bWJlcixcbiAgICAgICAgbGVmdE9mZnNldDogbnVtYmVyXG4gICAgKTogeyBsaW5lOiBudW1iZXI7IGluZGV4SW5MaW5lOiBudW1iZXIgfSB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaFNldHRpbmdzID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzW3BhcmFncmFwaEluZGV4XS5wYXJhZ3JhcGhTZXR0aW5ncztcbiAgICAgICAgY29uc3QgbGluZSA9IHBhcmFncmFwaFNldHRpbmdzLnRleHRMaW5lc0luZm9bbGluZUluZGV4XS5zY3JlZW5MaW5lO1xuXG4gICAgICAgIGxldCBpbmRleEluTGluZSA9IDA7XG4gICAgICAgIGxldCByZWxhdGl2ZVggPSB4UGl4ZWwgLSBsZWZ0T2Zmc2V0IC0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYWdlTWFyZ2luLmxlZnQgLSBwYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvW2xpbmVJbmRleF0ucGFkZGluZ0xlZnQ7XG5cbiAgICAgICAgY29uc3QgdG9rZW5zID0gTGluZVdpZHRoSGVscGVyLmdldFBhcmFncmFwaExpbmVEaXNwbGF5VG9rZW5zKHNlc3Npb24sIHBhcmFncmFwaEluZGV4LCBsaW5lSW5kZXgpO1xuICAgICAgICBpZiAodG9rZW5zWzBdLmRpc3BsYXlWYWx1ZSA9PT0gRGlzcGxheVZhbHVlLmVtcHR5TGluZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgbGluZSwgaW5kZXhJbkxpbmUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChpbmRleEluTGluZSA8IHRva2Vucy5sZW5ndGggJiYgcmVsYXRpdmVYID49IHRva2Vuc1tpbmRleEluTGluZV0ud2lkdGggLyAyKSB7XG4gICAgICAgICAgICByZWxhdGl2ZVggLT0gdG9rZW5zW2luZGV4SW5MaW5lXS53aWR0aDtcbiAgICAgICAgICAgIGluZGV4SW5MaW5lKys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBsaW5lLCBpbmRleEluTGluZSB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hcHMgYSBwaXhlbCBwb3NpdGlvbiB0byBhIHNjcmVlbiBwb3NpdGlvbiB1c2luZyBmdWxsLXRva2VuIHdpZHRoIGNvbXBhcmlzb24uXG4gICAgICovXG4gICAgc3RhdGljIG1hcFBpeGVsVG9OZXh0VG9rZW5Cb3VuZGFyeShcbiAgICAgICAgc2Vzc2lvbjogRWRpdFNlc3Npb24sXG4gICAgICAgIHhQaXhlbDogbnVtYmVyLFxuICAgICAgICBwYXJhZ3JhcGhJbmRleDogbnVtYmVyLFxuICAgICAgICBsaW5lSW5kZXg6IG51bWJlcixcbiAgICAgICAgbGVmdE9mZnNldDogbnVtYmVyXG4gICAgKTogeyBsaW5lOiBudW1iZXI7IGluZGV4SW5MaW5lOiBudW1iZXIgfSB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaFNldHRpbmdzID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYXJhZ3JhcGhzW3BhcmFncmFwaEluZGV4XS5wYXJhZ3JhcGhTZXR0aW5ncztcbiAgICAgICAgY29uc3QgbGluZSA9IHBhcmFncmFwaFNldHRpbmdzLnRleHRMaW5lc0luZm9bbGluZUluZGV4XS5zY3JlZW5MaW5lO1xuXG4gICAgICAgIGxldCBpbmRleEluTGluZSA9IDA7XG4gICAgICAgIGxldCByZWxhdGl2ZVggPSB4UGl4ZWwgLSBsZWZ0T2Zmc2V0IC0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYWdlTWFyZ2luLmxlZnQgLSBwYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvW2xpbmVJbmRleF0ucGFkZGluZ0xlZnQ7XG5cbiAgICAgICAgY29uc3QgdG9rZW5zID0gTGluZVdpZHRoSGVscGVyLmdldFBhcmFncmFwaExpbmVEaXNwbGF5VG9rZW5zKHNlc3Npb24sIHBhcmFncmFwaEluZGV4LCBsaW5lSW5kZXgpO1xuICAgICAgICBpZiAodG9rZW5zWzBdLmRpc3BsYXlWYWx1ZSA9PT0gRGlzcGxheVZhbHVlLmVtcHR5TGluZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgbGluZSwgaW5kZXhJbkxpbmUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChpbmRleEluTGluZSA8IHRva2Vucy5sZW5ndGggJiYgcmVsYXRpdmVYID49IHRva2Vuc1tpbmRleEluTGluZV0ud2lkdGgpIHtcbiAgICAgICAgICAgIHJlbGF0aXZlWCAtPSB0b2tlbnNbaW5kZXhJbkxpbmVdLndpZHRoO1xuICAgICAgICAgICAgaW5kZXhJbkxpbmUrKztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IGxpbmUsIGluZGV4SW5MaW5lIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbmRMaW5lSW5QYXJhZ3JhcGhzKHBhcmFncmFwaHM6IFBhcmFncmFwaEluZm9Nb2RlbFtdLCBkb2N1bWVudExpbmU6IG51bWJlcik6IHsgcGFyYWdyYXBoSW5kZXg6IG51bWJlcjsgbGluZUluZGV4OiBudW1iZXIgfSB7XG4gICAgICAgIGxldCBpbmRleCA9IDA7XG4gICAgICAgIGxldCBwYXJhZ3JhcGhJbmRleCA9IDA7XG4gICAgICAgIHdoaWxlIChwYXJhZ3JhcGhJbmRleCA8IHBhcmFncmFwaHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoaW5kZXggKyBwYXJhZ3JhcGhzW3BhcmFncmFwaEluZGV4XS5wYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvLmxlbmd0aCA+IGRvY3VtZW50TGluZSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbmRleCArPSBwYXJhZ3JhcGhzW3BhcmFncmFwaEluZGV4XS5wYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvLmxlbmd0aDtcbiAgICAgICAgICAgIHBhcmFncmFwaEluZGV4Kys7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGluZUluZGV4ID0gZG9jdW1lbnRMaW5lIC0gaW5kZXg7XG4gICAgICAgIHJldHVybiB7IHBhcmFncmFwaEluZGV4LCBsaW5lSW5kZXggfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0QXBwcm94aW1hdGVQb3NpdGlvbihzZXNzaW9uOiBFZGl0U2Vzc2lvbiwgZG9jdW1lbnRMaW5lOiBudW1iZXIsIHBvc2l0aW9uV2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaHMgPSBzZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHM7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50TWFyZ2luID0gc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYWdlTWFyZ2luO1xuICAgICAgICBjb25zdCB7IHBhcmFncmFwaEluZGV4LCBsaW5lSW5kZXggfSA9IFBvc2l0aW9uSGVscGVyLmZpbmRMaW5lSW5QYXJhZ3JhcGhzKHBhcmFncmFwaHMsIGRvY3VtZW50TGluZSk7XG4gICAgICAgIGxldCBjb2x1bW4gPSAwO1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBMaW5lV2lkdGhIZWxwZXIuZ2V0UGFyYWdyYXBoTGluZURpc3BsYXlUb2tlbnMoc2Vzc2lvbiwgcGFyYWdyYXBoSW5kZXgsIGxpbmVJbmRleCk7XG4gICAgICAgIGlmICh0b2tlbnMubGVuZ3RoID09PSAxICYmIHRva2Vuc1swXS5kaXNwbGF5VmFsdWUgPT09IERpc3BsYXlWYWx1ZS5lbXB0eUxpbmUpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXh0TGluZUluZm8gPSBwYXJhZ3JhcGhzW3BhcmFncmFwaEluZGV4XS5wYXJhZ3JhcGhTZXR0aW5ncy50ZXh0TGluZXNJbmZvW2xpbmVJbmRleF07XG4gICAgICAgIGxldCB3aWR0aCA9IHBvc2l0aW9uV2lkdGggLSB0ZXh0TGluZUluZm8ucGFkZGluZ0xlZnQgLSBkb2N1bWVudE1hcmdpbi5sZWZ0O1xuICAgICAgICB3aGlsZSAoY29sdW1uIDwgdG9rZW5zLmxlbmd0aCAmJiB3aWR0aCA+PSB0b2tlbnNbY29sdW1uXS53aWR0aCkge1xuICAgICAgICAgICAgd2lkdGggLT0gdG9rZW5zW2NvbHVtbl0ud2lkdGg7XG4gICAgICAgICAgICBjb2x1bW4rKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cblxuICAgIHN0YXRpYyBwaXhlbFRvUGFnZShjbGllbnRZOiBudW1iZXIsIG1haW5TZXNzaW9uOiBFZGl0U2Vzc2lvbiwgbWFpblJlbmRlcmVyOiBWaXJ0dWFsUmVuZGVyZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBwb3NpdGlvblkgPSBjbGllbnRZICsgbWFpblNlc3Npb24uc2Nyb2xsVG9wIC0gbWFpblJlbmRlcmVyLmNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IG1haW5TZXNzaW9uLmRpc3BsYXlEYXRhLnBhZ2VzU3BhY2UgKyBtYWluU2Vzc2lvbi5kaXNwbGF5RGF0YS5wYWdlSGVpZ2h0O1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihwb3NpdGlvblkgLyBoZWlnaHQpICsgMTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -24,9 +24,11 @@ export class RevisionHelper {
|
|
|
24
24
|
}
|
|
25
25
|
static fillEdgesDefaultStyles(headers, footers) {
|
|
26
26
|
for (const header of headers) {
|
|
27
|
+
this.fillTablesDefaultStyles(header.tables);
|
|
27
28
|
this.fillDefaultStyles(header);
|
|
28
29
|
}
|
|
29
30
|
for (const footer of footers) {
|
|
31
|
+
this.fillTablesDefaultStyles(footer.tables);
|
|
30
32
|
this.fillDefaultStyles(footer);
|
|
31
33
|
}
|
|
32
34
|
}
|
|
@@ -89,4 +91,4 @@ export class RevisionHelper {
|
|
|
89
91
|
});
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aXNpb24uaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL3JldmlzaW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBSWhGLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxRQUF1QixFQUFFLFVBQTRCO1FBQ2xGLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9B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UUFBUSxFQUFFLGdCQUFnQjtZQUMxQixVQUFVLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDL0IsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLO1lBQzdCLFVBQVUsRUFBRTtnQkFDUixJQUFJLGNBQWMsQ0FBQztvQkFDZixXQUFXLEVBQUUsQ0FBQztvQkFDZCxjQUFjLEVBQUUsdUJBQXVCO2lCQUMxQyxDQUFDO2FBQ0w7WUFDRCxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUN6RixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxFQUFFO1lBQ1QsWUFBWSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQy9CLFlBQVksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUMvQixZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU07WUFDL0IsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1lBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSztZQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUc7WUFDekIsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsZUFBZSxFQUFFLGlCQUFpQjtTQUNyQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50c0ludGVyZmFjZSB9IGZyb20gJy4vY29udGVudC9jb250ZW50cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udGVudFN0eWxlSGVscGVyIH0gZnJvbSAnLi9jb250ZW50L2hlbHBlcnMvY29udGVudC1zdHlsZS5oZWxwZXInO1xuaW1wb3J0IHsgREVGQVVMVF9IRUFESU5HUywgREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUsIERFRkFVTFRfVEFCX1dJRFRILCBERUZBVUxUX1RFWFRfU1RZTEUgfSBmcm9tICcuL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBEb2N1bWVudEluZm8gfSBmcm9tICcuL2NvbnRlbnQvY29uc3RhbnRzL2RvY3VtZW50LWluZm8uY29uc3QnO1xuaW1wb3J0IHsgRG9jeE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2dlbmVyYXRlZC9kb2N4Lm1vZGVsJztcbmltcG9ydCB7IEVkZ2VNb2RlbCB9IGZyb20gJy4uL21vZGVscy9nZW5lcmF0ZWQvZWRnZS5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtYXRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9nZW5lcmF0ZWQvZm9ybWF0Lm1vZGVsJztcbmltcG9ydCB7IE1hcmdpbk1vZGVsIH0gZnJvbSAnLi9jb250ZW50L21hcmdpbi5tb2RlbCc7XG5pbXBvcnQgeyBPcGVyYXRpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9nZW5lcmF0ZWQvb3BlcmF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL29wZXJhdGlvbnMvb3BlcmF0aW9ucy1oZWxwZXIuaGVscGVyJztcbmltcG9ydCB7IFBhcmFncmFwaE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2dlbmVyYXRlZC9wYXJhZ3JhcGgubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFJldmlzaW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVkL3JldmlzaW9uLm1vZGVsJztcbmltcG9ydCB7IFRhYmxlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVkL3RhYmxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFJldmlzaW9uSGVscGVyIHtcbiAgICBzdGF0aWMgYXBwbHlPcGVyYXRpb25zVG9SZXZpc2lvbihyZXZpc2lvbjogUmV2aXNpb25Nb2RlbCwgb3BlcmF0aW9uczogT3BlcmF0aW9uTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBvcGVyYXRpb25zLnNvcnQoKGEsIGIpID0+IGEuY3JlYXRlVGltZSAtIGIuY3JlYXRlVGltZSk7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBvcGVyYXRpb25zLm1hcCh4ID0+IHguY29tbWFuZCk7XG4gICAgICAgIE9wZXJhdGlvbnNIZWxwZXIuYXBwbHlPcGVyYXRpb25zKHJldmlzaW9uLmNvbnRlbnQsIGFjdGlvbnMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBmaWxsVGFibGVzRGVmYXVsdFN0eWxlcyh0YWJsZXM6IFRhYmxlTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCByb3cgb2YgdGFibGUucm93cykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2VsbCBvZiByb3cuY2VsbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxsRGVmYXVsdFN0eWxlcyhjZWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZmlsbEVkZ2VzRGVmYXVsdFN0eWxlcyhoZWFkZXJzOiBFZGdlTW9kZWxbXSwgZm9vdGVyczogRWRnZU1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBoZWFkZXIgb2YgaGVhZGVycykge1xuICAgICAgICAgICAgdGhpcy5maWxsRGVmYXVsdFN0eWxlcyhoZWFkZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBmb290ZXIgb2YgZm9vdGVycykge1xuICAgICAgICAgICAgdGhpcy5maWxsRGVmYXVsdFN0eWxlcyhmb290ZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbGxEZWZhdWx0U3R5bGVzKGNvbnRlbnRzOiBDb250ZW50c0ludGVyZmFjZSk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiBjb250ZW50cy5mb3JtYXRzKSB7XG4gICAgICAgICAgICBmb3JtYXQudGV4dFN0eWxlID0gQ29udGVudFN0eWxlSGVscGVyLmNvbWJpbmVUZXh0U3R5bGVzKGZvcm1hdC50ZXh0U3R5bGUsIERFRkFVTFRfVEVYVF9TVFlMRSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHBhcmFncmFwaCBvZiBjb250ZW50cy5wYXJhZ3JhcGhzKSB7XG4gICAgICAgICAgICBwYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUgPSB0aGlzLmZpbGxQYXJhZ3JhcGhTdHlsZU1vZGVsKHBhcmFncmFwaC5wYXJhZ3JhcGhTdHlsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZmlsbFBhcmFncmFwaFN0eWxlTW9kZWwocGFyYWdyYXBoU3R5bGU6IFBhcmFncmFwaFN0eWxlTW9kZWwpOiBQYXJhZ3JhcGhTdHlsZU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYXJhZ3JhcGhTdHlsZU1vZGVsKHtcbiAgICAgICAgICAgIGFsaWdubWVudDogcGFyYWdyYXBoU3R5bGUuYWxpZ25tZW50ID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmFsaWdubWVudCxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogcGFyYWdyYXBoU3R5bGUuYmFja2dyb3VuZENvbG9yID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICAgIGhlYWRpbmdTdHlsZUlkOiBwYXJhZ3JhcGhTdHlsZS5oZWFkaW5nU3R5bGVJZCxcbiAgICAgICAgICAgIGluZGVudEZpcnN0TGluZTogcGFyYWdyYXBoU3R5bGUuaW5kZW50Rmlyc3RMaW5lID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmluZGVudEZpcnN0TGluZSxcbiAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IHBhcmFncmFwaFN0eWxlLmluZGVudEhhbmdpbmcgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuaW5kZW50SGFuZ2luZyxcbiAgICAgICAgICAgIGluZGVudExlZnQ6IHBhcmFncmFwaFN0eWxlLmluZGVudExlZnQgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuaW5kZW50TGVmdCxcbiAgICAgICAgICAgIGluZGVudFJpZ2h0OiBwYXJhZ3JhcGhTdHlsZS5pbmRlbnRSaWdodCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5pbmRlbnRSaWdodCxcbiAgICAgICAgICAgIGxpbmVTcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5saW5lU3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5saW5lU3BhY2luZyxcbiAgICAgICAgICAgIHNwYWNlQWZ0ZXI6IHBhcmFncmFwaFN0eWxlLnNwYWNlQWZ0ZXIgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuc3BhY2VBZnRlcixcbiAgICAgICAgICAgIHNwYWNlQmVmb3JlOiBwYXJhZ3JhcGhTdHlsZS5zcGFjZUJlZm9yZSA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5zcGFjZUJlZm9yZSxcbiAgICAgICAgICAgIGNvbnRleHR1YWxTcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5jb250ZXh0dWFsU3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5jb250ZXh0dWFsU3BhY2luZyxcbiAgICAgICAgICAgIGJlZm9yZUF1dG9zcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5iZWZvcmVBdXRvc3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5iZWZvcmVBdXRvc3BhY2luZyxcbiAgICAgICAgICAgIGFmdGVyQXV0b3NwYWNpbmc6IHBhcmFncmFwaFN0eWxlLmFmdGVyQXV0b3NwYWNpbmcgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuYWZ0ZXJBdXRvc3BhY2luZyxcbiAgICAgICAgICAgIG51bWJlcmluZ0lkOiBwYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5udW1iZXJpbmdJZCxcbiAgICAgICAgICAgIG51bWJlcmluZ0xldmVsOiBwYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdMZXZlbCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5udW1iZXJpbmdMZXZlbFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0RW1wdHlEb2N4TW9kZWwoKTogRG9jeE1vZGVsIHtcbiAgICAgICAgY29uc3QgcGFnZU1hcmdpbiA9IG5ldyBNYXJnaW5Nb2RlbCgpO1xuICAgICAgICByZXR1cm4gbmV3IERvY3hNb2RlbCh7XG4gICAgICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGg6IDAsXG4gICAgICAgICAgICBoZWFkaW5nczogREVGQVVMVF9IRUFESU5HUyxcbiAgICAgICAgICAgIHBhZ2VIZWlnaHQ6IERvY3VtZW50SW5mby5oZWlnaHQsXG4gICAgICAgICAgICBwYWdlV2lkdGg6IERvY3VtZW50SW5mby53aWR0aCxcbiAgICAgICAgICAgIHBhcmFncmFwaHM6IFtcbiAgICAgICAgICAgICAgICBuZXcgUGFyYWdyYXBoTW9kZWwoe1xuICAgICAgICAgICAgICAgICAgICBpbnNlcnRJbmRleDogMCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoU3R5bGU6IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBicmVha3M6IFtdLFxuICAgICAgICAgICAgZWxlbWVudHM6IFtdLFxuICAgICAgICAgICAgZm9ybWF0czogW25ldyBGb3JtYXRNb2RlbCh7IHN0YXJ0SW5kZXg6IDAsIGVuZEluZGV4OiAwLCB0ZXh0U3R5bGU6IERFRkFVTFRfVEVYVF9TVFlMRSB9KV0sXG4gICAgICAgICAgICBpbWFnZXM6IFtdLFxuICAgICAgICAgICAgbGlua3M6IFtdLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiBwYWdlTWFyZ2luLmJvdHRvbSxcbiAgICAgICAgICAgIG1hcmdpbkZvb3RlcjogcGFnZU1hcmdpbi5mb290ZXIsXG4gICAgICAgICAgICBtYXJnaW5IZWFkZXI6IHBhZ2VNYXJnaW4uaGVhZGVyLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogcGFnZU1hcmdpbi5sZWZ0LFxuICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IHBhZ2VNYXJnaW4ucmlnaHQsXG4gICAgICAgICAgICBtYXJnaW5Ub3A6IHBhZ2VNYXJnaW4udG9wLFxuICAgICAgICAgICAgdGFibGVzOiBbXSxcbiAgICAgICAgICAgIG51bWJlcmluZ3M6IFtdLFxuICAgICAgICAgICAgdGFiczogW10sXG4gICAgICAgICAgICBkZWZhdWx0VGFiV2lkdGg6IERFRkFVTFRfVEFCX1dJRFRIXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aXNpb24uaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL3JldmlzaW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBSWhGLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxRQUF1QixFQUFFLFVBQTRCO1FBQ2xGLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9B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QU0sVUFBVSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLFNBQVMsQ0FBQztZQUNqQixPQUFPLEVBQUUsRUFBRTtZQUNYLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsVUFBVSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQy9CLFNBQVMsRUFBRSxZQUFZLENBQUMsS0FBSztZQUM3QixVQUFVLEVBQUU7Z0JBQ1IsSUFBSSxjQUFjLENBQUM7b0JBQ2YsV0FBVyxFQUFFLENBQUM7b0JBQ2QsY0FBYyxFQUFFLHVCQUF1QjtpQkFDMUMsQ0FBQzthQUNMO1lBQ0QsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7WUFDekYsTUFBTSxFQUFFLEVBQUU7WUFDVixLQUFLLEVBQUUsRUFBRTtZQUNULFlBQVksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUMvQixZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU07WUFDL0IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQy9CLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSTtZQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEtBQUs7WUFDN0IsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1lBQ3pCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsVUFBVSxFQUFFLEVBQUU7WUFDZCxJQUFJLEVBQUUsRUFBRTtZQUNSLGVBQWUsRUFBRSxpQkFBaUI7U0FDckMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudHNJbnRlcmZhY2UgfSBmcm9tICcuL2NvbnRlbnQvY29udGVudHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRlbnRTdHlsZUhlbHBlciB9IGZyb20gJy4vY29udGVudC9oZWxwZXJzL2NvbnRlbnQtc3R5bGUuaGVscGVyJztcbmltcG9ydCB7IERFRkFVTFRfSEVBRElOR1MsIERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLCBERUZBVUxUX1RBQl9XSURUSCwgREVGQVVMVF9URVhUX1NUWUxFIH0gZnJvbSAnLi9jb250ZW50L2NvbnN0YW50cy9lZGl0b3IuY29uc3QnO1xuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi9jb250ZW50L2NvbnN0YW50cy9kb2N1bWVudC1pbmZvLmNvbnN0JztcbmltcG9ydCB7IERvY3hNb2RlbCB9IGZyb20gJy4uL21vZGVscy9nZW5lcmF0ZWQvZG9jeC5tb2RlbCc7XG5pbXBvcnQgeyBFZGdlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVkL2VkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVkL2Zvcm1hdC5tb2RlbCc7XG5pbXBvcnQgeyBNYXJnaW5Nb2RlbCB9IGZyb20gJy4vY29udGVudC9tYXJnaW4ubW9kZWwnO1xuaW1wb3J0IHsgT3BlcmF0aW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVkL29wZXJhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBPcGVyYXRpb25zSGVscGVyIH0gZnJvbSAnLi9vcGVyYXRpb25zL29wZXJhdGlvbnMtaGVscGVyLmhlbHBlcic7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBSZXZpc2lvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXZpc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBUYWJsZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2dlbmVyYXRlZC90YWJsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBSZXZpc2lvbkhlbHBlciB7XG4gICAgc3RhdGljIGFwcGx5T3BlcmF0aW9uc1RvUmV2aXNpb24ocmV2aXNpb246IFJldmlzaW9uTW9kZWwsIG9wZXJhdGlvbnM6IE9wZXJhdGlvbk1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgb3BlcmF0aW9ucy5zb3J0KChhLCBiKSA9PiBhLmNyZWF0ZVRpbWUgLSBiLmNyZWF0ZVRpbWUpO1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gb3BlcmF0aW9ucy5tYXAoeCA9PiB4LmNvbW1hbmQpO1xuICAgICAgICBPcGVyYXRpb25zSGVscGVyLmFwcGx5T3BlcmF0aW9ucyhyZXZpc2lvbi5jb250ZW50LCBhY3Rpb25zKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZmlsbFRhYmxlc0RlZmF1bHRTdHlsZXModGFibGVzOiBUYWJsZU1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHRhYmxlLnJvd3MpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNlbGwgb2Ygcm93LmNlbGxzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsbERlZmF1bHRTdHlsZXMoY2VsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbGxFZGdlc0RlZmF1bHRTdHlsZXMoaGVhZGVyczogRWRnZU1vZGVsW10sIGZvb3RlcnM6IEVkZ2VNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIGhlYWRlcnMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsbFRhYmxlc0RlZmF1bHRTdHlsZXMoaGVhZGVyLnRhYmxlcyk7XG4gICAgICAgICAgICB0aGlzLmZpbGxEZWZhdWx0U3R5bGVzKGhlYWRlcik7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGZvb3RlciBvZiBmb290ZXJzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGxUYWJsZXNEZWZhdWx0U3R5bGVzKGZvb3Rlci50YWJsZXMpO1xuICAgICAgICAgICAgdGhpcy5maWxsRGVmYXVsdFN0eWxlcyhmb290ZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbGxEZWZhdWx0U3R5bGVzKGNvbnRlbnRzOiBDb250ZW50c0ludGVyZmFjZSk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiBjb250ZW50cy5mb3JtYXRzKSB7XG4gICAgICAgICAgICBmb3JtYXQudGV4dFN0eWxlID0gQ29udGVudFN0eWxlSGVscGVyLmNvbWJpbmVUZXh0U3R5bGVzKGZvcm1hdC50ZXh0U3R5bGUsIERFRkFVTFRfVEVYVF9TVFlMRSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHBhcmFncmFwaCBvZiBjb250ZW50cy5wYXJhZ3JhcGhzKSB7XG4gICAgICAgICAgICBwYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUgPSB0aGlzLmZpbGxQYXJhZ3JhcGhTdHlsZU1vZGVsKHBhcmFncmFwaC5wYXJhZ3JhcGhTdHlsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZmlsbFBhcmFncmFwaFN0eWxlTW9kZWwocGFyYWdyYXBoU3R5bGU6IFBhcmFncmFwaFN0eWxlTW9kZWwpOiBQYXJhZ3JhcGhTdHlsZU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYXJhZ3JhcGhTdHlsZU1vZGVsKHtcbiAgICAgICAgICAgIGFsaWdubWVudDogcGFyYWdyYXBoU3R5bGUuYWxpZ25tZW50ID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmFsaWdubWVudCxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogcGFyYWdyYXBoU3R5bGUuYmFja2dyb3VuZENvbG9yID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICAgIGhlYWRpbmdTdHlsZUlkOiBwYXJhZ3JhcGhTdHlsZS5oZWFkaW5nU3R5bGVJZCxcbiAgICAgICAgICAgIGluZGVudEZpcnN0TGluZTogcGFyYWdyYXBoU3R5bGUuaW5kZW50Rmlyc3RMaW5lID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmluZGVudEZpcnN0TGluZSxcbiAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IHBhcmFncmFwaFN0eWxlLmluZGVudEhhbmdpbmcgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuaW5kZW50SGFuZ2luZyxcbiAgICAgICAgICAgIGluZGVudExlZnQ6IHBhcmFncmFwaFN0eWxlLmluZGVudExlZnQgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuaW5kZW50TGVmdCxcbiAgICAgICAgICAgIGluZGVudFJpZ2h0OiBwYXJhZ3JhcGhTdHlsZS5pbmRlbnRSaWdodCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5pbmRlbnRSaWdodCxcbiAgICAgICAgICAgIGxpbmVTcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5saW5lU3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5saW5lU3BhY2luZyxcbiAgICAgICAgICAgIHNwYWNlQWZ0ZXI6IHBhcmFncmFwaFN0eWxlLnNwYWNlQWZ0ZXIgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuc3BhY2VBZnRlcixcbiAgICAgICAgICAgIHNwYWNlQmVmb3JlOiBwYXJhZ3JhcGhTdHlsZS5zcGFjZUJlZm9yZSA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5zcGFjZUJlZm9yZSxcbiAgICAgICAgICAgIGNvbnRleHR1YWxTcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5jb250ZXh0dWFsU3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5jb250ZXh0dWFsU3BhY2luZyxcbiAgICAgICAgICAgIGJlZm9yZUF1dG9zcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5iZWZvcmVBdXRvc3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5iZWZvcmVBdXRvc3BhY2luZyxcbiAgICAgICAgICAgIGFmdGVyQXV0b3NwYWNpbmc6IHBhcmFncmFwaFN0eWxlLmFmdGVyQXV0b3NwYWNpbmcgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuYWZ0ZXJBdXRvc3BhY2luZyxcbiAgICAgICAgICAgIG51bWJlcmluZ0lkOiBwYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5udW1iZXJpbmdJZCxcbiAgICAgICAgICAgIG51bWJlcmluZ0xldmVsOiBwYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdMZXZlbCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5udW1iZXJpbmdMZXZlbFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0RW1wdHlEb2N4TW9kZWwoKTogRG9jeE1vZGVsIHtcbiAgICAgICAgY29uc3QgcGFnZU1hcmdpbiA9IG5ldyBNYXJnaW5Nb2RlbCgpO1xuICAgICAgICByZXR1cm4gbmV3IERvY3hNb2RlbCh7XG4gICAgICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGg6IDAsXG4gICAgICAgICAgICBoZWFkaW5nczogREVGQVVMVF9IRUFESU5HUyxcbiAgICAgICAgICAgIHBhZ2VIZWlnaHQ6IERvY3VtZW50SW5mby5oZWlnaHQsXG4gICAgICAgICAgICBwYWdlV2lkdGg6IERvY3VtZW50SW5mby53aWR0aCxcbiAgICAgICAgICAgIHBhcmFncmFwaHM6IFtcbiAgICAgICAgICAgICAgICBuZXcgUGFyYWdyYXBoTW9kZWwoe1xuICAgICAgICAgICAgICAgICAgICBpbnNlcnRJbmRleDogMCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoU3R5bGU6IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBicmVha3M6IFtdLFxuICAgICAgICAgICAgZWxlbWVudHM6IFtdLFxuICAgICAgICAgICAgZm9ybWF0czogW25ldyBGb3JtYXRNb2RlbCh7IHN0YXJ0SW5kZXg6IDAsIGVuZEluZGV4OiAwLCB0ZXh0U3R5bGU6IERFRkFVTFRfVEVYVF9TVFlMRSB9KV0sXG4gICAgICAgICAgICBpbWFnZXM6IFtdLFxuICAgICAgICAgICAgbGlua3M6IFtdLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiBwYWdlTWFyZ2luLmJvdHRvbSxcbiAgICAgICAgICAgIG1hcmdpbkZvb3RlcjogcGFnZU1hcmdpbi5mb290ZXIsXG4gICAgICAgICAgICBtYXJnaW5IZWFkZXI6IHBhZ2VNYXJnaW4uaGVhZGVyLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogcGFnZU1hcmdpbi5sZWZ0LFxuICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IHBhZ2VNYXJnaW4ucmlnaHQsXG4gICAgICAgICAgICBtYXJnaW5Ub3A6IHBhZ2VNYXJnaW4udG9wLFxuICAgICAgICAgICAgdGFibGVzOiBbXSxcbiAgICAgICAgICAgIG51bWJlcmluZ3M6IFtdLFxuICAgICAgICAgICAgdGFiczogW10sXG4gICAgICAgICAgICBkZWZhdWx0VGFiV2lkdGg6IERFRkFVTFRfVEFCX1dJRFRIXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -5,4 +5,4 @@ export class DeleteModel {
|
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvbW9kZWxzL2dlbmVyYXRlZC9kZWxldGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFJcEIsWUFDSSxNQUE2QjtRQUU3QixJQUFJLE1BQU0sRUFBRTtZQUdSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERlbGV0ZU1vZGVsIHtcbiAgICBwdWJsaWMgY291bnQ6IG51bWJlcjtcbiAgICBwdWJsaWMgc3RhcnRJbmRleDogbnVtYmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBmaWVsZHM/OiBQYXJ0aWFsPERlbGV0ZU1vZGVsPikge1xuXG4gICAgICAgIGlmIChmaWVsZHMpIHtcblxuXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGZpZWxkcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -5,4 +5,4 @@ export class LinkDataModel {
|
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1kYXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvbW9kZWxzL2dlbmVyYXRlZC9saW5rLWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFDSSxNQUErQjtRQUUvQixJQUFJLE1BQU0sRUFBRTtZQUdSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuL2Zvcm1hdC5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rRGF0YU1vZGVsIHtcbiAgICBwdWJsaWMgZm9ybWF0czogRm9ybWF0TW9kZWxbXTtcbiAgICBwdWJsaWMgbGluazogc3RyaW5nO1xuICAgIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGZpZWxkcz86IFBhcnRpYWw8TGlua0RhdGFNb2RlbD4pIHtcblxuICAgICAgICBpZiAoZmllbGRzKSB7XG5cblxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBmaWVsZHMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -5,4 +5,4 @@ export class LinkModel {
|
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL21vZGVscy9nZW5lcmF0ZWQvbGluay5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sU0FBUztJQU9sQixZQUNJLE1BQTJCO1FBRTNCLElBQUksTUFBTSxFQUFFO1lBR1IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtYXRNb2RlbCB9IGZyb20gJy4vZm9ybWF0Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIExpbmtNb2RlbCB7XG4gICAgcHVibGljIGVuZEluZGV4OiBudW1iZXI7XG4gICAgcHVibGljIGZvcm1hdHM6IEZvcm1hdE1vZGVsW107XG4gICAgcHVibGljIGxpbms6IHN0cmluZztcbiAgICBwdWJsaWMgc291cmNlSWQ6IHN0cmluZztcbiAgICBwdWJsaWMgc3RhcnRJbmRleDogbnVtYmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBmaWVsZHM/OiBQYXJ0aWFsPExpbmtNb2RlbD4pIHtcblxuICAgICAgICBpZiAoZmllbGRzKSB7XG5cblxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBmaWVsZHMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -5,4 +5,4 @@ export class RestoreTextStylesModel {
|
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS10ZXh0LXN0eWxlcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS10ZXh0LXN0eWxlcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLFlBQ0ksTUFBd0M7UUFFeEMsSUFBSSxNQUFNLEVBQUU7WUFHUixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1hdE1vZGVsIH0gZnJvbSAnLi9mb3JtYXQubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUmVzdG9yZVRleHRTdHlsZXNNb2RlbCB7XG4gICAgcHVibGljIGZvcm1hdHM6IEZvcm1hdE1vZGVsW107XG4gICAgcHVibGljIGxpbmtGb3JtYXRzOiBGb3JtYXRNb2RlbFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBmaWVsZHM/OiBQYXJ0aWFsPFJlc3RvcmVUZXh0U3R5bGVzTW9kZWw+KSB7XG5cbiAgICAgICAgaWYgKGZpZWxkcykge1xuXG5cbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -13,4 +13,4 @@ export class TargetModel {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvbW9kZWxzL2dlbmVyYXRlZC90YXJnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxNQUFNLE9BQU8sV0FBVztJQUtwQixZQUFtQixNQUE2QjtRQUM1QyxJQUFJLE1BQU0sRUFBRTtZQUNSLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUQ7WUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNEO1lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGdlVGFyZ2V0TW9kZWwgfSBmcm9tICcuL2VkZ2UtdGFyZ2V0Lm1vZGVsJztcbmltcG9ydCB7IFRhYmxlQ2VsbE1vZGVsIH0gZnJvbSAnLi90YWJsZS1jZWxsLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFRhcmdldE1vZGVsIHtcbiAgICBwdWJsaWMgZWRnZURhdGE6IEVkZ2VUYXJnZXRNb2RlbDtcbiAgICBwdWJsaWMgdGFibGVDZWxsOiBUYWJsZUNlbGxNb2RlbDtcbiAgICBwdWJsaWMgdHlwZTogYW55O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8VGFyZ2V0TW9kZWw+KSB7XG4gICAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZHMuZWRnZURhdGEpIHtcbiAgICAgICAgICAgICAgICBmaWVsZHMuZWRnZURhdGEgPSBuZXcgRWRnZVRhcmdldE1vZGVsKGZpZWxkcy5lZGdlRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZmllbGRzLnRhYmxlQ2VsbCkge1xuICAgICAgICAgICAgICAgIGZpZWxkcy50YWJsZUNlbGwgPSBuZXcgVGFibGVDZWxsTW9kZWwoZmllbGRzLnRhYmxlQ2VsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|