occam-languages 3.0.23 → 3.0.25
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/lib/pass/continuation.js
CHANGED
|
@@ -16,7 +16,7 @@ class ContinuationPass {
|
|
|
16
16
|
return this.visitNode(node, ...remainingArguments, back, forward);
|
|
17
17
|
}
|
|
18
18
|
descend(childNodes, ...remainingArguments) {
|
|
19
|
-
const forward = remainingArguments.pop(), back = remainingArguments.pop();
|
|
19
|
+
const index = remainingArguments.pop(), forward = remainingArguments.pop(), back = remainingArguments.pop();
|
|
20
20
|
return (0, _continuation.every)(childNodes, (childNode, ...remainingArguments)=>{
|
|
21
21
|
const forward = remainingArguments.pop(), back = remainingArguments.pop(), node = childNode; ///
|
|
22
22
|
return this.visitNode(node, ...remainingArguments, back, forward);
|
|
@@ -60,4 +60,4 @@ class ContinuationPass {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL2NvbnRpbnVhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZXZlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uUGFzcyB7XG4gIHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBmb3J3YXJkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGJhY2sgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICByZXR1cm4gdGhpcy52aXNpdE5vZGUobm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIGRlc2NlbmQoY2hpbGROb2RlcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgaW5kZXggPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgZm9yd2FyZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBiYWNrID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgcmV0dXJuIGV2ZXJ5KGNoaWxkTm9kZXMsIChjaGlsZE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgPT4ge1xuICAgICAgY29uc3QgZm9yd2FyZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICAgIGJhY2sgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgICBub2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmV0dXJuIHRoaXMudmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIHZpc2l0Tm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBmb3J3YXJkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGJhY2sgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICAgIHJldHVybiB0aGlzLnZpc2l0VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICByZXR1cm4gdGhpcy52aXNpdE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgYmFjaywgZm9yd2FyZCk7XG4gIH1cblxuICB2aXNpdFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGZvcndhcmQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgYmFjayA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIHJldHVybiBmb3J3YXJkKC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG4gIH1cblxuICB2aXNpdE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGZvcndhcmQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgYmFjayA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGxldCB7IG1hcHMgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICBsZXQgbm9kZTtcblxuICAgIGNvbnN0IG1hcCA9IG1hcHMuZmluZCgobWFwKSA9PiB7XG4gICAgICBjb25zdCB7IG5vZGVRdWVyeSB9ID0gbWFwO1xuXG4gICAgICBub2RlID0gbm9kZVF1ZXJ5KG5vblRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG5cbiAgICBpZiAobWFwICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IHJ1biB9ID0gbWFwO1xuXG4gICAgICByZXR1cm4gcnVuKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgLy8vXG5cbiAgICBub25UZXJtaW5hbE5vZGUgPSBub25UZXJtaW5hbE5vZGVRdWVyeShub2RlKTtcblxuICAgIGlmIChub25UZXJtaW5hbE5vZGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgICByZXR1cm4gdGhpcy5kZXNjZW5kKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgYmFjaywgZm9yd2FyZCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb250aW51YXRpb25QYXNzIiwicnVuIiwibm9kZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImZvcndhcmQiLCJwb3AiLCJiYWNrIiwidmlzaXROb2RlIiwiZGVzY2VuZCIsImNoaWxkTm9kZXMiLCJpbmRleCIsImV2ZXJ5IiwiY2hpbGROb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwidmlzaXRUZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJ2aXNpdE5vblRlcm1pbmFsTm9kZSIsIm1hcHMiLCJtYXAiLCJmaW5kIiwibm9kZVF1ZXJ5Iiwibm9uVGVybWluYWxOb2RlUXVlcnkiLCJnZXRDaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXFCQTs7OzhCQUhDO3NCQUNlO0FBRXRCLE1BQU1BO0lBQ25CQyxJQUFJQyxJQUFJLEVBQUUsR0FBR0Msa0JBQWtCLEVBQUU7UUFDL0IsTUFBTUMsVUFBVUQsbUJBQW1CRSxHQUFHLElBQ2hDQyxPQUFPSCxtQkFBbUJFLEdBQUc7UUFFbkMsT0FBTyxJQUFJLENBQUNFLFNBQVMsQ0FBQ0wsU0FBU0Msb0JBQW9CRyxNQUFNRjtJQUMzRDtJQUVBSSxRQUFRQyxVQUFVLEVBQUUsR0FBR04sa0JBQWtCLEVBQUU7UUFDekMsTUFBTU8sUUFBUVAsbUJBQW1CRSxHQUFHLElBQzlCRCxVQUFVRCxtQkFBbUJFLEdBQUcsSUFDaENDLE9BQU9ILG1CQUFtQkUsR0FBRztRQUVuQyxPQUFPTSxJQUFBQSxtQkFBSyxFQUFDRixZQUFZLENBQUNHLFdBQVcsR0FBR1Q7WUFDdEMsTUFBTUMsVUFBVUQsbUJBQW1CRSxHQUFHLElBQ2hDQyxPQUFPSCxtQkFBbUJFLEdBQUcsSUFDN0JILE9BQU9VLFdBQVcsR0FBRztZQUUzQixPQUFPLElBQUksQ0FBQ0wsU0FBUyxDQUFDTCxTQUFTQyxvQkFBb0JHLE1BQU1GO1FBQzNELE1BQU1ELG9CQUFvQkcsTUFBTUY7SUFDbEM7SUFFQUcsVUFBVUwsSUFBSSxFQUFFLEdBQUdDLGtCQUFrQixFQUFFO1FBQ3JDLE1BQU1DLFVBQVVELG1CQUFtQkUsR0FBRyxJQUNoQ0MsT0FBT0gsbUJBQW1CRSxHQUFHLElBQzdCUSxtQkFBbUJYLEtBQUtZLGNBQWM7UUFFNUMsSUFBSUQsa0JBQWtCO1lBQ3BCLE1BQU1FLGVBQWViLE1BQU8sR0FBRztZQUUvQixPQUFPLElBQUksQ0FBQ2MsaUJBQWlCLENBQUNELGlCQUFpQlosb0JBQW9CRyxNQUFNRjtRQUMzRTtRQUVBLE1BQU1hLGtCQUFrQmYsTUFBTyxHQUFHO1FBRWxDLE9BQU8sSUFBSSxDQUFDZ0Isb0JBQW9CLENBQUNELG9CQUFvQmQsb0JBQW9CRyxNQUFNRjtJQUNqRjtJQUVBWSxrQkFBa0JELFlBQVksRUFBRSxHQUFHWixrQkFBa0IsRUFBRTtRQUNyRCxNQUFNQyxVQUFVRCxtQkFBbUJFLEdBQUcsSUFDaENDLE9BQU9ILG1CQUFtQkUsR0FBRztRQUVuQyxPQUFPRCxXQUFXRDtJQUNwQjtJQUVBZSxxQkFBcUJELGVBQWUsRUFBRSxHQUFHZCxrQkFBa0IsRUFBRTtRQUMzRCxNQUFNQyxVQUFVRCxtQkFBbUJFLEdBQUcsSUFDaENDLE9BQU9ILG1CQUFtQkUsR0FBRztRQUVuQyxJQUFJLEVBQUVjLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXO1FBRS9CLElBQUlqQjtRQUVKLE1BQU1rQixNQUFNRCxLQUFLRSxJQUFJLENBQUMsQ0FBQ0Q7WUFDckIsTUFBTSxFQUFFRSxTQUFTLEVBQUUsR0FBR0Y7WUFFdEJsQixPQUFPb0IsVUFBVUw7WUFFakIsSUFBSWYsU0FBUyxNQUFNO2dCQUNqQixPQUFPO1lBQ1Q7UUFDRixNQUFNO1FBRU4sSUFBSWtCLFFBQVEsTUFBTTtZQUNoQixNQUFNLEVBQUVuQixHQUFHLEVBQUUsR0FBR21CO1lBRWhCLE9BQU9uQixJQUFJQyxTQUFTQyxvQkFBb0JHLE1BQU1GO1FBQ2hEO1FBRUFGLE9BQU9lLGlCQUFpQixHQUFHO1FBRTNCQSxrQkFBa0JNLElBQUFBLDBCQUFvQixFQUFDckI7UUFFdkMsSUFBSWUsb0JBQW9CLE1BQU07WUFDNUIsT0FBT1g7UUFDVDtRQUVBLE1BQU1HLGFBQWFRLGdCQUFnQk8sYUFBYTtRQUVoRCxPQUFPLElBQUksQ0FBQ2hCLE9BQU8sQ0FBQ0MsZUFBZU4sb0JBQW9CRyxNQUFNRjtJQUMvRDtBQUNGIn0=
|
|
@@ -21,7 +21,7 @@ class ContinuationZipPass {
|
|
|
21
21
|
return back();
|
|
22
22
|
}
|
|
23
23
|
return (0, _continuation.match)(generalChildNodes, specificChildNodes, (generalChildNode, specificChildNode, ...remainingArguments)=>{
|
|
24
|
-
const forward = remainingArguments.pop(), back = remainingArguments.pop(), generalNode = generalChildNode, specificNode = specificChildNode; ///
|
|
24
|
+
const index = remainingArguments.pop(), forward = remainingArguments.pop(), back = remainingArguments.pop(), generalNode = generalChildNode, specificNode = specificChildNode; ///
|
|
25
25
|
return this.visitNode(generalNode, specificNode, ...remainingArguments, back, forward);
|
|
26
26
|
}, ...remainingArguments, back, forward);
|
|
27
27
|
}
|
|
@@ -73,4 +73,4 @@ class ContinuationZipPass {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL2NvbnRpbnVhdGlvblppcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnksIGFyZUNoaWxkTm9kZXNDb25ncnVlbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uWmlwUGFzcyB7XG4gIHJ1bihnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBmb3J3YXJkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGJhY2sgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICByZXR1cm4gdGhpcy52aXNpdE5vZGUoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIGRlc2NlbmQoZ2VuZXJhbENoaWxkTm9kZXMsIHNwZWNpZmljQ2hpbGROb2RlcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgZm9yd2FyZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBiYWNrID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGNoaWxkTm9kZXNDb25ncnVlbnQgPSBhcmVDaGlsZE5vZGVzQ29uZ3J1ZW50KGdlbmVyYWxDaGlsZE5vZGVzLCBzcGVjaWZpY0NoaWxkTm9kZXMpO1xuXG4gICAgaWYgKCFjaGlsZE5vZGVzQ29uZ3J1ZW50KSB7XG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaChnZW5lcmFsQ2hpbGROb2Rlcywgc3BlY2lmaWNDaGlsZE5vZGVzLCAoZ2VuZXJhbENoaWxkTm9kZSwgc3BlY2lmaWNDaGlsZE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgICBmb3J3YXJkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgICAgYmFjayA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICAgIGdlbmVyYWxOb2RlID0gZ2VuZXJhbENoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBzcGVjaWZpY05vZGUgPSBzcGVjaWZpY0NoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHJldHVybiB0aGlzLnZpc2l0Tm9kZShnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGJhY2ssIGZvcndhcmQpO1xuICAgIH0sIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgYmFjaywgZm9yd2FyZCk7XG4gIH1cblxuICB2aXNpdE5vZGUoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgZm9yd2FyZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBiYWNrID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGdlbmVyYWxOb2RlVGVybWluYWxOb2RlID0gZ2VuZXJhbE5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBzcGVjaWZpY05vZGVUZXJtaW5hbE5vZGUgPSBzcGVjaWZpY05vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBnZW5lcmFsTm9kZU5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxOb2RlLmlzTm9uVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgc3BlY2lmaWNOb2RlTm9uVGVybWluYWxOb2RlID0gc3BlY2lmaWNOb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoZ2VuZXJhbE5vZGVUZXJtaW5hbE5vZGUgJiYgc3BlY2lmaWNOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBnZW5lcmFsVGVybWluYWxOb2RlID0gZ2VuZXJhbE5vZGUsICAvLy9cbiAgICAgICAgICAgIHNwZWNpZmljVGVybWluYWxOb2RlID0gc3BlY2lmaWNOb2RlOyAgLy8vXG5cbiAgICAgIHJldHVybiB0aGlzLnZpc2l0VGVybWluYWxOb2RlKGdlbmVyYWxUZXJtaW5hbE5vZGUsIHNwZWNpZmljVGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGJhY2ssIGZvcndhcmQpO1xuICAgIH1cblxuICAgIGlmIChnZW5lcmFsTm9kZU5vblRlcm1pbmFsTm9kZSAmJiBzcGVjaWZpY05vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUgPSBnZW5lcmFsTm9kZSwgIC8vL1xuICAgICAgICBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSA9IHNwZWNpZmljTm9kZTsgLy8vXG5cbiAgICAgIHJldHVybiB0aGlzLnZpc2l0Tm9uVGVybWluYWxOb2RlKGdlbmVyYWxOb25UZXJtaW5hbE5vZGUsIHNwZWNpZmljTm9uVGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGJhY2ssIGZvcndhcmQpO1xuICAgIH1cblxuICAgIHJldHVybiBiYWNrKCk7XG4gIH1cblxuICB2aXNpdFRlcm1pbmFsTm9kZShnZW5lcmFsVGVybWluYWxOb2RlLCBzcGVjaWZpY1Rlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7IC8vL1xuICAgIGNvbnN0IGZvcndhcmQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgYmFjayA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIHJldHVybiBmb3J3YXJkKC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG4gIH1cblxuICB2aXNpdE5vblRlcm1pbmFsTm9kZShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgZm9yd2FyZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBiYWNrID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgbGV0IHsgbWFwcyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIGxldCBnZW5lcmFsTm9kZSxcbiAgICAgICAgc3BlY2lmaWNOb2RlO1xuXG4gICAgY29uc3QgbWFwID0gbWFwcy5maW5kKChtYXApID0+IHtcbiAgICAgIGNvbnN0IHsgZ2VuZXJhbE5vZGVRdWVyeSwgc3BlY2lmaWNOb2RlUXVlcnkgfSA9IG1hcDtcblxuICAgICAgZ2VuZXJhbE5vZGUgPSBnZW5lcmFsTm9kZVF1ZXJ5KGdlbmVyYWxOb25UZXJtaW5hbE5vZGUpO1xuICAgICAgc3BlY2lmaWNOb2RlID0gc3BlY2lmaWNOb2RlUXVlcnkoc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUpO1xuXG4gICAgICBpZiAoKGdlbmVyYWxOb2RlICE9PSBudWxsKSAmJiAoc3BlY2lmaWNOb2RlICE9PSBudWxsKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKG1hcCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBydW4gfSA9IG1hcDtcblxuICAgICAgcmV0dXJuIHJ1bihnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGJhY2ssIGZvcndhcmQpO1xuICAgIH1cblxuICAgIGdlbmVyYWxOb2RlID0gZ2VuZXJhbE5vblRlcm1pbmFsTm9kZTsgLy8vXG4gICAgc3BlY2lmaWNOb2RlID0gc3BlY2lmaWNOb25UZXJtaW5hbE5vZGU7IC8vL1xuXG4gICAgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZVF1ZXJ5KGdlbmVyYWxOb2RlKTtcbiAgICBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZVF1ZXJ5KHNwZWNpZmljTm9kZSk7XG5cbiAgICBpZiAoKGdlbmVyYWxOb25UZXJtaW5hbE5vZGUgPT09IG51bGwpIHx8IChzcGVjaWZpY05vblRlcm1pbmFsTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID0gZ2VuZXJhbE5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBzcGVjaWZpY05vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID0gc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAoZ2VuZXJhbE5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lICE9PSBzcGVjaWZpY05vblRlcm1pbmFsTm9kZVJ1bGVOYW1lKSB7XG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIGNvbnN0IGdlbmVyYWxDaGlsZE5vZGVzID0gZ2VuZXJhbE5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksIC8vL1xuICAgICAgICAgIHNwZWNpZmljQ2hpbGROb2RlcyA9IHNwZWNpZmljTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKTsgLy8vXG5cbiAgICByZXR1cm4gdGhpcy5kZXNjZW5kKGdlbmVyYWxDaGlsZE5vZGVzLCBzcGVjaWZpY0NoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgYmFjaywgZm9yd2FyZCk7XG4gIH1cbn0iXSwibmFtZXMiOlsiQ29udGludWF0aW9uWmlwUGFzcyIsInJ1biIsImdlbmVyYWxOb2RlIiwic3BlY2lmaWNOb2RlIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZm9yd2FyZCIsInBvcCIsImJhY2siLCJ2aXNpdE5vZGUiLCJkZXNjZW5kIiwiZ2VuZXJhbENoaWxkTm9kZXMiLCJzcGVjaWZpY0NoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQ29uZ3J1ZW50IiwiYXJlQ2hpbGROb2Rlc0NvbmdydWVudCIsIm1hdGNoIiwiZ2VuZXJhbENoaWxkTm9kZSIsInNwZWNpZmljQ2hpbGROb2RlIiwiaW5kZXgiLCJnZW5lcmFsTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwic3BlY2lmaWNOb2RlVGVybWluYWxOb2RlIiwiZ2VuZXJhbE5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsInNwZWNpZmljTm9kZU5vblRlcm1pbmFsTm9kZSIsImdlbmVyYWxUZXJtaW5hbE5vZGUiLCJzcGVjaWZpY1Rlcm1pbmFsTm9kZSIsInZpc2l0VGVybWluYWxOb2RlIiwiZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSIsInNwZWNpZmljTm9uVGVybWluYWxOb2RlIiwidmlzaXROb25UZXJtaW5hbE5vZGUiLCJtYXBzIiwibWFwIiwiZmluZCIsImdlbmVyYWxOb2RlUXVlcnkiLCJzcGVjaWZpY05vZGVRdWVyeSIsIm5vblRlcm1pbmFsTm9kZVF1ZXJ5IiwiZ2VuZXJhbE5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJzcGVjaWZpY05vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2V0Q2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUFxQkE7Ozs4QkFIQztzQkFDdUM7QUFFOUMsTUFBTUE7SUFDbkJDLElBQUlDLFdBQVcsRUFBRUMsWUFBWSxFQUFFLEdBQUdDLGtCQUFrQixFQUFFO1FBQ3BELE1BQU1DLFVBQVVELG1CQUFtQkUsR0FBRyxJQUNoQ0MsT0FBT0gsbUJBQW1CRSxHQUFHO1FBRW5DLE9BQU8sSUFBSSxDQUFDRSxTQUFTLENBQUNOLGFBQWFDLGlCQUFpQkMsb0JBQW9CRyxNQUFNRjtJQUNoRjtJQUVBSSxRQUFRQyxpQkFBaUIsRUFBRUMsa0JBQWtCLEVBQUUsR0FBR1As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
|
|
@@ -43,8 +43,8 @@ function initialiseReleaseContexts(context) {
|
|
|
43
43
|
initialiseReleaseContext(releaseContext, context);
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
-
function verifyReleaseContexts(context,
|
|
47
|
-
const { releaseContexts } = context
|
|
46
|
+
function verifyReleaseContexts(context, back, forward) {
|
|
47
|
+
const { releaseContexts } = context;
|
|
48
48
|
return (0, _continuation.every)(releaseContexts, verifyReleaseContext, context, back, forward);
|
|
49
49
|
}
|
|
50
50
|
const _default = {
|
|
@@ -201,4 +201,4 @@ function checkProjectDependencyOfPackage(releaseContext, dependentReleased, depe
|
|
|
201
201
|
return projectDependencyOfPackage;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSBcIm9jY2FtLW1vZGVsXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZXZlcnkgIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250aW51YXRpb25cIjtcbmltcG9ydCB7IFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5TmFtZSwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeU5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jeSA9IERlcGVuZGVuY3kuZnJvbU5hbWUobmFtZSksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzID0gW10sXG4gICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gZmFsc2U7XG5cbiAgcmV0dXJuIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dHNDcmVhdGVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzKGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dHMoY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgYmFjayA9IGZhaWwsICAvLy9cbiAgICAgICAgZm9yd2FyZCA9IHN1Y2NlZWQ7ICAvLy9cblxuICByZXR1cm4gZXZlcnkocmVsZWFzZUNvbnRleHRzLCB2ZXJpZnlSZWxlYXNlQ29udGV4dCwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHRzLFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzLFxuICB2ZXJpZnlSZWxlYXNlQ29udGV4dHNcbn07XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gIGNvbnN0IHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0Lmhhc1ZlcmlmaWVkKCk7XG5cbiAgaWYgKHJlbGVhc2VkIHx8IHZlcmlmaWVkKSB7XG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfVxuXG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWU7IC8vL1xuXG4gIGxvZy5pbmZvKGBWZXJpZnlpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdC4uLmApO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dC52ZXJpZnkoYmFjaywgKCkgPT4ge1xuICAgIGxvZy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0LmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgZGVwZW5kZW50UmVsZWFzZWQsIGNvbnRleHQsIGZhaWwsIHN1Y2NlZWQpIHtcbiAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gZmluZFJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gIGlmIChyZWxlYXNlQ29udGV4dCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICB9XG5cbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgZGVwZW5kZW50TmFtZXNMZW5ndGggPSBkZXBlbmRlbnROYW1lcy5sZW5ndGg7XG5cbiAgaWYgKGRlcGVuZGVudE5hbWVzTGVuZ3RoID09PSAwKSB7XG4gICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC4uLmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKTtcblxuICAgIGxvZy5pbmZvKGBDcmVhdGluZyB0aGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQgZ2l2ZW4gdGhlICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRhbnQncyAnJHtkZXBlbmRlbmN5U3RyaW5nfScgZGVwZW5kZW5jeS4uLmApO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0O1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5KGRlcGVuZGVuY3ksIGNvbnRleHQsIGZhaWwsIChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHJlbGVhdGVQcmVzZW50ID0gY2hlY2tSZWxlYXNlUHJlc2VudChyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeU5hbWUsIGNvbnRleHQpO1xuXG4gICAgaWYgKCFyZWxlYXRlUHJlc2VudCkge1xuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSA9IGNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudFJlbGVhc2VkLCBkZXBlbmRlbnROYW1lcywgY29udGV4dCk7XG5cbiAgICBpZiAocHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UpIHtcbiAgICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmICghcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KSB7XG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgZmFpbCwgKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkKSA9PiB7XG4gICAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQpIHtcbiAgICAgICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkge1xuICAgICAgICBhZGRSZWxlYXNlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA/XG4gICAgICAgIGxvZy5kZWJ1ZyhgLi4uY3JlYXRlZCB0aGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuYCkgOlxuICAgICAgICAgIGxvZy53YXJuaW5nKGAuLi51bmFibGUgdG8gY3JlYXRlIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC5gKTtcblxuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBmYWlsLCBzdWNjZWVkKSB7XG4gIGNvbnN0IG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKSxcbiAgICAgICAgZGVwZW5kZW50TmFtZSA9IG5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW50UmVsZWFzZWQgPSByZWxlYXNlZDsgIC8vL1xuXG4gIGRlcGVuZGVudE5hbWVzID0gWyAuLi5kZXBlbmRlbnROYW1lcywgZGVwZW5kZW50TmFtZSBdOyAgLy8vXG5cbiAgY29uc3QgYXJyYXkgPSBkZXBlbmRlbmNpZXMuZ2V0QXJyYXkoKTtcblxuICByZXR1cm4gZXZlcnkoYXJyYXksIChkZXBlbmRlbmN5LCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgY29uc3QgY3ljbGljRGVwZW5kZW5jeVByZXNlbnQgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lQcmVzZW50KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmIChjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCkge1xuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGRlcGVuZGVudFJlbGVhc2VkLCBjb250ZXh0LCBmYWlsLCAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSA9PiB7XG4gICAgICByZXR1cm4gKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgP1xuICAgICAgICAgICAgICAgIGZvcndhcmQoKSA6XG4gICAgICAgICAgICAgICAgICBiYWNrKCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHN1Y2NlZWQoZmFsc2UpLCAoKSA9PiBzdWNjZWVkKHRydWUpKTtcbn1cblxuZnVuY3Rpb24gYWRkUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLnB1c2gocmVsZWFzZUNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dHMuZmluZCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgICBjb25zdCBkZXBlbmRlbmN5TmFtZU1hdGNoZXMgPSByZWxlYXNlQ29udGV4dC5tYXRjaERlcGVuZGVuY3lOYW1lKGRlcGVuZGVuY3lOYW1lKTtcblxuICAgICAgICAgIGlmIChkZXBlbmRlbmN5TmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUmVsZWFzZVByZXNlbnQocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3lOYW1lLCBjb250ZXh0KSB7XG4gIGxldCByZWxlYXNlUHJlc2VudCA9IHRydWU7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQ7XG5cbiAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0IGNvdWxkIG5vdCBiZSBjcmVhdGVkLiBQZXJoYXBzIHRoZSAnbWV0YS5qc29uJyBmaWxlIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5gKTtcblxuICAgIHJlbGVhc2VQcmVzZW50ID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZVByZXNlbnQ7XG59XG5cbmZ1bmN0aW9uIHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCByZWxlYXNlQ29udGV4dHMgPSBbXSkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKHJlbGVhc2VDb250ZXh0KTtcblxuICBpZiAoIXJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICAgIGRlcGVuZGVuY2llcy5mb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCk7XG5cbiAgICAgIHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCByZWxlYXNlQ29udGV4dHMpO1xuICAgIH0pO1xuXG4gICAgcmVsZWFzZUNvbnRleHRzLnVuc2hpZnQocmVsZWFzZUNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0cztcbn1cblxuZnVuY3Rpb24gaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dHMgPSByZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG5cbiAgbG9nLmluZm8oYEluaXRpYWxpc2luZyB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuLi5gKTtcblxuICBjb25zdCB7IEZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0LmluaXRpYWxpc2UocmVsZWFzZUNvbnRleHRzLCBGaWxlQ29udGV4dEZyb21GaWxlUGF0aCk7XG5cbiAgbG9nLmRlYnVnKGAuLi5pbml0aWFsaXNlZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuYCk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeVByZXNlbnQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50ID0gZmFsc2U7XG5cbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgaW5kZXggPSBkZXBlbmRlbnROYW1lcy5pbmRleE9mKGRlcGVuZGVuY3lOYW1lKTtcblxuICBpZiAoaW5kZXggPiAtMSkge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgIGNpcmN1bGFyRGVwZW5kZW50TmFtZXMgPSBkZXBlbmRlbnROYW1lcy5zbGljZShpbmRleCksXG4gICAgICAgICAgY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXMgPSBbXG4gICAgICAgICAgICAuLi5jaXJjdWxhckRlcGVuZGVudE5hbWVzLFxuICAgICAgICAgICAgZGVwZW5kZW5jeU5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nID0gY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXMuam9pbihTSU5HTEVfU1BBQ0UpO1xuXG4gICAgbG9nLndhcm5pbmcoYFRoZXJlIGlzIGEgY3ljbGljIGRlcGVuZGVuY3ksICcke2NpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG5cbiAgICBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeVByZXNlbnQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gdHJ1ZTtcblxuICBjb25zdCBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVuZWRWZXJzaW9uKCk7XG5cbiAgaWYgKHNob3J0ZW5lZFZlcnNpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uID0gcmVsZWFzZUNvbnRleHQubWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gICAgaWYgKCFlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uKSB7XG4gICAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgICAgIHZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgICBsYXN0RGVwZW5kZW50TmFtZSA9IGxhc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgICAgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKTtcblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtkZXBlbmRlbnROYW1lfScgZGVwZW5kZW50IHJlcXVpcmVzIHRoZSAnJHtkZXBlbmRlbmN5U3RyaW5nfScgZGVwZW5kZW5jeSBidXQgYSBjb250ZXh0IHdpdGggdmVyc2lvbiAnJHt2ZXJzaW9uU3RyaW5nfScgd2FzIHByb3ZpZGVkLmApO1xuXG4gICAgICByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5O1xufVxuXG5mdW5jdGlvbiBjaGVja1Byb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnRSZWxlYXNlZCwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gZmFsc2U7XG5cbiAgaWYgKGRlcGVuZGVudFJlbGVhc2VkKSB7XG4gICAgY29uc3QgdW5yZWxlYXNlZCA9IHJlbGVhc2VDb250ZXh0LmlzVW5yZWxlYXNlZCgpO1xuXG4gICAgaWYgKHVucmVsZWFzZWQpIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgbmFtZSA9IHJlbGVhc2VDb250ZXh0LmdldE5hbWUoKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IG5hbWUsLy8vXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWU7ICAvLy9cblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIGRlcGVuZGVuY3kgaXMgYSBwcm9qZWN0IHdoaWxzdCBpdHMgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGVudCBpcyBhIHBhY2thZ2UuYCk7XG5cbiAgICAgIHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2U7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0cyIsInZlcmlmeVJlbGVhc2VDb250ZXh0cyIsImxhc3QiLCJhcnJheVV0aWxpdGllcyIsImRlcGVuZGVuY3lOYW1lIiwiY29udGV4dCIsImZhaWwiLCJzdWNjZWVkIiwibmFtZSIsImRlcGVuZGVuY3kiLCJEZXBlbmRlbmN5IiwiZnJvbU5hbWUiLCJkZXBlbmRlbnROYW1lcyIsImRlcGVuZGVudFJlbGVhc2VkIiwiY3JlYXRlUmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlQ29udGV4dENyZWF0ZWQiLCJyZWxlYXNlQ29udGV4dHNDcmVhdGVkIiwicmVsZWFzZUNvbnRleHRzIiwiZm9yRWFjaCIsInJlbGVhc2VDb250ZXh0IiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0IiwiYmFjayIsImZvcndhcmQiLCJldmVyeSIsInZlcmlmeVJlbGVhc2VDb250ZXh0IiwicmVsZWFzZWQiLCJpc1JlbGVhc2VkIiwidmVyaWZpZWQiLCJoYXNWZXJpZmllZCIsImxvZyIsImdldE5hbWUiLCJyZWxlYXNlTmFtZSIsImluZm8iLCJ2ZXJpZnkiLCJmaW5kUmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbnROYW1lc0xlbmd0aCIsImxlbmd0aCIsImxhc3REZXBlbmRlbnROYW1lIiwiZGVwZW5kZW50TmFtZSIsImRlcGVuZGVuY3lTdHJpbmciLCJhc1N0cmluZyIsInJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3kiLCJyZWxlYXRlUHJlc2VudCIsImNoZWNrUmVsZWFzZVByZXNlbnQiLCJwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSIsImNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UiLCJyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCIsImFkZFJlbGVhc2VDb250ZXh0IiwiZGVidWciLCJ3YXJuaW5nIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwiYXJyYXkiLCJnZXRBcnJheSIsImN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50IiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5UHJlc2VudCIsInB1c2giLCJmaW5kIiwiZGVwZW5kZW5jeU5hbWVNYXRjaGVzIiwibWF0Y2hEZXBlbmRlbmN5TmFtZSIsInJlbGVhc2VQcmVzZW50IiwicmV0cmlldmVSZWxlYXNlQ29udGV4dHMiLCJyZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0IiwiaW5jbHVkZXMiLCJmb3JFYWNoRGVwZW5kZW5jeSIsInVuc2hpZnQiLCJGaWxlQ29udGV4dEZyb21GaWxlUGF0aCIsImluaXRpYWxpc2UiLCJpbmRleCIsImluZGV4T2YiLCJjaXJjdWxhckRlcGVuZGVudE5hbWVzIiwic2xpY2UiLCJjaXJjdWxhckRlcGVuZGVuY3lOYW1lcyIsImNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nIiwiam9pbiIsIlNJTkdMRV9TUEFDRSIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXRTaG9ydGVuZWRWZXJzaW9uIiwiZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbiIsIm1hdGNoU2hvcnRlbmVkVmVyc2lvbiIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwidmVyc2lvblN0cmluZyIsInRvU3RyaW5nIiwidW5yZWxlYXNlZCIsImlzVW5yZWxlYXNlZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBVWdCQTtlQUFBQTs7UUFpQ2hCO2VBQUE7O1FBaEJnQkM7ZUFBQUE7O1FBUUFDO2VBQUFBOzs7NEJBakNXOzJCQUNJOzhCQUVSOzJCQUNNO0FBRTdCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLHlCQUFjO0FBRXhCLFNBQVNKLHNCQUFzQkssY0FBYyxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsT0FBTztJQUMxRSxNQUFNQyxPQUFPSixnQkFDUEssYUFBYUMsc0JBQVUsQ0FBQ0MsUUFBUSxDQUFDSCxPQUNqQ0ksaUJBQWlCLEVBQUUsRUFDbkJDLG9CQUFvQjtJQUUxQixPQUFPQyxxQkFBcUJMLFlBQVlHLGdCQUFnQkMsbUJBQW1CUixTQUFTQyxNQUFNLENBQUNTO1FBQ3pGLElBQUlDLHlCQUF5QjtRQUU3QixJQUFJRCx1QkFBdUI7WUFDekJDLHlCQUF5QjtRQUMzQjtRQUVBLE9BQU9ULFFBQVFTO0lBQ2pCO0FBQ0Y7QUFFTyxTQUFTaEIsMEJBQTBCSyxPQUFPO0lB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
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSBcIm9jY2FtLW1vZGVsXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZXZlcnkgIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250aW51YXRpb25cIjtcbmltcG9ydCB7IFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5TmFtZSwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeU5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jeSA9IERlcGVuZGVuY3kuZnJvbU5hbWUobmFtZSksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzID0gW10sXG4gICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gZmFsc2U7XG5cbiAgcmV0dXJuIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dHNDcmVhdGVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzKGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dHMoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dDtcblxuICByZXR1cm4gZXZlcnkocmVsZWFzZUNvbnRleHRzLCB2ZXJpZnlSZWxlYXNlQ29udGV4dCwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHRzLFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzLFxuICB2ZXJpZnlSZWxlYXNlQ29udGV4dHNcbn07XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gIGNvbnN0IHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0Lmhhc1ZlcmlmaWVkKCk7XG5cbiAgaWYgKHJlbGVhc2VkIHx8IHZlcmlmaWVkKSB7XG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfVxuXG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWU7IC8vL1xuXG4gIGxvZy5pbmZvKGBWZXJpZnlpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdC4uLmApO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dC52ZXJpZnkoYmFjaywgKCkgPT4ge1xuICAgIGxvZy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0LmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgZGVwZW5kZW50UmVsZWFzZWQsIGNvbnRleHQsIGZhaWwsIHN1Y2NlZWQpIHtcbiAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gZmluZFJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gIGlmIChyZWxlYXNlQ29udGV4dCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICB9XG5cbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgZGVwZW5kZW50TmFtZXNMZW5ndGggPSBkZXBlbmRlbnROYW1lcy5sZW5ndGg7XG5cbiAgaWYgKGRlcGVuZGVudE5hbWVzTGVuZ3RoID09PSAwKSB7XG4gICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC4uLmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKTtcblxuICAgIGxvZy5pbmZvKGBDcmVhdGluZyB0aGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQgZ2l2ZW4gdGhlICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRhbnQncyAnJHtkZXBlbmRlbmN5U3RyaW5nfScgZGVwZW5kZW5jeS4uLmApO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0O1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5KGRlcGVuZGVuY3ksIGNvbnRleHQsIGZhaWwsIChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHJlbGVhdGVQcmVzZW50ID0gY2hlY2tSZWxlYXNlUHJlc2VudChyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeU5hbWUsIGNvbnRleHQpO1xuXG4gICAgaWYgKCFyZWxlYXRlUHJlc2VudCkge1xuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSA9IGNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudFJlbGVhc2VkLCBkZXBlbmRlbnROYW1lcywgY29udGV4dCk7XG5cbiAgICBpZiAocHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UpIHtcbiAgICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmICghcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KSB7XG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgZmFpbCwgKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkKSA9PiB7XG4gICAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQpIHtcbiAgICAgICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkge1xuICAgICAgICBhZGRSZWxlYXNlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA/XG4gICAgICAgIGxvZy5kZWJ1ZyhgLi4uY3JlYXRlZCB0aGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuYCkgOlxuICAgICAgICAgIGxvZy53YXJuaW5nKGAuLi51bmFibGUgdG8gY3JlYXRlIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC5gKTtcblxuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBmYWlsLCBzdWNjZWVkKSB7XG4gIGNvbnN0IG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKSxcbiAgICAgICAgZGVwZW5kZW50TmFtZSA9IG5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW50UmVsZWFzZWQgPSByZWxlYXNlZDsgIC8vL1xuXG4gIGRlcGVuZGVudE5hbWVzID0gWyAuLi5kZXBlbmRlbnROYW1lcywgZGVwZW5kZW50TmFtZSBdOyAgLy8vXG5cbiAgY29uc3QgYXJyYXkgPSBkZXBlbmRlbmNpZXMuZ2V0QXJyYXkoKTtcblxuICByZXR1cm4gZXZlcnkoYXJyYXksIChkZXBlbmRlbmN5LCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgY29uc3QgY3ljbGljRGVwZW5kZW5jeVByZXNlbnQgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lQcmVzZW50KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmIChjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCkge1xuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGRlcGVuZGVudFJlbGVhc2VkLCBjb250ZXh0LCBmYWlsLCAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSA9PiB7XG4gICAgICByZXR1cm4gKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgP1xuICAgICAgICAgICAgICAgIGZvcndhcmQoKSA6XG4gICAgICAgICAgICAgICAgICBiYWNrKCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHN1Y2NlZWQoZmFsc2UpLCAoKSA9PiBzdWNjZWVkKHRydWUpKTtcbn1cblxuZnVuY3Rpb24gYWRkUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLnB1c2gocmVsZWFzZUNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dHMuZmluZCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgICBjb25zdCBkZXBlbmRlbmN5TmFtZU1hdGNoZXMgPSByZWxlYXNlQ29udGV4dC5tYXRjaERlcGVuZGVuY3lOYW1lKGRlcGVuZGVuY3lOYW1lKTtcblxuICAgICAgICAgIGlmIChkZXBlbmRlbmN5TmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUmVsZWFzZVByZXNlbnQocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3lOYW1lLCBjb250ZXh0KSB7XG4gIGxldCByZWxlYXNlUHJlc2VudCA9IHRydWU7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQ7XG5cbiAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0IGNvdWxkIG5vdCBiZSBjcmVhdGVkLiBQZXJoYXBzIHRoZSAnbWV0YS5qc29uJyBmaWxlIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5gKTtcblxuICAgIHJlbGVhc2VQcmVzZW50ID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZVByZXNlbnQ7XG59XG5cbmZ1bmN0aW9uIHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCByZWxlYXNlQ29udGV4dHMgPSBbXSkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKHJlbGVhc2VDb250ZXh0KTtcblxuICBpZiAoIXJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICAgIGRlcGVuZGVuY2llcy5mb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCk7XG5cbiAgICAgIHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCByZWxlYXNlQ29udGV4dHMpO1xuICAgIH0pO1xuXG4gICAgcmVsZWFzZUNvbnRleHRzLnVuc2hpZnQocmVsZWFzZUNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0cztcbn1cblxuZnVuY3Rpb24gaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dHMgPSByZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG5cbiAgbG9nLmluZm8oYEluaXRpYWxpc2luZyB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuLi5gKTtcblxuICBjb25zdCB7IEZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0LmluaXRpYWxpc2UocmVsZWFzZUNvbnRleHRzLCBGaWxlQ29udGV4dEZyb21GaWxlUGF0aCk7XG5cbiAgbG9nLmRlYnVnKGAuLi5pbml0aWFsaXNlZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuYCk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeVByZXNlbnQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50ID0gZmFsc2U7XG5cbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgaW5kZXggPSBkZXBlbmRlbnROYW1lcy5pbmRleE9mKGRlcGVuZGVuY3lOYW1lKTtcblxuICBpZiAoaW5kZXggPiAtMSkge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgIGNpcmN1bGFyRGVwZW5kZW50TmFtZXMgPSBkZXBlbmRlbnROYW1lcy5zbGljZShpbmRleCksXG4gICAgICAgICAgY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXMgPSBbXG4gICAgICAgICAgICAuLi5jaXJjdWxhckRlcGVuZGVudE5hbWVzLFxuICAgICAgICAgICAgZGVwZW5kZW5jeU5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nID0gY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXMuam9pbihTSU5HTEVfU1BBQ0UpO1xuXG4gICAgbG9nLndhcm5pbmcoYFRoZXJlIGlzIGEgY3ljbGljIGRlcGVuZGVuY3ksICcke2NpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG5cbiAgICBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeVByZXNlbnQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gdHJ1ZTtcblxuICBjb25zdCBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVuZWRWZXJzaW9uKCk7XG5cbiAgaWYgKHNob3J0ZW5lZFZlcnNpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uID0gcmVsZWFzZUNvbnRleHQubWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gICAgaWYgKCFlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uKSB7XG4gICAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgICAgIHZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgICBsYXN0RGVwZW5kZW50TmFtZSA9IGxhc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgICAgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKTtcblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtkZXBlbmRlbnROYW1lfScgZGVwZW5kZW50IHJlcXVpcmVzIHRoZSAnJHtkZXBlbmRlbmN5U3RyaW5nfScgZGVwZW5kZW5jeSBidXQgYSBjb250ZXh0IHdpdGggdmVyc2lvbiAnJHt2ZXJzaW9uU3RyaW5nfScgd2FzIHByb3ZpZGVkLmApO1xuXG4gICAgICByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5O1xufVxuXG5mdW5jdGlvbiBjaGVja1Byb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnRSZWxlYXNlZCwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gZmFsc2U7XG5cbiAgaWYgKGRlcGVuZGVudFJlbGVhc2VkKSB7XG4gICAgY29uc3QgdW5yZWxlYXNlZCA9IHJlbGVhc2VDb250ZXh0LmlzVW5yZWxlYXNlZCgpO1xuXG4gICAgaWYgKHVucmVsZWFzZWQpIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgbmFtZSA9IHJlbGVhc2VDb250ZXh0LmdldE5hbWUoKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IG5hbWUsLy8vXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWU7ICAvLy9cblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIGRlcGVuZGVuY3kgaXMgYSBwcm9qZWN0IHdoaWxzdCBpdHMgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGVudCBpcyBhIHBhY2thZ2UuYCk7XG5cbiAgICAgIHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2U7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0cyIsInZlcmlmeVJlbGVhc2VDb250ZXh0cyIsImxhc3QiLCJhcnJheVV0aWxpdGllcyIsImRlcGVuZGVuY3lOYW1lIiwiY29udGV4dCIsImZhaWwiLCJzdWNjZWVkIiwibmFtZSIsImRlcGVuZGVuY3kiLCJEZXBlbmRlbmN5IiwiZnJvbU5hbWUiLCJkZXBlbmRlbnROYW1lcyIsImRlcGVuZGVudFJlbGVhc2VkIiwiY3JlYXRlUmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlQ29udGV4dENyZWF0ZWQiLCJyZWxlYXNlQ29udGV4dHNDcmVhdGVkIiwicmVsZWFzZUNvbnRleHRzIiwiZm9yRWFjaCIsInJlbGVhc2VDb250ZXh0IiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0IiwiYmFjayIsImZvcndhcmQiLCJldmVyeSIsInZlcmlmeVJlbGVhc2VDb250ZXh0IiwicmVsZWFzZWQiLCJpc1JlbGVhc2VkIiwidmVyaWZpZWQiLCJoYXNWZXJpZmllZCIsImxvZyIsImdldE5hbWUiLCJyZWxlYXNlTmFtZSIsImluZm8iLCJ2ZXJpZnkiLCJmaW5kUmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbnROYW1lc0xlbmd0aCIsImxlbmd0aCIsImxhc3REZXBlbmRlbnROYW1lIiwiZGVwZW5kZW50TmFtZSIsImRlcGVuZGVuY3lTdHJpbmciLCJhc1N0cmluZyIsInJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3kiLCJyZWxlYXRlUHJlc2VudCIsImNoZWNrUmVsZWFzZVByZXNlbnQiLCJwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSIsImNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UiLCJyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCIsImFkZFJlbGVhc2VDb250ZXh0IiwiZGVidWciLCJ3YXJuaW5nIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwiYXJyYXkiLCJnZXRBcnJheSIsImN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50IiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5UHJlc2VudCIsInB1c2giLCJmaW5kIiwiZGVwZW5kZW5jeU5hbWVNYXRjaGVzIiwibWF0Y2hEZXBlbmRlbmN5TmFtZSIsInJlbGVhc2VQcmVzZW50IiwicmV0cmlldmVSZWxlYXNlQ29udGV4dHMiLCJyZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0IiwiaW5jbHVkZXMiLCJmb3JFYWNoRGVwZW5kZW5jeSIsInVuc2hpZnQiLCJGaWxlQ29udGV4dEZyb21GaWxlUGF0aCIsImluaXRpYWxpc2UiLCJpbmRleCIsImluZGV4T2YiLCJjaXJjdWxhckRlcGVuZGVudE5hbWVzIiwic2xpY2UiLCJjaXJjdWxhckRlcGVuZGVuY3lOYW1lcyIsImNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzU3RyaW5nIiwiam9pbiIsIlNJTkdMRV9TUEFDRSIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXRTaG9ydGVuZWRWZXJzaW9uIiwiZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbiIsIm1hdGNoU2hvcnRlbmVkVmVyc2lvbiIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwidmVyc2lvblN0cmluZyIsInRvU3RyaW5nIiwidW5yZWxlYXNlZCIsImlzVW5yZWxlYXNlZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBVWdCQTtlQUFBQTs7UUErQmhCO2VBQUE7O1FBZGdCQztlQUFBQTs7UUFRQUM7ZUFBQUE7Ozs0QkFqQ1c7MkJBQ0k7OEJBRVI7MkJBQ007QUFFN0IsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MseUJBQWM7QUFFeEIsU0FBU0osc0JBQXNCSyxjQUFjLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFQyxPQUFPO0lBQzFFLE1BQU1DLE9BQU9KLGdCQUNQSyxhQUFhQyxzQkFBVSxDQUFDQyxRQUFRLENBQUNILE9BQ2pDSSxpQkFBaUIsRUFBRSxFQUNuQkMsb0JBQW9CO0lBRTFCLE9BQU9DLHFCQUFxQkwsWUFBWUcsZ0JBQWdCQyxtQkFBbUJSLFNBQVNDLE1BQU0sQ0FBQ1M7UUFDekYsSUFBSUMseUJBQXlCO1FBRTdCLElBQUlELHVCQUF1QjtZQUN6QkMseUJBQXlCO1FBQzNCO1FBRUEsT0FBT1QsUUFBUVM7SUFDakI7QUFDRjtBQUVPLFNBQVNoQiwwQkFBMEJLLE9BQU87SUFDL0MsTUFBTSxFQUFFWSxlQUFlLEVBQUUsR0FBR1o7SUFFNUJZLGdCQUFnQkMsT0FBTyxDQUFDLENBQUNDO1FBQ3ZCQyx5QkFBeUJELGdCQUFnQmQ7SUFDM0M7QUFDRjtBQUVPLFNBQVNKLHNCQUFzQkksT0FBTyxFQUFFZ0IsSUFBSSxFQUFFQyxPQUFPO0lBQzFELE1BQU0sRUFBRUwsZUFBZSxFQUFFLEdBQUdaO0lBRTVCLE9BQU9rQixJQUFBQSxtQkFBSyxFQUFDTixpQkFBaUJPLHNCQUFzQm5CLFNBQVNnQixNQUFNQztBQUNyRTtNQUVBLFdBQWU7SUFDYnZCO0lBQ0FDO0lBQ0FDO0FBQ0Y7QUFFQSxTQUFTdUIscUJBQXFCTCxjQUFjLEVBQUVkLE9BQU8sRUFBRWdCLElBQUksRUFBRUMsT0FBTztJQUNsRSxNQUFNRyxXQUFXTixlQUFlTyxVQUFVLElBQ3BDQyxXQUFXUixlQUFlUyxXQUFXO0lBRTNDLElBQUlILFlBQVlFLFVBQVU7UUFDeEIsT0FBT0w7SUFDVDtJQUVBLE1BQU0sRUFBRU8sR0FBRyxFQUFFLEdBQUd4QixTQUNWRyxPQUFPVyxlQUFlVyxPQUFPLElBQzdCQyxjQUFjdkIsTUFBTSxHQUFHO0lBRTdCcUIsSUFBSUcsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFRCxZQUFZLFlBQVksQ0FBQztJQUVwRCxPQUFPWixlQUFlYyxNQUFNLENBQUNaLE1BQU07UUFDakNRLElBQUlHLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFRCxZQUFZLFVBQVUsQ0FBQztRQUVwRCxPQUFPVCxRQUFRakI7SUFDakI7QUFDRjtBQUVBLFNBQVNTLHFCQUFxQkwsVUFBVSxFQUFFRyxjQUFjLEVBQUVDLGlCQUFpQixFQUFFUixPQUFPLEVBQUVDLElBQUksRUFBRUMsT0FBTztJQUNqRyxNQUFNLEVBQUVzQixHQUFHLEVBQUUsR0FBR3hCLFNBQ1ZjLGlCQUFpQmUsbUJBQW1CekIsWUFBWUo7SUFFdEQsSUFBSWMsbUJBQW1CLE1BQU07UUFDM0IsTUFBTUosd0JBQXdCO1FBRTlCLE9BQU9SLFFBQVFRO0lBQ2pCO0lBRUEsTUFBTVgsaUJBQWlCSyxXQUFXcUIsT0FBTyxJQUNuQ0ssdUJBQXVCdkIsZUFBZXdCLE1BQU07SUFFbEQsSUFBSUQseUJBQXlCLEdBQUc7UUFDOUJOLElBQUlHLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRTVCLGVBQWUsb0JBQW9CLENBQUM7SUFDaEUsT0FBTztRQUNMLE1BQU1pQyxvQkFBb0JuQyxLQUFLVSxpQkFDekIwQixnQkFBZ0JELG1CQUNoQkUsbUJBQW1COUIsV0FBVytCLFFBQVE7UUFFNUNYLElBQUlHLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRTVCLGVBQWUsNkJBQTZCLEVBQUVrQyxjQUFjLGVBQWUsRUFBRUMsaUJBQWlCLGVBQWUsQ0FBQztJQUMxSTtJQUVBLE1BQU0sRUFBRUUsNEJBQTRCLEVBQUUsR0FBR3BDO0lBRXpDLE9BQU9vQyw2QkFBNkJoQyxZQUFZSixTQUFTQyxNQUFNLENBQUNhO1FBQzlELElBQUlKLHdCQUF3QjtRQUU1QixNQUFNMkIsaUJBQWlCQyxvQkFBb0J4QixnQkFBZ0JmLGdCQUFnQkM7UUFFM0UsSUFBSSxDQUFDcUMsZ0JBQWdCO1lBQ25CLE9BQU9uQyxRQUFRUTtRQUNqQjtRQUVBLE1BQU02Qiw2QkFBNkJDLGdDQUFnQzFCLGdCQUFnQk4sbUJBQW1CRCxnQkFBZ0JQO1FBRXRILElBQUl1Qyw0QkFBNEI7WUFDOUIsT0FBT3JDLFFBQVFRO1FBQ2pCO1FBRUEsTUFBTStCLDJCQUEyQkMsOEJBQThCNUIsZ0JBQWdCVixZQUFZRyxnQkFBZ0JQO1FBRTNHLElBQUksQ0FBQ3lDLDBCQUEwQjtZQUM3QixPQUFPdkMsUUFBUVE7UUFDakI7UUFFQSxPQUFPaUMsZ0NBQWdDN0IsZ0JBQWdCVixZQUFZRyxnQkFBZ0JQLFNBQVNDLE1BQU0sQ0FBQzJDO1lBQ2pHLElBQUlBLGtDQUFrQztnQkFDcENsQyx3QkFBd0I7WUFDMUI7WUFFQSxJQUFJQSx1QkFBdUI7Z0JBQ3pCbUMsa0JBQWtCL0IsZ0JBQWdCZDtZQUNwQztZQUVBVSx3QkFDRWMsSUFBSXNCLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFL0MsZUFBZSxrQkFBa0IsQ0FBQyxJQUM3RHlCLElBQUl1QixPQUFPLENBQUMsQ0FBQyx5QkFBeUIsRUFBRWhELGVBQWUsa0JBQWtCLENBQUM7WUFFOUUsT0FBT0csUUFBUVE7UUFDakI7SUFDRjtBQUNGO0FBRUEsU0FBU2lDLGdDQUFnQzdCLGNBQWMsRUFBRVYsVUFBVSxFQUFFRyxjQUFjLEVBQUVQLE9BQU8sRUFBRUMsSUFBSSxFQUFFQyxPQUFPO0lBQ3pHLE1BQU1DLE9BQU9XLGVBQWVXLE9BQU8sSUFDN0JMLFdBQVdOLGVBQWVPLFVBQVUsSUFDcEMyQixlQUFlbEMsZUFBZW1DLGVBQWUsSUFDN0NoQixnQkFBZ0I5QixNQUNoQkssb0JBQW9CWSxVQUFXLEdBQUc7SUFFeENiLGlCQUFpQjtXQUFLQTtRQUFnQjBCO0tBQWUsRUFBRyxHQUFHO0lBRTNELE1BQU1pQixRQUFRRixhQUFhRyxRQUFRO0lBRW5DLE9BQU9qQyxJQUFBQSxtQkFBSyxFQUFDZ0MsT0FBTyxDQUFDOUMsWUFBWVksTUFBTUM7UUFDckMsTUFBTW1DLDBCQUEwQkMsNkJBQTZCakQsWUFBWUcsZ0JBQWdCUDtRQUV6RixJQUFJb0QseUJBQXlCO1lBQzNCLE9BQU9wQztRQUNUO1FBRUEsT0FBT1AscUJBQXFCTCxZQUFZRyxnQkFBZ0JDLG1CQUFtQlIsU0FBU0MsTUFBTSxDQUFDUztZQUN6RixPQUFPLEFBQUNBLHdCQUNFTyxZQUNFRDtRQUNkO0lBQ0YsR0FBRyxJQUFNZCxRQUFRLFFBQVEsSUFBTUEsUUFBUTtBQUN6QztBQUVBLFNBQVMyQyxrQkFBa0IvQixjQUFjLEVBQUVkLE9BQU87SUFDaEQsTUFBTSxFQUFFWSxlQUFlLEVBQUUsR0FBR1o7SUFFNUJZLGdCQUFnQjBDLElBQUksQ0FBQ3hDO0FBQ3ZCO0FBRUEsU0FBU2UsbUJBQW1CekIsVUFBVSxFQUFFSixPQUFPO0lBQzdDLE1BQU0sRUFBRVksZUFBZSxFQUFFLEdBQUdaLFNBQ3RCRCxpQkFBaUJLLFdBQVdxQixPQUFPLElBQ25DWCxpQkFBaUJGLGdCQUFnQjJDLElBQUksQ0FBQyxDQUFDekM7UUFDckMsTUFBTTBDLHdCQUF3QjFDLGVBQWUyQyxtQkFBbUIsQ0FBQzFEO1FBRWpFLElBQUl5RCx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0YsTUFBTTtJQUVaLE9BQU8xQztBQUNUO0FBRUEsU0FBU3dCLG9CQUFvQnhCLGNBQWMsRUFBRWYsY0FBYyxFQUFFQyxPQUFPO0lBQ2xFLElBQUkwRCxpQkFBaUI7SUFFckIsSUFBSTVDLG1CQUFtQixNQUFNO1FBQzNCLE1BQU0sRUFBRVUsR0FBRyxFQUFFLEdBQUd4QjtRQUVoQndCLElBQUl1QixPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUVoRCxlQUFlLDJGQUEyRixDQUFDO1FBRS9IMkQsaUJBQWlCO0lBQ25CO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNDLHdCQUF3QjdDLGNBQWMsRUFBRWQsT0FBTyxFQUFFWSxrQkFBa0IsRUFBRTtJQUM1RSxNQUFNZ0Qsd0NBQXdDaEQsZ0JBQWdCaUQsUUFBUSxDQUFDL0M7SUFFdkUsSUFBSSxDQUFDOEMsdUNBQXVDO1FBQzFDLE1BQU1aLGVBQWVsQyxlQUFlbUMsZUFBZTtRQUVuREQsYUFBYWMsaUJBQWlCLENBQUMsQ0FBQzFEO1lBQzlCLE1BQU1VLGlCQUFpQmUsbUJBQW1CekIsWUFBWUo7WUFFdEQyRCx3QkFBd0I3QyxnQkFBZ0JkLFNBQVNZO1FBQ25EO1FBRUFBLGdCQUFnQm1ELE9BQU8sQ0FBQ2pEO0lBQzFCO0lBRUEsT0FBT0Y7QUFDVDtBQUVBLFNBQVNHLHlCQUF5QkQsY0FBYyxFQUFFZCxPQUFPO0lBQ3ZELE1BQU0sRUFBRXdCLEdBQUcsRUFBRSxHQUFHeEIsU0FDVkcsT0FBT1csZUFBZVcsT0FBTyxJQUM3QkMsY0FBY3ZCLE1BQ2RTLGtCQUFrQitDLHdCQUF3QjdDLGdCQUFnQmQ7SUFFaEV3QixJQUFJRyxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUQsWUFBWSxvQkFBb0IsQ0FBQztJQUUvRCxNQUFNLEVBQUVzQyx1QkFBdUIsRUFBRSxHQUFHaEU7SUFFcENjLGVBQWVtRCxVQUFVLENBQUNyRCxpQkFBaUJvRDtJQUUzQ3hDLElBQUlzQixLQUFLLENBQUMsQ0FBQyxvQkFBb0IsRUFBRXBCLFlBQVksa0JBQWtCLENBQUM7QUFDbEU7QUFFQSxTQUFTMkIsNkJBQTZCakQsVUFBVSxFQUFFRyxjQUFjLEVBQUVQLE9BQU87SUFDdkUsSUFBSW9ELDBCQUEwQjtJQUU5QixNQUFNckQsaUJBQWlCSyxXQUFXcUIsT0FBTyxJQUNuQ3lDLFFBQVEzRCxlQUFlNEQsT0FBTyxDQUFDcEU7SUFFckMsSUFBSW1FLFFBQVEsQ0FBQyxHQUFHO1FBQ2QsTUFBTSxFQUFFMUMsR0FBRyxFQUFFLEdBQUd4QixTQUNWb0UseUJBQXlCN0QsZUFBZThELEtBQUssQ0FBQ0gsUUFDOUNJLDBCQUEwQjtlQUNyQkY7WUFDSHJFO1NBQ0QsRUFDRHdFLGdDQUFnQ0Qsd0JBQXdCRSxJQUFJLENBQUNDLHVCQUFZO1FBRS9FakQsSUFBSXVCLE9BQU8sQ0FBQyxDQUFDLCtCQUErQixFQUFFd0IsOEJBQThCLEVBQUUsQ0FBQztRQUUvRW5CLDBCQUEwQjtJQUM1QjtJQUVBLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTViw4QkFBOEI1QixjQUFjLEVBQUVWLFVBQVUsRUFBRUcsY0FBYyxFQUFFUCxPQUFPO0lBQ3hGLElBQUl5QywyQkFBMkI7SUFFL0IsTUFBTWlDLG1CQUFtQnRFLFdBQVd1RSxtQkFBbUI7SUFFdkQsSUFBSUQscUJBQXFCLE1BQU07UUFDN0IsTUFBTUUsK0JBQStCOUQsZUFBZStELHFCQUFxQixDQUFDSDtRQUUxRSxJQUFJLENBQUNFLDhCQUE4QjtZQUNqQyxNQUFNLEVBQUVwRCxHQUFHLEVBQUUsR0FBR3hCLFNBQ1Y4RSxVQUFVaEUsZUFBZWlFLFVBQVUsSUFDbkMvQyxvQkFBb0JuQyxLQUFLVSxpQkFDekIwQixnQkFBZ0JELG1CQUNoQmdELGdCQUFnQkYsUUFBUUcsUUFBUSxJQUNoQy9DLG1CQUFtQjlCLFdBQVcrQixRQUFRO1lBRTVDWCxJQUFJdUIsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFZCxjQUFjLDBCQUEwQixFQUFFQyxpQkFBaUIseUNBQXlDLEVBQUU4QyxjQUFjLGVBQWUsQ0FBQztZQUV4SnZDLDJCQUEyQjtRQUM3QjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNELGdDQUFnQzFCLGNBQWMsRUFBRU4saUJBQWlCLEVBQUVELGNBQWMsRUFBRVAsT0FBTztJQUNqRyxJQUFJdUMsNkJBQTZCO0lBRWpDLElBQUkvQixtQkFBbUI7UUFDckIsTUFBTTBFLGFBQWFwRSxlQUFlcUUsWUFBWTtRQUU5QyxJQUFJRCxZQUFZO1lBQ2QsTUFBTSxFQUFFMUQsR0FBRyxFQUFFLEdBQUd4QixTQUNWRyxPQUFPVyxlQUFlVyxPQUFPLElBQzdCTyxvQkFBb0JuQyxLQUFLVSxpQkFDekJSLGlCQUFpQkksTUFDakI4QixnQkFBZ0JELG1CQUFvQixHQUFHO1lBRTdDUixJQUFJdUIsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFaEQsZUFBZSxzQ0FBc0MsRUFBRWtDLGNBQWMseUJBQXlCLENBQUM7WUFFbkhNLDZCQUE2QjtRQUMvQjtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
|
package/package.json
CHANGED
package/src/pass/continuation.js
CHANGED
|
@@ -12,7 +12,8 @@ export default class ContinuationPass {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
descend(childNodes, ...remainingArguments) {
|
|
15
|
-
const
|
|
15
|
+
const index = remainingArguments.pop(),
|
|
16
|
+
forward = remainingArguments.pop(),
|
|
16
17
|
back = remainingArguments.pop();
|
|
17
18
|
|
|
18
19
|
return every(childNodes, (childNode, ...remainingArguments) => {
|
|
@@ -21,7 +21,8 @@ export default class ContinuationZipPass {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
return match(generalChildNodes, specificChildNodes, (generalChildNode, specificChildNode, ...remainingArguments) => {
|
|
24
|
-
const
|
|
24
|
+
const index = remainingArguments.pop(),
|
|
25
|
+
forward = remainingArguments.pop(),
|
|
25
26
|
back = remainingArguments.pop(),
|
|
26
27
|
generalNode = generalChildNode, ///
|
|
27
28
|
specificNode = specificChildNode; ///
|
|
@@ -33,10 +33,8 @@ export function initialiseReleaseContexts(context) {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
export function verifyReleaseContexts(context,
|
|
37
|
-
const { releaseContexts } = context
|
|
38
|
-
back = fail, ///
|
|
39
|
-
forward = succeed; ///
|
|
36
|
+
export function verifyReleaseContexts(context, back, forward) {
|
|
37
|
+
const { releaseContexts } = context;
|
|
40
38
|
|
|
41
39
|
return every(releaseContexts, verifyReleaseContext, context, back, forward);
|
|
42
40
|
}
|