@dataform/core
Advanced tools
Comparing version 1.3.2 to 1.3.3
@@ -40,3 +40,3 @@ (function (factory) { | ||
newDependencies.forEach((d) => { | ||
const depName = utils.appendSuffixToSchema(d, this.session.getSuffixWithUnderscore()); | ||
const depName = utils.stringifyResolvable(d); | ||
if (this.proto.dependencies.indexOf(depName) < 0) { | ||
@@ -62,5 +62,3 @@ this.proto.dependencies.push(depName); | ||
schema(schema) { | ||
if (schema !== this.session.config.assertionSchema) { | ||
this.session.setNameAndTarget(this.proto, this.proto.target.name, schema); | ||
} | ||
this.session.setNameAndTarget(this.proto, this.proto.target.name, schema); | ||
return this; | ||
@@ -107,2 +105,2 @@ } | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9hc3NlcnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFDQSw4Q0FBOEM7SUFDOUMsNkNBQTRDO0lBVzVDLE1BQWEsU0FBUztRQUF0QjtZQUNTLFVBQUssR0FBd0IsaUJBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFzRWxFLENBQUM7UUE5RFEsTUFBTSxDQUFDLE1BQWU7WUFDM0IsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN4QztZQUNELElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtZQUNELElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdEM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sS0FBSyxDQUFDLEtBQTJCO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sWUFBWSxDQUFDLEtBQWdDO1lBQ2xELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFFLEtBQXNCLENBQUM7WUFDdEYsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQWEsRUFB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Q0FBQyxJQUF1QjtZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxLQUFLLENBQUksS0FBc0I7WUFDcEMsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUU7Z0JBQy9CLE9BQVEsS0FBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxDQUFDO0tBQ0Y7SUFsQ0QsNENBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb2x2YWJsZSwgU2Vzc2lvbiB9IGZyb20gXCJAZGF0YWZvcm0vY29yZS9zZXNzaW9uXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvdXRpbHNcIjtcbmltcG9ydCB7IGRhdGFmb3JtIH0gZnJvbSBcIkBkYXRhZm9ybS9wcm90b3NcIjtcblxuZXhwb3J0IHR5cGUgQUNvbnRleHRhYmxlPFQ+ID0gVCB8ICgoY3R4OiBBc3NlcnRpb25Db250ZXh0KSA9PiBUKTtcblxuZXhwb3J0IGludGVyZmFjZSBBQ29uZmlnIHtcbiAgZGVwZW5kZW5jaWVzPzogUmVzb2x2YWJsZSB8IFJlc29sdmFibGVbXTtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc2NoZW1hPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQXNzZXJ0aW9uIHtcbiAgcHVibGljIHByb3RvOiBkYXRhZm9ybS5JQXNzZXJ0aW9uID0gZGF0YWZvcm0uQXNzZXJ0aW9uLmNyZWF0ZSgpO1xuXG4gIC8vIEhvbGQgYSByZWZlcmVuY2UgdG8gdGhlIFNlc3Npb24gaW5zdGFuY2UuXG4gIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uO1xuXG4gIC8vIFdlIGRlbGF5IGNvbnRleHRpZmljYXRpb24gdW50aWwgdGhlIGZpbmFsIGNvbXBpbGUgc3RlcCwgc28gaG9sZCB0aGVzZSBoZXJlIGZvciBub3cuXG4gIHByaXZhdGUgY29udGV4dGFibGVRdWVyeTogQUNvbnRleHRhYmxlPHN0cmluZz47XG5cbiAgcHVibGljIGNvbmZpZyhjb25maWc6IEFDb25maWcpIHtcbiAgICBpZiAoY29uZmlnLmRlcGVuZGVuY2llcykge1xuICAgICAgdGhpcy5kZXBlbmRlbmNpZXMoY29uZmlnLmRlcGVuZGVuY2llcyk7XG4gICAgfVxuICAgIGlmIChjb25maWcudGFncykge1xuICAgICAgdGhpcy50YWdzKGNvbmZpZy50YWdzKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5kZXNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbihjb25maWcuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLnNjaGVtYSkge1xuICAgICAgdGhpcy5zY2hlbWEoY29uZmlnLnNjaGVtYSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHF1ZXJ5KHF1ZXJ5OiBBQ29udGV4dGFibGU8c3RyaW5nPikge1xuICAgIHRoaXMuY29udGV4dGFibGVRdWVyeSA9IHF1ZXJ5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyh2YWx1ZTogUmVzb2x2YWJsZSB8IFJlc29sdmFibGVbXSkge1xuICAgIGNvbnN0IG5ld0RlcGVuZGVuY2llcyA9IHV0aWxzLmlzUmVzb2x2YWJsZSh2YWx1ZSkgPyBbdmFsdWVdIDogKHZhbHVlIGFzIFJlc29sdmFibGVbXSk7XG4gICAgbmV3RGVwZW5kZW5jaWVzLmZvckVhY2goKGQ6IFJlc29sdmFibGUpID0+IHtcbiAgICAgIGNvbnN0IGRlcE5hbWUgPSB1dGlscy5hcHBlbmRTdWZmaXhUb1NjaGVtYShkLCB0aGlzLnNlc3Npb24uZ2V0U3VmZml4V2l0aFVuZGVyc2NvcmUoKSk7XG4gICAgICBpZiAodGhpcy5wcm90by5kZXBlbmRlbmNpZXMuaW5kZXhPZihkZXBOYW1lKSA8IDApIHtcbiAgICAgICAgdGhpcy5wcm90by5kZXBlbmRlbmNpZXMucHVzaChkZXBOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB0YWdzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGNvbnN0IG5ld1RhZ3MgPSB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyBbdmFsdWVdIDogdmFsdWU7XG4gICAgbmV3VGFncy5mb3JFYWNoKHQgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvdG8udGFncy5pbmRleE9mKHQpIDwgMCkge1xuICAgICAgICB0aGlzLnByb3RvLnRhZ3MucHVzaCh0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yID0geyBkZXNjcmlwdGlvbiB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNjaGVtYShzY2hlbWE6IHN0cmluZykge1xuICAgIGlmIChzY2hlbWEgIT09IHRoaXMuc2Vzc2lvbi5jb25maWcuYXNzZXJ0aW9uU2NoZW1hKSB7XG4gICAgICB0aGlzLnNlc3Npb24uc2V0TmFtZUFuZFRhcmdldCh0aGlzLnByb3RvLCB0aGlzLnByb3RvLnRhcmdldC5uYW1lLCBzY2hlbWEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb21waWxlKCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXNzZXJ0aW9uQ29udGV4dCh0aGlzKTtcblxuICAgIGNvbnN0IGFwcGxpZWRRdWVyeSA9IGNvbnRleHQuYXBwbHkodGhpcy5jb250ZXh0YWJsZVF1ZXJ5KTtcbiAgICB0aGlzLnByb3RvLnF1ZXJ5ID0gYXBwbGllZFF1ZXJ5O1xuXG4gICAgcmV0dXJuIHRoaXMucHJvdG87XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFzc2VydGlvbkNvbnRleHQge1xuICBwcml2YXRlIGFzc2VydGlvbj86IEFzc2VydGlvbjtcblxuICBjb25zdHJ1Y3Rvcihhc3NlcnRpb246IEFzc2VydGlvbikge1xuICAgIHRoaXMuYXNzZXJ0aW9uID0gYXNzZXJ0aW9uO1xuICB9XG5cbiAgcHVibGljIHJlZihyZWY6IFJlc29sdmFibGUpIHtcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHR5cGVvZiByZWYgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJlZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHJlZiA6IGAke3JlZi5zY2hlbWF9LiR7cmVmLm5hbWV9YDtcbiAgICB0aGlzLmFzc2VydGlvbi5kZXBlbmRlbmNpZXMobmFtZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUocmVmOiBSZXNvbHZhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMuYXNzZXJ0aW9uLnNlc3Npb24ucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyhuYW1lOiBSZXNvbHZhYmxlIHwgUmVzb2x2YWJsZVtdKSB7XG4gICAgdGhpcy5hc3NlcnRpb24uZGVwZW5kZW5jaWVzKG5hbWUpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG4gIHB1YmxpYyB0YWdzKG5hbWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5hc3NlcnRpb24udGFncyhuYW1lKTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseTxUPih2YWx1ZTogQUNvbnRleHRhYmxlPFQ+KTogVCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gKHZhbHVlIGFzIGFueSkodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9hc3NlcnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFDQSw4Q0FBOEM7SUFDOUMsNkNBQTRDO0lBVzVDLE1BQWEsU0FBUztRQUF0QjtZQUNTLFVBQUssR0FBd0IsaUJBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFvRWxFLENBQUM7UUE1RFEsTUFBTSxDQUFDLE1BQWU7WUFDM0IsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN4QztZQUNELElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtZQUNELElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdEM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sS0FBSyxDQUFDLEtBQTJCO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sWUFBWSxDQUFDLEtBQWdDO1lBQ2xELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFFLEtBQXNCLENBQUM7WUFDdEYsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQWEsRUFB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QUFJLEtBQXNCO1lBQ3BDLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO2dCQUMvQixPQUFRLEtBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQztLQUNGO0lBbENELDRDQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc29sdmFibGUsIFNlc3Npb24gfSBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvc2Vzc2lvblwiO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3V0aWxzXCI7XG5pbXBvcnQgeyBkYXRhZm9ybSB9IGZyb20gXCJAZGF0YWZvcm0vcHJvdG9zXCI7XG5cbmV4cG9ydCB0eXBlIEFDb250ZXh0YWJsZTxUPiA9IFQgfCAoKGN0eDogQXNzZXJ0aW9uQ29udGV4dCkgPT4gVCk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUNvbmZpZyB7XG4gIGRlcGVuZGVuY2llcz86IFJlc29sdmFibGUgfCBSZXNvbHZhYmxlW107XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHNjaGVtYT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEFzc2VydGlvbiB7XG4gIHB1YmxpYyBwcm90bzogZGF0YWZvcm0uSUFzc2VydGlvbiA9IGRhdGFmb3JtLkFzc2VydGlvbi5jcmVhdGUoKTtcblxuICAvLyBIb2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBTZXNzaW9uIGluc3RhbmNlLlxuICBwdWJsaWMgc2Vzc2lvbjogU2Vzc2lvbjtcblxuICAvLyBXZSBkZWxheSBjb250ZXh0aWZpY2F0aW9uIHVudGlsIHRoZSBmaW5hbCBjb21waWxlIHN0ZXAsIHNvIGhvbGQgdGhlc2UgaGVyZSBmb3Igbm93LlxuICBwcml2YXRlIGNvbnRleHRhYmxlUXVlcnk6IEFDb250ZXh0YWJsZTxzdHJpbmc+O1xuXG4gIHB1YmxpYyBjb25maWcoY29uZmlnOiBBQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHRoaXMuZGVwZW5kZW5jaWVzKGNvbmZpZy5kZXBlbmRlbmNpZXMpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLnRhZ3MpIHtcbiAgICAgIHRoaXMudGFncyhjb25maWcudGFncyk7XG4gICAgfVxuICAgIGlmIChjb25maWcuZGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24oY29uZmlnLmRlc2NyaXB0aW9uKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5zY2hlbWEpIHtcbiAgICAgIHRoaXMuc2NoZW1hKGNvbmZpZy5zY2hlbWEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBxdWVyeShxdWVyeTogQUNvbnRleHRhYmxlPHN0cmluZz4pIHtcbiAgICB0aGlzLmNvbnRleHRhYmxlUXVlcnkgPSBxdWVyeTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkZXBlbmRlbmNpZXModmFsdWU6IFJlc29sdmFibGUgfCBSZXNvbHZhYmxlW10pIHtcbiAgICBjb25zdCBuZXdEZXBlbmRlbmNpZXMgPSB1dGlscy5pc1Jlc29sdmFibGUodmFsdWUpID8gW3ZhbHVlXSA6ICh2YWx1ZSBhcyBSZXNvbHZhYmxlW10pO1xuICAgIG5ld0RlcGVuZGVuY2llcy5mb3JFYWNoKChkOiBSZXNvbHZhYmxlKSA9PiB7XG4gICAgICBjb25zdCBkZXBOYW1lID0gdXRpbHMuc3RyaW5naWZ5UmVzb2x2YWJsZShkKTtcbiAgICAgIGlmICh0aGlzLnByb3RvLmRlcGVuZGVuY2llcy5pbmRleE9mKGRlcE5hbWUpIDwgMCkge1xuICAgICAgICB0aGlzLnByb3RvLmRlcGVuZGVuY2llcy5wdXNoKGRlcE5hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHRhZ3ModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbmV3VGFncyA9IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IFt2YWx1ZV0gOiB2YWx1ZTtcbiAgICBuZXdUYWdzLmZvckVhY2godCA9PiB7XG4gICAgICBpZiAodGhpcy5wcm90by50YWdzLmluZGV4T2YodCkgPCAwKSB7XG4gICAgICAgIHRoaXMucHJvdG8udGFncy5wdXNoKHQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgICB0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IgPSB7IGRlc2NyaXB0aW9uIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2NoZW1hKHNjaGVtYTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXNzaW9uLnNldE5hbWVBbmRUYXJnZXQodGhpcy5wcm90bywgdGhpcy5wcm90by50YXJnZXQubmFtZSwgc2NoZW1hKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb21waWxlKCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXNzZXJ0aW9uQ29udGV4dCh0aGlzKTtcblxuICAgIGNvbnN0IGFwcGxpZWRRdWVyeSA9IGNvbnRleHQuYXBwbHkodGhpcy5jb250ZXh0YWJsZVF1ZXJ5KTtcbiAgICB0aGlzLnByb3RvLnF1ZXJ5ID0gYXBwbGllZFF1ZXJ5O1xuXG4gICAgcmV0dXJuIHRoaXMucHJvdG87XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFzc2VydGlvbkNvbnRleHQge1xuICBwcml2YXRlIGFzc2VydGlvbj86IEFzc2VydGlvbjtcblxuICBjb25zdHJ1Y3Rvcihhc3NlcnRpb246IEFzc2VydGlvbikge1xuICAgIHRoaXMuYXNzZXJ0aW9uID0gYXNzZXJ0aW9uO1xuICB9XG5cbiAgcHVibGljIHJlZihyZWY6IFJlc29sdmFibGUpIHtcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHR5cGVvZiByZWYgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJlZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHJlZiA6IGAke3JlZi5zY2hlbWF9LiR7cmVmLm5hbWV9YDtcbiAgICB0aGlzLmFzc2VydGlvbi5kZXBlbmRlbmNpZXMobmFtZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUocmVmOiBSZXNvbHZhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMuYXNzZXJ0aW9uLnNlc3Npb24ucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyhuYW1lOiBSZXNvbHZhYmxlIHwgUmVzb2x2YWJsZVtdKSB7XG4gICAgdGhpcy5hc3NlcnRpb24uZGVwZW5kZW5jaWVzKG5hbWUpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG4gIHB1YmxpYyB0YWdzKG5hbWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5hc3NlcnRpb24udGFncyhuYW1lKTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseTxUPih2YWx1ZTogQUNvbnRleHRhYmxlPFQ+KTogVCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gKHZhbHVlIGFzIGFueSkodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
@@ -47,3 +47,3 @@ (function (factory) { | ||
newDependencies.forEach((d) => { | ||
const depName = utils.appendSuffixToSchema(d, this.session.getSuffixWithUnderscore()); | ||
const depName = utils.stringifyResolvable(d); | ||
if (this.proto.dependencies.indexOf(depName) < 0) { | ||
@@ -83,5 +83,3 @@ this.proto.dependencies.push(depName); | ||
schema(schema) { | ||
if (schema !== this.session.config.defaultSchema) { | ||
this.session.setNameAndTarget(this.proto, this.proto.target.name, schema); | ||
} | ||
this.session.setNameAndTarget(this.proto, this.proto.target.name, schema); | ||
return this; | ||
@@ -147,2 +145,2 @@ } | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9vcGVyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBQSxvREFLZ0M7SUFDaEMsOENBQThDO0lBQzlDLDZDQUE0QztJQWE1QyxNQUFhLFNBQVM7UUFBdEI7WUFDUyxVQUFLLEdBQXdCLGlCQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBMEdsRSxDQUFDO1FBbEdRLE1BQU0sQ0FBQyxNQUFlO1lBQzNCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO2dCQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN0QztZQUNELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUI7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sT0FBTyxDQUFDLE9BQXdDO1lBQ3JELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUM7WUFDbEMsT0FB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TUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1RixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVNLE9BQU8sQ0FBQyxHQUFlO1lBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFTSxZQUFZLENBQUMsSUFBK0I7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sSUFBSSxDQUFDLElBQXVCO1lBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLFNBQVMsQ0FBQyxTQUFrQjtZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxLQUFLLENBQUksS0FBc0I7WUFDcEMsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUU7Z0JBQy9CLE9BQVEsS0FBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxDQUFDO0tBQ0Y7SUFuREQsNENBbURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUNvbHVtbnNEZXNjcmlwdG9yLFxuICBtYXBUb0NvbHVtblByb3RvQXJyYXksXG4gIFJlc29sdmFibGUsXG4gIFNlc3Npb25cbn0gZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3Nlc3Npb25cIjtcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCJAZGF0YWZvcm0vY29yZS91dGlsc1wiO1xuaW1wb3J0IHsgZGF0YWZvcm0gfSBmcm9tIFwiQGRhdGFmb3JtL3Byb3Rvc1wiO1xuXG5leHBvcnQgdHlwZSBPQ29udGV4dGFibGU8VD4gPSBUIHwgKChjdHg6IE9wZXJhdGlvbkNvbnRleHQpID0+IFQpO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9Db25maWcge1xuICBkZXBlbmRlbmNpZXM/OiBSZXNvbHZhYmxlIHwgUmVzb2x2YWJsZVtdO1xuICB0YWdzPzogc3RyaW5nW107XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjb2x1bW5zPzogSUNvbHVtbnNEZXNjcmlwdG9yO1xuICBoYXNPdXRwdXQ/OiBib29sZWFuO1xuICBzY2hlbWE/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBPcGVyYXRpb24ge1xuICBwdWJsaWMgcHJvdG86IGRhdGFmb3JtLklPcGVyYXRpb24gPSBkYXRhZm9ybS5PcGVyYXRpb24uY3JlYXRlKCk7XG5cbiAgLy8gSG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgU2Vzc2lvbiBpbnN0YW5jZS5cbiAgcHVibGljIHNlc3Npb246IFNlc3Npb247XG5cbiAgLy8gV2UgZGVsYXkgY29udGV4dGlmaWNhdGlvbiB1bnRpbCB0aGUgZmluYWwgY29tcGlsZSBzdGVwLCBzbyBob2xkIHRoZXNlIGhlcmUgZm9yIG5vdy5cbiAgcHJpdmF0ZSBjb250ZXh0YWJsZVF1ZXJpZXM6IE9Db250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT47XG5cbiAgcHVibGljIGNvbmZpZyhjb25maWc6IE9Db25maWcpIHtcbiAgICBpZiAoY29uZmlnLmRlcGVuZGVuY2llcykge1xuICAgICAgdGhpcy5kZXBlbmRlbmNpZXMoY29uZmlnLmRlcGVuZGVuY2llcyk7XG4gICAgfVxuICAgIGlmIChjb25maWcudGFncykge1xuICAgICAgdGhpcy50YWdzKGNvbmZpZy50YWdzKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5oYXNPdXRwdXQpIHtcbiAgICAgIHRoaXMuaGFzT3V0cHV0KGNvbmZpZy5oYXNPdXRwdXQpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uKGNvbmZpZy5kZXNjcmlwdGlvbik7XG4gICAgfVxuICAgIGlmIChjb25maWcuY29sdW1ucykge1xuICAgICAgdGhpcy5jb2x1bW5zKGNvbmZpZy5jb2x1bW5zKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5zY2hlbWEpIHtcbiAgICAgIHRoaXMuc2NoZW1hKGNvbmZpZy5zY2hlbWEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBxdWVyaWVzKHF1ZXJpZXM6IE9Db250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4pIHtcbiAgICB0aGlzLmNvbnRleHRhYmxlUXVlcmllcyA9IHF1ZXJpZXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVwZW5kZW5jaWVzKHZhbHVlOiBSZXNvbHZhYmxlIHwgUmVzb2x2YWJsZVtdKSB7XG4gICAgY29uc3QgbmV3RGVwZW5kZW5jaWVzID0gdXRpbHMuaXNSZXNvbHZhYmxlKHZhbHVlKSA/IFt2YWx1ZV0gOiAodmFsdWUgYXMgUmVzb2x2YWJsZVtdKTtcbiAgICBuZXdEZXBlbmRlbmNpZXMuZm9yRWFjaCgoZDogUmVzb2x2YWJsZSkgPT4ge1xuICAgICAgY29uc3QgZGVwTmFtZSA9IHV0aWxzLmFwcGVuZFN1ZmZpeFRvU2NoZW1hKGQsIHRoaXMuc2Vzc2lvbi5nZXRTdWZmaXhXaXRoVW5kZXJzY29yZSgpKTtcbiAgICAgIGlmICh0aGlzLnByb3RvLmRlcGVuZGVuY2llcy5pbmRleE9mKGRlcE5hbWUpIDwgMCkge1xuICAgICAgICB0aGlzLnByb3RvLmRlcGVuZGVuY2llcy5wdXNoKGRlcE5hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHRhZ3ModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbmV3VGFncyA9IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IFt2YWx1ZV0gOiB2YWx1ZTtcbiAgICBuZXdUYWdzLmZvckVhY2godCA9PiB7XG4gICAgICBpZiAodGhpcy5wcm90by50YWdzLmluZGV4T2YodCkgPCAwKSB7XG4gICAgICAgIHRoaXMucHJvdG8udGFncy5wdXNoKHQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGhhc091dHB1dChoYXNPdXRwdXQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnByb3RvLmhhc091dHB1dCA9IGhhc091dHB1dDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IpIHtcbiAgICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvciA9IHt9O1xuICAgIH1cbiAgICB0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb2x1bW5zKGNvbHVtbnM6IElDb2x1bW5zRGVzY3JpcHRvcikge1xuICAgIGlmICghdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yKSB7XG4gICAgICB0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yLmNvbHVtbnMgPSBtYXBUb0NvbHVtblByb3RvQXJyYXkoY29sdW1ucyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2NoZW1hKHNjaGVtYTogc3RyaW5nKSB7XG4gICAgaWYgKHNjaGVtYSAhPT0gdGhpcy5zZXNzaW9uLmNvbmZpZy5kZWZhdWx0U2NoZW1hKSB7XG4gICAgICB0aGlzLnNlc3Npb24uc2V0TmFtZUFuZFRhcmdldCh0aGlzLnByb3RvLCB0aGlzLnByb3RvLnRhcmdldC5uYW1lLCBzY2hlbWEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb21waWxlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvciAmJlxuICAgICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yLmNvbHVtbnMgJiZcbiAgICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvci5jb2x1bW5zLmxlbmd0aCA+IDAgJiZcbiAgICAgICF0aGlzLnByb3RvLmhhc091dHB1dFxuICAgICkge1xuICAgICAgdGhpcy5zZXNzaW9uLmNvbXBpbGVFcnJvcihcbiAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgIFwiQWN0aW9ucyBvZiB0eXBlICdvcGVyYXRpb25zJyBtYXkgb25seSBkZXNjcmliZSBjb2x1bW5zIGlmIHRoZXkgc3BlY2lmeSAnaGFzT3V0cHV0OiB0cnVlJy5cIlxuICAgICAgICApLFxuICAgICAgICB0aGlzLnByb3RvLmZpbGVOYW1lXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgT3BlcmF0aW9uQ29udGV4dCh0aGlzKTtcblxuICAgIGNvbnN0IGFwcGxpZWRRdWVyaWVzID0gY29udGV4dC5hcHBseSh0aGlzLmNvbnRleHRhYmxlUXVlcmllcyk7XG4gICAgdGhpcy5wcm90by5xdWVyaWVzID0gdHlwZW9mIGFwcGxpZWRRdWVyaWVzID09PSBcInN0cmluZ1wiID8gW2FwcGxpZWRRdWVyaWVzXSA6IGFwcGxpZWRRdWVyaWVzO1xuXG4gICAgcmV0dXJuIHRoaXMucHJvdG87XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvbkNvbnRleHQge1xuICBwcml2YXRlIG9wZXJhdGlvbj86IE9wZXJhdGlvbjtcblxuICBjb25zdHJ1Y3RvcihvcGVyYXRpb246IE9wZXJhdGlvbikge1xuICAgIHRoaXMub3BlcmF0aW9uID0gb3BlcmF0aW9uO1xuICB9XG5cbiAgcHVibGljIHNlbGYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlKHtcbiAgICAgIHNjaGVtYTogdGhpcy5vcGVyYXRpb24ucHJvdG8udGFyZ2V0LnNjaGVtYSxcbiAgICAgIG5hbWU6IHRoaXMub3BlcmF0aW9uLnByb3RvLnRhcmdldC5uYW1lXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbi5wcm90by50YXJnZXQubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyByZWYocmVmOiBSZXNvbHZhYmxlKSB7XG4gICAgY29uc3QgbmFtZSA9XG4gICAgICB0eXBlb2YgcmVmID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiByZWYgPT09IFwidW5kZWZpbmVkXCIgPyByZWYgOiBgJHtyZWYuc2NoZW1hfS4ke3JlZi5uYW1lfWA7XG4gICAgdGhpcy5vcGVyYXRpb24uZGVwZW5kZW5jaWVzKG5hbWUpO1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUocmVmKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlKHJlZjogUmVzb2x2YWJsZSkge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbi5zZXNzaW9uLnJlc29sdmUocmVmKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXBlbmRlbmNpZXMobmFtZTogUmVzb2x2YWJsZSB8IFJlc29sdmFibGVbXSkge1xuICAgIHRoaXMub3BlcmF0aW9uLmRlcGVuZGVuY2llcyhuYW1lKTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyB0YWdzKG5hbWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5vcGVyYXRpb24udGFncyhuYW1lKTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBoYXNPdXRwdXQoaGFzT3V0cHV0OiBib29sZWFuKSB7XG4gICAgdGhpcy5vcGVyYXRpb24uaGFzT3V0cHV0KGhhc091dHB1dCk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgYXBwbHk8VD4odmFsdWU6IE9Db250ZXh0YWJsZTxUPik6IFQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuICh2YWx1ZSBhcyBhbnkpKHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9vcGVyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBQSxvREFLZ0M7SUFDaEMsOENBQThDO0lBQzlDLDZDQUE0QztJQWE1QyxNQUFhLFNBQVM7UUFBdEI7WUFDUyxVQUFLLEdBQXdCLGlCQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBd0dsRSxDQUFDO1FBaEdRLE1BQU0sQ0FBQyxNQUFlO1lBQzNCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO2dCQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN0QztZQUNELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUI7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sT0FBTyxDQUFDLE9BQXdDO1lBQ3JELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUM7WUFDbEMsT0FB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QUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFTSxPQUFPLENBQUMsR0FBZTtZQUM1QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRU0sWUFBWSxDQUFDLElBQStCO1lBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLElBQUksQ0FBQyxJQUF1QjtZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxTQUFTLENBQUMsU0FBa0I7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sS0FBSyxDQUFJLEtBQXNCO1lBQ3BDLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO2dCQUMvQixPQUFRLEtBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQztLQUNGO0lBbkRELDRDQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElDb2x1bW5zRGVzY3JpcHRvcixcbiAgbWFwVG9Db2x1bW5Qcm90b0FycmF5LFxuICBSZXNvbHZhYmxlLFxuICBTZXNzaW9uXG59IGZyb20gXCJAZGF0YWZvcm0vY29yZS9zZXNzaW9uXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvdXRpbHNcIjtcbmltcG9ydCB7IGRhdGFmb3JtIH0gZnJvbSBcIkBkYXRhZm9ybS9wcm90b3NcIjtcblxuZXhwb3J0IHR5cGUgT0NvbnRleHRhYmxlPFQ+ID0gVCB8ICgoY3R4OiBPcGVyYXRpb25Db250ZXh0KSA9PiBUKTtcblxuZXhwb3J0IGludGVyZmFjZSBPQ29uZmlnIHtcbiAgZGVwZW5kZW5jaWVzPzogUmVzb2x2YWJsZSB8IFJlc29sdmFibGVbXTtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgY29sdW1ucz86IElDb2x1bW5zRGVzY3JpcHRvcjtcbiAgaGFzT3V0cHV0PzogYm9vbGVhbjtcbiAgc2NoZW1hPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgT3BlcmF0aW9uIHtcbiAgcHVibGljIHByb3RvOiBkYXRhZm9ybS5JT3BlcmF0aW9uID0gZGF0YWZvcm0uT3BlcmF0aW9uLmNyZWF0ZSgpO1xuXG4gIC8vIEhvbGQgYSByZWZlcmVuY2UgdG8gdGhlIFNlc3Npb24gaW5zdGFuY2UuXG4gIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uO1xuXG4gIC8vIFdlIGRlbGF5IGNvbnRleHRpZmljYXRpb24gdW50aWwgdGhlIGZpbmFsIGNvbXBpbGUgc3RlcCwgc28gaG9sZCB0aGVzZSBoZXJlIGZvciBub3cuXG4gIHByaXZhdGUgY29udGV4dGFibGVRdWVyaWVzOiBPQ29udGV4dGFibGU8c3RyaW5nIHwgc3RyaW5nW10+O1xuXG4gIHB1YmxpYyBjb25maWcoY29uZmlnOiBPQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHRoaXMuZGVwZW5kZW5jaWVzKGNvbmZpZy5kZXBlbmRlbmNpZXMpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLnRhZ3MpIHtcbiAgICAgIHRoaXMudGFncyhjb25maWcudGFncyk7XG4gICAgfVxuICAgIGlmIChjb25maWcuaGFzT3V0cHV0KSB7XG4gICAgICB0aGlzLmhhc091dHB1dChjb25maWcuaGFzT3V0cHV0KTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5kZXNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbihjb25maWcuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNvbHVtbnMpIHtcbiAgICAgIHRoaXMuY29sdW1ucyhjb25maWcuY29sdW1ucyk7XG4gICAgfVxuICAgIGlmIChjb25maWcuc2NoZW1hKSB7XG4gICAgICB0aGlzLnNjaGVtYShjb25maWcuc2NoZW1hKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgcXVlcmllcyhxdWVyaWVzOiBPQ29udGV4dGFibGU8c3RyaW5nIHwgc3RyaW5nW10+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZVF1ZXJpZXMgPSBxdWVyaWVzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyh2YWx1ZTogUmVzb2x2YWJsZSB8IFJlc29sdmFibGVbXSkge1xuICAgIGNvbnN0IG5ld0RlcGVuZGVuY2llcyA9IHV0aWxzLmlzUmVzb2x2YWJsZSh2YWx1ZSkgPyBbdmFsdWVdIDogKHZhbHVlIGFzIFJlc29sdmFibGVbXSk7XG4gICAgbmV3RGVwZW5kZW5jaWVzLmZvckVhY2goKGQ6IFJlc29sdmFibGUpID0+IHtcbiAgICAgIGNvbnN0IGRlcE5hbWUgPSB1dGlscy5zdHJpbmdpZnlSZXNvbHZhYmxlKGQpO1xuICAgICAgaWYgKHRoaXMucHJvdG8uZGVwZW5kZW5jaWVzLmluZGV4T2YoZGVwTmFtZSkgPCAwKSB7XG4gICAgICAgIHRoaXMucHJvdG8uZGVwZW5kZW5jaWVzLnB1c2goZGVwTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgdGFncyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zdCBuZXdUYWdzID0gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gW3ZhbHVlXSA6IHZhbHVlO1xuICAgIG5ld1RhZ3MuZm9yRWFjaCh0ID0+IHtcbiAgICAgIGlmICh0aGlzLnByb3RvLnRhZ3MuaW5kZXhPZih0KSA8IDApIHtcbiAgICAgICAgdGhpcy5wcm90by50YWdzLnB1c2godCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgaGFzT3V0cHV0KGhhc091dHB1dDogYm9vbGVhbikge1xuICAgIHRoaXMucHJvdG8uaGFzT3V0cHV0ID0gaGFzT3V0cHV0O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvcikge1xuICAgICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yID0ge307XG4gICAgfVxuICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvci5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGNvbHVtbnMoY29sdW1uczogSUNvbHVtbnNEZXNjcmlwdG9yKSB7XG4gICAgaWYgKCF0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IpIHtcbiAgICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvciA9IHt9O1xuICAgIH1cbiAgICB0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IuY29sdW1ucyA9IG1hcFRvQ29sdW1uUHJvdG9BcnJheShjb2x1bW5zKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzY2hlbWEoc2NoZW1hOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlc3Npb24uc2V0TmFtZUFuZFRhcmdldCh0aGlzLnByb3RvLCB0aGlzLnByb3RvLnRhcmdldC5uYW1lLCBzY2hlbWEpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGNvbXBpbGUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yICYmXG4gICAgICB0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IuY29sdW1ucyAmJlxuICAgICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yLmNvbHVtbnMubGVuZ3RoID4gMCAmJlxuICAgICAgIXRoaXMucHJvdG8uaGFzT3V0cHV0XG4gICAgKSB7XG4gICAgICB0aGlzLnNlc3Npb24uY29tcGlsZUVycm9yKFxuICAgICAgICBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJBY3Rpb25zIG9mIHR5cGUgJ29wZXJhdGlvbnMnIG1heSBvbmx5IGRlc2NyaWJlIGNvbHVtbnMgaWYgdGhleSBzcGVjaWZ5ICdoYXNPdXRwdXQ6IHRydWUnLlwiXG4gICAgICAgICksXG4gICAgICAgIHRoaXMucHJvdG8uZmlsZU5hbWVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dCA9IG5ldyBPcGVyYXRpb25Db250ZXh0KHRoaXMpO1xuXG4gICAgY29uc3QgYXBwbGllZFF1ZXJpZXMgPSBjb250ZXh0LmFwcGx5KHRoaXMuY29udGV4dGFibGVRdWVyaWVzKTtcbiAgICB0aGlzLnByb3RvLnF1ZXJpZXMgPSB0eXBlb2YgYXBwbGllZFF1ZXJpZXMgPT09IFwic3RyaW5nXCIgPyBbYXBwbGllZFF1ZXJpZXNdIDogYXBwbGllZFF1ZXJpZXM7XG5cbiAgICByZXR1cm4gdGhpcy5wcm90bztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlcmF0aW9uQ29udGV4dCB7XG4gIHByaXZhdGUgb3BlcmF0aW9uPzogT3BlcmF0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKG9wZXJhdGlvbjogT3BlcmF0aW9uKSB7XG4gICAgdGhpcy5vcGVyYXRpb24gPSBvcGVyYXRpb247XG4gIH1cblxuICBwdWJsaWMgc2VsZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoe1xuICAgICAgc2NoZW1hOiB0aGlzLm9wZXJhdGlvbi5wcm90by50YXJnZXQuc2NoZW1hLFxuICAgICAgbmFtZTogdGhpcy5vcGVyYXRpb24ucHJvdG8udGFyZ2V0Lm5hbWVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uLnByb3RvLnRhcmdldC5uYW1lO1xuICB9XG5cbiAgcHVibGljIHJlZihyZWY6IFJlc29sdmFibGUpIHtcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHR5cGVvZiByZWYgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJlZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHJlZiA6IGAke3JlZi5zY2hlbWF9LiR7cmVmLm5hbWV9YDtcbiAgICB0aGlzLm9wZXJhdGlvbi5kZXBlbmRlbmNpZXMobmFtZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUocmVmOiBSZXNvbHZhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uLnNlc3Npb24ucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyhuYW1lOiBSZXNvbHZhYmxlIHwgUmVzb2x2YWJsZVtdKSB7XG4gICAgdGhpcy5vcGVyYXRpb24uZGVwZW5kZW5jaWVzKG5hbWUpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIHRhZ3MobmFtZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICB0aGlzLm9wZXJhdGlvbi50YWdzKG5hbWUpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIGhhc091dHB1dChoYXNPdXRwdXQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wZXJhdGlvbi5oYXNPdXRwdXQoaGFzT3V0cHV0KTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseTxUPih2YWx1ZTogT0NvbnRleHRhYmxlPFQ+KTogVCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gKHZhbHVlIGFzIGFueSkodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
{ | ||
"version": "1.3.2", | ||
"version": "1.3.3", | ||
"homepage": "https://github.com/dataform-co/dataform", | ||
@@ -24,3 +24,3 @@ "license": "MIT", | ||
"dependencies": { | ||
"@dataform/protos": "1.3.2", | ||
"@dataform/protos": "1.3.3", | ||
"moo": "^0.5.0", | ||
@@ -27,0 +27,0 @@ "protobufjs": "^6.8.8" |
@@ -51,3 +51,2 @@ /// <amd-module name="@dataform/core/session" /> | ||
}): Declaration | table.Table | Operation | Assertion | test.Test; | ||
target(target: string, defaultSchema?: string): dataform.ITarget; | ||
resolve(ref: Resolvable): string; | ||
@@ -60,14 +59,15 @@ operate(name: string, queries?: OContextable<string | string[]>): Operation; | ||
compileError(err: Error | string, path?: string): void; | ||
compileGraphChunk<T>(actions: Array<{ | ||
proto: IActionProto; | ||
compile(): T; | ||
}>): T[]; | ||
compile(): dataform.ICompiledGraph; | ||
compileToBase64(): string; | ||
findActions(res: Resolvable): (Declaration | table.Table | Operation | Assertion)[]; | ||
checkTargetIsUnused(target: dataform.ITarget): void; | ||
getSuffixWithUnderscore(): string; | ||
setNameAndTarget(action: IActionProto, name: string, overrideSchema?: string): void; | ||
private checkTestNameIsUnused; | ||
private getSuffixWithUnderscore; | ||
private compileGraphChunk; | ||
private target; | ||
private fullyQualifyDependencies; | ||
private appendSchemaSuffix; | ||
private checkActionNameUniqueness; | ||
private checkTestNameUniqueness; | ||
private checkCircularity; | ||
} | ||
export {}; |
15
table.js
@@ -127,4 +127,3 @@ (function (factory) { | ||
newDependencies.forEach((d) => { | ||
const depFinal = utils.appendSuffixToSchema(d, this.session.getSuffixWithUnderscore()); | ||
const allResolved = this.session.findActions(depFinal); | ||
const allResolved = this.session.findActions(d); | ||
const resolved = allResolved.length > 0 ? allResolved[0] : undefined; | ||
@@ -135,3 +134,3 @@ if (!!resolved && resolved instanceof Table && resolved.proto.type === "inline") { | ||
else { | ||
this.addDependency(depFinal); | ||
this.addDependency(d); | ||
} | ||
@@ -163,5 +162,3 @@ }); | ||
schema(schema) { | ||
if (schema !== this.session.config.defaultSchema) { | ||
this.session.setNameAndTarget(this.proto, this.proto.target.name, schema); | ||
} | ||
this.session.setNameAndTarget(this.proto, this.proto.target.name, schema); | ||
return this; | ||
@@ -177,3 +174,3 @@ } | ||
const appliedPres = context.apply(contextablePreOps); | ||
this.proto.preOps = (this.proto.preOps || []).concat(typeof appliedPres == "string" ? [appliedPres] : appliedPres); | ||
this.proto.preOps = (this.proto.preOps || []).concat(typeof appliedPres === "string" ? [appliedPres] : appliedPres); | ||
}); | ||
@@ -183,3 +180,3 @@ this.contextablePreOps = []; | ||
const appliedPosts = context.apply(contextablePostOps); | ||
this.proto.postOps = (this.proto.postOps || []).concat(typeof appliedPosts == "string" ? [appliedPosts] : appliedPosts); | ||
this.proto.postOps = (this.proto.postOps || []).concat(typeof appliedPosts === "string" ? [appliedPosts] : appliedPosts); | ||
}); | ||
@@ -274,2 +271,2 @@ this.contextablePostOps = []; | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQUEsb0RBS2dDO0lBQ2hDLDhDQUE4QztJQUM5Qyw2Q0FBNEM7SUFFNUMsSUFBWSxVQUtYO0lBTEQsV0FBWSxVQUFVO1FBQ3BCLDZCQUFlLENBQUE7UUFDZiwyQkFBYSxDQUFBO1FBQ2IseUNBQTJCLENBQUE7UUFDM0IsK0JBQWlCLENBQUE7SUFDbkIsQ0FBQyxFQUxXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBS3JCO0lBQ0QsSUFBWSxjQUlYO0lBSkQsV0FBWSxjQUFjO1FBQ3hCLCtCQUFhLENBQUE7UUFDYiw2QkFBVyxDQUFBO1FBQ1gsNkJBQVcsQ0FBQTtJQUNiLENBQUMsRUFKVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUl6QjtJQUNELElBQVksY0FHWDtJQUhELFdBQVksY0FBYztRQUN4Qix1Q0FBcUIsQ0FBQTtRQUNyQiw2Q0FBMkIsQ0FBQTtJQUM3QixDQUFDLEVBSFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFHekI7SUFFWSxRQUFBLFlBQVksR0FFckI7UUFDRixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQixVQUFVO1lBQ1YsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixRQUFRO1lBQ1IsU0FBUztZQUNULGtCQUFrQjtZQUNsQixVQUFVO1lBQ1YsT0FBTztTQUNSO0tBQ0YsQ0FBQztJQW9CRixNQUFhLEtBQUs7UUFBbEI7WUFDUyxVQUFLLEdBQW1CLGlCQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDbkQsSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDLENBQUM7WUFRSyxzQkFBaUIsR0FBMkMsRUFBRSxDQUFDO1lBQy9ELHVCQUFrQixHQUEy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SUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxRQUFRLENBQUMsUUFBbUM7WUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sUUFBUSxDQUFDLFFBQW1DO1lBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLFlBQVksQ0FBQyxHQUFlO1lBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLEtBQUssQ0FBSSxLQUFzQjtZQUNwQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDL0IsT0FBUSxLQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUM7UUFDTSxJQUFJLENBQUMsSUFBYztZQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7S0FDRjtJQTFGRCxvQ0EwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJQ29sdW1uc0Rlc2NyaXB0b3IsXG4gIG1hcFRvQ29sdW1uUHJvdG9BcnJheSxcbiAgUmVzb2x2YWJsZSxcbiAgU2Vzc2lvblxufSBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvc2Vzc2lvblwiO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3V0aWxzXCI7XG5pbXBvcnQgeyBkYXRhZm9ybSB9IGZyb20gXCJAZGF0YWZvcm0vcHJvdG9zXCI7XG5cbmV4cG9ydCBlbnVtIFRhYmxlVHlwZXMge1xuICBUQUJMRSA9IFwidGFibGVcIixcbiAgVklFVyA9IFwidmlld1wiLFxuICBJTkNSRU1FTlRBTCA9IFwiaW5jcmVtZW50YWxcIixcbiAgSU5MSU5FID0gXCJpbmxpbmVcIlxufVxuZXhwb3J0IGVudW0gRGlzdFN0eWxlVHlwZXMge1xuICBFVkVOID0gXCJldmVuXCIsXG4gIEtFWSA9IFwia2V5XCIsXG4gIEFMTCA9IFwiYWxsXCJcbn1cbmV4cG9ydCBlbnVtIFNvcnRTdHlsZVR5cGVzIHtcbiAgQ09NUE9VTkQgPSBcImNvbXBvdW5kXCIsXG4gIElOVEVSTEVBVkVEID0gXCJpbnRlcmxlYXZlZFwiXG59XG5cbmV4cG9ydCBjb25zdCBpZ25vcmVkUHJvcHM6IHtcbiAgW3RhYmxlVHlwZTogc3RyaW5nXTogQXJyYXk8a2V5b2YgZGF0YWZvcm0uSVRhYmxlPjtcbn0gPSB7XG4gIFtUYWJsZVR5cGVzLklOTElORV06IFtcbiAgICBcImJpZ3F1ZXJ5XCIsXG4gICAgXCJyZWRzaGlmdFwiLFxuICAgIFwic3FsRGF0YVdhcmVob3VzZVwiLFxuICAgIFwicHJlT3BzXCIsXG4gICAgXCJwb3N0T3BzXCIsXG4gICAgXCJhY3Rpb25EZXNjcmlwdG9yXCIsXG4gICAgXCJkaXNhYmxlZFwiLFxuICAgIFwid2hlcmVcIlxuICBdXG59O1xuXG50eXBlIFZhbHVlT2Y8VD4gPSBUW2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgVENvbnRleHRhYmxlPFQ+ID0gVCB8ICgoY3R4OiBUYWJsZUNvbnRleHQpID0+IFQpO1xuZXhwb3J0IHR5cGUgVGFibGVUeXBlID0gVmFsdWVPZjxUYWJsZVR5cGVzPjtcblxuZXhwb3J0IGludGVyZmFjZSBUQ29uZmlnIHtcbiAgdHlwZT86IFRhYmxlVHlwZTtcbiAgZGVwZW5kZW5jaWVzPzogUmVzb2x2YWJsZSB8IFJlc29sdmFibGVbXTtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgY29sdW1ucz86IElDb2x1bW5zRGVzY3JpcHRvcjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBwcm90ZWN0ZWQ/OiBib29sZWFuO1xuICByZWRzaGlmdD86IGRhdGFmb3JtLklSZWRzaGlmdE9wdGlvbnM7XG4gIGJpZ3F1ZXJ5PzogZGF0YWZvcm0uSUJpZ1F1ZXJ5T3B0aW9ucztcbiAgc3FsZGF0YXdhcmVob3VzZT86IGRhdGFmb3JtLklTUUxEYXRhV2FyZWhvdXNlT3B0aW9ucztcbiAgc2NoZW1hPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVGFibGUge1xuICBwdWJsaWMgcHJvdG86IGRhdGFmb3JtLlRhYmxlID0gZGF0YWZvcm0uVGFibGUuY3JlYXRlKHtcbiAgICB0eXBlOiBcInZpZXdcIixcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgdGFnczogW11cbiAgfSk7XG5cbiAgLy8gSG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgU2Vzc2lvbiBpbnN0YW5jZS5cbiAgcHVibGljIHNlc3Npb246IFNlc3Npb247XG5cbiAgLy8gV2UgZGVsYXkgY29udGV4dGlmaWNhdGlvbiB1bnRpbCB0aGUgZmluYWwgY29tcGlsZSBzdGVwLCBzbyBob2xkIHRoZXNlIGhlcmUgZm9yIG5vdy5cbiAgcHVibGljIGNvbnRleHRhYmxlUXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+O1xuICBwcml2YXRlIGNvbnRleHRhYmxlV2hlcmU6IFRDb250ZXh0YWJsZTxzdHJpbmc+O1xuICBwcml2YXRlIGNvbnRleHRhYmxlUHJlT3BzOiBBcnJheTxUQ29udGV4dGFibGU8c3RyaW5nIHwgc3RyaW5nW10+PiA9IFtdO1xuICBwcml2YXRlIGNvbnRleHRhYmxlUG9zdE9wczogQXJyYXk8VENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPj4gPSBbXTtcblxuICBwdWJsaWMgY29uZmlnKGNvbmZpZzogVENvbmZpZykge1xuICAgIGlmIChjb25maWcudHlwZSkge1xuICAgICAgdGhpcy50eXBlKGNvbmZpZy50eXBlKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHRoaXMuZGVwZW5kZW5jaWVzKGNvbmZpZy5kZXBlbmRlbmNpZXMpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmRpc2FibGVkKCk7XG4gICAgfVxuICAgIGlmIChjb25maWcucmVkc2hpZnQpIHtcbiAgICAgIHRoaXMucmVkc2hpZnQoY29uZmlnLnJlZHNoaWZ0KTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5iaWdxdWVyeSkge1xuICAgICAgdGhpcy5iaWdxdWVyeShjb25maWcuYmlncXVlcnkpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLnNxbGRhdGF3YXJlaG91c2UpIHtcbiAgICAgIHRoaXMuc3FsZGF0YXdhcmVob3VzZShjb25maWcuc3FsZGF0YXdhcmVob3VzZSk7XG4gICAgfVxuICAgIGlmIChjb25maWcudGFncykge1xuICAgICAgdGhpcy50YWdzKGNvbmZpZy50YWdzKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5kZXNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbihjb25maWcuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNvbHVtbnMpIHtcbiAgICAgIHRoaXMuY29sdW1ucyhjb25maWcuY29sdW1ucyk7XG4gICAgfVxuICAgIGlmIChjb25maWcuc2NoZW1hKSB7XG4gICAgICB0aGlzLnNjaGVtYShjb25maWcuc2NoZW1hKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB0eXBlKHR5cGU6IFRhYmxlVHlwZSkge1xuICAgIHRoaXMucHJvdG8udHlwZSA9IHR5cGUgYXMgc3RyaW5nO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHF1ZXJ5KHF1ZXJ5OiBUQ29udGV4dGFibGU8c3RyaW5nPikge1xuICAgIHRoaXMuY29udGV4dGFibGVRdWVyeSA9IHF1ZXJ5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdoZXJlKHdoZXJlOiBUQ29udGV4dGFibGU8c3RyaW5nPikge1xuICAgIHRoaXMuY29udGV4dGFibGVXaGVyZSA9IHdoZXJlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHByZU9wcyhwcmVzOiBUQ29udGV4dGFibGU8c3RyaW5nIHwgc3RyaW5nW10+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZVByZU9wcy5wdXNoKHByZXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHBvc3RPcHMocG9zdHM6IFRDb250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4pIHtcbiAgICB0aGlzLmNvbnRleHRhYmxlUG9zdE9wcy5wdXNoKHBvc3RzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlZCgpIHtcbiAgICB0aGlzLnByb3RvLmRpc2FibGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzcWxkYXRhd2FyZWhvdXNlKHNxbERhdGFXYXJlaG91c2U6IGRhdGFmb3JtLklTUUxEYXRhV2FyZWhvdXNlT3B0aW9ucykge1xuICAgIHRoaXMucHJvdG8uc3FsRGF0YVdhcmVob3VzZSA9IGRhdGFmb3JtLlNRTERhdGFXYXJlaG91c2VPcHRpb25zLmNyZWF0ZShzcWxEYXRhV2FyZWhvdXNlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyByZWRzaGlmdChyZWRzaGlmdDogZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9ucykge1xuICAgIHRoaXMucHJvdG8ucmVkc2hpZnQgPSBkYXRhZm9ybS5SZWRzaGlmdE9wdGlvbnMuY3JlYXRlKHJlZHNoaWZ0KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBiaWdxdWVyeShiaWdxdWVyeTogZGF0YWZvcm0uSUJpZ1F1ZXJ5T3B0aW9ucykge1xuICAgIHRoaXMucHJvdG8uYmlncXVlcnkgPSBkYXRhZm9ybS5CaWdRdWVyeU9wdGlvbnMuY3JlYXRlKGJpZ3F1ZXJ5KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkZXBlbmRlbmNpZXModmFsdWU6IFJlc29sdmFibGUgfCBSZXNvbHZhYmxlW10pIHtcbiAgICBjb25zdCBuZXdEZXBlbmRlbmNpZXMgPSB1dGlscy5pc1Jlc29sdmFibGUodmFsdWUpID8gW3ZhbHVlXSA6ICh2YWx1ZSBhcyBSZXNvbHZhYmxlW10pO1xuICAgIG5ld0RlcGVuZGVuY2llcy5mb3JFYWNoKChkOiBSZXNvbHZhYmxlKSA9PiB7XG4gICAgICAvLyBUT0RPOiBUaGlzIGNvZGUgZmFpbHMgdG8gZnVuY3Rpb24gY29ycmVjdGx5IGlmIHRoZSBpbmxpbmUgdGFibGUgaGFzIG5vdCB5ZXRcbiAgICAgIC8vIGJlZW4gYXR0YWNoZWQgdG8gdGhlIHNlc3Npb24uIFRoaXMgY29kZSBwcm9iYWJseSBuZWVkcyB0byBiZSBtb3ZlZCB0byBjb21waWxlKCkuXG4gICAgICBjb25zdCBkZXBGaW5hbCA9IHV0aWxzLmFwcGVuZFN1ZmZpeFRvU2NoZW1hKGQsIHRoaXMuc2Vzc2lvbi5nZXRTdWZmaXhXaXRoVW5kZXJzY29yZSgpKTtcbiAgICAgIGNvbnN0IGFsbFJlc29sdmVkID0gdGhpcy5zZXNzaW9uLmZpbmRBY3Rpb25zKGRlcEZpbmFsKTtcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gYWxsUmVzb2x2ZWQubGVuZ3RoID4gMCA/IGFsbFJlc29sdmVkWzBdIDogdW5kZWZpbmVkO1xuICAgICAgaWYgKCEhcmVzb2x2ZWQgJiYgcmVzb2x2ZWQgaW5zdGFuY2VvZiBUYWJsZSAmJiByZXNvbHZlZC5wcm90by50eXBlID09PSBcImlubGluZVwiKSB7XG4gICAgICAgIHJlc29sdmVkLnByb3RvLmRlcGVuZGVuY2llcy5mb3JFYWNoKGNoaWxkRGVwID0+IHRoaXMuYWRkRGVwZW5kZW5jeShjaGlsZERlcCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGREZXBlbmRlbmN5KGRlcEZpbmFsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB0YWdzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGNvbnN0IG5ld1RhZ3MgPSB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyBbdmFsdWVdIDogdmFsdWU7XG4gICAgbmV3VGFncy5mb3JFYWNoKHQgPT4ge1xuICAgICAgdGhpcy5wcm90by50YWdzLnB1c2godCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZykge1xuICAgIGlmICghdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yKSB7XG4gICAgICB0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY29sdW1ucyhjb2x1bW5zOiBJQ29sdW1uc0Rlc2NyaXB0b3IpIHtcbiAgICBpZiAoIXRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvcikge1xuICAgICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yID0ge307XG4gICAgfVxuICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvci5jb2x1bW5zID0gbWFwVG9Db2x1bW5Qcm90b0FycmF5KGNvbHVtbnMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNjaGVtYShzY2hlbWE6IHN0cmluZykge1xuICAgIGlmIChzY2hlbWEgIT09IHRoaXMuc2Vzc2lvbi5jb25maWcuZGVmYXVsdFNjaGVtYSkge1xuICAgICAgdGhpcy5zZXNzaW9uLnNldE5hbWVBbmRUYXJnZXQodGhpcy5wcm90bywgdGhpcy5wcm90by50YXJnZXQubmFtZSwgc2NoZW1hKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY29tcGlsZSgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFRhYmxlQ29udGV4dCh0aGlzKTtcblxuICAgIHRoaXMucHJvdG8ucXVlcnkgPSBjb250ZXh0LmFwcGx5KHRoaXMuY29udGV4dGFibGVRdWVyeSk7XG5cbiAgICBpZiAodGhpcy5jb250ZXh0YWJsZVdoZXJlKSB7XG4gICAgICB0aGlzLnByb3RvLndoZXJlID0gY29udGV4dC5hcHBseSh0aGlzLmNvbnRleHRhYmxlV2hlcmUpO1xuICAgIH1cblxuICAgIHRoaXMuY29udGV4dGFibGVQcmVPcHMuZm9yRWFjaChjb250ZXh0YWJsZVByZU9wcyA9PiB7XG4gICAgICBjb25zdCBhcHBsaWVkUHJlcyA9IGNvbnRleHQuYXBwbHkoY29udGV4dGFibGVQcmVPcHMpO1xuICAgICAgdGhpcy5wcm90by5wcmVPcHMgPSAodGhpcy5wcm90by5wcmVPcHMgfHwgW10pLmNvbmNhdChcbiAgICAgICAgdHlwZW9mIGFwcGxpZWRQcmVzID09IFwic3RyaW5nXCIgPyBbYXBwbGllZFByZXNdIDogYXBwbGllZFByZXNcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy5jb250ZXh0YWJsZVByZU9wcyA9IFtdO1xuXG4gICAgdGhpcy5jb250ZXh0YWJsZVBvc3RPcHMuZm9yRWFjaChjb250ZXh0YWJsZVBvc3RPcHMgPT4ge1xuICAgICAgY29uc3QgYXBwbGllZFBvc3RzID0gY29udGV4dC5hcHBseShjb250ZXh0YWJsZVBvc3RPcHMpO1xuICAgICAgdGhpcy5wcm90by5wb3N0T3BzID0gKHRoaXMucHJvdG8ucG9zdE9wcyB8fCBbXSkuY29uY2F0KFxuICAgICAgICB0eXBlb2YgYXBwbGllZFBvc3RzID09IFwic3RyaW5nXCIgPyBbYXBwbGllZFBvc3RzXSA6IGFwcGxpZWRQb3N0c1xuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmNvbnRleHRhYmxlUG9zdE9wcyA9IFtdO1xuICAgIHJldHVybiB0aGlzLnByb3RvO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREZXBlbmRlbmN5KGRlcGVuZGVuY3k6IFJlc29sdmFibGUpOiB2b2lkIHtcbiAgICBjb25zdCBkZXBOYW1lID0gdXRpbHMuc3RyaW5naWZ5UmVzb2x2YWJsZShkZXBlbmRlbmN5KTtcbiAgICBpZiAodGhpcy5wcm90by5kZXBlbmRlbmNpZXMuaW5kZXhPZihkZXBOYW1lKSA8IDApIHtcbiAgICAgIHRoaXMucHJvdG8uZGVwZW5kZW5jaWVzLnB1c2goZGVwTmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlQ29udGV4dCB7XG4gIGNvbmZpZzogKGNvbmZpZzogVENvbmZpZykgPT4gc3RyaW5nO1xuICBzZWxmOiAoKSA9PiBzdHJpbmc7XG4gIG5hbWU6ICgpID0+IHN0cmluZztcbiAgcmVmOiAobmFtZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIHJlc29sdmU6IChuYW1lOiBzdHJpbmcpID0+IHN0cmluZztcbiAgdHlwZTogKHR5cGU6IFRhYmxlVHlwZSkgPT4gc3RyaW5nO1xuICB3aGVyZTogKHdoZXJlOiBUQ29udGV4dGFibGU8c3RyaW5nPikgPT4gc3RyaW5nO1xuICBwcmVPcHM6IChzdGF0ZW1lbnQ6IFRDb250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4pID0+IHN0cmluZztcbiAgcG9zdE9wczogKHN0YXRlbWVudDogVENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPikgPT4gc3RyaW5nO1xuICBkaXNhYmxlZDogKCkgPT4gc3RyaW5nO1xuICByZWRzaGlmdDogKHJlZHNoaWZ0OiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zKSA9PiBzdHJpbmc7XG4gIGJpZ3F1ZXJ5OiAoYmlncXVlcnk6IGRhdGFmb3JtLklCaWdRdWVyeU9wdGlvbnMpID0+IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzOiAobmFtZTogUmVzb2x2YWJsZSkgPT4gc3RyaW5nO1xuICBhcHBseTogPFQ+KHZhbHVlOiBUQ29udGV4dGFibGU8VD4pID0+IFQ7XG4gIHRhZ3M6IChuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVGFibGVDb250ZXh0IGltcGxlbWVudHMgSVRhYmxlQ29udGV4dCB7XG4gIHByaXZhdGUgdGFibGU/OiBUYWJsZTtcblxuICBjb25zdHJ1Y3Rvcih0YWJsZTogVGFibGUpIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlnKGNvbmZpZzogVENvbmZpZykge1xuICAgIHRoaXMudGFibGUuY29uZmlnKGNvbmZpZyk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgc2VsZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoe1xuICAgICAgc2NoZW1hOiB0aGlzLnRhYmxlLnByb3RvLnRhcmdldC5zY2hlbWEsXG4gICAgICBuYW1lOiB0aGlzLnRhYmxlLnByb3RvLnRhcmdldC5uYW1lXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRhYmxlLnByb3RvLnRhcmdldC5uYW1lO1xuICB9XG5cbiAgcHVibGljIHJlZihyZWY6IFJlc29sdmFibGUpIHtcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHR5cGVvZiByZWYgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJlZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHJlZiA6IGAke3JlZi5zY2hlbWF9LiR7cmVmLm5hbWV9YDtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQWN0aW9uIG5hbWUgaXMgbm90IHNwZWNpZmllZGA7XG4gICAgICB0aGlzLnRhYmxlLnNlc3Npb24uY29tcGlsZUVycm9yKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgdGhpcy50YWJsZS5kZXBlbmRlbmNpZXMobmFtZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUocmVmOiBSZXNvbHZhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGUuc2Vzc2lvbi5yZXNvbHZlKHJlZik7XG4gIH1cblxuICBwdWJsaWMgdHlwZSh0eXBlOiBUYWJsZVR5cGUpIHtcbiAgICB0aGlzLnRhYmxlLnR5cGUodHlwZSk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgd2hlcmUod2hlcmU6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy50YWJsZS53aGVyZSh3aGVyZSk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcHJlT3BzKHN0YXRlbWVudDogVENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPikge1xuICAgIHRoaXMudGFibGUucHJlT3BzKHN0YXRlbWVudCk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcG9zdE9wcyhzdGF0ZW1lbnQ6IFRDb250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4pIHtcbiAgICB0aGlzLnRhYmxlLnBvc3RPcHMoc3RhdGVtZW50KTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlZCgpIHtcbiAgICB0aGlzLnRhYmxlLmRpc2FibGVkKCk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcmVkc2hpZnQocmVkc2hpZnQ6IGRhdGFmb3JtLklSZWRzaGlmdE9wdGlvbnMpIHtcbiAgICB0aGlzLnRhYmxlLnJlZHNoaWZ0KHJlZHNoaWZ0KTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBiaWdxdWVyeShiaWdxdWVyeTogZGF0YWZvcm0uSUJpZ1F1ZXJ5T3B0aW9ucykge1xuICAgIHRoaXMudGFibGUuYmlncXVlcnkoYmlncXVlcnkpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyhyZXM6IFJlc29sdmFibGUpIHtcbiAgICB0aGlzLnRhYmxlLmRlcGVuZGVuY2llcyhyZXMpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIGFwcGx5PFQ+KHZhbHVlOiBUQ29udGV4dGFibGU8VD4pOiBUIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiAodmFsdWUgYXMgYW55KSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgdGFncyh0YWdzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMudGFibGUudGFncyh0YWdzKTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQUEsb0RBS2dDO0lBQ2hDLDhDQUE4QztJQUM5Qyw2Q0FBNEM7SUFFNUMsSUFBWSxVQUtYO0lBTEQsV0FBWSxVQUFVO1FBQ3BCLDZCQUFlLENBQUE7UUFDZiwyQkFBYSxDQUFBO1FBQ2IseUNBQTJCLENBQUE7UUFDM0IsK0JBQWlCLENBQUE7SUFDbkIsQ0FBQyxFQUxXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBS3JCO0lBQ0QsSUFBWSxjQUlYO0lBSkQsV0FBWSxjQUFjO1FBQ3hCLCtCQUFhLENBQUE7UUFDYiw2QkFBVyxDQUFBO1FBQ1gsNkJBQVcsQ0FBQTtJQUNiLENBQUMsRUFKVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUl6QjtJQUNELElBQVksY0FHWDtJQUhELFdBQVksY0FBYztRQUN4Qix1Q0FBcUIsQ0FBQTtRQUNyQiw2Q0FBMkIsQ0FBQTtJQUM3QixDQUFDLEVBSFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFHekI7SUFFWSxRQUFBLFlBQVksR0FFckI7UUFDRixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQixVQUFVO1lBQ1YsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixRQUFRO1lBQ1IsU0FBUztZQUNULGtCQUFrQjtZQUNsQixVQUFVO1lBQ1YsT0FBTztTQUNSO0tBQ0YsQ0FBQztJQW9CRixNQUFhLEtBQUs7UUFBbEI7WUFDUyxVQUFLLEdBQW1CLGlCQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDbkQsSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDLENBQUM7WUFRSyxzQkFBaUIsR0FBMkMsRUFBRSxDQUFDO1lBQy9ELHVCQUFrQixHQUEy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LENBQUM7UUFFTSxRQUFRLENBQUMsUUFBbUM7WUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sWUFBWSxDQUFDLEdBQWU7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sS0FBSyxDQUFJLEtBQXNCO1lBQ3BDLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO2dCQUMvQixPQUFRLEtBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQztRQUNNLElBQUksQ0FBQyxJQUFjO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztLQUNGO0lBMUZELG9DQTBGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElDb2x1bW5zRGVzY3JpcHRvcixcbiAgbWFwVG9Db2x1bW5Qcm90b0FycmF5LFxuICBSZXNvbHZhYmxlLFxuICBTZXNzaW9uXG59IGZyb20gXCJAZGF0YWZvcm0vY29yZS9zZXNzaW9uXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvdXRpbHNcIjtcbmltcG9ydCB7IGRhdGFmb3JtIH0gZnJvbSBcIkBkYXRhZm9ybS9wcm90b3NcIjtcblxuZXhwb3J0IGVudW0gVGFibGVUeXBlcyB7XG4gIFRBQkxFID0gXCJ0YWJsZVwiLFxuICBWSUVXID0gXCJ2aWV3XCIsXG4gIElOQ1JFTUVOVEFMID0gXCJpbmNyZW1lbnRhbFwiLFxuICBJTkxJTkUgPSBcImlubGluZVwiXG59XG5leHBvcnQgZW51bSBEaXN0U3R5bGVUeXBlcyB7XG4gIEVWRU4gPSBcImV2ZW5cIixcbiAgS0VZID0gXCJrZXlcIixcbiAgQUxMID0gXCJhbGxcIlxufVxuZXhwb3J0IGVudW0gU29ydFN0eWxlVHlwZXMge1xuICBDT01QT1VORCA9IFwiY29tcG91bmRcIixcbiAgSU5URVJMRUFWRUQgPSBcImludGVybGVhdmVkXCJcbn1cblxuZXhwb3J0IGNvbnN0IGlnbm9yZWRQcm9wczoge1xuICBbdGFibGVUeXBlOiBzdHJpbmddOiBBcnJheTxrZXlvZiBkYXRhZm9ybS5JVGFibGU+O1xufSA9IHtcbiAgW1RhYmxlVHlwZXMuSU5MSU5FXTogW1xuICAgIFwiYmlncXVlcnlcIixcbiAgICBcInJlZHNoaWZ0XCIsXG4gICAgXCJzcWxEYXRhV2FyZWhvdXNlXCIsXG4gICAgXCJwcmVPcHNcIixcbiAgICBcInBvc3RPcHNcIixcbiAgICBcImFjdGlvbkRlc2NyaXB0b3JcIixcbiAgICBcImRpc2FibGVkXCIsXG4gICAgXCJ3aGVyZVwiXG4gIF1cbn07XG5cbnR5cGUgVmFsdWVPZjxUPiA9IFRba2V5b2YgVF07XG5leHBvcnQgdHlwZSBUQ29udGV4dGFibGU8VD4gPSBUIHwgKChjdHg6IFRhYmxlQ29udGV4dCkgPT4gVCk7XG5leHBvcnQgdHlwZSBUYWJsZVR5cGUgPSBWYWx1ZU9mPFRhYmxlVHlwZXM+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRDb25maWcge1xuICB0eXBlPzogVGFibGVUeXBlO1xuICBkZXBlbmRlbmNpZXM/OiBSZXNvbHZhYmxlIHwgUmVzb2x2YWJsZVtdO1xuICB0YWdzPzogc3RyaW5nW107XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjb2x1bW5zPzogSUNvbHVtbnNEZXNjcmlwdG9yO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHByb3RlY3RlZD86IGJvb2xlYW47XG4gIHJlZHNoaWZ0PzogZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9ucztcbiAgYmlncXVlcnk/OiBkYXRhZm9ybS5JQmlnUXVlcnlPcHRpb25zO1xuICBzcWxkYXRhd2FyZWhvdXNlPzogZGF0YWZvcm0uSVNRTERhdGFXYXJlaG91c2VPcHRpb25zO1xuICBzY2hlbWE/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZSB7XG4gIHB1YmxpYyBwcm90bzogZGF0YWZvcm0uVGFibGUgPSBkYXRhZm9ybS5UYWJsZS5jcmVhdGUoe1xuICAgIHR5cGU6IFwidmlld1wiLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICB0YWdzOiBbXVxuICB9KTtcblxuICAvLyBIb2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBTZXNzaW9uIGluc3RhbmNlLlxuICBwdWJsaWMgc2Vzc2lvbjogU2Vzc2lvbjtcblxuICAvLyBXZSBkZWxheSBjb250ZXh0aWZpY2F0aW9uIHVudGlsIHRoZSBmaW5hbCBjb21waWxlIHN0ZXAsIHNvIGhvbGQgdGhlc2UgaGVyZSBmb3Igbm93LlxuICBwdWJsaWMgY29udGV4dGFibGVRdWVyeTogVENvbnRleHRhYmxlPHN0cmluZz47XG4gIHByaXZhdGUgY29udGV4dGFibGVXaGVyZTogVENvbnRleHRhYmxlPHN0cmluZz47XG4gIHByaXZhdGUgY29udGV4dGFibGVQcmVPcHM6IEFycmF5PFRDb250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4+ID0gW107XG4gIHByaXZhdGUgY29udGV4dGFibGVQb3N0T3BzOiBBcnJheTxUQ29udGV4dGFibGU8c3RyaW5nIHwgc3RyaW5nW10+PiA9IFtdO1xuXG4gIHB1YmxpYyBjb25maWcoY29uZmlnOiBUQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZy50eXBlKSB7XG4gICAgICB0aGlzLnR5cGUoY29uZmlnLnR5cGUpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlcGVuZGVuY2llcykge1xuICAgICAgdGhpcy5kZXBlbmRlbmNpZXMoY29uZmlnLmRlcGVuZGVuY2llcyk7XG4gICAgfVxuICAgIGlmIChjb25maWcuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQoKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5yZWRzaGlmdCkge1xuICAgICAgdGhpcy5yZWRzaGlmdChjb25maWcucmVkc2hpZnQpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmJpZ3F1ZXJ5KSB7XG4gICAgICB0aGlzLmJpZ3F1ZXJ5KGNvbmZpZy5iaWdxdWVyeSk7XG4gICAgfVxuICAgIGlmIChjb25maWcuc3FsZGF0YXdhcmVob3VzZSkge1xuICAgICAgdGhpcy5zcWxkYXRhd2FyZWhvdXNlKGNvbmZpZy5zcWxkYXRhd2FyZWhvdXNlKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy50YWdzKSB7XG4gICAgICB0aGlzLnRhZ3MoY29uZmlnLnRhZ3MpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uKGNvbmZpZy5kZXNjcmlwdGlvbik7XG4gICAgfVxuICAgIGlmIChjb25maWcuY29sdW1ucykge1xuICAgICAgdGhpcy5jb2x1bW5zKGNvbmZpZy5jb2x1bW5zKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5zY2hlbWEpIHtcbiAgICAgIHRoaXMuc2NoZW1hKGNvbmZpZy5zY2hlbWEpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHR5cGUodHlwZTogVGFibGVUeXBlKSB7XG4gICAgdGhpcy5wcm90by50eXBlID0gdHlwZSBhcyBzdHJpbmc7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgcXVlcnkocXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZVF1ZXJ5ID0gcXVlcnk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2hlcmUod2hlcmU6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZVdoZXJlID0gd2hlcmU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgcHJlT3BzKHByZXM6IFRDb250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4pIHtcbiAgICB0aGlzLmNvbnRleHRhYmxlUHJlT3BzLnB1c2gocHJlcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgcG9zdE9wcyhwb3N0czogVENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPikge1xuICAgIHRoaXMuY29udGV4dGFibGVQb3N0T3BzLnB1c2gocG9zdHMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGVkKCkge1xuICAgIHRoaXMucHJvdG8uZGlzYWJsZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNxbGRhdGF3YXJlaG91c2Uoc3FsRGF0YVdhcmVob3VzZTogZGF0YWZvcm0uSVNRTERhdGFXYXJlaG91c2VPcHRpb25zKSB7XG4gICAgdGhpcy5wcm90by5zcWxEYXRhV2FyZWhvdXNlID0gZGF0YWZvcm0uU1FMRGF0YVdhcmVob3VzZU9wdGlvbnMuY3JlYXRlKHNxbERhdGFXYXJlaG91c2UpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHJlZHNoaWZ0KHJlZHNoaWZ0OiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zKSB7XG4gICAgdGhpcy5wcm90by5yZWRzaGlmdCA9IGRhdGFmb3JtLlJlZHNoaWZ0T3B0aW9ucy5jcmVhdGUocmVkc2hpZnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGJpZ3F1ZXJ5KGJpZ3F1ZXJ5OiBkYXRhZm9ybS5JQmlnUXVlcnlPcHRpb25zKSB7XG4gICAgdGhpcy5wcm90by5iaWdxdWVyeSA9IGRhdGFmb3JtLkJpZ1F1ZXJ5T3B0aW9ucy5jcmVhdGUoYmlncXVlcnkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyh2YWx1ZTogUmVzb2x2YWJsZSB8IFJlc29sdmFibGVbXSkge1xuICAgIGNvbnN0IG5ld0RlcGVuZGVuY2llcyA9IHV0aWxzLmlzUmVzb2x2YWJsZSh2YWx1ZSkgPyBbdmFsdWVdIDogKHZhbHVlIGFzIFJlc29sdmFibGVbXSk7XG4gICAgbmV3RGVwZW5kZW5jaWVzLmZvckVhY2goKGQ6IFJlc29sdmFibGUpID0+IHtcbiAgICAgIC8vIFRPRE86IFRoaXMgY29kZSBmYWlscyB0byBmdW5jdGlvbiBjb3JyZWN0bHkgaWYgdGhlIGlubGluZSB0YWJsZSBoYXMgbm90IHlldFxuICAgICAgLy8gYmVlbiBhdHRhY2hlZCB0byB0aGUgc2Vzc2lvbi4gVGhpcyBjb2RlIHByb2JhYmx5IG5lZWRzIHRvIGJlIG1vdmVkIHRvIGNvbXBpbGUoKS5cbiAgICAgIGNvbnN0IGFsbFJlc29sdmVkID0gdGhpcy5zZXNzaW9uLmZpbmRBY3Rpb25zKGQpO1xuICAgICAgY29uc3QgcmVzb2x2ZWQgPSBhbGxSZXNvbHZlZC5sZW5ndGggPiAwID8gYWxsUmVzb2x2ZWRbMF0gOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoISFyZXNvbHZlZCAmJiByZXNvbHZlZCBpbnN0YW5jZW9mIFRhYmxlICYmIHJlc29sdmVkLnByb3RvLnR5cGUgPT09IFwiaW5saW5lXCIpIHtcbiAgICAgICAgcmVzb2x2ZWQucHJvdG8uZGVwZW5kZW5jaWVzLmZvckVhY2goY2hpbGREZXAgPT4gdGhpcy5hZGREZXBlbmRlbmN5KGNoaWxkRGVwKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZERlcGVuZGVuY3koZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgdGFncyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zdCBuZXdUYWdzID0gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gW3ZhbHVlXSA6IHZhbHVlO1xuICAgIG5ld1RhZ3MuZm9yRWFjaCh0ID0+IHtcbiAgICAgIHRoaXMucHJvdG8udGFncy5wdXNoKHQpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvcikge1xuICAgICAgdGhpcy5wcm90by5hY3Rpb25EZXNjcmlwdG9yID0ge307XG4gICAgfVxuICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvci5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGNvbHVtbnMoY29sdW1uczogSUNvbHVtbnNEZXNjcmlwdG9yKSB7XG4gICAgaWYgKCF0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IpIHtcbiAgICAgIHRoaXMucHJvdG8uYWN0aW9uRGVzY3JpcHRvciA9IHt9O1xuICAgIH1cbiAgICB0aGlzLnByb3RvLmFjdGlvbkRlc2NyaXB0b3IuY29sdW1ucyA9IG1hcFRvQ29sdW1uUHJvdG9BcnJheShjb2x1bW5zKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzY2hlbWEoc2NoZW1hOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlc3Npb24uc2V0TmFtZUFuZFRhcmdldCh0aGlzLnByb3RvLCB0aGlzLnByb3RvLnRhcmdldC5uYW1lLCBzY2hlbWEpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGNvbXBpbGUoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IG5ldyBUYWJsZUNvbnRleHQodGhpcyk7XG5cbiAgICB0aGlzLnByb3RvLnF1ZXJ5ID0gY29udGV4dC5hcHBseSh0aGlzLmNvbnRleHRhYmxlUXVlcnkpO1xuXG4gICAgaWYgKHRoaXMuY29udGV4dGFibGVXaGVyZSkge1xuICAgICAgdGhpcy5wcm90by53aGVyZSA9IGNvbnRleHQuYXBwbHkodGhpcy5jb250ZXh0YWJsZVdoZXJlKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRleHRhYmxlUHJlT3BzLmZvckVhY2goY29udGV4dGFibGVQcmVPcHMgPT4ge1xuICAgICAgY29uc3QgYXBwbGllZFByZXMgPSBjb250ZXh0LmFwcGx5KGNvbnRleHRhYmxlUHJlT3BzKTtcbiAgICAgIHRoaXMucHJvdG8ucHJlT3BzID0gKHRoaXMucHJvdG8ucHJlT3BzIHx8IFtdKS5jb25jYXQoXG4gICAgICAgIHR5cGVvZiBhcHBsaWVkUHJlcyA9PT0gXCJzdHJpbmdcIiA/IFthcHBsaWVkUHJlc10gOiBhcHBsaWVkUHJlc1xuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmNvbnRleHRhYmxlUHJlT3BzID0gW107XG5cbiAgICB0aGlzLmNvbnRleHRhYmxlUG9zdE9wcy5mb3JFYWNoKGNvbnRleHRhYmxlUG9zdE9wcyA9PiB7XG4gICAgICBjb25zdCBhcHBsaWVkUG9zdHMgPSBjb250ZXh0LmFwcGx5KGNvbnRleHRhYmxlUG9zdE9wcyk7XG4gICAgICB0aGlzLnByb3RvLnBvc3RPcHMgPSAodGhpcy5wcm90by5wb3N0T3BzIHx8IFtdKS5jb25jYXQoXG4gICAgICAgIHR5cGVvZiBhcHBsaWVkUG9zdHMgPT09IFwic3RyaW5nXCIgPyBbYXBwbGllZFBvc3RzXSA6IGFwcGxpZWRQb3N0c1xuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmNvbnRleHRhYmxlUG9zdE9wcyA9IFtdO1xuICAgIHJldHVybiB0aGlzLnByb3RvO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREZXBlbmRlbmN5KGRlcGVuZGVuY3k6IFJlc29sdmFibGUpOiB2b2lkIHtcbiAgICBjb25zdCBkZXBOYW1lID0gdXRpbHMuc3RyaW5naWZ5UmVzb2x2YWJsZShkZXBlbmRlbmN5KTtcbiAgICBpZiAodGhpcy5wcm90by5kZXBlbmRlbmNpZXMuaW5kZXhPZihkZXBOYW1lKSA8IDApIHtcbiAgICAgIHRoaXMucHJvdG8uZGVwZW5kZW5jaWVzLnB1c2goZGVwTmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlQ29udGV4dCB7XG4gIGNvbmZpZzogKGNvbmZpZzogVENvbmZpZykgPT4gc3RyaW5nO1xuICBzZWxmOiAoKSA9PiBzdHJpbmc7XG4gIG5hbWU6ICgpID0+IHN0cmluZztcbiAgcmVmOiAobmFtZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIHJlc29sdmU6IChuYW1lOiBzdHJpbmcpID0+IHN0cmluZztcbiAgdHlwZTogKHR5cGU6IFRhYmxlVHlwZSkgPT4gc3RyaW5nO1xuICB3aGVyZTogKHdoZXJlOiBUQ29udGV4dGFibGU8c3RyaW5nPikgPT4gc3RyaW5nO1xuICBwcmVPcHM6IChzdGF0ZW1lbnQ6IFRDb250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4pID0+IHN0cmluZztcbiAgcG9zdE9wczogKHN0YXRlbWVudDogVENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPikgPT4gc3RyaW5nO1xuICBkaXNhYmxlZDogKCkgPT4gc3RyaW5nO1xuICByZWRzaGlmdDogKHJlZHNoaWZ0OiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zKSA9PiBzdHJpbmc7XG4gIGJpZ3F1ZXJ5OiAoYmlncXVlcnk6IGRhdGFmb3JtLklCaWdRdWVyeU9wdGlvbnMpID0+IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzOiAobmFtZTogUmVzb2x2YWJsZSkgPT4gc3RyaW5nO1xuICBhcHBseTogPFQ+KHZhbHVlOiBUQ29udGV4dGFibGU8VD4pID0+IFQ7XG4gIHRhZ3M6IChuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVGFibGVDb250ZXh0IGltcGxlbWVudHMgSVRhYmxlQ29udGV4dCB7XG4gIHByaXZhdGUgdGFibGU/OiBUYWJsZTtcblxuICBjb25zdHJ1Y3Rvcih0YWJsZTogVGFibGUpIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlnKGNvbmZpZzogVENvbmZpZykge1xuICAgIHRoaXMudGFibGUuY29uZmlnKGNvbmZpZyk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgc2VsZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoe1xuICAgICAgc2NoZW1hOiB0aGlzLnRhYmxlLnByb3RvLnRhcmdldC5zY2hlbWEsXG4gICAgICBuYW1lOiB0aGlzLnRhYmxlLnByb3RvLnRhcmdldC5uYW1lXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRhYmxlLnByb3RvLnRhcmdldC5uYW1lO1xuICB9XG5cbiAgcHVibGljIHJlZihyZWY6IFJlc29sdmFibGUpIHtcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHR5cGVvZiByZWYgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJlZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHJlZiA6IGAke3JlZi5zY2hlbWF9LiR7cmVmLm5hbWV9YDtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQWN0aW9uIG5hbWUgaXMgbm90IHNwZWNpZmllZGA7XG4gICAgICB0aGlzLnRhYmxlLnNlc3Npb24uY29tcGlsZUVycm9yKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgdGhpcy50YWJsZS5kZXBlbmRlbmNpZXMobmFtZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZShyZWYpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUocmVmOiBSZXNvbHZhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGUuc2Vzc2lvbi5yZXNvbHZlKHJlZik7XG4gIH1cblxuICBwdWJsaWMgdHlwZSh0eXBlOiBUYWJsZVR5cGUpIHtcbiAgICB0aGlzLnRhYmxlLnR5cGUodHlwZSk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgd2hlcmUod2hlcmU6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy50YWJsZS53aGVyZSh3aGVyZSk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcHJlT3BzKHN0YXRlbWVudDogVENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPikge1xuICAgIHRoaXMudGFibGUucHJlT3BzKHN0YXRlbWVudCk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcG9zdE9wcyhzdGF0ZW1lbnQ6IFRDb250ZXh0YWJsZTxzdHJpbmcgfCBzdHJpbmdbXT4pIHtcbiAgICB0aGlzLnRhYmxlLnBvc3RPcHMoc3RhdGVtZW50KTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlZCgpIHtcbiAgICB0aGlzLnRhYmxlLmRpc2FibGVkKCk7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcmVkc2hpZnQocmVkc2hpZnQ6IGRhdGFmb3JtLklSZWRzaGlmdE9wdGlvbnMpIHtcbiAgICB0aGlzLnRhYmxlLnJlZHNoaWZ0KHJlZHNoaWZ0KTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBiaWdxdWVyeShiaWdxdWVyeTogZGF0YWZvcm0uSUJpZ1F1ZXJ5T3B0aW9ucykge1xuICAgIHRoaXMudGFibGUuYmlncXVlcnkoYmlncXVlcnkpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyhyZXM6IFJlc29sdmFibGUpIHtcbiAgICB0aGlzLnRhYmxlLmRlcGVuZGVuY2llcyhyZXMpO1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIGFwcGx5PFQ+KHZhbHVlOiBUQ29udGV4dGFibGU8VD4pOiBUIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiAodmFsdWUgYXMgYW55KSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgdGFncyh0YWdzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMudGFibGUudGFncyh0YWdzKTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxufVxuIl19 |
@@ -44,8 +44,5 @@ (function (factory) { | ||
else { | ||
const datasetToTestFinal = typeof this.datasetToTest === "string" | ||
? utils.targetAsResolvable(this.session.target(this.datasetToTest)) | ||
: utils.targetAsResolvable(this.session.target(`${this.datasetToTest.schema}.${this.datasetToTest.name}`)); | ||
const allResolved = this.session.findActions(datasetToTestFinal); | ||
const allResolved = this.session.findActions(this.datasetToTest); | ||
if (allResolved.length > 1) { | ||
this.session.compileError(new Error(utils.ambiguousActionNameMsg(datasetToTestFinal, allResolved))); | ||
this.session.compileError(new Error(utils.ambiguousActionNameMsg(this.datasetToTest, allResolved)), this.proto.fileName); | ||
} | ||
@@ -143,2 +140,2 @@ const dataset = allResolved.length > 0 ? allResolved[0] : undefined; | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUNBLDhDQUE4QztJQUM5Qyw4Q0FBOEM7SUFDOUMsNkNBQTRDO0lBUTVDLE1BQWEsSUFBSTtRQUFqQjtZQUNTLFVBQUssR0FBbUIsaUJBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFHL0Msc0JBQWlCLEdBQWdELEVBQUUsQ0FBQztRQW1FN0UsQ0FBQztRQTlEUSxNQUFNLENBQUMsTUFBZTtZQUMzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sT0FBTyxDQUFDLEdBQWU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sS0FBSyxDQUFDLE9BQWUsRUFBRSxnQkFBc0M7WUFDbEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1lBQ25ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVNLE1BQU0sQ0FBQyxnQkFBc0M7WUFDbEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVNLE9BQU87WUFDWixNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3ZCLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLEVBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNwQixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsTUFBTSxrQkFBa0IsR0FDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLFFBQVE7b0JBQ3BDLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNuRSxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDL0UsQ0FBQztnQkFFUixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FDdkIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQ3pFLENBQUM7aUJBQ0g7Z0JBQ0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxZQUFZLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3ZCLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsRUFDekYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ3BCLENBQUM7aUJBQ0g7cUJBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUN2QixJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxFQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDcEIsQ0FBQztpQkFDSDtxQkFBTTtvQkFDTCxNQUFNLG1CQUFtQixHQUFHLElBQUksbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQkFDNUU7YUFDRjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMxRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQztLQUNGO0lBdkVELG9CQXVFQztJQUVELE1BQWEsV0FBVztRQUV0QixZQUFZLElBQVU7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQztRQUVNLEtBQUssQ0FBSSxLQUFzQjtZQUNwQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDL0IsT0FBUSxLQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUM7S0FDRjtJQWJELGtDQWFDO0lBRUQsTUFBTSxtQkFBbUI7UUFHdkIsWUFBWSxXQUF3QjtZQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDO1FBRU0sR0FBRyxDQUFDLElBQVk7WUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFTSxPQUFPLENBQUMsSUFBWTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3hDLElBQUksS0FBSyxDQUFDLHNCQUFzQixJQUFJLDBCQUEwQixDQUFDLENBQ2hFLENBQUM7Z0JBQ0YsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEYsQ0FBQztRQUVNLEtBQUssQ0FBSSxLQUE0QjtZQUMxQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDL0IsT0FBUSxLQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUM7UUFFTSxNQUFNLENBQUMsTUFBcUI7WUFDakMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sSUFBSTtZQUNULE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLElBQUk7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxJQUFJLENBQUMsSUFBcUI7WUFDL0IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sS0FBSyxDQUFDLEtBQWlDO1lBQzVDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLE1BQU0sQ0FBQyxTQUFnRDtZQUM1RCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxPQUFPLENBQUMsU0FBZ0Q7WUFDN0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sUUFBUTtZQUNiLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLFFBQVEsQ0FBQyxRQUFtQztZQUNqRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxRQUFRLENBQUMsUUFBbUM7WUFDakQsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sWUFBWSxDQUFDLElBQVk7WUFDOUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sSUFBSSxDQUFDLElBQWM7WUFDeEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0tBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvbHZhYmxlLCBTZXNzaW9uIH0gZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3Nlc3Npb25cIjtcbmltcG9ydCAqIGFzIHRhYmxlIGZyb20gXCJAZGF0YWZvcm0vY29yZS90YWJsZVwiO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3V0aWxzXCI7XG5pbXBvcnQgeyBkYXRhZm9ybSB9IGZyb20gXCJAZGF0YWZvcm0vcHJvdG9zXCI7XG5cbmV4cG9ydCB0eXBlIFRDb250ZXh0YWJsZTxUPiA9IFQgfCAoKGN0eDogVGVzdENvbnRleHQpID0+IFQpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRDb25maWcge1xuICBkYXRhc2V0PzogUmVzb2x2YWJsZTtcbn1cblxuZXhwb3J0IGNsYXNzIFRlc3Qge1xuICBwdWJsaWMgcHJvdG86IGRhdGFmb3JtLklUZXN0ID0gZGF0YWZvcm0uVGVzdC5jcmVhdGUoKTtcblxuICBwdWJsaWMgc2Vzc2lvbjogU2Vzc2lvbjtcbiAgcHVibGljIGNvbnRleHRhYmxlSW5wdXRzOiB7IFtyZWZOYW1lOiBzdHJpbmddOiBUQ29udGV4dGFibGU8c3RyaW5nPiB9ID0ge307XG5cbiAgcHJpdmF0ZSBkYXRhc2V0VG9UZXN0OiBSZXNvbHZhYmxlO1xuICBwcml2YXRlIGNvbnRleHRhYmxlUXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+O1xuXG4gIHB1YmxpYyBjb25maWcoY29uZmlnOiBUQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZy5kYXRhc2V0KSB7XG4gICAgICB0aGlzLmRhdGFzZXQoY29uZmlnLmRhdGFzZXQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkYXRhc2V0KHJlZjogUmVzb2x2YWJsZSkge1xuICAgIHRoaXMuZGF0YXNldFRvVGVzdCA9IHJlZjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBpbnB1dChyZWZOYW1lOiBzdHJpbmcsIGNvbnRleHRhYmxlUXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZUlucHV0c1tyZWZOYW1lXSA9IGNvbnRleHRhYmxlUXVlcnk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZXhwZWN0KGNvbnRleHRhYmxlUXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZVF1ZXJ5ID0gY29udGV4dGFibGVRdWVyeTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb21waWxlKCkge1xuICAgIGNvbnN0IHRlc3RDb250ZXh0ID0gbmV3IFRlc3RDb250ZXh0KHRoaXMpO1xuICAgIGlmICghdGhpcy5kYXRhc2V0VG9UZXN0KSB7XG4gICAgICB0aGlzLnNlc3Npb24uY29tcGlsZUVycm9yKFxuICAgICAgICBuZXcgRXJyb3IoXCJUZXN0cyBtdXN0IG9wZXJhdGUgdXBvbiBhIHNwZWNpZmllZCBkYXRhc2V0LlwiKSxcbiAgICAgICAgdGhpcy5wcm90by5maWxlTmFtZVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGF0YXNldFRvVGVzdEZpbmFsID1cbiAgICAgICAgdHlwZW9mIHRoaXMuZGF0YXNldFRvVGVzdCA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gdXRpbHMudGFyZ2V0QXNSZXNvbHZhYmxlKHRoaXMuc2Vzc2lvbi50YXJnZXQodGhpcy5kYXRhc2V0VG9UZXN0KSlcbiAgICAgICAgICA6IHV0aWxzLnRhcmdldEFzUmVzb2x2YWJsZShcbiAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uLnRhcmdldChgJHt0aGlzLmRhdGFzZXRUb1Rlc3Quc2NoZW1hfS4ke3RoaXMuZGF0YXNldFRvVGVzdC5uYW1lfWApXG4gICAgICAgICAgICApO1xuXG4gICAgICBjb25zdCBhbGxSZXNvbHZlZCA9IHRoaXMuc2Vzc2lvbi5maW5kQWN0aW9ucyhkYXRhc2V0VG9UZXN0RmluYWwpO1xuICAgICAgaWYgKGFsbFJlc29sdmVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uLmNvbXBpbGVFcnJvcihcbiAgICAgICAgICBuZXcgRXJyb3IodXRpbHMuYW1iaWd1b3VzQWN0aW9uTmFtZU1zZyhkYXRhc2V0VG9UZXN0RmluYWwsIGFsbFJlc29sdmVkKSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXQgPSBhbGxSZXNvbHZlZC5sZW5ndGggPiAwID8gYWxsUmVzb2x2ZWRbMF0gOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoIShkYXRhc2V0ICYmIGRhdGFzZXQgaW5zdGFuY2VvZiB0YWJsZS5UYWJsZSkpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uLmNvbXBpbGVFcnJvcihcbiAgICAgICAgICBuZXcgRXJyb3IoYERhdGFzZXQgJHt1dGlscy5zdHJpbmdpZnlSZXNvbHZhYmxlKHRoaXMuZGF0YXNldFRvVGVzdCl9IGNvdWxkIG5vdCBiZSBmb3VuZC5gKSxcbiAgICAgICAgICB0aGlzLnByb3RvLmZpbGVOYW1lXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGRhdGFzZXQucHJvdG8udHlwZSA9PT0gXCJpbmNyZW1lbnRhbFwiKSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbi5jb21waWxlRXJyb3IoXG4gICAgICAgICAgbmV3IEVycm9yKFwiUnVubmluZyB0ZXN0cyBvbiBpbmNyZW1lbnRhbCBkYXRhc2V0cyBpcyBub3QgeWV0IHN1cHBvcnRlZC5cIiksXG4gICAgICAgICAgdGhpcy5wcm90by5maWxlTmFtZVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVmUmVwbGFjaW5nQ29udGV4dCA9IG5ldyBSZWZSZXBsYWNpbmdDb250ZXh0KHRlc3RDb250ZXh0KTtcbiAgICAgICAgdGhpcy5wcm90by50ZXN0UXVlcnkgPSByZWZSZXBsYWNpbmdDb250ZXh0LmFwcGx5KGRhdGFzZXQuY29udGV4dGFibGVRdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucHJvdG8uZXhwZWN0ZWRPdXRwdXRRdWVyeSA9IHRlc3RDb250ZXh0LmFwcGx5KHRoaXMuY29udGV4dGFibGVRdWVyeSk7XG4gICAgcmV0dXJuIHRoaXMucHJvdG87XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RDb250ZXh0IHtcbiAgcHVibGljIHJlYWRvbmx5IHRlc3Q6IFRlc3Q7XG4gIGNvbnN0cnVjdG9yKHRlc3Q6IFRlc3QpIHtcbiAgICB0aGlzLnRlc3QgPSB0ZXN0O1xuICB9XG5cbiAgcHVibGljIGFwcGx5PFQ+KHZhbHVlOiBUQ29udGV4dGFibGU8VD4pOiBUIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiAodmFsdWUgYXMgYW55KSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBSZWZSZXBsYWNpbmdDb250ZXh0IGltcGxlbWVudHMgdGFibGUuSVRhYmxlQ29udGV4dCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVzdENvbnRleHQ6IFRlc3RDb250ZXh0O1xuXG4gIGNvbnN0cnVjdG9yKHRlc3RDb250ZXh0OiBUZXN0Q29udGV4dCkge1xuICAgIHRoaXMudGVzdENvbnRleHQgPSB0ZXN0Q29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyByZWYobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZShuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlKG5hbWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy50ZXN0Q29udGV4dC50ZXN0LmNvbnRleHRhYmxlSW5wdXRzW25hbWVdKSB7XG4gICAgICB0aGlzLnRlc3RDb250ZXh0LnRlc3Quc2Vzc2lvbi5jb21waWxlRXJyb3IoXG4gICAgICAgIG5ldyBFcnJvcihgSW5wdXQgZm9yIGRhdGFzZXQgXCIke25hbWV9XCIgaGFzIG5vdCBiZWVuIHByb3ZpZGVkLmApXG4gICAgICApO1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBgKCR7dGhpcy50ZXN0Q29udGV4dC5hcHBseSh0aGlzLnRlc3RDb250ZXh0LnRlc3QuY29udGV4dGFibGVJbnB1dHNbbmFtZV0pfSlgO1xuICB9XG5cbiAgcHVibGljIGFwcGx5PFQ+KHZhbHVlOiB0YWJsZS5UQ29udGV4dGFibGU8VD4pOiBUIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiAodmFsdWUgYXMgYW55KSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb25maWcoY29uZmlnOiB0YWJsZS5UQ29uZmlnKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgc2VsZigpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIHR5cGUodHlwZTogdGFibGUuVGFibGVUeXBlKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgd2hlcmUod2hlcmU6IHRhYmxlLlRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcHJlT3BzKHN0YXRlbWVudDogdGFibGUuVENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPikge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIHBvc3RPcHMoc3RhdGVtZW50OiB0YWJsZS5UQ29udGV4dGFibGU8c3RyaW5nIHwgc3RyaW5nW10+KSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcmVkc2hpZnQocmVkc2hpZnQ6IGRhdGFmb3JtLklSZWRzaGlmdE9wdGlvbnMpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBiaWdxdWVyeShiaWdxdWVyeTogZGF0YWZvcm0uSUJpZ1F1ZXJ5T3B0aW9ucykge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyhuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyB0YWdzKHRhZ3M6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUNBLDhDQUE4QztJQUM5Qyw4Q0FBOEM7SUFDOUMsNkNBQTRDO0lBUTVDLE1BQWEsSUFBSTtRQUFqQjtZQUNTLFVBQUssR0FBbUIsaUJBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFHL0Msc0JBQWlCLEdBQWdELEVBQUUsQ0FBQztRQTZEN0UsQ0FBQztRQXhEUSxNQUFNLENBQUMsTUFBZTtZQUMzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sT0FBTyxDQUFDLEdBQWU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRU0sS0FBSyxDQUFDLE9BQWUsRUFBRSxnQkFBc0M7WUFDbEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1lBQ25ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVNLE1BQU0sQ0FBQyxnQkFBc0M7WUFDbEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVNLE9BQU87WUFDWixNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3ZCLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLEVBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsUUFB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aUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEYsQ0FBQztRQUVNLEtBQUssQ0FBSSxLQUE0QjtZQUMxQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDL0IsT0FBUSxLQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUM7UUFFTSxNQUFNLENBQUMsTUFBcUI7WUFDakMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sSUFBSTtZQUNULE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLElBQUk7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxJQUFJLENBQUMsSUFBcUI7WUFDL0IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sS0FBSyxDQUFDLEtBQWlDO1lBQzVDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLE1BQU0sQ0FBQyxTQUFnRDtZQUM1RCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxPQUFPLENBQUMsU0FBZ0Q7WUFDN0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sUUFBUTtZQUNiLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVNLFFBQVEsQ0FBQyxRQUFtQztZQUNqRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFTSxRQUFRLENBQUMsUUFBbUM7WUFDakQsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sWUFBWSxDQUFDLElBQVk7WUFDOUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRU0sSUFBSSxDQUFDLElBQWM7WUFDeEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0tBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvbHZhYmxlLCBTZXNzaW9uIH0gZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3Nlc3Npb25cIjtcbmltcG9ydCAqIGFzIHRhYmxlIGZyb20gXCJAZGF0YWZvcm0vY29yZS90YWJsZVwiO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3V0aWxzXCI7XG5pbXBvcnQgeyBkYXRhZm9ybSB9IGZyb20gXCJAZGF0YWZvcm0vcHJvdG9zXCI7XG5cbmV4cG9ydCB0eXBlIFRDb250ZXh0YWJsZTxUPiA9IFQgfCAoKGN0eDogVGVzdENvbnRleHQpID0+IFQpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRDb25maWcge1xuICBkYXRhc2V0PzogUmVzb2x2YWJsZTtcbn1cblxuZXhwb3J0IGNsYXNzIFRlc3Qge1xuICBwdWJsaWMgcHJvdG86IGRhdGFmb3JtLklUZXN0ID0gZGF0YWZvcm0uVGVzdC5jcmVhdGUoKTtcblxuICBwdWJsaWMgc2Vzc2lvbjogU2Vzc2lvbjtcbiAgcHVibGljIGNvbnRleHRhYmxlSW5wdXRzOiB7IFtyZWZOYW1lOiBzdHJpbmddOiBUQ29udGV4dGFibGU8c3RyaW5nPiB9ID0ge307XG5cbiAgcHJpdmF0ZSBkYXRhc2V0VG9UZXN0OiBSZXNvbHZhYmxlO1xuICBwcml2YXRlIGNvbnRleHRhYmxlUXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+O1xuXG4gIHB1YmxpYyBjb25maWcoY29uZmlnOiBUQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZy5kYXRhc2V0KSB7XG4gICAgICB0aGlzLmRhdGFzZXQoY29uZmlnLmRhdGFzZXQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkYXRhc2V0KHJlZjogUmVzb2x2YWJsZSkge1xuICAgIHRoaXMuZGF0YXNldFRvVGVzdCA9IHJlZjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBpbnB1dChyZWZOYW1lOiBzdHJpbmcsIGNvbnRleHRhYmxlUXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZUlucHV0c1tyZWZOYW1lXSA9IGNvbnRleHRhYmxlUXVlcnk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZXhwZWN0KGNvbnRleHRhYmxlUXVlcnk6IFRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5jb250ZXh0YWJsZVF1ZXJ5ID0gY29udGV4dGFibGVRdWVyeTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb21waWxlKCkge1xuICAgIGNvbnN0IHRlc3RDb250ZXh0ID0gbmV3IFRlc3RDb250ZXh0KHRoaXMpO1xuICAgIGlmICghdGhpcy5kYXRhc2V0VG9UZXN0KSB7XG4gICAgICB0aGlzLnNlc3Npb24uY29tcGlsZUVycm9yKFxuICAgICAgICBuZXcgRXJyb3IoXCJUZXN0cyBtdXN0IG9wZXJhdGUgdXBvbiBhIHNwZWNpZmllZCBkYXRhc2V0LlwiKSxcbiAgICAgICAgdGhpcy5wcm90by5maWxlTmFtZVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYWxsUmVzb2x2ZWQgPSB0aGlzLnNlc3Npb24uZmluZEFjdGlvbnModGhpcy5kYXRhc2V0VG9UZXN0KTtcbiAgICAgIGlmIChhbGxSZXNvbHZlZC5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbi5jb21waWxlRXJyb3IoXG4gICAgICAgICAgbmV3IEVycm9yKHV0aWxzLmFtYmlndW91c0FjdGlvbk5hbWVNc2codGhpcy5kYXRhc2V0VG9UZXN0LCBhbGxSZXNvbHZlZCkpLFxuICAgICAgICAgIHRoaXMucHJvdG8uZmlsZU5hbWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXQgPSBhbGxSZXNvbHZlZC5sZW5ndGggPiAwID8gYWxsUmVzb2x2ZWRbMF0gOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoIShkYXRhc2V0ICYmIGRhdGFzZXQgaW5zdGFuY2VvZiB0YWJsZS5UYWJsZSkpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uLmNvbXBpbGVFcnJvcihcbiAgICAgICAgICBuZXcgRXJyb3IoYERhdGFzZXQgJHt1dGlscy5zdHJpbmdpZnlSZXNvbHZhYmxlKHRoaXMuZGF0YXNldFRvVGVzdCl9IGNvdWxkIG5vdCBiZSBmb3VuZC5gKSxcbiAgICAgICAgICB0aGlzLnByb3RvLmZpbGVOYW1lXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGRhdGFzZXQucHJvdG8udHlwZSA9PT0gXCJpbmNyZW1lbnRhbFwiKSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbi5jb21waWxlRXJyb3IoXG4gICAgICAgICAgbmV3IEVycm9yKFwiUnVubmluZyB0ZXN0cyBvbiBpbmNyZW1lbnRhbCBkYXRhc2V0cyBpcyBub3QgeWV0IHN1cHBvcnRlZC5cIiksXG4gICAgICAgICAgdGhpcy5wcm90by5maWxlTmFtZVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVmUmVwbGFjaW5nQ29udGV4dCA9IG5ldyBSZWZSZXBsYWNpbmdDb250ZXh0KHRlc3RDb250ZXh0KTtcbiAgICAgICAgdGhpcy5wcm90by50ZXN0UXVlcnkgPSByZWZSZXBsYWNpbmdDb250ZXh0LmFwcGx5KGRhdGFzZXQuY29udGV4dGFibGVRdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucHJvdG8uZXhwZWN0ZWRPdXRwdXRRdWVyeSA9IHRlc3RDb250ZXh0LmFwcGx5KHRoaXMuY29udGV4dGFibGVRdWVyeSk7XG4gICAgcmV0dXJuIHRoaXMucHJvdG87XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RDb250ZXh0IHtcbiAgcHVibGljIHJlYWRvbmx5IHRlc3Q6IFRlc3Q7XG4gIGNvbnN0cnVjdG9yKHRlc3Q6IFRlc3QpIHtcbiAgICB0aGlzLnRlc3QgPSB0ZXN0O1xuICB9XG5cbiAgcHVibGljIGFwcGx5PFQ+KHZhbHVlOiBUQ29udGV4dGFibGU8VD4pOiBUIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiAodmFsdWUgYXMgYW55KSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBSZWZSZXBsYWNpbmdDb250ZXh0IGltcGxlbWVudHMgdGFibGUuSVRhYmxlQ29udGV4dCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVzdENvbnRleHQ6IFRlc3RDb250ZXh0O1xuXG4gIGNvbnN0cnVjdG9yKHRlc3RDb250ZXh0OiBUZXN0Q29udGV4dCkge1xuICAgIHRoaXMudGVzdENvbnRleHQgPSB0ZXN0Q29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyByZWYobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZShuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlKG5hbWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy50ZXN0Q29udGV4dC50ZXN0LmNvbnRleHRhYmxlSW5wdXRzW25hbWVdKSB7XG4gICAgICB0aGlzLnRlc3RDb250ZXh0LnRlc3Quc2Vzc2lvbi5jb21waWxlRXJyb3IoXG4gICAgICAgIG5ldyBFcnJvcihgSW5wdXQgZm9yIGRhdGFzZXQgXCIke25hbWV9XCIgaGFzIG5vdCBiZWVuIHByb3ZpZGVkLmApXG4gICAgICApO1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBgKCR7dGhpcy50ZXN0Q29udGV4dC5hcHBseSh0aGlzLnRlc3RDb250ZXh0LnRlc3QuY29udGV4dGFibGVJbnB1dHNbbmFtZV0pfSlgO1xuICB9XG5cbiAgcHVibGljIGFwcGx5PFQ+KHZhbHVlOiB0YWJsZS5UQ29udGV4dGFibGU8VD4pOiBUIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiAodmFsdWUgYXMgYW55KSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb25maWcoY29uZmlnOiB0YWJsZS5UQ29uZmlnKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgc2VsZigpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIHR5cGUodHlwZTogdGFibGUuVGFibGVUeXBlKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgd2hlcmUod2hlcmU6IHRhYmxlLlRDb250ZXh0YWJsZTxzdHJpbmc+KSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcHJlT3BzKHN0YXRlbWVudDogdGFibGUuVENvbnRleHRhYmxlPHN0cmluZyB8IHN0cmluZ1tdPikge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIHBvc3RPcHMoc3RhdGVtZW50OiB0YWJsZS5UQ29udGV4dGFibGU8c3RyaW5nIHwgc3RyaW5nW10+KSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgcmVkc2hpZnQocmVkc2hpZnQ6IGRhdGFmb3JtLklSZWRzaGlmdE9wdGlvbnMpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBiaWdxdWVyeShiaWdxdWVyeTogZGF0YWZvcm0uSUJpZ1F1ZXJ5T3B0aW9ucykge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHVibGljIGRlcGVuZGVuY2llcyhuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyB0YWdzKHRhZ3M6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbn1cbiJdfQ== |
@@ -8,5 +8,3 @@ /// <amd-module name="@dataform/core/utils" /> | ||
import { dataform } from "@dataform/protos"; | ||
export declare function relativePath(path: string, base: string): string; | ||
export declare function baseFilename(path: string): string; | ||
export declare function variableNameFriendly(value: string): string; | ||
export declare function matchPatterns(patterns: string[], values: string[]): string[]; | ||
@@ -19,7 +17,2 @@ export declare function getCallerFile(rootDir: string): string; | ||
export declare function stringifyResolvable(res: Resolvable): string; | ||
export declare function targetAsResolvable(t: dataform.ITarget): { | ||
schema: string; | ||
name: string; | ||
}; | ||
export declare function appendSuffixToSchema(d: Resolvable, suffix: string): string; | ||
export declare function ambiguousActionNameMsg(act: Resolvable, allActs: Array<Table | Operation | Assertion | Declaration> | string[]): string; |
42
utils.js
@@ -16,3 +16,3 @@ (function (factory) { | ||
function relativePath(path, base) { | ||
if (base.length == 0) { | ||
if (base.length === 0) { | ||
return path; | ||
@@ -28,3 +28,2 @@ } | ||
} | ||
exports.relativePath = relativePath; | ||
function baseFilename(path) { | ||
@@ -35,19 +34,12 @@ const pathSplits = path.split("/"); | ||
exports.baseFilename = baseFilename; | ||
function variableNameFriendly(value) { | ||
return value | ||
.replace("-", "") | ||
.replace("@", "") | ||
.replace("/", ""); | ||
} | ||
exports.variableNameFriendly = variableNameFriendly; | ||
function matchPatterns(patterns, values) { | ||
const fQActs = []; | ||
patterns.forEach(pat => { | ||
if (pat.includes(".")) { | ||
if (values.includes(pat)) { | ||
fQActs.push(pat); | ||
const fullyQualifiedActions = []; | ||
patterns.forEach(pattern => { | ||
if (pattern.includes(".")) { | ||
if (values.includes(pattern)) { | ||
fullyQualifiedActions.push(pattern); | ||
} | ||
} | ||
else { | ||
const matchingActions = values.filter(value => pat === value.split(".").slice(-1)[0]); | ||
const matchingActions = values.filter(value => pattern === value.split(".").slice(-1)[0]); | ||
if (matchingActions.length === 0) { | ||
@@ -57,8 +49,8 @@ return; | ||
if (matchingActions.length > 1) { | ||
throw new Error(ambiguousActionNameMsg(pat, matchingActions)); | ||
throw new Error(ambiguousActionNameMsg(pattern, matchingActions)); | ||
} | ||
fQActs.push(matchingActions[0]); | ||
fullyQualifiedActions.push(matchingActions[0]); | ||
} | ||
}); | ||
return fQActs; | ||
return fullyQualifiedActions; | ||
} | ||
@@ -119,5 +111,2 @@ exports.matchPatterns = matchPatterns; | ||
const validationErrors = []; | ||
const allActions = [].concat(compiledGraph.tables, compiledGraph.assertions, compiledGraph.operations, compiledGraph.declarations); | ||
const actionsByName = {}; | ||
allActions.forEach(action => (actionsByName[action.name] = action)); | ||
compiledGraph.tables.forEach(action => { | ||
@@ -201,11 +190,2 @@ const actionName = action.name; | ||
exports.stringifyResolvable = stringifyResolvable; | ||
function targetAsResolvable(t) { | ||
return { schema: t.schema, name: t.name }; | ||
} | ||
exports.targetAsResolvable = targetAsResolvable; | ||
function appendSuffixToSchema(d, suffix) { | ||
const dStr = stringifyResolvable(d); | ||
return dStr.includes(".") ? `${dStr.split(".")[0]}${suffix}.${dStr.split(".")[1]}` : dStr; | ||
} | ||
exports.appendSuffixToSchema = appendSuffixToSchema; | ||
function ambiguousActionNameMsg(act, allActs) { | ||
@@ -219,2 +199,2 @@ const allActNames = typeof allActs[0] === "string" | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBSUEsZ0RBTThCO0lBQzlCLDZDQUE0QztJQUU1QyxNQUFNLG1DQUFtQyxHQUFHLElBQUksTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFekYsU0FBZ0IsWUFBWSxDQUFDLElBQVksRUFBRSxJQUFZO1FBQ3JELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0I7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQVZELG9DQVVDO0lBRUQsU0FBZ0IsWUFBWSxDQUFDLElBQVk7UUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBSEQsb0NBR0M7SUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxLQUFhO1FBQ2hELE9BQU8sS0FBSzthQUNULE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ2hCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ2hCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUxELG9EQUtDO0lB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SyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQ3ZELENBQUM7UUFDUixPQUFPLDBCQUEwQixtQkFBbUIsQ0FDbEQsR0FBRyxDQUNKLDBCQUEwQixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDdkQsQ0FBQztJQWJELHdEQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSBcIkBkYXRhZm9ybS9jb3JlL2Fzc2VydGlvblwiO1xuaW1wb3J0IHsgRGVjbGFyYXRpb24gfSBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvZGVjbGFyYXRpb25cIjtcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCJAZGF0YWZvcm0vY29yZS9vcGVyYXRpb25cIjtcbmltcG9ydCB7IFJlc29sdmFibGUgfSBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvc2Vzc2lvblwiO1xuaW1wb3J0IHtcbiAgRGlzdFN0eWxlVHlwZXMsXG4gIGlnbm9yZWRQcm9wcyxcbiAgU29ydFN0eWxlVHlwZXMsXG4gIFRhYmxlLFxuICBUYWJsZVR5cGVzXG59IGZyb20gXCJAZGF0YWZvcm0vY29yZS90YWJsZVwiO1xuaW1wb3J0IHsgZGF0YWZvcm0gfSBmcm9tIFwiQGRhdGFmb3JtL3Byb3Rvc1wiO1xuXG5jb25zdCBTUUxfREFUQV9XQVJFSE9VU0VfRElTVF9IQVNIX1JFR0VYUCA9IG5ldyBSZWdFeHAoXCJIQVNIXFxcXHMqXFxcXChcXFxccypcXFxcdypcXFxccypcXFxcKVxcXFxzKlwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbGF0aXZlUGF0aChwYXRoOiBzdHJpbmcsIGJhc2U6IHN0cmluZykge1xuICBpZiAoYmFzZS5sZW5ndGggPT0gMCkge1xuICAgIHJldHVybiBwYXRoO1xuICB9XG4gIGNvbnN0IHN0cmlwcGVkID0gcGF0aC5zdWJzdHIoYmFzZS5sZW5ndGgpO1xuICBpZiAoc3RyaXBwZWQuc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICByZXR1cm4gc3RyaXBwZWQuc3Vic3RyKDEpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdHJpcHBlZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFzZUZpbGVuYW1lKHBhdGg6IHN0cmluZykge1xuICBjb25zdCBwYXRoU3BsaXRzID0gcGF0aC5zcGxpdChcIi9cIik7XG4gIHJldHVybiBwYXRoU3BsaXRzW3BhdGhTcGxpdHMubGVuZ3RoIC0gMV0uc3BsaXQoXCIuXCIpWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVOYW1lRnJpZW5kbHkodmFsdWU6IHN0cmluZykge1xuICByZXR1cm4gdmFsdWVcbiAgICAucmVwbGFjZShcIi1cIiwgXCJcIilcbiAgICAucmVwbGFjZShcIkBcIiwgXCJcIilcbiAgICAucmVwbGFjZShcIi9cIiwgXCJcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFBhdHRlcm5zKHBhdHRlcm5zOiBzdHJpbmdbXSwgdmFsdWVzOiBzdHJpbmdbXSkge1xuICBjb25zdCBmUUFjdHM6IHN0cmluZ1tdID0gW107XG4gIHBhdHRlcm5zLmZvckVhY2gocGF0ID0+IHtcbiAgICBpZiAocGF0LmluY2x1ZGVzKFwiLlwiKSkge1xuICAgICAgaWYgKHZhbHVlcy5pbmNsdWRlcyhwYXQpKSB7XG4gICAgICAgIGZRQWN0cy5wdXNoKHBhdCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nQWN0aW9ucyA9IHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gcGF0ID09PSB2YWx1ZS5zcGxpdChcIi5cIikuc2xpY2UoLTEpWzBdKTtcbiAgICAgIGlmIChtYXRjaGluZ0FjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChtYXRjaGluZ0FjdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYW1iaWd1b3VzQWN0aW9uTmFtZU1zZyhwYXQsIG1hdGNoaW5nQWN0aW9ucykpO1xuICAgICAgfVxuICAgICAgZlFBY3RzLnB1c2gobWF0Y2hpbmdBY3Rpb25zWzBdKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZlFBY3RzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FsbGVyRmlsZShyb290RGlyOiBzdHJpbmcpIHtcbiAgbGV0IGxhc3RmaWxlOiBzdHJpbmc7XG4gIGNvbnN0IHN0YWNrID0gZ2V0Q3VycmVudFN0YWNrKCk7XG4gIHdoaWxlIChzdGFjay5sZW5ndGgpIHtcbiAgICBsYXN0ZmlsZSA9IHN0YWNrLnNoaWZ0KCkuZ2V0RmlsZU5hbWUoKTtcbiAgICBpZiAoIWxhc3RmaWxlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKCFsYXN0ZmlsZS5pbmNsdWRlcyhyb290RGlyKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChsYXN0ZmlsZS5pbmNsdWRlcyhcIm5vZGVfbW9kdWxlc1wiKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmICghKGxhc3RmaWxlLmluY2x1ZGVzKFwiZGVmaW5pdGlvbnMvXCIpIHx8IGxhc3RmaWxlLmluY2x1ZGVzKFwibW9kZWxzL1wiKSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBicmVhaztcbiAgfVxuICByZXR1cm4gcmVsYXRpdmVQYXRoKGxhc3RmaWxlLCByb290RGlyKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudFN0YWNrKCk6IE5vZGVKUy5DYWxsU2l0ZVtdIHtcbiAgY29uc3Qgb3JpZ2luYWxQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlO1xuICB0cnkge1xuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gKGVyciwgc3RhY2spID0+IHtcbiAgICAgIHJldHVybiBzdGFjaztcbiAgICB9O1xuICAgIHJldHVybiAobmV3IEVycm9yKCkuc3RhY2sgYXMgdW5rbm93bikgYXMgTm9kZUpTLkNhbGxTaXRlW107XG4gIH0gZmluYWxseSB7XG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBvcmlnaW5hbFByZXBhcmVTdGFja1RyYWNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaEhhc0Vycm9ycyhncmFwaDogZGF0YWZvcm0uSUNvbXBpbGVkR3JhcGgpIHtcbiAgY29uc3QgZ3JhcGhFcnJvcnMgPSB2YWxpZGF0ZShncmFwaCk7XG5cbiAgcmV0dXJuIChcbiAgICAoZ3JhcGhFcnJvcnMuY29tcGlsYXRpb25FcnJvcnMgJiYgZ3JhcGhFcnJvcnMuY29tcGlsYXRpb25FcnJvcnMubGVuZ3RoID4gMCkgfHxcbiAgICAoZ3JhcGhFcnJvcnMudmFsaWRhdGlvbkVycm9ycyAmJiBncmFwaEVycm9ycy52YWxpZGF0aW9uRXJyb3JzLmxlbmd0aCA+IDApXG4gICk7XG59XG5cbmZ1bmN0aW9uIGpvaW5RdW90ZWQodmFsdWVzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWU6IHN0cmluZykgPT4gYFwiJHt2YWx1ZX1cImApLmpvaW4oXCIgfCBcIik7XG59XG5cbmZ1bmN0aW9uIG9iamVjdEV4aXN0c09ySXNOb25FbXB0eShwcm9wOiBhbnkpOiBib29sZWFuIHtcbiAgaWYgKCFwcm9wKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wKSAmJiAhIXByb3AubGVuZ3RoKSB8fFxuICAgICghQXJyYXkuaXNBcnJheShwcm9wKSAmJiB0eXBlb2YgcHJvcCA9PT0gXCJvYmplY3RcIiAmJiAhIU9iamVjdC5rZXlzKHByb3ApLmxlbmd0aCkgfHxcbiAgICB0eXBlb2YgcHJvcCAhPT0gXCJvYmplY3RcIlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGUoY29tcGlsZWRHcmFwaDogZGF0YWZvcm0uSUNvbXBpbGVkR3JhcGgpOiBkYXRhZm9ybS5JR3JhcGhFcnJvcnMge1xuICBjb25zdCB2YWxpZGF0aW9uRXJyb3JzOiBkYXRhZm9ybS5JVmFsaWRhdGlvbkVycm9yW10gPSBbXTtcblxuICAvLyBDaGVjayB0aGVyZSBhcmVuJ3QgYW55IGR1cGxpY2F0ZSBuYW1lcy5cbiAgY29uc3QgYWxsQWN0aW9ucyA9IFtdLmNvbmNhdChcbiAgICBjb21waWxlZEdyYXBoLnRhYmxlcyxcbiAgICBjb21waWxlZEdyYXBoLmFzc2VydGlvbnMsXG4gICAgY29tcGlsZWRHcmFwaC5vcGVyYXRpb25zLFxuICAgIGNvbXBpbGVkR3JhcGguZGVjbGFyYXRpb25zXG4gICk7XG5cbiAgY29uc3QgYWN0aW9uc0J5TmFtZTogeyBbbmFtZTogc3RyaW5nXTogZGF0YWZvcm0uSUV4ZWN1dGlvbkFjdGlvbiB9ID0ge307XG4gIGFsbEFjdGlvbnMuZm9yRWFjaChhY3Rpb24gPT4gKGFjdGlvbnNCeU5hbWVbYWN0aW9uLm5hbWVdID0gYWN0aW9uKSk7XG5cbiAgLy8gVGFibGUgdmFsaWRhdGlvblxuICBjb21waWxlZEdyYXBoLnRhYmxlcy5mb3JFYWNoKGFjdGlvbiA9PiB7XG4gICAgY29uc3QgYWN0aW9uTmFtZSA9IGFjdGlvbi5uYW1lO1xuXG4gICAgLy8gdHlwZVxuICAgIGlmICghIWFjdGlvbi50eXBlICYmICFPYmplY3QudmFsdWVzKFRhYmxlVHlwZXMpLmluY2x1ZGVzKGFjdGlvbi50eXBlKSkge1xuICAgICAgY29uc3QgcHJlZGVmaW5lZFR5cGVzID0gam9pblF1b3RlZChPYmplY3QudmFsdWVzKFRhYmxlVHlwZXMpKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgV3JvbmcgdHlwZSBvZiB0YWJsZSBkZXRlY3RlZC4gU2hvdWxkIG9ubHkgdXNlIHByZWRlZmluZWQgdHlwZXM6ICR7cHJlZGVmaW5lZFR5cGVzfWA7XG4gICAgICB2YWxpZGF0aW9uRXJyb3JzLnB1c2goZGF0YWZvcm0uVmFsaWRhdGlvbkVycm9yLmNyZWF0ZSh7IG1lc3NhZ2UsIGFjdGlvbk5hbWUgfSkpO1xuICAgIH1cblxuICAgIC8vIFwid2hlcmVcIiBwcm9wZXJ0eVxuICAgIGlmIChhY3Rpb24udHlwZSA9PT0gVGFibGVUeXBlcy5JTkNSRU1FTlRBTCAmJiAoIWFjdGlvbi53aGVyZSB8fCBhY3Rpb24ud2hlcmUubGVuZ3RoID09PSAwKSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBcIndoZXJlXCIgcHJvcGVydHkgaXMgbm90IGRlZmluZWQuIFdpdGggdGhlIHR5cGUg4oCcaW5jcmVtZW50YWzigJ0geW91IG11c3QgYWxzbyBzcGVjaWZ5IHRoZSBwcm9wZXJ0eSDigJx3aGVyZeKAnSFgO1xuICAgICAgdmFsaWRhdGlvbkVycm9ycy5wdXNoKGRhdGFmb3JtLlZhbGlkYXRpb25FcnJvci5jcmVhdGUoeyBtZXNzYWdlLCBhY3Rpb25OYW1lIH0pKTtcbiAgICB9XG5cbiAgICAvLyBzcWxkYXRhd2FyZWhvdXNlIGNvbmZpZ1xuICAgIGlmIChhY3Rpb24uc3FsRGF0YVdhcmVob3VzZSAmJiBhY3Rpb24uc3FsRGF0YVdhcmVob3VzZS5kaXN0cmlidXRpb24pIHtcbiAgICAgIGNvbnN0IGRpc3RyaWJ1dGlvbiA9IGFjdGlvbi5zcWxEYXRhV2FyZWhvdXNlLmRpc3RyaWJ1dGlvbi50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRpc3RyaWJ1dGlvbiAhPT0gXCJSRVBMSUNBVEVcIiAmJlxuICAgICAgICBkaXN0cmlidXRpb24gIT09IFwiUk9VTkRfUk9CSU5cIiAmJlxuICAgICAgICAhU1FMX0RBVEFfV0FSRUhPVVNFX0RJU1RfSEFTSF9SRUdFWFAudGVzdChkaXN0cmlidXRpb24pXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBJbnZhbGlkIHZhbHVlIGZvciBzcWxkYXRhd2FyZWhvdXNlIGRpc3RyaWJ1dGlvbjogXCIke2Rpc3RyaWJ1dGlvbn1cImA7XG4gICAgICAgIHZhbGlkYXRpb25FcnJvcnMucHVzaChkYXRhZm9ybS5WYWxpZGF0aW9uRXJyb3IuY3JlYXRlKHsgbWVzc2FnZSwgYWN0aW9uTmFtZSB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVkc2hpZnQgY29uZmlnXG4gICAgaWYgKCEhYWN0aW9uLnJlZHNoaWZ0KSB7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5rZXlzKGFjdGlvbi5yZWRzaGlmdCkubGVuZ3RoID09PSAwIHx8XG4gICAgICAgIE9iamVjdC52YWx1ZXMoYWN0aW9uLnJlZHNoaWZ0KS5ldmVyeSgodmFsdWU6IHN0cmluZykgPT4gIXZhbHVlLmxlbmd0aClcbiAgICAgICkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gYE1pc3NpbmcgcHJvcGVydGllcyBpbiByZWRzaGlmdCBjb25maWdgO1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3JzLnB1c2goZGF0YWZvcm0uVmFsaWRhdGlvbkVycm9yLmNyZWF0ZSh7IG1lc3NhZ2UsIGFjdGlvbk5hbWUgfSkpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWxpZGF0ZVByb3BlcnR5RGVmaW5lZCA9IChcbiAgICAgICAgb3B0czogZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9ucyxcbiAgICAgICAgcHJvcDoga2V5b2YgZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9uc1xuICAgICAgKSA9PiB7XG4gICAgICAgIGlmICghb3B0c1twcm9wXSB8fCAhb3B0c1twcm9wXS5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFByb3BlcnR5IFwiJHtwcm9wfVwiIGlzIG5vdCBkZWZpbmVkYDtcbiAgICAgICAgICB2YWxpZGF0aW9uRXJyb3JzLnB1c2goZGF0YWZvcm0uVmFsaWRhdGlvbkVycm9yLmNyZWF0ZSh7IG1lc3NhZ2UsIGFjdGlvbk5hbWUgfSkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgdmFsaWRhdGVQcm9wZXJ0aWVzRGVmaW5lZCA9IChcbiAgICAgICAgb3B0czogZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9ucyxcbiAgICAgICAgcHJvcHM6IEFycmF5PGtleW9mIGRhdGFmb3JtLklSZWRzaGlmdE9wdGlvbnM+XG4gICAgICApID0+IHByb3BzLmZvckVhY2gocHJvcCA9PiB2YWxpZGF0ZVByb3BlcnR5RGVmaW5lZChvcHRzLCBwcm9wKSk7XG4gICAgICBjb25zdCB2YWxpZGF0ZVByb3BlcnR5VmFsdWVJblZhbHVlcyA9IChcbiAgICAgICAgb3B0czogZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9ucyxcbiAgICAgICAgcHJvcDoga2V5b2YgZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9ucyAmIChcImRpc3RTdHlsZVwiIHwgXCJzb3J0U3R5bGVcIiksXG4gICAgICAgIHZhbHVlczogc3RyaW5nW11cbiAgICAgICkgPT4ge1xuICAgICAgICBpZiAoISFvcHRzW3Byb3BdICYmICF2YWx1ZXMuaW5jbHVkZXMob3B0c1twcm9wXSkpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFdyb25nIHZhbHVlIG9mIFwiJHtwcm9wfVwiIHByb3BlcnR5LiBTaG91bGQgb25seSB1c2UgcHJlZGVmaW5lZCB2YWx1ZXM6ICR7am9pblF1b3RlZChcbiAgICAgICAgICAgIHZhbHVlc1xuICAgICAgICAgICl9YDtcbiAgICAgICAgICB2YWxpZGF0aW9uRXJyb3JzLnB1c2goZGF0YWZvcm0uVmFsaWRhdGlvbkVycm9yLmNyZWF0ZSh7IG1lc3NhZ2UsIGFjdGlvbk5hbWUgfSkpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAoYWN0aW9uLnJlZHNoaWZ0LmRpc3RTdHlsZSB8fCBhY3Rpb24ucmVkc2hpZnQuZGlzdEtleSkge1xuICAgICAgICB2YWxpZGF0ZVByb3BlcnRpZXNEZWZpbmVkKGFjdGlvbi5yZWRzaGlmdCwgW1wiZGlzdFN0eWxlXCIsIFwiZGlzdEtleVwiXSk7XG4gICAgICAgIHZhbGlkYXRlUHJvcGVydHlWYWx1ZUluVmFsdWVzKGFjdGlvbi5yZWRzaGlmdCwgXCJkaXN0U3R5bGVcIiwgT2JqZWN0LnZhbHVlcyhEaXN0U3R5bGVUeXBlcykpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBhY3Rpb24ucmVkc2hpZnQuc29ydFN0eWxlIHx8XG4gICAgICAgIChhY3Rpb24ucmVkc2hpZnQuc29ydEtleXMgJiYgYWN0aW9uLnJlZHNoaWZ0LnNvcnRLZXlzLmxlbmd0aClcbiAgICAgICkge1xuICAgICAgICB2YWxpZGF0ZVByb3BlcnRpZXNEZWZpbmVkKGFjdGlvbi5yZWRzaGlmdCwgW1wic29ydFN0eWxlXCIsIFwic29ydEtleXNcIl0pO1xuICAgICAgICB2YWxpZGF0ZVByb3BlcnR5VmFsdWVJblZhbHVlcyhhY3Rpb24ucmVkc2hpZnQsIFwic29ydFN0eWxlXCIsIE9iamVjdC52YWx1ZXMoU29ydFN0eWxlVHlwZXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZ25vcmVkIHByb3BlcnRpZXMgaW4gdGFibGVzXG4gICAgaWYgKCEhaWdub3JlZFByb3BzW2FjdGlvbi50eXBlXSkge1xuICAgICAgaWdub3JlZFByb3BzW2FjdGlvbi50eXBlXS5mb3JFYWNoKGlnbm9yZWRQcm9wID0+IHtcbiAgICAgICAgaWYgKG9iamVjdEV4aXN0c09ySXNOb25FbXB0eShhY3Rpb25baWdub3JlZFByb3BdKSkge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVW51c2VkIHByb3BlcnR5IHdhcyBkZXRlY3RlZDogXCIke2lnbm9yZWRQcm9wfVwiLiBUaGlzIHByb3BlcnR5IGlzIG5vdCB1c2VkIGZvciB0YWJsZXMgd2l0aCB0eXBlIFwiJHthY3Rpb24udHlwZX1cIiBhbmQgd2lsbCBiZSBpZ25vcmVkLmA7XG4gICAgICAgICAgdmFsaWRhdGlvbkVycm9ycy5wdXNoKGRhdGFmb3JtLlZhbGlkYXRpb25FcnJvci5jcmVhdGUoeyBtZXNzYWdlLCBhY3Rpb25OYW1lIH0pKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjb21waWxhdGlvbkVycm9ycyA9XG4gICAgY29tcGlsZWRHcmFwaC5ncmFwaEVycm9ycyAmJiBjb21waWxlZEdyYXBoLmdyYXBoRXJyb3JzLmNvbXBpbGF0aW9uRXJyb3JzXG4gICAgICA/IGNvbXBpbGVkR3JhcGguZ3JhcGhFcnJvcnMuY29tcGlsYXRpb25FcnJvcnNcbiAgICAgIDogW107XG5cbiAgcmV0dXJuIGRhdGFmb3JtLkdyYXBoRXJyb3JzLmNyZWF0ZSh7IHZhbGlkYXRpb25FcnJvcnMsIGNvbXBpbGF0aW9uRXJyb3JzIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbjxUPihuZXN0ZWRBcnJheTogVFtdW10pIHtcbiAgcmV0dXJuIG5lc3RlZEFycmF5LnJlZHVjZSgocHJldmlvdXNWYWx1ZTogVFtdLCBjdXJyZW50VmFsdWU6IFRbXSkgPT4ge1xuICAgIHJldHVybiBwcmV2aW91c1ZhbHVlLmNvbmNhdChjdXJyZW50VmFsdWUpO1xuICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Jlc29sdmFibGUocmVzOiBhbnkpIHtcbiAgcmV0dXJuIHR5cGVvZiByZXMgPT09IFwic3RyaW5nXCIgfHwgKCEhcmVzLnNjaGVtYSAmJiAhIXJlcy5uYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeVJlc29sdmFibGUocmVzOiBSZXNvbHZhYmxlKSB7XG4gIHJldHVybiB0eXBlb2YgcmVzID09PSBcInN0cmluZ1wiID8gcmVzIDogYCR7cmVzLnNjaGVtYX0uJHtyZXMubmFtZX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFyZ2V0QXNSZXNvbHZhYmxlKHQ6IGRhdGFmb3JtLklUYXJnZXQpIHtcbiAgcmV0dXJuIHsgc2NoZW1hOiB0LnNjaGVtYSwgbmFtZTogdC5uYW1lIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRTdWZmaXhUb1NjaGVtYShkOiBSZXNvbHZhYmxlLCBzdWZmaXg6IHN0cmluZykge1xuICBjb25zdCBkU3RyID0gc3RyaW5naWZ5UmVzb2x2YWJsZShkKTtcbiAgcmV0dXJuIGRTdHIuaW5jbHVkZXMoXCIuXCIpID8gYCR7ZFN0ci5zcGxpdChcIi5cIilbMF19JHtzdWZmaXh9LiR7ZFN0ci5zcGxpdChcIi5cIilbMV19YCA6IGRTdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbWJpZ3VvdXNBY3Rpb25OYW1lTXNnKFxuICBhY3Q6IFJlc29sdmFibGUsXG4gIGFsbEFjdHM6IEFycmF5PFRhYmxlIHwgT3BlcmF0aW9uIHwgQXNzZXJ0aW9uIHwgRGVjbGFyYXRpb24+IHwgc3RyaW5nW11cbikge1xuICBjb25zdCBhbGxBY3ROYW1lcyA9XG4gICAgdHlwZW9mIGFsbEFjdHNbMF0gPT09IFwic3RyaW5nXCJcbiAgICAgID8gYWxsQWN0c1xuICAgICAgOiAoYWxsQWN0cyBhcyBBcnJheTxUYWJsZSB8IE9wZXJhdGlvbiB8IEFzc2VydGlvbj4pLm1hcChcbiAgICAgICAgICByID0+IGAke3IucHJvdG8udGFyZ2V0LnNjaGVtYX0uJHtyLnByb3RvLnRhcmdldC5uYW1lfWBcbiAgICAgICAgKTtcbiAgcmV0dXJuIGBBbWJpZ3VvdXMgQWN0aW9uIG5hbWU6ICR7c3RyaW5naWZ5UmVzb2x2YWJsZShcbiAgICBhY3RcbiAgKX0uIERpZCB5b3UgbWVhbiBvbmUgb2Y6ICR7YWxsQWN0TmFtZXMuam9pbihcIiwgXCIpfS5gO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBSUEsZ0RBTThCO0lBQzlCLDZDQUE0QztJQUU1QyxNQUFNLG1DQUFtQyxHQUFHLElBQUksTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFekYsU0FBUyxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDOUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxRQUFRLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsU0FBZ0IsWUFBWSxDQUFDLElBQVk7UUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBSEQsb0NBR0M7SUFFRCxTQUFnQixhQUFhLENBQUMsUUFBa0IsRUFBRSxNQUFnQjtRQUNoRSxNQUFNLHFCQUFxQixHQUFhLEVBQUUsQ0FBQztRQUMzQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekIsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9B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LENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FDdkQsQ0FBQztRQUNSLE9BQU8sMEJBQTBCLG1CQUFtQixDQUNsRCxHQUFHLENBQ0osMEJBQTBCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN2RCxDQUFDO0lBYkQsd0RBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NlcnRpb24gfSBmcm9tIFwiQGRhdGFmb3JtL2NvcmUvYXNzZXJ0aW9uXCI7XG5pbXBvcnQgeyBEZWNsYXJhdGlvbiB9IGZyb20gXCJAZGF0YWZvcm0vY29yZS9kZWNsYXJhdGlvblwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIkBkYXRhZm9ybS9jb3JlL29wZXJhdGlvblwiO1xuaW1wb3J0IHsgUmVzb2x2YWJsZSB9IGZyb20gXCJAZGF0YWZvcm0vY29yZS9zZXNzaW9uXCI7XG5pbXBvcnQge1xuICBEaXN0U3R5bGVUeXBlcyxcbiAgaWdub3JlZFByb3BzLFxuICBTb3J0U3R5bGVUeXBlcyxcbiAgVGFibGUsXG4gIFRhYmxlVHlwZXNcbn0gZnJvbSBcIkBkYXRhZm9ybS9jb3JlL3RhYmxlXCI7XG5pbXBvcnQgeyBkYXRhZm9ybSB9IGZyb20gXCJAZGF0YWZvcm0vcHJvdG9zXCI7XG5cbmNvbnN0IFNRTF9EQVRBX1dBUkVIT1VTRV9ESVNUX0hBU0hfUkVHRVhQID0gbmV3IFJlZ0V4cChcIkhBU0hcXFxccypcXFxcKFxcXFxzKlxcXFx3KlxcXFxzKlxcXFwpXFxcXHMqXCIpO1xuXG5mdW5jdGlvbiByZWxhdGl2ZVBhdGgocGF0aDogc3RyaW5nLCBiYXNlOiBzdHJpbmcpIHtcbiAgaWYgKGJhc2UubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cbiAgY29uc3Qgc3RyaXBwZWQgPSBwYXRoLnN1YnN0cihiYXNlLmxlbmd0aCk7XG4gIGlmIChzdHJpcHBlZC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgIHJldHVybiBzdHJpcHBlZC5zdWJzdHIoMSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0cmlwcGVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYXNlRmlsZW5hbWUocGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IHBhdGhTcGxpdHMgPSBwYXRoLnNwbGl0KFwiL1wiKTtcbiAgcmV0dXJuIHBhdGhTcGxpdHNbcGF0aFNwbGl0cy5sZW5ndGggLSAxXS5zcGxpdChcIi5cIilbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFBhdHRlcm5zKHBhdHRlcm5zOiBzdHJpbmdbXSwgdmFsdWVzOiBzdHJpbmdbXSkge1xuICBjb25zdCBmdWxseVF1YWxpZmllZEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIHBhdHRlcm5zLmZvckVhY2gocGF0dGVybiA9PiB7XG4gICAgaWYgKHBhdHRlcm4uaW5jbHVkZXMoXCIuXCIpKSB7XG4gICAgICBpZiAodmFsdWVzLmluY2x1ZGVzKHBhdHRlcm4pKSB7XG4gICAgICAgIGZ1bGx5UXVhbGlmaWVkQWN0aW9ucy5wdXNoKHBhdHRlcm4pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtYXRjaGluZ0FjdGlvbnMgPSB2YWx1ZXMuZmlsdGVyKHZhbHVlID0+IHBhdHRlcm4gPT09IHZhbHVlLnNwbGl0KFwiLlwiKS5zbGljZSgtMSlbMF0pO1xuICAgICAgaWYgKG1hdGNoaW5nQWN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKG1hdGNoaW5nQWN0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihhbWJpZ3VvdXNBY3Rpb25OYW1lTXNnKHBhdHRlcm4sIG1hdGNoaW5nQWN0aW9ucykpO1xuICAgICAgfVxuICAgICAgZnVsbHlRdWFsaWZpZWRBY3Rpb25zLnB1c2gobWF0Y2hpbmdBY3Rpb25zWzBdKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZnVsbHlRdWFsaWZpZWRBY3Rpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FsbGVyRmlsZShyb290RGlyOiBzdHJpbmcpIHtcbiAgbGV0IGxhc3RmaWxlOiBzdHJpbmc7XG4gIGNvbnN0IHN0YWNrID0gZ2V0Q3VycmVudFN0YWNrKCk7XG4gIHdoaWxlIChzdGFjay5sZW5ndGgpIHtcbiAgICBsYXN0ZmlsZSA9IHN0YWNrLnNoaWZ0KCkuZ2V0RmlsZU5hbWUoKTtcbiAgICBpZiAoIWxhc3RmaWxlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKCFsYXN0ZmlsZS5pbmNsdWRlcyhyb290RGlyKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChsYXN0ZmlsZS5pbmNsdWRlcyhcIm5vZGVfbW9kdWxlc1wiKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmICghKGxhc3RmaWxlLmluY2x1ZGVzKFwiZGVmaW5pdGlvbnMvXCIpIHx8IGxhc3RmaWxlLmluY2x1ZGVzKFwibW9kZWxzL1wiKSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBicmVhaztcbiAgfVxuICByZXR1cm4gcmVsYXRpdmVQYXRoKGxhc3RmaWxlLCByb290RGlyKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudFN0YWNrKCk6IE5vZGVKUy5DYWxsU2l0ZVtdIHtcbiAgY29uc3Qgb3JpZ2luYWxQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlO1xuICB0cnkge1xuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gKGVyciwgc3RhY2spID0+IHtcbiAgICAgIHJldHVybiBzdGFjaztcbiAgICB9O1xuICAgIHJldHVybiAobmV3IEVycm9yKCkuc3RhY2sgYXMgdW5rbm93bikgYXMgTm9kZUpTLkNhbGxTaXRlW107XG4gIH0gZmluYWxseSB7XG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBvcmlnaW5hbFByZXBhcmVTdGFja1RyYWNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaEhhc0Vycm9ycyhncmFwaDogZGF0YWZvcm0uSUNvbXBpbGVkR3JhcGgpIHtcbiAgY29uc3QgZ3JhcGhFcnJvcnMgPSB2YWxpZGF0ZShncmFwaCk7XG5cbiAgcmV0dXJuIChcbiAgICAoZ3JhcGhFcnJvcnMuY29tcGlsYXRpb25FcnJvcnMgJiYgZ3JhcGhFcnJvcnMuY29tcGlsYXRpb25FcnJvcnMubGVuZ3RoID4gMCkgfHxcbiAgICAoZ3JhcGhFcnJvcnMudmFsaWRhdGlvbkVycm9ycyAmJiBncmFwaEVycm9ycy52YWxpZGF0aW9uRXJyb3JzLmxlbmd0aCA+IDApXG4gICk7XG59XG5cbmZ1bmN0aW9uIGpvaW5RdW90ZWQodmFsdWVzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWU6IHN0cmluZykgPT4gYFwiJHt2YWx1ZX1cImApLmpvaW4oXCIgfCBcIik7XG59XG5cbmZ1bmN0aW9uIG9iamVjdEV4aXN0c09ySXNOb25FbXB0eShwcm9wOiBhbnkpOiBib29sZWFuIHtcbiAgaWYgKCFwcm9wKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wKSAmJiAhIXByb3AubGVuZ3RoKSB8fFxuICAgICghQXJyYXkuaXNBcnJheShwcm9wKSAmJiB0eXBlb2YgcHJvcCA9PT0gXCJvYmplY3RcIiAmJiAhIU9iamVjdC5rZXlzKHByb3ApLmxlbmd0aCkgfHxcbiAgICB0eXBlb2YgcHJvcCAhPT0gXCJvYmplY3RcIlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGUoY29tcGlsZWRHcmFwaDogZGF0YWZvcm0uSUNvbXBpbGVkR3JhcGgpOiBkYXRhZm9ybS5JR3JhcGhFcnJvcnMge1xuICBjb25zdCB2YWxpZGF0aW9uRXJyb3JzOiBkYXRhZm9ybS5JVmFsaWRhdGlvbkVycm9yW10gPSBbXTtcblxuICAvLyBUYWJsZSB2YWxpZGF0aW9uXG4gIGNvbXBpbGVkR3JhcGgudGFibGVzLmZvckVhY2goYWN0aW9uID0+IHtcbiAgICBjb25zdCBhY3Rpb25OYW1lID0gYWN0aW9uLm5hbWU7XG5cbiAgICAvLyB0eXBlXG4gICAgaWYgKCEhYWN0aW9uLnR5cGUgJiYgIU9iamVjdC52YWx1ZXMoVGFibGVUeXBlcykuaW5jbHVkZXMoYWN0aW9uLnR5cGUpKSB7XG4gICAgICBjb25zdCBwcmVkZWZpbmVkVHlwZXMgPSBqb2luUXVvdGVkKE9iamVjdC52YWx1ZXMoVGFibGVUeXBlcykpO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBXcm9uZyB0eXBlIG9mIHRhYmxlIGRldGVjdGVkLiBTaG91bGQgb25seSB1c2UgcHJlZGVmaW5lZCB0eXBlczogJHtwcmVkZWZpbmVkVHlwZXN9YDtcbiAgICAgIHZhbGlkYXRpb25FcnJvcnMucHVzaChkYXRhZm9ybS5WYWxpZGF0aW9uRXJyb3IuY3JlYXRlKHsgbWVzc2FnZSwgYWN0aW9uTmFtZSB9KSk7XG4gICAgfVxuXG4gICAgLy8gXCJ3aGVyZVwiIHByb3BlcnR5XG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBUYWJsZVR5cGVzLklOQ1JFTUVOVEFMICYmICghYWN0aW9uLndoZXJlIHx8IGFjdGlvbi53aGVyZS5sZW5ndGggPT09IDApKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFwid2hlcmVcIiBwcm9wZXJ0eSBpcyBub3QgZGVmaW5lZC4gV2l0aCB0aGUgdHlwZSDigJxpbmNyZW1lbnRhbOKAnSB5b3UgbXVzdCBhbHNvIHNwZWNpZnkgdGhlIHByb3BlcnR5IOKAnHdoZXJl4oCdIWA7XG4gICAgICB2YWxpZGF0aW9uRXJyb3JzLnB1c2goZGF0YWZvcm0uVmFsaWRhdGlvbkVycm9yLmNyZWF0ZSh7IG1lc3NhZ2UsIGFjdGlvbk5hbWUgfSkpO1xuICAgIH1cblxuICAgIC8vIHNxbGRhdGF3YXJlaG91c2UgY29uZmlnXG4gICAgaWYgKGFjdGlvbi5zcWxEYXRhV2FyZWhvdXNlICYmIGFjdGlvbi5zcWxEYXRhV2FyZWhvdXNlLmRpc3RyaWJ1dGlvbikge1xuICAgICAgY29uc3QgZGlzdHJpYnV0aW9uID0gYWN0aW9uLnNxbERhdGFXYXJlaG91c2UuZGlzdHJpYnV0aW9uLnRvVXBwZXJDYXNlKCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgZGlzdHJpYnV0aW9uICE9PSBcIlJFUExJQ0FURVwiICYmXG4gICAgICAgIGRpc3RyaWJ1dGlvbiAhPT0gXCJST1VORF9ST0JJTlwiICYmXG4gICAgICAgICFTUUxfREFUQV9XQVJFSE9VU0VfRElTVF9IQVNIX1JFR0VYUC50ZXN0KGRpc3RyaWJ1dGlvbilcbiAgICAgICkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gYEludmFsaWQgdmFsdWUgZm9yIHNxbGRhdGF3YXJlaG91c2UgZGlzdHJpYnV0aW9uOiBcIiR7ZGlzdHJpYnV0aW9ufVwiYDtcbiAgICAgICAgdmFsaWRhdGlvbkVycm9ycy5wdXNoKGRhdGFmb3JtLlZhbGlkYXRpb25FcnJvci5jcmVhdGUoeyBtZXNzYWdlLCBhY3Rpb25OYW1lIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyByZWRzaGlmdCBjb25maWdcbiAgICBpZiAoISFhY3Rpb24ucmVkc2hpZnQpIHtcbiAgICAgIGlmIChcbiAgICAgICAgT2JqZWN0LmtleXMoYWN0aW9uLnJlZHNoaWZ0KS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhhY3Rpb24ucmVkc2hpZnQpLmV2ZXJ5KCh2YWx1ZTogc3RyaW5nKSA9PiAhdmFsdWUubGVuZ3RoKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTWlzc2luZyBwcm9wZXJ0aWVzIGluIHJlZHNoaWZ0IGNvbmZpZ2A7XG4gICAgICAgIHZhbGlkYXRpb25FcnJvcnMucHVzaChkYXRhZm9ybS5WYWxpZGF0aW9uRXJyb3IuY3JlYXRlKHsgbWVzc2FnZSwgYWN0aW9uTmFtZSB9KSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZhbGlkYXRlUHJvcGVydHlEZWZpbmVkID0gKFxuICAgICAgICBvcHRzOiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zLFxuICAgICAgICBwcm9wOiBrZXlvZiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zXG4gICAgICApID0+IHtcbiAgICAgICAgaWYgKCFvcHRzW3Byb3BdIHx8ICFvcHRzW3Byb3BdLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgUHJvcGVydHkgXCIke3Byb3B9XCIgaXMgbm90IGRlZmluZWRgO1xuICAgICAgICAgIHZhbGlkYXRpb25FcnJvcnMucHVzaChkYXRhZm9ybS5WYWxpZGF0aW9uRXJyb3IuY3JlYXRlKHsgbWVzc2FnZSwgYWN0aW9uTmFtZSB9KSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCB2YWxpZGF0ZVByb3BlcnRpZXNEZWZpbmVkID0gKFxuICAgICAgICBvcHRzOiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zLFxuICAgICAgICBwcm9wczogQXJyYXk8a2V5b2YgZGF0YWZvcm0uSVJlZHNoaWZ0T3B0aW9ucz5cbiAgICAgICkgPT4gcHJvcHMuZm9yRWFjaChwcm9wID0+IHZhbGlkYXRlUHJvcGVydHlEZWZpbmVkKG9wdHMsIHByb3ApKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRlUHJvcGVydHlWYWx1ZUluVmFsdWVzID0gKFxuICAgICAgICBvcHRzOiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zLFxuICAgICAgICBwcm9wOiBrZXlvZiBkYXRhZm9ybS5JUmVkc2hpZnRPcHRpb25zICYgKFwiZGlzdFN0eWxlXCIgfCBcInNvcnRTdHlsZVwiKSxcbiAgICAgICAgdmFsdWVzOiBzdHJpbmdbXVxuICAgICAgKSA9PiB7XG4gICAgICAgIGlmICghIW9wdHNbcHJvcF0gJiYgIXZhbHVlcy5pbmNsdWRlcyhvcHRzW3Byb3BdKSkge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgV3JvbmcgdmFsdWUgb2YgXCIke3Byb3B9XCIgcHJvcGVydHkuIFNob3VsZCBvbmx5IHVzZSBwcmVkZWZpbmVkIHZhbHVlczogJHtqb2luUXVvdGVkKFxuICAgICAgICAgICAgdmFsdWVzXG4gICAgICAgICAgKX1gO1xuICAgICAgICAgIHZhbGlkYXRpb25FcnJvcnMucHVzaChkYXRhZm9ybS5WYWxpZGF0aW9uRXJyb3IuY3JlYXRlKHsgbWVzc2FnZSwgYWN0aW9uTmFtZSB9KSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGlmIChhY3Rpb24ucmVkc2hpZnQuZGlzdFN0eWxlIHx8IGFjdGlvbi5yZWRzaGlmdC5kaXN0S2V5KSB7XG4gICAgICAgIHZhbGlkYXRlUHJvcGVydGllc0RlZmluZWQoYWN0aW9uLnJlZHNoaWZ0LCBbXCJkaXN0U3R5bGVcIiwgXCJkaXN0S2V5XCJdKTtcbiAgICAgICAgdmFsaWRhdGVQcm9wZXJ0eVZhbHVlSW5WYWx1ZXMoYWN0aW9uLnJlZHNoaWZ0LCBcImRpc3RTdHlsZVwiLCBPYmplY3QudmFsdWVzKERpc3RTdHlsZVR5cGVzKSk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGFjdGlvbi5yZWRzaGlmdC5zb3J0U3R5bGUgfHxcbiAgICAgICAgKGFjdGlvbi5yZWRzaGlmdC5zb3J0S2V5cyAmJiBhY3Rpb24ucmVkc2hpZnQuc29ydEtleXMubGVuZ3RoKVxuICAgICAgKSB7XG4gICAgICAgIHZhbGlkYXRlUHJvcGVydGllc0RlZmluZWQoYWN0aW9uLnJlZHNoaWZ0LCBbXCJzb3J0U3R5bGVcIiwgXCJzb3J0S2V5c1wiXSk7XG4gICAgICAgIHZhbGlkYXRlUHJvcGVydHlWYWx1ZUluVmFsdWVzKGFjdGlvbi5yZWRzaGlmdCwgXCJzb3J0U3R5bGVcIiwgT2JqZWN0LnZhbHVlcyhTb3J0U3R5bGVUeXBlcykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlnbm9yZWQgcHJvcGVydGllcyBpbiB0YWJsZXNcbiAgICBpZiAoISFpZ25vcmVkUHJvcHNbYWN0aW9uLnR5cGVdKSB7XG4gICAgICBpZ25vcmVkUHJvcHNbYWN0aW9uLnR5cGVdLmZvckVhY2goaWdub3JlZFByb3AgPT4ge1xuICAgICAgICBpZiAob2JqZWN0RXhpc3RzT3JJc05vbkVtcHR5KGFjdGlvbltpZ25vcmVkUHJvcF0pKSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbnVzZWQgcHJvcGVydHkgd2FzIGRldGVjdGVkOiBcIiR7aWdub3JlZFByb3B9XCIuIFRoaXMgcHJvcGVydHkgaXMgbm90IHVzZWQgZm9yIHRhYmxlcyB3aXRoIHR5cGUgXCIke2FjdGlvbi50eXBlfVwiIGFuZCB3aWxsIGJlIGlnbm9yZWQuYDtcbiAgICAgICAgICB2YWxpZGF0aW9uRXJyb3JzLnB1c2goZGF0YWZvcm0uVmFsaWRhdGlvbkVycm9yLmNyZWF0ZSh7IG1lc3NhZ2UsIGFjdGlvbk5hbWUgfSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IGNvbXBpbGF0aW9uRXJyb3JzID1cbiAgICBjb21waWxlZEdyYXBoLmdyYXBoRXJyb3JzICYmIGNvbXBpbGVkR3JhcGguZ3JhcGhFcnJvcnMuY29tcGlsYXRpb25FcnJvcnNcbiAgICAgID8gY29tcGlsZWRHcmFwaC5ncmFwaEVycm9ycy5jb21waWxhdGlvbkVycm9yc1xuICAgICAgOiBbXTtcblxuICByZXR1cm4gZGF0YWZvcm0uR3JhcGhFcnJvcnMuY3JlYXRlKHsgdmFsaWRhdGlvbkVycm9ycywgY29tcGlsYXRpb25FcnJvcnMgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuPFQ+KG5lc3RlZEFycmF5OiBUW11bXSkge1xuICByZXR1cm4gbmVzdGVkQXJyYXkucmVkdWNlKChwcmV2aW91c1ZhbHVlOiBUW10sIGN1cnJlbnRWYWx1ZTogVFtdKSA9PiB7XG4gICAgcmV0dXJuIHByZXZpb3VzVmFsdWUuY29uY2F0KGN1cnJlbnRWYWx1ZSk7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVzb2x2YWJsZShyZXM6IGFueSkge1xuICByZXR1cm4gdHlwZW9mIHJlcyA9PT0gXCJzdHJpbmdcIiB8fCAoISFyZXMuc2NoZW1hICYmICEhcmVzLm5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5UmVzb2x2YWJsZShyZXM6IFJlc29sdmFibGUpIHtcbiAgcmV0dXJuIHR5cGVvZiByZXMgPT09IFwic3RyaW5nXCIgPyByZXMgOiBgJHtyZXMuc2NoZW1hfS4ke3Jlcy5uYW1lfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbWJpZ3VvdXNBY3Rpb25OYW1lTXNnKFxuICBhY3Q6IFJlc29sdmFibGUsXG4gIGFsbEFjdHM6IEFycmF5PFRhYmxlIHwgT3BlcmF0aW9uIHwgQXNzZXJ0aW9uIHwgRGVjbGFyYXRpb24+IHwgc3RyaW5nW11cbikge1xuICBjb25zdCBhbGxBY3ROYW1lcyA9XG4gICAgdHlwZW9mIGFsbEFjdHNbMF0gPT09IFwic3RyaW5nXCJcbiAgICAgID8gYWxsQWN0c1xuICAgICAgOiAoYWxsQWN0cyBhcyBBcnJheTxUYWJsZSB8IE9wZXJhdGlvbiB8IEFzc2VydGlvbj4pLm1hcChcbiAgICAgICAgICByID0+IGAke3IucHJvdG8udGFyZ2V0LnNjaGVtYX0uJHtyLnByb3RvLnRhcmdldC5uYW1lfWBcbiAgICAgICAgKTtcbiAgcmV0dXJuIGBBbWJpZ3VvdXMgQWN0aW9uIG5hbWU6ICR7c3RyaW5naWZ5UmVzb2x2YWJsZShcbiAgICBhY3RcbiAgKX0uIERpZCB5b3UgbWVhbiBvbmUgb2Y6ICR7YWxsQWN0TmFtZXMuam9pbihcIiwgXCIpfS5gO1xufVxuIl19 |
Sorry, the diff of this file is too big to display
341064
2777
+ Added@dataform/protos@1.3.3(transitive)
+ Added@types/node@22.10.7(transitive)
- Removed@dataform/protos@1.3.2(transitive)
- Removed@types/node@22.10.6(transitive)
Updated@dataform/protos@1.3.3