Socket
Socket
Sign inDemoInstall

makfy

Package Overview
Dependencies
54
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.4.0 to 1.4.1

0

CHANGELOG.md

@@ -0,0 +0,0 @@ # makfy changelog

8

dist/bin/cli.js

@@ -64,2 +64,3 @@ #! /usr/bin/env node

var path = require("path");
var strip_ansi_1 = require("strip-ansi");
var tsNode = require("ts-node");

@@ -74,3 +75,2 @@ var yargs = require("yargs");

var typeChecking_1 = require("../lib/utils/typeChecking");
var stripColor = require("strip-ansi");
// enable ts support

@@ -99,3 +99,3 @@ tsNode.register({

str = " " + str;
for (var i = stripColor(str).length; i < 34; i++) {
for (var i = strip_ansi_1.default(str).length; i < 34; i++) {
str += " ";

@@ -129,3 +129,3 @@ }

}
mainFilename = argv.f || argv.file;
mainFilename = (argv.f || argv.file);
}

@@ -372,2 +372,2 @@ var filesToTry = [mainFilename];

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGlCQXlUQTs7QUF6VEEsK0JBQTBCO0FBQzFCLHVCQUF5QjtBQUN6QiwyQkFBNkI7QUFDN0IsZ0NBQWtDO0FBQ2xDLDZCQUErQjtBQUMvQiwrQkFBcUY7QUFDckYsd0NBQXFEO0FBQ3JELHdDQUE0RDtBQUM1RCwyQ0FBc0Q7QUFHdEQsZ0RBQW1EO0FBQ25ELHNEQUFpRjtBQUNqRiwwREFBb0U7QUFDcEUsdUNBQTBDO0FBRTFDLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2QsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUFDLENBQUM7QUFFSCxJQUFNLFdBQVcsR0FBRyxPQUFPLENBQUM7QUFDNUIsSUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFRcEMsSUFBTSxhQUFhLEdBQUcsVUFBQyxJQUFhLEVBQUUsT0FBZ0IsRUFBRSxNQUFlO0lBQ3JFLHFCQUFXLEVBQUUsQ0FBQztJQUNkLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUM5RTtJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFbkIsMkJBQTJCO0lBQzNCLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixJQUFNLGVBQWUsR0FBRyxXQUFXLEdBQUcsTUFBTSxDQUFDO0FB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Z0JBQ2QsSUFBSSxLQUFHLFlBQVksbUJBQVUsRUFBRTtvQkFDdkIsTUFBTSxHQUFHLEtBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLDRCQUFlLENBQUMsS0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQzlFLGFBQWEsd0JBQXdCLEtBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQzNEO3FCQUFNLElBQUksS0FBRyxZQUFZLGlCQUFRLEVBQUU7b0JBQ2xDLHdDQUF3QztvQkFDeEMsYUFBYSxtQkFBbUIsQ0FBQztpQkFDbEM7cUJBQU07b0JBQ0wsTUFBTSxLQUFHLENBQUM7aUJBQ1g7OztnQkFFRCxxQkFBVyxFQUFFLENBQUM7Ozs7O0tBRWpCLENBQUM7QUFFRixJQUFJO0lBQ0YsdUNBQXVDO0lBQ3ZDLFNBQVMsRUFBRSxDQUFDO0NBQ2I7QUFBQyxPQUFPLEdBQUcsRUFBRTtJQUNaLE1BQU0sR0FBRyxDQUFDO0NBQ1giLCJzb3VyY2VzQ29udGVudCI6WyIjISAvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIHRzTm9kZSBmcm9tIFwidHMtbm9kZVwiO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSBcInlhcmdzXCI7XG5pbXBvcnQgeyBsaXN0QWxsQ29tbWFuZHMsIGxpc3RDb21tYW5kLCBNYWtmeUNvbmZpZywgcnVuQ29tbWFuZEFzeW5jIH0gZnJvbSBcIi4uL2xpYi9cIjtcbmltcG9ydCB7IE1ha2Z5RXJyb3IsIFJ1bkVycm9yIH0gZnJvbSBcIi4uL2xpYi9lcnJvcnNcIjtcbmltcG9ydCB7IGFscGhhbnVtZXJpY0V4dGVuZGVkUGF0dGVybiB9IGZyb20gXCIuLi9saWIvc2NoZW1hXCI7XG5pbXBvcnQgeyByZXNlcnZlZEFyZ05hbWVzIH0gZnJvbSBcIi4uL2xpYi9zY2hlbWEvYXJnc1wiO1xuaW1wb3J0IHsgQ29tbWFuZHMgfSBmcm9tIFwiLi4vbGliL3NjaGVtYS9jb21tYW5kc1wiO1xuaW1wb3J0IHsgUGFydGlhbE9wdGlvbnMgfSBmcm9tIFwiLi4vbGliL3NjaGVtYS9vcHRpb25zXCI7XG5pbXBvcnQgeyByZXNldENvbG9ycyB9IGZyb20gXCIuLi9saWIvdXRpbHMvY29uc29sZVwiO1xuaW1wb3J0IHsgZXJyb3JNZXNzYWdlRm9yT2JqZWN0LCBmb3JtYXRDb250ZXh0SWQgfSBmcm9tIFwiLi4vbGliL3V0aWxzL2Zvcm1hdHRpbmdcIjtcbmltcG9ydCB7IGlzT2JqZWN0LCBpc1N0cmluZ0FycmF5IH0gZnJvbSBcIi4uL2xpYi91dGlscy90eXBlQ2hlY2tpbmdcIjtcbmltcG9ydCBzdHJpcENvbG9yID0gcmVxdWlyZShcInN0cmlwLWFuc2lcIik7XG5cbi8vIGVuYWJsZSB0cyBzdXBwb3J0XG50c05vZGUucmVnaXN0ZXIoe1xuICBwcmV0dHk6IHRydWVcbn0pO1xuXG5jb25zdCBwcm9ncmFtTmFtZSA9IFwibWFrZnlcIjtcbmNvbnN0IGFyZ3YgPSB5YXJncy5oZWxwKGZhbHNlKS5hcmd2O1xuXG5jb25zdCBlbnVtIEVyckNvZGUge1xuICBDbGlFcnJvciA9IDEsXG4gIFVzZXJGaWxlRXJyb3IgPSAyLFxuICBFeGVjRXJyb3IgPSAzXG59XG5cbmNvbnN0IGV4aXRXaXRoRXJyb3IgPSAoY29kZTogRXJyQ29kZSwgbWVzc2FnZT86IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKTogbmV2ZXIgPT4ge1xuICByZXNldENvbG9ycygpO1xuICBpZiAobWVzc2FnZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoKHByZWZpeCA/IHByZWZpeCA6IFwiXCIpICsgY2hhbGsuYm9sZC5yZWQoXCJbRVJST1JdIFwiICsgbWVzc2FnZSkpO1xuICB9XG4gIHByb2Nlc3MuZXhpdChjb2RlKTtcblxuICAvLyB0aGlzIHNob3VsZCBuZXZlciBoYXBwZW5cbiAgdGhyb3cgbmV3IEVycm9yKCk7XG59O1xuXG5jb25zdCBkZWZhdWx0RmlsZW5hbWUgPSBwcm9ncmFtTmFtZSArIFwiZmlsZVwiO1xuY29uc3QgdmVyc2lvbiA9IHJlcXVpcmUoXCIuLi8uLi9wYWNrYWdlLmpzb25cIikudmVyc2lvbjtcblxuY29uc3QgcHJpbnRQcm9ncmFtSGVscCA9ICgpID0+IHtcbiAgY29uc29sZS5sb2coYCR7cHJvZ3JhbU5hbWV9IHYke3ZlcnNpb259YCk7XG4gIGNvbnNvbGUubG9nKCk7XG4gIGNvbnNvbGUubG9nKGB1c2FnZTpgKTtcblxuICBjb25zdCBwYWQgPSAoc3RyOiBzdHJpbmcpID0+IHtcbiAgICBzdHIgPSBcIiBcIiArIHN0cjtcbiAgICBmb3IgKGxldCBpID0gc3RyaXBDb2xvcihzdHIpLmxlbmd0aDsgaSA8IDM0OyBpKyspIHtcbiAgICAgIHN0ciArPSBcIiBcIjtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfTtcblxuICBjb25zdCBsb2dIZWxwMSA9ICh3aGF0OiBzdHJpbmcsIGhvdzogc3RyaW5nLCBzaG93RmlsZTogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IGxlZnQgPSBwYWQoY2hhbGsuYm9sZC5ncmVlbihgIC0gJHt3aGF0fWApKTtcbiAgICBjb25zdCByaWdodCA9IGNoYWxrLmJvbGQuZ3JheShcbiAgICAgIGAke3Byb2dyYW1OYW1lfSAke1xuICAgICAgICBzaG93RmlsZSA/IGNoYWxrLmJvbGQubWFnZW50YShgWy1mICR7ZGVmYXVsdEZpbGVuYW1lfV0gYCkgOiBcIlwiXG4gICAgICB9JHtjaGFsay5ib2xkLm1hZ2VudGEoaG93KX1gXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZyhsZWZ0ICsgcmlnaHQpO1xuICB9O1xuXG4gIGxvZ0hlbHAxKFwicnVuIGNvbW1hbmQ6XCIsIGA8Y29tbWFuZD4gLi4uY29tbWFuZE9wdGlvbnNgLCB0cnVlKTtcbiAgbG9nSGVscDEoXCJsaXN0IGFsbCBjb21tYW5kczpcIiwgYC0tbGlzdGAsIHRydWUpO1xuICBsb2dIZWxwMShcImxpc3QgY29tbWFuZDpcIiwgYCA8Y29tbWFuZD4gLS1saXN0YCwgdHJ1ZSk7XG4gIGxvZ0hlbHAxKFwic2hvdyBoZWxwICh0aGlzKTpcIiwgYFstLWhlbHBdYCwgZmFsc2UpO1xuXG4gIGNvbnN0IGxvZ0FyZ0hlbHAgPSAoYXJnTmFtZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBsZWZ0ID0gcGFkKFwiIFwiICsgY2hhbGsuYm9sZC5ncmF5KGBbJHtjaGFsay5ib2xkLm1hZ2VudGEoYXJnTmFtZSl9XWApKTtcbiAgICBjb25zb2xlLmxvZyhsZWZ0ICsgY2hhbGsuYm9sZC5ncmF5KGRlc2MpKTtcbiAgfTtcblxuICBsb2dBcmdIZWxwKFwiLS1wcm9maWxlXCIsIFwiZm9yY2Ugc2hvdyB0aGUgdGltZSBpdCB0YWtlcyB0byBydW4gZWFjaCBzdWJjb21tYW5kXCIpO1xuICBsb2dBcmdIZWxwKFwiLS1zaG93LXRpbWVcIiwgXCJmb3JjZSBzaG93IHRoZSBjdXJyZW50IHRpbWVcIik7XG4gIGxvZ0FyZ0hlbHAoXCItLWNvbG9yLy0tbm8tY29sb3JcIiwgXCJmb3JjZSBjb2xvcmVkL3VuY29sb3JlZCBvdXRwdXQgKGRlZmF1bHQ6IGF1dG9kZXRlY3QpXCIpO1xufTtcblxuaW50ZXJmYWNlIEZpbGVUb0xvYWQge1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBhYnNvbHV0ZUZpbGVuYW1lOiBzdHJpbmc7XG59XG5cbmNvbnN0IGdldEZpbGVUb0xvYWQgPSAoKTogRmlsZVRvTG9hZCA9PiB7XG4gIGxldCBtYWluRmlsZW5hbWUgPSBkZWZhdWx0RmlsZW5hbWU7XG4gIGlmIChhcmd2LmYgfHwgYXJndi5maWxlKSB7XG4gICAgaWYgKGFyZ3YuZiAmJiBhcmd2LmZpbGUpIHtcbiAgICAgIGV4aXRXaXRoRXJyb3IoRXJyQ29kZS5DbGlFcnJvciwgYC1mIGFuZCAtLWZpbGUgY2Fubm90IGJlIHVzZWQgYXQgdGhlIHNhbWUgdGltZWApO1xuICAgIH1cbiAgICBtYWluRmlsZW5hbWUgPSBhcmd2LmYgfHwgYXJndi5maWxlO1xuICB9XG5cbiAgY29uc3QgZmlsZXNUb1RyeTogc3RyaW5nW10gPSBbbWFpbkZpbGVuYW1lXTtcbiAgaWYgKHBhdGguZXh0bmFtZShtYWluRmlsZW5hbWUpID09PSBcIlwiKSB7XG4gICAgZmlsZXNUb1RyeS5wdXNoKG1haW5GaWxlbmFtZSArIFwiLnRzXCIpO1xuICAgIGZpbGVzVG9UcnkucHVzaChtYWluRmlsZW5hbWUgKyBcIi5qc1wiKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZmlsZXNUb1RyeSkge1xuICAgIGlmIChmcy5leGlzdHNTeW5jKGZpbGVuYW1lKSkge1xuICAgICAgY29uc29sZS5sb2coY2hhbGsuYm9sZC5ncmF5KGB1c2luZyBjb21tYW5kIGZpbGUgJyR7Y2hhbGsuYm9sZC5tYWdlbnRhKGZpbGVuYW1lKX0nLi4uYCkpO1xuXG4gICAgICBjb25zdCBhYnNvbHV0ZUZpbGVuYW1lID0gcGF0aC5yZXNvbHZlKGZpbGVuYW1lKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgIGFic29sdXRlRmlsZW5hbWVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLkNsaUVycm9yLCBgY29tbWFuZCBmaWxlIG5vdCBmb3VuZCwgdHJpZWQgJHtmaWxlc1RvVHJ5LmpvaW4oXCIsIFwiKX1gKTtcbiAgLy8gdGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuXG4gIHRocm93IG5ldyBFcnJvcigpO1xufTtcblxuaW50ZXJmYWNlIExvYWRGaWxlUmVzdWx0IHtcbiAgZXhwb3J0czoge1xuICAgIGNvbW1hbmRzOiBDb21tYW5kcztcbiAgICBvcHRpb25zPzogUGFydGlhbE9wdGlvbnM7XG4gIH07XG4gIGNvbnRlbnRzPzogc3RyaW5nO1xufVxuXG5jb25zdCBsb2FkRmlsZSA9IChmaWxlVG9Mb2FkOiBGaWxlVG9Mb2FkLCBsb2FkQ29udGVudHM6IGJvb2xlYW4pOiBMb2FkRmlsZVJlc3VsdCB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHsgZmlsZW5hbWUsIGFic29sdXRlRmlsZW5hbWUgfSA9IGZpbGVUb0xvYWQ7XG5cbiAgLy8gdHJ5IHRvIGxvYWQgdGhlIHVzZXIgZmlsZVxuICB0cnkge1xuICAgIGxldCB1c2luZ0RlZmF1bHRFeHBvcnQgPSBmYWxzZTtcbiAgICBsZXQgZmlsZUV4cG9ydHM6IE1ha2Z5Q29uZmlnID0gcmVxdWlyZShhYnNvbHV0ZUZpbGVuYW1lKTtcblxuICAgIC8vIHVzZSBkZWZhdWx0IGV4cG9ydCBpZiBhdmFpbGFibGVcbiAgICBpZiAoKGZpbGVFeHBvcnRzIGFzIGFueSkuZGVmYXVsdCkge1xuICAgICAgdXNpbmdEZWZhdWx0RXhwb3J0ID0gdHJ1ZTtcbiAgICAgIGZpbGVFeHBvcnRzID0gKGZpbGVFeHBvcnRzIGFzIGFueSkuZGVmYXVsdDtcbiAgICB9XG5cbiAgICBpZiAoIWlzT2JqZWN0KGZpbGVFeHBvcnRzKSkge1xuICAgICAgZXhpdFdpdGhFcnJvcihcbiAgICAgICAgRXJyQ29kZS5Vc2VyRmlsZUVycm9yLFxuICAgICAgICBgbW9kdWxlLmV4cG9ydHMke1xuICAgICAgICAgIHVzaW5nRGVmYXVsdEV4cG9ydCA/IFwiLmRlZmF1bHRcIiA6IFwiXCJcbiAgICAgICAgfSBpbnNpZGUgJyR7ZmlsZW5hbWV9JyBpcyBub3QgYW4gb2JqZWN0YFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY29udGVudHM7XG4gICAgaWYgKGxvYWRDb250ZW50cykge1xuICAgICAgY29udGVudHMgPSBmcy5yZWFkRmlsZVN5bmMoYWJzb2x1dGVGaWxlbmFtZSwgXCJ1dGY4XCIpO1xuICAgICAgY29uc3QgZGVwcyA9IGZpbGVFeHBvcnRzLmRlcGVuZGVuY2llcztcbiAgICAgIGlmIChkZXBzKSB7XG4gICAgICAgIGlmICghaXNTdHJpbmdBcnJheShkZXBzKSkge1xuICAgICAgICAgIGV4aXRXaXRoRXJyb3IoXG4gICAgICAgICAgICBFcnJDb2RlLlVzZXJGaWxlRXJyb3IsXG4gICAgICAgICAgICBgZXhwb3J0IGRlcGVuZGVuY2llcyBtdXN0IGJlIGEgc3RyaW5nIGFycmF5IHdpdGggcGF0aHMgdG8gZmlsZXNgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvb3REaXIgPSBwYXRoLmRpcm5hbWUoYWJzb2x1dGVGaWxlbmFtZSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgICAgICBsZXQgYWJzRGVwRmlsZW5hbWU7XG4gICAgICAgICAgaWYgKHBhdGguaXNBYnNvbHV0ZShkZXApKSB7XG4gICAgICAgICAgICBhYnNEZXBGaWxlbmFtZSA9IGRlcDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWJzRGVwRmlsZW5hbWUgPSBwYXRoLmpvaW4ocm9vdERpciwgZGVwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmMoYWJzRGVwRmlsZW5hbWUpICYmICFhYnNEZXBGaWxlbmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKFwiLmpzXCIpKSB7XG4gICAgICAgICAgICBhYnNEZXBGaWxlbmFtZSArPSBcIi5qc1wiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnRlbnRzICs9IGZzLnJlYWRGaWxlU3luYyhhYnNEZXBGaWxlbmFtZSwgXCJ1dGY4XCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cG9ydHM6IGZpbGVFeHBvcnRzLFxuICAgICAgY29udGVudHM6IGNvbnRlbnRzXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLlVzZXJGaWxlRXJyb3IsIGBlcnJvciByZXF1aXJpbmcgJHtmaWxlbmFtZX06XFxuJHtlcnIuc3RhY2sudG9TdHJpbmcoKX1gKTtcbiAgICByZXR1cm47XG4gIH1cbn07XG5cbmNvbnN0IG1haW5Bc3luYyA9IGFzeW5jICgpID0+IHtcbiAgcmVzZXRDb2xvcnMoKTtcblxuICBpZiAoYXJndi5oZWxwIHx8IGFyZ3YuaCkge1xuICAgIHByaW50UHJvZ3JhbUhlbHAoKTtcbiAgICBleGl0V2l0aEVycm9yKEVyckNvZGUuQ2xpRXJyb3IpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCBleGVjdXRlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIGlmIChhcmd2Lmxpc3QgfHwgYXJndi5sIHx8IGFyZ3YuXy5sZW5ndGggPD0gMCkge1xuICAgIC8vIGxpc3RcbiAgICBjb25zdCBmaWxlVG9Mb2FkID0gZ2V0RmlsZVRvTG9hZCgpO1xuICAgIGNvbnN0IHsgZXhwb3J0cyB9ID0gbG9hZEZpbGUoZmlsZVRvTG9hZCwgZmFsc2UpITtcblxuICAgIGNvbnN0IGNvbW1hbmROYW1lID0gYXJndi5fLmxlbmd0aCA+IDAgPyBhcmd2Ll9bMF0udHJpbSgpIDogdW5kZWZpbmVkO1xuICAgIGlmIChjb21tYW5kTmFtZSkge1xuICAgICAgaWYgKGFyZ3YuXy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGV4aXRXaXRoRXJyb3IoXG4gICAgICAgICAgRXJyQ29kZS5DbGlFcnJvcixcbiAgICAgICAgICBgc3BlY2lmeSBvbmx5IG9uZSBjb21tYW5kIHRvIGxpc3Qgb3IgZG9uJ3Qgc3BlY2lmeSBhbnkgY29tbWFuZHMgdG8gbGlzdCB0aGVtIGFsbGBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBleGVjdXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBvdXRwdXQgPVxuICAgICAgICAgIGNoYWxrLmJvbGQuZ3JheShgbGlzdGluZyAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmQuLi5cXG5cXG5gKSArXG4gICAgICAgICAgbGlzdENvbW1hbmQoZXhwb3J0cy5jb21tYW5kcywgY29tbWFuZE5hbWUsIHRydWUpO1xuICAgICAgICBjb25zb2xlLmxvZyhvdXRwdXQpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhlY3V0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID1cbiAgICAgICAgICBjaGFsay5ib2xkLmdyYXkoXCJsaXN0aW5nIGFsbCBjb21tYW5kcy4uLlxcblxcblwiKSArIGxpc3RBbGxDb21tYW5kcyhleHBvcnRzLmNvbW1hbmRzLCB0cnVlKTtcbiAgICAgICAgY29uc29sZS5sb2cob3V0cHV0KTtcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIHJ1blxuICAgIGlmIChhcmd2Ll8ubGVuZ3RoID4gMSkge1xuICAgICAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLkNsaUVycm9yLCBcIm9ubHkgb25lIGNvbW1hbmQgY2FuIGJlIHJ1biBhdCB0aGUgc2FtZSB0aW1lXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVUb0xvYWQgPSBnZXRGaWxlVG9Mb2FkKCk7XG4gICAgY29uc3QgeyBleHBvcnRzLCBjb250ZW50cyB9ID0gbG9hZEZpbGUoZmlsZVRvTG9hZCwgdHJ1ZSkhO1xuXG4gICAgY29uc3QgY29tbWFuZE5hbWUgPSBhcmd2Ll9bMF0udHJpbSgpO1xuXG4gICAgLy8gcmVtb3ZlIHJlc2VydmVkIGFyZ3NcbiAgICBjb25zdCBjb21tYW5kQXJncyA9IHsgLi4uYXJndiB9O1xuICAgIGRlbGV0ZSBjb21tYW5kQXJncy5fO1xuICAgIGRlbGV0ZSBjb21tYW5kQXJncy4kMDtcblxuICAgIGZvciAoY29uc3QgcmVzQXJnIG9mIHJlc2VydmVkQXJnTmFtZXMpIHtcbiAgICAgIGRlbGV0ZSBjb21tYW5kQXJnc1tyZXNBcmddO1xuICAgIH1cblxuICAgIC8vIHJlbW92ZSBub24gYWxwaGFudW1lcmljIGV4dGVuZGVkIGFyZ3NcbiAgICBmb3IgKGNvbnN0IGFyZ05hbWUgb2YgT2JqZWN0LmtleXMoYXJndikpIHtcbiAgICAgIGlmICghbmV3IFJlZ0V4cChhbHBoYW51bWVyaWNFeHRlbmRlZFBhdHRlcm4pLnRlc3QoYXJnTmFtZSkpIHtcbiAgICAgICAgZGVsZXRlIGNvbW1hbmRBcmdzW2FyZ05hbWVdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvcHRpb25zID0gZXhwb3J0cy5vcHRpb25zO1xuICAgIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICB9XG4gICAgaWYgKCFpc09iamVjdChvcHRpb25zKSkge1xuICAgICAgZXhpdFdpdGhFcnJvcihcbiAgICAgICAgRXJyQ29kZS5Vc2VyRmlsZUVycm9yLFxuICAgICAgICBlcnJvck1lc3NhZ2VGb3JPYmplY3QoW1wib3B0aW9uc1wiXSwgYG11c3QgYmUgYW4gb2JqZWN0IG9yIHVuZGVmaW5lZGApXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYXJndi5wcm9maWxlKSB7XG4gICAgICBvcHRpb25zLnByb2ZpbGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoYXJndi5zaG93VGltZSkge1xuICAgICAgb3B0aW9ucy5zaG93VGltZSA9IHRydWU7XG4gICAgfVxuXG4gICAgZXhlY3V0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHJ1bkNvbW1hbmRBc3luYyh7XG4gICAgICAgIG1ha2Z5RmlsZW5hbWU6IGZpbGVUb0xvYWQuZmlsZW5hbWUsXG4gICAgICAgIG1ha2Z5RmlsZUNvbnRlbnRzOiBjb250ZW50cyxcbiAgICAgICAgY29tbWFuZHM6IGV4cG9ydHMuY29tbWFuZHMsXG4gICAgICAgIGNvbW1hbmROYW1lOiBjb21tYW5kTmFtZSxcbiAgICAgICAgY29tbWFuZEFyZ3M6IGNvbW1hbmRBcmdzLFxuICAgICAgICBvcHRpb25zOiBvcHRpb25zXG4gICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBleGVjdXRlKCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJlc2V0Q29sb3JzKCk7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIE1ha2Z5RXJyb3IpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGVyci5leGVjQ29udGV4dCA/IGZvcm1hdENvbnRleHRJZChlcnIuZXhlY0NvbnRleHQpIDogdW5kZWZpbmVkO1xuICAgICAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLlVzZXJGaWxlRXJyb3IsIGVyci5tZXNzYWdlLCBwcmVmaXgpO1xuICAgIH0gZWxzZSBpZiAoZXJyIGluc3RhbmNlb2YgUnVuRXJyb3IpIHtcbiAgICAgIC8vIHRoZSBtZXNzYWdlIHNob3VsZCBiZSBwcmludGVkIGFscmVhZHlcbiAgICAgIGV4aXRXaXRoRXJyb3IoRXJyQ29kZS5FeGVjRXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlc2V0Q29sb3JzKCk7XG4gIH1cbn07XG5cbnRyeSB7XG4gIC8vbm9pbnNwZWN0aW9uIEpTSWdub3JlZFByb21pc2VGcm9tQ2FsbFxuICBtYWluQXN5bmMoKTtcbn0gY2F0Y2ggKGVycikge1xuICB0aHJvdyBlcnI7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGlCQXlUQTs7QUF6VEEsK0JBQTBCO0FBQzFCLHVCQUF5QjtBQUN6QiwyQkFBNkI7QUFDN0IseUNBQW9DO0FBQ3BDLGdDQUFrQztBQUNsQyw2QkFBK0I7QUFDL0IsK0JBQXFGO0FBQ3JGLHdDQUFxRDtBQUNyRCx3Q0FBNEQ7QUFDNUQsMkNBQXNEO0FBR3RELGdEQUFtRDtBQUNuRCxzREFBaUY7QUFDakYsMERBQW9FO0FBRXBFLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2QsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUFDLENBQUM7QUFFSCxJQUFNLFdBQVcsR0FBRyxPQUFPLENBQUM7QUFDNUIsSUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFRcEMsSUFBTSxhQUFhLEdBQUcsVUFBQyxJQUFhLEVBQUUsT0FBZ0IsRUFBRSxNQUFlO0lBQ3JFLHFCQUFXLEVBQUUsQ0FBQztJQUNkLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUM5RTtJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFbkIsMkJBQTJCO0lBQzNCLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixJQUFNLGVBQWUsR0FBRyxXQUFXLEdBQUcsTUFBTSxDQUFDO0FB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LEVBQUUsQ0FBQztnQkFDZCxJQUFJLEtBQUcsWUFBWSxtQkFBVSxFQUFFO29CQUN2QixNQUFNLEdBQUcsS0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsNEJBQWUsQ0FBQyxLQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDOUUsYUFBYSx3QkFBd0IsS0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDM0Q7cUJBQU0sSUFBSSxLQUFHLFlBQVksaUJBQVEsRUFBRTtvQkFDbEMsd0NBQXdDO29CQUN4QyxhQUFhLG1CQUFtQixDQUFDO2lCQUNsQztxQkFBTTtvQkFDTCxNQUFNLEtBQUcsQ0FBQztpQkFDWDs7O2dCQUVELHFCQUFXLEVBQUUsQ0FBQzs7Ozs7S0FFakIsQ0FBQztBQUVGLElBQUk7SUFDRix1Q0FBdUM7SUFDdkMsU0FBUyxFQUFFLENBQUM7Q0FDYjtBQUFDLE9BQU8sR0FBRyxFQUFFO0lBQ1osTUFBTSxHQUFHLENBQUM7Q0FDWCIsInNvdXJjZXNDb250ZW50IjpbIiMhIC91c3IvYmluL2VudiBub2RlXHJcblxyXG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XHJcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCBzdHJpcENvbG9yIGZyb20gXCJzdHJpcC1hbnNpXCI7XHJcbmltcG9ydCAqIGFzIHRzTm9kZSBmcm9tIFwidHMtbm9kZVwiO1xyXG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tIFwieWFyZ3NcIjtcclxuaW1wb3J0IHsgbGlzdEFsbENvbW1hbmRzLCBsaXN0Q29tbWFuZCwgTWFrZnlDb25maWcsIHJ1bkNvbW1hbmRBc3luYyB9IGZyb20gXCIuLi9saWIvXCI7XHJcbmltcG9ydCB7IE1ha2Z5RXJyb3IsIFJ1bkVycm9yIH0gZnJvbSBcIi4uL2xpYi9lcnJvcnNcIjtcclxuaW1wb3J0IHsgYWxwaGFudW1lcmljRXh0ZW5kZWRQYXR0ZXJuIH0gZnJvbSBcIi4uL2xpYi9zY2hlbWFcIjtcclxuaW1wb3J0IHsgcmVzZXJ2ZWRBcmdOYW1lcyB9IGZyb20gXCIuLi9saWIvc2NoZW1hL2FyZ3NcIjtcclxuaW1wb3J0IHsgQ29tbWFuZHMgfSBmcm9tIFwiLi4vbGliL3NjaGVtYS9jb21tYW5kc1wiO1xyXG5pbXBvcnQgeyBQYXJ0aWFsT3B0aW9ucyB9IGZyb20gXCIuLi9saWIvc2NoZW1hL29wdGlvbnNcIjtcclxuaW1wb3J0IHsgcmVzZXRDb2xvcnMgfSBmcm9tIFwiLi4vbGliL3V0aWxzL2NvbnNvbGVcIjtcclxuaW1wb3J0IHsgZXJyb3JNZXNzYWdlRm9yT2JqZWN0LCBmb3JtYXRDb250ZXh0SWQgfSBmcm9tIFwiLi4vbGliL3V0aWxzL2Zvcm1hdHRpbmdcIjtcclxuaW1wb3J0IHsgaXNPYmplY3QsIGlzU3RyaW5nQXJyYXkgfSBmcm9tIFwiLi4vbGliL3V0aWxzL3R5cGVDaGVja2luZ1wiO1xyXG5cclxuLy8gZW5hYmxlIHRzIHN1cHBvcnRcclxudHNOb2RlLnJlZ2lzdGVyKHtcclxuICBwcmV0dHk6IHRydWVcclxufSk7XHJcblxyXG5jb25zdCBwcm9ncmFtTmFtZSA9IFwibWFrZnlcIjtcclxuY29uc3QgYXJndiA9IHlhcmdzLmhlbHAoZmFsc2UpLmFyZ3Y7XHJcblxyXG5jb25zdCBlbnVtIEVyckNvZGUge1xyXG4gIENsaUVycm9yID0gMSxcclxuICBVc2VyRmlsZUVycm9yID0gMixcclxuICBFeGVjRXJyb3IgPSAzXHJcbn1cclxuXHJcbmNvbnN0IGV4aXRXaXRoRXJyb3IgPSAoY29kZTogRXJyQ29kZSwgbWVzc2FnZT86IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKTogbmV2ZXIgPT4ge1xyXG4gIHJlc2V0Q29sb3JzKCk7XHJcbiAgaWYgKG1lc3NhZ2UpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoKHByZWZpeCA/IHByZWZpeCA6IFwiXCIpICsgY2hhbGsuYm9sZC5yZWQoXCJbRVJST1JdIFwiICsgbWVzc2FnZSkpO1xyXG4gIH1cclxuICBwcm9jZXNzLmV4aXQoY29kZSk7XHJcblxyXG4gIC8vIHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlblxyXG4gIHRocm93IG5ldyBFcnJvcigpO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEZpbGVuYW1lID0gcHJvZ3JhbU5hbWUgKyBcImZpbGVcIjtcclxuY29uc3QgdmVyc2lvbiA9IHJlcXVpcmUoXCIuLi8uLi9wYWNrYWdlLmpzb25cIikudmVyc2lvbjtcclxuXHJcbmNvbnN0IHByaW50UHJvZ3JhbUhlbHAgPSAoKSA9PiB7XHJcbiAgY29uc29sZS5sb2coYCR7cHJvZ3JhbU5hbWV9IHYke3ZlcnNpb259YCk7XHJcbiAgY29uc29sZS5sb2coKTtcclxuICBjb25zb2xlLmxvZyhgdXNhZ2U6YCk7XHJcblxyXG4gIGNvbnN0IHBhZCA9IChzdHI6IHN0cmluZykgPT4ge1xyXG4gICAgc3RyID0gXCIgXCIgKyBzdHI7XHJcbiAgICBmb3IgKGxldCBpID0gc3RyaXBDb2xvcihzdHIpLmxlbmd0aDsgaSA8IDM0OyBpKyspIHtcclxuICAgICAgc3RyICs9IFwiIFwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cjtcclxuICB9O1xyXG5cclxuICBjb25zdCBsb2dIZWxwMSA9ICh3aGF0OiBzdHJpbmcsIGhvdzogc3RyaW5nLCBzaG93RmlsZTogYm9vbGVhbikgPT4ge1xyXG4gICAgY29uc3QgbGVmdCA9IHBhZChjaGFsay5ib2xkLmdyZWVuKGAgLSAke3doYXR9YCkpO1xyXG4gICAgY29uc3QgcmlnaHQgPSBjaGFsay5ib2xkLmdyYXkoXHJcbiAgICAgIGAke3Byb2dyYW1OYW1lfSAke1xyXG4gICAgICAgIHNob3dGaWxlID8gY2hhbGsuYm9sZC5tYWdlbnRhKGBbLWYgJHtkZWZhdWx0RmlsZW5hbWV9XSBgKSA6IFwiXCJcclxuICAgICAgfSR7Y2hhbGsuYm9sZC5tYWdlbnRhKGhvdyl9YFxyXG4gICAgKTtcclxuICAgIGNvbnNvbGUubG9nKGxlZnQgKyByaWdodCk7XHJcbiAgfTtcclxuXHJcbiAgbG9nSGVscDEoXCJydW4gY29tbWFuZDpcIiwgYDxjb21tYW5kPiAuLi5jb21tYW5kT3B0aW9uc2AsIHRydWUpO1xyXG4gIGxvZ0hlbHAxKFwibGlzdCBhbGwgY29tbWFuZHM6XCIsIGAtLWxpc3RgLCB0cnVlKTtcclxuICBsb2dIZWxwMShcImxpc3QgY29tbWFuZDpcIiwgYCA8Y29tbWFuZD4gLS1saXN0YCwgdHJ1ZSk7XHJcbiAgbG9nSGVscDEoXCJzaG93IGhlbHAgKHRoaXMpOlwiLCBgWy0taGVscF1gLCBmYWxzZSk7XHJcblxyXG4gIGNvbnN0IGxvZ0FyZ0hlbHAgPSAoYXJnTmFtZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IGxlZnQgPSBwYWQoXCIgXCIgKyBjaGFsay5ib2xkLmdyYXkoYFske2NoYWxrLmJvbGQubWFnZW50YShhcmdOYW1lKX1dYCkpO1xyXG4gICAgY29uc29sZS5sb2cobGVmdCArIGNoYWxrLmJvbGQuZ3JheShkZXNjKSk7XHJcbiAgfTtcclxuXHJcbiAgbG9nQXJnSGVscChcIi0tcHJvZmlsZVwiLCBcImZvcmNlIHNob3cgdGhlIHRpbWUgaXQgdGFrZXMgdG8gcnVuIGVhY2ggc3ViY29tbWFuZFwiKTtcclxuICBsb2dBcmdIZWxwKFwiLS1zaG93LXRpbWVcIiwgXCJmb3JjZSBzaG93IHRoZSBjdXJyZW50IHRpbWVcIik7XHJcbiAgbG9nQXJnSGVscChcIi0tY29sb3IvLS1uby1jb2xvclwiLCBcImZvcmNlIGNvbG9yZWQvdW5jb2xvcmVkIG91dHB1dCAoZGVmYXVsdDogYXV0b2RldGVjdClcIik7XHJcbn07XHJcblxyXG5pbnRlcmZhY2UgRmlsZVRvTG9hZCB7XHJcbiAgZmlsZW5hbWU6IHN0cmluZztcclxuICBhYnNvbHV0ZUZpbGVuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmNvbnN0IGdldEZpbGVUb0xvYWQgPSAoKTogRmlsZVRvTG9hZCA9PiB7XHJcbiAgbGV0IG1haW5GaWxlbmFtZSA9IGRlZmF1bHRGaWxlbmFtZTtcclxuICBpZiAoYXJndi5mIHx8IGFyZ3YuZmlsZSkge1xyXG4gICAgaWYgKGFyZ3YuZiAmJiBhcmd2LmZpbGUpIHtcclxuICAgICAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLkNsaUVycm9yLCBgLWYgYW5kIC0tZmlsZSBjYW5ub3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lYCk7XHJcbiAgICB9XHJcbiAgICBtYWluRmlsZW5hbWUgPSAoYXJndi5mIHx8IGFyZ3YuZmlsZSkgYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgZmlsZXNUb1RyeTogc3RyaW5nW10gPSBbbWFpbkZpbGVuYW1lXTtcclxuICBpZiAocGF0aC5leHRuYW1lKG1haW5GaWxlbmFtZSkgPT09IFwiXCIpIHtcclxuICAgIGZpbGVzVG9UcnkucHVzaChtYWluRmlsZW5hbWUgKyBcIi50c1wiKTtcclxuICAgIGZpbGVzVG9UcnkucHVzaChtYWluRmlsZW5hbWUgKyBcIi5qc1wiKTtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZmlsZXNUb1RyeSkge1xyXG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoZmlsZW5hbWUpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGNoYWxrLmJvbGQuZ3JheShgdXNpbmcgY29tbWFuZCBmaWxlICcke2NoYWxrLmJvbGQubWFnZW50YShmaWxlbmFtZSl9Jy4uLmApKTtcclxuXHJcbiAgICAgIGNvbnN0IGFic29sdXRlRmlsZW5hbWUgPSBwYXRoLnJlc29sdmUoZmlsZW5hbWUpO1xyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBmaWxlbmFtZSxcclxuICAgICAgICBhYnNvbHV0ZUZpbGVuYW1lXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleGl0V2l0aEVycm9yKEVyckNvZGUuQ2xpRXJyb3IsIGBjb21tYW5kIGZpbGUgbm90IGZvdW5kLCB0cmllZCAke2ZpbGVzVG9Ucnkuam9pbihcIiwgXCIpfWApO1xyXG4gIC8vIHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlblxyXG4gIHRocm93IG5ldyBFcnJvcigpO1xyXG59O1xyXG5cclxuaW50ZXJmYWNlIExvYWRGaWxlUmVzdWx0IHtcclxuICBleHBvcnRzOiB7XHJcbiAgICBjb21tYW5kczogQ29tbWFuZHM7XHJcbiAgICBvcHRpb25zPzogUGFydGlhbE9wdGlvbnM7XHJcbiAgfTtcclxuICBjb250ZW50cz86IHN0cmluZztcclxufVxyXG5cclxuY29uc3QgbG9hZEZpbGUgPSAoZmlsZVRvTG9hZDogRmlsZVRvTG9hZCwgbG9hZENvbnRlbnRzOiBib29sZWFuKTogTG9hZEZpbGVSZXN1bHQgfCB1bmRlZmluZWQgPT4ge1xyXG4gIGNvbnN0IHsgZmlsZW5hbWUsIGFic29sdXRlRmlsZW5hbWUgfSA9IGZpbGVUb0xvYWQ7XHJcblxyXG4gIC8vIHRyeSB0byBsb2FkIHRoZSB1c2VyIGZpbGVcclxuICB0cnkge1xyXG4gICAgbGV0IHVzaW5nRGVmYXVsdEV4cG9ydCA9IGZhbHNlO1xyXG4gICAgbGV0IGZpbGVFeHBvcnRzOiBNYWtmeUNvbmZpZyA9IHJlcXVpcmUoYWJzb2x1dGVGaWxlbmFtZSk7XHJcblxyXG4gICAgLy8gdXNlIGRlZmF1bHQgZXhwb3J0IGlmIGF2YWlsYWJsZVxyXG4gICAgaWYgKChmaWxlRXhwb3J0cyBhcyBhbnkpLmRlZmF1bHQpIHtcclxuICAgICAgdXNpbmdEZWZhdWx0RXhwb3J0ID0gdHJ1ZTtcclxuICAgICAgZmlsZUV4cG9ydHMgPSAoZmlsZUV4cG9ydHMgYXMgYW55KS5kZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghaXNPYmplY3QoZmlsZUV4cG9ydHMpKSB7XHJcbiAgICAgIGV4aXRXaXRoRXJyb3IoXHJcbiAgICAgICAgRXJyQ29kZS5Vc2VyRmlsZUVycm9yLFxyXG4gICAgICAgIGBtb2R1bGUuZXhwb3J0cyR7XHJcbiAgICAgICAgICB1c2luZ0RlZmF1bHRFeHBvcnQgPyBcIi5kZWZhdWx0XCIgOiBcIlwiXHJcbiAgICAgICAgfSBpbnNpZGUgJyR7ZmlsZW5hbWV9JyBpcyBub3QgYW4gb2JqZWN0YFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbnRlbnRzO1xyXG4gICAgaWYgKGxvYWRDb250ZW50cykge1xyXG4gICAgICBjb250ZW50cyA9IGZzLnJlYWRGaWxlU3luYyhhYnNvbHV0ZUZpbGVuYW1lLCBcInV0ZjhcIik7XHJcbiAgICAgIGNvbnN0IGRlcHMgPSBmaWxlRXhwb3J0cy5kZXBlbmRlbmNpZXM7XHJcbiAgICAgIGlmIChkZXBzKSB7XHJcbiAgICAgICAgaWYgKCFpc1N0cmluZ0FycmF5KGRlcHMpKSB7XHJcbiAgICAgICAgICBleGl0V2l0aEVycm9yKFxyXG4gICAgICAgICAgICBFcnJDb2RlLlVzZXJGaWxlRXJyb3IsXHJcbiAgICAgICAgICAgIGBleHBvcnQgZGVwZW5kZW5jaWVzIG11c3QgYmUgYSBzdHJpbmcgYXJyYXkgd2l0aCBwYXRocyB0byBmaWxlc2BcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCByb290RGlyID0gcGF0aC5kaXJuYW1lKGFic29sdXRlRmlsZW5hbWUpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcclxuICAgICAgICAgIGxldCBhYnNEZXBGaWxlbmFtZTtcclxuICAgICAgICAgIGlmIChwYXRoLmlzQWJzb2x1dGUoZGVwKSkge1xyXG4gICAgICAgICAgICBhYnNEZXBGaWxlbmFtZSA9IGRlcDtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGFic0RlcEZpbGVuYW1lID0gcGF0aC5qb2luKHJvb3REaXIsIGRlcCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKGFic0RlcEZpbGVuYW1lKSAmJiAhYWJzRGVwRmlsZW5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChcIi5qc1wiKSkge1xyXG4gICAgICAgICAgICBhYnNEZXBGaWxlbmFtZSArPSBcIi5qc1wiO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbnRlbnRzICs9IGZzLnJlYWRGaWxlU3luYyhhYnNEZXBGaWxlbmFtZSwgXCJ1dGY4XCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGV4cG9ydHM6IGZpbGVFeHBvcnRzLFxyXG4gICAgICBjb250ZW50czogY29udGVudHNcclxuICAgIH07XHJcbiAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICBleGl0V2l0aEVycm9yKEVyckNvZGUuVXNlckZpbGVFcnJvciwgYGVycm9yIHJlcXVpcmluZyAke2ZpbGVuYW1lfTpcXG4ke2Vyci5zdGFjay50b1N0cmluZygpfWApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IG1haW5Bc3luYyA9IGFzeW5jICgpID0+IHtcclxuICByZXNldENvbG9ycygpO1xyXG5cclxuICBpZiAoYXJndi5oZWxwIHx8IGFyZ3YuaCkge1xyXG4gICAgcHJpbnRQcm9ncmFtSGVscCgpO1xyXG4gICAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLkNsaUVycm9yKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGxldCBleGVjdXRlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuICBpZiAoYXJndi5saXN0IHx8IGFyZ3YubCB8fCBhcmd2Ll8ubGVuZ3RoIDw9IDApIHtcclxuICAgIC8vIGxpc3RcclxuICAgIGNvbnN0IGZpbGVUb0xvYWQgPSBnZXRGaWxlVG9Mb2FkKCk7XHJcbiAgICBjb25zdCB7IGV4cG9ydHMgfSA9IGxvYWRGaWxlKGZpbGVUb0xvYWQsIGZhbHNlKSE7XHJcblxyXG4gICAgY29uc3QgY29tbWFuZE5hbWUgPSBhcmd2Ll8ubGVuZ3RoID4gMCA/IGFyZ3YuX1swXS50cmltKCkgOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAoY29tbWFuZE5hbWUpIHtcclxuICAgICAgaWYgKGFyZ3YuXy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgZXhpdFdpdGhFcnJvcihcclxuICAgICAgICAgIEVyckNvZGUuQ2xpRXJyb3IsXHJcbiAgICAgICAgICBgc3BlY2lmeSBvbmx5IG9uZSBjb21tYW5kIHRvIGxpc3Qgb3IgZG9uJ3Qgc3BlY2lmeSBhbnkgY29tbWFuZHMgdG8gbGlzdCB0aGVtIGFsbGBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgZXhlY3V0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICBjb25zdCBvdXRwdXQgPVxyXG4gICAgICAgICAgY2hhbGsuYm9sZC5ncmF5KGBsaXN0aW5nICcke2NvbW1hbmROYW1lfScgY29tbWFuZC4uLlxcblxcbmApICtcclxuICAgICAgICAgIGxpc3RDb21tYW5kKGV4cG9ydHMuY29tbWFuZHMsIGNvbW1hbmROYW1lLCB0cnVlKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhvdXRwdXQpO1xyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZXhlY3V0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICBjb25zdCBvdXRwdXQgPVxyXG4gICAgICAgICAgY2hhbGsuYm9sZC5ncmF5KFwibGlzdGluZyBhbGwgY29tbWFuZHMuLi5cXG5cXG5cIikgKyBsaXN0QWxsQ29tbWFuZHMoZXhwb3J0cy5jb21tYW5kcywgdHJ1ZSk7XHJcbiAgICAgICAgY29uc29sZS5sb2cob3V0cHV0KTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgLy8gcnVuXHJcbiAgICBpZiAoYXJndi5fLmxlbmd0aCA+IDEpIHtcclxuICAgICAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLkNsaUVycm9yLCBcIm9ubHkgb25lIGNvbW1hbmQgY2FuIGJlIHJ1biBhdCB0aGUgc2FtZSB0aW1lXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlsZVRvTG9hZCA9IGdldEZpbGVUb0xvYWQoKTtcclxuICAgIGNvbnN0IHsgZXhwb3J0cywgY29udGVudHMgfSA9IGxvYWRGaWxlKGZpbGVUb0xvYWQsIHRydWUpITtcclxuXHJcbiAgICBjb25zdCBjb21tYW5kTmFtZSA9IGFyZ3YuX1swXS50cmltKCk7XHJcblxyXG4gICAgLy8gcmVtb3ZlIHJlc2VydmVkIGFyZ3NcclxuICAgIGNvbnN0IGNvbW1hbmRBcmdzID0geyAuLi5hcmd2IH07XHJcbiAgICBkZWxldGUgY29tbWFuZEFyZ3MuXztcclxuICAgIGRlbGV0ZSBjb21tYW5kQXJncy4kMDtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHJlc0FyZyBvZiByZXNlcnZlZEFyZ05hbWVzKSB7XHJcbiAgICAgIGRlbGV0ZSBjb21tYW5kQXJnc1tyZXNBcmddO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHJlbW92ZSBub24gYWxwaGFudW1lcmljIGV4dGVuZGVkIGFyZ3NcclxuICAgIGZvciAoY29uc3QgYXJnTmFtZSBvZiBPYmplY3Qua2V5cyhhcmd2KSkge1xyXG4gICAgICBpZiAoIW5ldyBSZWdFeHAoYWxwaGFudW1lcmljRXh0ZW5kZWRQYXR0ZXJuKS50ZXN0KGFyZ05hbWUpKSB7XHJcbiAgICAgICAgZGVsZXRlIGNvbW1hbmRBcmdzW2FyZ05hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG9wdGlvbnMgPSBleHBvcnRzLm9wdGlvbnM7XHJcbiAgICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB7fTtcclxuICAgIH1cclxuICAgIGlmICghaXNPYmplY3Qob3B0aW9ucykpIHtcclxuICAgICAgZXhpdFdpdGhFcnJvcihcclxuICAgICAgICBFcnJDb2RlLlVzZXJGaWxlRXJyb3IsXHJcbiAgICAgICAgZXJyb3JNZXNzYWdlRm9yT2JqZWN0KFtcIm9wdGlvbnNcIl0sIGBtdXN0IGJlIGFuIG9iamVjdCBvciB1bmRlZmluZWRgKVxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndi5wcm9maWxlKSB7XHJcbiAgICAgIG9wdGlvbnMucHJvZmlsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndi5zaG93VGltZSkge1xyXG4gICAgICBvcHRpb25zLnNob3dUaW1lID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBleGVjdXRlID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICBhd2FpdCBydW5Db21tYW5kQXN5bmMoe1xyXG4gICAgICAgIG1ha2Z5RmlsZW5hbWU6IGZpbGVUb0xvYWQuZmlsZW5hbWUsXHJcbiAgICAgICAgbWFrZnlGaWxlQ29udGVudHM6IGNvbnRlbnRzLFxyXG4gICAgICAgIGNvbW1hbmRzOiBleHBvcnRzLmNvbW1hbmRzLFxyXG4gICAgICAgIGNvbW1hbmROYW1lOiBjb21tYW5kTmFtZSxcclxuICAgICAgICBjb21tYW5kQXJnczogY29tbWFuZEFyZ3MsXHJcbiAgICAgICAgb3B0aW9uczogb3B0aW9uc1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICB0cnkge1xyXG4gICAgYXdhaXQgZXhlY3V0ZSgpO1xyXG4gIH0gY2F0Y2ggKGVycikge1xyXG4gICAgcmVzZXRDb2xvcnMoKTtcclxuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBNYWtmeUVycm9yKSB7XHJcbiAgICAgIGNvbnN0IHByZWZpeCA9IGVyci5leGVjQ29udGV4dCA/IGZvcm1hdENvbnRleHRJZChlcnIuZXhlY0NvbnRleHQpIDogdW5kZWZpbmVkO1xyXG4gICAgICBleGl0V2l0aEVycm9yKEVyckNvZGUuVXNlckZpbGVFcnJvciwgZXJyLm1lc3NhZ2UsIHByZWZpeCk7XHJcbiAgICB9IGVsc2UgaWYgKGVyciBpbnN0YW5jZW9mIFJ1bkVycm9yKSB7XHJcbiAgICAgIC8vIHRoZSBtZXNzYWdlIHNob3VsZCBiZSBwcmludGVkIGFscmVhZHlcclxuICAgICAgZXhpdFdpdGhFcnJvcihFcnJDb2RlLkV4ZWNFcnJvcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBlcnI7XHJcbiAgICB9XHJcbiAgfSBmaW5hbGx5IHtcclxuICAgIHJlc2V0Q29sb3JzKCk7XHJcbiAgfVxyXG59O1xyXG5cclxudHJ5IHtcclxuICAvL25vaW5zcGVjdGlvbiBKU0lnbm9yZWRQcm9taXNlRnJvbUNhbGxcclxuICBtYWluQXN5bmMoKTtcclxufSBjYXRjaCAoZXJyKSB7XHJcbiAgdGhyb3cgZXJyO1xyXG59XHJcbiJdfQ==

@@ -8,3 +8,3 @@ "use strict";

return extendStatics(d, b);
}
};
return function (d, b) {

@@ -41,2 +41,2 @@ extendStatics(d, b);

exports.RunError = RunError;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7SUFBZ0MsOEJBQUs7SUFHbkMsb0JBQVksT0FBZSxFQUFFLE9BQWdDO1FBQTdELFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBSWY7UUFIQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEQsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxLQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQzs7SUFDN0IsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQVRELENBQWdDLEtBQUssR0FTcEM7QUFUWSxnQ0FBVTtBQVd2QjtJQUE4Qiw0QkFBSztJQUdqQyxrQkFBWSxPQUFlLEVBQUUsT0FBZ0M7UUFBN0QsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FJZjtRQUhDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLEtBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDOztJQUM3QixDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUFURCxDQUE4QixLQUFLLEdBU2xDO0FBVFksNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGVjQ29udGV4dCB9IGZyb20gXCIuL2V4ZWNSdW50aW1lXCI7XG5cbmV4cG9ydCBjbGFzcyBNYWtmeUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBleGVjQ29udGV4dD86IEV4ZWNDb250ZXh0O1xuXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgY29udGV4dDogRXhlY0NvbnRleHQgfCB1bmRlZmluZWQpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgTWFrZnlFcnJvci5wcm90b3R5cGUpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICB0aGlzLmV4ZWNDb250ZXh0ID0gY29udGV4dDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUnVuRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGV4ZWNDb250ZXh0PzogRXhlY0NvbnRleHQ7XG5cbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBjb250ZXh0OiBFeGVjQ29udGV4dCB8IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBSdW5FcnJvci5wcm90b3R5cGUpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICB0aGlzLmV4ZWNDb250ZXh0ID0gY29udGV4dDtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7SUFBZ0MsOEJBQUs7SUFHbkMsb0JBQVksT0FBZSxFQUFFLE9BQWdDO1FBQTdELFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBSWY7UUFIQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEQsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxLQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQzs7SUFDN0IsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQVRELENBQWdDLEtBQUssR0FTcEM7QUFUWSxnQ0FBVTtBQVd2QjtJQUE4Qiw0QkFBSztJQUdqQyxrQkFBWSxPQUFlLEVBQUUsT0FBZ0M7UUFBN0QsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FJZjtRQUhDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLEtBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDOztJQUM3QixDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUFURCxDQUE4QixLQUFLLEdBU2xDO0FBVFksNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGVjQ29udGV4dCB9IGZyb20gXCIuL2V4ZWNSdW50aW1lXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTWFrZnlFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICBleGVjQ29udGV4dD86IEV4ZWNDb250ZXh0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGNvbnRleHQ6IEV4ZWNDb250ZXh0IHwgdW5kZWZpbmVkKSB7XHJcbiAgICBzdXBlcihtZXNzYWdlKTtcclxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBNYWtmeUVycm9yLnByb3RvdHlwZSk7XHJcbiAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XHJcbiAgICB0aGlzLmV4ZWNDb250ZXh0ID0gY29udGV4dDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSdW5FcnJvciBleHRlbmRzIEVycm9yIHtcclxuICBleGVjQ29udGV4dD86IEV4ZWNDb250ZXh0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGNvbnRleHQ6IEV4ZWNDb250ZXh0IHwgdW5kZWZpbmVkKSB7XHJcbiAgICBzdXBlcihtZXNzYWdlKTtcclxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBSdW5FcnJvci5wcm90b3R5cGUpO1xyXG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xyXG4gICAgdGhpcy5leGVjQ29udGV4dCA9IGNvbnRleHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==

@@ -81,2 +81,3 @@ "use strict";

var chalk_1 = require("chalk");
var strip_ansi_1 = require("strip-ansi");
var errors_1 = require("./errors");

@@ -93,3 +94,2 @@ var execRuntime = require("./execRuntime");

var typeChecking_1 = require("./utils/typeChecking");
var stripColor = require("strip-ansi");
var prettyHrTime = require("pretty-hrtime");

@@ -212,3 +212,3 @@ // only used for TS typing

// find left help side max length
var lengths = argDefsList.map(function (entry) { return stripColor(formatLeftHelp_1(entry[1])).length; });
var lengths = argDefsList.map(function (entry) { return strip_ansi_1.default(formatLeftHelp_1(entry[1])).length; });
var maxLeftLength_1 = Math.max.apply(Math, __spread(lengths)) + 4;

@@ -220,3 +220,3 @@ var writeArgHelp_1 = function (argDef) {

if (rightHelp) {
for (var i = stripColor(formattedLeftHelp).length; i < maxLeftLength_1; i++) {
for (var i = strip_ansi_1.default(formattedLeftHelp).length; i < maxLeftLength_1; i++) {
help += " ";

@@ -250,5 +250,5 @@ }

exports.listAllCommands = function (commands, listArguments, listInternal) {
var e_2, _a;
if (listArguments === void 0) { listArguments = true; }
if (listInternal === void 0) { listInternal = false; }
var e_2, _a;
if (!typeChecking_1.isObject(commands)) {

@@ -298,2 +298,2 @@ throw new errors_1.MakfyError(formatting_1.errorMessageForObject(["commands"], "must be an object (did you export it?)"), undefined);

exports.run = run;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUJBME9BOztBQTFPQSwrQkFBcUM7QUFDckMsbUNBQWdEO0FBQ2hELDJDQUE2QztBQUU3Qyw4Q0FBa0Q7QUFDbEQsNENBQWdEO0FBQ2hELDhDQUFvRjtBQWEzRSxrQkFiQSxrQkFBTyxDQWFBO0FBVmhCLDJDQUE4QztBQUM5QyxpREFBMEU7QUFDMUUscUNBQTJEO0FBQzNELGlEQUFnRDtBQUNoRCxxREFBZ0Q7QUFDaEQsdUNBQTBDO0FBRTFDLElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQVc5QywwQkFBMEI7QUFDMUIsU0FBZ0IsV0FBVyxDQUFDLGVBQTRCO0lBQ3RELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUM7QUFGRCxrQ0FFQztBQVdZLFFBQUEsZUFBZSxHQUFHLFVBQU8saUJBQW9DOzs7OztnQkFFdEUsUUFBUSxHQU1OLGlCQUFpQixTQU5YLEVBQ1IsV0FBVyxHQUtULGlCQUFpQixZQUxSLEVBQ1gsV0FBVyxHQUlULGlCQUFpQixZQUpSLEVBQ1gsT0FBTyxHQUdMLGlCQUFpQixRQUhaLEVBQ1AsYUFBYSxHQUVYLGlCQUFpQixjQUZOLEVBQ2IsaUJBQWlCLEdBQ2YsaUJBQWlCLGtCQURGLENBQ0c7Z0JBRXRCLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ2hCLE1BQU0sSUFBSSxtQkFBVSxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUN6RDtnQkFFSyxhQUFhLEdBQWdCLHNCQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUUxRCxjQUFjLEdBQUcsd0JBQWEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxD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QUFBLEVBQUEsb0JBQW9COztJQUM1RixJQUFJLENBQUMsdUJBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUN2QixNQUFNLElBQUksbUJBQVUsQ0FDbEIsa0NBQXFCLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSx3Q0FBd0MsQ0FBQyxFQUM3RSxTQUFTLENBQ1YsQ0FBQztLQUNIO0lBRUQsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDOztRQUVoQixLQUEwQixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO1lBQTVDLElBQU0sV0FBVyxXQUFBO1lBQ3BCLElBQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsSUFBSSxZQUFZLEVBQUU7Z0JBQzVDLE1BQU0sSUFBSSxtQkFBVyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDN0Q7U0FDRjs7Ozs7Ozs7O0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsZUFBZTtBQUNmLFNBQWdCLEdBQUc7SUFBbkIsaUJBT0M7SUFQbUIsd0JBQWdDO1NBQWhDLFVBQWdDLEVBQWhDLHFCQUFnQyxFQUFoQyxJQUFnQztRQUFoQyxtQ0FBZ0M7O0lBQ2xELElBQU0sR0FBRyxHQUFnQjtRQUN2QixHQUFHLEVBQUUsVUFBTyxJQUFrQjs7OzRCQUM1QixxQkFBTSxJQUFJLHdCQUFJLGNBQWMsSUFBQzs7d0JBQTdCLFNBQTZCLENBQUM7Ozs7YUFDL0I7S0FDRixDQUFDO0lBQ0YsT0FBTyxHQUF3QyxDQUFDO0FBQ2xELENBQUM7QUFQRCxrQkFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsaywgeyBMZXZlbCB9IGZyb20gXCJjaGFsa1wiO1xuaW1wb3J0IHsgTWFrZnlFcnJvciwgUnVuRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCAqIGFzIGV4ZWNSdW50aW1lIGZyb20gXCIuL2V4ZWNSdW50aW1lXCI7XG5pbXBvcnQgeyBQYXJzZWRBcmdEZWZpbml0aW9uIH0gZnJvbSBcIi4vcGFyc2VyL2NvbW1hbmRBcmdcIjtcbmltcG9ydCB7IHBhcnNlQ29tbWFuZHMgfSBmcm9tIFwiLi9wYXJzZXIvY29tbWFuZHNcIjtcbmltcG9ydCB7IHBhcnNlT3B0aW9ucyB9IGZyb20gXCIuL3BhcnNlci9vcHRpb25zXCI7XG5pbXBvcnQgeyBjb21tYW5kLCBDb21tYW5kLCBDb21tYW5kRnJvbUZ1bmN0aW9uLCBDb21tYW5kcyB9IGZyb20gXCIuL3NjaGVtYS9jb21tYW5kc1wiO1xuaW1wb3J0IHsgRnVsbE9wdGlvbnMsIFBhcnRpYWxPcHRpb25zIH0gZnJvbSBcIi4vc2NoZW1hL29wdGlvbnNcIjtcbmltcG9ydCB7IEV4ZWNDb21tYW5kLCBFeGVjRnVuY3Rpb24gfSBmcm9tIFwiLi9zY2hlbWEvcnVudGltZVwiO1xuaW1wb3J0IHsgcmVzZXRDb2xvcnMgfSBmcm9tIFwiLi91dGlscy9jb25zb2xlXCI7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2VGb3JPYmplY3QsIGdldFRpbWVTdHJpbmcgfSBmcm9tIFwiLi91dGlscy9mb3JtYXR0aW5nXCI7XG5pbXBvcnQgeyBzYXZlSGFzaENvbGxlY3Rpb25GaWxlQXN5bmMgfSBmcm9tIFwiLi91dGlscy9oYXNoXCI7XG5pbXBvcnQgeyBUZXh0V3JpdGVyIH0gZnJvbSBcIi4vdXRpbHMvVGV4dFdyaXRlclwiO1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tIFwiLi91dGlscy90eXBlQ2hlY2tpbmdcIjtcbmltcG9ydCBzdHJpcENvbG9yID0gcmVxdWlyZShcInN0cmlwLWFuc2lcIik7XG5cbmNvbnN0IHByZXR0eUhyVGltZSA9IHJlcXVpcmUoXCJwcmV0dHktaHJ0aW1lXCIpO1xudHlwZSBFeGVjQ29udGV4dCA9IGV4ZWNSdW50aW1lLkV4ZWNDb250ZXh0O1xuXG5leHBvcnQgeyBjb21tYW5kIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZnlDb25maWcge1xuICBjb21tYW5kczogQ29tbWFuZHM7XG4gIGRlcGVuZGVuY2llcz86IHN0cmluZ1tdO1xuICBvcHRpb25zPzogUGFydGlhbE9wdGlvbnM7XG59XG5cbi8vIG9ubHkgdXNlZCBmb3IgVFMgdHlwaW5nXG5leHBvcnQgZnVuY3Rpb24gbWFrZnlDb25maWcobWFrZnlDb25maWdEYXRhOiBNYWtmeUNvbmZpZyk6IE1ha2Z5Q29uZmlnIHtcbiAgcmV0dXJuIG1ha2Z5Q29uZmlnRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdW5Db21tYW5kT3B0aW9ucyB7XG4gIGNvbW1hbmRzOiBDb21tYW5kcztcbiAgY29tbWFuZE5hbWU6IHN0cmluZztcbiAgY29tbWFuZEFyZ3M6IG9iamVjdCB8IHVuZGVmaW5lZDtcbiAgbWFrZnlGaWxlbmFtZTogc3RyaW5nO1xuICBtYWtmeUZpbGVDb250ZW50cz86IHN0cmluZztcbiAgb3B0aW9uczogUGFydGlhbE9wdGlvbnMgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBydW5Db21tYW5kQXN5bmMgPSBhc3luYyAocnVuQ29tbWFuZE9wdGlvbnM6IFJ1bkNvbW1hbmRPcHRpb25zKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb21tYW5kcyxcbiAgICBjb21tYW5kTmFtZSxcbiAgICBjb21tYW5kQXJncyxcbiAgICBvcHRpb25zLFxuICAgIG1ha2Z5RmlsZW5hbWUsXG4gICAgbWFrZnlGaWxlQ29udGVudHNcbiAgfSA9IHJ1bkNvbW1hbmRPcHRpb25zO1xuXG4gIGlmICghY29tbWFuZE5hbWUpIHtcbiAgICB0aHJvdyBuZXcgTWFrZnlFcnJvcihcImNvbW1hbmQgbmFtZSBtaXNzaW5nXCIsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBjb25zdCBwYXJzZWRPcHRpb25zOiBGdWxsT3B0aW9ucyA9IHBhcnNlT3B0aW9ucyhvcHRpb25zLCBmYWxzZSk7XG5cbiAgY29uc3QgcGFyc2VkQ29tbWFuZHMgPSBwYXJzZUNvbW1hbmRzKGNvbW1hbmRzLCBmYWxzZSk7XG4gIGNvbnN0IGN1cnJlbnRDb21tYW5kID0gY29tbWFuZHNbY29tbWFuZE5hbWVdO1xuICBjb25zdCBwYXJzZWRDb21tYW5kID0gcGFyc2VkQ29tbWFuZHNbY29tbWFuZE5hbWVdO1xuICBpZiAoIXBhcnNlZENvbW1hbmQgfHwgIWN1cnJlbnRDb21tYW5kKSB7XG4gICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoYGNvbW1hbmQgJyR7Y29tbWFuZE5hbWV9JyBub3QgZm91bmRgLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgaWYgKGN1cnJlbnRDb21tYW5kLmludGVybmFsKSB7XG4gICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoXCJpbnRlcm5hbCBjb21tYW5kcyBjYW5ub3QgYmUgcnVuIGRpcmVjdGx5XCIsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBjb25zb2xlLmxvZyhcbiAgICBnZXRUaW1lU3RyaW5nKHBhcnNlZE9wdGlvbnMuc2hvd1RpbWUpICsgY2hhbGsuYmdCbHVlLmJvbGQud2hpdGUoYCR7Y29tbWFuZE5hbWV9IC0gcnVubmluZy4uLmApXG4gICk7XG5cbiAgLy8gcnVuXG4gIGNvbnN0IHN0YXJ0VGltZSA9IHByb2Nlc3MuaHJ0aW1lKCk7XG5cbiAgY29uc3QgZ2V0RmlsZUNoYW5nZXNSZXN1bHRzOiBFeGVjQ29udGV4dFtcImdldEZpbGVDaGFuZ2VzUmVzdWx0c1wiXSA9IHt9O1xuXG4gIGNvbnN0IGV4ZWNDb250ZXh0OiBFeGVjQ29udGV4dCA9IHtcbiAgICAvLyBmb3IgTWFrZnlDb250ZXh0XG4gICAgY29tbWFuZE5hbWU6IGNvbW1hbmROYW1lLFxuICAgIGNvbW1hbmRBcmdzOiBjb21tYW5kQXJncyB8fCB7fSxcbiAgICBjb21tYW5kczogY29tbWFuZHMsXG4gICAgb3B0aW9uczoge1xuICAgICAgLi4ucGFyc2VkT3B0aW9ucyxcbiAgICAgIGNvbG9yTW9kZTogY2hhbGsuc3VwcG9ydHNDb2xvci5sZXZlbCAhPT0gTGV2ZWwuTm9uZVxuICAgIH0sXG4gICAgbWFrZnlGaWxlbmFtZTogbWFrZnlGaWxlbmFtZSxcblxuICAgIC8vIGZvciBFeGVjQ29udGV4dFxuICAgIHBhcnNlZENvbW1hbmRzOiBwYXJzZWRDb21tYW5kcyxcbiAgICBtYWtmeUZpbGVDb250ZW50czogbWFrZnlGaWxlQ29udGVudHMsXG4gICAgc3luY01vZGU6IHRydWUsXG4gICAgaWRTdGFjazogW10sXG4gICAgZ2V0RmlsZUNoYW5nZXNSZXN1bHRzOiBnZXRGaWxlQ2hhbmdlc1Jlc3VsdHNcbiAgfTtcblxuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNSdW50aW1lLnJ1bkNvbW1hbmRBc3luYyhjb21tYW5kTmFtZSwgY29tbWFuZEFyZ3MgfHwge30sIGV4ZWNDb250ZXh0LCBmYWxzZSk7XG5cbiAgICAvLyBvbiBzdWNjZXNzIHNhdmUgbmV3IGNhY2hlcyBpbiBwYXJhbGxlbFxuICAgIGNvbnN0IHNhdmVQcm9taXNlcyA9IFtdO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGdldEZpbGVDaGFuZ2VzUmVzdWx0cykpIHtcbiAgICAgIHNhdmVQcm9taXNlcy5wdXNoKHNhdmVIYXNoQ29sbGVjdGlvbkZpbGVBc3luYyhrZXksIHZhbHVlLm5ld0hhc2hDb2xsZWN0aW9uKSk7XG4gICAgfVxuICAgIGF3YWl0IFByb21pc2UuYWxsKHNhdmVQcm9taXNlcyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmICghKGVyciBpbnN0YW5jZW9mIFJ1bkVycm9yKSAmJiAhKGVyciBpbnN0YW5jZW9mIE1ha2Z5RXJyb3IpKSB7XG4gICAgICAvLyBhbiBlcnJvciBtb3N0IHByb2JhYmx5IHRocm93biBieSB0aGUgZXhlY3V0aW9uIG9mIHJ1blxuICAgICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoZXJyLm1lc3NhZ2UsIHVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBjb25zdCBlbmRUaW1lID0gcHJvY2Vzcy5ocnRpbWUoc3RhcnRUaW1lKTtcbiAgY29uc29sZS5sb2coXG4gICAgXCJcXG5cIiArXG4gICAgICBnZXRUaW1lU3RyaW5nKHBhcnNlZE9wdGlvbnMuc2hvd1RpbWUpICtcbiAgICAgIGNoYWxrLmJvbGQuZ3JlZW4oYCcke2NvbW1hbmROYW1lfScgZG9uZSBpbiAke3ByZXR0eUhyVGltZShlbmRUaW1lKX1gKVxuICApO1xuICByZXNldENvbG9ycygpO1xufTtcblxuZXhwb3J0IGNvbnN0IGxpc3RDb21tYW5kID0gKGNvbW1hbmRzOiBDb21tYW5kcywgY29tbWFuZE5hbWU6IHN0cmluZywgbGlzdEFyZ3VtZW50cyA9IHRydWUpID0+IHtcbiAgaWYgKCFjb21tYW5kTmFtZSkge1xuICAgIHRocm93IG5ldyBNYWtmeUVycm9yKFwibWlzc2luZyBjb21tYW5kIG5hbWVcIiwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIGNvbnN0IHcgPSBuZXcgVGV4dFdyaXRlcigpO1xuXG4gIC8vIHRoaXMgYWxzbyBtYWtlcyBzdXJlIHRoZSBjb21tYW5kIGV4aXN0c1xuICBjb25zdCBwYXJzZWRDb21tYW5kcyA9IHBhcnNlQ29tbWFuZHMoY29tbWFuZHMsIGZhbHNlKTtcbiAgY29uc3QgcGFyc2VkQ29tbWFuZCA9IHBhcnNlZENvbW1hbmRzW2NvbW1hbmROYW1lXTtcbiAgaWYgKCFwYXJzZWRDb21tYW5kKSB7XG4gICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoYGNvbW1hbmQgJyR7Y29tbWFuZE5hbWV9JyBub3QgZm91bmRgLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgY29uc3QgY3VycmVudENvbW1hbmQgPSBjb21tYW5kc1tjb21tYW5kTmFtZV07XG5cbiAgbGV0IHRpdGxlID0gY2hhbGsuYmdCbHVlLmJvbGQud2hpdGUoY29tbWFuZE5hbWUpO1xuXG4gIGNvbnN0IGF3ID0gbmV3IFRleHRXcml0ZXIoKTtcbiAgaWYgKGxpc3RBcmd1bWVudHMpIHtcbiAgICBjb25zdCBhcmdEZWZzTGlzdCA9IE9iamVjdC5lbnRyaWVzKHBhcnNlZENvbW1hbmQuYXJnRGVmaW5pdGlvbnMpO1xuICAgIC8vIHNvcnQgYWxwaGFiZXRpY2FsbHlcbiAgICBhcmdEZWZzTGlzdC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gYVswXS50b0xvd2VyQ2FzZSgpLmxvY2FsZUNvbXBhcmUoYlswXS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9KTtcblxuICAgIGlmIChhcmdEZWZzTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCByZXF1aXJlZEFyZ3MgPSBhcmdEZWZzTGlzdC5maWx0ZXIoKGUpID0+IGVbMV0ucmVxdWlyZWQpO1xuICAgICAgY29uc3Qgb3B0aW9uYWxBcmdzID0gYXJnRGVmc0xpc3QuZmlsdGVyKChlKSA9PiAhZVsxXS5yZXF1aXJlZCk7XG5cbiAgICAgIGNvbnN0IGZvcm1hdExlZnRIZWxwID0gKGFyZ0RlZjogUGFyc2VkQXJnRGVmaW5pdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHJlcXVpcmVkLCBsZWZ0SGVscCB9ID0gYXJnRGVmO1xuICAgICAgICBjb25zdCBsZWZ0QnJhY2tldCA9IHJlcXVpcmVkID8gXCJcIiA6IFwiW1wiO1xuICAgICAgICBjb25zdCByaWdodEJyYWNrZXQgPSByZXF1aXJlZCA/IFwiXCIgOiBcIl1cIjtcblxuICAgICAgICByZXR1cm4gY2hhbGsuYm9sZC5ncmF5KGAgJHtsZWZ0QnJhY2tldH0ke2xlZnRIZWxwfSR7cmlnaHRCcmFja2V0fWApO1xuICAgICAgfTtcblxuICAgICAgLy8gZmluZCBsZWZ0IGhlbHAgc2lkZSBtYXggbGVuZ3RoXG4gICAgICBjb25zdCBsZW5ndGhzID0gYXJnRGVmc0xpc3QubWFwKChlbnRyeSkgPT4gc3RyaXBDb2xvcihmb3JtYXRMZWZ0SGVscChlbnRyeVsxXSkpLmxlbmd0aCk7XG4gICAgICBjb25zdCBtYXhMZWZ0TGVuZ3RoID0gTWF0aC5tYXgoLi4ubGVuZ3RocykgKyA0O1xuXG4gICAgICBjb25zdCB3cml0ZUFyZ0hlbHAgPSAoYXJnRGVmOiBbc3RyaW5nLCBQYXJzZWRBcmdEZWZpbml0aW9uXSkgPT4ge1xuICAgICAgICBjb25zdCB7IHJpZ2h0SGVscCB9ID0gYXJnRGVmWzFdO1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZExlZnRIZWxwID0gZm9ybWF0TGVmdEhlbHAoYXJnRGVmWzFdKTtcbiAgICAgICAgbGV0IGhlbHAgPSBmb3JtYXR0ZWRMZWZ0SGVscDtcblxuICAgICAgICBpZiAocmlnaHRIZWxwKSB7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IHN0cmlwQ29sb3IoZm9ybWF0dGVkTGVmdEhlbHApLmxlbmd0aDsgaSA8IG1heExlZnRMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaGVscCArPSBcIiBcIjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaGVscCArPSByaWdodEhlbHA7XG4gICAgICAgIH1cbiAgICAgICAgYXcud3JpdGVMaW5lKGAgICR7aGVscH1gKTtcblxuICAgICAgICB0aXRsZSArPSBmb3JtYXR0ZWRMZWZ0SGVscDtcbiAgICAgIH07XG5cbiAgICAgIGlmIChyZXF1aXJlZEFyZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICByZXF1aXJlZEFyZ3MuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICAgIHdyaXRlQXJnSGVscChlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25hbEFyZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICBvcHRpb25hbEFyZ3MuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICAgIHdyaXRlQXJnSGVscChlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdy53cml0ZUxpbmUodGl0bGUpO1xuICBpZiAoY3VycmVudENvbW1hbmQuZGVzYyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdy53cml0ZUxpbmUoY2hhbGsuYm9sZC5ncmF5KGAgLSAke2N1cnJlbnRDb21tYW5kLmRlc2N9YCkpO1xuICB9XG4gIHcud3JpdGUoYXcub3V0cHV0KTtcbiAgdy53cml0ZUxpbmUoY2hhbGsucmVzZXQoXCJcIikpO1xuXG4gIHJldHVybiB3Lm91dHB1dDtcbn07XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsQ29tbWFuZHMgPSAoY29tbWFuZHM6IENvbW1hbmRzLCBsaXN0QXJndW1lbnRzID0gdHJ1ZSwgbGlzdEludGVybmFsID0gZmFsc2UpID0+IHtcbiAgaWYgKCFpc09iamVjdChjb21tYW5kcykpIHtcbiAgICB0aHJvdyBuZXcgTWFrZnlFcnJvcihcbiAgICAgIGVycm9yTWVzc2FnZUZvck9iamVjdChbXCJjb21tYW5kc1wiXSwgYG11c3QgYmUgYW4gb2JqZWN0IChkaWQgeW91IGV4cG9ydCBpdD8pYCksXG4gICAgICB1bmRlZmluZWRcbiAgICApO1xuICB9XG5cbiAgbGV0IG91dHB1dCA9IFwiXCI7XG5cbiAgZm9yIChjb25zdCBjb21tYW5kTmFtZSBvZiBPYmplY3Qua2V5cyhjb21tYW5kcykpIHtcbiAgICBjb25zdCBjdXJyZW50Q29tbWFuZCA9IGNvbW1hbmRzW2NvbW1hbmROYW1lXTtcbiAgICBpZiAoIWN1cnJlbnRDb21tYW5kLmludGVybmFsIHx8IGxpc3RJbnRlcm5hbCkge1xuICAgICAgb3V0cHV0ICs9IGxpc3RDb21tYW5kKGNvbW1hbmRzLCBjb21tYW5kTmFtZSwgbGlzdEFyZ3VtZW50cyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvdXRwdXQ7XG59O1xuXG4vLyBzaG9ydCBzeW50YXhcbmV4cG9ydCBmdW5jdGlvbiBydW4oLi4uaW5saW5lQ29tbWFuZHM6IEV4ZWNDb21tYW5kW10pOiBDb21tYW5kPHt9PiAmIENvbW1hbmRGcm9tRnVuY3Rpb24ge1xuICBjb25zdCBjbWQ6IENvbW1hbmQ8e30+ID0ge1xuICAgIHJ1bjogYXN5bmMgKGV4ZWM6IEV4ZWNGdW5jdGlvbikgPT4ge1xuICAgICAgYXdhaXQgZXhlYyguLi5pbmxpbmVDb21tYW5kcyk7XG4gICAgfVxuICB9O1xuICByZXR1cm4gY21kIGFzIENvbW1hbmQ8e30+ICYgQ29tbWFuZEZyb21GdW5jdGlvbjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUJBME9BOztBQTFPQSwrQkFBcUM7QUFDckMseUNBQW9DO0FBQ3BDLG1DQUFnRDtBQUNoRCwyQ0FBNkM7QUFFN0MsOENBQWtEO0FBQ2xELDRDQUFnRDtBQUNoRCw4Q0FBb0Y7QUFZM0Usa0JBWkEsa0JBQU8sQ0FZQTtBQVRoQiwyQ0FBOEM7QUFDOUMsaURBQTBFO0FBQzFFLHFDQUEyRDtBQUMzRCxpREFBZ0Q7QUFDaEQscURBQWdEO0FBRWhELElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQVc5QywwQkFBMEI7QUFDMUIsU0FBZ0IsV0FBVyxDQUFDLGVBQTRCO0lBQ3RELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUM7QUFGRCxrQ0FFQztBQVdZLFFBQUEsZUFBZSxHQUFHLFVBQU8saUJBQW9DOzs7OztnQkFFdEUsUUFBUSxHQU1OLGlCQUFpQixTQU5YLEVBQ1IsV0FBVyxHQUtULGlCQUFpQixZQUxSLEVBQ1gsV0FBVyxHQUlULGlCQUFpQixZQUpSLEVBQ1gsT0FBTyxHQUdMLGlCQUFpQixRQUhaLEVBQ1AsYUFBYSxHQUVYLGlCQUFpQixjQUZOLEVBQ2IsaUJBQWlCLEdBQ2YsaUJBQWlCLGtCQURGLENBQ0c7Z0JBRXRCLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ2hCLE1BQU0sSUFBSSxtQkFBVSxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUN6RDtnQkFFSyxhQUFhLEdBQWdCLHNCQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUUxRCxjQUFjLEdBQUcsd0JBQWEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxD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LDZCQUFBLEVBQUEsb0JBQW9CO0lBQzVGLElBQUksQ0FBQyx1QkFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxtQkFBVSxDQUNsQixrQ0FBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLHdDQUF3QyxDQUFDLEVBQzdFLFNBQVMsQ0FDVixDQUFDO0tBQ0g7SUFFRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7O1FBRWhCLEtBQTBCLElBQUEsS0FBQSxTQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7WUFBNUMsSUFBTSxXQUFXLFdBQUE7WUFDcEIsSUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxJQUFJLFlBQVksRUFBRTtnQkFDNUMsTUFBTSxJQUFJLG1CQUFXLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQzthQUM3RDtTQUNGOzs7Ozs7Ozs7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixlQUFlO0FBQ2YsU0FBZ0IsR0FBRztJQUFuQixpQkFPQztJQVBtQix3QkFBZ0M7U0FBaEMsVUFBZ0MsRUFBaEMscUJBQWdDLEVBQWhDLElBQWdDO1FBQWhDLG1DQUFnQzs7SUFDbEQsSUFBTSxHQUFHLEdBQWdCO1FBQ3ZCLEdBQUcsRUFBRSxVQUFPLElBQWtCOzs7NEJBQzVCLHFCQUFNLElBQUksd0JBQUksY0FBYyxJQUFDOzt3QkFBN0IsU0FBNkIsQ0FBQzs7OzthQUMvQjtLQUNGLENBQUM7SUFDRixPQUFPLEdBQXdDLENBQUM7QUFDbEQsQ0FBQztBQVBELGtCQU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrLCB7IExldmVsIH0gZnJvbSBcImNoYWxrXCI7XHJcbmltcG9ydCBzdHJpcENvbG9yIGZyb20gXCJzdHJpcC1hbnNpXCI7XHJcbmltcG9ydCB7IE1ha2Z5RXJyb3IsIFJ1bkVycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XHJcbmltcG9ydCAqIGFzIGV4ZWNSdW50aW1lIGZyb20gXCIuL2V4ZWNSdW50aW1lXCI7XHJcbmltcG9ydCB7IFBhcnNlZEFyZ0RlZmluaXRpb24gfSBmcm9tIFwiLi9wYXJzZXIvY29tbWFuZEFyZ1wiO1xyXG5pbXBvcnQgeyBwYXJzZUNvbW1hbmRzIH0gZnJvbSBcIi4vcGFyc2VyL2NvbW1hbmRzXCI7XHJcbmltcG9ydCB7IHBhcnNlT3B0aW9ucyB9IGZyb20gXCIuL3BhcnNlci9vcHRpb25zXCI7XHJcbmltcG9ydCB7IGNvbW1hbmQsIENvbW1hbmQsIENvbW1hbmRGcm9tRnVuY3Rpb24sIENvbW1hbmRzIH0gZnJvbSBcIi4vc2NoZW1hL2NvbW1hbmRzXCI7XHJcbmltcG9ydCB7IEZ1bGxPcHRpb25zLCBQYXJ0aWFsT3B0aW9ucyB9IGZyb20gXCIuL3NjaGVtYS9vcHRpb25zXCI7XHJcbmltcG9ydCB7IEV4ZWNDb21tYW5kLCBFeGVjRnVuY3Rpb24gfSBmcm9tIFwiLi9zY2hlbWEvcnVudGltZVwiO1xyXG5pbXBvcnQgeyByZXNldENvbG9ycyB9IGZyb20gXCIuL3V0aWxzL2NvbnNvbGVcIjtcclxuaW1wb3J0IHsgZXJyb3JNZXNzYWdlRm9yT2JqZWN0LCBnZXRUaW1lU3RyaW5nIH0gZnJvbSBcIi4vdXRpbHMvZm9ybWF0dGluZ1wiO1xyXG5pbXBvcnQgeyBzYXZlSGFzaENvbGxlY3Rpb25GaWxlQXN5bmMgfSBmcm9tIFwiLi91dGlscy9oYXNoXCI7XHJcbmltcG9ydCB7IFRleHRXcml0ZXIgfSBmcm9tIFwiLi91dGlscy9UZXh0V3JpdGVyXCI7XHJcbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSBcIi4vdXRpbHMvdHlwZUNoZWNraW5nXCI7XHJcblxyXG5jb25zdCBwcmV0dHlIclRpbWUgPSByZXF1aXJlKFwicHJldHR5LWhydGltZVwiKTtcclxudHlwZSBFeGVjQ29udGV4dCA9IGV4ZWNSdW50aW1lLkV4ZWNDb250ZXh0O1xyXG5cclxuZXhwb3J0IHsgY29tbWFuZCB9O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNYWtmeUNvbmZpZyB7XHJcbiAgY29tbWFuZHM6IENvbW1hbmRzO1xyXG4gIGRlcGVuZGVuY2llcz86IHN0cmluZ1tdO1xyXG4gIG9wdGlvbnM/OiBQYXJ0aWFsT3B0aW9ucztcclxufVxyXG5cclxuLy8gb25seSB1c2VkIGZvciBUUyB0eXBpbmdcclxuZXhwb3J0IGZ1bmN0aW9uIG1ha2Z5Q29uZmlnKG1ha2Z5Q29uZmlnRGF0YTogTWFrZnlDb25maWcpOiBNYWtmeUNvbmZpZyB7XHJcbiAgcmV0dXJuIG1ha2Z5Q29uZmlnRGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSdW5Db21tYW5kT3B0aW9ucyB7XHJcbiAgY29tbWFuZHM6IENvbW1hbmRzO1xyXG4gIGNvbW1hbmROYW1lOiBzdHJpbmc7XHJcbiAgY29tbWFuZEFyZ3M6IG9iamVjdCB8IHVuZGVmaW5lZDtcclxuICBtYWtmeUZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgbWFrZnlGaWxlQ29udGVudHM/OiBzdHJpbmc7XHJcbiAgb3B0aW9uczogUGFydGlhbE9wdGlvbnMgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBydW5Db21tYW5kQXN5bmMgPSBhc3luYyAocnVuQ29tbWFuZE9wdGlvbnM6IFJ1bkNvbW1hbmRPcHRpb25zKSA9PiB7XHJcbiAgY29uc3Qge1xyXG4gICAgY29tbWFuZHMsXHJcbiAgICBjb21tYW5kTmFtZSxcclxuICAgIGNvbW1hbmRBcmdzLFxyXG4gICAgb3B0aW9ucyxcclxuICAgIG1ha2Z5RmlsZW5hbWUsXHJcbiAgICBtYWtmeUZpbGVDb250ZW50c1xyXG4gIH0gPSBydW5Db21tYW5kT3B0aW9ucztcclxuXHJcbiAgaWYgKCFjb21tYW5kTmFtZSkge1xyXG4gICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoXCJjb21tYW5kIG5hbWUgbWlzc2luZ1wiLCB1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcGFyc2VkT3B0aW9uczogRnVsbE9wdGlvbnMgPSBwYXJzZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpO1xyXG5cclxuICBjb25zdCBwYXJzZWRDb21tYW5kcyA9IHBhcnNlQ29tbWFuZHMoY29tbWFuZHMsIGZhbHNlKTtcclxuICBjb25zdCBjdXJyZW50Q29tbWFuZCA9IGNvbW1hbmRzW2NvbW1hbmROYW1lXTtcclxuICBjb25zdCBwYXJzZWRDb21tYW5kID0gcGFyc2VkQ29tbWFuZHNbY29tbWFuZE5hbWVdO1xyXG4gIGlmICghcGFyc2VkQ29tbWFuZCB8fCAhY3VycmVudENvbW1hbmQpIHtcclxuICAgIHRocm93IG5ldyBNYWtmeUVycm9yKGBjb21tYW5kICcke2NvbW1hbmROYW1lfScgbm90IGZvdW5kYCwgdW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGlmIChjdXJyZW50Q29tbWFuZC5pbnRlcm5hbCkge1xyXG4gICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoXCJpbnRlcm5hbCBjb21tYW5kcyBjYW5ub3QgYmUgcnVuIGRpcmVjdGx5XCIsIHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBjb25zb2xlLmxvZyhcclxuICAgIGdldFRpbWVTdHJpbmcocGFyc2VkT3B0aW9ucy5zaG93VGltZSkgKyBjaGFsay5iZ0JsdWUuYm9sZC53aGl0ZShgJHtjb21tYW5kTmFtZX0gLSBydW5uaW5nLi4uYClcclxuICApO1xyXG5cclxuICAvLyBydW5cclxuICBjb25zdCBzdGFydFRpbWUgPSBwcm9jZXNzLmhydGltZSgpO1xyXG5cclxuICBjb25zdCBnZXRGaWxlQ2hhbmdlc1Jlc3VsdHM6IEV4ZWNDb250ZXh0W1wiZ2V0RmlsZUNoYW5nZXNSZXN1bHRzXCJdID0ge307XHJcblxyXG4gIGNvbnN0IGV4ZWNDb250ZXh0OiBFeGVjQ29udGV4dCA9IHtcclxuICAgIC8vIGZvciBNYWtmeUNvbnRleHRcclxuICAgIGNvbW1hbmROYW1lOiBjb21tYW5kTmFtZSxcclxuICAgIGNvbW1hbmRBcmdzOiBjb21tYW5kQXJncyB8fCB7fSxcclxuICAgIGNvbW1hbmRzOiBjb21tYW5kcyxcclxuICAgIG9wdGlvbnM6IHtcclxuICAgICAgLi4ucGFyc2VkT3B0aW9ucyxcclxuICAgICAgY29sb3JNb2RlOiBjaGFsay5zdXBwb3J0c0NvbG9yLmxldmVsICE9PSBMZXZlbC5Ob25lXHJcbiAgICB9LFxyXG4gICAgbWFrZnlGaWxlbmFtZTogbWFrZnlGaWxlbmFtZSxcclxuXHJcbiAgICAvLyBmb3IgRXhlY0NvbnRleHRcclxuICAgIHBhcnNlZENvbW1hbmRzOiBwYXJzZWRDb21tYW5kcyxcclxuICAgIG1ha2Z5RmlsZUNvbnRlbnRzOiBtYWtmeUZpbGVDb250ZW50cyxcclxuICAgIHN5bmNNb2RlOiB0cnVlLFxyXG4gICAgaWRTdGFjazogW10sXHJcbiAgICBnZXRGaWxlQ2hhbmdlc1Jlc3VsdHM6IGdldEZpbGVDaGFuZ2VzUmVzdWx0c1xyXG4gIH07XHJcblxyXG4gIHRyeSB7XHJcbiAgICBhd2FpdCBleGVjUnVudGltZS5ydW5Db21tYW5kQXN5bmMoY29tbWFuZE5hbWUsIGNvbW1hbmRBcmdzIHx8IHt9LCBleGVjQ29udGV4dCwgZmFsc2UpO1xyXG5cclxuICAgIC8vIG9uIHN1Y2Nlc3Mgc2F2ZSBuZXcgY2FjaGVzIGluIHBhcmFsbGVsXHJcbiAgICBjb25zdCBzYXZlUHJvbWlzZXMgPSBbXTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGdldEZpbGVDaGFuZ2VzUmVzdWx0cykpIHtcclxuICAgICAgc2F2ZVByb21pc2VzLnB1c2goc2F2ZUhhc2hDb2xsZWN0aW9uRmlsZUFzeW5jKGtleSwgdmFsdWUubmV3SGFzaENvbGxlY3Rpb24pKTtcclxuICAgIH1cclxuICAgIGF3YWl0IFByb21pc2UuYWxsKHNhdmVQcm9taXNlcyk7XHJcbiAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICBpZiAoIShlcnIgaW5zdGFuY2VvZiBSdW5FcnJvcikgJiYgIShlcnIgaW5zdGFuY2VvZiBNYWtmeUVycm9yKSkge1xyXG4gICAgICAvLyBhbiBlcnJvciBtb3N0IHByb2JhYmx5IHRocm93biBieSB0aGUgZXhlY3V0aW9uIG9mIHJ1blxyXG4gICAgICB0aHJvdyBuZXcgTWFrZnlFcnJvcihlcnIubWVzc2FnZSwgdW5kZWZpbmVkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IGVycjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGVuZFRpbWUgPSBwcm9jZXNzLmhydGltZShzdGFydFRpbWUpO1xyXG4gIGNvbnNvbGUubG9nKFxyXG4gICAgXCJcXG5cIiArXHJcbiAgICAgIGdldFRpbWVTdHJpbmcocGFyc2VkT3B0aW9ucy5zaG93VGltZSkgK1xyXG4gICAgICBjaGFsay5ib2xkLmdyZWVuKGAnJHtjb21tYW5kTmFtZX0nIGRvbmUgaW4gJHtwcmV0dHlIclRpbWUoZW5kVGltZSl9YClcclxuICApO1xyXG4gIHJlc2V0Q29sb3JzKCk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbGlzdENvbW1hbmQgPSAoY29tbWFuZHM6IENvbW1hbmRzLCBjb21tYW5kTmFtZTogc3RyaW5nLCBsaXN0QXJndW1lbnRzID0gdHJ1ZSkgPT4ge1xyXG4gIGlmICghY29tbWFuZE5hbWUpIHtcclxuICAgIHRocm93IG5ldyBNYWtmeUVycm9yKFwibWlzc2luZyBjb21tYW5kIG5hbWVcIiwgdW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHcgPSBuZXcgVGV4dFdyaXRlcigpO1xyXG5cclxuICAvLyB0aGlzIGFsc28gbWFrZXMgc3VyZSB0aGUgY29tbWFuZCBleGlzdHNcclxuICBjb25zdCBwYXJzZWRDb21tYW5kcyA9IHBhcnNlQ29tbWFuZHMoY29tbWFuZHMsIGZhbHNlKTtcclxuICBjb25zdCBwYXJzZWRDb21tYW5kID0gcGFyc2VkQ29tbWFuZHNbY29tbWFuZE5hbWVdO1xyXG4gIGlmICghcGFyc2VkQ29tbWFuZCkge1xyXG4gICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoYGNvbW1hbmQgJyR7Y29tbWFuZE5hbWV9JyBub3QgZm91bmRgLCB1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgY3VycmVudENvbW1hbmQgPSBjb21tYW5kc1tjb21tYW5kTmFtZV07XHJcblxyXG4gIGxldCB0aXRsZSA9IGNoYWxrLmJnQmx1ZS5ib2xkLndoaXRlKGNvbW1hbmROYW1lKTtcclxuXHJcbiAgY29uc3QgYXcgPSBuZXcgVGV4dFdyaXRlcigpO1xyXG4gIGlmIChsaXN0QXJndW1lbnRzKSB7XHJcbiAgICBjb25zdCBhcmdEZWZzTGlzdCA9IE9iamVjdC5lbnRyaWVzKHBhcnNlZENvbW1hbmQuYXJnRGVmaW5pdGlvbnMpO1xyXG4gICAgLy8gc29ydCBhbHBoYWJldGljYWxseVxyXG4gICAgYXJnRGVmc0xpc3Quc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICByZXR1cm4gYVswXS50b0xvd2VyQ2FzZSgpLmxvY2FsZUNvbXBhcmUoYlswXS50b0xvd2VyQ2FzZSgpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChhcmdEZWZzTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHJlcXVpcmVkQXJncyA9IGFyZ0RlZnNMaXN0LmZpbHRlcigoZSkgPT4gZVsxXS5yZXF1aXJlZCk7XHJcbiAgICAgIGNvbnN0IG9wdGlvbmFsQXJncyA9IGFyZ0RlZnNMaXN0LmZpbHRlcigoZSkgPT4gIWVbMV0ucmVxdWlyZWQpO1xyXG5cclxuICAgICAgY29uc3QgZm9ybWF0TGVmdEhlbHAgPSAoYXJnRGVmOiBQYXJzZWRBcmdEZWZpbml0aW9uKSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyByZXF1aXJlZCwgbGVmdEhlbHAgfSA9IGFyZ0RlZjtcclxuICAgICAgICBjb25zdCBsZWZ0QnJhY2tldCA9IHJlcXVpcmVkID8gXCJcIiA6IFwiW1wiO1xyXG4gICAgICAgIGNvbnN0IHJpZ2h0QnJhY2tldCA9IHJlcXVpcmVkID8gXCJcIiA6IFwiXVwiO1xyXG5cclxuICAgICAgICByZXR1cm4gY2hhbGsuYm9sZC5ncmF5KGAgJHtsZWZ0QnJhY2tldH0ke2xlZnRIZWxwfSR7cmlnaHRCcmFja2V0fWApO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgLy8gZmluZCBsZWZ0IGhlbHAgc2lkZSBtYXggbGVuZ3RoXHJcbiAgICAgIGNvbnN0IGxlbmd0aHMgPSBhcmdEZWZzTGlzdC5tYXAoKGVudHJ5KSA9PiBzdHJpcENvbG9yKGZvcm1hdExlZnRIZWxwKGVudHJ5WzFdKSkubGVuZ3RoKTtcclxuICAgICAgY29uc3QgbWF4TGVmdExlbmd0aCA9IE1hdGgubWF4KC4uLmxlbmd0aHMpICsgNDtcclxuXHJcbiAgICAgIGNvbnN0IHdyaXRlQXJnSGVscCA9IChhcmdEZWY6IFtzdHJpbmcsIFBhcnNlZEFyZ0RlZmluaXRpb25dKSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyByaWdodEhlbHAgfSA9IGFyZ0RlZlsxXTtcclxuXHJcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTGVmdEhlbHAgPSBmb3JtYXRMZWZ0SGVscChhcmdEZWZbMV0pO1xyXG4gICAgICAgIGxldCBoZWxwID0gZm9ybWF0dGVkTGVmdEhlbHA7XHJcblxyXG4gICAgICAgIGlmIChyaWdodEhlbHApIHtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSBzdHJpcENvbG9yKGZvcm1hdHRlZExlZnRIZWxwKS5sZW5ndGg7IGkgPCBtYXhMZWZ0TGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaGVscCArPSBcIiBcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGhlbHAgKz0gcmlnaHRIZWxwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhdy53cml0ZUxpbmUoYCAgJHtoZWxwfWApO1xyXG5cclxuICAgICAgICB0aXRsZSArPSBmb3JtYXR0ZWRMZWZ0SGVscDtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmIChyZXF1aXJlZEFyZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJlcXVpcmVkQXJncy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgICB3cml0ZUFyZ0hlbHAoZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChvcHRpb25hbEFyZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG9wdGlvbmFsQXJncy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgICB3cml0ZUFyZ0hlbHAoZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHcud3JpdGVMaW5lKHRpdGxlKTtcclxuICBpZiAoY3VycmVudENvbW1hbmQuZGVzYyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICB3LndyaXRlTGluZShjaGFsay5ib2xkLmdyYXkoYCAtICR7Y3VycmVudENvbW1hbmQuZGVzY31gKSk7XHJcbiAgfVxyXG4gIHcud3JpdGUoYXcub3V0cHV0KTtcclxuICB3LndyaXRlTGluZShjaGFsay5yZXNldChcIlwiKSk7XHJcblxyXG4gIHJldHVybiB3Lm91dHB1dDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBsaXN0QWxsQ29tbWFuZHMgPSAoY29tbWFuZHM6IENvbW1hbmRzLCBsaXN0QXJndW1lbnRzID0gdHJ1ZSwgbGlzdEludGVybmFsID0gZmFsc2UpID0+IHtcclxuICBpZiAoIWlzT2JqZWN0KGNvbW1hbmRzKSkge1xyXG4gICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoXHJcbiAgICAgIGVycm9yTWVzc2FnZUZvck9iamVjdChbXCJjb21tYW5kc1wiXSwgYG11c3QgYmUgYW4gb2JqZWN0IChkaWQgeW91IGV4cG9ydCBpdD8pYCksXHJcbiAgICAgIHVuZGVmaW5lZFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGxldCBvdXRwdXQgPSBcIlwiO1xyXG5cclxuICBmb3IgKGNvbnN0IGNvbW1hbmROYW1lIG9mIE9iamVjdC5rZXlzKGNvbW1hbmRzKSkge1xyXG4gICAgY29uc3QgY3VycmVudENvbW1hbmQgPSBjb21tYW5kc1tjb21tYW5kTmFtZV07XHJcbiAgICBpZiAoIWN1cnJlbnRDb21tYW5kLmludGVybmFsIHx8IGxpc3RJbnRlcm5hbCkge1xyXG4gICAgICBvdXRwdXQgKz0gbGlzdENvbW1hbmQoY29tbWFuZHMsIGNvbW1hbmROYW1lLCBsaXN0QXJndW1lbnRzKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG91dHB1dDtcclxufTtcclxuXHJcbi8vIHNob3J0IHN5bnRheFxyXG5leHBvcnQgZnVuY3Rpb24gcnVuKC4uLmlubGluZUNvbW1hbmRzOiBFeGVjQ29tbWFuZFtdKTogQ29tbWFuZDx7fT4gJiBDb21tYW5kRnJvbUZ1bmN0aW9uIHtcclxuICBjb25zdCBjbWQ6IENvbW1hbmQ8e30+ID0ge1xyXG4gICAgcnVuOiBhc3luYyAoZXhlYzogRXhlY0Z1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGF3YWl0IGV4ZWMoLi4uaW5saW5lQ29tbWFuZHMpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgcmV0dXJuIGNtZCBhcyBDb21tYW5kPHt9PiAmIENvbW1hbmRGcm9tRnVuY3Rpb247XHJcbn1cclxuIl19

@@ -31,2 +31,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGFyc2VyL2NvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvQ0FBdUM7QUFDdkMsb0NBQTZDO0FBRTdDLCtDQUE0RDtBQUM1RCxrREFBNEQ7QUFDNUQsMkNBQXVFO0FBUTFELFFBQUEsWUFBWSxHQUFHLFVBQzFCLE9BQWdDLEVBQ2hDLE9BQWUsRUFDZixjQUF1QjtJQUV2QixJQUFNLEtBQUssR0FBRyxVQUFDLFFBQTRCLEVBQUUsT0FBZTtRQUMxRCxPQUFPLElBQUksbUJBQVUsQ0FDbkIsa0NBQXFCLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUMvRCxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsSUFBTSxnQkFBZ0IsR0FBRyx5QkFBZ0IsQ0FBQyxPQUFPLEVBQUUsd0JBQWEsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDM0IsTUFBTSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckQ7S0FDRjtJQUVPLElBQUEsbUJBQUksQ0FBYTtJQUV6QixRQUFRO0lBQ1IsSUFBTSxPQUFPLEdBQWtCO1FBQzdCLGNBQWMsRUFBRSxFQUFFO0tBQ25CLENBQUM7SUFFRixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxPQUFPO1lBQ2hDLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLCtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlGLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYWtmeUVycm9yIH0gZnJvbSBcIi4uL2Vycm9yc1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gXCIuLi9zY2hlbWFcIjtcbmltcG9ydCB7IEFyZ0RlZmluaXRpb25zIH0gZnJvbSBcIi4uL3NjaGVtYS9hcmdzXCI7XG5pbXBvcnQgeyBDb21tYW5kLCBjb21tYW5kU2NoZW1hIH0gZnJvbSBcIi4uL3NjaGVtYS9jb21tYW5kc1wiO1xuaW1wb3J0IHsgZXJyb3JNZXNzYWdlRm9yT2JqZWN0IH0gZnJvbSBcIi4uL3V0aWxzL2Zvcm1hdHRpbmdcIjtcbmltcG9ydCB7IHBhcnNlQXJnRGVmaW5pdGlvbiwgUGFyc2VkQXJnRGVmaW5pdGlvbiB9IGZyb20gXCIuL2NvbW1hbmRBcmdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRDb21tYW5kIHtcbiAgYXJnRGVmaW5pdGlvbnM6IHtcbiAgICBbYXJnTmFtZTogc3RyaW5nXTogUGFyc2VkQXJnRGVmaW5pdGlvbjtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlQ29tbWFuZCA9IChcbiAgY29tbWFuZDogQ29tbWFuZDxBcmdEZWZpbml0aW9ucz4sXG4gIGNtZE5hbWU6IHN0cmluZyxcbiAgc2tpcFZhbGlkYXRpb246IGJvb2xlYW5cbik6IFBhcnNlZENvbW1hbmQgPT4ge1xuICBjb25zdCBlcnJvciA9IChwcm9wZXJ0eTogc3RyaW5nIHwgdW5kZWZpbmVkLCBtZXNzYWdlOiBzdHJpbmcpOiBNYWtmeUVycm9yID0+IHtcbiAgICByZXR1cm4gbmV3IE1ha2Z5RXJyb3IoXG4gICAgICBlcnJvck1lc3NhZ2VGb3JPYmplY3QoW1wiY29tbWFuZHNcIiwgY21kTmFtZSwgcHJvcGVydHldLCBtZXNzYWdlKSxcbiAgICAgIHVuZGVmaW5lZFxuICAgICk7XG4gIH07XG5cbiAgaWYgKCFza2lwVmFsaWRhdGlvbikge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0ZUluc3RhbmNlKGNvbW1hbmQsIGNvbW1hbmRTY2hlbWEpO1xuICAgIGlmICghdmFsaWRhdGlvblJlc3VsdC52YWxpZCkge1xuICAgICAgdGhyb3cgZXJyb3IodW5kZWZpbmVkLCB2YWxpZGF0aW9uUmVzdWx0LnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHsgYXJncyB9ID0gY29tbWFuZDtcblxuICAvLyBwYXJzZVxuICBjb25zdCBjbWRJbmZvOiBQYXJzZWRDb21tYW5kID0ge1xuICAgIGFyZ0RlZmluaXRpb25zOiB7fVxuICB9O1xuXG4gIGlmIChhcmdzICE9PSB1bmRlZmluZWQpIHtcbiAgICBPYmplY3Qua2V5cyhhcmdzKS5mb3JFYWNoKChhcmdOYW1lKSA9PiB7XG4gICAgICBjb25zdCBhcmdEZWZpbml0aW9uID0gYXJnc1thcmdOYW1lXTtcbiAgICAgIGNtZEluZm8uYXJnRGVmaW5pdGlvbnNbYXJnTmFtZV0gPSBwYXJzZUFyZ0RlZmluaXRpb24oY21kTmFtZSwgYXJnTmFtZSwgYXJnRGVmaW5pdGlvbiwgdHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gY21kSW5mbztcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGFyc2VyL2NvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvQ0FBdUM7QUFDdkMsb0NBQTZDO0FBRTdDLCtDQUE0RDtBQUM1RCxrREFBNEQ7QUFDNUQsMkNBQXVFO0FBUTFELFFBQUEsWUFBWSxHQUFHLFVBQzFCLE9BQWdDLEVBQ2hDLE9BQWUsRUFDZixjQUF1QjtJQUV2QixJQUFNLEtBQUssR0FBRyxVQUFDLFFBQTRCLEVBQUUsT0FBZTtRQUMxRCxPQUFPLElBQUksbUJBQVUsQ0FDbkIsa0NBQXFCLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUMvRCxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsSUFBTSxnQkFBZ0IsR0FBRyx5QkFBZ0IsQ0FBQyxPQUFPLEVBQUUsd0JBQWEsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDM0IsTUFBTSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckQ7S0FDRjtJQUVPLElBQUEsbUJBQUksQ0FBYTtJQUV6QixRQUFRO0lBQ1IsSUFBTSxPQUFPLEdBQWtCO1FBQzdCLGNBQWMsRUFBRSxFQUFFO0tBQ25CLENBQUM7SUFFRixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxPQUFPO1lBQ2hDLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLCtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlGLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYWtmeUVycm9yIH0gZnJvbSBcIi4uL2Vycm9yc1wiO1xyXG5pbXBvcnQgeyB2YWxpZGF0ZUluc3RhbmNlIH0gZnJvbSBcIi4uL3NjaGVtYVwiO1xyXG5pbXBvcnQgeyBBcmdEZWZpbml0aW9ucyB9IGZyb20gXCIuLi9zY2hlbWEvYXJnc1wiO1xyXG5pbXBvcnQgeyBDb21tYW5kLCBjb21tYW5kU2NoZW1hIH0gZnJvbSBcIi4uL3NjaGVtYS9jb21tYW5kc1wiO1xyXG5pbXBvcnQgeyBlcnJvck1lc3NhZ2VGb3JPYmplY3QgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0dGluZ1wiO1xyXG5pbXBvcnQgeyBwYXJzZUFyZ0RlZmluaXRpb24sIFBhcnNlZEFyZ0RlZmluaXRpb24gfSBmcm9tIFwiLi9jb21tYW5kQXJnXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZENvbW1hbmQge1xyXG4gIGFyZ0RlZmluaXRpb25zOiB7XHJcbiAgICBbYXJnTmFtZTogc3RyaW5nXTogUGFyc2VkQXJnRGVmaW5pdGlvbjtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcGFyc2VDb21tYW5kID0gKFxyXG4gIGNvbW1hbmQ6IENvbW1hbmQ8QXJnRGVmaW5pdGlvbnM+LFxyXG4gIGNtZE5hbWU6IHN0cmluZyxcclxuICBza2lwVmFsaWRhdGlvbjogYm9vbGVhblxyXG4pOiBQYXJzZWRDb21tYW5kID0+IHtcclxuICBjb25zdCBlcnJvciA9IChwcm9wZXJ0eTogc3RyaW5nIHwgdW5kZWZpbmVkLCBtZXNzYWdlOiBzdHJpbmcpOiBNYWtmeUVycm9yID0+IHtcclxuICAgIHJldHVybiBuZXcgTWFrZnlFcnJvcihcclxuICAgICAgZXJyb3JNZXNzYWdlRm9yT2JqZWN0KFtcImNvbW1hbmRzXCIsIGNtZE5hbWUsIHByb3BlcnR5XSwgbWVzc2FnZSksXHJcbiAgICAgIHVuZGVmaW5lZFxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICBpZiAoIXNraXBWYWxpZGF0aW9uKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVJbnN0YW5jZShjb21tYW5kLCBjb21tYW5kU2NoZW1hKTtcclxuICAgIGlmICghdmFsaWRhdGlvblJlc3VsdC52YWxpZCkge1xyXG4gICAgICB0aHJvdyBlcnJvcih1bmRlZmluZWQsIHZhbGlkYXRpb25SZXN1bHQudG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCB7IGFyZ3MgfSA9IGNvbW1hbmQ7XHJcblxyXG4gIC8vIHBhcnNlXHJcbiAgY29uc3QgY21kSW5mbzogUGFyc2VkQ29tbWFuZCA9IHtcclxuICAgIGFyZ0RlZmluaXRpb25zOiB7fVxyXG4gIH07XHJcblxyXG4gIGlmIChhcmdzICE9PSB1bmRlZmluZWQpIHtcclxuICAgIE9iamVjdC5rZXlzKGFyZ3MpLmZvckVhY2goKGFyZ05hbWUpID0+IHtcclxuICAgICAgY29uc3QgYXJnRGVmaW5pdGlvbiA9IGFyZ3NbYXJnTmFtZV07XHJcbiAgICAgIGNtZEluZm8uYXJnRGVmaW5pdGlvbnNbYXJnTmFtZV0gPSBwYXJzZUFyZ0RlZmluaXRpb24oY21kTmFtZSwgYXJnTmFtZSwgYXJnRGVmaW5pdGlvbiwgdHJ1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBjbWRJbmZvO1xyXG59O1xyXG4iXX0=

@@ -159,2 +159,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZEFyZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGFyc2VyL2NvbW1hbmRBcmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUEwQjtBQUMxQixvQ0FBdUM7QUFDdkMsb0NBQTZDO0FBQzdDLHVDQU13QjtBQUN4QixrREFBb0Y7QUFRcEYsSUFBTSxhQUFhLEdBQUcsVUFBQyxJQUFZO0lBQ2pDLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1FBQ25DLG9CQUFpQjtLQUNsQjtJQUNELElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3JDLHNCQUFtQjtLQUNwQjtJQUNELElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1FBQ25DLG9CQUFpQjtLQUNsQjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQVdXLFFBQUEsa0JBQWtCLEdBQUcsVUFDaEMsT0FBZSxFQUNmLE9BQWUsRUFDZixhQUE0QixFQUM1QixjQUF1QjtJQUV2QixJQUFNLEtBQUssR0FBRyxVQUFDLFFBQTRCLEVBQUUsT0FBZTtRQUMxRCxPQUFPLElBQUksbUJBQVUsQ0FDbkIsa0NBQXFCLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQ2hGLFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixJQUFNLGdCQUFnQixHQUFHLHlCQUFnQixDQUFDLGFBQWEsRUFBRSxnQkFBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUMzQixNQUFNLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMs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T0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUMsQ0FBQyxDQUFDO0lBRUYsSUFBTSxPQUFPLEdBQUcsVUFBQyxNQUEwQixFQUFFLFlBQWlCO1FBQzVELE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxZQUFZLEtBQUssU0FBUyxDQUFDO1lBQ3pELFNBQVMsRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztTQUM5QyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsUUFBUSxjQUFjLEVBQUU7UUFDdEI7WUFDRSxPQUFPLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckM7WUFDRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEM7WUFDVSxJQUFBLDZCQUFNLENBQXdDO1lBQ3RELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUM7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFrQyxjQUFnQixDQUFDLENBQUM7S0FDdkU7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgeyBNYWtmeUVycm9yIH0gZnJvbSBcIi4uL2Vycm9yc1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gXCIuLi9zY2hlbWFcIjtcbmltcG9ydCB7XG4gIEFyZ0RlZmluaXRpb24sXG4gIGFyZ1NjaGVtYSxcbiAgRW51bUFyZ0RlZmluaXRpb24sXG4gIEZsYWdBcmdEZWZpbml0aW9uLFxuICBTdHJpbmdBcmdEZWZpbml0aW9uXG59IGZyb20gXCIuLi9zY2hlbWEvYXJnc1wiO1xuaW1wb3J0IHsgYXJnTmFtZVRvRGFzaGVkQXJnTmFtZSwgZXJyb3JNZXNzYWdlRm9yT2JqZWN0IH0gZnJvbSBcIi4uL3V0aWxzL2Zvcm1hdHRpbmdcIjtcblxuY29uc3QgZW51bSBUeXBlIHtcbiAgRmxhZyxcbiAgU3RyaW5nLFxuICBFbnVtXG59XG5cbmNvbnN0IG5vcm1hbGl6ZVR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gIGlmICh0eXBlID09PSBcImZcIiB8fCB0eXBlID09PSBcImZsYWdcIikge1xuICAgIHJldHVybiBUeXBlLkZsYWc7XG4gIH1cbiAgaWYgKHR5cGUgPT09IFwic1wiIHx8IHR5cGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gVHlwZS5TdHJpbmc7XG4gIH1cbiAgaWYgKHR5cGUgPT09IFwiZVwiIHx8IHR5cGUgPT09IFwiZW51bVwiKSB7XG4gICAgcmV0dXJuIFR5cGUuRW51bTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHR5cGUgUGFyc2VBcmdGdW5jdGlvbiA9ICh2YWx1ZTogYW55KSA9PiBhbnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkQXJnRGVmaW5pdGlvbiB7XG4gIGxlZnRIZWxwOiBzdHJpbmc7XG4gIHJpZ2h0SGVscD86IHN0cmluZztcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIHBhcnNlOiBQYXJzZUFyZ0Z1bmN0aW9uO1xufVxuXG5leHBvcnQgY29uc3QgcGFyc2VBcmdEZWZpbml0aW9uID0gKFxuICBjbWROYW1lOiBzdHJpbmcsXG4gIGFyZ05hbWU6IHN0cmluZyxcbiAgYXJnRGVmaW5pdGlvbjogQXJnRGVmaW5pdGlvbixcbiAgc2tpcFZhbGlkYXRpb246IGJvb2xlYW5cbik6IFBhcnNlZEFyZ0RlZmluaXRpb24gPT4ge1xuICBjb25zdCBlcnJvciA9IChwcm9wZXJ0eTogc3RyaW5nIHwgdW5kZWZpbmVkLCBtZXNzYWdlOiBzdHJpbmcpOiBNYWtmeUVycm9yID0+IHtcbiAgICByZXR1cm4gbmV3IE1ha2Z5RXJyb3IoXG4gICAgICBlcnJvck1lc3NhZ2VGb3JPYmplY3QoW1wiY29tbWFuZHNcIiwgY21kTmFtZSwgXCJhcmdzXCIsIGFyZ05hbWUsIHByb3BlcnR5XSwgbWVzc2FnZSksXG4gICAgICB1bmRlZmluZWRcbiAgICApO1xuICB9O1xuXG4gIGlmICghc2tpcFZhbGlkYXRpb24pIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVJbnN0YW5jZShhcmdEZWZpbml0aW9uLCBhcmdTY2hlbWEpO1xuICAgIGlmICghdmFsaWRhdGlvblJlc3VsdC52YWxpZCkge1xuICAgICAgdGhyb3cgZXJyb3IodW5kZWZpbmVkLCB2YWxpZGF0aW9uUmVzdWx0LnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG5vcm1hbGl6ZWRUeXBlID0gbm9ybWFsaXplVHlwZShhcmdEZWZpbml0aW9uLnR5cGUpO1xuXG4gIGNvbnN0IHZhbGlkYXRlRXJyb3IgPSAoZXJyOiBzdHJpbmcpOiBNYWtmeUVycm9yID0+IHtcbiAgICByZXR1cm4gbmV3IE1ha2Z5RXJyb3IoYGFyZ3VtZW50ICcke2FyZ05hbWV9JyAtICR7ZXJyfWAsIHVuZGVmaW5lZCk7XG4gIH07XG5cbiAgbGV0IHBhcnNlOiBQYXJzZUFyZ0Z1bmN0aW9uO1xuICBsZXQgcmVxdWlyZWQ7XG4gIGNvbnN0IGFyZ1JlcXVpcmVkTWVzc2FnZSA9IFwiYXJndW1lbnQgaXMgcmVxdWlyZWRcIjtcblxuICBpZiAobm9ybWFsaXplZFR5cGUgPT09IFR5cGUuRmxhZykge1xuICAgIGxldCB7IGJ5RGVmYXVsdCB9ID0gYXJnRGVmaW5pdGlvbiBhcyBGbGFnQXJnRGVmaW5pdGlvbjtcbiAgICBieURlZmF1bHQgPSBmYWxzZTtcbiAgICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgcGFyc2UgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdmFsdWUgPSBieURlZmF1bHQ7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyB2YWxpZGF0ZUVycm9yKGFyZ1JlcXVpcmVkTWVzc2FnZSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUgPT09IFwidHJ1ZVwiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHZhbHVlID09PSBcImZhbHNlXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhyb3cgdmFsaWRhdGVFcnJvcihgYSBmbGFnIGFyZ3VtZW50IGNhbm5vdCBoYXZlIGEgdmFsdWVgKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKG5vcm1hbGl6ZWRUeXBlID09PSBUeXBlLlN0cmluZykge1xuICAgIGNvbnN0IHsgYnlEZWZhdWx0IH0gPSBhcmdEZWZpbml0aW9uIGFzIFN0cmluZ0FyZ0RlZmluaXRpb247XG4gICAgcmVxdWlyZWQgPSBieURlZmF1bHQgPT09IHVuZGVmaW5lZDtcblxuICAgIHBhcnNlID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhbHVlID0gYnlEZWZhdWx0O1xuICAgICAgfVxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgdmFsaWRhdGVFcnJvcihhcmdSZXF1aXJlZE1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IHZhbGlkYXRlRXJyb3IoXCJhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH07XG4gIH0gZWxzZSBpZiAobm9ybWFsaXplZFR5cGUgPT09IFR5cGUuRW51bSkge1xuICAgIGNvbnN0IHsgYnlEZWZhdWx0LCB2YWx1ZXMgfSA9IGFyZ0RlZmluaXRpb24gYXMgRW51bUFyZ0RlZmluaXRpb247XG4gICAgcmVxdWlyZWQgPSBieURlZmF1bHQgPT09IHVuZGVmaW5lZDtcblxuICAgIHBhcnNlID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhbHVlID0gYnlEZWZhdWx0O1xuICAgICAgfVxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgdmFsaWRhdGVFcnJvcihhcmdSZXF1aXJlZE1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiIHx8ICF2YWx1ZXMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgIHRocm93IHZhbGlkYXRlRXJyb3IoYGFyZ3VtZW50IG11c3QgYmUgb25lIG9mOiAke3ZhbHVlcy5qb2luKFwiLCBcIil9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnRlcm5hbCBlcnJvciAtIHZhbGlkYXRpb24gZmFpbGVkP1wiKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uZ2V0SGVscEZvckFyZyhhcmdOYW1lLCBhcmdEZWZpbml0aW9uKSxcbiAgICByZXF1aXJlZCxcbiAgICBwYXJzZVxuICB9O1xufTtcblxuY29uc3QgZ2V0SGVscEZvckFyZyA9IChhcmdOYW1lOiBzdHJpbmcsIGFyZ0RlZmluaXRpb246IEFyZ0RlZmluaXRpb24pID0+IHtcbiAgY29uc3QgeyBieURlZmF1bHQsIGRlc2MgfSA9IGFyZ0RlZmluaXRpb247XG4gIGNvbnN0IG5vcm1hbGl6ZWRUeXBlID0gbm9ybWFsaXplVHlwZShhcmdEZWZpbml0aW9uLnR5cGUpO1xuXG4gIGNvbnN0IGdldExlZnRIZWxwID0gKGVxdWFsczogc3RyaW5nIHwgdW5kZWZpbmVkLCByZXF1aXJlZDogYm9vbGVhbikgPT4ge1xuICAgIGxldCBzdHIgPSBhcmdOYW1lVG9EYXNoZWRBcmdOYW1lKGFyZ05hbWUpO1xuICAgIGlmIChyZXF1aXJlZCkge1xuICAgICAgc3RyID0gY2hhbGsuYm9sZC5yZWQoc3RyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RyID0gY2hhbGsuYm9sZC5tYWdlbnRhKHN0cik7XG4gICAgfVxuXG4gICAgaWYgKGVxdWFscykge1xuICAgICAgc3RyICs9IGNoYWxrLmJvbGQuZ3JheShgPSR7ZXF1YWxzfWApO1xuICAgIH1cblxuICAgIHJldHVybiBzdHI7XG4gIH07XG5cbiAgY29uc3QgZ2V0UmlnaHRIZWxwID0gKGVxdWFsczogc3RyaW5nIHwgdW5kZWZpbmVkLCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xuICAgIGxldCBzdHIgPSBcIlwiO1xuICAgIGlmIChkZXNjKSB7XG4gICAgICBzdHIgPSBjaGFsay5ib2xkLmdyYXkoZGVzYyk7XG4gICAgfVxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHN0ciArPSBjaGFsay5ib2xkLmdyYXkoXCIgKGRlZmF1bHQ6IFwiICsgZGVmYXVsdFZhbHVlICsgXCIpXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIubGVuZ3RoID4gMCA/IHN0ciA6IHVuZGVmaW5lZDtcbiAgfTtcblxuICBjb25zdCBnZXRIZWxwID0gKGVxdWFsczogc3RyaW5nIHwgdW5kZWZpbmVkLCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBsZWZ0SGVscDogZ2V0TGVmdEhlbHAoZXF1YWxzLCBkZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCksXG4gICAgICByaWdodEhlbHA6IGdldFJpZ2h0SGVscChlcXVhbHMsIGRlZmF1bHRWYWx1ZSlcbiAgICB9O1xuICB9O1xuXG4gIHN3aXRjaCAobm9ybWFsaXplZFR5cGUpIHtcbiAgICBjYXNlIFR5cGUuRmxhZzpcbiAgICAgIHJldHVybiBnZXRIZWxwKHVuZGVmaW5lZCwgXCJmYWxzZVwiKTtcbiAgICBjYXNlIFR5cGUuU3RyaW5nOlxuICAgICAgcmV0dXJuIGdldEhlbHAoXCJzdHJpbmdcIiwgYnlEZWZhdWx0KTtcbiAgICBjYXNlIFR5cGUuRW51bTpcbiAgICAgIGNvbnN0IHsgdmFsdWVzIH0gPSBhcmdEZWZpbml0aW9uIGFzIEVudW1BcmdEZWZpbml0aW9uO1xuICAgICAgcmV0dXJuIGdldEhlbHAodmFsdWVzLmpvaW4oXCJ8XCIpLCBieURlZmF1bHQpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludGVybmFsIGVycm9yIC0gdW5rbm93biB0eXBlOiAke25vcm1hbGl6ZWRUeXBlfWApO1xuICB9XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZEFyZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGFyc2VyL2NvbW1hbmRBcmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUEwQjtBQUMxQixvQ0FBdUM7QUFDdkMsb0NBQTZDO0FBQzdDLHVDQU13QjtBQUN4QixrREFBb0Y7QUFRcEYsSUFBTSxhQUFhLEdBQUcsVUFBQyxJQUFZO0lBQ2pDLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1FBQ25DLG9CQUFpQjtLQUNsQjtJQUNELElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3JDLHNCQUFtQjtLQUNwQjtJQUNELElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1FBQ25DLG9CQUFpQjtLQUNsQjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQVdXLFFBQUEsa0JBQWtCLEdBQUcsVUFDaEMsT0FBZSxFQUNmLE9BQWUsRUFDZixhQUE0QixFQUM1QixjQUF1QjtJQUV2QixJQUFNLEtBQUssR0FBRyxVQUFDLFFBQTRCLEVBQUUsT0FBZTtRQUMxRCxPQUFPLElBQUksbUJBQVUsQ0FDbkIsa0NBQXFCLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQ2hGLFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixJQUFNLGdCQUFnQixHQUFHLHlCQUFnQixDQUFDLGFBQWEsRUFBRSxnQkFBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUMzQixNQUFNLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMs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T0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUMsQ0FBQyxDQUFDO0lBRUYsSUFBTSxPQUFPLEdBQUcsVUFBQyxNQUEwQixFQUFFLFlBQWlCO1FBQzVELE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxZQUFZLEtBQUssU0FBUyxDQUFDO1lBQ3pELFNBQVMsRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztTQUM5QyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsUUFBUSxjQUFjLEVBQUU7UUFDdEI7WUFDRSxPQUFPLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckM7WUFDRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEM7WUFDVSxJQUFBLDZCQUFNLENBQXdDO1lBQ3RELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUM7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFrQyxjQUFnQixDQUFDLENBQUM7S0FDdkU7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XHJcbmltcG9ydCB7IE1ha2Z5RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XHJcbmltcG9ydCB7IHZhbGlkYXRlSW5zdGFuY2UgfSBmcm9tIFwiLi4vc2NoZW1hXCI7XHJcbmltcG9ydCB7XHJcbiAgQXJnRGVmaW5pdGlvbixcclxuICBhcmdTY2hlbWEsXHJcbiAgRW51bUFyZ0RlZmluaXRpb24sXHJcbiAgRmxhZ0FyZ0RlZmluaXRpb24sXHJcbiAgU3RyaW5nQXJnRGVmaW5pdGlvblxyXG59IGZyb20gXCIuLi9zY2hlbWEvYXJnc1wiO1xyXG5pbXBvcnQgeyBhcmdOYW1lVG9EYXNoZWRBcmdOYW1lLCBlcnJvck1lc3NhZ2VGb3JPYmplY3QgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0dGluZ1wiO1xyXG5cclxuY29uc3QgZW51bSBUeXBlIHtcclxuICBGbGFnLFxyXG4gIFN0cmluZyxcclxuICBFbnVtXHJcbn1cclxuXHJcbmNvbnN0IG5vcm1hbGl6ZVR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XHJcbiAgaWYgKHR5cGUgPT09IFwiZlwiIHx8IHR5cGUgPT09IFwiZmxhZ1wiKSB7XHJcbiAgICByZXR1cm4gVHlwZS5GbGFnO1xyXG4gIH1cclxuICBpZiAodHlwZSA9PT0gXCJzXCIgfHwgdHlwZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgcmV0dXJuIFR5cGUuU3RyaW5nO1xyXG4gIH1cclxuICBpZiAodHlwZSA9PT0gXCJlXCIgfHwgdHlwZSA9PT0gXCJlbnVtXCIpIHtcclxuICAgIHJldHVybiBUeXBlLkVudW07XHJcbiAgfVxyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXJzZUFyZ0Z1bmN0aW9uID0gKHZhbHVlOiBhbnkpID0+IGFueTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkQXJnRGVmaW5pdGlvbiB7XHJcbiAgbGVmdEhlbHA6IHN0cmluZztcclxuICByaWdodEhlbHA/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgcGFyc2U6IFBhcnNlQXJnRnVuY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBwYXJzZUFyZ0RlZmluaXRpb24gPSAoXHJcbiAgY21kTmFtZTogc3RyaW5nLFxyXG4gIGFyZ05hbWU6IHN0cmluZyxcclxuICBhcmdEZWZpbml0aW9uOiBBcmdEZWZpbml0aW9uLFxyXG4gIHNraXBWYWxpZGF0aW9uOiBib29sZWFuXHJcbik6IFBhcnNlZEFyZ0RlZmluaXRpb24gPT4ge1xyXG4gIGNvbnN0IGVycm9yID0gKHByb3BlcnR5OiBzdHJpbmcgfCB1bmRlZmluZWQsIG1lc3NhZ2U6IHN0cmluZyk6IE1ha2Z5RXJyb3IgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYWtmeUVycm9yKFxyXG4gICAgICBlcnJvck1lc3NhZ2VGb3JPYmplY3QoW1wiY29tbWFuZHNcIiwgY21kTmFtZSwgXCJhcmdzXCIsIGFyZ05hbWUsIHByb3BlcnR5XSwgbWVzc2FnZSksXHJcbiAgICAgIHVuZGVmaW5lZFxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICBpZiAoIXNraXBWYWxpZGF0aW9uKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVJbnN0YW5jZShhcmdEZWZpbml0aW9uLCBhcmdTY2hlbWEpO1xyXG4gICAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0LnZhbGlkKSB7XHJcbiAgICAgIHRocm93IGVycm9yKHVuZGVmaW5lZCwgdmFsaWRhdGlvblJlc3VsdC50b1N0cmluZygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IG5vcm1hbGl6ZWRUeXBlID0gbm9ybWFsaXplVHlwZShhcmdEZWZpbml0aW9uLnR5cGUpO1xyXG5cclxuICBjb25zdCB2YWxpZGF0ZUVycm9yID0gKGVycjogc3RyaW5nKTogTWFrZnlFcnJvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IE1ha2Z5RXJyb3IoYGFyZ3VtZW50ICcke2FyZ05hbWV9JyAtICR7ZXJyfWAsIHVuZGVmaW5lZCk7XHJcbiAgfTtcclxuXHJcbiAgbGV0IHBhcnNlOiBQYXJzZUFyZ0Z1bmN0aW9uO1xyXG4gIGxldCByZXF1aXJlZDtcclxuICBjb25zdCBhcmdSZXF1aXJlZE1lc3NhZ2UgPSBcImFyZ3VtZW50IGlzIHJlcXVpcmVkXCI7XHJcblxyXG4gIGlmIChub3JtYWxpemVkVHlwZSA9PT0gVHlwZS5GbGFnKSB7XHJcbiAgICBsZXQgeyBieURlZmF1bHQgfSA9IGFyZ0RlZmluaXRpb24gYXMgRmxhZ0FyZ0RlZmluaXRpb247XHJcbiAgICBieURlZmF1bHQgPSBmYWxzZTtcclxuICAgIHJlcXVpcmVkID0gZmFsc2U7XHJcblxyXG4gICAgcGFyc2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHZhbHVlID0gYnlEZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhyb3cgdmFsaWRhdGVFcnJvcihhcmdSZXF1aXJlZE1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWx1ZSA9PT0gXCJ0cnVlXCIpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsdWUgPT09IFwiZmFsc2VcIikge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aHJvdyB2YWxpZGF0ZUVycm9yKGBhIGZsYWcgYXJndW1lbnQgY2Fubm90IGhhdmUgYSB2YWx1ZWApO1xyXG4gICAgfTtcclxuICB9IGVsc2UgaWYgKG5vcm1hbGl6ZWRUeXBlID09PSBUeXBlLlN0cmluZykge1xyXG4gICAgY29uc3QgeyBieURlZmF1bHQgfSA9IGFyZ0RlZmluaXRpb24gYXMgU3RyaW5nQXJnRGVmaW5pdGlvbjtcclxuICAgIHJlcXVpcmVkID0gYnlEZWZhdWx0ID09PSB1bmRlZmluZWQ7XHJcblxyXG4gICAgcGFyc2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHZhbHVlID0gYnlEZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhyb3cgdmFsaWRhdGVFcnJvcihhcmdSZXF1aXJlZE1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcclxuICAgICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIHRocm93IHZhbGlkYXRlRXJyb3IoXCJhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH07XHJcbiAgfSBlbHNlIGlmIChub3JtYWxpemVkVHlwZSA9PT0gVHlwZS5FbnVtKSB7XHJcbiAgICBjb25zdCB7IGJ5RGVmYXVsdCwgdmFsdWVzIH0gPSBhcmdEZWZpbml0aW9uIGFzIEVudW1BcmdEZWZpbml0aW9uO1xyXG4gICAgcmVxdWlyZWQgPSBieURlZmF1bHQgPT09IHVuZGVmaW5lZDtcclxuXHJcbiAgICBwYXJzZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdmFsdWUgPSBieURlZmF1bHQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aHJvdyB2YWxpZGF0ZUVycm9yKGFyZ1JlcXVpcmVkTWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgIHZhbHVlID0gU3RyaW5nKHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiIHx8ICF2YWx1ZXMuaW5jbHVkZXModmFsdWUpKSB7XHJcbiAgICAgICAgdGhyb3cgdmFsaWRhdGVFcnJvcihgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2Y6ICR7dmFsdWVzLmpvaW4oXCIsIFwiKX1gKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9O1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnRlcm5hbCBlcnJvciAtIHZhbGlkYXRpb24gZmFpbGVkP1wiKTtcclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICAuLi5nZXRIZWxwRm9yQXJnKGFyZ05hbWUsIGFyZ0RlZmluaXRpb24pLFxyXG4gICAgcmVxdWlyZWQsXHJcbiAgICBwYXJzZVxyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBnZXRIZWxwRm9yQXJnID0gKGFyZ05hbWU6IHN0cmluZywgYXJnRGVmaW5pdGlvbjogQXJnRGVmaW5pdGlvbikgPT4ge1xyXG4gIGNvbnN0IHsgYnlEZWZhdWx0LCBkZXNjIH0gPSBhcmdEZWZpbml0aW9uO1xyXG4gIGNvbnN0IG5vcm1hbGl6ZWRUeXBlID0gbm9ybWFsaXplVHlwZShhcmdEZWZpbml0aW9uLnR5cGUpO1xyXG5cclxuICBjb25zdCBnZXRMZWZ0SGVscCA9IChlcXVhbHM6IHN0cmluZyB8IHVuZGVmaW5lZCwgcmVxdWlyZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgIGxldCBzdHIgPSBhcmdOYW1lVG9EYXNoZWRBcmdOYW1lKGFyZ05hbWUpO1xyXG4gICAgaWYgKHJlcXVpcmVkKSB7XHJcbiAgICAgIHN0ciA9IGNoYWxrLmJvbGQucmVkKHN0cik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdHIgPSBjaGFsay5ib2xkLm1hZ2VudGEoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXF1YWxzKSB7XHJcbiAgICAgIHN0ciArPSBjaGFsay5ib2xkLmdyYXkoYD0ke2VxdWFsc31gKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3RyO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGdldFJpZ2h0SGVscCA9IChlcXVhbHM6IHN0cmluZyB8IHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlOiBhbnkpID0+IHtcclxuICAgIGxldCBzdHIgPSBcIlwiO1xyXG4gICAgaWYgKGRlc2MpIHtcclxuICAgICAgc3RyID0gY2hhbGsuYm9sZC5ncmF5KGRlc2MpO1xyXG4gICAgfVxyXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xyXG4gICAgICBzdHIgKz0gY2hhbGsuYm9sZC5ncmF5KFwiIChkZWZhdWx0OiBcIiArIGRlZmF1bHRWYWx1ZSArIFwiKVwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3RyLmxlbmd0aCA+IDAgPyBzdHIgOiB1bmRlZmluZWQ7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgZ2V0SGVscCA9IChlcXVhbHM6IHN0cmluZyB8IHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlOiBhbnkpID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxlZnRIZWxwOiBnZXRMZWZ0SGVscChlcXVhbHMsIGRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSxcclxuICAgICAgcmlnaHRIZWxwOiBnZXRSaWdodEhlbHAoZXF1YWxzLCBkZWZhdWx0VmFsdWUpXHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIHN3aXRjaCAobm9ybWFsaXplZFR5cGUpIHtcclxuICAgIGNhc2UgVHlwZS5GbGFnOlxyXG4gICAgICByZXR1cm4gZ2V0SGVscCh1bmRlZmluZWQsIFwiZmFsc2VcIik7XHJcbiAgICBjYXNlIFR5cGUuU3RyaW5nOlxyXG4gICAgICByZXR1cm4gZ2V0SGVscChcInN0cmluZ1wiLCBieURlZmF1bHQpO1xyXG4gICAgY2FzZSBUeXBlLkVudW06XHJcbiAgICAgIGNvbnN0IHsgdmFsdWVzIH0gPSBhcmdEZWZpbml0aW9uIGFzIEVudW1BcmdEZWZpbml0aW9uO1xyXG4gICAgICByZXR1cm4gZ2V0SGVscCh2YWx1ZXMuam9pbihcInxcIiksIGJ5RGVmYXVsdCk7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludGVybmFsIGVycm9yIC0gdW5rbm93biB0eXBlOiAke25vcm1hbGl6ZWRUeXBlfWApO1xyXG4gIH1cclxufTtcclxuIl19

@@ -36,2 +36,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3BhcnNlci9jb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9DQUF1QztBQUN2QyxvQ0FBNkM7QUFDN0MsK0NBQThEO0FBQzlELGtEQUE0RDtBQUM1RCxzREFBaUQ7QUFDakQscUNBQXdEO0FBTTNDLFFBQUEsYUFBYSxHQUFHLFVBQUMsUUFBa0IsRUFBRSxjQUF1QjtJQUN2RSxJQUFNLEtBQUssR0FBRyxVQUFDLFFBQTRCLEVBQUUsT0FBZTtRQUMxRCxPQUFPLElBQUksbUJBQVUsQ0FBQyxrQ0FBcUIsQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzRixDQUFDLENBQUM7SUFFRixJQUFJLENBQUMsdUJBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUN2QixNQUFNLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0NBQXdDLENBQUMsQ0FBQztLQUNsRTtJQUVELElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsSUFBTSxnQkFBZ0IsR0FBRyx5QkFBZ0IsQ0FBQyxRQUFRLEVBQUUseUJBQWMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDM0IsTUFBTSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckQ7S0FDRjtJQUVELElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztJQUV2QixJQUFNLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRXJDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUMsT0FBTztRQUNwQyxJQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLHNCQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNyQixjQUFjLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxjQUFjLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSw2REFBNkQsQ0FBQyxDQUFDO0tBQ3ZGO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFrZnlFcnJvciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcbmltcG9ydCB7IHZhbGlkYXRlSW5zdGFuY2UgfSBmcm9tIFwiLi4vc2NoZW1hXCI7XG5pbXBvcnQgeyBDb21tYW5kcywgY29tbWFuZHNTY2hlbWEgfSBmcm9tIFwiLi4vc2NoZW1hL2NvbW1hbmRzXCI7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2VGb3JPYmplY3QgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0dGluZ1wiO1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tIFwiLi4vdXRpbHMvdHlwZUNoZWNraW5nXCI7XG5pbXBvcnQgeyBwYXJzZUNvbW1hbmQsIFBhcnNlZENvbW1hbmQgfSBmcm9tIFwiLi9jb21tYW5kXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkQ29tbWFuZHMge1xuICBbY21kTmFtZTogc3RyaW5nXTogUGFyc2VkQ29tbWFuZDtcbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlQ29tbWFuZHMgPSAoY29tbWFuZHM6IENvbW1hbmRzLCBza2lwVmFsaWRhdGlvbjogYm9vbGVhbik6IFBhcnNlZENvbW1hbmRzID0+IHtcbiAgY29uc3QgZXJyb3IgPSAocHJvcGVydHk6IHN0cmluZyB8IHVuZGVmaW5lZCwgbWVzc2FnZTogc3RyaW5nKTogTWFrZnlFcnJvciA9PiB7XG4gICAgcmV0dXJuIG5ldyBNYWtmeUVycm9yKGVycm9yTWVzc2FnZUZvck9iamVjdChbXCJjb21tYW5kc1wiLCBwcm9wZXJ0eV0sIG1lc3NhZ2UpLCB1bmRlZmluZWQpO1xuICB9O1xuXG4gIGlmICghaXNPYmplY3QoY29tbWFuZHMpKSB7XG4gICAgdGhyb3cgZXJyb3IodW5kZWZpbmVkLCBgbXVzdCBiZSBhbiBvYmplY3QgKGRpZCB5b3UgZXhwb3J0IGl0PylgKTtcbiAgfVxuXG4gIGlmICghc2tpcFZhbGlkYXRpb24pIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVJbnN0YW5jZShjb21tYW5kcywgY29tbWFuZHNTY2hlbWEpO1xuICAgIGlmICghdmFsaWRhdGlvblJlc3VsdC52YWxpZCkge1xuICAgICAgdGhyb3cgZXJyb3IodW5kZWZpbmVkLCB2YWxpZGF0aW9uUmVzdWx0LnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfVxuXG4gIGxldCBwdWJsaWNDb21tYW5kcyA9IDA7XG5cbiAgY29uc3QgcGFyc2VJbmZvOiBQYXJzZWRDb21tYW5kcyA9IHt9O1xuXG4gIE9iamVjdC5rZXlzKGNvbW1hbmRzKS5mb3JFYWNoKChjbWROYW1lKSA9PiB7XG4gICAgY29uc3QgY29tbWFuZCA9IGNvbW1hbmRzW2NtZE5hbWVdO1xuXG4gICAgcGFyc2VJbmZvW2NtZE5hbWVdID0gcGFyc2VDb21tYW5kKGNvbW1hbmQsIGNtZE5hbWUsIHRydWUpO1xuXG4gICAgaWYgKCFjb21tYW5kLmludGVybmFsKSB7XG4gICAgICBwdWJsaWNDb21tYW5kcysrO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHB1YmxpY0NvbW1hbmRzIDw9IDApIHtcbiAgICB0aHJvdyBlcnJvcih1bmRlZmluZWQsIGBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGNvbW1hbmQgKG5vdCBjb3VudGluZyBpbnRlcm5hbCBvbmVzKWApO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlSW5mbztcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3BhcnNlci9jb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9DQUF1QztBQUN2QyxvQ0FBNkM7QUFDN0MsK0NBQThEO0FBQzlELGtEQUE0RDtBQUM1RCxzREFBaUQ7QUFDakQscUNBQXdEO0FBTTNDLFFBQUEsYUFBYSxHQUFHLFVBQUMsUUFBa0IsRUFBRSxjQUF1QjtJQUN2RSxJQUFNLEtBQUssR0FBRyxVQUFDLFFBQTRCLEVBQUUsT0FBZTtRQUMxRCxPQUFPLElBQUksbUJBQVUsQ0FBQyxrQ0FBcUIsQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzRixDQUFDLENBQUM7SUFFRixJQUFJLENBQUMsdUJBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUN2QixNQUFNLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0NBQXdDLENBQUMsQ0FBQztLQUNsRTtJQUVELElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsSUFBTSxnQkFBZ0IsR0FBRyx5QkFBZ0IsQ0FBQyxRQUFRLEVBQUUseUJBQWMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDM0IsTUFBTSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckQ7S0FDRjtJQUVELElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztJQUV2QixJQUFNLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRXJDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUMsT0FBTztRQUNwQyxJQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLHNCQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNyQixjQUFjLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxjQUFjLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSw2REFBNkQsQ0FBQyxDQUFDO0tBQ3ZGO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFrZnlFcnJvciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcclxuaW1wb3J0IHsgdmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gXCIuLi9zY2hlbWFcIjtcclxuaW1wb3J0IHsgQ29tbWFuZHMsIGNvbW1hbmRzU2NoZW1hIH0gZnJvbSBcIi4uL3NjaGVtYS9jb21tYW5kc1wiO1xyXG5pbXBvcnQgeyBlcnJvck1lc3NhZ2VGb3JPYmplY3QgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0dGluZ1wiO1xyXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gXCIuLi91dGlscy90eXBlQ2hlY2tpbmdcIjtcclxuaW1wb3J0IHsgcGFyc2VDb21tYW5kLCBQYXJzZWRDb21tYW5kIH0gZnJvbSBcIi4vY29tbWFuZFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRDb21tYW5kcyB7XHJcbiAgW2NtZE5hbWU6IHN0cmluZ106IFBhcnNlZENvbW1hbmQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBwYXJzZUNvbW1hbmRzID0gKGNvbW1hbmRzOiBDb21tYW5kcywgc2tpcFZhbGlkYXRpb246IGJvb2xlYW4pOiBQYXJzZWRDb21tYW5kcyA9PiB7XHJcbiAgY29uc3QgZXJyb3IgPSAocHJvcGVydHk6IHN0cmluZyB8IHVuZGVmaW5lZCwgbWVzc2FnZTogc3RyaW5nKTogTWFrZnlFcnJvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IE1ha2Z5RXJyb3IoZXJyb3JNZXNzYWdlRm9yT2JqZWN0KFtcImNvbW1hbmRzXCIsIHByb3BlcnR5XSwgbWVzc2FnZSksIHVuZGVmaW5lZCk7XHJcbiAgfTtcclxuXHJcbiAgaWYgKCFpc09iamVjdChjb21tYW5kcykpIHtcclxuICAgIHRocm93IGVycm9yKHVuZGVmaW5lZCwgYG11c3QgYmUgYW4gb2JqZWN0IChkaWQgeW91IGV4cG9ydCBpdD8pYCk7XHJcbiAgfVxyXG5cclxuICBpZiAoIXNraXBWYWxpZGF0aW9uKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVJbnN0YW5jZShjb21tYW5kcywgY29tbWFuZHNTY2hlbWEpO1xyXG4gICAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0LnZhbGlkKSB7XHJcbiAgICAgIHRocm93IGVycm9yKHVuZGVmaW5lZCwgdmFsaWRhdGlvblJlc3VsdC50b1N0cmluZygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxldCBwdWJsaWNDb21tYW5kcyA9IDA7XHJcblxyXG4gIGNvbnN0IHBhcnNlSW5mbzogUGFyc2VkQ29tbWFuZHMgPSB7fTtcclxuXHJcbiAgT2JqZWN0LmtleXMoY29tbWFuZHMpLmZvckVhY2goKGNtZE5hbWUpID0+IHtcclxuICAgIGNvbnN0IGNvbW1hbmQgPSBjb21tYW5kc1tjbWROYW1lXTtcclxuXHJcbiAgICBwYXJzZUluZm9bY21kTmFtZV0gPSBwYXJzZUNvbW1hbmQoY29tbWFuZCwgY21kTmFtZSwgdHJ1ZSk7XHJcblxyXG4gICAgaWYgKCFjb21tYW5kLmludGVybmFsKSB7XHJcbiAgICAgIHB1YmxpY0NvbW1hbmRzKys7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIGlmIChwdWJsaWNDb21tYW5kcyA8PSAwKSB7XHJcbiAgICB0aHJvdyBlcnJvcih1bmRlZmluZWQsIGBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGNvbW1hbmQgKG5vdCBjb3VudGluZyBpbnRlcm5hbCBvbmVzKWApO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhcnNlSW5mbztcclxufTtcclxuIl19

@@ -32,2 +32,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGFyc2VyL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLG9DQUF1QztBQUN2QyxvQ0FBNkM7QUFDN0MsNkNBQStFO0FBQy9FLGtEQUE0RDtBQUU1RCxJQUFNLGNBQWMsR0FBZ0I7SUFDbEMsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsS0FBSztDQUNoQixDQUFDO0FBRVcsUUFBQSxZQUFZLEdBQUcsVUFDMUIsT0FBbUMsRUFDbkMsY0FBdUI7SUFFdkIsSUFBTSxXQUFXLGdCQUFRLGNBQWMsRUFBSyxPQUFPLENBQUUsQ0FBQztJQUV0RCxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLElBQU0sZ0JBQWdCLEdBQUcseUJBQWdCLENBQUMsV0FBVyxFQUFFLHVCQUFhLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxtQkFBVSxDQUNsQixrQ0FBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQy9ELFNBQVMsQ0FDVixDQUFDO1NBQ0g7S0FDRjtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ha2Z5RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5pbXBvcnQgeyB2YWxpZGF0ZUluc3RhbmNlIH0gZnJvbSBcIi4uL3NjaGVtYVwiO1xuaW1wb3J0IHsgRnVsbE9wdGlvbnMsIG9wdGlvbnNTY2hlbWEsIFBhcnRpYWxPcHRpb25zIH0gZnJvbSBcIi4uL3NjaGVtYS9vcHRpb25zXCI7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2VGb3JPYmplY3QgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0dGluZ1wiO1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogRnVsbE9wdGlvbnMgPSB7XG4gIHByb2ZpbGU6IGZhbHNlLFxuICBzaG93VGltZTogZmFsc2Vcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZU9wdGlvbnMgPSAoXG4gIG9wdGlvbnM6IFBhcnRpYWxPcHRpb25zIHwgdW5kZWZpbmVkLFxuICBza2lwVmFsaWRhdGlvbjogYm9vbGVhblxuKTogRnVsbE9wdGlvbnMgPT4ge1xuICBjb25zdCBmdWxsT3B0aW9ucyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcblxuICBpZiAoIXNraXBWYWxpZGF0aW9uKSB7XG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IHZhbGlkYXRlSW5zdGFuY2UoZnVsbE9wdGlvbnMsIG9wdGlvbnNTY2hlbWEpO1xuICAgIGlmICghdmFsaWRhdGlvblJlc3VsdC52YWxpZCkge1xuICAgICAgdGhyb3cgbmV3IE1ha2Z5RXJyb3IoXG4gICAgICAgIGVycm9yTWVzc2FnZUZvck9iamVjdChbXCJvcHRpb25zXCJdLCB2YWxpZGF0aW9uUmVzdWx0LnRvU3RyaW5nKCkpLFxuICAgICAgICB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZ1bGxPcHRpb25zO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGFyc2VyL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLG9DQUF1QztBQUN2QyxvQ0FBNkM7QUFDN0MsNkNBQStFO0FBQy9FLGtEQUE0RDtBQUU1RCxJQUFNLGNBQWMsR0FBZ0I7SUFDbEMsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsS0FBSztDQUNoQixDQUFDO0FBRVcsUUFBQSxZQUFZLEdBQUcsVUFDMUIsT0FBbUMsRUFDbkMsY0FBdUI7SUFFdkIsSUFBTSxXQUFXLGdCQUFRLGNBQWMsRUFBSyxPQUFPLENBQUUsQ0FBQztJQUV0RCxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLElBQU0sZ0JBQWdCLEdBQUcseUJBQWdCLENBQUMsV0FBVyxFQUFFLHVCQUFhLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxtQkFBVSxDQUNsQixrQ0FBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQy9ELFNBQVMsQ0FDVixDQUFDO1NBQ0g7S0FDRjtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ha2Z5RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XHJcbmltcG9ydCB7IHZhbGlkYXRlSW5zdGFuY2UgfSBmcm9tIFwiLi4vc2NoZW1hXCI7XHJcbmltcG9ydCB7IEZ1bGxPcHRpb25zLCBvcHRpb25zU2NoZW1hLCBQYXJ0aWFsT3B0aW9ucyB9IGZyb20gXCIuLi9zY2hlbWEvb3B0aW9uc1wiO1xyXG5pbXBvcnQgeyBlcnJvck1lc3NhZ2VGb3JPYmplY3QgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0dGluZ1wiO1xyXG5cclxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEZ1bGxPcHRpb25zID0ge1xyXG4gIHByb2ZpbGU6IGZhbHNlLFxyXG4gIHNob3dUaW1lOiBmYWxzZVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBhcnNlT3B0aW9ucyA9IChcclxuICBvcHRpb25zOiBQYXJ0aWFsT3B0aW9ucyB8IHVuZGVmaW5lZCxcclxuICBza2lwVmFsaWRhdGlvbjogYm9vbGVhblxyXG4pOiBGdWxsT3B0aW9ucyA9PiB7XHJcbiAgY29uc3QgZnVsbE9wdGlvbnMgPSB7IC4uLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XHJcblxyXG4gIGlmICghc2tpcFZhbGlkYXRpb24pIHtcclxuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0ZUluc3RhbmNlKGZ1bGxPcHRpb25zLCBvcHRpb25zU2NoZW1hKTtcclxuICAgIGlmICghdmFsaWRhdGlvblJlc3VsdC52YWxpZCkge1xyXG4gICAgICB0aHJvdyBuZXcgTWFrZnlFcnJvcihcclxuICAgICAgICBlcnJvck1lc3NhZ2VGb3JPYmplY3QoW1wib3B0aW9uc1wiXSwgdmFsaWRhdGlvblJlc3VsdC50b1N0cmluZygpKSxcclxuICAgICAgICB1bmRlZmluZWRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBmdWxsT3B0aW9ucztcclxufTtcclxuIl19

@@ -101,2 +101,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NoZW1hL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGtEQUFrRDs7O0FBR2xELHVCQUFpRDtBQUVwQyxRQUFBLGdCQUFnQixHQUFHO0lBQzlCLEdBQUc7SUFDSCxNQUFNO0lBQ04sR0FBRztJQUNILE1BQU07SUFDTixHQUFHO0lBQ0gsTUFBTTtJQUNOLEdBQUc7SUFDSCxTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixXQUFXO0NBQ1osQ0FBQztBQVNXLFFBQUEsYUFBYSxHQUFXO0lBQ25DLEVBQUUsRUFBRSxVQUFVO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsZ0RBQWdEO1NBQ3JFO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxnREFBZ0Q7U0FDL0Q7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtTQUNmO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRSxLQUFLO0NBQzVCLENBQUM7QUFTVyxRQUFBLGVBQWUsR0FBVztJQUNyQyxFQUFFLEVBQUUsWUFBWTtJQUNoQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNsQixVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxnREFBZ0Q7U0FDdkU7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDZjtLQUNGO0lBQ0Qsb0JBQW9CLEVBQUUsS0FBSztDQUM1QixDQUFDO0FBV1csUUFBQSxhQUFhLEdBQVc7SUFDbkMsRUFBRSxFQUFFLFVBQVU7SUFDZCxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFDNUIsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsZ0RBQWdEO1NBQ3JFO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsQ0FBQztZQUNYLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxPQUFPLEVBQUUsOEJBQTJCO2FBQ3JDO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSw4QkFBMkI7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDVjtRQUNYLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2Y7S0FDRjtJQUNELG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQztBQVVXLFFBQUEsU0FBUyxHQUFXO0lBQy9CLEVBQUUsRUFBRSxNQUFNO0lBQ1YsS0FBSyxFQUFFLENBQUMscUJBQWEsRUFBRSx1QkFBZSxFQUFFLHFCQUFhLENBQUM7Q0FDdkQsQ0FBQztBQUVXLFFBQUEsVUFBVSxHQUFXO0lBQ2hDLEVBQUUsRUFBRSxPQUFPO0lBQ1gsSUFBSSxFQUFFLFFBQVE7SUFDZCxpQkFBaUI7UUFDZixHQUFDLDhCQUEyQixJQUFHLGlCQUFTO1dBQ3pDO0lBQ0Qsb0JBQW9CLEVBQUUsS0FBSztJQUMzQixzQkFBc0IsRUFBRSx3QkFBZ0I7Q0FDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLW9iamVjdC1saXRlcmFsLXR5cGUtYXNzZXJ0aW9uXG5cbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gXCJqc29uc2NoZW1hXCI7XG5pbXBvcnQgeyBhbHBoYW51bWVyaWNFeHRlbmRlZFBhdHRlcm4gfSBmcm9tIFwiLi9cIjtcblxuZXhwb3J0IGNvbnN0IHJlc2VydmVkQXJnTmFtZXMgPSBbXG4gIFwiZlwiLFxuICBcImZpbGVcIixcbiAgXCJsXCIsXG4gIFwibGlzdFwiLFxuICBcImhcIixcbiAgXCJoZWxwXCIsXG4gIFwidlwiLFxuICBcInZlcnNpb25cIixcbiAgXCJjb2xvclwiLFxuICBcIm5vQ29sb3JcIixcbiAgXCJuby1jb2xvclwiLFxuICBcInByb2ZpbGVcIixcbiAgXCJzaG93VGltZVwiLFxuICBcInNob3ctdGltZVwiXG5dO1xuXG4vLyBhbiBvcHRpb25hbCBmbGFnLCBmYWxzZSBieSBkZWZhdWx0XG5leHBvcnQgaW50ZXJmYWNlIEZsYWdBcmdEZWZpbml0aW9uIHtcbiAgdHlwZTogXCJmbGFnXCIgfCBcImZcIjtcbiAgYnlEZWZhdWx0PzogZmFsc2U7XG4gIGRlc2M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBmbGFnQXJnU2NoZW1hOiBTY2hlbWEgPSB7XG4gIGlkOiBcIi9mbGFnQXJnXCIsXG4gIHR5cGU6IFwib2JqZWN0XCIsXG4gIHJlcXVpcmVkOiBbXCJ0eXBlXCJdLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgdHlwZToge1xuICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgIGVudW06IFtcImZcIiwgXCJmbGFnXCJdIC8vIHRzbGludDpkaXNhYmxlLWxpbmU6b2JqZWN0LWxpdGVyYWwta2V5LXF1b3Rlc1xuICAgIH0sXG4gICAgYnlEZWZhdWx0OiB7XG4gICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgIGVudW06IFtmYWxzZV0gLy8gdHNsaW50OmRpc2FibGUtbGluZTpvYmplY3QtbGl0ZXJhbC1rZXktcXVvdGVzXG4gICAgfSxcbiAgICBkZXNjOiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiXG4gICAgfVxuICB9LFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2Vcbn07XG5cbi8vIGFueSBzdHJpbmcsIHJlcXVpcmVkIGlmIG5vIGRlZmF1bHQgdmFsdWUgaXMgZ2l2ZW5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nQXJnRGVmaW5pdGlvbiB7XG4gIHR5cGU6IFwic3RyaW5nXCIgfCBcInNcIjtcbiAgYnlEZWZhdWx0Pzogc3RyaW5nO1xuICBkZXNjPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3Qgc3RyaW5nQXJnU2NoZW1hOiBTY2hlbWEgPSB7XG4gIGlkOiBcIi9zdHJpbmdBcmdcIixcbiAgdHlwZTogXCJvYmplY3RcIixcbiAgcmVxdWlyZWQ6IFtcInR5cGVcIl0sXG4gIHByb3BlcnRpZXM6IHtcbiAgICB0eXBlOiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgZW51bTogW1wic1wiLCBcInN0cmluZ1wiXSAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcbiAgICB9LFxuICAgIGJ5RGVmYXVsdDoge1xuICAgICAgdHlwZTogXCJzdHJpbmdcIlxuICAgIH0sXG4gICAgZGVzYzoge1xuICAgICAgdHlwZTogXCJzdHJpbmdcIlxuICAgIH1cbiAgfSxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlXG59O1xuXG4vLyBhbiBlbnVtLCByZXF1aXJlZCBpZiBub3QgZGVmYXVsdCB2YWx1ZSBpcyBnaXZlblxuLy8gdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBpbnNpZGUgdGhlIGVudW0gZ2l2ZW4gaW4gdmFsdWVzOyB2YWx1ZXMgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBlbGVtZW50XG5leHBvcnQgaW50ZXJmYWNlIEVudW1BcmdEZWZpbml0aW9uIHtcbiAgdHlwZTogXCJlbnVtXCIgfCBcImVcIjtcbiAgdmFsdWVzOiBzdHJpbmdbXTtcbiAgYnlEZWZhdWx0Pzogc3RyaW5nO1xuICBkZXNjPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgZW51bUFyZ1NjaGVtYTogU2NoZW1hID0ge1xuICBpZDogXCIvZW51bUFyZ1wiLFxuICB0eXBlOiBcIm9iamVjdFwiLFxuICByZXF1aXJlZDogW1widHlwZVwiLCBcInZhbHVlc1wiXSxcbiAgcHJvcGVydGllczoge1xuICAgIHR5cGU6IHtcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICBlbnVtOiBbXCJlXCIsIFwiZW51bVwiXSAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcbiAgICB9LFxuICAgIHZhbHVlczoge1xuICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgbWluSXRlbXM6IDEsXG4gICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgIGl0ZW1zOiB7XG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHBhdHRlcm46IGFscGhhbnVtZXJpY0V4dGVuZGVkUGF0dGVyblxuICAgICAgfVxuICAgIH0sXG4gICAgYnlEZWZhdWx0OiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgcGF0dGVybjogYWxwaGFudW1lcmljRXh0ZW5kZWRQYXR0ZXJuLFxuICAgICAgbWF0Y2hlc1ZhbHVlczogdHJ1ZVxuICAgIH0gYXMgU2NoZW1hLFxuICAgIGRlc2M6IHtcbiAgICAgIHR5cGU6IFwic3RyaW5nXCJcbiAgICB9XG4gIH0sXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZVxufTtcblxuZXhwb3J0IHR5cGUgQXJnRGVmaW5pdGlvbiA9IEZsYWdBcmdEZWZpbml0aW9uIHwgU3RyaW5nQXJnRGVmaW5pdGlvbiB8IEVudW1BcmdEZWZpbml0aW9uO1xuXG5leHBvcnQgdHlwZSBBcmdJbnN0YW5jZTxUIGV4dGVuZHMgQXJnRGVmaW5pdGlvbj4gPSBUIGV4dGVuZHMgRmxhZ0FyZ0RlZmluaXRpb25cbiAgPyBib29sZWFuXG4gIDogVCBleHRlbmRzIFN0cmluZ0FyZ0RlZmluaXRpb25cbiAgICA/IHN0cmluZ1xuICAgIDogVCBleHRlbmRzIEVudW1BcmdEZWZpbml0aW9uID8gc3RyaW5nIDogc3RyaW5nIHwgYm9vbGVhbjtcblxuZXhwb3J0IGNvbnN0IGFyZ1NjaGVtYTogU2NoZW1hID0ge1xuICBpZDogXCIvYXJnXCIsXG4gIG9uZU9mOiBbZmxhZ0FyZ1NjaGVtYSwgc3RyaW5nQXJnU2NoZW1hLCBlbnVtQXJnU2NoZW1hXVxufTtcblxuZXhwb3J0IGNvbnN0IGFyZ3NTY2hlbWE6IFNjaGVtYSA9IHtcbiAgaWQ6IFwiL2FyZ3NcIixcbiAgdHlwZTogXCJvYmplY3RcIixcbiAgcGF0dGVyblByb3BlcnRpZXM6IHtcbiAgICBbYWxwaGFudW1lcmljRXh0ZW5kZWRQYXR0ZXJuXTogYXJnU2NoZW1hXG4gIH0sXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgZm9yYmlkZGVuUHJvcGVydHlOYW1lczogcmVzZXJ2ZWRBcmdOYW1lc1xufSBhcyBTY2hlbWE7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJnRGVmaW5pdGlvbnMge1xuICBbYXJnTmFtZTogc3RyaW5nXTogQXJnRGVmaW5pdGlvbjtcbn1cblxuZXhwb3J0IHR5cGUgQXJnc0luc3RhbmNlPFRBcmdEZWZzIGV4dGVuZHMgQXJnRGVmaW5pdGlvbnM+ID0ge1xuICBbayBpbiBrZXlvZiBUQXJnRGVmc106IEFyZ0luc3RhbmNlPFRBcmdEZWZzW2tdPlxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NoZW1hL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGtEQUFrRDs7O0FBR2xELHVCQUFpRDtBQUVwQyxRQUFBLGdCQUFnQixHQUFHO0lBQzlCLEdBQUc7SUFDSCxNQUFNO0lBQ04sR0FBRztJQUNILE1BQU07SUFDTixHQUFHO0lBQ0gsTUFBTTtJQUNOLEdBQUc7SUFDSCxTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixXQUFXO0NBQ1osQ0FBQztBQVNXLFFBQUEsYUFBYSxHQUFXO0lBQ25DLEVBQUUsRUFBRSxVQUFVO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsZ0RBQWdEO1NBQ3JFO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxnREFBZ0Q7U0FDL0Q7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtTQUNmO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRSxLQUFLO0NBQzVCLENBQUM7QUFTVyxRQUFBLGVBQWUsR0FBVztJQUNyQyxFQUFFLEVBQUUsWUFBWTtJQUNoQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNsQixVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxnREFBZ0Q7U0FDdkU7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDZjtLQUNGO0lBQ0Qsb0JBQW9CLEVBQUUsS0FBSztDQUM1QixDQUFDO0FBV1csUUFBQSxhQUFhLEdBQVc7SUFDbkMsRUFBRSxFQUFFLFVBQVU7SUFDZCxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFDNUIsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsZ0RBQWdEO1NBQ3JFO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsQ0FBQztZQUNYLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxPQUFPLEVBQUUsOEJBQTJCO2FBQ3JDO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSw4QkFBMkI7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDVjtRQUNYLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2Y7S0FDRjtJQUNELG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQztBQVVXLFFBQUEsU0FBUyxHQUFXO0lBQy9CLEVBQUUsRUFBRSxNQUFNO0lBQ1YsS0FBSyxFQUFFLENBQUMscUJBQWEsRUFBRSx1QkFBZSxFQUFFLHFCQUFhLENBQUM7Q0FDdkQsQ0FBQztBQUVXLFFBQUEsVUFBVSxHQUFXO0lBQ2hDLEVBQUUsRUFBRSxPQUFPO0lBQ1gsSUFBSSxFQUFFLFFBQVE7SUFDZCxpQkFBaUI7UUFDZixHQUFDLDhCQUEyQixJQUFHLGlCQUFTO1dBQ3pDO0lBQ0Qsb0JBQW9CLEVBQUUsS0FBSztJQUMzQixzQkFBc0IsRUFBRSx3QkFBZ0I7Q0FDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLW9iamVjdC1saXRlcmFsLXR5cGUtYXNzZXJ0aW9uXHJcblxyXG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tIFwianNvbnNjaGVtYVwiO1xyXG5pbXBvcnQgeyBhbHBoYW51bWVyaWNFeHRlbmRlZFBhdHRlcm4gfSBmcm9tIFwiLi9cIjtcclxuXHJcbmV4cG9ydCBjb25zdCByZXNlcnZlZEFyZ05hbWVzID0gW1xyXG4gIFwiZlwiLFxyXG4gIFwiZmlsZVwiLFxyXG4gIFwibFwiLFxyXG4gIFwibGlzdFwiLFxyXG4gIFwiaFwiLFxyXG4gIFwiaGVscFwiLFxyXG4gIFwidlwiLFxyXG4gIFwidmVyc2lvblwiLFxyXG4gIFwiY29sb3JcIixcclxuICBcIm5vQ29sb3JcIixcclxuICBcIm5vLWNvbG9yXCIsXHJcbiAgXCJwcm9maWxlXCIsXHJcbiAgXCJzaG93VGltZVwiLFxyXG4gIFwic2hvdy10aW1lXCJcclxuXTtcclxuXHJcbi8vIGFuIG9wdGlvbmFsIGZsYWcsIGZhbHNlIGJ5IGRlZmF1bHRcclxuZXhwb3J0IGludGVyZmFjZSBGbGFnQXJnRGVmaW5pdGlvbiB7XHJcbiAgdHlwZTogXCJmbGFnXCIgfCBcImZcIjtcclxuICBieURlZmF1bHQ/OiBmYWxzZTtcclxuICBkZXNjPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZmxhZ0FyZ1NjaGVtYTogU2NoZW1hID0ge1xyXG4gIGlkOiBcIi9mbGFnQXJnXCIsXHJcbiAgdHlwZTogXCJvYmplY3RcIixcclxuICByZXF1aXJlZDogW1widHlwZVwiXSxcclxuICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB0eXBlOiB7XHJcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXHJcbiAgICAgIGVudW06IFtcImZcIiwgXCJmbGFnXCJdIC8vIHRzbGludDpkaXNhYmxlLWxpbmU6b2JqZWN0LWxpdGVyYWwta2V5LXF1b3Rlc1xyXG4gICAgfSxcclxuICAgIGJ5RGVmYXVsdDoge1xyXG4gICAgICB0eXBlOiBcImJvb2xlYW5cIixcclxuICAgICAgZW51bTogW2ZhbHNlXSAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcclxuICAgIH0sXHJcbiAgICBkZXNjOiB7XHJcbiAgICAgIHR5cGU6IFwic3RyaW5nXCJcclxuICAgIH1cclxuICB9LFxyXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZVxyXG59O1xyXG5cclxuLy8gYW55IHN0cmluZywgcmVxdWlyZWQgaWYgbm8gZGVmYXVsdCB2YWx1ZSBpcyBnaXZlblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ0FyZ0RlZmluaXRpb24ge1xyXG4gIHR5cGU6IFwic3RyaW5nXCIgfCBcInNcIjtcclxuICBieURlZmF1bHQ/OiBzdHJpbmc7XHJcbiAgZGVzYz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHN0cmluZ0FyZ1NjaGVtYTogU2NoZW1hID0ge1xyXG4gIGlkOiBcIi9zdHJpbmdBcmdcIixcclxuICB0eXBlOiBcIm9iamVjdFwiLFxyXG4gIHJlcXVpcmVkOiBbXCJ0eXBlXCJdLFxyXG4gIHByb3BlcnRpZXM6IHtcclxuICAgIHR5cGU6IHtcclxuICAgICAgdHlwZTogXCJzdHJpbmdcIixcclxuICAgICAgZW51bTogW1wic1wiLCBcInN0cmluZ1wiXSAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcclxuICAgIH0sXHJcbiAgICBieURlZmF1bHQ6IHtcclxuICAgICAgdHlwZTogXCJzdHJpbmdcIlxyXG4gICAgfSxcclxuICAgIGRlc2M6IHtcclxuICAgICAgdHlwZTogXCJzdHJpbmdcIlxyXG4gICAgfVxyXG4gIH0sXHJcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlXHJcbn07XHJcblxyXG4vLyBhbiBlbnVtLCByZXF1aXJlZCBpZiBub3QgZGVmYXVsdCB2YWx1ZSBpcyBnaXZlblxyXG4vLyB0aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIGluc2lkZSB0aGUgZW51bSBnaXZlbiBpbiB2YWx1ZXM7IHZhbHVlcyBtdXN0IGNvbnRhaW4gYXQgbGVhc3Qgb25lIGVsZW1lbnRcclxuZXhwb3J0IGludGVyZmFjZSBFbnVtQXJnRGVmaW5pdGlvbiB7XHJcbiAgdHlwZTogXCJlbnVtXCIgfCBcImVcIjtcclxuICB2YWx1ZXM6IHN0cmluZ1tdO1xyXG4gIGJ5RGVmYXVsdD86IHN0cmluZztcclxuICBkZXNjPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZW51bUFyZ1NjaGVtYTogU2NoZW1hID0ge1xyXG4gIGlkOiBcIi9lbnVtQXJnXCIsXHJcbiAgdHlwZTogXCJvYmplY3RcIixcclxuICByZXF1aXJlZDogW1widHlwZVwiLCBcInZhbHVlc1wiXSxcclxuICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB0eXBlOiB7XHJcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXHJcbiAgICAgIGVudW06IFtcImVcIiwgXCJlbnVtXCJdIC8vIHRzbGludDpkaXNhYmxlLWxpbmU6b2JqZWN0LWxpdGVyYWwta2V5LXF1b3Rlc1xyXG4gICAgfSxcclxuICAgIHZhbHVlczoge1xyXG4gICAgICB0eXBlOiBcImFycmF5XCIsXHJcbiAgICAgIG1pbkl0ZW1zOiAxLFxyXG4gICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcclxuICAgICAgaXRlbXM6IHtcclxuICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxyXG4gICAgICAgIHBhdHRlcm46IGFscGhhbnVtZXJpY0V4dGVuZGVkUGF0dGVyblxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgYnlEZWZhdWx0OiB7XHJcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXHJcbiAgICAgIHBhdHRlcm46IGFscGhhbnVtZXJpY0V4dGVuZGVkUGF0dGVybixcclxuICAgICAgbWF0Y2hlc1ZhbHVlczogdHJ1ZVxyXG4gICAgfSBhcyBTY2hlbWEsXHJcbiAgICBkZXNjOiB7XHJcbiAgICAgIHR5cGU6IFwic3RyaW5nXCJcclxuICAgIH1cclxuICB9LFxyXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZVxyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXJnRGVmaW5pdGlvbiA9IEZsYWdBcmdEZWZpbml0aW9uIHwgU3RyaW5nQXJnRGVmaW5pdGlvbiB8IEVudW1BcmdEZWZpbml0aW9uO1xyXG5cclxuZXhwb3J0IHR5cGUgQXJnSW5zdGFuY2U8VCBleHRlbmRzIEFyZ0RlZmluaXRpb24+ID0gVCBleHRlbmRzIEZsYWdBcmdEZWZpbml0aW9uXHJcbiAgPyBib29sZWFuXHJcbiAgOiBUIGV4dGVuZHMgU3RyaW5nQXJnRGVmaW5pdGlvblxyXG4gICAgPyBzdHJpbmdcclxuICAgIDogVCBleHRlbmRzIEVudW1BcmdEZWZpbml0aW9uID8gc3RyaW5nIDogc3RyaW5nIHwgYm9vbGVhbjtcclxuXHJcbmV4cG9ydCBjb25zdCBhcmdTY2hlbWE6IFNjaGVtYSA9IHtcclxuICBpZDogXCIvYXJnXCIsXHJcbiAgb25lT2Y6IFtmbGFnQXJnU2NoZW1hLCBzdHJpbmdBcmdTY2hlbWEsIGVudW1BcmdTY2hlbWFdXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgYXJnc1NjaGVtYTogU2NoZW1hID0ge1xyXG4gIGlkOiBcIi9hcmdzXCIsXHJcbiAgdHlwZTogXCJvYmplY3RcIixcclxuICBwYXR0ZXJuUHJvcGVydGllczoge1xyXG4gICAgW2FscGhhbnVtZXJpY0V4dGVuZGVkUGF0dGVybl06IGFyZ1NjaGVtYVxyXG4gIH0sXHJcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxyXG4gIGZvcmJpZGRlblByb3BlcnR5TmFtZXM6IHJlc2VydmVkQXJnTmFtZXNcclxufSBhcyBTY2hlbWE7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFyZ0RlZmluaXRpb25zIHtcclxuICBbYXJnTmFtZTogc3RyaW5nXTogQXJnRGVmaW5pdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQXJnc0luc3RhbmNlPFRBcmdEZWZzIGV4dGVuZHMgQXJnRGVmaW5pdGlvbnM+ID0ge1xyXG4gIFtrIGluIGtleW9mIFRBcmdEZWZzXTogQXJnSW5zdGFuY2U8VEFyZ0RlZnNba10+XHJcbn07XHJcbiJdfQ==

@@ -37,2 +37,2 @@ "use strict";

exports.command = command;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NjaGVtYS9jb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0RBQWtEOzs7QUFHbEQsdUJBQWlEO0FBQ2pELCtCQUFrRTtBQWVyRCxRQUFBLGFBQWEsR0FBVztJQUNuQyxFQUFFLEVBQUUsVUFBVTtJQUNkLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ2pCLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxJQUFJLEVBQUUsaUJBQVU7UUFDaEIsR0FBRyxFQUFFO1lBQ0gsVUFBVSxFQUFFLElBQUk7U0FDUDtRQUNYLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRSxLQUFLO0NBQzVCLENBQUM7QUFNVyxRQUFBLGNBQWMsR0FBVztJQUNwQyxFQUFFLEVBQUUsV0FBVztJQUNmLElBQUksRUFBRSxRQUFRO0lBQ2QsaUJBQWlCO1FBQ2YsR0FBQyw4QkFBMkIsSUFBRyxxQkFBYTtXQUM3QztJQUNELG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQztBQUVGLFNBQWdCLE9BQU8sQ0FDckIsR0FBc0I7SUFFdEIsT0FBTyxHQUE4QyxDQUFDO0FBQ3hELENBQUM7QUFKRCwwQkFJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLW9iamVjdC1saXRlcmFsLXR5cGUtYXNzZXJ0aW9uXG5cbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gXCJqc29uc2NoZW1hXCI7XG5pbXBvcnQgeyBhbHBoYW51bWVyaWNFeHRlbmRlZFBhdHRlcm4gfSBmcm9tIFwiLi9cIjtcbmltcG9ydCB7IEFyZ0RlZmluaXRpb25zLCBBcmdzSW5zdGFuY2UsIGFyZ3NTY2hlbWEgfSBmcm9tIFwiLi9hcmdzXCI7XG5pbXBvcnQgeyBFeGVjRnVuY3Rpb24sIEV4ZWNVdGlscyB9IGZyb20gXCIuL3J1bnRpbWVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kPFRBcmdEZWZzIGV4dGVuZHMgQXJnRGVmaW5pdGlvbnM+IHtcbiAgZGVzYz86IHN0cmluZztcbiAgYXJncz86IFRBcmdEZWZzO1xuICBpbnRlcm5hbD86IGJvb2xlYW47XG4gIHJ1bihleGVjOiBFeGVjRnVuY3Rpb24sIGFyZ3M6IEFyZ3NJbnN0YW5jZTxUQXJnRGVmcz4sIHV0aWxzOiBFeGVjVXRpbHMpOiB2b2lkO1xufVxuXG4vLyBmYWtlLCBvbmx5IHVzZWQgdG8gZm9yY2UgY29tbWFuZHMgdG8gY29tZSBmcm9tIHRoZSBjb21tYW5kIGZ1bmN0aW9uXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRGcm9tRnVuY3Rpb24ge1xuICByZWFkb25seSAkZnJvbUNvbW1hbmRGdW5jdGlvbjogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY29uc3QgY29tbWFuZFNjaGVtYTogU2NoZW1hID0ge1xuICBpZDogXCIvY29tbWFuZFwiLFxuICB0eXBlOiBcIm9iamVjdFwiLFxuICByZXF1aXJlZDogW1wicnVuXCJdLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgZGVzYzoge1xuICAgICAgdHlwZTogXCJzdHJpbmdcIlxuICAgIH0sXG4gICAgYXJnczogYXJnc1NjaGVtYSxcbiAgICBydW46IHtcbiAgICAgIGlzRnVuY3Rpb246IHRydWVcbiAgICB9IGFzIFNjaGVtYSxcbiAgICBpbnRlcm5hbDoge1xuICAgICAgdHlwZTogXCJib29sZWFuXCJcbiAgICB9XG4gIH0sXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kcyB7XG4gIFtjb21tYW5kTmFtZTogc3RyaW5nXTogQ29tbWFuZDxBcmdEZWZpbml0aW9ucz4gJiBDb21tYW5kRnJvbUZ1bmN0aW9uO1xufVxuXG5leHBvcnQgY29uc3QgY29tbWFuZHNTY2hlbWE6IFNjaGVtYSA9IHtcbiAgaWQ6IFwiL2NvbW1hbmRzXCIsXG4gIHR5cGU6IFwib2JqZWN0XCIsXG4gIHBhdHRlcm5Qcm9wZXJ0aWVzOiB7XG4gICAgW2FscGhhbnVtZXJpY0V4dGVuZGVkUGF0dGVybl06IGNvbW1hbmRTY2hlbWFcbiAgfSxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tbWFuZDxUQXJnRGVmcyBleHRlbmRzIEFyZ0RlZmluaXRpb25zID0ge30+KFxuICBjbWQ6IENvbW1hbmQ8VEFyZ0RlZnM+XG4pOiBDb21tYW5kPFRBcmdEZWZzPiAmIENvbW1hbmRGcm9tRnVuY3Rpb24ge1xuICByZXR1cm4gY21kIGFzIENvbW1hbmQ8VEFyZ0RlZnM+ICYgQ29tbWFuZEZyb21GdW5jdGlvbjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NjaGVtYS9jb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0RBQWtEOzs7QUFHbEQsdUJBQWlEO0FBQ2pELCtCQUFrRTtBQWVyRCxRQUFBLGFBQWEsR0FBVztJQUNuQyxFQUFFLEVBQUUsVUFBVTtJQUNkLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ2pCLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxJQUFJLEVBQUUsaUJBQVU7UUFDaEIsR0FBRyxFQUFFO1lBQ0gsVUFBVSxFQUFFLElBQUk7U0FDUDtRQUNYLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRSxLQUFLO0NBQzVCLENBQUM7QUFNVyxRQUFBLGNBQWMsR0FBVztJQUNwQyxFQUFFLEVBQUUsV0FBVztJQUNmLElBQUksRUFBRSxRQUFRO0lBQ2QsaUJBQWlCO1FBQ2YsR0FBQyw4QkFBMkIsSUFBRyxxQkFBYTtXQUM3QztJQUNELG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQztBQUVGLFNBQWdCLE9BQU8sQ0FDckIsR0FBc0I7SUFFdEIsT0FBTyxHQUE4QyxDQUFDO0FBQ3hELENBQUM7QUFKRCwwQkFJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLW9iamVjdC1saXRlcmFsLXR5cGUtYXNzZXJ0aW9uXHJcblxyXG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tIFwianNvbnNjaGVtYVwiO1xyXG5pbXBvcnQgeyBhbHBoYW51bWVyaWNFeHRlbmRlZFBhdHRlcm4gfSBmcm9tIFwiLi9cIjtcclxuaW1wb3J0IHsgQXJnRGVmaW5pdGlvbnMsIEFyZ3NJbnN0YW5jZSwgYXJnc1NjaGVtYSB9IGZyb20gXCIuL2FyZ3NcIjtcclxuaW1wb3J0IHsgRXhlY0Z1bmN0aW9uLCBFeGVjVXRpbHMgfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmQ8VEFyZ0RlZnMgZXh0ZW5kcyBBcmdEZWZpbml0aW9ucz4ge1xyXG4gIGRlc2M/OiBzdHJpbmc7XHJcbiAgYXJncz86IFRBcmdEZWZzO1xyXG4gIGludGVybmFsPzogYm9vbGVhbjtcclxuICBydW4oZXhlYzogRXhlY0Z1bmN0aW9uLCBhcmdzOiBBcmdzSW5zdGFuY2U8VEFyZ0RlZnM+LCB1dGlsczogRXhlY1V0aWxzKTogdm9pZDtcclxufVxyXG5cclxuLy8gZmFrZSwgb25seSB1c2VkIHRvIGZvcmNlIGNvbW1hbmRzIHRvIGNvbWUgZnJvbSB0aGUgY29tbWFuZCBmdW5jdGlvblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRGcm9tRnVuY3Rpb24ge1xyXG4gIHJlYWRvbmx5ICRmcm9tQ29tbWFuZEZ1bmN0aW9uOiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb21tYW5kU2NoZW1hOiBTY2hlbWEgPSB7XHJcbiAgaWQ6IFwiL2NvbW1hbmRcIixcclxuICB0eXBlOiBcIm9iamVjdFwiLFxyXG4gIHJlcXVpcmVkOiBbXCJydW5cIl0sXHJcbiAgcHJvcGVydGllczoge1xyXG4gICAgZGVzYzoge1xyXG4gICAgICB0eXBlOiBcInN0cmluZ1wiXHJcbiAgICB9LFxyXG4gICAgYXJnczogYXJnc1NjaGVtYSxcclxuICAgIHJ1bjoge1xyXG4gICAgICBpc0Z1bmN0aW9uOiB0cnVlXHJcbiAgICB9IGFzIFNjaGVtYSxcclxuICAgIGludGVybmFsOiB7XHJcbiAgICAgIHR5cGU6IFwiYm9vbGVhblwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2VcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZHMge1xyXG4gIFtjb21tYW5kTmFtZTogc3RyaW5nXTogQ29tbWFuZDxBcmdEZWZpbml0aW9ucz4gJiBDb21tYW5kRnJvbUZ1bmN0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29tbWFuZHNTY2hlbWE6IFNjaGVtYSA9IHtcclxuICBpZDogXCIvY29tbWFuZHNcIixcclxuICB0eXBlOiBcIm9iamVjdFwiLFxyXG4gIHBhdHRlcm5Qcm9wZXJ0aWVzOiB7XHJcbiAgICBbYWxwaGFudW1lcmljRXh0ZW5kZWRQYXR0ZXJuXTogY29tbWFuZFNjaGVtYVxyXG4gIH0sXHJcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tbWFuZDxUQXJnRGVmcyBleHRlbmRzIEFyZ0RlZmluaXRpb25zID0ge30+KFxyXG4gIGNtZDogQ29tbWFuZDxUQXJnRGVmcz5cclxuKTogQ29tbWFuZDxUQXJnRGVmcz4gJiBDb21tYW5kRnJvbUZ1bmN0aW9uIHtcclxuICByZXR1cm4gY21kIGFzIENvbW1hbmQ8VEFyZ0RlZnM+ICYgQ29tbWFuZEZyb21GdW5jdGlvbjtcclxufVxyXG4iXX0=

@@ -80,2 +80,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NjaGVtYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0RBQWtEOzs7Ozs7Ozs7Ozs7QUFFbEQseUNBQXdGO0FBRXhGLHVEQUF1RDtBQUMxQyxRQUFBLDJCQUEyQixHQUFHLDhCQUE4QixDQUFDO0FBRTdELFFBQUEsZ0JBQWdCLEdBQUcsVUFBQyxHQUFRLEVBQUUsR0FBVztJQUNwRCxJQUFNLENBQUMsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztJQUV6QixDQUFDLENBQUMsVUFBa0IsQ0FBQyxVQUFVLEdBQUcsVUFBQyxRQUFhLEVBQUUsTUFBYztRQUMvRCxJQUFJLENBQUUsTUFBYyxDQUFDLFVBQVUsRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUNsQyxPQUFPLG9CQUFvQixDQUFDO1NBQzdCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUQsQ0FBQyxDQUFDLFVBQWtCLENBQUMsYUFBYSxHQUFHLFVBQ3BDLFFBQWEsRUFDYixNQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsR0FBa0I7UUFFbEIsSUFBSSxDQUFFLE1BQWMsQ0FBQyxhQUFhLEVBQUU7WUFDbEMsT0FBTztTQUNSO1FBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQzFCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsSUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ2hDLE9BQU8sa0JBQWtCLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM5QixPQUFPLHFCQUFtQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBRyxDQUFDO1NBQy9DO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUQsQ0FBQyxDQUFDLFVBQWtCLENBQUMsc0JBQXNCLEdBQUcsVUFBQyxRQUFhLEVBQUUsTUFBYzs7UUFDM0UsSUFBTSxjQUFjLEdBQWMsTUFBYyxDQUFDLHNCQUFzQixDQUFDO1FBQ3hFLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JELE9BQU8sU0FBUyxDQUFDO1NBQ2xCOztZQUVELEtBQW1CLElBQUEsS0FBQSxTQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7Z0JBQXJDLElBQU0sSUFBSSxXQUFBO2dCQUNiLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDakMsT0FBTyx3QkFBc0IsSUFBSSx1Q0FBb0MsQ0FBQztpQkFDdkU7YUFDRjs7Ozs7Ozs7O1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7UUFDMUIsWUFBWSxFQUFFLElBQUk7S0FDUixDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6bm8tb2JqZWN0LWxpdGVyYWwtdHlwZS1hc3NlcnRpb25cblxuaW1wb3J0IHsgT3B0aW9ucywgU2NoZW1hLCBTY2hlbWFDb250ZXh0LCBWYWxpZGF0b3IsIFZhbGlkYXRvclJlc3VsdCB9IGZyb20gXCJqc29uc2NoZW1hXCI7XG5cbi8vIGV4cG9ydCBjb25zdCBhbHBoYW51bWVyaWNQYXR0ZXJuID0gJ15bYS16QS1aMC05XSskJztcbmV4cG9ydCBjb25zdCBhbHBoYW51bWVyaWNFeHRlbmRlZFBhdHRlcm4gPSBcIl5bYS16QS1aMC05XVstOl9hLXpBLVowLTldKiRcIjtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlSW5zdGFuY2UgPSAob2JqOiBhbnksIHNjaDogU2NoZW1hKTogVmFsaWRhdG9yUmVzdWx0ID0+IHtcbiAgY29uc3QgdiA9IG5ldyBWYWxpZGF0b3IoKTtcblxuICAodi5hdHRyaWJ1dGVzIGFzIGFueSkuaXNGdW5jdGlvbiA9IChpbnN0YW5jZTogYW55LCBzY2hlbWE6IFNjaGVtYSkgPT4ge1xuICAgIGlmICghKHNjaGVtYSBhcyBhbnkpLmlzRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBcIm11c3QgYmUgYSBmdW5jdGlvblwiO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xuXG4gICh2LmF0dHJpYnV0ZXMgYXMgYW55KS5tYXRjaGVzVmFsdWVzID0gKFxuICAgIGluc3RhbmNlOiBhbnksXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgb3B0aW9uczogT3B0aW9ucyxcbiAgICBjdHg6IFNjaGVtYUNvbnRleHRcbiAgKSA9PiB7XG4gICAgaWYgKCEoc2NoZW1hIGFzIGFueSkubWF0Y2hlc1ZhbHVlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gY3R4LnByb3BlcnR5UGF0aC5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgY29tbWFuZCA9IHBhdGhbMV07XG4gICAgY29uc3QgYXJnID0gcGF0aFszXTtcbiAgICBjb25zdCB2YWx1ZXMgPSBvYmpbY29tbWFuZF0uYXJnc1thcmddLnZhbHVlcztcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gXCJtdXN0IGJlIGEgc3RyaW5nXCI7XG4gICAgfVxuICAgIGlmICghdmFsdWVzLmluY2x1ZGVzKGluc3RhbmNlKSkge1xuICAgICAgcmV0dXJuIGBtdXN0IGJlIG9uZSBvZjogJHt2YWx1ZXMuam9pbihcIiwgXCIpfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAodi5hdHRyaWJ1dGVzIGFzIGFueSkuZm9yYmlkZGVuUHJvcGVydHlOYW1lcyA9IChpbnN0YW5jZTogYW55LCBzY2hlbWE6IFNjaGVtYSkgPT4ge1xuICAgIGNvbnN0IGZvcmJpZGRlbk5hbWVzOiBzdHJpbmdbXSA9IChzY2hlbWEgYXMgYW55KS5mb3JiaWRkZW5Qcm9wZXJ0eU5hbWVzO1xuICAgIGlmICghZm9yYmlkZGVuTmFtZXMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZSAhPT0gXCJvYmplY3RcIiB8fCBpbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoaW5zdGFuY2UpKSB7XG4gICAgICBpZiAoZm9yYmlkZGVuTmFtZXMuaW5jbHVkZXMocHJvcCkpIHtcbiAgICAgICAgcmV0dXJuIGB0aGUgcHJvcGVydHkgbmFtZSAnJHtwcm9wfScgaXMgcmVzZXJ2ZWQgYW5kIGNhbm5vdCBiZSByZXVzZWRgO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgcmV0dXJuIHYudmFsaWRhdGUob2JqLCBzY2gsIHtcbiAgICBuZXN0ZWRFcnJvcnM6IHRydWVcbiAgfSBhcyBPcHRpb25zKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NjaGVtYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0RBQWtEOzs7Ozs7Ozs7Ozs7QUFFbEQseUNBQXdGO0FBRXhGLHVEQUF1RDtBQUMxQyxRQUFBLDJCQUEyQixHQUFHLDhCQUE4QixDQUFDO0FBRTdELFFBQUEsZ0JBQWdCLEdBQUcsVUFBQyxHQUFRLEVBQUUsR0FBVztJQUNwRCxJQUFNLENBQUMsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztJQUV6QixDQUFDLENBQUMsVUFBa0IsQ0FBQyxVQUFVLEdBQUcsVUFBQyxRQUFhLEVBQUUsTUFBYztRQUMvRCxJQUFJLENBQUUsTUFBYyxDQUFDLFVBQVUsRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUNsQyxPQUFPLG9CQUFvQixDQUFDO1NBQzdCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUQsQ0FBQyxDQUFDLFVBQWtCLENBQUMsYUFBYSxHQUFHLFVBQ3BDLFFBQWEsRUFDYixNQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsR0FBa0I7UUFFbEIsSUFBSSxDQUFFLE1BQWMsQ0FBQyxhQUFhLEVBQUU7WUFDbEMsT0FBTztTQUNSO1FBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQzFCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsSUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ2hDLE9BQU8sa0JBQWtCLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM5QixPQUFPLHFCQUFtQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBRyxDQUFDO1NBQy9DO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUQsQ0FBQyxDQUFDLFVBQWtCLENBQUMsc0JBQXNCLEdBQUcsVUFBQyxRQUFhLEVBQUUsTUFBYzs7UUFDM0UsSUFBTSxjQUFjLEdBQWMsTUFBYyxDQUFDLHNCQUFzQixDQUFDO1FBQ3hFLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JELE9BQU8sU0FBUyxDQUFDO1NBQ2xCOztZQUVELEtBQW1CLElBQUEsS0FBQSxTQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7Z0JBQXJDLElBQU0sSUFBSSxXQUFBO2dCQUNiLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDakMsT0FBTyx3QkFBc0IsSUFBSSx1Q0FBb0MsQ0FBQztpQkFDdkU7YUFDRjs7Ozs7Ozs7O1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7UUFDMUIsWUFBWSxFQUFFLElBQUk7S0FDUixDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6bm8tb2JqZWN0LWxpdGVyYWwtdHlwZS1hc3NlcnRpb25cclxuXHJcbmltcG9ydCB7IE9wdGlvbnMsIFNjaGVtYSwgU2NoZW1hQ29udGV4dCwgVmFsaWRhdG9yLCBWYWxpZGF0b3JSZXN1bHQgfSBmcm9tIFwianNvbnNjaGVtYVwiO1xyXG5cclxuLy8gZXhwb3J0IGNvbnN0IGFscGhhbnVtZXJpY1BhdHRlcm4gPSAnXlthLXpBLVowLTldKyQnO1xyXG5leHBvcnQgY29uc3QgYWxwaGFudW1lcmljRXh0ZW5kZWRQYXR0ZXJuID0gXCJeW2EtekEtWjAtOV1bLTpfYS16QS1aMC05XSokXCI7XHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVJbnN0YW5jZSA9IChvYmo6IGFueSwgc2NoOiBTY2hlbWEpOiBWYWxpZGF0b3JSZXN1bHQgPT4ge1xyXG4gIGNvbnN0IHYgPSBuZXcgVmFsaWRhdG9yKCk7XHJcblxyXG4gICh2LmF0dHJpYnV0ZXMgYXMgYW55KS5pc0Z1bmN0aW9uID0gKGluc3RhbmNlOiBhbnksIHNjaGVtYTogU2NoZW1hKSA9PiB7XHJcbiAgICBpZiAoIShzY2hlbWEgYXMgYW55KS5pc0Z1bmN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlICE9PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgcmV0dXJuIFwibXVzdCBiZSBhIGZ1bmN0aW9uXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH07XHJcblxyXG4gICh2LmF0dHJpYnV0ZXMgYXMgYW55KS5tYXRjaGVzVmFsdWVzID0gKFxyXG4gICAgaW5zdGFuY2U6IGFueSxcclxuICAgIHNjaGVtYTogU2NoZW1hLFxyXG4gICAgb3B0aW9uczogT3B0aW9ucyxcclxuICAgIGN0eDogU2NoZW1hQ29udGV4dFxyXG4gICkgPT4ge1xyXG4gICAgaWYgKCEoc2NoZW1hIGFzIGFueSkubWF0Y2hlc1ZhbHVlcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGluc3RhbmNlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhdGggPSBjdHgucHJvcGVydHlQYXRoLnNwbGl0KFwiLlwiKTtcclxuICAgIGNvbnN0IGNvbW1hbmQgPSBwYXRoWzFdO1xyXG4gICAgY29uc3QgYXJnID0gcGF0aFszXTtcclxuICAgIGNvbnN0IHZhbHVlcyA9IG9ialtjb21tYW5kXS5hcmdzW2FyZ10udmFsdWVzO1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlICE9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHJldHVybiBcIm11c3QgYmUgYSBzdHJpbmdcIjtcclxuICAgIH1cclxuICAgIGlmICghdmFsdWVzLmluY2x1ZGVzKGluc3RhbmNlKSkge1xyXG4gICAgICByZXR1cm4gYG11c3QgYmUgb25lIG9mOiAke3ZhbHVlcy5qb2luKFwiLCBcIil9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH07XHJcblxyXG4gICh2LmF0dHJpYnV0ZXMgYXMgYW55KS5mb3JiaWRkZW5Qcm9wZXJ0eU5hbWVzID0gKGluc3RhbmNlOiBhbnksIHNjaGVtYTogU2NoZW1hKSA9PiB7XHJcbiAgICBjb25zdCBmb3JiaWRkZW5OYW1lczogc3RyaW5nW10gPSAoc2NoZW1hIGFzIGFueSkuZm9yYmlkZGVuUHJvcGVydHlOYW1lcztcclxuICAgIGlmICghZm9yYmlkZGVuTmFtZXMpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlICE9PSBcIm9iamVjdFwiIHx8IGluc3RhbmNlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wIG9mIE9iamVjdC5rZXlzKGluc3RhbmNlKSkge1xyXG4gICAgICBpZiAoZm9yYmlkZGVuTmFtZXMuaW5jbHVkZXMocHJvcCkpIHtcclxuICAgICAgICByZXR1cm4gYHRoZSBwcm9wZXJ0eSBuYW1lICcke3Byb3B9JyBpcyByZXNlcnZlZCBhbmQgY2Fubm90IGJlIHJldXNlZGA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH07XHJcblxyXG4gIHJldHVybiB2LnZhbGlkYXRlKG9iaiwgc2NoLCB7XHJcbiAgICBuZXN0ZWRFcnJvcnM6IHRydWVcclxuICB9IGFzIE9wdGlvbnMpO1xyXG59O1xyXG4iXX0=

@@ -17,2 +17,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NoZW1hL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTYSxRQUFBLGFBQWEsR0FBVztJQUNuQyxFQUFFLEVBQUUsVUFBVTtJQUNkLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUU7UUFDVixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRSxLQUFLO0NBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2hlbWEgfSBmcm9tIFwianNvbnNjaGVtYVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGxPcHRpb25zIHtcbiAgcHJvZmlsZTogYm9vbGVhbjtcbiAgc2hvd1RpbWU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPEZ1bGxPcHRpb25zPiB7fVxuXG5leHBvcnQgY29uc3Qgb3B0aW9uc1NjaGVtYTogU2NoZW1hID0ge1xuICBpZDogXCIvb3B0aW9uc1wiLFxuICB0eXBlOiBcIm9iamVjdFwiLFxuICByZXF1aXJlZDogW10sXG4gIHByb3BlcnRpZXM6IHtcbiAgICBwcm9maWxlOiB7XG4gICAgICB0eXBlOiBcImJvb2xlYW5cIlxuICAgIH0sXG4gICAgc2hvd1RpbWU6IHtcbiAgICAgIHR5cGU6IFwiYm9vbGVhblwiXG4gICAgfVxuICB9LFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2Vcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NoZW1hL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTYSxRQUFBLGFBQWEsR0FBVztJQUNuQyxFQUFFLEVBQUUsVUFBVTtJQUNkLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUU7UUFDVixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRSxLQUFLO0NBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2hlbWEgfSBmcm9tIFwianNvbnNjaGVtYVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGdWxsT3B0aW9ucyB7XHJcbiAgcHJvZmlsZTogYm9vbGVhbjtcclxuICBzaG93VGltZTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8RnVsbE9wdGlvbnM+IHt9XHJcblxyXG5leHBvcnQgY29uc3Qgb3B0aW9uc1NjaGVtYTogU2NoZW1hID0ge1xyXG4gIGlkOiBcIi9vcHRpb25zXCIsXHJcbiAgdHlwZTogXCJvYmplY3RcIixcclxuICByZXF1aXJlZDogW10sXHJcbiAgcHJvcGVydGllczoge1xyXG4gICAgcHJvZmlsZToge1xyXG4gICAgICB0eXBlOiBcImJvb2xlYW5cIlxyXG4gICAgfSxcclxuICAgIHNob3dUaW1lOiB7XHJcbiAgICAgIHR5cGU6IFwiYm9vbGVhblwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2VcclxufTtcclxuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NoZW1hL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmRzIH0gZnJvbSBcIi4vY29tbWFuZHNcIjtcbmltcG9ydCB7IEZ1bGxPcHRpb25zIH0gZnJvbSBcIi4vb3B0aW9uc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNPYmplY3Qge1xuICBfOiBzdHJpbmc7IC8vIGNvbW1hbmQgbmFtZVxuICBhcmdzPzoge1xuICAgIFthcmdOYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBFeGVjQ29tbWFuZCA9IHN0cmluZyB8IEV4ZWNPYmplY3QgfCAoc3RyaW5nIHwgRXhlY09iamVjdClbXTtcblxuZXhwb3J0IHR5cGUgRXhlY0Z1bmN0aW9uID0gKC4uLmNvbW1hbmRzOiBFeGVjQ29tbWFuZFtdKSA9PiBQcm9taXNlPHsga2VlcENvbnRleHQ6IEV4ZWNGdW5jdGlvbiB9PjtcblxuZXhwb3J0IGludGVyZmFjZSBHZXRGaWxlQ2hhbmdlc09wdGlvbnMge1xuICBsb2c6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRGdWxsT3B0aW9ucyBleHRlbmRzIEZ1bGxPcHRpb25zIHtcbiAgY29sb3JNb2RlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEZpbGVDaGFuZ2VzUmVzdWx0IHtcbiAgaGFzQ2hhbmdlczogYm9vbGVhbjtcbiAgY2xlYW5SdW46IGJvb2xlYW47XG4gIGFkZGVkOiBzdHJpbmdbXTtcbiAgcmVtb3ZlZDogc3RyaW5nW107XG4gIG1vZGlmaWVkOiBzdHJpbmdbXTtcbiAgdW5tb2RpZmllZDogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZnlDb250ZXh0IHtcbiAgY29tbWFuZE5hbWU6IHN0cmluZztcbiAgY29tbWFuZEFyZ3M6IG9iamVjdDtcbiAgY29tbWFuZHM6IENvbW1hbmRzO1xuICBvcHRpb25zOiBFeHRlbmRlZEZ1bGxPcHRpb25zO1xuICBtYWtmeUZpbGVuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY1V0aWxzIHtcbiAgbWFrZnlDb250ZXh0OiBNYWtmeUNvbnRleHQ7XG4gIGVzY2FwZSguLi5wYXJ0czogc3RyaW5nW10pOiBzdHJpbmc7XG4gIGZpeFBhdGgocGF0aDogc3RyaW5nLCBzdHlsZTogXCJhdXRvZGV0ZWN0XCIgfCBcIndpbmRvd3NcIiB8IFwicG9zaXhcIik6IHN0cmluZztcbiAgc2V0RW52VmFyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZztcbiAgZXhwYW5kR2xvYnNBc3luYyhnbG9iUGF0dGVybnM6IHN0cmluZ1tdKTogUHJvbWlzZTxzdHJpbmdbXT47XG4gIGdldEZpbGVDaGFuZ2VzQXN5bmMoXG4gICAgY29udGV4dE5hbWU6IHN0cmluZyxcbiAgICBnbG9iUGF0dGVybnM6IHN0cmluZ1tdIHwgc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPEdldEZpbGVDaGFuZ2VzT3B0aW9ucz5cbiAgKTogUHJvbWlzZTxHZXRGaWxlQ2hhbmdlc1Jlc3VsdD47XG4gIGNsZWFuQ2FjaGUoKTogdm9pZDtcblxuICAvLyBpbnRlcm5hbCBvbmx5IGZvciBub3dcbiAgbGltaXRQcm9taXNlQ29uY3VycmVuY3k8VD4oY29uY3VycmVuY3k6IG51bWJlcik6IChmbjogKCkgPT4gUHJvbWlzZUxpa2U8VD4pID0+IFByb21pc2U8VD47XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NoZW1hL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmRzIH0gZnJvbSBcIi4vY29tbWFuZHNcIjtcclxuaW1wb3J0IHsgRnVsbE9wdGlvbnMgfSBmcm9tIFwiLi9vcHRpb25zXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNPYmplY3Qge1xyXG4gIF86IHN0cmluZzsgLy8gY29tbWFuZCBuYW1lXHJcbiAgYXJncz86IHtcclxuICAgIFthcmdOYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEV4ZWNDb21tYW5kID0gc3RyaW5nIHwgRXhlY09iamVjdCB8IChzdHJpbmcgfCBFeGVjT2JqZWN0KVtdO1xyXG5cclxuZXhwb3J0IHR5cGUgRXhlY0Z1bmN0aW9uID0gKC4uLmNvbW1hbmRzOiBFeGVjQ29tbWFuZFtdKSA9PiBQcm9taXNlPHsga2VlcENvbnRleHQ6IEV4ZWNGdW5jdGlvbiB9PjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0RmlsZUNoYW5nZXNPcHRpb25zIHtcclxuICBsb2c6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRGdWxsT3B0aW9ucyBleHRlbmRzIEZ1bGxPcHRpb25zIHtcclxuICBjb2xvck1vZGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0RmlsZUNoYW5nZXNSZXN1bHQge1xyXG4gIGhhc0NoYW5nZXM6IGJvb2xlYW47XHJcbiAgY2xlYW5SdW46IGJvb2xlYW47XHJcbiAgYWRkZWQ6IHN0cmluZ1tdO1xyXG4gIHJlbW92ZWQ6IHN0cmluZ1tdO1xyXG4gIG1vZGlmaWVkOiBzdHJpbmdbXTtcclxuICB1bm1vZGlmaWVkOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNYWtmeUNvbnRleHQge1xyXG4gIGNvbW1hbmROYW1lOiBzdHJpbmc7XHJcbiAgY29tbWFuZEFyZ3M6IG9iamVjdDtcclxuICBjb21tYW5kczogQ29tbWFuZHM7XHJcbiAgb3B0aW9uczogRXh0ZW5kZWRGdWxsT3B0aW9ucztcclxuICBtYWtmeUZpbGVuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhlY1V0aWxzIHtcclxuICBtYWtmeUNvbnRleHQ6IE1ha2Z5Q29udGV4dDtcclxuICBlc2NhcGUoLi4ucGFydHM6IHN0cmluZ1tdKTogc3RyaW5nO1xyXG4gIGZpeFBhdGgocGF0aDogc3RyaW5nLCBzdHlsZTogXCJhdXRvZGV0ZWN0XCIgfCBcIndpbmRvd3NcIiB8IFwicG9zaXhcIik6IHN0cmluZztcclxuICBzZXRFbnZWYXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nO1xyXG4gIGV4cGFuZEdsb2JzQXN5bmMoZ2xvYlBhdHRlcm5zOiBzdHJpbmdbXSk6IFByb21pc2U8c3RyaW5nW10+O1xyXG4gIGdldEZpbGVDaGFuZ2VzQXN5bmMoXHJcbiAgICBjb250ZXh0TmFtZTogc3RyaW5nLFxyXG4gICAgZ2xvYlBhdHRlcm5zOiBzdHJpbmdbXSB8IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPEdldEZpbGVDaGFuZ2VzT3B0aW9ucz5cclxuICApOiBQcm9taXNlPEdldEZpbGVDaGFuZ2VzUmVzdWx0PjtcclxuICBjbGVhbkNhY2hlKCk6IHZvaWQ7XHJcblxyXG4gIC8vIGludGVybmFsIG9ubHkgZm9yIG5vd1xyXG4gIGxpbWl0UHJvbWlzZUNvbmN1cnJlbmN5PFQ+KGNvbmN1cnJlbmN5OiBudW1iZXIpOiAoZm46ICgpID0+IFByb21pc2VMaWtlPFQ+KSA9PiBQcm9taXNlPFQ+O1xyXG59XHJcbiJdfQ==

@@ -72,2 +72,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvY29uc29sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQkFnQkE7O0FBaEJBLCtCQUEwQjtBQUMxQixxQ0FBa0Q7QUFFckMsUUFBQSxXQUFXLEdBQUc7SUFDekIsSUFBTSxLQUFLLEdBQUcsZUFBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFVyxRQUFBLGtCQUFrQixHQUFHLFVBQU8sR0FBZ0I7SUFBaEIsb0JBQUEsRUFBQSxRQUFnQjs7Ozt3QkFDdkQscUJBQU0sK0JBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBQTs7b0JBQWhELFNBQWdELENBQUM7Ozs7O0NBQ2xELENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHLFVBQU8sR0FBZ0I7SUFBaEIsb0JBQUEsRUFBQSxRQUFnQjs7Ozt3QkFDekQscUJBQU0sK0JBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBQTs7b0JBQWhELFNBQWdELENBQUM7Ozs7O0NBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgeyBzb2NrZXRGbHVzaFdyaXRlQXN5bmMgfSBmcm9tIFwiLi9zb2NrZXRzXCI7XG5cbmV4cG9ydCBjb25zdCByZXNldENvbG9ycyA9ICgpID0+IHtcbiAgY29uc3QgcmVzZXQgPSBjaGFsay5yZXNldChcIlwiKTtcbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUocmVzZXQpO1xuICBwcm9jZXNzLnN0ZGVyci53cml0ZShyZXNldCk7XG59O1xuXG5leHBvcnQgY29uc3QgYmxvY2tpbmdDb25zb2xlTG9nID0gYXN5bmMgKHN0cjogc3RyaW5nID0gXCJcIikgPT4ge1xuICBhd2FpdCBzb2NrZXRGbHVzaFdyaXRlQXN5bmMocHJvY2Vzcy5zdGRvdXQsIHN0cik7XG59O1xuXG5leHBvcnQgY29uc3QgYmxvY2tpbmdDb25zb2xlRXJyb3IgPSBhc3luYyAoc3RyOiBzdHJpbmcgPSBcIlwiKSA9PiB7XG4gIGF3YWl0IHNvY2tldEZsdXNoV3JpdGVBc3luYyhwcm9jZXNzLnN0ZGVyciwgc3RyKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvY29uc29sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQkFnQkE7O0FBaEJBLCtCQUEwQjtBQUMxQixxQ0FBa0Q7QUFFckMsUUFBQSxXQUFXLEdBQUc7SUFDekIsSUFBTSxLQUFLLEdBQUcsZUFBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFVyxRQUFBLGtCQUFrQixHQUFHLFVBQU8sR0FBZ0I7SUFBaEIsb0JBQUEsRUFBQSxRQUFnQjs7Ozt3QkFDdkQscUJBQU0sK0JBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBQTs7b0JBQWhELFNBQWdELENBQUM7Ozs7O0NBQ2xELENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHLFVBQU8sR0FBZ0I7SUFBaEIsb0JBQUEsRUFBQSxRQUFnQjs7Ozt3QkFDekQscUJBQU0sK0JBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBQTs7b0JBQWhELFNBQWdELENBQUM7Ozs7O0NBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XHJcbmltcG9ydCB7IHNvY2tldEZsdXNoV3JpdGVBc3luYyB9IGZyb20gXCIuL3NvY2tldHNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCByZXNldENvbG9ycyA9ICgpID0+IHtcclxuICBjb25zdCByZXNldCA9IGNoYWxrLnJlc2V0KFwiXCIpO1xyXG4gIHByb2Nlc3Muc3Rkb3V0LndyaXRlKHJlc2V0KTtcclxuICBwcm9jZXNzLnN0ZGVyci53cml0ZShyZXNldCk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgYmxvY2tpbmdDb25zb2xlTG9nID0gYXN5bmMgKHN0cjogc3RyaW5nID0gXCJcIikgPT4ge1xyXG4gIGF3YWl0IHNvY2tldEZsdXNoV3JpdGVBc3luYyhwcm9jZXNzLnN0ZG91dCwgc3RyKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBibG9ja2luZ0NvbnNvbGVFcnJvciA9IGFzeW5jIChzdHI6IHN0cmluZyA9IFwiXCIpID0+IHtcclxuICBhd2FpdCBzb2NrZXRGbHVzaFdyaXRlQXN5bmMocHJvY2Vzcy5zdGRlcnIsIHN0cik7XHJcbn07XHJcbiJdfQ==

@@ -92,2 +92,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvZm9ybWF0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUEwQjtBQUliLFFBQUEsYUFBYSxHQUFHLFVBQUMsSUFBYTtJQUN6QyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELE9BQU8sZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsT0FBSSxDQUFDLENBQUM7QUFDdEYsQ0FBQyxDQUFDO0FBRVcsUUFBQSxxQkFBcUIsR0FBRyxVQUFDLEtBQTZCLEVBQUUsT0FBZTtJQUNsRixPQUFVLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLEtBQUssU0FBUyxFQUFmLENBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBTSxPQUFTLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBRyxVQUFDLE9BQWU7SUFDcEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFFRixxQkFBcUI7QUFDUixRQUFBLHVCQUF1QixHQUFHLFVBQUMsR0FBUTs7SUFDOUMsSUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBRWYsZUFBZTtJQUNmLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRTtRQUNWLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xCO0lBRUQsaUJBQWlCO0lBQ2pCLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtRQUNULEdBQUcsQ0FBQyxJQUFJLE9BQVIsR0FBRyxXQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUU7S0FDcEI7O1FBRUQsS0FBc0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtZQUFuQyxJQUFNLE9BQU8sV0FBQTtZQUNoQixRQUFRLE9BQU8sRUFBRTtnQkFDZixLQUFLLElBQUksQ0FBQztnQkFDVixLQUFLLEdBQUc7b0JBQ04sTUFBTTtnQkFDUjtvQkFDRSxJQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzlCLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO3dCQUMvQyxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7cUJBQzNDO3lCQUFNO3dCQUNMLEdBQUcsQ0FBQyxJQUFJLE9BQVIsR0FBRyxXQUFTLENBQUMsOEJBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUU7cUJBQ3JFO29CQUNELE1BQU07YUFDVDtTQUNGOzs7Ozs7Ozs7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsVUFBQyxPQUFpQixFQUFFLFFBQWlCO0lBQ3ZFLE9BQU8scUJBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQzdFLENBQUMsQ0FBQztBQUVXLFFBQUEsZUFBZSxHQUFHLFVBQUMsT0FBb0I7SUFDbEQsT0FBTyw0QkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuaW1wb3J0IHsgRXhlY0NvbnRleHQgfSBmcm9tIFwiLi4vZXhlY1J1bnRpbWVcIjtcbmltcG9ydCBTb2NrZXQgPSBOb2RlSlMuU29ja2V0O1xuXG5leHBvcnQgY29uc3QgZ2V0VGltZVN0cmluZyA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gIGlmICghc2hvdykge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG4gIHJldHVybiBjaGFsay5ib2xkLmdyYXkoYFske25ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0VGltZSgpKS50b0xvY2FsZVRpbWVTdHJpbmcoKX1dIGApO1xufTtcblxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZUZvck9iamVjdCA9IChwYXJ0czogKHN0cmluZyB8IHVuZGVmaW5lZClbXSwgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBgJHtwYXJ0cy5maWx0ZXIoKGUpID0+IGUgIT09IHVuZGVmaW5lZCkuam9pbihcIi5cIil9IC0gJHttZXNzYWdlfWA7XG59O1xuXG5leHBvcnQgY29uc3QgYXJnTmFtZVRvRGFzaGVkQXJnTmFtZSA9IChhcmdOYW1lOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIChhcmdOYW1lLmxlbmd0aCA8PSAxID8gXCItXCIgOiBcIi0tXCIpICsgYXJnTmFtZTtcbn07XG5cbi8vIFRPRE86IHJlbW92ZSB0aGlzP1xuZXhwb3J0IGNvbnN0IG9iamVjdFRvQ29tbWFuZExpbmVBcmdzID0gKG9iajogYW55KSA9PiB7XG4gIGNvbnN0IGFyciA9IFtdO1xuXG4gIC8vIGNvbW1hbmQgbmFtZVxuICBpZiAob2JqLiQwKSB7XG4gICAgYXJyLnB1c2gob2JqLiQwKTtcbiAgfVxuXG4gIC8vIG5vbiBhcmdzIGFycmF5XG4gIGlmIChvYmouXykge1xuICAgIGFyci5wdXNoKC4uLm9iai5fKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYXJnTmFtZSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XG4gICAgc3dpdGNoIChhcmdOYW1lKSB7XG4gICAgICBjYXNlIFwiJDBcIjpcbiAgICAgIGNhc2UgXCJfXCI6XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc3QgYXJnVmFsdWUgPSBvYmpbYXJnTmFtZV07XG4gICAgICAgIGlmIChhcmdWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGFyZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgYXJyLnB1c2goYXJnTmFtZVRvRGFzaGVkQXJnTmFtZShhcmdOYW1lKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXJyLnB1c2goLi4uW2FyZ05hbWVUb0Rhc2hlZEFyZ05hbWUoYXJnTmFtZSksIGFyZ1ZhbHVlLnRvU3RyaW5nKCldKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXJyO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdENvbnRleHRJZFN0YWNrID0gKGlkU3RhY2s6IHN0cmluZ1tdLCBzaG93VGltZTogYm9vbGVhbikgPT4ge1xuICByZXR1cm4gZ2V0VGltZVN0cmluZyhzaG93VGltZSkgKyBpZFN0YWNrLmpvaW4oY2hhbGsuYm9sZC5ncmF5KFwiL1wiKSkgKyBcIiAgXCI7XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Q29udGV4dElkID0gKGNvbnRleHQ6IEV4ZWNDb250ZXh0KSA9PiB7XG4gIHJldHVybiBmb3JtYXRDb250ZXh0SWRTdGFjayhjb250ZXh0LmlkU3RhY2ssIGNvbnRleHQub3B0aW9ucy5zaG93VGltZSk7XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvZm9ybWF0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUEwQjtBQUliLFFBQUEsYUFBYSxHQUFHLFVBQUMsSUFBYTtJQUN6QyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELE9BQU8sZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsT0FBSSxDQUFDLENBQUM7QUFDdEYsQ0FBQyxDQUFDO0FBRVcsUUFBQSxxQkFBcUIsR0FBRyxVQUFDLEtBQTZCLEVBQUUsT0FBZTtJQUNsRixPQUFVLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLEtBQUssU0FBUyxFQUFmLENBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBTSxPQUFTLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBRyxVQUFDLE9BQWU7SUFDcEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFFRixxQkFBcUI7QUFDUixRQUFBLHVCQUF1QixHQUFHLFVBQUMsR0FBUTs7SUFDOUMsSUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBRWYsZUFBZTtJQUNmLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRTtRQUNWLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xCO0lBRUQsaUJBQWlCO0lBQ2pCLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtRQUNULEdBQUcsQ0FBQyxJQUFJLE9BQVIsR0FBRyxXQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUU7S0FDcEI7O1FBRUQsS0FBc0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtZQUFuQyxJQUFNLE9BQU8sV0FBQTtZQUNoQixRQUFRLE9BQU8sRUFBRTtnQkFDZixLQUFLLElBQUksQ0FBQztnQkFDVixLQUFLLEdBQUc7b0JBQ04sTUFBTTtnQkFDUjtvQkFDRSxJQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzlCLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO3dCQUMvQyxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7cUJBQzNDO3lCQUFNO3dCQUNMLEdBQUcsQ0FBQyxJQUFJLE9BQVIsR0FBRyxXQUFTLENBQUMsOEJBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUU7cUJBQ3JFO29CQUNELE1BQU07YUFDVDtTQUNGOzs7Ozs7Ozs7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsVUFBQyxPQUFpQixFQUFFLFFBQWlCO0lBQ3ZFLE9BQU8scUJBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQzdFLENBQUMsQ0FBQztBQUVXLFFBQUEsZUFBZSxHQUFHLFVBQUMsT0FBb0I7SUFDbEQsT0FBTyw0QkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xyXG5pbXBvcnQgeyBFeGVjQ29udGV4dCB9IGZyb20gXCIuLi9leGVjUnVudGltZVwiO1xyXG5pbXBvcnQgU29ja2V0ID0gTm9kZUpTLlNvY2tldDtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRUaW1lU3RyaW5nID0gKHNob3c6IGJvb2xlYW4pID0+IHtcclxuICBpZiAoIXNob3cpIHtcclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuICByZXR1cm4gY2hhbGsuYm9sZC5ncmF5KGBbJHtuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XSBgKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBlcnJvck1lc3NhZ2VGb3JPYmplY3QgPSAocGFydHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW10sIG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG4gIHJldHVybiBgJHtwYXJ0cy5maWx0ZXIoKGUpID0+IGUgIT09IHVuZGVmaW5lZCkuam9pbihcIi5cIil9IC0gJHttZXNzYWdlfWA7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgYXJnTmFtZVRvRGFzaGVkQXJnTmFtZSA9IChhcmdOYW1lOiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4gKGFyZ05hbWUubGVuZ3RoIDw9IDEgPyBcIi1cIiA6IFwiLS1cIikgKyBhcmdOYW1lO1xyXG59O1xyXG5cclxuLy8gVE9ETzogcmVtb3ZlIHRoaXM/XHJcbmV4cG9ydCBjb25zdCBvYmplY3RUb0NvbW1hbmRMaW5lQXJncyA9IChvYmo6IGFueSkgPT4ge1xyXG4gIGNvbnN0IGFyciA9IFtdO1xyXG5cclxuICAvLyBjb21tYW5kIG5hbWVcclxuICBpZiAob2JqLiQwKSB7XHJcbiAgICBhcnIucHVzaChvYmouJDApO1xyXG4gIH1cclxuXHJcbiAgLy8gbm9uIGFyZ3MgYXJyYXlcclxuICBpZiAob2JqLl8pIHtcclxuICAgIGFyci5wdXNoKC4uLm9iai5fKTtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3QgYXJnTmFtZSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XHJcbiAgICBzd2l0Y2ggKGFyZ05hbWUpIHtcclxuICAgICAgY2FzZSBcIiQwXCI6XHJcbiAgICAgIGNhc2UgXCJfXCI6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgY29uc3QgYXJnVmFsdWUgPSBvYmpbYXJnTmFtZV07XHJcbiAgICAgICAgaWYgKGFyZ1ZhbHVlID09PSB1bmRlZmluZWQgfHwgYXJnVmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgICAgIGFyci5wdXNoKGFyZ05hbWVUb0Rhc2hlZEFyZ05hbWUoYXJnTmFtZSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhcnIucHVzaCguLi5bYXJnTmFtZVRvRGFzaGVkQXJnTmFtZShhcmdOYW1lKSwgYXJnVmFsdWUudG9TdHJpbmcoKV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBhcnI7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZm9ybWF0Q29udGV4dElkU3RhY2sgPSAoaWRTdGFjazogc3RyaW5nW10sIHNob3dUaW1lOiBib29sZWFuKSA9PiB7XHJcbiAgcmV0dXJuIGdldFRpbWVTdHJpbmcoc2hvd1RpbWUpICsgaWRTdGFjay5qb2luKGNoYWxrLmJvbGQuZ3JheShcIi9cIikpICsgXCIgIFwiO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1hdENvbnRleHRJZCA9IChjb250ZXh0OiBFeGVjQ29udGV4dCkgPT4ge1xyXG4gIHJldHVybiBmb3JtYXRDb250ZXh0SWRTdGFjayhjb250ZXh0LmlkU3RhY2ssIGNvbnRleHQub3B0aW9ucy5zaG93VGltZSk7XHJcbn07XHJcbiJdfQ==

@@ -152,2 +152,2 @@ "use strict";

}); };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzL2dsb2JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlCQW1EQTs7QUFuREEsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRWhCLFFBQUEsc0JBQXNCLEdBQUcsVUFBTyxXQUFtQjs7UUFDOUQsc0JBQU8sSUFBSSxPQUFPLENBQVcsVUFBQyxPQUFPLEVBQUUsTUFBTTtnQkFDM0MsSUFBSSxDQUNGLFdBQVcsRUFDWCxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQzNDLFVBQUMsR0FBaUIsRUFBRSxLQUFlO29CQUNqQyxJQUFJLEdBQUcsRUFBRTt3QkFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ1osT0FBTztxQkFDUjtvQkFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pCLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLEVBQUM7O0tBQ0osQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsVUFBTyxZQUFzQjs7Ozs7Z0JBQ2xFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO29CQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7aUJBQ3pEO2dCQUVLLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDOzs7O2dCQUNFLGlCQUFBLFNBQUEsWUFBWSxDQUFBOzs7O2dCQUEzQixXQUFXO2dCQUNsQixJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRTtvQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2lCQUNwRDtnQkFDRCxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQixRQUFRLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxRQUFRLEVBQUU7b0JBQ1osV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BDLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2xDO2dCQUVELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztpQkFDckQ7Z0JBRWEscUJBQU0sOEJBQXNCLENBQUMsV0FBVyxDQUFDLEVBQUE7O2dCQUFqRCxLQUFLLEdBQUcsU0FBeUM7O29CQUN2RCxLQUFtQixVQUFBLFNBQUEsS0FBSyxDQUFBLDJFQUFFO3dCQUFmLElBQUk7d0JBQ2IsSUFBSSxRQUFRLEVBQUU7NEJBQ1osR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDbEI7NkJBQU07NEJBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDZjtxQkFDRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29CQUVILCtCQUFXLEdBQUcsR0FBRTs7O0tBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnbG9iID0gcmVxdWlyZShcImdsb2JcIik7XG5cbmV4cG9ydCBjb25zdCB1bnJvbGxHbG9iUGF0dGVybkFzeW5jID0gYXN5bmMgKGdsb2JQYXR0ZXJuOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmdbXT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGdsb2IoXG4gICAgICBnbG9iUGF0dGVybixcbiAgICAgIHsgc3RyaWN0OiB0cnVlLCBub2RpcjogdHJ1ZSwgZm9sbG93OiB0cnVlIH0sXG4gICAgICAoZXJyOiBFcnJvciB8IG51bGwsIGZpbGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzb2x2ZShmaWxlcyk7XG4gICAgICB9XG4gICAgKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5yb2xsR2xvYlBhdHRlcm5zQXN5bmMgPSBhc3luYyAoZ2xvYlBhdHRlcm5zOiBzdHJpbmdbXSk6IFByb21pc2U8c3RyaW5nW10+ID0+IHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGdsb2JQYXR0ZXJucykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJnbG9iIHBhdHRlcm5zIG11c3QgYmUgYSBzdHJpbmcgYXJyYXlcIik7XG4gIH1cblxuICBjb25zdCBzZXQgPSBuZXcgU2V0KCk7XG4gIGZvciAobGV0IGdsb2JQYXR0ZXJuIG9mIGdsb2JQYXR0ZXJucykge1xuICAgIGlmICh0eXBlb2YgZ2xvYlBhdHRlcm4gIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImEgZ2xvYiBwYXR0ZXJuIG11c3QgYmUgYSBzdHJpbmdcIik7XG4gICAgfVxuICAgIGdsb2JQYXR0ZXJuID0gZ2xvYlBhdHRlcm4udHJpbSgpO1xuICAgIGNvbnN0IG5lZ2F0aXZlID0gZ2xvYlBhdHRlcm4uc3RhcnRzV2l0aChcIiEhXCIpO1xuICAgIGlmIChuZWdhdGl2ZSkge1xuICAgICAgZ2xvYlBhdHRlcm4gPSBnbG9iUGF0dGVybi5zdWJzdHIoMik7XG4gICAgICBnbG9iUGF0dGVybiA9IGdsb2JQYXR0ZXJuLnRyaW0oKTtcbiAgICB9XG5cbiAgICBpZiAoZ2xvYlBhdHRlcm4ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhIGdsb2IgcGF0dGVybiBtdXN0IG5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHVucm9sbEdsb2JQYXR0ZXJuQXN5bmMoZ2xvYlBhdHRlcm4pO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgaWYgKG5lZ2F0aXZlKSB7XG4gICAgICAgIHNldC5kZWxldGUoZmlsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXQuYWRkKGZpbGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gWy4uLnNldF07XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzL2dsb2JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlCQW1EQTs7QUFuREEsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRWhCLFFBQUEsc0JBQXNCLEdBQUcsVUFBTyxXQUFtQjs7UUFDOUQsc0JBQU8sSUFBSSxPQUFPLENBQVcsVUFBQyxPQUFPLEVBQUUsTUFBTTtnQkFDM0MsSUFBSSxDQUNGLFdBQVcsRUFDWCxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQzNDLFVBQUMsR0FBaUIsRUFBRSxLQUFlO29CQUNqQyxJQUFJLEdBQUcsRUFBRTt3QkFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ1osT0FBTztxQkFDUjtvQkFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pCLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLEVBQUM7O0tBQ0osQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsVUFBTyxZQUFzQjs7Ozs7Z0JBQ2xFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO29CQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7aUJBQ3pEO2dCQUVLLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDOzs7O2dCQUNFLGlCQUFBLFNBQUEsWUFBWSxDQUFBOzs7O2dCQUEzQixXQUFXO2dCQUNsQixJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRTtvQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2lCQUNwRDtnQkFDRCxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQixRQUFRLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxRQUFRLEVBQUU7b0JBQ1osV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BDLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2xDO2dCQUVELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztpQkFDckQ7Z0JBRWEscUJBQU0sOEJBQXNCLENBQUMsV0FBVyxDQUFDLEVBQUE7O2dCQUFqRCxLQUFLLEdBQUcsU0FBeUM7O29CQUN2RCxLQUFtQixVQUFBLFNBQUEsS0FBSyxDQUFBLDJFQUFFO3dCQUFmLElBQUk7d0JBQ2IsSUFBSSxRQUFRLEVBQUU7NEJBQ1osR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDbEI7NkJBQU07NEJBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDZjtxQkFDRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29CQUVILCtCQUFXLEdBQUcsR0FBRTs7O0tBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnbG9iID0gcmVxdWlyZShcImdsb2JcIik7XHJcblxyXG5leHBvcnQgY29uc3QgdW5yb2xsR2xvYlBhdHRlcm5Bc3luYyA9IGFzeW5jIChnbG9iUGF0dGVybjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4gPT4ge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmdbXT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgZ2xvYihcclxuICAgICAgZ2xvYlBhdHRlcm4sXHJcbiAgICAgIHsgc3RyaWN0OiB0cnVlLCBub2RpcjogdHJ1ZSwgZm9sbG93OiB0cnVlIH0sXHJcbiAgICAgIChlcnI6IEVycm9yIHwgbnVsbCwgZmlsZXM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgcmVqZWN0KGVycik7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXNvbHZlKGZpbGVzKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB1bnJvbGxHbG9iUGF0dGVybnNBc3luYyA9IGFzeW5jIChnbG9iUGF0dGVybnM6IHN0cmluZ1tdKTogUHJvbWlzZTxzdHJpbmdbXT4gPT4ge1xyXG4gIGlmICghQXJyYXkuaXNBcnJheShnbG9iUGF0dGVybnMpKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJnbG9iIHBhdHRlcm5zIG11c3QgYmUgYSBzdHJpbmcgYXJyYXlcIik7XHJcbiAgfVxyXG5cclxuICBjb25zdCBzZXQgPSBuZXcgU2V0KCk7XHJcbiAgZm9yIChsZXQgZ2xvYlBhdHRlcm4gb2YgZ2xvYlBhdHRlcm5zKSB7XHJcbiAgICBpZiAodHlwZW9mIGdsb2JQYXR0ZXJuICE9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImEgZ2xvYiBwYXR0ZXJuIG11c3QgYmUgYSBzdHJpbmdcIik7XHJcbiAgICB9XHJcbiAgICBnbG9iUGF0dGVybiA9IGdsb2JQYXR0ZXJuLnRyaW0oKTtcclxuICAgIGNvbnN0IG5lZ2F0aXZlID0gZ2xvYlBhdHRlcm4uc3RhcnRzV2l0aChcIiEhXCIpO1xyXG4gICAgaWYgKG5lZ2F0aXZlKSB7XHJcbiAgICAgIGdsb2JQYXR0ZXJuID0gZ2xvYlBhdHRlcm4uc3Vic3RyKDIpO1xyXG4gICAgICBnbG9iUGF0dGVybiA9IGdsb2JQYXR0ZXJuLnRyaW0oKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZ2xvYlBhdHRlcm4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImEgZ2xvYiBwYXR0ZXJuIG11c3Qgbm90IGJlIGVtcHR5XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgdW5yb2xsR2xvYlBhdHRlcm5Bc3luYyhnbG9iUGF0dGVybik7XHJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcclxuICAgICAgaWYgKG5lZ2F0aXZlKSB7XHJcbiAgICAgICAgc2V0LmRlbGV0ZShmaWxlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXQuYWRkKGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBbLi4uc2V0XTtcclxufTtcclxuIl19

@@ -250,2 +250,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvaGFzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQkE4TEE7O0FBOUxBLCtCQUFpQztBQUNqQyx1QkFBeUI7QUFDekIsMkJBQTZCO0FBbUJoQixRQUFBLGVBQWUsR0FBRyxjQUFjLENBQUM7QUFFakMsUUFBQSxzQkFBc0IsR0FBRyxVQUNwQyxRQUFnQixFQUNoQixRQUFrQixFQUNsQixRQUFpQjs7O1FBRVgsSUFBSSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdkIsSUFBSSxRQUFRLEVBQUU7WUFDWixzQkFBTztvQkFDTCxJQUFJLEVBQUUsSUFBSTtpQkFDWCxFQUFDO1NBQ0g7UUFFSyxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxNQUFNLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDLHNCQUFPLElBQUksT0FBTyxDQUFZLFVBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQUMsR0FBVTtvQkFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO2dCQUVILE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQUMsSUFBWTtvQkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2pCLElBQU0sU0FBUyxHQUFjO3dC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QUFHLFVBQ3ZDLGNBQXNCLEVBQ3RCLFdBQW1CLEVBQ25CLFFBQWtCO0lBRWxCLElBQU0sSUFBSSxHQUFHLE1BQU07U0FDaEIsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQixNQUFNLENBQUMsY0FBYyxHQUFHLFdBQVcsR0FBRyxRQUFRLENBQUM7U0FDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBZSxFQUFLLElBQUksVUFBTyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBRztJQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBZSxDQUFDLEVBQUU7UUFDbkMsRUFBRSxDQUFDLFNBQVMsQ0FBQyx1QkFBZSxDQUFDLENBQUM7S0FDL0I7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSBcImNyeXB0b1wiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBHZXRGaWxlQ2hhbmdlc1Jlc3VsdCB9IGZyb20gXCIuLi9zY2hlbWEvcnVudGltZVwiO1xuXG5leHBvcnQgdHlwZSBIYXNoVHlwZSA9IFwic2hhMVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhhc2hFbnRyeSB7XG4gIGhhc2g/OiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYXNoZXMge1xuICBbcGF0aDogc3RyaW5nXTogSGFzaEVudHJ5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc2hDb2xsZWN0aW9uIHtcbiAgaGFzaFR5cGU6IEhhc2hUeXBlO1xuICBoYXNoZXM6IEhhc2hlcztcbn1cblxuZXhwb3J0IGNvbnN0IGNhY2hlRm9sZGVyTmFtZSA9IFwiLm1ha2Z5LWNhY2hlXCI7XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUhhc2hFbnRyeUFzeW5jID0gYXN5bmMgKFxuICBmaWxlUGF0aDogc3RyaW5nLFxuICBoYXNoVHlwZTogSGFzaFR5cGUsXG4gIG9ubHlTaXplOiBib29sZWFuXG4pOiBQcm9taXNlPEhhc2hFbnRyeT4gPT4ge1xuICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMoZmlsZVBhdGgpO1xuICBjb25zdCBzaXplID0gc3RhdC5zaXplO1xuXG4gIGlmIChvbmx5U2l6ZSkge1xuICAgIHJldHVybiB7XG4gICAgICBzaXplOiBzaXplXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaChoYXNoVHlwZSk7XG4gIGNvbnN0IHN0cmVhbSA9IGZzLmNyZWF0ZVJlYWRTdHJlYW0oZmlsZVBhdGgpO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZTxIYXNoRW50cnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBzdHJlYW0ub25jZShcImVycm9yXCIsIChlcnI6IEVycm9yKSA9PiB7XG4gICAgICByZWplY3QoZXJyKTtcbiAgICB9KTtcblxuICAgIHN0cmVhbS5vbihcImRhdGFcIiwgKGRhdGE6IEJ1ZmZlcikgPT4ge1xuICAgICAgaGFzaC51cGRhdGUoZGF0YSk7XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub25jZShcImVuZFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYXNoRW50cnk6IEhhc2hFbnRyeSA9IHtcbiAgICAgICAgaGFzaDogaGFzaC5kaWdlc3QoXCJiYXNlNjRcIiksXG4gICAgICAgIHNpemU6IHNpemVcbiAgICAgIH07XG5cbiAgICAgIHJlc29sdmUoaGFzaEVudHJ5KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVIYXNoQ29sbGVjdGlvbkFzeW5jID0gYXN5bmMgKFxuICBmaWxlczogc3RyaW5nW10sXG4gIGhhc2hUeXBlOiBIYXNoVHlwZSxcbiAgb25seVNpemU6IGJvb2xlYW5cbik6IFByb21pc2U8SGFzaENvbGxlY3Rpb24+ID0+IHtcbiAgY29uc3QgaGFzaGVzOiB7XG4gICAgW2s6IHN0cmluZ106IEhhc2hFbnRyeTtcbiAgfSA9IHt9O1xuXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGhhc2hlc1tmaWxlXSA9IGF3YWl0IGdlbmVyYXRlSGFzaEVudHJ5QXN5bmMoZmlsZSwgaGFzaFR5cGUsIG9ubHlTaXplKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFzaFR5cGU6IGhhc2hUeXBlLFxuICAgIGhhc2hlczogaGFzaGVzXG4gIH07XG59O1xuXG4vKipcbiAqIEdldHMgYSBkZWx0YSBiZXR3ZWVuIHR3byBoYXNoIGNvbGxlY3Rpb25zLlxuICogQHBhcmFtIG9sZEhhc2hDb2xsZWN0aW9uXG4gKiBAcGFyYW0gbmV3SGFzaENvbGxlY3Rpb25cbiAqIEByZXR1cm4ge1Byb21pc2U8R2V0RmlsZUNoYW5nZXNSZXN1bHQ+fVxuICovXG5leHBvcnQgY29uc3QgZ2V0SGFzaENvbGxlY3Rpb25EZWx0YSA9IChcbiAgb2xkSGFzaENvbGxlY3Rpb246IEhhc2hDb2xsZWN0aW9uIHwgdW5kZWZpbmVkLFxuICBuZXdIYXNoQ29sbGVjdGlvbjogSGFzaENvbGxlY3Rpb25cbik6IEdldEZpbGVDaGFuZ2VzUmVzdWx0ID0+IHtcbiAgY29uc3QgcmVzdWx0OiBHZXRGaWxlQ2hhbmdlc1Jlc3VsdCA9IHtcbiAgICBoYXNDaGFuZ2VzOiBmYWxzZSxcbiAgICBjbGVhblJ1bjogZmFsc2UsXG4gICAgcmVtb3ZlZDogW10sXG4gICAgbW9kaWZpZWQ6IFtdLFxuICAgIHVubW9kaWZpZWQ6IFtdLFxuICAgIGFkZGVkOiBbXVxuICB9O1xuXG4gIGlmIChvbGRIYXNoQ29sbGVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmVzdWx0Lmhhc0NoYW5nZXMgPSB0cnVlO1xuICAgIHJlc3VsdC5jbGVhblJ1biA9IHRydWU7XG4gICAgcmVzdWx0LmFkZGVkID0gT2JqZWN0LmtleXMobmV3SGFzaENvbGxlY3Rpb24uaGFzaGVzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgaWYgKG9sZEhhc2hDb2xsZWN0aW9uLmhhc2hUeXBlICE9PSBuZXdIYXNoQ29sbGVjdGlvbi5oYXNoVHlwZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImhhc2ggdHlwZSBtaXN0bWF0Y2hcIik7XG4gIH1cblxuICBjb25zdCBvbGRIYXNoZXMgPSBvbGRIYXNoQ29sbGVjdGlvbi5oYXNoZXM7XG4gIGNvbnN0IG5ld0hhc2hlcyA9IG5ld0hhc2hDb2xsZWN0aW9uLmhhc2hlcztcblxuICBjb25zdCB1bmlvbiA9IG5ldyBTZXQ8c3RyaW5nPihbLi4uT2JqZWN0LmtleXMob2xkSGFzaGVzKSwgLi4uT2JqZWN0LmtleXMobmV3SGFzaGVzKV0pO1xuICBmb3IgKGNvbnN0IGUgb2YgdW5pb24pIHtcbiAgICBjb25zdCBvbGRIYXNoID0gb2xkSGFzaGVzW2VdO1xuICAgIGNvbnN0IG5ld0hhc2ggPSBuZXdIYXNoZXNbZV07XG4gICAgaWYgKG9sZEhhc2ggJiYgbmV3SGFzaCkge1xuICAgICAgaWYgKG9sZEhhc2guc2l6ZSA9PT0gbmV3SGFzaC5zaXplICYmIG9sZEhhc2guaGFzaCA9PT0gbmV3SGFzaC5oYXNoKSB7XG4gICAgICAgIHJlc3VsdC51bm1vZGlmaWVkLnB1c2goZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQuaGFzQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIHJlc3VsdC5tb2RpZmllZC5wdXNoKGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAob2xkSGFzaCkge1xuICAgICAgcmVzdWx0Lmhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgcmVzdWx0LnJlbW92ZWQucHVzaChlKTtcbiAgICB9IGVsc2UgaWYgKG5ld0hhc2gpIHtcbiAgICAgIHJlc3VsdC5oYXNDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgIHJlc3VsdC5hZGRlZC5wdXNoKGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJubyBvbGQgYW5kIG5vIG5ldyBoYXNoLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuXCIpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vKipcbiAqIFRyaWVzIHRvIGxvYWQgYSBoYXNoIGZpbGUuXG4gKiBAcGFyYW0gaGFzaEZpbGVQYXRoIFBhdGggdG8gdGhlIGhhc2ggZmlsZVxuICogQHJldHVybiB7UHJvbWlzZTxIYXNoQ29sbGVjdGlvbj59IFRoZSBoYXNoIGNvbGxlY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkSGFzaENvbGxlY3Rpb25GaWxlQXN5bmMgPSBhc3luYyAoXG4gIGhhc2hGaWxlUGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPEhhc2hDb2xsZWN0aW9uPiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxIYXNoQ29sbGVjdGlvbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGZzLnJlYWRGaWxlKGhhc2hGaWxlUGF0aCwgXCJ1dGY4XCIsIChlcnIsIGRhdGEpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmVzb2x2ZShKU09OLnBhcnNlKGRhdGEpKTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2F2ZUhhc2hDb2xsZWN0aW9uRmlsZUFzeW5jID0gYXN5bmMgKFxuICBoYXNoRmlsZVBhdGg6IHN0cmluZyxcbiAgaGFzaENvbGxlY3Rpb246IEhhc2hDb2xsZWN0aW9uXG4pID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBmcy53cml0ZUZpbGUoaGFzaEZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShoYXNoQ29sbGVjdGlvbiksIChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGFzaENvbGxlY3Rpb25GaWxlbmFtZSA9IChcbiAgc2NyaXB0Q29udGVudHM6IHN0cmluZyxcbiAgY29udGV4dE5hbWU6IHN0cmluZyxcbiAgaGFzaFR5cGU6IEhhc2hUeXBlXG4pID0+IHtcbiAgY29uc3QgaGFzaCA9IGNyeXB0b1xuICAgIC5jcmVhdGVIYXNoKGhhc2hUeXBlKVxuICAgIC51cGRhdGUoc2NyaXB0Q29udGVudHMgKyBjb250ZXh0TmFtZSArIGhhc2hUeXBlKVxuICAgIC5kaWdlc3QoXCJoZXhcIik7XG5cbiAgcmV0dXJuIHBhdGguam9pbihjYWNoZUZvbGRlck5hbWUsIGAke2hhc2h9Lmhhc2hgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDYWNoZUZvbGRlciA9ICgpID0+IHtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGNhY2hlRm9sZGVyTmFtZSkpIHtcbiAgICBmcy5ta2RpclN5bmMoY2FjaGVGb2xkZXJOYW1lKTtcbiAgfVxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvaGFzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQkE4TEE7O0FBOUxBLCtCQUFpQztBQUNqQyx1QkFBeUI7QUFDekIsMkJBQTZCO0FBbUJoQixRQUFBLGVBQWUsR0FBRyxjQUFjLENBQUM7QUFFakMsUUFBQSxzQkFBc0IsR0FBRyxVQUNwQyxRQUFnQixFQUNoQixRQUFrQixFQUNsQixRQUFpQjs7O1FBRVgsSUFBSSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdkIsSUFBSSxRQUFRLEVBQUU7WUFDWixzQkFBTztvQkFDTCxJQUFJLEVBQUUsSUFBSTtpQkFDWCxFQUFDO1NBQ0g7UUFFSyxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxNQUFNLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDLHNCQUFPLElBQUksT0FBTyxDQUFZLFVBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQUMsR0FBVTtvQkFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO2dCQUVILE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQUMsSUFBWTtvQkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2pCLElBQU0sU0FBUyxHQUFjO3dC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QUFHLFVBQ3ZDLGNBQXNCLEVBQ3RCLFdBQW1CLEVBQ25CLFFBQWtCO0lBRWxCLElBQU0sSUFBSSxHQUFHLE1BQU07U0FDaEIsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQixNQUFNLENBQUMsY0FBYyxHQUFHLFdBQVcsR0FBRyxRQUFRLENBQUM7U0FDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBZSxFQUFLLElBQUksVUFBTyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBRztJQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBZSxDQUFDLEVBQUU7UUFDbkMsRUFBRSxDQUFDLFNBQVMsQ0FBQyx1QkFBZSxDQUFDLENBQUM7S0FDL0I7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSBcImNyeXB0b1wiO1xyXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcclxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xyXG5pbXBvcnQgeyBHZXRGaWxlQ2hhbmdlc1Jlc3VsdCB9IGZyb20gXCIuLi9zY2hlbWEvcnVudGltZVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgSGFzaFR5cGUgPSBcInNoYTFcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGFzaEVudHJ5IHtcclxuICBoYXNoPzogc3RyaW5nO1xyXG4gIHNpemU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIYXNoZXMge1xyXG4gIFtwYXRoOiBzdHJpbmddOiBIYXNoRW50cnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGFzaENvbGxlY3Rpb24ge1xyXG4gIGhhc2hUeXBlOiBIYXNoVHlwZTtcclxuICBoYXNoZXM6IEhhc2hlcztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNhY2hlRm9sZGVyTmFtZSA9IFwiLm1ha2Z5LWNhY2hlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVIYXNoRW50cnlBc3luYyA9IGFzeW5jIChcclxuICBmaWxlUGF0aDogc3RyaW5nLFxyXG4gIGhhc2hUeXBlOiBIYXNoVHlwZSxcclxuICBvbmx5U2l6ZTogYm9vbGVhblxyXG4pOiBQcm9taXNlPEhhc2hFbnRyeT4gPT4ge1xyXG4gIGNvbnN0IHN0YXQgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XHJcbiAgY29uc3Qgc2l6ZSA9IHN0YXQuc2l6ZTtcclxuXHJcbiAgaWYgKG9ubHlTaXplKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzaXplOiBzaXplXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKGhhc2hUeXBlKTtcclxuICBjb25zdCBzdHJlYW0gPSBmcy5jcmVhdGVSZWFkU3RyZWFtKGZpbGVQYXRoKTtcclxuXHJcbiAgcmV0dXJuIG5ldyBQcm9taXNlPEhhc2hFbnRyeT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgc3RyZWFtLm9uY2UoXCJlcnJvclwiLCAoZXJyOiBFcnJvcikgPT4ge1xyXG4gICAgICByZWplY3QoZXJyKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHN0cmVhbS5vbihcImRhdGFcIiwgKGRhdGE6IEJ1ZmZlcikgPT4ge1xyXG4gICAgICBoYXNoLnVwZGF0ZShkYXRhKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHN0cmVhbS5vbmNlKFwiZW5kXCIsICgpID0+IHtcclxuICAgICAgY29uc3QgaGFzaEVudHJ5OiBIYXNoRW50cnkgPSB7XHJcbiAgICAgICAgaGFzaDogaGFzaC5kaWdlc3QoXCJiYXNlNjRcIiksXHJcbiAgICAgICAgc2l6ZTogc2l6ZVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmVzb2x2ZShoYXNoRW50cnkpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVIYXNoQ29sbGVjdGlvbkFzeW5jID0gYXN5bmMgKFxyXG4gIGZpbGVzOiBzdHJpbmdbXSxcclxuICBoYXNoVHlwZTogSGFzaFR5cGUsXHJcbiAgb25seVNpemU6IGJvb2xlYW5cclxuKTogUHJvbWlzZTxIYXNoQ29sbGVjdGlvbj4gPT4ge1xyXG4gIGNvbnN0IGhhc2hlczoge1xyXG4gICAgW2s6IHN0cmluZ106IEhhc2hFbnRyeTtcclxuICB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgaGFzaGVzW2ZpbGVdID0gYXdhaXQgZ2VuZXJhdGVIYXNoRW50cnlBc3luYyhmaWxlLCBoYXNoVHlwZSwgb25seVNpemUpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGhhc2hUeXBlOiBoYXNoVHlwZSxcclxuICAgIGhhc2hlczogaGFzaGVzXHJcbiAgfTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBHZXRzIGEgZGVsdGEgYmV0d2VlbiB0d28gaGFzaCBjb2xsZWN0aW9ucy5cclxuICogQHBhcmFtIG9sZEhhc2hDb2xsZWN0aW9uXHJcbiAqIEBwYXJhbSBuZXdIYXNoQ29sbGVjdGlvblxyXG4gKiBAcmV0dXJuIHtQcm9taXNlPEdldEZpbGVDaGFuZ2VzUmVzdWx0Pn1cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRIYXNoQ29sbGVjdGlvbkRlbHRhID0gKFxyXG4gIG9sZEhhc2hDb2xsZWN0aW9uOiBIYXNoQ29sbGVjdGlvbiB8IHVuZGVmaW5lZCxcclxuICBuZXdIYXNoQ29sbGVjdGlvbjogSGFzaENvbGxlY3Rpb25cclxuKTogR2V0RmlsZUNoYW5nZXNSZXN1bHQgPT4ge1xyXG4gIGNvbnN0IHJlc3VsdDogR2V0RmlsZUNoYW5nZXNSZXN1bHQgPSB7XHJcbiAgICBoYXNDaGFuZ2VzOiBmYWxzZSxcclxuICAgIGNsZWFuUnVuOiBmYWxzZSxcclxuICAgIHJlbW92ZWQ6IFtdLFxyXG4gICAgbW9kaWZpZWQ6IFtdLFxyXG4gICAgdW5tb2RpZmllZDogW10sXHJcbiAgICBhZGRlZDogW11cclxuICB9O1xyXG5cclxuICBpZiAob2xkSGFzaENvbGxlY3Rpb24gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgcmVzdWx0Lmhhc0NoYW5nZXMgPSB0cnVlO1xyXG4gICAgcmVzdWx0LmNsZWFuUnVuID0gdHJ1ZTtcclxuICAgIHJlc3VsdC5hZGRlZCA9IE9iamVjdC5rZXlzKG5ld0hhc2hDb2xsZWN0aW9uLmhhc2hlcyk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgaWYgKG9sZEhhc2hDb2xsZWN0aW9uLmhhc2hUeXBlICE9PSBuZXdIYXNoQ29sbGVjdGlvbi5oYXNoVHlwZSkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiaGFzaCB0eXBlIG1pc3RtYXRjaFwiKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IG9sZEhhc2hlcyA9IG9sZEhhc2hDb2xsZWN0aW9uLmhhc2hlcztcclxuICBjb25zdCBuZXdIYXNoZXMgPSBuZXdIYXNoQ29sbGVjdGlvbi5oYXNoZXM7XHJcblxyXG4gIGNvbnN0IHVuaW9uID0gbmV3IFNldDxzdHJpbmc+KFsuLi5PYmplY3Qua2V5cyhvbGRIYXNoZXMpLCAuLi5PYmplY3Qua2V5cyhuZXdIYXNoZXMpXSk7XHJcbiAgZm9yIChjb25zdCBlIG9mIHVuaW9uKSB7XHJcbiAgICBjb25zdCBvbGRIYXNoID0gb2xkSGFzaGVzW2VdO1xyXG4gICAgY29uc3QgbmV3SGFzaCA9IG5ld0hhc2hlc1tlXTtcclxuICAgIGlmIChvbGRIYXNoICYmIG5ld0hhc2gpIHtcclxuICAgICAgaWYgKG9sZEhhc2guc2l6ZSA9PT0gbmV3SGFzaC5zaXplICYmIG9sZEhhc2guaGFzaCA9PT0gbmV3SGFzaC5oYXNoKSB7XHJcbiAgICAgICAgcmVzdWx0LnVubW9kaWZpZWQucHVzaChlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXN1bHQuaGFzQ2hhbmdlcyA9IHRydWU7XHJcbiAgICAgICAgcmVzdWx0Lm1vZGlmaWVkLnB1c2goZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAob2xkSGFzaCkge1xyXG4gICAgICByZXN1bHQuaGFzQ2hhbmdlcyA9IHRydWU7XHJcbiAgICAgIHJlc3VsdC5yZW1vdmVkLnB1c2goZSk7XHJcbiAgICB9IGVsc2UgaWYgKG5ld0hhc2gpIHtcclxuICAgICAgcmVzdWx0Lmhhc0NoYW5nZXMgPSB0cnVlO1xyXG4gICAgICByZXN1bHQuYWRkZWQucHVzaChlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIm5vIG9sZCBhbmQgbm8gbmV3IGhhc2gsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW5cIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVzdWx0O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFRyaWVzIHRvIGxvYWQgYSBoYXNoIGZpbGUuXHJcbiAqIEBwYXJhbSBoYXNoRmlsZVBhdGggUGF0aCB0byB0aGUgaGFzaCBmaWxlXHJcbiAqIEByZXR1cm4ge1Byb21pc2U8SGFzaENvbGxlY3Rpb24+fSBUaGUgaGFzaCBjb2xsZWN0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGxvYWRIYXNoQ29sbGVjdGlvbkZpbGVBc3luYyA9IGFzeW5jIChcclxuICBoYXNoRmlsZVBhdGg6IHN0cmluZ1xyXG4pOiBQcm9taXNlPEhhc2hDb2xsZWN0aW9uPiA9PiB7XHJcbiAgcmV0dXJuIG5ldyBQcm9taXNlPEhhc2hDb2xsZWN0aW9uPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICBmcy5yZWFkRmlsZShoYXNoRmlsZVBhdGgsIFwidXRmOFwiLCAoZXJyLCBkYXRhKSA9PiB7XHJcbiAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICByZWplY3QoZXJyKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJlc29sdmUoSlNPTi5wYXJzZShkYXRhKSk7XHJcbiAgICB9KTtcclxuICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzYXZlSGFzaENvbGxlY3Rpb25GaWxlQXN5bmMgPSBhc3luYyAoXHJcbiAgaGFzaEZpbGVQYXRoOiBzdHJpbmcsXHJcbiAgaGFzaENvbGxlY3Rpb246IEhhc2hDb2xsZWN0aW9uXHJcbikgPT4ge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICBmcy53cml0ZUZpbGUoaGFzaEZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShoYXNoQ29sbGVjdGlvbiksIChlcnIpID0+IHtcclxuICAgICAgaWYgKGVycikge1xyXG4gICAgICAgIHJlamVjdChlcnIpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICByZXNvbHZlKCk7XHJcbiAgICB9KTtcclxuICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRIYXNoQ29sbGVjdGlvbkZpbGVuYW1lID0gKFxyXG4gIHNjcmlwdENvbnRlbnRzOiBzdHJpbmcsXHJcbiAgY29udGV4dE5hbWU6IHN0cmluZyxcclxuICBoYXNoVHlwZTogSGFzaFR5cGVcclxuKSA9PiB7XHJcbiAgY29uc3QgaGFzaCA9IGNyeXB0b1xyXG4gICAgLmNyZWF0ZUhhc2goaGFzaFR5cGUpXHJcbiAgICAudXBkYXRlKHNjcmlwdENvbnRlbnRzICsgY29udGV4dE5hbWUgKyBoYXNoVHlwZSlcclxuICAgIC5kaWdlc3QoXCJoZXhcIik7XHJcblxyXG4gIHJldHVybiBwYXRoLmpvaW4oY2FjaGVGb2xkZXJOYW1lLCBgJHtoYXNofS5oYXNoYCk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY3JlYXRlQ2FjaGVGb2xkZXIgPSAoKSA9PiB7XHJcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGNhY2hlRm9sZGVyTmFtZSkpIHtcclxuICAgIGZzLm1rZGlyU3luYyhjYWNoZUZvbGRlck5hbWUpO1xyXG4gIH1cclxufTtcclxuIl19

@@ -49,4 +49,4 @@ "use strict";

var chalk_1 = require("chalk");
var strip_ansi_1 = require("strip-ansi");
var sockets_1 = require("./sockets");
var stripColor = require("strip-ansi");
var OutputBuffer = /** @class */ (function () {

@@ -64,3 +64,3 @@ function OutputBuffer(_linePrefix, _socketConfig) {

OutputBuffer.prototype.writeString = function (type, str) {
if (stripColor(str).length > 0) {
if (strip_ansi_1.default(str).length > 0) {
this._output.push({

@@ -107,3 +107,3 @@ type: type,

}
if ((i === lines.length - 1 && stripColor(line).length <= 0) ||
if ((i === lines.length - 1 && strip_ansi_1.default(line).length <= 0) ||
(i === 0 && !lastEndedInNewLine)) {

@@ -120,3 +120,3 @@ prefixedLines.push(line);

_d.sent();
uncoloredText = stripColor(text);
uncoloredText = strip_ansi_1.default(text);
lastEndedInNewLine =

@@ -152,2 +152,2 @@ uncoloredText.length > 0 && uncoloredText[uncoloredText.length - 1] === "\n";

exports.OutputBuffer = OutputBuffer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0QnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi91dGlscy9PdXRwdXRCdWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQkFBMEI7QUFDMUIscUNBQWtEO0FBQ2xELHVDQUEwQztBQWMxQztJQUdFLHNCQUNtQixXQUFtQixFQUNuQixhQUF1QztRQUR2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFKbEQsWUFBTyxHQUF1QixFQUFFLENBQUM7SUFLdEMsQ0FBQztJQUVKLDRCQUFLLEdBQUwsVUFBTSxPQUF5QjtRQUM3QixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxrQ0FBVyxHQUFYLFVBQVksSUFBWSxFQUFFLEdBQVc7UUFDbkMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQzthQUMvQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFSyxpQ0FBVSxHQUFoQjs7Ozs7O3dCQUNRLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO3dCQUVoQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7Ozs7d0JBRWQsS0FBQSxTQUFBLElBQUksQ0FBQyxPQUFPLENBQUE7Ozs7d0JBQWpCLENBQUM7d0JBQ0osSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ3BCLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTs0QkFDckIsUUFBUSxHQUFHLElBQUksQ0FBQzs0QkFDaEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO3lCQUMzQjt3QkFFSyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ2hELElBQUksQ0FBQyxZQUFZLEVBQUU7NEJBQ2pCLHdCQUFTO3lCQUNWO3dCQUVPLE1BQU0sR0FBWSxZQUFZLE9BQXhCLEVBQUUsS0FBSyxHQUFLLFlBQVksTUFBakIsQ0FBa0I7d0JBRW5DLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFFbEMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUV6QixLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDeEIsYUFBYSxHQUFhLEVBQUUsQ0FBQzt3QkFDbkMsS0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFOzRCQUNqQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUNwQixJQUFJLEtBQUssRUFBRTtnQ0FDVCxJQUFJLEdBQUcsZUFBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7NkJBQ3hDOzRCQUNELElBQ0UsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7Z0NBQ3hELENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQ2hDO2dDQUNBLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7NkJBQzFCO2lDQUFNO2dDQUNMLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDOzZCQUN2Qzt5QkFDRjt3QkFFSyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdEMscUJBQU0sK0JBQXFCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFBOzt3QkFBekMsU0FBeUMsQ0FBQzt3QkFFcEMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdkMsa0JBQWtCOzRCQUNoQixhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUdqRixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzs7Ozs7S0FDbkI7SUFFRCw4QkFBTyxHQUFQO1FBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQTdFRCxJQTZFQztBQTdFWSxvQ0FBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTb2NrZXQgPSBOb2RlSlMuU29ja2V0O1xuaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuaW1wb3J0IHsgc29ja2V0Rmx1c2hXcml0ZUFzeW5jIH0gZnJvbSBcIi4vc29ja2V0c1wiO1xuaW1wb3J0IHN0cmlwQ29sb3IgPSByZXF1aXJlKFwic3RyaXAtYW5zaVwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBPdXRwdXRCdWZmZXJEYXRhIHtcbiAgdHlwZTogc3RyaW5nO1xuICBkYXRhOiBCdWZmZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0QnVmZmVyU29ja2V0Q29uZmlnIHtcbiAgW2lkOiBzdHJpbmddOiB7XG4gICAgc29ja2V0OiBTb2NrZXQ7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBPdXRwdXRCdWZmZXIge1xuICBwcml2YXRlIF9vdXRwdXQ6IE91dHB1dEJ1ZmZlckRhdGFbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xpbmVQcmVmaXg6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zb2NrZXRDb25maWc6IE91dHB1dEJ1ZmZlclNvY2tldENvbmZpZ1xuICApIHt9XG5cbiAgd3JpdGUoYnVmRGF0YTogT3V0cHV0QnVmZmVyRGF0YSkge1xuICAgIGlmIChidWZEYXRhLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fb3V0cHV0LnB1c2goYnVmRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVTdHJpbmcodHlwZTogc3RyaW5nLCBzdHI6IHN0cmluZykge1xuICAgIGlmIChzdHJpcENvbG9yKHN0cikubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fb3V0cHV0LnB1c2goe1xuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBkYXRhOiBCdWZmZXIuZnJvbShzdHIsIFwidXRmOFwiKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZmx1c2hBc3luYygpIHtcbiAgICBjb25zdCBsaW5lUHJlZml4ID0gdGhpcy5fbGluZVByZWZpeDtcblxuICAgIGxldCBsYXN0RW5kZWRJbk5ld0xpbmUgPSB0cnVlO1xuICAgIGxldCBsYXN0VHlwZTtcbiAgICBmb3IgKGNvbnN0IGIgb2YgdGhpcy5fb3V0cHV0KSB7XG4gICAgICBjb25zdCB0eXBlID0gYi50eXBlO1xuICAgICAgaWYgKHR5cGUgIT09IGxhc3RUeXBlKSB7XG4gICAgICAgIGxhc3RUeXBlID0gdHlwZTtcbiAgICAgICAgbGFzdEVuZGVkSW5OZXdMaW5lID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc29ja2V0Q29uZmlnID0gdGhpcy5fc29ja2V0Q29uZmlnW2IudHlwZV07XG4gICAgICBpZiAoIXNvY2tldENvbmZpZykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzb2NrZXQsIGNvbG9yIH0gPSBzb2NrZXRDb25maWc7XG5cbiAgICAgIGxldCBzdHIgPSBiLmRhdGEudG9TdHJpbmcoXCJ1dGY4XCIpO1xuXG4gICAgICBzdHIgPSBzdHIuc3BsaXQoXCJcXHJcIikuam9pbihcIlwiKTtcblxuICAgICAgY29uc3QgbGluZXMgPSBzdHIuc3BsaXQoXCJcXG5cIik7XG4gICAgICBjb25zdCBwcmVmaXhlZExpbmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgbGluZSA9IGxpbmVzW2ldO1xuICAgICAgICBpZiAoY29sb3IpIHtcbiAgICAgICAgICBsaW5lID0gY2hhbGsuYm9sZC5rZXl3b3JkKGNvbG9yKShsaW5lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgKGkgPT09IGxpbmVzLmxlbmd0aCAtIDEgJiYgc3RyaXBDb2xvcihsaW5lKS5sZW5ndGggPD0gMCkgfHxcbiAgICAgICAgICAoaSA9PT0gMCAmJiAhbGFzdEVuZGVkSW5OZXdMaW5lKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcmVmaXhlZExpbmVzLnB1c2gobGluZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJlZml4ZWRMaW5lcy5wdXNoKGxpbmVQcmVmaXggKyBsaW5lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCB0ZXh0ID0gcHJlZml4ZWRMaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgICAgYXdhaXQgc29ja2V0Rmx1c2hXcml0ZUFzeW5jKHNvY2tldCwgdGV4dCk7XG5cbiAgICAgIGNvbnN0IHVuY29sb3JlZFRleHQgPSBzdHJpcENvbG9yKHRleHQpO1xuICAgICAgbGFzdEVuZGVkSW5OZXdMaW5lID1cbiAgICAgICAgdW5jb2xvcmVkVGV4dC5sZW5ndGggPiAwICYmIHVuY29sb3JlZFRleHRbdW5jb2xvcmVkVGV4dC5sZW5ndGggLSAxXSA9PT0gXCJcXG5cIjtcbiAgICB9XG5cbiAgICB0aGlzLl9vdXRwdXQgPSBbXTtcbiAgfVxuXG4gIGhhc0RhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX291dHB1dC5sZW5ndGggPiAwO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0QnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi91dGlscy9PdXRwdXRCdWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQkFBMEI7QUFDMUIseUNBQW9DO0FBQ3BDLHFDQUFrRDtBQWNsRDtJQUdFLHNCQUNtQixXQUFtQixFQUNuQixhQUF1QztRQUR2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFKbEQsWUFBTyxHQUF1QixFQUFFLENBQUM7SUFLdEMsQ0FBQztJQUVKLDRCQUFLLEdBQUwsVUFBTSxPQUF5QjtRQUM3QixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxrQ0FBVyxHQUFYLFVBQVksSUFBWSxFQUFFLEdBQVc7UUFDbkMsSUFBSSxvQkFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7YUFDL0IsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUssaUNBQVUsR0FBaEI7Ozs7Ozt3QkFDUSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQzt3QkFFaEMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDOzs7O3dCQUVkLEtBQUEsU0FBQSxJQUFJLENBQUMsT0FBTyxDQUFBOzs7O3dCQUFqQixDQUFDO3dCQUNKLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNwQixJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7NEJBQ3JCLFFBQVEsR0FBRyxJQUFJLENBQUM7NEJBQ2hCLGtCQUFrQixHQUFHLElBQUksQ0FBQzt5QkFDM0I7d0JBRUssWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNoRCxJQUFJLENBQUMsWUFBWSxFQUFFOzRCQUNqQix3QkFBUzt5QkFDVjt3QkFFTyxNQUFNLEdBQVksWUFBWSxPQUF4QixFQUFFLEtBQUssR0FBSyxZQUFZLE1BQWpCLENBQWtCO3dCQUVuQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBRWxDLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFFekIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3hCLGFBQWEsR0FBYSxFQUFFLENBQUM7d0JBQ25DLEtBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTs0QkFDakMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDcEIsSUFBSSxLQUFLLEVBQUU7Z0NBQ1QsSUFBSSxHQUFHLGVBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDOzZCQUN4Qzs0QkFDRCxJQUNFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLG9CQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQ0FDeEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFDaEM7Z0NBQ0EsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs2QkFDMUI7aUNBQU07Z0NBQ0wsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUM7NkJBQ3ZDO3lCQUNGO3dCQUVLLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN0QyxxQkFBTSwrQkFBcUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUE7O3dCQUF6QyxTQUF5QyxDQUFDO3dCQUVwQyxhQUFhLEdBQUcsb0JBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdkMsa0JBQWtCOzRCQUNoQixhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUdqRixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzs7Ozs7S0FDbkI7SUFFRCw4QkFBTyxHQUFQO1FBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQTdFRCxJQTZFQztBQTdFWSxvQ0FBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTb2NrZXQgPSBOb2RlSlMuU29ja2V0O1xyXG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XHJcbmltcG9ydCBzdHJpcENvbG9yIGZyb20gXCJzdHJpcC1hbnNpXCI7XHJcbmltcG9ydCB7IHNvY2tldEZsdXNoV3JpdGVBc3luYyB9IGZyb20gXCIuL3NvY2tldHNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0QnVmZmVyRGF0YSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIGRhdGE6IEJ1ZmZlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPdXRwdXRCdWZmZXJTb2NrZXRDb25maWcge1xyXG4gIFtpZDogc3RyaW5nXToge1xyXG4gICAgc29ja2V0OiBTb2NrZXQ7XHJcbiAgICBjb2xvcj86IHN0cmluZztcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgT3V0cHV0QnVmZmVyIHtcclxuICBwcml2YXRlIF9vdXRwdXQ6IE91dHB1dEJ1ZmZlckRhdGFbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xpbmVQcmVmaXg6IHN0cmluZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NvY2tldENvbmZpZzogT3V0cHV0QnVmZmVyU29ja2V0Q29uZmlnXHJcbiAgKSB7fVxyXG5cclxuICB3cml0ZShidWZEYXRhOiBPdXRwdXRCdWZmZXJEYXRhKSB7XHJcbiAgICBpZiAoYnVmRGF0YS5kYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5fb3V0cHV0LnB1c2goYnVmRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVN0cmluZyh0eXBlOiBzdHJpbmcsIHN0cjogc3RyaW5nKSB7XHJcbiAgICBpZiAoc3RyaXBDb2xvcihzdHIpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5fb3V0cHV0LnB1c2goe1xyXG4gICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgICAgZGF0YTogQnVmZmVyLmZyb20oc3RyLCBcInV0ZjhcIilcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBmbHVzaEFzeW5jKCkge1xyXG4gICAgY29uc3QgbGluZVByZWZpeCA9IHRoaXMuX2xpbmVQcmVmaXg7XHJcblxyXG4gICAgbGV0IGxhc3RFbmRlZEluTmV3TGluZSA9IHRydWU7XHJcbiAgICBsZXQgbGFzdFR5cGU7XHJcbiAgICBmb3IgKGNvbnN0IGIgb2YgdGhpcy5fb3V0cHV0KSB7XHJcbiAgICAgIGNvbnN0IHR5cGUgPSBiLnR5cGU7XHJcbiAgICAgIGlmICh0eXBlICE9PSBsYXN0VHlwZSkge1xyXG4gICAgICAgIGxhc3RUeXBlID0gdHlwZTtcclxuICAgICAgICBsYXN0RW5kZWRJbk5ld0xpbmUgPSB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzb2NrZXRDb25maWcgPSB0aGlzLl9zb2NrZXRDb25maWdbYi50eXBlXTtcclxuICAgICAgaWYgKCFzb2NrZXRDb25maWcpIHtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgeyBzb2NrZXQsIGNvbG9yIH0gPSBzb2NrZXRDb25maWc7XHJcblxyXG4gICAgICBsZXQgc3RyID0gYi5kYXRhLnRvU3RyaW5nKFwidXRmOFwiKTtcclxuXHJcbiAgICAgIHN0ciA9IHN0ci5zcGxpdChcIlxcclwiKS5qb2luKFwiXCIpO1xyXG5cclxuICAgICAgY29uc3QgbGluZXMgPSBzdHIuc3BsaXQoXCJcXG5cIik7XHJcbiAgICAgIGNvbnN0IHByZWZpeGVkTGluZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgbGluZSA9IGxpbmVzW2ldO1xyXG4gICAgICAgIGlmIChjb2xvcikge1xyXG4gICAgICAgICAgbGluZSA9IGNoYWxrLmJvbGQua2V5d29yZChjb2xvcikobGluZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIChpID09PSBsaW5lcy5sZW5ndGggLSAxICYmIHN0cmlwQ29sb3IobGluZSkubGVuZ3RoIDw9IDApIHx8XHJcbiAgICAgICAgICAoaSA9PT0gMCAmJiAhbGFzdEVuZGVkSW5OZXdMaW5lKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgcHJlZml4ZWRMaW5lcy5wdXNoKGxpbmUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcmVmaXhlZExpbmVzLnB1c2gobGluZVByZWZpeCArIGxpbmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgdGV4dCA9IHByZWZpeGVkTGluZXMuam9pbihcIlxcblwiKTtcclxuICAgICAgYXdhaXQgc29ja2V0Rmx1c2hXcml0ZUFzeW5jKHNvY2tldCwgdGV4dCk7XHJcblxyXG4gICAgICBjb25zdCB1bmNvbG9yZWRUZXh0ID0gc3RyaXBDb2xvcih0ZXh0KTtcclxuICAgICAgbGFzdEVuZGVkSW5OZXdMaW5lID1cclxuICAgICAgICB1bmNvbG9yZWRUZXh0Lmxlbmd0aCA+IDAgJiYgdW5jb2xvcmVkVGV4dFt1bmNvbG9yZWRUZXh0Lmxlbmd0aCAtIDFdID09PSBcIlxcblwiO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX291dHB1dCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgaGFzRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9vdXRwdXQubGVuZ3RoID4gMDtcclxuICB9XHJcbn1cclxuIl19

@@ -39,2 +39,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcHJvbWlzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFhLFFBQUEsdUJBQXVCLEdBQUcsVUFDckMsV0FBbUI7SUFFbkIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQUMvQztJQUVELElBQU0sS0FBSyxHQUFtQixFQUFFLENBQUM7SUFDakMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBRXBCLElBQU0sSUFBSSxHQUFHO1FBQ1gsV0FBVyxFQUFFLENBQUM7UUFFZCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLElBQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7Z0JBQ3hCLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGLE9BQU8sVUFBQyxjQUFjO1FBQ3BCLE9BQUEsSUFBSSxPQUFPLENBQUksVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUM3QixJQUFNLEdBQUcsR0FBRztnQkFDVixXQUFXLEVBQUUsQ0FBQztnQkFFZCxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQ25CLFVBQUMsR0FBUTtvQkFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsSUFBSSxFQUFFLENBQUM7Z0JBQ1QsQ0FBQyxFQUNELFVBQUMsR0FBUTtvQkFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ1osSUFBSSxFQUFFLENBQUM7Z0JBQ1QsQ0FBQyxDQUNGLENBQUM7WUFDSixDQUFDLENBQUM7WUFFRixJQUFJLFdBQVcsR0FBRyxXQUFXLEVBQUU7Z0JBQzdCLEdBQUcsRUFBRSxDQUFDO2FBQ1A7aUJBQU07Z0JBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQztJQXJCRixDQXFCRSxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGxpbWl0UHJvbWlzZUNvbmN1cnJlbmN5ID0gPFQ+KFxuICBjb25jdXJyZW5jeTogbnVtYmVyXG4pOiAoKGZuOiAoKSA9PiBQcm9taXNlTGlrZTxUPikgPT4gUHJvbWlzZTxUPikgPT4ge1xuICBpZiAoY29uY3VycmVuY3kgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAnY29uY3VycmVuY3knIG11c3QgYmUgPj0gMWApO1xuICB9XG5cbiAgY29uc3QgcXVldWU6ICgoKSA9PiB2b2lkKVtdID0gW107XG4gIGxldCBhY3RpdmVDb3VudCA9IDA7XG5cbiAgY29uc3QgbmV4dCA9ICgpID0+IHtcbiAgICBhY3RpdmVDb3VudC0tO1xuXG4gICAgaWYgKHF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG5ld1J1biA9IHF1ZXVlLnNoaWZ0KCk7XG4gICAgICBpZiAobmV3UnVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbmV3UnVuKCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAod3JhcHBlZFByb21pc2UpID0+XG4gICAgbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgcnVuID0gKCkgPT4ge1xuICAgICAgICBhY3RpdmVDb3VudCsrO1xuXG4gICAgICAgIHdyYXBwZWRQcm9taXNlKCkudGhlbihcbiAgICAgICAgICAodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodmFsKTtcbiAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgaWYgKGFjdGl2ZUNvdW50IDwgY29uY3VycmVuY3kpIHtcbiAgICAgICAgcnVuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWV1ZS5wdXNoKHJ1bik7XG4gICAgICB9XG4gICAgfSk7XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcHJvbWlzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFhLFFBQUEsdUJBQXVCLEdBQUcsVUFDckMsV0FBbUI7SUFFbkIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQUMvQztJQUVELElBQU0sS0FBSyxHQUFtQixFQUFFLENBQUM7SUFDakMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBRXBCLElBQU0sSUFBSSxHQUFHO1FBQ1gsV0FBVyxFQUFFLENBQUM7UUFFZCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLElBQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7Z0JBQ3hCLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGLE9BQU8sVUFBQyxjQUFjO1FBQ3BCLE9BQUEsSUFBSSxPQUFPLENBQUksVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUM3QixJQUFNLEdBQUcsR0FBRztnQkFDVixXQUFXLEVBQUUsQ0FBQztnQkFFZCxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQ25CLFVBQUMsR0FBUTtvQkFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsSUFBSSxFQUFFLENBQUM7Z0JBQ1QsQ0FBQyxFQUNELFVBQUMsR0FBUTtvQkFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ1osSUFBSSxFQUFFLENBQUM7Z0JBQ1QsQ0FBQyxDQUNGLENBQUM7WUFDSixDQUFDLENBQUM7WUFFRixJQUFJLFdBQVcsR0FBRyxXQUFXLEVBQUU7Z0JBQzdCLEdBQUcsRUFBRSxDQUFDO2FBQ1A7aUJBQU07Z0JBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQztJQXJCRixDQXFCRSxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGxpbWl0UHJvbWlzZUNvbmN1cnJlbmN5ID0gPFQ+KFxyXG4gIGNvbmN1cnJlbmN5OiBudW1iZXJcclxuKTogKChmbjogKCkgPT4gUHJvbWlzZUxpa2U8VD4pID0+IFByb21pc2U8VD4pID0+IHtcclxuICBpZiAoY29uY3VycmVuY3kgPCAxKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCdjb25jdXJyZW5jeScgbXVzdCBiZSA+PSAxYCk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBxdWV1ZTogKCgpID0+IHZvaWQpW10gPSBbXTtcclxuICBsZXQgYWN0aXZlQ291bnQgPSAwO1xyXG5cclxuICBjb25zdCBuZXh0ID0gKCkgPT4ge1xyXG4gICAgYWN0aXZlQ291bnQtLTtcclxuXHJcbiAgICBpZiAocXVldWUubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBuZXdSdW4gPSBxdWV1ZS5zaGlmdCgpO1xyXG4gICAgICBpZiAobmV3UnVuICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBuZXdSdW4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHJldHVybiAod3JhcHBlZFByb21pc2UpID0+XHJcbiAgICBuZXcgUHJvbWlzZTxUPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHJ1biA9ICgpID0+IHtcclxuICAgICAgICBhY3RpdmVDb3VudCsrO1xyXG5cclxuICAgICAgICB3cmFwcGVkUHJvbWlzZSgpLnRoZW4oXHJcbiAgICAgICAgICAodmFsOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh2YWwpO1xyXG4gICAgICAgICAgICBuZXh0KCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJlamVjdChlcnIpO1xyXG4gICAgICAgICAgICBuZXh0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmIChhY3RpdmVDb3VudCA8IGNvbmN1cnJlbmN5KSB7XHJcbiAgICAgICAgcnVuKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcXVldWUucHVzaChydW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxufTtcclxuIl19

@@ -51,2 +51,2 @@ "use strict";

exports.escapeShell = escapeShell;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxlc2NhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzL3NoZWxsZXNjYXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBUyxjQUFjLENBQUMsSUFBWTtJQUNsQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztLQUN2RTtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQUFZO0lBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDcEMsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO0tBQzdDO1NBQU07UUFDTCxPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQztBQUVZLFFBQUEsT0FBTyxHQUFHLFVBQUMsS0FBZ0IsRUFBRSxJQUFZO0lBQ3BELElBQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzNDLElBQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTNDLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQztJQUMxQixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDbEQsc0JBQXNCO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtnQkFDekQsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFJLFlBQVksNkJBQTBCLENBQUMsQ0FBQzthQUM3RDtZQUVELHdCQUF3QjtZQUN4QixJQUFJLEdBQUcsTUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUcsQ0FBQztTQUN2QztLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixTQUFnQixXQUFXLENBQUMsS0FBZ0IsRUFBRSxhQUFnQztJQUM1RSxJQUFNLE1BQU0sR0FBRyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUVsRSxJQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7SUFFekIsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUU7UUFDckMsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDOUI7U0FBTTtRQUNMLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBQyxNQUFNO1lBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDdEI7QUFDSCxDQUFDO0FBYkQsa0NBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTaGVsbFR5cGUgPSBcInNoXCIgfCBcImNtZFwiO1xuXG5mdW5jdGlvbiBfZXNjYXBlU2hlbGxTaChwYXRoOiBzdHJpbmcpIHtcbiAgaWYgKCEvXltBLVphLXowLTlfXFwvLV0rJC8udGVzdChwYXRoKSkge1xuICAgIHJldHVybiAoXCInXCIgKyBwYXRoLnJlcGxhY2UoLycvZywgXCInXFxcIidcXFwiJ1wiKSArIFwiJ1wiKS5yZXBsYWNlKC8nJy9nLCBcIlwiKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxufVxuXG5mdW5jdGlvbiBfZXNjYXBlU2hlbGxDbWQocGF0aDogc3RyaW5nKSB7XG4gIGlmICghL15bQS1aYS16MC05X1xcLy1dKyQvLnRlc3QocGF0aCkpIHtcbiAgICByZXR1cm4gJ1wiJyArIHBhdGgucmVwbGFjZSgvXCIvZywgJ1wiXCInKSArICdcIic7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGZpeFBhdGggPSAoc2hlbGw6IFNoZWxsVHlwZSwgcGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG9sZFNlcCA9IHNoZWxsID09PSBcInNoXCIgPyBcIlxcXFxcIiA6IFwiL1wiO1xuICBjb25zdCBuZXdTZXAgPSBzaGVsbCA9PT0gXCJzaFwiID8gXCIvXCIgOiBcIlxcXFxcIjtcblxuICBjb25zdCBvcmlnaW5hbFBhdGggPSBwYXRoO1xuICBwYXRoID0gcGF0aC50cmltKCk7XG4gIHBhdGggPSBwYXRoLnNwbGl0KG9sZFNlcCkuam9pbihuZXdTZXApO1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiICYmIHNoZWxsID09PSBcInNoXCIpIHtcbiAgICAvLyBtb3N0IHByb2JhYmx5IG1pbmd3XG4gICAgaWYgKHBhdGguaW5jbHVkZXMoXCI6XCIpKSB7XG4gICAgICBpZiAocGF0aC5sZW5ndGggPCAyIHx8IHBhdGhbMV0gIT09IFwiOlwiIHx8IHBhdGhbMl0gIT09IFwiL1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7b3JpZ2luYWxQYXRofScgLSBwYXRoIGNhbm5vdCBiZSBmaXhlZGApO1xuICAgICAgfVxuXG4gICAgICAvLyBmcm9tIEM6XFwuLi4gdG8gL0MvLi4uXG4gICAgICBwYXRoID0gYC8ke3BhdGhbMF19JHtwYXRoLnN1YnN0cigyKX1gO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXRoO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVNoZWxsKHNoZWxsOiBTaGVsbFR5cGUsIHN0cmluZ09yQXJyYXk6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gIGNvbnN0IGVzY2FwZSA9IHNoZWxsID09PSBcImNtZFwiID8gX2VzY2FwZVNoZWxsQ21kIDogX2VzY2FwZVNoZWxsU2g7XG5cbiAgY29uc3QgcmV0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmICh0eXBlb2Ygc3RyaW5nT3JBcnJheSA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBlc2NhcGUoc3RyaW5nT3JBcnJheSk7XG4gIH0gZWxzZSB7XG4gICAgc3RyaW5nT3JBcnJheS5mb3JFYWNoKChtZW1iZXIpID0+IHtcbiAgICAgIHJldC5wdXNoKGVzY2FwZShtZW1iZXIpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmV0LmpvaW4oXCIgXCIpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxlc2NhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzL3NoZWxsZXNjYXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBUyxjQUFjLENBQUMsSUFBWTtJQUNsQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztLQUN2RTtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQUFZO0lBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDcEMsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO0tBQzdDO1NBQU07UUFDTCxPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQztBQUVZLFFBQUEsT0FBTyxHQUFHLFVBQUMsS0FBZ0IsRUFBRSxJQUFZO0lBQ3BELElBQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzNDLElBQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTNDLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQztJQUMxQixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDbEQsc0JBQXNCO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtnQkFDekQsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFJLFlBQVksNkJBQTBCLENBQUMsQ0FBQzthQUM3RDtZQUVELHdCQUF3QjtZQUN4QixJQUFJLEdBQUcsTUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUcsQ0FBQztTQUN2QztLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixTQUFnQixXQUFXLENBQUMsS0FBZ0IsRUFBRSxhQUFnQztJQUM1RSxJQUFNLE1BQU0sR0FBRyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUVsRSxJQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7SUFFekIsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUU7UUFDckMsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDOUI7U0FBTTtRQUNMLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBQyxNQUFNO1lBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDdEI7QUFDSCxDQUFDO0FBYkQsa0NBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTaGVsbFR5cGUgPSBcInNoXCIgfCBcImNtZFwiO1xyXG5cclxuZnVuY3Rpb24gX2VzY2FwZVNoZWxsU2gocGF0aDogc3RyaW5nKSB7XHJcbiAgaWYgKCEvXltBLVphLXowLTlfXFwvLV0rJC8udGVzdChwYXRoKSkge1xyXG4gICAgcmV0dXJuIChcIidcIiArIHBhdGgucmVwbGFjZSgvJy9nLCBcIidcXFwiJ1xcXCInXCIpICsgXCInXCIpLnJlcGxhY2UoLycnL2csIFwiXCIpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gcGF0aDtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIF9lc2NhcGVTaGVsbENtZChwYXRoOiBzdHJpbmcpIHtcclxuICBpZiAoIS9eW0EtWmEtejAtOV9cXC8tXSskLy50ZXN0KHBhdGgpKSB7XHJcbiAgICByZXR1cm4gJ1wiJyArIHBhdGgucmVwbGFjZSgvXCIvZywgJ1wiXCInKSArICdcIic7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBwYXRoO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGZpeFBhdGggPSAoc2hlbGw6IFNoZWxsVHlwZSwgcGF0aDogc3RyaW5nKSA9PiB7XHJcbiAgY29uc3Qgb2xkU2VwID0gc2hlbGwgPT09IFwic2hcIiA/IFwiXFxcXFwiIDogXCIvXCI7XHJcbiAgY29uc3QgbmV3U2VwID0gc2hlbGwgPT09IFwic2hcIiA/IFwiL1wiIDogXCJcXFxcXCI7XHJcblxyXG4gIGNvbnN0IG9yaWdpbmFsUGF0aCA9IHBhdGg7XHJcbiAgcGF0aCA9IHBhdGgudHJpbSgpO1xyXG4gIHBhdGggPSBwYXRoLnNwbGl0KG9sZFNlcCkuam9pbihuZXdTZXApO1xyXG4gIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSBcIndpbjMyXCIgJiYgc2hlbGwgPT09IFwic2hcIikge1xyXG4gICAgLy8gbW9zdCBwcm9iYWJseSBtaW5nd1xyXG4gICAgaWYgKHBhdGguaW5jbHVkZXMoXCI6XCIpKSB7XHJcbiAgICAgIGlmIChwYXRoLmxlbmd0aCA8IDIgfHwgcGF0aFsxXSAhPT0gXCI6XCIgfHwgcGF0aFsyXSAhPT0gXCIvXCIpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke29yaWdpbmFsUGF0aH0nIC0gcGF0aCBjYW5ub3QgYmUgZml4ZWRgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZnJvbSBDOlxcLi4uIHRvIC9DLy4uLlxyXG4gICAgICBwYXRoID0gYC8ke3BhdGhbMF19JHtwYXRoLnN1YnN0cigyKX1gO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhdGg7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlU2hlbGwoc2hlbGw6IFNoZWxsVHlwZSwgc3RyaW5nT3JBcnJheTogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuICBjb25zdCBlc2NhcGUgPSBzaGVsbCA9PT0gXCJjbWRcIiA/IF9lc2NhcGVTaGVsbENtZCA6IF9lc2NhcGVTaGVsbFNoO1xyXG5cclxuICBjb25zdCByZXQ6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGlmICh0eXBlb2Ygc3RyaW5nT3JBcnJheSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgcmV0dXJuIGVzY2FwZShzdHJpbmdPckFycmF5KTtcclxuICB9IGVsc2Uge1xyXG4gICAgc3RyaW5nT3JBcnJheS5mb3JFYWNoKChtZW1iZXIpID0+IHtcclxuICAgICAgcmV0LnB1c2goZXNjYXBlKG1lbWJlcikpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmV0LmpvaW4oXCIgXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=

@@ -57,2 +57,2 @@ "use strict";

}); };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvc29ja2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQkFZQTs7QUFWYSxRQUFBLHFCQUFxQixHQUFHLFVBQU8sTUFBYyxFQUFFLEdBQVc7OztvQkFDckUscUJBQU0sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO29CQUN4QixJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNsQyxJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLEVBQUUsQ0FBQztxQkFDWDt5QkFBTTt3QkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDL0I7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUE7O2dCQVBGLFNBT0UsQ0FBQzs7OztLQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU29ja2V0ID0gTm9kZUpTLlNvY2tldDtcblxuZXhwb3J0IGNvbnN0IHNvY2tldEZsdXNoV3JpdGVBc3luYyA9IGFzeW5jIChzb2NrZXQ6IFNvY2tldCwgc3RyOiBzdHJpbmcpID0+IHtcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBmbHVzaGVkID0gc29ja2V0LndyaXRlKHN0cik7XG4gICAgaWYgKGZsdXNoZWQpIHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc29ja2V0Lm9uY2UoXCJkcmFpblwiLCByZXNvbHZlKTtcbiAgICB9XG4gIH0pO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvc29ja2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQkFZQTs7QUFWYSxRQUFBLHFCQUFxQixHQUFHLFVBQU8sTUFBYyxFQUFFLEdBQVc7OztvQkFDckUscUJBQU0sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO29CQUN4QixJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNsQyxJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLEVBQUUsQ0FBQztxQkFDWDt5QkFBTTt3QkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDL0I7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUE7O2dCQVBGLFNBT0UsQ0FBQzs7OztLQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU29ja2V0ID0gTm9kZUpTLlNvY2tldDtcclxuXHJcbmV4cG9ydCBjb25zdCBzb2NrZXRGbHVzaFdyaXRlQXN5bmMgPSBhc3luYyAoc29ja2V0OiBTb2NrZXQsIHN0cjogc3RyaW5nKSA9PiB7XHJcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgIGNvbnN0IGZsdXNoZWQgPSBzb2NrZXQud3JpdGUoc3RyKTtcclxuICAgIGlmIChmbHVzaGVkKSB7XHJcbiAgICAgIHJlc29sdmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNvY2tldC5vbmNlKFwiZHJhaW5cIiwgcmVzb2x2ZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn07XHJcbiJdfQ==

@@ -17,2 +17,2 @@ "use strict";

exports.TextWriter = TextWriter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFdyaXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvVGV4dFdyaXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0lBQUE7UUFDRSxXQUFNLEdBQVcsRUFBRSxDQUFDO0lBVXRCLENBQUM7SUFSQywwQkFBSyxHQUFMLFVBQU0sR0FBWTtRQUNoQixJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELDhCQUFTLEdBQVQsVUFBVSxHQUFZO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBWEQsSUFXQztBQVhZLGdDQUFVIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRleHRXcml0ZXIge1xuICBvdXRwdXQ6IHN0cmluZyA9IFwiXCI7XG5cbiAgd3JpdGUoc3RyPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vdXRwdXQgKz0gc3RyID8gc3RyIDogXCJcIjtcbiAgfVxuXG4gIHdyaXRlTGluZShzdHI/OiBzdHJpbmcpIHtcbiAgICB0aGlzLndyaXRlKHN0cik7XG4gICAgdGhpcy53cml0ZShcIlxcblwiKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFdyaXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXRpbHMvVGV4dFdyaXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0lBQUE7UUFDRSxXQUFNLEdBQVcsRUFBRSxDQUFDO0lBVXRCLENBQUM7SUFSQywwQkFBSyxHQUFMLFVBQU0sR0FBWTtRQUNoQixJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELDhCQUFTLEdBQVQsVUFBVSxHQUFZO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBWEQsSUFXQztBQVhZLGdDQUFVIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRleHRXcml0ZXIge1xyXG4gIG91dHB1dDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgd3JpdGUoc3RyPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm91dHB1dCArPSBzdHIgPyBzdHIgOiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVMaW5lKHN0cj86IHN0cmluZykge1xyXG4gICAgdGhpcy53cml0ZShzdHIpO1xyXG4gICAgdGhpcy53cml0ZShcIlxcblwiKTtcclxuICB9XHJcbn1cclxuIl19

@@ -41,2 +41,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZUNoZWNraW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi91dGlscy90eXBlQ2hlY2tpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQWEsUUFBQSxRQUFRLEdBQUcsVUFBQyxHQUFRO0lBQy9CLE9BQU8sR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7QUFDakQsQ0FBQyxDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQUcsVUFBQyxJQUFTO0lBQ2xDLE9BQU8sT0FBTyxJQUFJLEtBQUssVUFBVSxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVXLFFBQUEsYUFBYSxHQUFHLFVBQUMsR0FBUTs7SUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDdkIsT0FBTyxLQUFLLENBQUM7S0FDZDs7UUFDRCxLQUFnQixJQUFBLFFBQUEsU0FBQSxHQUFHLENBQUEsd0JBQUEseUNBQUU7WUFBaEIsSUFBTSxDQUFDLGdCQUFBO1lBQ1YsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjs7Ozs7Ozs7O0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaXNPYmplY3QgPSAob2JqOiBhbnkpID0+IHtcbiAgcmV0dXJuIG9iaiAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRnVuY3Rpb24gPSAoZnVuYzogYW55KSA9PiB7XG4gIHJldHVybiB0eXBlb2YgZnVuYyA9PT0gXCJmdW5jdGlvblwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU3RyaW5nQXJyYXkgPSAoYXJyOiBhbnkpID0+IHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGFycikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZm9yIChjb25zdCBlIG9mIGFycikge1xuICAgIGlmICh0eXBlb2YgZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZUNoZWNraW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi91dGlscy90eXBlQ2hlY2tpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQWEsUUFBQSxRQUFRLEdBQUcsVUFBQyxHQUFRO0lBQy9CLE9BQU8sR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7QUFDakQsQ0FBQyxDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQUcsVUFBQyxJQUFTO0lBQ2xDLE9BQU8sT0FBTyxJQUFJLEtBQUssVUFBVSxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVXLFFBQUEsYUFBYSxHQUFHLFVBQUMsR0FBUTs7SUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDdkIsT0FBTyxLQUFLLENBQUM7S0FDZDs7UUFDRCxLQUFnQixJQUFBLFFBQUEsU0FBQSxHQUFHLENBQUEsd0JBQUEseUNBQUU7WUFBaEIsSUFBTSxDQUFDLGdCQUFBO1lBQ1YsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjs7Ozs7Ozs7O0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaXNPYmplY3QgPSAob2JqOiBhbnkpID0+IHtcclxuICByZXR1cm4gb2JqICE9PSBudWxsICYmIHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCI7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNGdW5jdGlvbiA9IChmdW5jOiBhbnkpID0+IHtcclxuICByZXR1cm4gdHlwZW9mIGZ1bmMgPT09IFwiZnVuY3Rpb25cIjtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1N0cmluZ0FycmF5ID0gKGFycjogYW55KSA9PiB7XHJcbiAgaWYgKCFBcnJheS5pc0FycmF5KGFycikpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgZm9yIChjb25zdCBlIG9mIGFycikge1xyXG4gICAgaWYgKHR5cGVvZiBlICE9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHRydWU7XHJcbn07XHJcbiJdfQ==
{
"name": "makfy",
"version": "1.4.0",
"version": "1.4.1",
"description": "makfy - npm scripts on steroids!",

@@ -37,21 +37,20 @@ "main": "dist/lib/index.js",

"devDependencies": {
"@types/node": "^10.9.4",
"@types/strip-ansi": "^3.0.0",
"@types/tmp": "0.0.33",
"@types/yargs": "^11.1.1",
"prettier": "^1.14.2",
"rimraf": "^2.6.1",
"tslint": "^5.5.0",
"tslint-config-prettier": "^1.15.0"
"@types/node": "^11.13.4",
"@types/tmp": "0.1.0",
"@types/yargs": "^13.0.0",
"prettier": "^1.17.0",
"rimraf": "^2.6.3",
"tslint": "^5.15.0",
"tslint-config-prettier": "^1.18.0"
},
"dependencies": {
"chalk": "^2.4.1",
"glob": "^7.1.2",
"jsonschema": "^1.1.1",
"chalk": "^2.4.2",
"glob": "^7.1.3",
"jsonschema": "^1.2.4",
"pretty-hrtime": "^1.0.3",
"strip-ansi": "^4.0.0",
"tmp": "^0.0.33",
"ts-node": "^7.0.1",
"typescript": "^3.0.3",
"yargs": "^12.0.2"
"strip-ansi": "^5.2.0",
"tmp": "^0.1.0",
"ts-node": "^8.0.3",
"typescript": "^3.4.3",
"yargs": "^13.2.2"
},

@@ -58,0 +57,0 @@ "yargs": {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc