@hmcts/ccd-case-ui-toolkit 7.2.55-markdown-add-validation → 7.2.55-markdown-add-validation-2
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.
|
@@ -91,7 +91,8 @@ export class FormValidatorsService {
|
|
|
91
91
|
return false; // no candidate -> no match
|
|
92
92
|
}
|
|
93
93
|
const runs = this.extendClosingRunAndRequireParen(value, seg.absStart, seg.afterFirstClose);
|
|
94
|
-
if
|
|
94
|
+
// if there is more than one opening '[' and there is at least a matching number of closing ']'
|
|
95
|
+
if (runs && runs.openingRunCount > 1 && runs.openingRunCount === runs.closingRunCount) {
|
|
95
96
|
// If there were additional validation rules, they would be applied here
|
|
96
97
|
return true;
|
|
97
98
|
}
|
|
@@ -151,4 +152,4 @@ export class FormValidatorsService {
|
|
|
151
152
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormValidatorsService, [{
|
|
152
153
|
type: Injectable
|
|
153
154
|
}], null, null); })();
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN4QixNQUFNLENBQVUsc0JBQXNCLEdBQW9CO1FBQ2hFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGNBQWM7S0FDNUMsQ0FBQztJQUNNLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxNQUFNLENBQUM7SUFDNUMsTUFBTSxDQUFVLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztJQUV0RCxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQW9CLEVBQUUsT0FBd0I7UUFDeEUsSUFDRSxTQUFTLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQyxTQUFTO1lBQ2pELHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN0RixDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDekMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsa0JB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K0ZBQStGO1FBQy9GLE1BQU0sdUJBQXVCLEdBQUcsaUZBQWlGLENBQUM7UUFFbEgsTUFBTSxTQUFTLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOytHQWhMVSxxQkFBcUI7Z0VBQXJCLHFCQUFxQixXQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2ZpZWxkLXR5cGUtZW51bS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtVmFsaWRhdG9yc1NlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDVVNUT01fVkFMSURBVEVEX1RZUEVTOiBGaWVsZFR5cGVFbnVtW10gPSBbXG4gICAgJ0RhdGUnLCAnTW9uZXlHQlAnLCAnTGFiZWwnLCAnSnVkaWNpYWxVc2VyJ1xuICBdO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lOUFVUX1RFWFQgPSAndGV4dCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfSU5QVVRfVEVYVEFSRUEgPSAndGV4dEFyZWFzJztcblxuICBwdWJsaWMgc3RhdGljIGFkZFZhbGlkYXRvcnMoY2FzZUZpZWxkOiBDYXNlRmllbGQsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgaWYgKFxuICAgICAgY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCA9PT0gQ29uc3RhbnRzLk1BTkRBVE9SWSAmJlxuICAgICAgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLkNVU1RPTV9WQUxJREFURURfVFlQRVMuaW5kZXhPZihjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlKSA9PT0gLTFcbiAgICApIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ1RleHQnKSB7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLm1hcmtEb3duUGF0dGVyblZhbGlkYXRvcigpKTtcbiAgICAgICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLnJlZ3VsYXJfZXhwcmVzc2lvbikge1xuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oY2FzZUZpZWxkLmZpZWxkX3R5cGUucmVndWxhcl9leHByZXNzaW9uKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKHRoaXMuZW1wdHlWYWxpZGF0b3IoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbiAmJiAodHlwZW9mIGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbiA9PT0gJ251bWJlcicpKSB7XG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbikpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYXNlRmllbGQuZmllbGRfdHlwZS5tYXggJiYgKHR5cGVvZiBjYXNlRmllbGQuZmllbGRfdHlwZS5tYXggPT09ICdudW1iZXInKSkge1xuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChjYXNlRmllbGQuZmllbGRfdHlwZS5tYXgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ1RleHRBcmVhJykge1xuICAgICAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5lbXB0eVZhbGlkYXRvcigpKTtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKHRoaXMubWFya0Rvd25QYXR0ZXJuVmFsaWRhdG9yKCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29udHJvbC52YWxpZGF0b3IpIHtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGNvbnRyb2wudmFsaWRhdG9yKTtcbiAgICAgIH1cbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICB9IGVsc2UgaWYgKGNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09ICdPUFRJT05BTCcgJiYgKGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdUZXh0JyB8fCBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnVGV4dEFyZWEnKVxuICAgICAgfHwgKGNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09ICdDT01QTEVYJyAmJiBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcGxleCcpKSB7XG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5tYXJrRG93blBhdHRlcm5WYWxpZGF0b3IoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5VmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgICBjb25zdCB2YWxpZGF0b3IgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgaWYgKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHsgcmVxdWlyZWQ6IHt9IH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG1hcmtEb3duUGF0dGVyblZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgLy8gTWF0Y2hlczogW3RleHRdKHVybCksICFbYWx0XSh1cmwpLCA8aW1nIC4uLj4sIDxhIC4uLj4uLi48L2E+XG4gICAgY29uc3QgaW5saW5lTWFya2Rvd25QYXR0ZXJuID0gLyg/OiE/XFxbW15cXF1dezAsNTAwfVxcXVxcKFteKV17MCw1MDB9XFwpfDwoPzppbWdcXGJbXj5dezAsNTAwfT58YVxcYltePl17MCw1MDB9PltcXHNcXFNdKj88XFwvYT4pKS9pO1xuXG4gICAgLy8gTWF0Y2hlczogW3RleHRdW2lkXSwgIVthbHRdW2lkXSwgYW5kIHRoZSBjb2xsYXBzZWQgZm9ybSBbdGV4dF1bXVxuICAgIGNvbnN0IHJlZmVyZW5jZUJveFBhdHRlcm4gPSAvKCEpP1xcWygoPzpbXltcXF1cXFxcXXxcXFxcLil7MCw1MDB9KVxcXVxccypcXFsoW15cXF1dezAsMTAwfSlcXF0vO1xuXG4gICAgLy8gTWF0Y2hlczogYXV0b2xpbmtzIHN1Y2ggYXMgPGh0dHA6Ly9leGFtcGxlLmNvbT5cbiAgICBjb25zdCBhdXRvbGlua1BhdHRlcm4gPSAvPCg/OltBLVphLXpdW0EtWmEtejAtOSsuLV0qOlteIDw+XFxuXSp8W0EtWmEtejAtOS4hIyQlJicqKy89P15fYHt8fX4tXStAW0EtWmEtejAtOS1dKyg/OlxcLltBLVphLXowLTktXSspKyk+LztcblxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKS50cmltKCk7XG4gICAgICByZXR1cm4gKHZhbHVlICYmIChpbmxpbmVNYXJrZG93blBhdHRlcm4udGVzdCh2YWx1ZSkgfHwgcmVmZXJlbmNlQm94UGF0dGVybi50ZXN0KHZhbHVlKSB8fCB0aGlzLm1hdGNoZXNSZWZlcmVuY2VVcmxEZWYodmFsdWUpIHx8IGF1dG9saW5rUGF0dGVybi50ZXN0KHZhbHVlKSB8fCB0aGlzLmhhc011bHRpQnJhY2tldCh2YWx1ZSBhcyBzdHJpbmcpKSkgPyB7IG1hcmtEb3duUGF0dGVybjoge30gfSA6IG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIC8vIFRPRE86IFN0cmlwIHRoaXMgb3V0IGFzIGl0J3Mgb25seSBoZXJlIGZvciB0aGUgbW9tZW50IGJlY2F1c2VcbiAgLy8gdGhlIHNlcnZpY2UgaXMgYmVpbmcgaW5qZWN0ZWQgYWxsIG92ZXIgdGhlIHBsYWNlIGJ1dCBpdCBkb2Vzbid0XG4gIC8vIG5lZWQgdG8gYmUgYXMgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLmFkZFZhbGlkYXRvcnMgaXMgcGVyZmVjdGx5XG4gIC8vIGhhcHB5IGJlaW5nIHN0YXRpYy5cbiAgcHVibGljIGFkZFZhbGlkYXRvcnMoY2FzZUZpZWxkOiBDYXNlRmllbGQsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIEZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKGNhc2VGaWVsZCwgY29udHJvbCk7XG4gIH1cblxuICBwdWJsaWMgYWRkTWFya0Rvd25WYWxpZGF0b3JzKGZvcm1Hcm91cDogQWJzdHJhY3RDb250cm9sLCBjb250cm9sUGF0aDogc3RyaW5nKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChjb250cm9sUGF0aCk7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhGb3JtVmFsaWRhdG9yc1NlcnZpY2UubWFya0Rvd25QYXR0ZXJuVmFsaWRhdG9yKCkpO1xuICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICAgIHJldHVybiBjb250cm9sO1xuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIG11bHRpLWJyYWNrZXQgbWFya2Rvd24gbGlua3MgYW5kIHZhbGlkYXRlIGRlc3RpbmF0aW9uIFVSTFxuICBwcml2YXRlIHN0YXRpYyBoYXNNdWx0aUJyYWNrZXQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgLy8gU29uYXItZnJpZW5kbHkgZGV0ZWN0b3I6IG9wZW5pbmctcnVuICsgdGV4dCArIGZpcnN0IGNsb3NpbmcgJ10nXG4gICAgY29uc3Qgb3BlbmluZ1RleHRDbG9zZVBhdHRlcm4gPSAvXFxbezEsMTB9W15bXFxdXFxuXXsxLDYwfVxcXS87XG5cbiAgICAvLyBDYW4gYWRkIGFuIGFkZGl0aW9uYWwgUmVnRXggZm9yIGFkZGl0aW9uYWwgVVJMIHZhbGlkYXRpb24gcnVsZXMgaWYgbmVlZGVkIGhlcmVcblxuICAgIGxldCBzY2FuSW5kZXggPSAwO1xuICAgIGNvbnN0IHRvdGFsTGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuXG4gICAgd2hpbGUgKHNjYW5JbmRleCA8IHRvdGFsTGVuZ3RoKSB7XG4gICAgICBjb25zdCBzZWcgPSB0aGlzLmZpbmRPcGVuaW5nVGV4dENsb3NlKHZhbHVlLCBzY2FuSW5kZXgsIG9wZW5pbmdUZXh0Q2xvc2VQYXR0ZXJuKTtcbiAgICAgIGlmICghc2VnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTsgLy8gbm8gY2FuZGlkYXRlIC0+IG5vIG1hdGNoXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJ1bnMgPSB0aGlzLmV4dGVuZENsb3NpbmdSdW5BbmRSZXF1aXJlUGFyZW4odmFsdWUsIHNlZy5hYnNTdGFydCwgc2VnLmFmdGVyRmlyc3RDbG9zZSk7XG4gICAgICBpZiAocnVucyAmJiBydW5zLm9wZW5pbmdSdW5Db3VudCA9PT0gcnVucy5jbG9zaW5nUnVuQ291bnQpIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgd2VyZSBhZGRpdGlvbmFsIHZhbGlkYXRpb24gcnVsZXMsIHRoZXkgd291bGQgYmUgYXBwbGllZCBoZXJlXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBBZHZhbmNlIHRvIGF2b2lkIHN0YWxsaW5nIG9uIG92ZXJsYXBzXG4gICAgICBzY2FuSW5kZXggPSBzZWcuYWJzU3RhcnQgKyAxO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBGaW5kIG9wZW5pbmcgJ1snIHJ1biwgdGV4dCwgYW5kIGZpcnN0IGNsb3NpbmcgJ10nXG4gIHByaXZhdGUgc3RhdGljIGZpbmRPcGVuaW5nVGV4dENsb3NlKFxuICAgIHNvdXJjZTogc3RyaW5nLFxuICAgIGZyb21JbmRleDogbnVtYmVyLFxuICAgIHBhdHRlcm46IFJlZ0V4cFxuICApOiB7IGFic1N0YXJ0OiBudW1iZXI7IGFmdGVyRmlyc3RDbG9zZTogbnVtYmVyIH0gfCBudWxsIHtcbiAgICBjb25zdCBzbGljZSA9IHNvdXJjZS5zbGljZShmcm9tSW5kZXgpO1xuICAgIGNvbnN0IG1hdGNoID0gcGF0dGVybi5leGVjKHNsaWNlKTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgYWJzU3RhcnQgPSBmcm9tSW5kZXggKyBtYXRjaC5pbmRleDtcbiAgICBjb25zdCBhZnRlckZpcnN0Q2xvc2UgPSBhYnNTdGFydCArIG1hdGNoWzBdLmxlbmd0aDsgLy8gaW5kZXgganVzdCBhZnRlciB0aGUgZmlyc3QgJ10nXG4gICAgcmV0dXJuIHsgYWJzU3RhcnQsIGFmdGVyRmlyc3RDbG9zZSB9O1xuICB9XG5cbiAgLy8gQ291bnQgb3BlbmluZyAnWycgcnVuLCBleHRlbmQgdGhlICddJyBydW4sIGFuZCByZXF1aXJlICcoJyByaWdodCBhZnRlciB0aGUgZnVsbCAnXScgcnVuXG4gIHByaXZhdGUgc3RhdGljIGV4dGVuZENsb3NpbmdSdW5BbmRSZXF1aXJlUGFyZW4oXG4gICAgc291cmNlOiBzdHJpbmcsXG4gICAgYWJzU3RhcnQ6IG51bWJlcixcbiAgICBhZnRlckZpcnN0Q2xvc2U6IG51bWJlclxuICApOiB7IG9wZW5pbmdSdW5Db3VudDogbnVtYmVyOyBjbG9zaW5nUnVuQ291bnQ6IG51bWJlcjsgYWZ0ZXJPcGVuUGFyZW46IG51bWJlciB9IHwgbnVsbCB7XG4gICAgY29uc3QgbiA9IHNvdXJjZS5sZW5ndGg7XG5cbiAgICAvLyBDb3VudCBvcGVuaW5nICdbJyBydW4gKGUuZy4sICdbW1snKVxuICAgIGxldCBvcGVuaW5nUnVuQ291bnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSBhYnNTdGFydDsgaSA8IG4gJiYgc291cmNlW2ldID09PSAnWyc7IGkrKykge1xuICAgICAgb3BlbmluZ1J1bkNvdW50Kys7XG4gICAgfVxuXG4gICAgLy8gRXh0ZW5kIGNsb3NpbmcgJ10nIHJ1biBmb3J3YXJkIGZyb20gdGhlIGZpcnN0IG9uZVxuICAgIGxldCBjbG9zaW5nUnVuQ291bnQgPSAxO1xuICAgIGxldCBhZnRlckNsb3NpbmdSdW4gPSBhZnRlckZpcnN0Q2xvc2U7XG4gICAgd2hpbGUgKGFmdGVyQ2xvc2luZ1J1biA8IG4gJiYgc291cmNlW2FmdGVyQ2xvc2luZ1J1bl0gPT09ICddJykge1xuICAgICAgY2xvc2luZ1J1bkNvdW50Kys7XG4gICAgICBhZnRlckNsb3NpbmdSdW4rKztcbiAgICB9XG5cbiAgICByZXR1cm4geyBvcGVuaW5nUnVuQ291bnQsIGNsb3NpbmdSdW5Db3VudCwgYWZ0ZXJPcGVuUGFyZW46IGFmdGVyQ2xvc2luZ1J1biArIDEgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRSZWZlcmVuY2VVcmxUaXRsZVRhaWwodGFpbDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcG9zc2libGVUaXRsZSA9IHRhaWwudHJpbSgpO1xuICAgIC8vIEFjY2VwdCBleGFjdGx5IG9uZSBvZjogXCJ0aXRsZVwiLCAndGl0bGUnLCAodGl0bGUpIOKAlCBib3VuZGVkIGFuZCBzaW5nbGUtbGluZS5cbiAgICBpZiAoIXBvc3NpYmxlVGl0bGUgfHwgL15cIlteXCJcXHJcXG5dezAsMzAwfVwiJC8udGVzdChwb3NzaWJsZVRpdGxlKSB8fCAvXidbXidcXHJcXG5dezAsMzAwfSckLy50ZXN0KHBvc3NpYmxlVGl0bGUpIHx8IC9eXFwoW14pXFxyXFxuXXswLDMwMH1cXCkkLy50ZXN0KHBvc3NpYmxlVGl0bGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuICBwcml2YXRlIHN0YXRpYyBtYXRjaGVzUmVmZXJlbmNlVXJsRGVmKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIFNpbmdsZS1saW5lLCBwcmFnbWF0aWMgQ29tbW9uTWFyay1zdHlsZSByZWZlcmVuY2UgZGVmaW5pdGlvbiBlLmcuIFt0ZXh0XTogaHR0cDovL2V4YW1wbGUuY29tXG4gICAgY29uc3QgYmFzZVJlZmVyZW5jZVVybFBhdHRlcm4gPSAvXlsgXFx0XXswLDN9XFxbKFteXFxdXXsxLDEwMH0pXFxdOlsgXFx0XSo8PyhbXlxccz5dezEsMjA0OH0pPj9bIFxcdF0qKFteIFxcdFxcclxcbl0uKik/JC9tO1xuXG4gICAgY29uc3QgbWFpblJlZ0V4ID0gYmFzZVJlZmVyZW5jZVVybFBhdHRlcm4uZXhlYyhsaW5lKTtcbiAgICBpZiAoIW1haW5SZWdFeCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHRhaWwgPSBtYWluUmVnRXhbM10gPz8gXCJcIjtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkUmVmZXJlbmNlVXJsVGl0bGVUYWlsKHRhaWwpO1xuICB9XG59XG4iXX0=
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN4QixNQUFNLENBQVUsc0JBQXNCLEdBQW9CO1FBQ2hFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGNBQWM7S0FDNUMsQ0FBQztJQUNNLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxNQUFNLENBQUM7SUFDNUMsTUFBTSxDQUFVLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztJQUV0RCxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQW9CLEVBQUUsT0FBd0I7UUFDeEUsSUFDRSxTQUFTLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQyxTQUFTO1lBQ2pELHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN0RixDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDekMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsa0JB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Q0FBQztJQUdPLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFZO1FBQ2hELCtGQUErRjtRQUMvRixNQUFNLHVCQUF1QixHQUFHLGlGQUFpRixDQUFDO1FBRWxILE1BQU0sU0FBUyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzdCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FqTFUscUJBQXFCO2dFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCOztpRkFBckIscUJBQXFCO2NBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9maWVsZC10eXBlLWVudW0ubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX1ZBTElEQVRFRF9UWVBFUzogRmllbGRUeXBlRW51bVtdID0gW1xuICAgICdEYXRlJywgJ01vbmV5R0JQJywgJ0xhYmVsJywgJ0p1ZGljaWFsVXNlcidcbiAgXTtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9JTlBVVF9URVhUID0gJ3RleHQnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lOUFVUX1RFWFRBUkVBID0gJ3RleHRBcmVhcyc7XG5cbiAgcHVibGljIHN0YXRpYyBhZGRWYWxpZGF0b3JzKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIGlmIChcbiAgICAgIGNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09IENvbnN0YW50cy5NQU5EQVRPUlkgJiZcbiAgICAgIEZvcm1WYWxpZGF0b3JzU2VydmljZS5DVVNUT01fVkFMSURBVEVEX1RZUEVTLmluZGV4T2YoY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSkgPT09IC0xXG4gICAgKSB7XG4gICAgICBjb25zdCB2YWxpZGF0b3JzID0gW1ZhbGlkYXRvcnMucmVxdWlyZWRdO1xuICAgICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdUZXh0Jykge1xuICAgICAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5tYXJrRG93blBhdHRlcm5WYWxpZGF0b3IoKSk7XG4gICAgICAgIGlmIChjYXNlRmllbGQuZmllbGRfdHlwZS5yZWd1bGFyX2V4cHJlc3Npb24pIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKGNhc2VGaWVsZC5maWVsZF90eXBlLnJlZ3VsYXJfZXhwcmVzc2lvbikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLmVtcHR5VmFsaWRhdG9yKCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYXNlRmllbGQuZmllbGRfdHlwZS5taW4gJiYgKHR5cGVvZiBjYXNlRmllbGQuZmllbGRfdHlwZS5taW4gPT09ICdudW1iZXInKSkge1xuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aChjYXNlRmllbGQuZmllbGRfdHlwZS5taW4pKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4ICYmICh0eXBlb2YgY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4ID09PSAnbnVtYmVyJykpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4KSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdUZXh0QXJlYScpIHtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKHRoaXMuZW1wdHlWYWxpZGF0b3IoKSk7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLm1hcmtEb3duUGF0dGVyblZhbGlkYXRvcigpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRyb2wudmFsaWRhdG9yKSB7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChjb250cm9sLnZhbGlkYXRvcik7XG4gICAgICB9XG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgfSBlbHNlIGlmIChjYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSAnT1BUSU9OQUwnICYmIChjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnVGV4dCcgfHwgY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ1RleHRBcmVhJylcbiAgICAgIHx8IChjYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSAnQ09NUExFWCcgJiYgY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSkge1xuICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMubWFya0Rvd25QYXR0ZXJuVmFsaWRhdG9yKCkpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250cm9sO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbXB0eVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGlmIChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB7IHJlcXVpcmVkOiB7fSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBtYXJrRG93blBhdHRlcm5WYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIC8vIE1hdGNoZXM6IFt0ZXh0XSh1cmwpLCAhW2FsdF0odXJsKSwgPGltZyAuLi4+LCA8YSAuLi4+Li4uPC9hPlxuICAgIGNvbnN0IGlubGluZU1hcmtkb3duUGF0dGVybiA9IC8oPzohP1xcW1teXFxdXXswLDUwMH1cXF1cXChbXildezAsNTAwfVxcKXw8KD86aW1nXFxiW14+XXswLDUwMH0+fGFcXGJbXj5dezAsNTAwfT5bXFxzXFxTXSo/PFxcL2E+KSkvaTtcblxuICAgIC8vIE1hdGNoZXM6IFt0ZXh0XVtpZF0sICFbYWx0XVtpZF0sIGFuZCB0aGUgY29sbGFwc2VkIGZvcm0gW3RleHRdW11cbiAgICBjb25zdCByZWZlcmVuY2VCb3hQYXR0ZXJuID0gLyghKT9cXFsoKD86W15bXFxdXFxcXF18XFxcXC4pezAsNTAwfSlcXF1cXHMqXFxbKFteXFxdXXswLDEwMH0pXFxdLztcblxuICAgIC8vIE1hdGNoZXM6IGF1dG9saW5rcyBzdWNoIGFzIDxodHRwOi8vZXhhbXBsZS5jb20+XG4gICAgY29uc3QgYXV0b2xpbmtQYXR0ZXJuID0gLzwoPzpbQS1aYS16XVtBLVphLXowLTkrLi1dKjpbXiA8Plxcbl0qfFtBLVphLXowLTkuISMkJSYnKisvPT9eX2B7fH1+LV0rQFtBLVphLXowLTktXSsoPzpcXC5bQS1aYS16MC05LV0rKSspPi87XG5cbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCkudHJpbSgpO1xuICAgICAgcmV0dXJuICh2YWx1ZSAmJiAoaW5saW5lTWFya2Rvd25QYXR0ZXJuLnRlc3QodmFsdWUpIHx8IHJlZmVyZW5jZUJveFBhdHRlcm4udGVzdCh2YWx1ZSkgfHwgdGhpcy5tYXRjaGVzUmVmZXJlbmNlVXJsRGVmKHZhbHVlKSB8fCBhdXRvbGlua1BhdHRlcm4udGVzdCh2YWx1ZSkgfHwgdGhpcy5oYXNNdWx0aUJyYWNrZXQodmFsdWUgYXMgc3RyaW5nKSkpID8geyBtYXJrRG93blBhdHRlcm46IHt9IH0gOiBudWxsO1xuICAgIH07XG4gIH1cblxuICAvLyBUT0RPOiBTdHJpcCB0aGlzIG91dCBhcyBpdCdzIG9ubHkgaGVyZSBmb3IgdGhlIG1vbWVudCBiZWNhdXNlXG4gIC8vIHRoZSBzZXJ2aWNlIGlzIGJlaW5nIGluamVjdGVkIGFsbCBvdmVyIHRoZSBwbGFjZSBidXQgaXQgZG9lc24ndFxuICAvLyBuZWVkIHRvIGJlIGFzIEZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzIGlzIHBlcmZlY3RseVxuICAvLyBoYXBweSBiZWluZyBzdGF0aWMuXG4gIHB1YmxpYyBhZGRWYWxpZGF0b3JzKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBGb3JtVmFsaWRhdG9yc1NlcnZpY2UuYWRkVmFsaWRhdG9ycyhjYXNlRmllbGQsIGNvbnRyb2wpO1xuICB9XG5cbiAgcHVibGljIGFkZE1hcmtEb3duVmFsaWRhdG9ycyhmb3JtR3JvdXA6IEFic3RyYWN0Q29udHJvbCwgY29udHJvbFBhdGg6IHN0cmluZyk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoY29udHJvbFBhdGgpO1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLm1hcmtEb3duUGF0dGVyblZhbGlkYXRvcigpKTtcbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgICByZXR1cm4gY29udHJvbDtcbiAgfVxuXG4gIC8vIENoZWNrIGZvciBtdWx0aS1icmFja2V0IG1hcmtkb3duIGxpbmtzIGFuZCB2YWxpZGF0ZSBkZXN0aW5hdGlvbiBVUkxcbiAgcHJpdmF0ZSBzdGF0aWMgaGFzTXVsdGlCcmFja2V0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcblxuICAgIC8vIFNvbmFyLWZyaWVuZGx5IGRldGVjdG9yOiBvcGVuaW5nLXJ1biArIHRleHQgKyBmaXJzdCBjbG9zaW5nICddJ1xuICAgIGNvbnN0IG9wZW5pbmdUZXh0Q2xvc2VQYXR0ZXJuID0gL1xcW3sxLDEwfVteW1xcXVxcbl17MSw2MH1cXF0vO1xuXG4gICAgLy8gQ2FuIGFkZCBhbiBhZGRpdGlvbmFsIFJlZ0V4IGZvciBhZGRpdGlvbmFsIFVSTCB2YWxpZGF0aW9uIHJ1bGVzIGlmIG5lZWRlZCBoZXJlXG5cbiAgICBsZXQgc2NhbkluZGV4ID0gMDtcbiAgICBjb25zdCB0b3RhbExlbmd0aCA9IHZhbHVlLmxlbmd0aDtcblxuICAgIHdoaWxlIChzY2FuSW5kZXggPCB0b3RhbExlbmd0aCkge1xuICAgICAgY29uc3Qgc2VnID0gdGhpcy5maW5kT3BlbmluZ1RleHRDbG9zZSh2YWx1ZSwgc2NhbkluZGV4LCBvcGVuaW5nVGV4dENsb3NlUGF0dGVybik7XG4gICAgICBpZiAoIXNlZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIG5vIGNhbmRpZGF0ZSAtPiBubyBtYXRjaFxuICAgICAgfVxuXG4gICAgICBjb25zdCBydW5zID0gdGhpcy5leHRlbmRDbG9zaW5nUnVuQW5kUmVxdWlyZVBhcmVuKHZhbHVlLCBzZWcuYWJzU3RhcnQsIHNlZy5hZnRlckZpcnN0Q2xvc2UpO1xuICAgICAgLy8gaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBvcGVuaW5nICdbJyBhbmQgdGhlcmUgaXMgYXQgbGVhc3QgYSBtYXRjaGluZyBudW1iZXIgb2YgY2xvc2luZyAnXSdcbiAgICAgIGlmIChydW5zICYmIHJ1bnMub3BlbmluZ1J1bkNvdW50ID4gMSAmJiBydW5zLm9wZW5pbmdSdW5Db3VudCA9PT0gcnVucy5jbG9zaW5nUnVuQ291bnQpIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgd2VyZSBhZGRpdGlvbmFsIHZhbGlkYXRpb24gcnVsZXMsIHRoZXkgd291bGQgYmUgYXBwbGllZCBoZXJlXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBBZHZhbmNlIHRvIGF2b2lkIHN0YWxsaW5nIG9uIG92ZXJsYXBzXG4gICAgICBzY2FuSW5kZXggPSBzZWcuYWJzU3RhcnQgKyAxO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBGaW5kIG9wZW5pbmcgJ1snIHJ1biwgdGV4dCwgYW5kIGZpcnN0IGNsb3NpbmcgJ10nXG4gIHByaXZhdGUgc3RhdGljIGZpbmRPcGVuaW5nVGV4dENsb3NlKFxuICAgIHNvdXJjZTogc3RyaW5nLFxuICAgIGZyb21JbmRleDogbnVtYmVyLFxuICAgIHBhdHRlcm46IFJlZ0V4cFxuICApOiB7IGFic1N0YXJ0OiBudW1iZXI7IGFmdGVyRmlyc3RDbG9zZTogbnVtYmVyIH0gfCBudWxsIHtcbiAgICBjb25zdCBzbGljZSA9IHNvdXJjZS5zbGljZShmcm9tSW5kZXgpO1xuICAgIGNvbnN0IG1hdGNoID0gcGF0dGVybi5leGVjKHNsaWNlKTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgYWJzU3RhcnQgPSBmcm9tSW5kZXggKyBtYXRjaC5pbmRleDtcbiAgICBjb25zdCBhZnRlckZpcnN0Q2xvc2UgPSBhYnNTdGFydCArIG1hdGNoWzBdLmxlbmd0aDsgLy8gaW5kZXgganVzdCBhZnRlciB0aGUgZmlyc3QgJ10nXG4gICAgcmV0dXJuIHsgYWJzU3RhcnQsIGFmdGVyRmlyc3RDbG9zZSB9O1xuICB9XG5cbiAgLy8gQ291bnQgb3BlbmluZyAnWycgcnVuLCBleHRlbmQgdGhlICddJyBydW4sIGFuZCByZXF1aXJlICcoJyByaWdodCBhZnRlciB0aGUgZnVsbCAnXScgcnVuXG4gIHByaXZhdGUgc3RhdGljIGV4dGVuZENsb3NpbmdSdW5BbmRSZXF1aXJlUGFyZW4oXG4gICAgc291cmNlOiBzdHJpbmcsXG4gICAgYWJzU3RhcnQ6IG51bWJlcixcbiAgICBhZnRlckZpcnN0Q2xvc2U6IG51bWJlclxuICApOiB7IG9wZW5pbmdSdW5Db3VudDogbnVtYmVyOyBjbG9zaW5nUnVuQ291bnQ6IG51bWJlcjsgYWZ0ZXJPcGVuUGFyZW46IG51bWJlciB9IHwgbnVsbCB7XG4gICAgY29uc3QgbiA9IHNvdXJjZS5sZW5ndGg7XG5cbiAgICAvLyBDb3VudCBvcGVuaW5nICdbJyBydW4gKGUuZy4sICdbW1snKVxuICAgIGxldCBvcGVuaW5nUnVuQ291bnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSBhYnNTdGFydDsgaSA8IG4gJiYgc291cmNlW2ldID09PSAnWyc7IGkrKykge1xuICAgICAgb3BlbmluZ1J1bkNvdW50Kys7XG4gICAgfVxuXG4gICAgLy8gRXh0ZW5kIGNsb3NpbmcgJ10nIHJ1biBmb3J3YXJkIGZyb20gdGhlIGZpcnN0IG9uZVxuICAgIGxldCBjbG9zaW5nUnVuQ291bnQgPSAxO1xuICAgIGxldCBhZnRlckNsb3NpbmdSdW4gPSBhZnRlckZpcnN0Q2xvc2U7XG4gICAgd2hpbGUgKGFmdGVyQ2xvc2luZ1J1biA8IG4gJiYgc291cmNlW2FmdGVyQ2xvc2luZ1J1bl0gPT09ICddJykge1xuICAgICAgY2xvc2luZ1J1bkNvdW50Kys7XG4gICAgICBhZnRlckNsb3NpbmdSdW4rKztcbiAgICB9XG5cbiAgICByZXR1cm4geyBvcGVuaW5nUnVuQ291bnQsIGNsb3NpbmdSdW5Db3VudCwgYWZ0ZXJPcGVuUGFyZW46IGFmdGVyQ2xvc2luZ1J1biArIDEgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRSZWZlcmVuY2VVcmxUaXRsZVRhaWwodGFpbDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcG9zc2libGVUaXRsZSA9IHRhaWwudHJpbSgpO1xuICAgIC8vIEFjY2VwdCBleGFjdGx5IG9uZSBvZjogXCJ0aXRsZVwiLCAndGl0bGUnLCAodGl0bGUpIOKAlCBib3VuZGVkIGFuZCBzaW5nbGUtbGluZS5cbiAgICBpZiAoIXBvc3NpYmxlVGl0bGUgfHwgL15cIlteXCJcXHJcXG5dezAsMzAwfVwiJC8udGVzdChwb3NzaWJsZVRpdGxlKSB8fCAvXidbXidcXHJcXG5dezAsMzAwfSckLy50ZXN0KHBvc3NpYmxlVGl0bGUpIHx8IC9eXFwoW14pXFxyXFxuXXswLDMwMH1cXCkkLy50ZXN0KHBvc3NpYmxlVGl0bGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuICBwcml2YXRlIHN0YXRpYyBtYXRjaGVzUmVmZXJlbmNlVXJsRGVmKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIFNpbmdsZS1saW5lLCBwcmFnbWF0aWMgQ29tbW9uTWFyay1zdHlsZSByZWZlcmVuY2UgZGVmaW5pdGlvbiBlLmcuIFt0ZXh0XTogaHR0cDovL2V4YW1wbGUuY29tXG4gICAgY29uc3QgYmFzZVJlZmVyZW5jZVVybFBhdHRlcm4gPSAvXlsgXFx0XXswLDN9XFxbKFteXFxdXXsxLDEwMH0pXFxdOlsgXFx0XSo8PyhbXlxccz5dezEsMjA0OH0pPj9bIFxcdF0qKFteIFxcdFxcclxcbl0uKik/JC9tO1xuXG4gICAgY29uc3QgbWFpblJlZ0V4ID0gYmFzZVJlZmVyZW5jZVVybFBhdHRlcm4uZXhlYyhsaW5lKTtcbiAgICBpZiAoIW1haW5SZWdFeCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHRhaWwgPSBtYWluUmVnRXhbM10gPz8gXCJcIjtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkUmVmZXJlbmNlVXJsVGl0bGVUYWlsKHRhaWwpO1xuICB9XG59XG4iXX0=
|
|
@@ -5132,7 +5132,8 @@ class FormValidatorsService {
|
|
|
5132
5132
|
return false; // no candidate -> no match
|
|
5133
5133
|
}
|
|
5134
5134
|
const runs = this.extendClosingRunAndRequireParen(value, seg.absStart, seg.afterFirstClose);
|
|
5135
|
-
if
|
|
5135
|
+
// if there is more than one opening '[' and there is at least a matching number of closing ']'
|
|
5136
|
+
if (runs && runs.openingRunCount > 1 && runs.openingRunCount === runs.closingRunCount) {
|
|
5136
5137
|
// If there were additional validation rules, they would be applied here
|
|
5137
5138
|
return true;
|
|
5138
5139
|
}
|