@plait/draw 0.43.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/interfaces/geometry.mjs +2 -14
- package/esm2022/interfaces/line.mjs +2 -15
- package/esm2022/line.component.mjs +16 -17
- package/esm2022/plugins/with-draw-fragment.mjs +1 -1
- package/esm2022/plugins/with-draw.mjs +13 -2
- package/esm2022/plugins/with-geometry-create.mjs +4 -4
- package/esm2022/plugins/with-geometry-resize.mjs +3 -4
- package/esm2022/plugins/with-line-auto-complete.mjs +4 -4
- package/esm2022/plugins/with-line-create.mjs +4 -4
- package/esm2022/plugins/with-line-text-move.mjs +2 -2
- package/esm2022/plugins/with-line-text.mjs +3 -3
- package/esm2022/transforms/geometry-text.mjs +3 -3
- package/esm2022/utils/clipboard.mjs +16 -8
- package/esm2022/utils/line.mjs +3 -2
- package/fesm2022/plait-draw.mjs +58 -65
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/interfaces/geometry.d.ts +1 -4
- package/interfaces/line.d.ts +0 -1
- package/line.component.d.ts +4 -5
- package/package.json +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { PlaitElement } from '@plait/core';
|
|
2
1
|
export var BasicShapes;
|
|
3
2
|
(function (BasicShapes) {
|
|
4
3
|
BasicShapes["rectangle"] = "rectangle";
|
|
@@ -36,16 +35,5 @@ export var FlowchartSymbols;
|
|
|
36
35
|
FlowchartSymbols["delay"] = "delay";
|
|
37
36
|
FlowchartSymbols["storedData"] = "storedData";
|
|
38
37
|
})(FlowchartSymbols || (FlowchartSymbols = {}));
|
|
39
|
-
export const PlaitGeometry = {
|
|
40
|
-
|
|
41
|
-
return PlaitGeometry.getTextManage(element).componentRef.instance.editor;
|
|
42
|
-
},
|
|
43
|
-
getTextManage(element) {
|
|
44
|
-
const component = PlaitElement.getComponent(element);
|
|
45
|
-
if (component) {
|
|
46
|
-
return component.textManage;
|
|
47
|
-
}
|
|
48
|
-
throw new Error('can not get correctly component in get text editor');
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2dlb21ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQW9ELE1BQU0sYUFBYSxDQUFDO0FBTXpHLE1BQU0sQ0FBTixJQUFZLFdBcUJYO0FBckJELFdBQVksV0FBVztJQUNuQixzQ0FBdUIsQ0FBQTtJQUN2QixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQixnREFBaUMsQ0FBQTtJQUNqQyw4Q0FBK0IsQ0FBQTtJQUMvQiw0QkFBYSxDQUFBO0lBQ2Isb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsc0NBQXVCLENBQUE7SUFDdkIsd0NBQXlCLENBQUE7SUFDekIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7SUFDYixvQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBNkIsQ0FBQTtJQUM3QiwwQ0FBMkIsQ0FBQTtJQUMzQixrQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBckJXLFdBQVcsS0FBWCxXQUFXLFFBcUJ0QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQVlYO0FBWkQsV0FBWSxnQkFBZ0I7SUFDeEIsdUNBQW1CLENBQUE7SUFDbkIseUNBQXFCLENBQUE7SUFDckIsaUNBQWEsQ0FBQTtJQUNiLDJDQUF1QixDQUFBO0lBQ3ZCLHlDQUFxQixDQUFBO0lBQ3JCLCtDQUEyQixDQUFBO0lBQzNCLCtDQUEyQixDQUFBO0lBQzNCLDZDQUF5QixDQUFBO0lBQ3pCLG1DQUFlLENBQUE7SUFDZixtQ0FBZSxDQUFBO0lBQ2YsNkNBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQVpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFZM0I7QUFrQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQ3pCLGFBQWEsQ0FBQyxPQUFzQjtRQUNoQyxPQUFPLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDN0UsQ0FBQztJQUNELGFBQWEsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLFNBQVMsRUFBRTtZQUNYLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQztTQUMvQjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFBvaW50T2ZSZWN0YW5nbGUsIFJlY3RhbmdsZUNsaWVudCwgVmVjdG9yIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgR2VvbWV0cnlDb21wb25lbnQgfSBmcm9tICcuLi9nZW9tZXRyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgUGFyYWdyYXBoRWxlbWVudCB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IFN0cm9rZVN0eWxlIH0gZnJvbSAnLi9lbGVtZW50JztcblxuZXhwb3J0IGVudW0gQmFzaWNTaGFwZXMge1xuICAgIHJlY3RhbmdsZSA9ICdyZWN0YW5nbGUnLFxuICAgIGVsbGlwc2UgPSAnZWxsaXBzZScsXG4gICAgZGlhbW9uZCA9ICdkaWFtb25kJyxcbiAgICByb3VuZFJlY3RhbmdsZSA9ICdyb3VuZFJlY3RhbmdsZScsXG4gICAgcGFyYWxsZWxvZ3JhbSA9ICdwYXJhbGxlbG9ncmFtJyxcbiAgICB0ZXh0ID0gJ3RleHQnLFxuICAgIHRyaWFuZ2xlID0gJ3RyaWFuZ2xlJyxcbiAgICBsZWZ0QXJyb3cgPSAnbGVmdEFycm93JyxcbiAgICB0cmFwZXpvaWQgPSAndHJhcGV6b2lkJyxcbiAgICByaWdodEFycm93ID0gJ3JpZ2h0QXJyb3cnLFxuICAgIGNyb3NzID0gJ2Nyb3NzJyxcbiAgICBzdGFyID0gJ3N0YXInLFxuICAgIHBlbnRhZ29uID0gJ3BlbnRhZ29uJyxcbiAgICBoZXhhZ29uID0gJ2hleGFnb24nLFxuICAgIG9jdGFnb24gPSAnb2N0YWdvbicsXG4gICAgcGVudGFnb25BcnJvdyA9ICdwZW50YWdvbkFycm93JyxcbiAgICBwcm9jZXNzQXJyb3cgPSAncHJvY2Vzc0Fycm93JyxcbiAgICB0d29XYXlBcnJvdyA9ICd0d29XYXlBcnJvdycsXG4gICAgY29tbWVudCA9ICdjb21tZW50JyxcbiAgICByb3VuZENvbW1lbnQgPSAncm91bmRDb21tZW50J1xufVxuXG5leHBvcnQgZW51bSBGbG93Y2hhcnRTeW1ib2xzIHtcbiAgICBwcm9jZXNzID0gJ3Byb2Nlc3MnLFxuICAgIGRlY2lzaW9uID0gJ2RlY2lzaW9uJyxcbiAgICBkYXRhID0gJ2RhdGEnLFxuICAgIGNvbm5lY3RvciA9ICdjb25uZWN0b3InLFxuICAgIHRlcm1pbmFsID0gJ3Rlcm1pbmFsJyxcbiAgICBtYW51YWxJbnB1dCA9ICdtYW51YWxJbnB1dCcsXG4gICAgcHJlcGFyYXRpb24gPSAncHJlcGFyYXRpb24nLFxuICAgIG1hbnVhbExvb3AgPSAnbWFudWFsTG9vcCcsXG4gICAgbWVyZ2UgPSAnbWVyZ2UnLFxuICAgIGRlbGF5ID0gJ2RlbGF5JyxcbiAgICBzdG9yZWREYXRhID0gJ3N0b3JlZERhdGEnXG59XG5cbmV4cG9ydCB0eXBlIEdlb21ldHJ5U2hhcGVzID0gQmFzaWNTaGFwZXMgfCBGbG93Y2hhcnRTeW1ib2xzO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0R2VvbWV0cnkgZXh0ZW5kcyBQbGFpdEVsZW1lbnQge1xuICAgIHBvaW50czogW1BvaW50LCBQb2ludF07XG4gICAgdHlwZTogJ2dlb21ldHJ5JztcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZXM7XG5cbiAgICB0ZXh0OiBQYXJhZ3JhcGhFbGVtZW50O1xuICAgIHRleHRIZWlnaHQ6IG51bWJlcjtcblxuICAgIC8vIG5vZGUgc3R5bGUgYXR0cmlidXRlc1xuICAgIGZpbGw/OiBzdHJpbmc7XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZTtcblxuICAgIGFuZ2xlOiBudW1iZXI7XG4gICAgb3BhY2l0eTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0UmVjdGFuZ2xlIGV4dGVuZHMgUGxhaXRHZW9tZXRyeSB7XG4gICAgc2hhcGU6IEJhc2ljU2hhcGVzLnJlY3RhbmdsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEVsbGlwc2UgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogQmFzaWNTaGFwZXMuZWxsaXBzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdERpYW1vbmQgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogQmFzaWNTaGFwZXMuZGlhbW9uZDtcbn1cblxuZXhwb3J0IGNvbnN0IFBsYWl0R2VvbWV0cnkgPSB7XG4gICAgZ2V0VGV4dEVkaXRvcihlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSB7XG4gICAgICAgIHJldHVybiBQbGFpdEdlb21ldHJ5LmdldFRleHRNYW5hZ2UoZWxlbWVudCkuY29tcG9uZW50UmVmLmluc3RhbmNlLmVkaXRvcjtcbiAgICB9LFxuICAgIGdldFRleHRNYW5hZ2UoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIEdlb21ldHJ5Q29tcG9uZW50O1xuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50LnRleHRNYW5hZ2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjYW4gbm90IGdldCBjb3JyZWN0bHkgY29tcG9uZW50IGluIGdldCB0ZXh0IGVkaXRvcicpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcGVFbmdpbmUge1xuICAgIGlzSGl0OiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkgPT4gYm9vbGVhbjtcbiAgICBnZXROZWFyZXN0UG9pbnQ6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSA9PiBQb2ludDtcbiAgICBnZXRDb25uZWN0b3JQb2ludHM6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkgPT4gUG9pbnRbXTtcbiAgICBnZXRDb3JuZXJQb2ludHM6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkgPT4gUG9pbnRbXTtcbiAgICBnZXRFZGdlQnlDb25uZWN0aW9uUG9pbnQ/OiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludE9mUmVjdGFuZ2xlKSA9PiBbUG9pbnQsIFBvaW50XSB8IG51bGw7XG4gICAgZ2V0VGFuZ2VudFZlY3RvckJ5Q29ubmVjdGlvblBvaW50PzogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnRPZlJlY3RhbmdsZSkgPT4gVmVjdG9yIHwgbnVsbDtcbiAgICBkcmF3OiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSA9PiBTVkdHRWxlbWVudDtcbiAgICBnZXRUZXh0UmVjdGFuZ2xlPzogKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IFJlY3RhbmdsZUNsaWVudDtcbn1cbiJdfQ==
|
|
38
|
+
export const PlaitGeometry = {};
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2dlb21ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBTixJQUFZLFdBcUJYO0FBckJELFdBQVksV0FBVztJQUNuQixzQ0FBdUIsQ0FBQTtJQUN2QixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQixnREFBaUMsQ0FBQTtJQUNqQyw4Q0FBK0IsQ0FBQTtJQUMvQiw0QkFBYSxDQUFBO0lBQ2Isb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsc0NBQXVCLENBQUE7SUFDdkIsd0NBQXlCLENBQUE7SUFDekIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7SUFDYixvQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBNkIsQ0FBQTtJQUM3QiwwQ0FBMkIsQ0FBQTtJQUMzQixrQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBckJXLFdBQVcsS0FBWCxXQUFXLFFBcUJ0QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQVlYO0FBWkQsV0FBWSxnQkFBZ0I7SUFDeEIsdUNBQW1CLENBQUE7SUFDbkIseUNBQXFCLENBQUE7SUFDckIsaUNBQWEsQ0FBQTtJQUNiLDJDQUF1QixDQUFBO0lBQ3ZCLHlDQUFxQixDQUFBO0lBQ3JCLCtDQUEyQixDQUFBO0lBQzNCLCtDQUEyQixDQUFBO0lBQzNCLDZDQUF5QixDQUFBO0lBQ3pCLG1DQUFlLENBQUE7SUFDZixtQ0FBZSxDQUFBO0lBQ2YsNkNBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQVpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFZM0I7QUFrQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFBvaW50T2ZSZWN0YW5nbGUsIFJlY3RhbmdsZUNsaWVudCwgVmVjdG9yIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgUGFyYWdyYXBoRWxlbWVudCB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IFN0cm9rZVN0eWxlIH0gZnJvbSAnLi9lbGVtZW50JztcblxuZXhwb3J0IGVudW0gQmFzaWNTaGFwZXMge1xuICAgIHJlY3RhbmdsZSA9ICdyZWN0YW5nbGUnLFxuICAgIGVsbGlwc2UgPSAnZWxsaXBzZScsXG4gICAgZGlhbW9uZCA9ICdkaWFtb25kJyxcbiAgICByb3VuZFJlY3RhbmdsZSA9ICdyb3VuZFJlY3RhbmdsZScsXG4gICAgcGFyYWxsZWxvZ3JhbSA9ICdwYXJhbGxlbG9ncmFtJyxcbiAgICB0ZXh0ID0gJ3RleHQnLFxuICAgIHRyaWFuZ2xlID0gJ3RyaWFuZ2xlJyxcbiAgICBsZWZ0QXJyb3cgPSAnbGVmdEFycm93JyxcbiAgICB0cmFwZXpvaWQgPSAndHJhcGV6b2lkJyxcbiAgICByaWdodEFycm93ID0gJ3JpZ2h0QXJyb3cnLFxuICAgIGNyb3NzID0gJ2Nyb3NzJyxcbiAgICBzdGFyID0gJ3N0YXInLFxuICAgIHBlbnRhZ29uID0gJ3BlbnRhZ29uJyxcbiAgICBoZXhhZ29uID0gJ2hleGFnb24nLFxuICAgIG9jdGFnb24gPSAnb2N0YWdvbicsXG4gICAgcGVudGFnb25BcnJvdyA9ICdwZW50YWdvbkFycm93JyxcbiAgICBwcm9jZXNzQXJyb3cgPSAncHJvY2Vzc0Fycm93JyxcbiAgICB0d29XYXlBcnJvdyA9ICd0d29XYXlBcnJvdycsXG4gICAgY29tbWVudCA9ICdjb21tZW50JyxcbiAgICByb3VuZENvbW1lbnQgPSAncm91bmRDb21tZW50J1xufVxuXG5leHBvcnQgZW51bSBGbG93Y2hhcnRTeW1ib2xzIHtcbiAgICBwcm9jZXNzID0gJ3Byb2Nlc3MnLFxuICAgIGRlY2lzaW9uID0gJ2RlY2lzaW9uJyxcbiAgICBkYXRhID0gJ2RhdGEnLFxuICAgIGNvbm5lY3RvciA9ICdjb25uZWN0b3InLFxuICAgIHRlcm1pbmFsID0gJ3Rlcm1pbmFsJyxcbiAgICBtYW51YWxJbnB1dCA9ICdtYW51YWxJbnB1dCcsXG4gICAgcHJlcGFyYXRpb24gPSAncHJlcGFyYXRpb24nLFxuICAgIG1hbnVhbExvb3AgPSAnbWFudWFsTG9vcCcsXG4gICAgbWVyZ2UgPSAnbWVyZ2UnLFxuICAgIGRlbGF5ID0gJ2RlbGF5JyxcbiAgICBzdG9yZWREYXRhID0gJ3N0b3JlZERhdGEnXG59XG5cbmV4cG9ydCB0eXBlIEdlb21ldHJ5U2hhcGVzID0gQmFzaWNTaGFwZXMgfCBGbG93Y2hhcnRTeW1ib2xzO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0R2VvbWV0cnkgZXh0ZW5kcyBQbGFpdEVsZW1lbnQge1xuICAgIHBvaW50czogW1BvaW50LCBQb2ludF07XG4gICAgdHlwZTogJ2dlb21ldHJ5JztcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZXM7XG5cbiAgICB0ZXh0OiBQYXJhZ3JhcGhFbGVtZW50O1xuICAgIHRleHRIZWlnaHQ6IG51bWJlcjtcblxuICAgIC8vIG5vZGUgc3R5bGUgYXR0cmlidXRlc1xuICAgIGZpbGw/OiBzdHJpbmc7XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZTtcblxuICAgIGFuZ2xlOiBudW1iZXI7XG4gICAgb3BhY2l0eTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0UmVjdGFuZ2xlIGV4dGVuZHMgUGxhaXRHZW9tZXRyeSB7XG4gICAgc2hhcGU6IEJhc2ljU2hhcGVzLnJlY3RhbmdsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEVsbGlwc2UgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogQmFzaWNTaGFwZXMuZWxsaXBzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdERpYW1vbmQgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogQmFzaWNTaGFwZXMuZGlhbW9uZDtcbn1cblxuZXhwb3J0IGNvbnN0IFBsYWl0R2VvbWV0cnkgPSB7fTtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFwZUVuZ2luZSB7XG4gICAgaXNIaXQ6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSA9PiBib29sZWFuO1xuICAgIGdldE5lYXJlc3RQb2ludDogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpID0+IFBvaW50O1xuICAgIGdldENvbm5lY3RvclBvaW50czogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSA9PiBQb2ludFtdO1xuICAgIGdldENvcm5lclBvaW50czogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSA9PiBQb2ludFtdO1xuICAgIGdldEVkZ2VCeUNvbm5lY3Rpb25Qb2ludD86IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50T2ZSZWN0YW5nbGUpID0+IFtQb2ludCwgUG9pbnRdIHwgbnVsbDtcbiAgICBnZXRUYW5nZW50VmVjdG9yQnlDb25uZWN0aW9uUG9pbnQ/OiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludE9mUmVjdGFuZ2xlKSA9PiBWZWN0b3IgfCBudWxsO1xuICAgIGRyYXc6IChib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpID0+IFNWR0dFbGVtZW50O1xuICAgIGdldFRleHRSZWN0YW5nbGU/OiAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4gUmVjdGFuZ2xlQ2xpZW50O1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getElementById } from '@plait/core';
|
|
2
2
|
import { getConnectionPoint } from '../utils';
|
|
3
3
|
export var LineMarkerType;
|
|
4
4
|
(function (LineMarkerType) {
|
|
@@ -24,19 +24,6 @@ export var LineHandleKey;
|
|
|
24
24
|
LineHandleKey["target"] = "target";
|
|
25
25
|
})(LineHandleKey || (LineHandleKey = {}));
|
|
26
26
|
export const PlaitLine = {
|
|
27
|
-
getTextEditors(element) {
|
|
28
|
-
const component = PlaitElement.getComponent(element);
|
|
29
|
-
if (component) {
|
|
30
|
-
const manage = component.textManages.find(manage => manage.isEditing);
|
|
31
|
-
if (manage) {
|
|
32
|
-
return [manage.componentRef.instance.editor];
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
return component.textManages.map(manage => manage.componentRef.instance.editor);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
throw new Error('can not get correctly component in get text editor');
|
|
39
|
-
},
|
|
40
27
|
isSourceMarkOrTargetMark(line, markType, handleKey) {
|
|
41
28
|
if (handleKey === LineHandleKey.source) {
|
|
42
29
|
return line.source.marker === markType;
|
|
@@ -68,4 +55,4 @@ export const PlaitLine = {
|
|
|
68
55
|
return [sourcePoint, ...restPoints, targetPoint];
|
|
69
56
|
}
|
|
70
57
|
};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUtuSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHOUMsTUFBTSxDQUFOLElBQVksY0FVWDtBQVZELFdBQVksY0FBYztJQUN0QixpQ0FBZSxDQUFBO0lBQ2YsK0JBQWEsQ0FBQTtJQUNiLGdEQUE4QixDQUFBO0lBQzlCLGtEQUFnQyxDQUFBO0lBQ2hDLDRDQUEwQixDQUFBO0lBQzFCLDJDQUF5QixDQUFBO0lBQ3pCLCtDQUE2QixDQUFBO0lBQzdCLG9EQUFrQyxDQUFBO0lBQ2xDLDhDQUE0QixDQUFBO0FBQ2hDLENBQUMsRUFWVyxjQUFjLEtBQWQsY0FBYyxRQVV6QjtBQUVELE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDakIsa0NBQXFCLENBQUE7SUFDckIsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUNyQixrQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEI7QUF1REQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3JCLHdCQUF3QixDQUFDLElBQWUsRUFBRSxRQUF3QixFQUFFLFNBQXdCO1FBQ3hGLElBQUksU0FBUyxLQUFLLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7U0FDMUM7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFlLEVBQUUsUUFBd0I7UUFDbEQsT0FBTyxTQUFTLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFlLEVBQUUsUUFBd0I7UUFDbEQsT0FBTyxTQUFTLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUNELHNCQUFzQixDQUFDLElBQWUsRUFBRSxPQUFtQztRQUN2RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELHNCQUFzQixDQUFDLElBQWUsRUFBRSxPQUFtQztRQUN2RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFpQixFQUFFLElBQWU7UUFDeEMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQ2pDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQWdCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVyxDQUFDO1lBQ3pHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUNqQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFnQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVcsQ0FBQztZQUN6RyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlGLE9BQU8sQ0FBQyxXQUFXLEVBQUUsR0FBRyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24sIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFBvaW50T2ZSZWN0YW5nbGUsIFZlY3RvciwgZ2V0RWxlbWVudEJ5SWQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgTGluZUNvbXBvbmVudCB9IGZyb20gJy4uL2xpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnkgfSBmcm9tICcuL2dlb21ldHJ5JztcbmltcG9ydCB7IFN0cm9rZVN0eWxlIH0gZnJvbSAnLi9lbGVtZW50JztcbmltcG9ydCB7IGdldENvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFBsYWl0SW1hZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ltYWdlJztcblxuZXhwb3J0IGVudW0gTGluZU1hcmtlclR5cGUge1xuICAgIGFycm93ID0gJ2Fycm93JyxcbiAgICBub25lID0gJ25vbmUnLFxuICAgIG9wZW5UcmlhbmdsZSA9ICdvcGVuLXRyaWFuZ2xlJyxcbiAgICBzb2xpZFRyaWFuZ2xlID0gJ3NvbGlkLXRyaWFuZ2xlJyxcbiAgICBzaGFycEFycm93ID0gJ3NoYXJwLWFycm93JyxcbiAgICBvbmVTaWRlVXAgPSAnb25lLXNpZGUtdXAnLFxuICAgIG9uZVNpZGVEb3duID0gJ29uZS1zaWRlLWRvd24nLFxuICAgIGhvbGxvd1RyaWFuZ2xlID0gJ2hvbGxvdy10cmlhbmdsZScsXG4gICAgc2luZ2xlU2xhc2ggPSAnc2luZ2xlLXNsYXNoJ1xufVxuXG5leHBvcnQgZW51bSBMaW5lU2hhcGUge1xuICAgIHN0cmFpZ2h0ID0gJ3N0cmFpZ2h0JyxcbiAgICBjdXJ2ZSA9ICdjdXJ2ZScsXG4gICAgZWxib3cgPSAnZWxib3cnXG59XG5cbmV4cG9ydCBlbnVtIExpbmVIYW5kbGVLZXkge1xuICAgIHNvdXJjZSA9ICdzb3VyY2UnLFxuICAgIHRhcmdldCA9ICd0YXJnZXQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZVRleHQge1xuICAgIHRleHQ6IEVsZW1lbnQ7XG4gICAgLy/ln7rkuo7nur/plb/luqbvvIzlrprkvY3nmoTnmb7liIbmr5RcbiAgICBwb3NpdGlvbjogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZUhhbmRsZSB7XG4gICAgLy8g5YWz6IGU5YWD57Sg55qEIGlkXG4gICAgYm91bmRJZD86IHN0cmluZztcbiAgICBjb25uZWN0aW9uPzogUG9pbnRPZlJlY3RhbmdsZTtcbiAgICBtYXJrZXI6IExpbmVNYXJrZXJUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVIYW5kbGVSZWYge1xuICAgIGtleTogTGluZUhhbmRsZUtleTtcbiAgICBkaXJlY3Rpb246IERpcmVjdGlvbjtcbiAgICBwb2ludDogUG9pbnRPZlJlY3RhbmdsZTtcbiAgICB2ZWN0b3I6IFZlY3RvcjtcbiAgICBib3VuZEVsZW1lbnQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0TGluZSBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgdHlwZTogJ2xpbmUnO1xuICAgIHNoYXBlOiBMaW5lU2hhcGU7XG4gICAgcG9pbnRzOiBQb2ludFtdO1xuXG4gICAgc291cmNlOiBMaW5lSGFuZGxlO1xuICAgIHRhcmdldDogTGluZUhhbmRsZTtcblxuICAgIHRleHRzOiBMaW5lVGV4dFtdO1xuXG4gICAgLy8gbm9kZSBzdHlsZSBhdHRyaWJ1dGVzXG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZTtcblxuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFN0cmFpZ2h0TGluZSBleHRlbmRzIFBsYWl0TGluZSB7XG4gICAgc2hhcGU6IExpbmVTaGFwZS5zdHJhaWdodDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEN1cnZlTGluZSBleHRlbmRzIFBsYWl0TGluZSB7XG4gICAgc2hhcGU6IExpbmVTaGFwZS5jdXJ2ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEVsYm93TGluZSBleHRlbmRzIFBsYWl0TGluZSB7XG4gICAgc2hhcGU6IExpbmVTaGFwZS5lbGJvdztcbn1cblxuZXhwb3J0IGNvbnN0IFBsYWl0TGluZSA9IHtcbiAgICBpc1NvdXJjZU1hcmtPclRhcmdldE1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUsIGhhbmRsZUtleTogTGluZUhhbmRsZUtleSkge1xuICAgICAgICBpZiAoaGFuZGxlS2V5ID09PSBMaW5lSGFuZGxlS2V5LnNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuIGxpbmUuc291cmNlLm1hcmtlciA9PT0gbWFya1R5cGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbGluZS50YXJnZXQubWFya2VyID09PSBtYXJrVHlwZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNTb3VyY2VNYXJrKGxpbmU6IFBsYWl0TGluZSwgbWFya1R5cGU6IExpbmVNYXJrZXJUeXBlKSB7XG4gICAgICAgIHJldHVybiBQbGFpdExpbmUuaXNTb3VyY2VNYXJrT3JUYXJnZXRNYXJrKGxpbmUsIG1hcmtUeXBlLCBMaW5lSGFuZGxlS2V5LnNvdXJjZSk7XG4gICAgfSxcbiAgICBpc1RhcmdldE1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUpIHtcbiAgICAgICAgcmV0dXJuIFBsYWl0TGluZS5pc1NvdXJjZU1hcmtPclRhcmdldE1hcmsobGluZSwgbWFya1R5cGUsIExpbmVIYW5kbGVLZXkudGFyZ2V0KTtcbiAgICB9LFxuICAgIGlzQm91bmRFbGVtZW50T2ZTb3VyY2UobGluZTogUGxhaXRMaW5lLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgUGxhaXRJbWFnZSkge1xuICAgICAgICByZXR1cm4gbGluZS5zb3VyY2UuYm91bmRJZCA9PT0gZWxlbWVudC5pZDtcbiAgICB9LFxuICAgIGlzQm91bmRFbGVtZW50T2ZUYXJnZXQobGluZTogUGxhaXRMaW5lLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgUGxhaXRJbWFnZSkge1xuICAgICAgICByZXR1cm4gbGluZS50YXJnZXQuYm91bmRJZCA9PT0gZWxlbWVudC5pZDtcbiAgICB9LFxuICAgIGdldFBvaW50cyhib2FyZDogUGxhaXRCb2FyZCwgbGluZTogUGxhaXRMaW5lKSB7XG4gICAgICAgIGxldCBzb3VyY2VQb2ludCA9IGxpbmUuc291cmNlLmJvdW5kSWRcbiAgICAgICAgICAgID8gZ2V0Q29ubmVjdGlvblBvaW50KGdldEVsZW1lbnRCeUlkPFBsYWl0R2VvbWV0cnk+KGJvYXJkLCBsaW5lLnNvdXJjZS5ib3VuZElkKSEsIGxpbmUuc291cmNlLmNvbm5lY3Rpb24hKVxuICAgICAgICAgICAgOiBsaW5lLnBvaW50c1swXTtcbiAgICAgICAgbGV0IHRhcmdldFBvaW50ID0gbGluZS50YXJnZXQuYm91bmRJZFxuICAgICAgICAgICAgPyBnZXRDb25uZWN0aW9uUG9pbnQoZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4oYm9hcmQsIGxpbmUudGFyZ2V0LmJvdW5kSWQpISwgbGluZS50YXJnZXQuY29ubmVjdGlvbiEpXG4gICAgICAgICAgICA6IGxpbmUucG9pbnRzW2xpbmUucG9pbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICBjb25zdCByZXN0UG9pbnRzID0gbGluZS5wb2ludHMubGVuZ3RoID4gMiA/IGxpbmUucG9pbnRzLnNsaWNlKDEsIGxpbmUucG9pbnRzLmxlbmd0aCAtIDEpIDogW107XG4gICAgICAgIHJldHVybiBbc291cmNlUG9pbnQsIC4uLnJlc3RQb2ludHMsIHRhcmdldFBvaW50XTtcbiAgICB9XG59O1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { PlaitBoard,
|
|
2
|
+
import { PlaitBoard, getElementById, isSelectionMoving } from '@plait/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { TextManage } from '@plait/text';
|
|
5
5
|
import { LineShapeGenerator } from './generators/line.generator';
|
|
@@ -7,20 +7,20 @@ import { LineActiveGenerator } from './generators/line-active.generator';
|
|
|
7
7
|
import { getLineTextRectangle, memorizeLatestText } from './utils';
|
|
8
8
|
import { DrawTransforms } from './transforms';
|
|
9
9
|
import { GeometryThreshold } from './constants';
|
|
10
|
+
import { CommonPluginElement } from '@plait/common';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
|
-
export class LineComponent extends
|
|
12
|
+
export class LineComponent extends CommonPluginElement {
|
|
12
13
|
constructor(viewContainerRef, cdr) {
|
|
13
14
|
super(cdr);
|
|
14
15
|
this.viewContainerRef = viewContainerRef;
|
|
15
16
|
this.cdr = cdr;
|
|
16
17
|
this.destroy$ = new Subject();
|
|
17
|
-
this.textManages = [];
|
|
18
18
|
this.boundedElements = {};
|
|
19
19
|
}
|
|
20
20
|
initializeGenerator() {
|
|
21
21
|
this.shapeGenerator = new LineShapeGenerator(this.board);
|
|
22
22
|
this.activeGenerator = new LineActiveGenerator(this.board);
|
|
23
|
-
this.
|
|
23
|
+
this.initializeTextManagesByElement();
|
|
24
24
|
}
|
|
25
25
|
ngOnInit() {
|
|
26
26
|
this.initializeGenerator();
|
|
@@ -70,22 +70,19 @@ export class LineComponent extends PlaitPluginElementComponent {
|
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
initializeTextManagesByElement() {
|
|
74
74
|
if (this.element.texts?.length) {
|
|
75
|
+
const textManages = [];
|
|
75
76
|
this.element.texts.forEach((text, index) => {
|
|
76
77
|
const manage = this.createTextManage(text, index);
|
|
77
|
-
|
|
78
|
+
textManages.push(manage);
|
|
78
79
|
});
|
|
80
|
+
this.initializeTextManages(textManages);
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
|
-
destroyTextManages() {
|
|
82
|
-
this.textManages.forEach(manage => {
|
|
83
|
-
manage.destroy();
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
83
|
drawText() {
|
|
87
84
|
if (this.element.texts?.length) {
|
|
88
|
-
this.
|
|
85
|
+
this.getTextManages().forEach((manage, index) => {
|
|
89
86
|
manage.draw(this.element.texts[index].text);
|
|
90
87
|
this.g.append(manage.g);
|
|
91
88
|
});
|
|
@@ -117,22 +114,23 @@ export class LineComponent extends PlaitPluginElementComponent {
|
|
|
117
114
|
return;
|
|
118
115
|
const previousTextsLength = previousTexts.length;
|
|
119
116
|
const currentTextsLength = currentTexts.length;
|
|
117
|
+
const textManages = this.getTextManages();
|
|
120
118
|
if (currentTextsLength === previousTextsLength) {
|
|
121
119
|
for (let i = 0; i < previousTextsLength; i++) {
|
|
122
120
|
if (previousTexts[i].text !== currentTexts[i].text) {
|
|
123
|
-
|
|
121
|
+
textManages[i].updateText(currentTexts[i].text);
|
|
124
122
|
}
|
|
125
123
|
}
|
|
126
124
|
}
|
|
127
125
|
else {
|
|
128
126
|
this.destroyTextManages();
|
|
129
|
-
this.
|
|
130
|
-
this.initializeTextManages();
|
|
127
|
+
this.initializeTextManagesByElement();
|
|
131
128
|
this.drawText();
|
|
132
129
|
}
|
|
133
130
|
}
|
|
134
131
|
updateTextRectangle() {
|
|
135
|
-
this.
|
|
132
|
+
const textManages = this.getTextManages();
|
|
133
|
+
textManages.forEach(manage => {
|
|
136
134
|
manage.updateRectangle();
|
|
137
135
|
});
|
|
138
136
|
}
|
|
@@ -141,6 +139,7 @@ export class LineComponent extends PlaitPluginElementComponent {
|
|
|
141
139
|
this.activeGenerator.destroy();
|
|
142
140
|
this.destroy$.next();
|
|
143
141
|
this.destroy$.complete();
|
|
142
|
+
this.destroyTextManages();
|
|
144
143
|
}
|
|
145
144
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LineComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
145
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LineComponent, isStandalone: true, selector: "plait-draw-line", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -154,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
154
153
|
standalone: true
|
|
155
154
|
}]
|
|
156
155
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUNILFVBQVUsRUFDViwyQkFBMkIsRUFHM0IsY0FBYyxFQUNkLGlCQUFpQixFQUNwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFhaEQsTUFBTSxPQUFPLGFBQWMsU0FBUSwyQkFBa0Q7SUFZakYsWUFBb0IsZ0JBQWtDLEVBQVksR0FBc0I7UUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREsscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVnhGLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTS9CLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUUvQixvQkFBZSxHQUFvQixFQUFFLENBQUM7SUFJdEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMs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Q0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO29CQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3hEO2FBQ0o7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBckpRLGFBQWE7bUdBQWIsYUFBYSxrR0FKWixFQUFFOzs0RkFJSCxhQUFhO2tCQU56QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBPbkNvbnRleHRDaGFuZ2VkLFxuICAgIGdldEVsZW1lbnRCeUlkLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpbmVUZXh0LCBQbGFpdEdlb21ldHJ5LCBQbGFpdExpbmUgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGV4dE1hbmFnZSwgVGV4dE1hbmFnZVJlZiB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IExpbmVTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9saW5lLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBMaW5lQWN0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUtYWN0aXZlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBnZXRMaW5lVGV4dFJlY3RhbmdsZSwgbWVtb3JpemVMYXRlc3RUZXh0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBHZW9tZXRyeVRocmVzaG9sZCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuaW50ZXJmYWNlIEJvdW5kZWRFbGVtZW50cyB7XG4gICAgc291cmNlPzogUGxhaXRHZW9tZXRyeTtcbiAgICB0YXJnZXQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BsYWl0LWRyYXctbGluZScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTGluZUNvbXBvbmVudCBleHRlbmRzIFBsYWl0UGx1Z2luRWxlbWVudENvbXBvbmVudDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IExpbmVTaGFwZUdlbmVyYXRvcjtcblxuICAgIGFjdGl2ZUdlbmVyYXRvciE6IExpbmVBY3RpdmVHZW5lcmF0b3I7XG5cbiAgICB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG5cbiAgICBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihjZHIpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgTGluZVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBMaW5lQWN0aXZlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgfVxuXG4gICAgZ2V0Qm91bmRlZEVsZW1lbnRzKCkge1xuICAgICAgICBjb25zdCBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnNvdXJjZS5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBib3VuZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQuc291cmNlLmJvdW5kSWQpO1xuICAgICAgICAgICAgaWYgKGJvdW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy5zb3VyY2UgPSBib3VuZEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50YXJnZXQuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgYm91bmRFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnRhcmdldC5ib3VuZElkKTtcbiAgICAgICAgICAgIGlmIChib3VuZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZGVkRWxlbWVudHMudGFyZ2V0ID0gYm91bmRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBib3VuZGVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZCh2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+LCBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+KSB7XG4gICAgICAgIGNvbnN0IGJvdW5kZWRFbGVtZW50cyA9IHRoaXMuZ2V0Qm91bmRlZEVsZW1lbnRzKCk7XG4gICAgICAgIGNvbnN0IGlzQm91bmRlZEVsZW1lbnRzQ2hhbmdlZCA9XG4gICAgICAgICAgICBib3VuZGVkRWxlbWVudHMuc291cmNlICE9PSB0aGlzLmJvdW5kZWRFbGVtZW50cy5zb3VyY2UgfHwgYm91bmRlZEVsZW1lbnRzLnRhcmdldCAhPT0gdGhpcy5ib3VuZGVkRWxlbWVudHMudGFyZ2V0O1xuICAgICAgICB0aGlzLmJvdW5kZWRFbGVtZW50cyA9IGJvdW5kZWRFbGVtZW50cztcbiAgICAgICAgY29uc3QgaXNDaGFuZ2VUaGVtZSA9IHRoaXMuYm9hcmQub3BlcmF0aW9ucy5maW5kKG9wID0+IG9wLnR5cGUgPT09ICdzZXRfdGhlbWUnKTtcblxuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCB8fCBpc0NoYW5nZVRoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dChwcmV2aW91cy5lbGVtZW50LnRleHRzLCB2YWx1ZS5lbGVtZW50LnRleHRzKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgKHZhbHVlLnNlbGVjdGVkICYmIGlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC50ZXh0cy5mb3JFYWNoKCh0ZXh0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hbmFnZSA9IHRoaXMuY3JlYXRlVGV4dE1hbmFnZSh0ZXh0LCBpbmRleCk7XG4gICAgICAgICAgICAgICAgdGhpcy50ZXh0TWFuYWdlcy5wdXNoKG1hbmFnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3lUZXh0TWFuYWdlcygpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlcy5mb3JFYWNoKG1hbmFnZSA9PiB7XG4gICAgICAgICAgICBtYW5hZ2UuZGVzdHJveSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkcmF3VGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50ZXh0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLmZvckVhY2goKG1hbmFnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBtYW5hZ2UuZHJhdyh0aGlzLmVsZW1lbnQudGV4dHMhW2luZGV4XS50ZXh0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmcuYXBwZW5kKG1hbmFnZS5nKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlVGV4dE1hbmFnZSh0ZXh0OiBMaW5lVGV4dCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0TGluZVRleHRSZWN0YW5nbGUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCBpbmRleCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25WYWx1ZUNoYW5nZUhhbmRsZTogKHRleHRNYW5hZ2VSZWY6IFRleHRNYW5hZ2VSZWYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0ZXh0TWFuYWdlUmVmLmhlaWdodCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IHRleHRNYW5hZ2VSZWYud2lkdGggLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dHMgPSBbLi4udGhpcy5lbGVtZW50LnRleHRzXTtcbiAgICAgICAgICAgICAgICB0ZXh0cy5zcGxpY2UoaW5kZXgsIDEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSA/IHRleHRNYW5hZ2VSZWYubmV3VmFsdWUgOiB0aGlzLmVsZW1lbnQudGV4dHNbaW5kZXhdLnRleHQsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLmVsZW1lbnQudGV4dHNbaW5kZXhdLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0TGluZVRleHRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgdGV4dHMpO1xuICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VSZWYub3BlcmF0aW9ucyAmJiBtZW1vcml6ZUxhdGVzdFRleHQodGhpcy5lbGVtZW50LCB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldE1heFdpZHRoOiAoKSA9PiBHZW9tZXRyeVRocmVzaG9sZC5kZWZhdWx0VGV4dE1heFdpZHRoXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZVRleHQocHJldmlvdXNUZXh0czogTGluZVRleHRbXSwgY3VycmVudFRleHRzOiBMaW5lVGV4dFtdKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1RleHRzID09PSBjdXJyZW50VGV4dHMpIHJldHVybjtcbiAgICAgICAgY29uc3QgcHJldmlvdXNUZXh0c0xlbmd0aCA9IHByZXZpb3VzVGV4dHMubGVuZ3RoO1xuICAgICAgICBjb25zdCBjdXJyZW50VGV4dHNMZW5ndGggPSBjdXJyZW50VGV4dHMubGVuZ3RoO1xuICAgICAgICBpZiAoY3VycmVudFRleHRzTGVuZ3RoID09PSBwcmV2aW91c1RleHRzTGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZpb3VzVGV4dHNMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1RleHRzW2ldLnRleHQgIT09IGN1cnJlbnRUZXh0c1tpXS50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dE1hbmFnZXNbaV0udXBkYXRlVGV4dChjdXJyZW50VGV4dHNbaV0udGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dE1hbmFnZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0UmVjdGFuZ2xlKCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLmZvckVhY2gobWFuYWdlID0+IHtcbiAgICAgICAgICAgIG1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUNILFVBQVUsRUFJVixjQUFjLEVBQ2QsaUJBQWlCLEVBQ3BCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhcEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBMEM7SUFVekUsWUFBb0IsZ0JBQWtDLEVBQVksR0FBc0I7UUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREsscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBUnhGLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTS9CLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztJQUl0QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FB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QUFDLENBQUMsSUFBSSxFQUFFO29CQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbkQ7YUFDSjtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0FqSlEsYUFBYTttR0FBYixhQUFhLGtHQUpaLEVBQUU7OzRGQUlILGFBQWE7a0JBTnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbXBvbmVudCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgZ2V0RWxlbWVudEJ5SWQsXG4gICAgaXNTZWxlY3Rpb25Nb3Zpbmdcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZVRleHQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgTGluZVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IExpbmVBY3RpdmVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hY3RpdmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGdldExpbmVUZXh0UmVjdGFuZ2xlLCBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29tbW9uUGx1Z2luRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5pbnRlcmZhY2UgQm91bmRlZEVsZW1lbnRzIHtcbiAgICBzb3VyY2U/OiBQbGFpdEdlb21ldHJ5O1xuICAgIHRhcmdldD86IFBsYWl0R2VvbWV0cnk7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZHJhdy1saW5lJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBMaW5lQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uUGx1Z2luRWxlbWVudDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IExpbmVTaGFwZUdlbmVyYXRvcjtcblxuICAgIGFjdGl2ZUdlbmVyYXRvciE6IExpbmVBY3RpdmVHZW5lcmF0b3I7XG5cbiAgICBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihjZHIpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgTGluZVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBMaW5lQWN0aXZlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlc0J5RWxlbWVudCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgfVxuXG4gICAgZ2V0Qm91bmRlZEVsZW1lbnRzKCkge1xuICAgICAgICBjb25zdCBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnNvdXJjZS5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBib3VuZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQuc291cmNlLmJvdW5kSWQpO1xuICAgICAgICAgICAgaWYgKGJvdW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy5zb3VyY2UgPSBib3VuZEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50YXJnZXQuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgYm91bmRFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnRhcmdldC5ib3VuZElkKTtcbiAgICAgICAgICAgIGlmIChib3VuZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZGVkRWxlbWVudHMudGFyZ2V0ID0gYm91bmRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBib3VuZGVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZCh2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+LCBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+KSB7XG4gICAgICAgIGNvbnN0IGJvdW5kZWRFbGVtZW50cyA9IHRoaXMuZ2V0Qm91bmRlZEVsZW1lbnRzKCk7XG4gICAgICAgIGNvbnN0IGlzQm91bmRlZEVsZW1lbnRzQ2hhbmdlZCA9XG4gICAgICAgICAgICBib3VuZGVkRWxlbWVudHMuc291cmNlICE9PSB0aGlzLmJvdW5kZWRFbGVtZW50cy5zb3VyY2UgfHwgYm91bmRlZEVsZW1lbnRzLnRhcmdldCAhPT0gdGhpcy5ib3VuZGVkRWxlbWVudHMudGFyZ2V0O1xuICAgICAgICB0aGlzLmJvdW5kZWRFbGVtZW50cyA9IGJvdW5kZWRFbGVtZW50cztcbiAgICAgICAgY29uc3QgaXNDaGFuZ2VUaGVtZSA9IHRoaXMuYm9hcmQub3BlcmF0aW9ucy5maW5kKG9wID0+IG9wLnR5cGUgPT09ICdzZXRfdGhlbWUnKTtcblxuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCB8fCBpc0NoYW5nZVRoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dChwcmV2aW91cy5lbGVtZW50LnRleHRzLCB2YWx1ZS5lbGVtZW50LnRleHRzKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgKHZhbHVlLnNlbGVjdGVkICYmIGlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2VzQnlFbGVtZW50KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRNYW5hZ2VzOiBUZXh0TWFuYWdlW10gPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC50ZXh0cy5mb3JFYWNoKCh0ZXh0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hbmFnZSA9IHRoaXMuY3JlYXRlVGV4dE1hbmFnZSh0ZXh0LCBpbmRleCk7XG4gICAgICAgICAgICAgICAgdGV4dE1hbmFnZXMucHVzaChtYW5hZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcyh0ZXh0TWFuYWdlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkcmF3VGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50ZXh0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmdldFRleHRNYW5hZ2VzKCkuZm9yRWFjaCgobWFuYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIG1hbmFnZS5kcmF3KHRoaXMuZWxlbWVudC50ZXh0cyFbaW5kZXhdLnRleHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZy5hcHBlbmQobWFuYWdlLmcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVUZXh0TWFuYWdlKHRleHQ6IExpbmVUZXh0LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgVGV4dE1hbmFnZSh0aGlzLmJvYXJkLCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHtcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRMaW5lVGV4dFJlY3RhbmdsZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIGluZGV4KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlSGFuZGxlOiAodGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRleHRNYW5hZ2VSZWYuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGV4dE1hbmFnZVJlZi53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0cyA9IFsuLi50aGlzLmVsZW1lbnQudGV4dHNdO1xuICAgICAgICAgICAgICAgIHRleHRzLnNwbGljZShpbmRleCwgMSwge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlID8gdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSA6IHRoaXMuZWxlbWVudC50ZXh0c1tpbmRleF0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuZWxlbWVudC50ZXh0c1tpbmRleF0ucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRMaW5lVGV4dHModGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0cyk7XG4gICAgICAgICAgICAgICAgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zICYmIG1lbW9yaXplTGF0ZXN0VGV4dCh0aGlzLmVsZW1lbnQsIHRleHRNYW5hZ2VSZWYub3BlcmF0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dChwcmV2aW91c1RleHRzOiBMaW5lVGV4dFtdLCBjdXJyZW50VGV4dHM6IExpbmVUZXh0W10pIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVGV4dHMgPT09IGN1cnJlbnRUZXh0cykgcmV0dXJuO1xuICAgICAgICBjb25zdCBwcmV2aW91c1RleHRzTGVuZ3RoID0gcHJldmlvdXNUZXh0cy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUZXh0c0xlbmd0aCA9IGN1cnJlbnRUZXh0cy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHRleHRNYW5hZ2VzID0gdGhpcy5nZXRUZXh0TWFuYWdlcygpO1xuICAgICAgICBpZiAoY3VycmVudFRleHRzTGVuZ3RoID09PSBwcmV2aW91c1RleHRzTGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZpb3VzVGV4dHNMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1RleHRzW2ldLnRleHQgIT09IGN1cnJlbnRUZXh0c1tpXS50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VzW2ldLnVwZGF0ZVRleHQoY3VycmVudFRleHRzW2ldLnRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRleHRNYW5hZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlc0J5RWxlbWVudCgpO1xuICAgICAgICAgICAgdGhpcy5kcmF3VGV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dFJlY3RhbmdsZSgpIHtcbiAgICAgICAgY29uc3QgdGV4dE1hbmFnZXMgPSB0aGlzLmdldFRleHRNYW5hZ2VzKCk7XG4gICAgICAgIHRleHRNYW5hZ2VzLmZvckVhY2gobWFuYWdlID0+IHtcbiAgICAgICAgICAgIG1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95VGV4dE1hbmFnZXMoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -79,4 +79,4 @@ export const getBoundedLineElements = (board, plaitShapes) => {
|
|
|
79
79
|
const lines = getBoardLines(board);
|
|
80
80
|
return lines.filter(line => plaitShapes.find(shape => PlaitLine.isBoundElementOfSource(line, shape) || PlaitLine.isBoundElementOfTarget(line, shape)));
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LWZyYWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXctZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvRCxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1SSxPQUFPLEVBQUUsdUJBQXVCLEVBQTRCLE1BQU0sbUJBQW1CLENBQUM7QUFDdEYsT0FBTyxFQUFlLGdCQUFnQixFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUduRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFNBQXFCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLEtBQUssR0FBRyxTQUF1QixDQUFDO0lBQ3RDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRWxFLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLElBQW9CLEVBQUUsRUFBRTtRQUNoRCxNQUFNLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDckIsTUFB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QUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixFQUFFO2dCQUNyRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLENBQUMsRUFBRTtvQkFDMUQsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPO2FBQ1Y7U0FDSjtRQUVELGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFdBQXlCLEVBQUUsRUFBRTtJQUNuRixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3ZCLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDNUgsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCwgZ2V0RGF0YUZyb21DbGlwYm9hcmQsIGdldFNlbGVjdGVkRWxlbWVudHMsIHNldENsaXBib2FyZERhdGEgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRTZWxlY3RlZERyYXdFbGVtZW50cywgZ2V0U2VsZWN0ZWRJbWFnZUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQnO1xuaW1wb3J0IHsgQmFzaWNTaGFwZXMsIFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSwgUGxhaXRTaGFwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0VGV4dEZyb21DbGlwYm9hcmQsIGdldFRleHRTaXplIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCBpbnNlcnRDbGlwYm9hcmREYXRhIH0gZnJvbSAnLi4vdXRpbHMvY2xpcGJvYXJkJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBnZXRCb2FyZExpbmVzIH0gZnJvbSAnLi4vdXRpbHMvbGluZSc7XG5pbXBvcnQgeyBQbGFpdEltYWdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbWFnZSc7XG5pbXBvcnQgeyBhY2NlcHRJbWFnZVR5cGVzLCBidWlsZEltYWdlLCBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IERFRkFVTFRfSU1BR0VfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0TWVtb3JpemVkTGF0ZXN0QnlQb2ludGVyLCBnZXRUZXh0U2hhcGVQcm9wZXJ0eSwgaW5zZXJ0RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3RnJhZ21lbnQgPSAoYmFzZUJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgYm9hcmQgPSBiYXNlQm9hcmQgYXMgUGxhaXRCb2FyZDtcbiAgICBjb25zdCB7IGdldERlbGV0ZWRGcmFnbWVudCwgc2V0RnJhZ21lbnQsIGluc2VydEZyYWdtZW50IH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmdldERlbGV0ZWRGcmFnbWVudCA9IChkYXRhOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgICAgICBjb25zdCBkcmF3RWxlbWVudHMgPSBnZXRTZWxlY3RlZERyYXdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGlmIChkcmF3RWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBnZW9tZXRyeUVsZW1lbnRzID0gZHJhd0VsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkodmFsdWUpKSBhcyBQbGFpdEdlb21ldHJ5W107XG4gICAgICAgICAgICBjb25zdCBsaW5lRWxlbWVudHMgPSBkcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSkgYXMgUGxhaXRMaW5lW107XG4gICAgICAgICAgICBjb25zdCBpbWFnZUVsZW1lbnRzID0gZHJhd0VsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UodmFsdWUpKSBhcyBQbGFpdEltYWdlW107XG5cbiAgICAgICAgICAgIGNvbnN0IGJvdW5kTGluZUVsZW1lbnRzID0gW1xuICAgICAgICAgICAgICAgIC4uLmdldEJvdW5kZWRMaW5lRWxlbWVudHMoYm9hcmQsIGdlb21ldHJ5RWxlbWVudHMpLFxuICAgICAgICAgICAgICAgIC4uLmdldEJvdW5kZWRMaW5lRWxlbWVudHMoYm9hcmQsIGltYWdlRWxlbWVudHMpXG4gICAgICAgICAgICBdLmZpbHRlcihsaW5lID0+ICFsaW5lRWxlbWVudHMuaW5jbHVkZXMobGluZSkpO1xuICAgICAgICAgICAgZGF0YS5wdXNoKFxuICAgICAgICAgICAgICAgIC4uLltcbiAgICAgICAgICAgICAgICAgICAgLi4uZ2VvbWV0cnlFbGVtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgLi4ubGluZUVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAuLi5pbWFnZUVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAuLi5ib3VuZExpbmVFbGVtZW50cy5maWx0ZXIobGluZSA9PiAhbGluZUVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldERlbGV0ZWRGcmFnbWVudChkYXRhKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuc2V0RnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQgfCBudWxsLCB0eXBlOiAnY29weScgfCAnY3V0JykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREcmF3RWxlbWVudHMgPSBnZXRTZWxlY3RlZERyYXdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGxldCBib3VuZExpbmVFbGVtZW50czogUGxhaXRMaW5lW10gPSBbXTtcbiAgICAgICAgaWYgKHRhcmdldERyYXdFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnY3V0Jykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5RWxlbWVudHMgPSB0YXJnZXREcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeSh2YWx1ZSkpIGFzIFBsYWl0R2VvbWV0cnlbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lRWxlbWVudHMgPSB0YXJnZXREcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSkgYXMgUGxhaXRMaW5lW107XG4gICAgICAgICAgICAgICAgYm91bmRMaW5lRWxlbWVudHMgPSBnZXRCb3VuZGVkTGluZUVsZW1lbnRzKGJvYXJkLCBnZW9tZXRyeUVsZW1lbnRzKS5maWx0ZXIobGluZSA9PiAhbGluZUVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gYnVpbGRDbGlwYm9hcmREYXRhKFxuICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgIFsuLi50YXJnZXREcmF3RWxlbWVudHMsIC4uLmJvdW5kTGluZUVsZW1lbnRzXSxcbiAgICAgICAgICAgICAgICByZWN0YW5nbGUgPyBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSA6IFswLCAwXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHNldENsaXBib2FyZERhdGEoZGF0YSwgZWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHNldEZyYWdtZW50KGRhdGEsIHJlY3RhbmdsZSwgdHlwZSk7XG4gICAgfTtcblxuICAgIGJvYXJkLmluc2VydEZyYWdtZW50ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHRhcmdldFBvaW50OiBQb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGdldERhdGFGcm9tQ2xpcGJvYXJkKGRhdGEpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGNvbnN0IGRyYXdFbGVtZW50cyA9IGVsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzRHJhd0VsZW1lbnQodmFsdWUpKSBhcyBQbGFpdERyYXdFbGVtZW50W107XG4gICAgICAgIGlmIChlbGVtZW50cy5sZW5ndGggPiAwICYmIGRyYXdFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpbnNlcnRDbGlwYm9hcmREYXRhKGJvYXJkLCBkcmF3RWxlbWVudHMsIHRhcmdldFBvaW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHQgPSBnZXRUZXh0RnJvbUNsaXBib2FyZChkYXRhKTtcbiAgICAgICAgICAgIC8vICgq77+j77i277+jKVxuICAgICAgICAgICAgY29uc3QgaW5zZXJ0QXNDaGlsZHJlbiA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmIHNlbGVjdGVkRWxlbWVudHNbMF0uY2hpbGRyZW47XG4gICAgICAgICAgICBjb25zdCBpbnNlcnRBc0ZyZWVUZXh0ID0gIWluc2VydEFzQ2hpbGRyZW47XG4gICAgICAgICAgICBpZiAodGV4dCAmJiBpbnNlcnRBc0ZyZWVUZXh0KSB7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuaW5zZXJ0VGV4dChib2FyZCwgdGFyZ2V0UG9pbnQsIHRleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhPy5maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGFjY2VwdEltYWdlQXJyYXkgPSBhY2NlcHRJbWFnZVR5cGVzLm1hcCh0eXBlID0+ICdpbWFnZS8nICsgdHlwZSk7XG4gICAgICAgICAgICBjb25zdCBjYW5JbnNlcnRpb25JbWFnZSA9XG4gICAgICAgICAgICAgICAgIWdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZShib2FyZCkgJiYgIShzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBib2FyZC5pc0ltYWdlQmluZGluZ0FsbG93ZWQoc2VsZWN0ZWRFbGVtZW50c1swXSkpO1xuICAgICAgICAgICAgaWYgKGFjY2VwdEltYWdlQXJyYXkuaW5jbHVkZXMoZGF0YT8uZmlsZXNbMF0udHlwZSkgJiYgY2FuSW5zZXJ0aW9uSW1hZ2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZUZpbGUgPSBkYXRhLmZpbGVzWzBdO1xuICAgICAgICAgICAgICAgIGJ1aWxkSW1hZ2UoYm9hcmQsIGltYWdlRmlsZSwgREVGQVVMVF9JTUFHRV9XSURUSCwgaW1hZ2VJdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuaW5zZXJ0SW1hZ2UoYm9hcmQsIGltYWdlSXRlbSwgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIHRhcmdldFBvaW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJvdW5kZWRMaW5lRWxlbWVudHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBsYWl0U2hhcGVzOiBQbGFpdFNoYXBlW10pID0+IHtcbiAgICBjb25zdCBsaW5lcyA9IGdldEJvYXJkTGluZXMoYm9hcmQpO1xuICAgIHJldHVybiBsaW5lcy5maWx0ZXIobGluZSA9PlxuICAgICAgICBwbGFpdFNoYXBlcy5maW5kKHNoYXBlID0+IFBsYWl0TGluZS5pc0JvdW5kRWxlbWVudE9mU291cmNlKGxpbmUsIHNoYXBlKSB8fCBQbGFpdExpbmUuaXNCb3VuZEVsZW1lbnRPZlRhcmdldChsaW5lLCBzaGFwZSkpXG4gICAgKTtcbn07XG4iXX0=
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LWZyYWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXctZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvRCxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBcUIsRUFBRSxFQUFFO0lBQ3RELE1BQU0sS0FBSyxHQUFHLFNBQXVCLENBQUM7SUFDdEMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFbEUsS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBb0IsRUFBRSxFQUFFO1FBQ2hELE1BQU0sWUFBWSxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUNyQixNQUFN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QUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQWlCLEVBQUU7Z0JBQ3JFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxFQUFFO29CQUMxRCxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU87YUFDVjtTQUNKO1FBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsV0FBeUIsRUFBRSxFQUFFO0lBQ25GLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdkIsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUM1SCxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50LCBnZXREYXRhRnJvbUNsaXBib2FyZCwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgc2V0Q2xpcGJvYXJkRGF0YSB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRHZW9tZXRyeSwgUGxhaXRMaW5lLCBQbGFpdFNoYXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRUZXh0RnJvbUNsaXBib2FyZCB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IGJ1aWxkQ2xpcGJvYXJkRGF0YSwgaW5zZXJ0Q2xpcGJvYXJkRGF0YSB9IGZyb20gJy4uL3V0aWxzL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZ2V0Qm9hcmRMaW5lcyB9IGZyb20gJy4uL3V0aWxzL2xpbmUnO1xuaW1wb3J0IHsgUGxhaXRJbWFnZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW1hZ2UnO1xuaW1wb3J0IHsgYWNjZXB0SW1hZ2VUeXBlcywgYnVpbGRJbWFnZSwgZ2V0RWxlbWVudE9mRm9jdXNlZEltYWdlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBERUZBVUxUX0lNQUdFX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3RnJhZ21lbnQgPSAoYmFzZUJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgYm9hcmQgPSBiYXNlQm9hcmQgYXMgUGxhaXRCb2FyZDtcbiAgICBjb25zdCB7IGdldERlbGV0ZWRGcmFnbWVudCwgc2V0RnJhZ21lbnQsIGluc2VydEZyYWdtZW50IH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmdldERlbGV0ZWRGcmFnbWVudCA9IChkYXRhOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgICAgICBjb25zdCBkcmF3RWxlbWVudHMgPSBnZXRTZWxlY3RlZERyYXdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGlmIChkcmF3RWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBnZW9tZXRyeUVsZW1lbnRzID0gZHJhd0VsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkodmFsdWUpKSBhcyBQbGFpdEdlb21ldHJ5W107XG4gICAgICAgICAgICBjb25zdCBsaW5lRWxlbWVudHMgPSBkcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSkgYXMgUGxhaXRMaW5lW107XG4gICAgICAgICAgICBjb25zdCBpbWFnZUVsZW1lbnRzID0gZHJhd0VsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UodmFsdWUpKSBhcyBQbGFpdEltYWdlW107XG5cbiAgICAgICAgICAgIGNvbnN0IGJvdW5kTGluZUVsZW1lbnRzID0gW1xuICAgICAgICAgICAgICAgIC4uLmdldEJvdW5kZWRMaW5lRWxlbWVudHMoYm9hcmQsIGdlb21ldHJ5RWxlbWVudHMpLFxuICAgICAgICAgICAgICAgIC4uLmdldEJvdW5kZWRMaW5lRWxlbWVudHMoYm9hcmQsIGltYWdlRWxlbWVudHMpXG4gICAgICAgICAgICBdLmZpbHRlcihsaW5lID0+ICFsaW5lRWxlbWVudHMuaW5jbHVkZXMobGluZSkpO1xuICAgICAgICAgICAgZGF0YS5wdXNoKFxuICAgICAgICAgICAgICAgIC4uLltcbiAgICAgICAgICAgICAgICAgICAgLi4uZ2VvbWV0cnlFbGVtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgLi4ubGluZUVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAuLi5pbWFnZUVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAuLi5ib3VuZExpbmVFbGVtZW50cy5maWx0ZXIobGluZSA9PiAhbGluZUVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldERlbGV0ZWRGcmFnbWVudChkYXRhKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuc2V0RnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQgfCBudWxsLCB0eXBlOiAnY29weScgfCAnY3V0JykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREcmF3RWxlbWVudHMgPSBnZXRTZWxlY3RlZERyYXdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGxldCBib3VuZExpbmVFbGVtZW50czogUGxhaXRMaW5lW10gPSBbXTtcbiAgICAgICAgaWYgKHRhcmdldERyYXdFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnY3V0Jykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5RWxlbWVudHMgPSB0YXJnZXREcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeSh2YWx1ZSkpIGFzIFBsYWl0R2VvbWV0cnlbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lRWxlbWVudHMgPSB0YXJnZXREcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSkgYXMgUGxhaXRMaW5lW107XG4gICAgICAgICAgICAgICAgYm91bmRMaW5lRWxlbWVudHMgPSBnZXRCb3VuZGVkTGluZUVsZW1lbnRzKGJvYXJkLCBnZW9tZXRyeUVsZW1lbnRzKS5maWx0ZXIobGluZSA9PiAhbGluZUVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gYnVpbGRDbGlwYm9hcmREYXRhKFxuICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgIFsuLi50YXJnZXREcmF3RWxlbWVudHMsIC4uLmJvdW5kTGluZUVsZW1lbnRzXSxcbiAgICAgICAgICAgICAgICByZWN0YW5nbGUgPyBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSA6IFswLCAwXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHNldENsaXBib2FyZERhdGEoZGF0YSwgZWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHNldEZyYWdtZW50KGRhdGEsIHJlY3RhbmdsZSwgdHlwZSk7XG4gICAgfTtcblxuICAgIGJvYXJkLmluc2VydEZyYWdtZW50ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHRhcmdldFBvaW50OiBQb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGdldERhdGFGcm9tQ2xpcGJvYXJkKGRhdGEpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGNvbnN0IGRyYXdFbGVtZW50cyA9IGVsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzRHJhd0VsZW1lbnQodmFsdWUpKSBhcyBQbGFpdERyYXdFbGVtZW50W107XG4gICAgICAgIGlmIChlbGVtZW50cy5sZW5ndGggPiAwICYmIGRyYXdFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpbnNlcnRDbGlwYm9hcmREYXRhKGJvYXJkLCBkcmF3RWxlbWVudHMsIHRhcmdldFBvaW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHQgPSBnZXRUZXh0RnJvbUNsaXBib2FyZChkYXRhKTtcbiAgICAgICAgICAgIC8vICgq77+j77i277+jKVxuICAgICAgICAgICAgY29uc3QgaW5zZXJ0QXNDaGlsZHJlbiA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmIHNlbGVjdGVkRWxlbWVudHNbMF0uY2hpbGRyZW47XG4gICAgICAgICAgICBjb25zdCBpbnNlcnRBc0ZyZWVUZXh0ID0gIWluc2VydEFzQ2hpbGRyZW47XG4gICAgICAgICAgICBpZiAodGV4dCAmJiBpbnNlcnRBc0ZyZWVUZXh0KSB7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuaW5zZXJ0VGV4dChib2FyZCwgdGFyZ2V0UG9pbnQsIHRleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhPy5maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGFjY2VwdEltYWdlQXJyYXkgPSBhY2NlcHRJbWFnZVR5cGVzLm1hcCh0eXBlID0+ICdpbWFnZS8nICsgdHlwZSk7XG4gICAgICAgICAgICBjb25zdCBjYW5JbnNlcnRpb25JbWFnZSA9XG4gICAgICAgICAgICAgICAgIWdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZShib2FyZCkgJiYgIShzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBib2FyZC5pc0ltYWdlQmluZGluZ0FsbG93ZWQoc2VsZWN0ZWRFbGVtZW50c1swXSkpO1xuICAgICAgICAgICAgaWYgKGFjY2VwdEltYWdlQXJyYXkuaW5jbHVkZXMoZGF0YT8uZmlsZXNbMF0udHlwZSkgJiYgY2FuSW5zZXJ0aW9uSW1hZ2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZUZpbGUgPSBkYXRhLmZpbGVzWzBdO1xuICAgICAgICAgICAgICAgIGJ1aWxkSW1hZ2UoYm9hcmQsIGltYWdlRmlsZSwgREVGQVVMVF9JTUFHRV9XSURUSCwgaW1hZ2VJdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuaW5zZXJ0SW1hZ2UoYm9hcmQsIGltYWdlSXRlbSwgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIHRhcmdldFBvaW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJvdW5kZWRMaW5lRWxlbWVudHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBsYWl0U2hhcGVzOiBQbGFpdFNoYXBlW10pID0+IHtcbiAgICBjb25zdCBsaW5lcyA9IGdldEJvYXJkTGluZXMoYm9hcmQpO1xuICAgIHJldHVybiBsaW5lcy5maWx0ZXIobGluZSA9PlxuICAgICAgICBwbGFpdFNoYXBlcy5maW5kKHNoYXBlID0+IFBsYWl0TGluZS5pc0JvdW5kRWxlbWVudE9mU291cmNlKGxpbmUsIHNoYXBlKSB8fCBQbGFpdExpbmUuaXNCb3VuZEVsZW1lbnRPZlRhcmdldChsaW5lLCBzaGFwZSkpXG4gICAgKTtcbn07XG4iXX0=
|
|
@@ -17,7 +17,7 @@ import { withLineAutoCompleteReaction } from './with-line-auto-complete-reaction
|
|
|
17
17
|
import { withLineAutoComplete } from './with-line-auto-complete';
|
|
18
18
|
import { withLineTextMove } from './with-line-text-move';
|
|
19
19
|
export const withDraw = (board) => {
|
|
20
|
-
const { drawElement, getRectangle, isRectangleHit, isHit, isMovable, isAlign } = board;
|
|
20
|
+
const { drawElement, getRectangle, isRectangleHit, isHit, isMovable, isAlign, getRelatedFragment } = board;
|
|
21
21
|
board.drawElement = (context) => {
|
|
22
22
|
if (PlaitDrawElement.isGeometry(context.element)) {
|
|
23
23
|
return GeometryComponent;
|
|
@@ -85,6 +85,17 @@ export const withDraw = (board) => {
|
|
|
85
85
|
}
|
|
86
86
|
return isAlign(element);
|
|
87
87
|
};
|
|
88
|
+
board.getRelatedFragment = (elements) => {
|
|
89
|
+
const selectedElements = getSelectedElements(board);
|
|
90
|
+
const lineElements = board.children.filter(element => PlaitDrawElement.isLine(element));
|
|
91
|
+
const activeLines = lineElements.filter(line => {
|
|
92
|
+
const source = selectedElements.find(element => element.id === line.source.boundId);
|
|
93
|
+
const target = selectedElements.find(element => element.id === line.target.boundId);
|
|
94
|
+
const isSelected = selectedElements.includes(line);
|
|
95
|
+
return source && target && !isSelected;
|
|
96
|
+
});
|
|
97
|
+
return getRelatedFragment([...elements, ...activeLines]);
|
|
98
|
+
};
|
|
88
99
|
return withLineTextMove(withLineAutoCompleteReaction(withLineText(withLineBoundReaction(withLineResize(withGeometryResize(withLineCreateByDraw(withLineAutoComplete(withGeometryCreateByDrag(withGeometryCreateByDrawing(withDrawFragment(withDrawHotkey(board))))))))))));
|
|
89
100
|
};
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVB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b0IsQ0FDaEIsd0JBQXdCLENBQUMsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRyxDQUNKLENBQ0osQ0FDSixDQUNKLENBQ0osQ0FDSixDQUNKLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIFNlbGVjdGlvbiwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlb21ldHJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeVBvaW50cyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgd2l0aERyYXdIb3RrZXkgfSBmcm9tICcuL3dpdGgtZHJhdy1ob3RrZXknO1xuaW1wb3J0IHsgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmF3aW5nLCB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYWcgfSBmcm9tICcuL3dpdGgtZ2VvbWV0cnktY3JlYXRlJztcbmltcG9ydCB7IHdpdGhEcmF3RnJhZ21lbnQgfSBmcm9tICcuL3dpdGgtZHJhdy1mcmFnbWVudCc7XG5pbXBvcnQgeyBnZXRMaW5lUG9pbnRzLCBpc1JlY3RhbmdsZUhpdERyYXdFbGVtZW50LCBpc0hpdERyYXdFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgd2l0aExpbmVDcmVhdGVCeURyYXcgfSBmcm9tICcuL3dpdGgtbGluZS1jcmVhdGUnO1xuaW1wb3J0IHsgd2l0aEdlb21ldHJ5UmVzaXplIH0gZnJvbSAnLi93aXRoLWdlb21ldHJ5LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZVJlc2l6ZSB9IGZyb20gJy4vd2l0aC1saW5lLXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZUJvdW5kUmVhY3Rpb24gfSBmcm9tICcuL3dpdGgtbGluZS1ib3VuZC1yZWFjdGlvbic7XG5pbXBvcnQgeyB3aXRoTGluZVRleHQgfSBmcm9tICcuL3dpdGgtbGluZS10ZXh0JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IHdpdGhMaW5lQXV0b0NvbXBsZXRlUmVhY3Rpb24gfSBmcm9tICcuL3dpdGgtbGluZS1hdXRvLWNvbXBsZXRlLXJlYWN0aW9uJztcbmltcG9ydCB7IHdpdGhMaW5lQXV0b0NvbXBsZXRlIH0gZnJvbSAnLi93aXRoLWxpbmUtYXV0by1jb21wbGV0ZSc7XG5pbXBvcnQgeyB3aXRoTGluZVRleHRNb3ZlIH0gZnJvbSAnLi93aXRoLWxpbmUtdGV4dC1tb3ZlJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBkcmF3RWxlbWVudCwgZ2V0UmVjdGFuZ2xlLCBpc1JlY3RhbmdsZUhpdCwgaXNIaXQsIGlzTW92YWJsZSwgaXNBbGlnbiB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIEdlb21ldHJ5Q29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBMaW5lQ29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZShjb250ZXh0LmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gSW1hZ2VDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRyYXdFbGVtZW50KGNvbnRleHQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nZXRSZWN0YW5nbGUgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRMaW5lUG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhwb2ludHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNSZWN0YW5nbGVIaXQgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50LCBzZWxlY3Rpb246IFNlbGVjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpc1JlY3RhbmdsZUhpdERyYXdFbGVtZW50KGJvYXJkLCBlbGVtZW50LCBzZWxlY3Rpb24pO1xuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1JlY3RhbmdsZUhpdChlbGVtZW50LCBzZWxlY3Rpb24pO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0hpdCA9IChlbGVtZW50LCBwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpc0hpdERyYXdFbGVtZW50KGJvYXJkLCBlbGVtZW50LCBwb2ludCk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzSGl0KGVsZW1lbnQsIHBvaW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNNb3ZhYmxlID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSAoYm91bmRJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhc2VsZWN0ZWRFbGVtZW50cy5maW5kKHZhbHVlID0+IHZhbHVlLmlkID09PSBib3VuZElkKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKCFlbGVtZW50LnNvdXJjZS5ib3VuZElkIHx8XG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnNvdXJjZS5ib3VuZElkICYmIGlzU2VsZWN0ZWQoZWxlbWVudC5zb3VyY2UuYm91bmRJZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhlbGVtZW50KSkpICYmXG4gICAgICAgICAgICAgICAgKCFlbGVtZW50LnRhcmdldC5ib3VuZElkIHx8XG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnRhcmdldC5ib3VuZElkICYmIGlzU2VsZWN0ZWQoZWxlbWVudC50YXJnZXQuYm91bmRJZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhlbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNNb3ZhYmxlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0FsaWduID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQWxpZ24oZWxlbWVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiB3aXRoTGluZVRleHRNb3ZlKFxuICAgICAgICB3aXRoTGluZUF1dG9Db21wbGV0ZVJlYWN0aW9uKFxuICAgICAgICAgICAgd2l0aExpbmVUZXh0KFxuICAgICAgICAgICAgICAgIHdpdGhMaW5lQm91bmRSZWFjdGlvbihcbiAgICAgICAgICAgICAgICAgICAgd2l0aExpbmVSZXNpemUoXG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoR2VvbWV0cnlSZXNpemUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aExpbmVDcmVhdGVCeURyYXcoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhMaW5lQXV0b0NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmFnKHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhd2luZyh3aXRoRHJhd0ZyYWdtZW50KHdpdGhEcmF3SG90a2V5KGJvYXJkKSkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKTtcbn07XG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVB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YXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIFNlbGVjdGlvbiwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlb21ldHJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeVBvaW50cyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgd2l0aERyYXdIb3RrZXkgfSBmcm9tICcuL3dpdGgtZHJhdy1ob3RrZXknO1xuaW1wb3J0IHsgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmF3aW5nLCB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYWcgfSBmcm9tICcuL3dpdGgtZ2VvbWV0cnktY3JlYXRlJztcbmltcG9ydCB7IHdpdGhEcmF3RnJhZ21lbnQgfSBmcm9tICcuL3dpdGgtZHJhdy1mcmFnbWVudCc7XG5pbXBvcnQgeyBnZXRMaW5lUG9pbnRzLCBpc1JlY3RhbmdsZUhpdERyYXdFbGVtZW50LCBpc0hpdERyYXdFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgd2l0aExpbmVDcmVhdGVCeURyYXcgfSBmcm9tICcuL3dpdGgtbGluZS1jcmVhdGUnO1xuaW1wb3J0IHsgd2l0aEdlb21ldHJ5UmVzaXplIH0gZnJvbSAnLi93aXRoLWdlb21ldHJ5LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZVJlc2l6ZSB9IGZyb20gJy4vd2l0aC1saW5lLXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZUJvdW5kUmVhY3Rpb24gfSBmcm9tICcuL3dpdGgtbGluZS1ib3VuZC1yZWFjdGlvbic7XG5pbXBvcnQgeyB3aXRoTGluZVRleHQgfSBmcm9tICcuL3dpdGgtbGluZS10ZXh0JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IHdpdGhMaW5lQXV0b0NvbXBsZXRlUmVhY3Rpb24gfSBmcm9tICcuL3dpdGgtbGluZS1hdXRvLWNvbXBsZXRlLXJlYWN0aW9uJztcbmltcG9ydCB7IHdpdGhMaW5lQXV0b0NvbXBsZXRlIH0gZnJvbSAnLi93aXRoLWxpbmUtYXV0by1jb21wbGV0ZSc7XG5pbXBvcnQgeyB3aXRoTGluZVRleHRNb3ZlIH0gZnJvbSAnLi93aXRoLWxpbmUtdGV4dC1tb3ZlJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBkcmF3RWxlbWVudCwgZ2V0UmVjdGFuZ2xlLCBpc1JlY3RhbmdsZUhpdCwgaXNIaXQsIGlzTW92YWJsZSwgaXNBbGlnbiwgZ2V0UmVsYXRlZEZyYWdtZW50IH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmRyYXdFbGVtZW50ID0gKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeShjb250ZXh0LmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gR2VvbWV0cnlDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIExpbmVDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBJbWFnZUNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZHJhd0VsZW1lbnQoY29udGV4dCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdldFJlY3RhbmdsZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldExpbmVQb2ludHMoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKHBvaW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc1JlY3RhbmdsZUhpdCA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQsIHNlbGVjdGlvbjogU2VsZWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGlzUmVjdGFuZ2xlSGl0RHJhd0VsZW1lbnQoYm9hcmQsIGVsZW1lbnQsIHNlbGVjdGlvbik7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzUmVjdGFuZ2xlSGl0KGVsZW1lbnQsIHNlbGVjdGlvbik7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzSGl0ID0gKGVsZW1lbnQsIHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGlzSGl0RHJhd0VsZW1lbnQoYm9hcmQsIGVsZW1lbnQsIHBvaW50KTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNIaXQoZWxlbWVudCwgcG9pbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc01vdmFibGUgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzTGluZShlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IChib3VuZElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFzZWxlY3RlZEVsZW1lbnRzLmZpbmQodmFsdWUgPT4gdmFsdWUuaWQgPT09IGJvdW5kSWQpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIWVsZW1lbnQuc291cmNlLmJvdW5kSWQgfHxcbiAgICAgICAgICAgICAgICAgICAgKGVsZW1lbnQuc291cmNlLmJvdW5kSWQgJiYgaXNTZWxlY3RlZChlbGVtZW50LnNvdXJjZS5ib3VuZElkKSAmJiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGVsZW1lbnQpKSkgJiZcbiAgICAgICAgICAgICAgICAoIWVsZW1lbnQudGFyZ2V0LmJvdW5kSWQgfHxcbiAgICAgICAgICAgICAgICAgICAgKGVsZW1lbnQudGFyZ2V0LmJvdW5kSWQgJiYgaXNTZWxlY3RlZChlbGVtZW50LnRhcmdldC5ib3VuZElkKSAmJiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGVsZW1lbnQpKSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc01vdmFibGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzQWxpZ24gPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkgfHwgUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNBbGlnbihlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2V0UmVsYXRlZEZyYWdtZW50ID0gKGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGNvbnN0IGxpbmVFbGVtZW50cyA9IGJvYXJkLmNoaWxkcmVuLmZpbHRlcihlbGVtZW50ID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpKTtcbiAgICAgICAgY29uc3QgYWN0aXZlTGluZXMgPSBsaW5lRWxlbWVudHMuZmlsdGVyKGxpbmUgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gc2VsZWN0ZWRFbGVtZW50cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5pZCA9PT0gbGluZS5zb3VyY2UuYm91bmRJZCk7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmlkID09PSBsaW5lLnRhcmdldC5ib3VuZElkKTtcbiAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpO1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZSAmJiB0YXJnZXQgJiYgIWlzU2VsZWN0ZWQ7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZ2V0UmVsYXRlZEZyYWdtZW50KFsuLi5lbGVtZW50cywgLi4uYWN0aXZlTGluZXNdKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhMaW5lVGV4dE1vdmUoXG4gICAgICAgIHdpdGhMaW5lQXV0b0NvbXBsZXRlUmVhY3Rpb24oXG4gICAgICAgICAgICB3aXRoTGluZVRleHQoXG4gICAgICAgICAgICAgICAgd2l0aExpbmVCb3VuZFJlYWN0aW9uKFxuICAgICAgICAgICAgICAgICAgICB3aXRoTGluZVJlc2l6ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhHZW9tZXRyeVJlc2l6ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoTGluZUNyZWF0ZUJ5RHJhdyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aExpbmVBdXRvQ29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYWcod2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmF3aW5nKHdpdGhEcmF3RnJhZ21lbnQod2l0aERyYXdIb3RrZXkoYm9hcmQpKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICApO1xufTtcbiJdfQ==
|
|
@@ -8,7 +8,7 @@ import { TextManage } from '@plait/text';
|
|
|
8
8
|
import { isKeyHotkey } from 'is-hotkey';
|
|
9
9
|
import { NgZone } from '@angular/core';
|
|
10
10
|
export const withGeometryCreateByDrag = (board) => {
|
|
11
|
-
const { pointerMove,
|
|
11
|
+
const { pointerMove, globalPointerUp } = board;
|
|
12
12
|
let geometryShapeG = null;
|
|
13
13
|
let temporaryElement = null;
|
|
14
14
|
let fakeCreateTextRef = null;
|
|
@@ -59,7 +59,7 @@ export const withGeometryCreateByDrag = (board) => {
|
|
|
59
59
|
}
|
|
60
60
|
pointerMove(event);
|
|
61
61
|
};
|
|
62
|
-
board.
|
|
62
|
+
board.globalPointerUp = (event) => {
|
|
63
63
|
const geometryPointers = getGeometryPointers();
|
|
64
64
|
const isGeometryPointer = PlaitBoard.isInPointer(board, geometryPointers);
|
|
65
65
|
const dragMode = isGeometryPointer && isDndMode(board);
|
|
@@ -72,7 +72,7 @@ export const withGeometryCreateByDrag = (board) => {
|
|
|
72
72
|
geometryShapeG?.remove();
|
|
73
73
|
geometryShapeG = null;
|
|
74
74
|
preventTouchMove(board, event, false);
|
|
75
|
-
|
|
75
|
+
globalPointerUp(event);
|
|
76
76
|
};
|
|
77
77
|
return board;
|
|
78
78
|
};
|
|
@@ -149,4 +149,4 @@ export const withGeometryCreateByDrawing = (board) => {
|
|
|
149
149
|
};
|
|
150
150
|
return board;
|
|
151
151
|
};
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZW9tZXRyeS1jcmVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVMsZUFBZSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxXQUFXLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNoQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzFELE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLElBQUksY0FBYyxHQUF1QixJQUFJLENBQUM7SUFFOUMsSUFBSSxnQkFBZ0IsR0FBeUIsSUFBSSxDQUFDO0lBRWxELElBQUksaUJB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QU8sRUFBRSxXQUFXLENBQUMsQ0FBQztvQkFDOUQsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUF5QixDQUFDLENBQUM7aUJBQ3RGO2FBQ0o7U0FDSjtRQUNELElBQUksZ0JBQWdCLEVBQUU7WUFDbEIsYUFBYSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNiLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50LCBjcmVhdGVHLCBwcmV2ZW50VG91Y2hNb3ZlLCB0b1BvaW50LCB0cmFuc2Zvcm1Qb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEJhc2ljU2hhcGVzLCBHZW9tZXRyeVNoYXBlcywgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VvbWV0cnlTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7XG4gICAgY3JlYXRlRGVmYXVsdEdlb21ldHJ5LFxuICAgIGNyZWF0ZVRleHRFbGVtZW50LFxuICAgIGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyxcbiAgICBnZXRUZXh0U2hhcGVQcm9wZXJ0eSxcbiAgICBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIsXG4gICAgZ2V0UG9pbnRzQnlDZW50ZXJQb2ludCxcbiAgICBnZXRUZXh0UmVjdGFuZ2xlLFxuICAgIGluc2VydEVsZW1lbnRcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRGVmYXVsdFRleHRQcm9wZXJ0eSwgRHJhd1BvaW50ZXJUeXBlLCBnZXRHZW9tZXRyeVBvaW50ZXJzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IG5vcm1hbGl6ZVNoYXBlUG9pbnRzLCBpc0RuZE1vZGUsIGlzRHJhd2luZ01vZGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IFRleHRNYW5hZ2UgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGYWtlQ3JlYXRlVGV4dFJlZiB7XG4gICAgZzogU1ZHR0VsZW1lbnQ7XG4gICAgdGV4dE1hbmFnZTogVGV4dE1hbmFnZTtcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhZyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgcG9pbnRlck1vdmUsIHBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgZ2VvbWV0cnlTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRHZW9tZXRyeSB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGZha2VDcmVhdGVUZXh0UmVmOiBGYWtlQ3JlYXRlVGV4dFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gY3JlYXRlRygpO1xuXG4gICAgICAgIGNvbnN0IGdlb21ldHJ5R2VuZXJhdG9yID0gbmV3IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IoYm9hcmQpO1xuICAgICAgICBjb25zdCBnZW9tZXRyeVBvaW50ZXJzID0gZ2V0R2VvbWV0cnlQb2ludGVycygpO1xuICAgICAgICBjb25zdCBpc0dlb21ldHJ5UG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIGdlb21ldHJ5UG9pbnRlcnMpO1xuICAgICAgICBjb25zdCBkcmFnTW9kZSA9IGlzR2VvbWV0cnlQb2ludGVyICYmIGlzRG5kTW9kZShib2FyZCk7XG4gICAgICAgIGNvbnN0IG1vdmluZ1BvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCBwb2ludGVyID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBEcmF3UG9pbnRlclR5cGU7XG5cbiAgICAgICAgaWYgKGRyYWdNb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBtZW1vcml6ZWRMYXRlc3QgPSBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIocG9pbnRlcik7XG4gICAgICAgICAgICBpZiAocG9pbnRlciA9PT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gZ2V0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0UG9pbnRzQnlDZW50ZXJQb2ludChtb3ZpbmdQb2ludCwgcHJvcGVydHkud2lkdGgsIHByb3BlcnR5LmhlaWdodCk7XG4gICAgICAgICAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IGNyZWF0ZVRleHRFbGVtZW50KGJvYXJkLCBwb2ludHMpO1xuICAgICAgICAgICAgICAgIGlmICghZmFrZUNyZWF0ZVRleHRSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dE1hbmFnZSA9IG5ldyBUZXh0TWFuYWdlKGJvYXJkLCBQbGFpdEJvYXJkLmdldENvbXBvbmVudChib2FyZCkudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldFRleHRSZWN0YW5nbGUodGVtcG9yYXJ5RWxlbWVudCEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpXG4gICAgICAgICAgICAgICAgICAgICAgICAudmlld0NvbnRhaW5lclJlZi5pbmplY3Rvci5nZXQoTmdab25lKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZS5kcmF3KHRlbXBvcmFyeUVsZW1lbnQhLnRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZzogY3JlYXRlRygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZVxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKGZha2VDcmVhdGVUZXh0UmVmLmcpO1xuICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZi5nLmFwcGVuZCh0ZXh0TWFuYWdlLmcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmLnRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmLmcuYXBwZW5kKGZha2VDcmVhdGVUZXh0UmVmLnRleHRNYW5hZ2UuZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMocG9pbnRlciwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICAgICAgZ2VvbWV0cnlHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGVtcG9yYXJ5RWxlbWVudCwgZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQpLmFwcGVuZChnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5UG9pbnRlcnMgPSBnZXRHZW9tZXRyeVBvaW50ZXJzKCk7XG4gICAgICAgIGNvbnN0IGlzR2VvbWV0cnlQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgZ2VvbWV0cnlQb2ludGVycyk7XG4gICAgICAgIGNvbnN0IGRyYWdNb2RlID0gaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEbmRNb2RlKGJvYXJkKTtcblxuICAgICAgICBpZiAoZHJhZ01vZGUgJiYgdGVtcG9yYXJ5RWxlbWVudCkge1xuICAgICAgICAgICAgaW5zZXJ0RWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZj8udGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZj8uZy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuXG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYXdpbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgcG9pbnRlclVwLCBrZXlkb3duLCBrZXl1cCB9ID0gYm9hcmQ7XG4gICAgbGV0IHN0YXJ0OiBQb2ludCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGdlb21ldHJ5U2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IHRlbXBvcmFyeUVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBpc1NoaWZ0ID0gZmFsc2U7XG5cbiAgICBib2FyZC5rZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlzU2hpZnQgPSBpc0tleUhvdGtleSgnc2hpZnQnLCBldmVudCk7XG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXl1cCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpc1NoaWZ0ID0gZmFsc2U7XG4gICAgICAgIGtleXVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBnZW9tZXRyeVBvaW50ZXJzID0gZ2V0R2VvbWV0cnlQb2ludGVycygpO1xuICAgICAgICBjb25zdCBpc0dlb21ldHJ5UG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIGdlb21ldHJ5UG9pbnRlcnMpO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEcmF3aW5nTW9kZShib2FyZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgc3RhcnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ZXIgPSBQbGFpdEJvYXJkLmdldFBvaW50ZXIoYm9hcmQpIGFzIERyYXdQb2ludGVyVHlwZTtcbiAgICAgICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIGlmIChwb2ludGVyID09PSBCYXNpY1NoYXBlcy50ZXh0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVtb3JpemVkTGF0ZXN0ID0gZ2V0TWVtb3JpemVkTGF0ZXN0QnlQb2ludGVyKHBvaW50ZXIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gZ2V0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0UG9pbnRzQnlDZW50ZXJQb2ludChwb2ludCwgcHJvcGVydHkud2lkdGgsIHByb3BlcnR5LmhlaWdodCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBjcmVhdGVUZXh0RWxlbWVudChib2FyZCwgcG9pbnRzKTtcbiAgICAgICAgICAgICAgICBpbnNlcnRFbGVtZW50KGJvYXJkLCB0ZXh0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBnZW9tZXRyeUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKGJvYXJkKTtcbiAgICAgICAgY29uc3QgZHJhd01vZGUgPSAhIXN0YXJ0O1xuICAgICAgICBjb25zdCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICBpZiAoZHJhd01vZGUgJiYgcG9pbnRlciAhPT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gbm9ybWFsaXplU2hhcGVQb2ludHMoW3N0YXJ0ISwgbW92aW5nUG9pbnRdLCBpc1NoaWZ0KTtcbiAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICBnZW9tZXRyeUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0ZW1wb3JhcnlFbGVtZW50LCBnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpc0RyYXdNb2RlID0gISFzdGFydDtcbiAgICAgICAgaWYgKGlzRHJhd01vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3N0YXJ0ISwgdGFyZ2V0UG9pbnRdKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmh5cG90KHdpZHRoLCBoZWlnaHQpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICAgICAgICAgIGlmIChwb2ludGVyICE9PSBCYXNpY1NoYXBlcy50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhwb2ludGVyLCB0YXJnZXRQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBpbnNlcnRFbGVtZW50KGJvYXJkLCB0ZW1wb3JhcnlFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBudWxsO1xuICAgICAgICBzdGFydCA9IG51bGw7XG4gICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuXG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZW9tZXRyeS1jcmVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVMsZUFBZSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxXQUFXLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNoQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzFELE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRS9DLElBQUksY0FBYyxHQUF1QixJQUFJLENBQUM7SUFFOUMsSUFBSSxnQkFBZ0IsR0FBeUIsSUFBSSxDQUFDO0lBRWxELElBQUksaUJB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QU8sRUFBRSxXQUFXLENBQUMsQ0FBQztvQkFDOUQsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUF5QixDQUFDLENBQUM7aUJBQ3RGO2FBQ0o7U0FDSjtRQUNELElBQUksZ0JBQWdCLEVBQUU7WUFDbEIsYUFBYSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNiLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50LCBjcmVhdGVHLCBwcmV2ZW50VG91Y2hNb3ZlLCB0b1BvaW50LCB0cmFuc2Zvcm1Qb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEJhc2ljU2hhcGVzLCBHZW9tZXRyeVNoYXBlcywgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VvbWV0cnlTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7XG4gICAgY3JlYXRlRGVmYXVsdEdlb21ldHJ5LFxuICAgIGNyZWF0ZVRleHRFbGVtZW50LFxuICAgIGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyxcbiAgICBnZXRUZXh0U2hhcGVQcm9wZXJ0eSxcbiAgICBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIsXG4gICAgZ2V0UG9pbnRzQnlDZW50ZXJQb2ludCxcbiAgICBnZXRUZXh0UmVjdGFuZ2xlLFxuICAgIGluc2VydEVsZW1lbnRcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRGVmYXVsdFRleHRQcm9wZXJ0eSwgRHJhd1BvaW50ZXJUeXBlLCBnZXRHZW9tZXRyeVBvaW50ZXJzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IG5vcm1hbGl6ZVNoYXBlUG9pbnRzLCBpc0RuZE1vZGUsIGlzRHJhd2luZ01vZGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IFRleHRNYW5hZ2UgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGYWtlQ3JlYXRlVGV4dFJlZiB7XG4gICAgZzogU1ZHR0VsZW1lbnQ7XG4gICAgdGV4dE1hbmFnZTogVGV4dE1hbmFnZTtcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhZyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgcG9pbnRlck1vdmUsIGdsb2JhbFBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgZ2VvbWV0cnlTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRHZW9tZXRyeSB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGZha2VDcmVhdGVUZXh0UmVmOiBGYWtlQ3JlYXRlVGV4dFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gY3JlYXRlRygpO1xuXG4gICAgICAgIGNvbnN0IGdlb21ldHJ5R2VuZXJhdG9yID0gbmV3IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IoYm9hcmQpO1xuICAgICAgICBjb25zdCBnZW9tZXRyeVBvaW50ZXJzID0gZ2V0R2VvbWV0cnlQb2ludGVycygpO1xuICAgICAgICBjb25zdCBpc0dlb21ldHJ5UG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIGdlb21ldHJ5UG9pbnRlcnMpO1xuICAgICAgICBjb25zdCBkcmFnTW9kZSA9IGlzR2VvbWV0cnlQb2ludGVyICYmIGlzRG5kTW9kZShib2FyZCk7XG4gICAgICAgIGNvbnN0IG1vdmluZ1BvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCBwb2ludGVyID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBEcmF3UG9pbnRlclR5cGU7XG5cbiAgICAgICAgaWYgKGRyYWdNb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBtZW1vcml6ZWRMYXRlc3QgPSBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIocG9pbnRlcik7XG4gICAgICAgICAgICBpZiAocG9pbnRlciA9PT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gZ2V0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0UG9pbnRzQnlDZW50ZXJQb2ludChtb3ZpbmdQb2ludCwgcHJvcGVydHkud2lkdGgsIHByb3BlcnR5LmhlaWdodCk7XG4gICAgICAgICAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IGNyZWF0ZVRleHRFbGVtZW50KGJvYXJkLCBwb2ludHMpO1xuICAgICAgICAgICAgICAgIGlmICghZmFrZUNyZWF0ZVRleHRSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dE1hbmFnZSA9IG5ldyBUZXh0TWFuYWdlKGJvYXJkLCBQbGFpdEJvYXJkLmdldENvbXBvbmVudChib2FyZCkudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldFRleHRSZWN0YW5nbGUodGVtcG9yYXJ5RWxlbWVudCEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpXG4gICAgICAgICAgICAgICAgICAgICAgICAudmlld0NvbnRhaW5lclJlZi5pbmplY3Rvci5nZXQoTmdab25lKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZS5kcmF3KHRlbXBvcmFyeUVsZW1lbnQhLnRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZzogY3JlYXRlRygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZVxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKGZha2VDcmVhdGVUZXh0UmVmLmcpO1xuICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZi5nLmFwcGVuZCh0ZXh0TWFuYWdlLmcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmLnRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmLmcuYXBwZW5kKGZha2VDcmVhdGVUZXh0UmVmLnRleHRNYW5hZ2UuZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMocG9pbnRlciwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICAgICAgZ2VvbWV0cnlHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGVtcG9yYXJ5RWxlbWVudCwgZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQpLmFwcGVuZChnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbFBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5UG9pbnRlcnMgPSBnZXRHZW9tZXRyeVBvaW50ZXJzKCk7XG4gICAgICAgIGNvbnN0IGlzR2VvbWV0cnlQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgZ2VvbWV0cnlQb2ludGVycyk7XG4gICAgICAgIGNvbnN0IGRyYWdNb2RlID0gaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEbmRNb2RlKGJvYXJkKTtcblxuICAgICAgICBpZiAoZHJhZ01vZGUgJiYgdGVtcG9yYXJ5RWxlbWVudCkge1xuICAgICAgICAgICAgaW5zZXJ0RWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZj8udGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZj8uZy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuXG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYXdpbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgcG9pbnRlclVwLCBrZXlkb3duLCBrZXl1cCB9ID0gYm9hcmQ7XG4gICAgbGV0IHN0YXJ0OiBQb2ludCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGdlb21ldHJ5U2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IHRlbXBvcmFyeUVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBpc1NoaWZ0ID0gZmFsc2U7XG5cbiAgICBib2FyZC5rZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlzU2hpZnQgPSBpc0tleUhvdGtleSgnc2hpZnQnLCBldmVudCk7XG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXl1cCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpc1NoaWZ0ID0gZmFsc2U7XG4gICAgICAgIGtleXVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBnZW9tZXRyeVBvaW50ZXJzID0gZ2V0R2VvbWV0cnlQb2ludGVycygpO1xuICAgICAgICBjb25zdCBpc0dlb21ldHJ5UG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIGdlb21ldHJ5UG9pbnRlcnMpO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEcmF3aW5nTW9kZShib2FyZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgc3RhcnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ZXIgPSBQbGFpdEJvYXJkLmdldFBvaW50ZXIoYm9hcmQpIGFzIERyYXdQb2ludGVyVHlwZTtcbiAgICAgICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIGlmIChwb2ludGVyID09PSBCYXNpY1NoYXBlcy50ZXh0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVtb3JpemVkTGF0ZXN0ID0gZ2V0TWVtb3JpemVkTGF0ZXN0QnlQb2ludGVyKHBvaW50ZXIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gZ2V0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0UG9pbnRzQnlDZW50ZXJQb2ludChwb2ludCwgcHJvcGVydHkud2lkdGgsIHByb3BlcnR5LmhlaWdodCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBjcmVhdGVUZXh0RWxlbWVudChib2FyZCwgcG9pbnRzKTtcbiAgICAgICAgICAgICAgICBpbnNlcnRFbGVtZW50KGJvYXJkLCB0ZXh0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBnZW9tZXRyeUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKGJvYXJkKTtcbiAgICAgICAgY29uc3QgZHJhd01vZGUgPSAhIXN0YXJ0O1xuICAgICAgICBjb25zdCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICBpZiAoZHJhd01vZGUgJiYgcG9pbnRlciAhPT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gbm9ybWFsaXplU2hhcGVQb2ludHMoW3N0YXJ0ISwgbW92aW5nUG9pbnRdLCBpc1NoaWZ0KTtcbiAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICBnZW9tZXRyeUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0ZW1wb3JhcnlFbGVtZW50LCBnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpc0RyYXdNb2RlID0gISFzdGFydDtcbiAgICAgICAgaWYgKGlzRHJhd01vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3N0YXJ0ISwgdGFyZ2V0UG9pbnRdKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmh5cG90KHdpZHRoLCBoZWlnaHQpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICAgICAgICAgIGlmIChwb2ludGVyICE9PSBCYXNpY1NoYXBlcy50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhwb2ludGVyLCB0YXJnZXRQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBpbnNlcnRFbGVtZW50KGJvYXJkLCB0ZW1wb3JhcnlFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBudWxsO1xuICAgICAgICBzdGFydCA9IG51bGw7XG4gICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuXG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|