@kontur.candy/tools 2.187.6 → 2.188.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -148,7 +148,7 @@ async function getPackageVersionsInReverseOrder(packageName) {
148
148
  return cachedResult;
149
149
  }
150
150
  const output = await new Promise((resolve, reject) => {
151
- const command = (process.platform === "linux" ? "unbuffer " : "") + `npm view ${packageName} versions --json`;
151
+ const command = (process.platform === "linux" ? "unbuffer " : "") + `npm view ${packageName} versions --no-progress --json`;
152
152
  (0, _shelljs.exec)(command, {
153
153
  async: true,
154
154
  silent: true
@@ -166,4 +166,4 @@ async function getPackageVersionsInReverseOrder(packageName) {
166
166
  packageVersionsCache.set(packageName, sortedVersions);
167
167
  return sortedVersions;
168
168
  }
169
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZW12ZXIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc2hlbGxqcyIsIl9TdGF0aWNMb2dnZXIiLCJfVmVyc2lvbiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImNhbmR5R2VuZXJhdG9yUGFja2FnZU5hbWUiLCJjYW5keUVuZ2luZVBhY2thZ2VOYW1lIiwiaXNTdGFibGVWZXJzaW9uIiwidmVyc2lvbiIsInBhcnNlZFZlcnNpb24iLCJwYXJzZSIsInVuZGVmaW5lZCIsInByZXJlbGVhc2UiLCJsZW5ndGgiLCJpc1ByZXJlbGVhc2VWZXJzaW9uV2l0aFByZUlkIiwicHJlaWQiLCJpc0VuZ2luZVZlcnNpb25FeGlzdHMiLCJnZXRQYWNrYWdlVmVyc2lvbnNJblJldmVyc2VPcmRlciIsImluY2x1ZGVzIiwiZ2V0TGFzdFN0YWJsZUVuZ2luZVZlcnNpb24iLCJzb3J0ZWRWZXJzaW9ucyIsIkVycm9yIiwiZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24iLCJnZXRMYXN0RW5naW5lUHJlcmVsZWFzZVZlcnNpb24iLCJnZXRMYXN0R2VuZXJhdG9yUHJlcmVsZWFzZVZlcnNpb24iLCJyZXNvbHZlR2VuZXJhdG9yVmVyc2lvbiIsInZlcnNpb25TcGVjIiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIiwiZ2V0U3VpdGFibGVWZXJzaW9uIiwid2l0aFByZWZpeCIsImxvZyIsImNhbmR5VmVyc2lvblNwZWNUb1N0cmluZyIsInR5cGUiLCJyZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UiLCJlbmdpbmVEaXJlY3RvcnkiLCJwYXRoIiwicmVzb2x2ZUxvY2FsRW5naW5lU291cmNlIiwicmVzb2x2ZUVuZ2luZVZlcnNpb24iLCJwYWNrYWdlTmFtZSIsImV4cGVjdGVkUHJlcmVsZWFzZSIsInByZUlkIiwicmVzdWx0IiwiZmluZCIsIngiLCJzYXRpc2ZpZXMiLCJnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uIiwidXNlUHJlcmVsZWFzZVZlcnNpb24iLCJwcmVyZWxlYXNlVmVyc2lvbiIsInBhY2thZ2VWZXJzaW9uc0NhY2hlIiwiTWFwIiwiY2FjaGVkUmVzdWx0Iiwib3V0cHV0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjb21tYW5kIiwicHJvY2VzcyIsInBsYXRmb3JtIiwiZXhlYyIsImFzeW5jIiwic2lsZW50IiwiY29kZSIsInN0ZG91dCIsInN0ZGVyciIsInZlcnNpb25zIiwiSlNPTiIsInRyaW0iLCJzb3J0IiwiY29tcGFyZSIsInJldmVyc2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwic2hlbGxqc1wiO1xuXG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuXG5pbXBvcnQgeyBFbmdpbmVTb3VyY2UgfSBmcm9tIFwiLi9FbmdpbmUvRW5naW5lU291cmNlXCI7XG5pbXBvcnQgeyBHZW5lcmF0b3JTb3VyY2UgfSBmcm9tIFwiLi9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7IENhbmR5VmVyc2lvblNwZWMsIGNhbmR5VmVyc2lvblNwZWNUb1N0cmluZyB9IGZyb20gXCIuL1ZlcnNpb25cIjtcblxuY29uc3QgY2FuZHlHZW5lcmF0b3JQYWNrYWdlTmFtZSA9IFwiQGtvbnR1ci5jYW5keS9nZW5lcmF0b3JcIjtcbmNvbnN0IGNhbmR5RW5naW5lUGFja2FnZU5hbWUgPSBcIkBrb250dXIuY2FuZHkvZW5naW5lXCI7XG5cbmZ1bmN0aW9uIGlzU3RhYmxlVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXJzZWRWZXJzaW9uID0gc2VtdmVyLnBhcnNlKHZlcnNpb24pO1xuICAgIGlmIChwYXJzZWRWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHsgcHJlcmVsZWFzZSB9ID0gcGFyc2VkVmVyc2lvbjtcbiAgICByZXR1cm4gcHJlcmVsZWFzZS5sZW5ndGggPT09IDA7XG59XG5cbmZ1bmN0aW9uIGlzUHJlcmVsZWFzZVZlcnNpb25XaXRoUHJlSWQodmVyc2lvbjogc3RyaW5nLCBwcmVpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcGFyc2VkVmVyc2lvbiA9IHNlbXZlci5wYXJzZSh2ZXJzaW9uKTtcbiAgICBpZiAocGFyc2VkVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IHByZXJlbGVhc2UgfSA9IHBhcnNlZFZlcnNpb247XG4gICAgcmV0dXJuIHByZXJlbGVhc2UubGVuZ3RoID4gMCAmJiBwcmVyZWxlYXNlWzBdID09PSBwcmVpZDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzRW5naW5lVmVyc2lvbkV4aXN0cyh2ZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IGdldFBhY2thZ2VWZXJzaW9uc0luUmV2ZXJzZU9yZGVyKGNhbmR5RW5naW5lUGFja2FnZU5hbWUpKS5pbmNsdWRlcyh2ZXJzaW9uKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc29ydGVkVmVyc2lvbnMgPSBhd2FpdCBnZXRQYWNrYWdlVmVyc2lvbnNJblJldmVyc2VPcmRlcihjYW5keUVuZ2luZVBhY2thZ2VOYW1lKTtcbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gb2Ygc29ydGVkVmVyc2lvbnMpIHtcbiAgICAgICAgaWYgKGlzU3RhYmxlVmVyc2lvbih2ZXJzaW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbGFzdCBzdGFibGUgZW5naW5lIHZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNvcnRlZFZlcnNpb25zID0gYXdhaXQgZ2V0UGFja2FnZVZlcnNpb25zSW5SZXZlcnNlT3JkZXIoY2FuZHlHZW5lcmF0b3JQYWNrYWdlTmFtZSk7XG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIG9mIHNvcnRlZFZlcnNpb25zKSB7XG4gICAgICAgIGlmIChpc1N0YWJsZVZlcnNpb24odmVyc2lvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIGxhc3Qgc3RhYmxlIGdlbmVyYXRvciB2ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TGFzdEVuZ2luZVByZXJlbGVhc2VWZXJzaW9uKHByZWlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNvcnRlZFZlcnNpb25zID0gYXdhaXQgZ2V0UGFja2FnZVZlcnNpb25zSW5SZXZlcnNlT3JkZXIoY2FuZHlFbmdpbmVQYWNrYWdlTmFtZSk7XG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIG9mIHNvcnRlZFZlcnNpb25zKSB7XG4gICAgICAgIGlmIChpc1ByZXJlbGVhc2VWZXJzaW9uV2l0aFByZUlkKHZlcnNpb24sIHByZWlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBwcmVyZWxlYXNlIGZvciBwcmU6JHtwcmVpZH0gZW5naW5lIHZlcnNpb25gKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExhc3RHZW5lcmF0b3JQcmVyZWxlYXNlVmVyc2lvbihwcmVpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzb3J0ZWRWZXJzaW9ucyA9IGF3YWl0IGdldFBhY2thZ2VWZXJzaW9uc0luUmV2ZXJzZU9yZGVyKGNhbmR5R2VuZXJhdG9yUGFja2FnZU5hbWUpO1xuICAgIGZvciAoY29uc3QgdmVyc2lvbiBvZiBzb3J0ZWRWZXJzaW9ucykge1xuICAgICAgICBpZiAoaXNQcmVyZWxlYXNlVmVyc2lvbldpdGhQcmVJZCh2ZXJzaW9uLCBwcmVpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgcHJlcmVsZWFzZSBmb3IgcHJlOiR7cHJlaWR9IGdlbmVyYXRvciB2ZXJzaW9uYCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbihcbiAgICB2ZXJzaW9uU3BlYzogQ2FuZHlWZXJzaW9uU3BlYyxcbiAgICBsb2dnZXI6IElMb2dnZXIgPSBnZXRMb2dnZXIoKVxuKTogUHJvbWlzZTxHZW5lcmF0b3JTb3VyY2U+IHtcbiAgICBjb25zdCB2ZXJzaW9uID0gYXdhaXQgZ2V0U3VpdGFibGVWZXJzaW9uKHZlcnNpb25TcGVjLCBjYW5keUdlbmVyYXRvclBhY2thZ2VOYW1lKTtcbiAgICBsb2dnZXIud2l0aFByZWZpeChcIkdFTkVSQVRPUlwiKS5sb2coYFJlc29sdmVkIHZlcnNpb24gJHtjYW5keVZlcnNpb25TcGVjVG9TdHJpbmcodmVyc2lvblNwZWMpfSB0byAke3ZlcnNpb259YCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJQdWJsaXNoZWRHZW5lcmF0b3JcIixcbiAgICAgICAgdmVyc2lvbjogdmVyc2lvbixcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBsb2dnZXI6IElMb2dnZXIgPSBnZXRMb2dnZXIoKSk6IEdlbmVyYXRvclNvdXJjZSB7XG4gICAgbG9nZ2VyLndpdGhQcmVmaXgoXCJHRU5FUkFUT1JcIikubG9nKGBSZXNvbHZlZCB2ZXJzaW9uICdsb2NhbCdgKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcIkdlbmVyYXRvclNvdXJjZXNcIixcbiAgICAgICAgcGF0aDogZW5naW5lRGlyZWN0b3J5LFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UoZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGxvZ2dlcjogSUxvZ2dlciA9IGdldExvZ2dlcigpKTogRW5naW5lU291cmNlIHtcbiAgICBsb2dnZXIud2l0aFByZWZpeChcIkVOR0lORVwiKS5sb2coYFJlc29sdmVkIHZlcnNpb24gJ2xvY2FsJ2ApO1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiTG9jYWxFbmdpbmVTb3VyY2VzXCIsXG4gICAgICAgIHBhdGg6IGVuZ2luZURpcmVjdG9yeSxcbiAgICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUVuZ2luZVZlcnNpb24oXG4gICAgdmVyc2lvblNwZWM6IENhbmR5VmVyc2lvblNwZWMsXG4gICAgbG9nZ2VyOiBJTG9nZ2VyID0gZ2V0TG9nZ2VyKClcbik6IFByb21pc2U8RW5naW5lU291cmNlPiB7XG4gICAgY29uc3QgdmVyc2lvbiA9IGF3YWl0IGdldFN1aXRhYmxlVmVyc2lvbih2ZXJzaW9uU3BlYywgY2FuZHlFbmdpbmVQYWNrYWdlTmFtZSk7XG4gICAgbG9nZ2VyLndpdGhQcmVmaXgoXCJFTkdJTkVcIikubG9nKGBSZXNvbHZlZCB2ZXJzaW9uICR7Y2FuZHlWZXJzaW9uU3BlY1RvU3RyaW5nKHZlcnNpb25TcGVjKX0gdG8gJHt2ZXJzaW9ufWApO1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiUHVibGlzaGVkRW5naW5lXCIsXG4gICAgICAgIHZlcnNpb246IHZlcnNpb24sXG4gICAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFN1aXRhYmxlVmVyc2lvbih2ZXJzaW9uU3BlYzogQ2FuZHlWZXJzaW9uU3BlYywgcGFja2FnZU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc29ydGVkVmVyc2lvbnMgPSBhd2FpdCBnZXRQYWNrYWdlVmVyc2lvbnNJblJldmVyc2VPcmRlcihwYWNrYWdlTmFtZSk7XG4gICAgaWYgKHZlcnNpb25TcGVjLnR5cGUgPT09IFwicHJlXCIpIHtcbiAgICAgICAgY29uc3QgZXhwZWN0ZWRQcmVyZWxlYXNlID0gdmVyc2lvblNwZWMucHJlSWQ7XG4gICAgICAgIGZvciAoY29uc3QgdmVyc2lvbiBvZiBzb3J0ZWRWZXJzaW9ucykge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkVmVyc2lvbiA9IHNlbXZlci5wYXJzZSh2ZXJzaW9uKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWRWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgeyBwcmVyZWxlYXNlIH0gPSBwYXJzZWRWZXJzaW9uO1xuICAgICAgICAgICAgaWYgKHByZXJlbGVhc2UubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGlmIChwcmVyZWxlYXNlWzBdID09PSBleHBlY3RlZFByZXJlbGVhc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFja2FnZSAke3BhY2thZ2VOYW1lfSBkb2VzIG5vdCBjb250YWlucyB2ZXJzaW9uIHNhdGlzZmllcyBwcmU6JHt2ZXJzaW9uU3BlYy5wcmVJZH1gKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gc29ydGVkVmVyc2lvbnMuZmluZCh4ID0+IHNlbXZlci5zYXRpc2ZpZXMoeCwgdmVyc2lvblNwZWMudmVyc2lvbikpO1xuICAgIGlmIChyZXN1bHQgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFja2FnZSAke3BhY2thZ2VOYW1lfSBkb2VzIG5vdCBjb250YWlucyB2ZXJzaW9uIHNhdGlzZmllcyAke3ZlcnNpb25TcGVjLnZlcnNpb259YCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uKHVzZVByZXJlbGVhc2VWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHByZXJlbGVhc2VWZXJzaW9uID0gYXdhaXQgZ2V0TGFzdEVuZ2luZVByZXJlbGVhc2VWZXJzaW9uKHVzZVByZXJlbGVhc2VWZXJzaW9uKTtcblxuICAgIHJldHVybiBwcmVyZWxlYXNlVmVyc2lvbiAhPSB1bmRlZmluZWQgPyBgcHJlOiR7dXNlUHJlcmVsZWFzZVZlcnNpb259YCA6IHVuZGVmaW5lZDtcbn1cblxuY29uc3QgcGFja2FnZVZlcnNpb25zQ2FjaGU6IE1hcDxzdHJpbmcsIHN0cmluZ1tdPiA9IG5ldyBNYXAoKTtcblxuYXN5bmMgZnVuY3Rpb24gZ2V0UGFja2FnZVZlcnNpb25zSW5SZXZlcnNlT3JkZXIocGFja2FnZU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBjYWNoZWRSZXN1bHQgPSBwYWNrYWdlVmVyc2lvbnNDYWNoZS5nZXQocGFja2FnZU5hbWUpO1xuICAgIGlmIChjYWNoZWRSZXN1bHQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBjYWNoZWRSZXN1bHQ7XG4gICAgfVxuICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBjb21tYW5kID0gKHByb2Nlc3MucGxhdGZvcm0gPT09IFwibGludXhcIiA/IFwidW5idWZmZXIgXCIgOiBcIlwiKSArIGBucG0gdmlldyAke3BhY2thZ2VOYW1lfSB2ZXJzaW9ucyAtLWpzb25gO1xuICAgICAgICBleGVjKGNvbW1hbmQsIHsgYXN5bmM6IHRydWUsIHNpbGVudDogdHJ1ZSB9LCAoY29kZSwgc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICAgICAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihzdGRlcnIpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShzdGRvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgIGNvbnN0IHZlcnNpb25zOiBzdHJpbmdbXSA9IEpTT04ucGFyc2Uob3V0cHV0LnRyaW0oKSk7XG4gICAgY29uc3Qgc29ydGVkVmVyc2lvbnMgPSB2ZXJzaW9ucy5zb3J0KHNlbXZlci5jb21wYXJlKS5yZXZlcnNlKCk7XG4gICAgcGFja2FnZVZlcnNpb25zQ2FjaGUuc2V0KHBhY2thZ2VOYW1lLCBzb3J0ZWRWZXJzaW9ucyk7XG4gICAgcmV0dXJuIHNv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
169
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZW12ZXIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc2hlbGxqcyIsIl9TdGF0aWNMb2dnZXIiLCJfVmVyc2lvbiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImNhbmR5R2VuZXJhdG9yUGFja2FnZU5hbWUiLCJjYW5keUVuZ2luZVBhY2thZ2VOYW1lIiwiaXNTdGFibGVWZXJzaW9uIiwidmVyc2lvbiIsInBhcnNlZFZlcnNpb24iLCJwYXJzZSIsInVuZGVmaW5lZCIsInByZXJlbGVhc2UiLCJsZW5ndGgiLCJpc1ByZXJlbGVhc2VWZXJzaW9uV2l0aFByZUlkIiwicHJlaWQiLCJpc0VuZ2luZVZlcnNpb25FeGlzdHMiLCJnZXRQYWNrYWdlVmVyc2lvbnNJblJldmVyc2VPcmRlciIsImluY2x1ZGVzIiwiZ2V0TGFzdFN0YWJsZUVuZ2luZVZlcnNpb24iLCJzb3J0ZWRWZXJzaW9ucyIsIkVycm9yIiwiZ2V0TGFzdFN0YWJsZUdlbmVyYXRvclZlcnNpb24iLCJnZXRMYXN0RW5naW5lUHJlcmVsZWFzZVZlcnNpb24iLCJnZXRMYXN0R2VuZXJhdG9yUHJlcmVsZWFzZVZlcnNpb24iLCJyZXNvbHZlR2VuZXJhdG9yVmVyc2lvbiIsInZlcnNpb25TcGVjIiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIiwiZ2V0U3VpdGFibGVWZXJzaW9uIiwid2l0aFByZWZpeCIsImxvZyIsImNhbmR5VmVyc2lvblNwZWNUb1N0cmluZyIsInR5cGUiLCJyZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UiLCJlbmdpbmVEaXJlY3RvcnkiLCJwYXRoIiwicmVzb2x2ZUxvY2FsRW5naW5lU291cmNlIiwicmVzb2x2ZUVuZ2luZVZlcnNpb24iLCJwYWNrYWdlTmFtZSIsImV4cGVjdGVkUHJlcmVsZWFzZSIsInByZUlkIiwicmVzdWx0IiwiZmluZCIsIngiLCJzYXRpc2ZpZXMiLCJnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uIiwidXNlUHJlcmVsZWFzZVZlcnNpb24iLCJwcmVyZWxlYXNlVmVyc2lvbiIsInBhY2thZ2VWZXJzaW9uc0NhY2hlIiwiTWFwIiwiY2FjaGVkUmVzdWx0Iiwib3V0cHV0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjb21tYW5kIiwicHJvY2VzcyIsInBsYXRmb3JtIiwiZXhlYyIsImFzeW5jIiwic2lsZW50IiwiY29kZSIsInN0ZG91dCIsInN0ZGVyciIsInZlcnNpb25zIiwiSlNPTiIsInRyaW0iLCJzb3J0IiwiY29tcGFyZSIsInJldmVyc2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwic2hlbGxqc1wiO1xuXG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuXG5pbXBvcnQgeyBFbmdpbmVTb3VyY2UgfSBmcm9tIFwiLi9FbmdpbmUvRW5naW5lU291cmNlXCI7XG5pbXBvcnQgeyBHZW5lcmF0b3JTb3VyY2UgfSBmcm9tIFwiLi9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7IENhbmR5VmVyc2lvblNwZWMsIGNhbmR5VmVyc2lvblNwZWNUb1N0cmluZyB9IGZyb20gXCIuL1ZlcnNpb25cIjtcblxuY29uc3QgY2FuZHlHZW5lcmF0b3JQYWNrYWdlTmFtZSA9IFwiQGtvbnR1ci5jYW5keS9nZW5lcmF0b3JcIjtcbmNvbnN0IGNhbmR5RW5naW5lUGFja2FnZU5hbWUgPSBcIkBrb250dXIuY2FuZHkvZW5naW5lXCI7XG5cbmZ1bmN0aW9uIGlzU3RhYmxlVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXJzZWRWZXJzaW9uID0gc2VtdmVyLnBhcnNlKHZlcnNpb24pO1xuICAgIGlmIChwYXJzZWRWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHsgcHJlcmVsZWFzZSB9ID0gcGFyc2VkVmVyc2lvbjtcbiAgICByZXR1cm4gcHJlcmVsZWFzZS5sZW5ndGggPT09IDA7XG59XG5cbmZ1bmN0aW9uIGlzUHJlcmVsZWFzZVZlcnNpb25XaXRoUHJlSWQodmVyc2lvbjogc3RyaW5nLCBwcmVpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcGFyc2VkVmVyc2lvbiA9IHNlbXZlci5wYXJzZSh2ZXJzaW9uKTtcbiAgICBpZiAocGFyc2VkVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IHByZXJlbGVhc2UgfSA9IHBhcnNlZFZlcnNpb247XG4gICAgcmV0dXJuIHByZXJlbGVhc2UubGVuZ3RoID4gMCAmJiBwcmVyZWxlYXNlWzBdID09PSBwcmVpZDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzRW5naW5lVmVyc2lvbkV4aXN0cyh2ZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IGdldFBhY2thZ2VWZXJzaW9uc0luUmV2ZXJzZU9yZGVyKGNhbmR5RW5naW5lUGFja2FnZU5hbWUpKS5pbmNsdWRlcyh2ZXJzaW9uKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExhc3RTdGFibGVFbmdpbmVWZXJzaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc29ydGVkVmVyc2lvbnMgPSBhd2FpdCBnZXRQYWNrYWdlVmVyc2lvbnNJblJldmVyc2VPcmRlcihjYW5keUVuZ2luZVBhY2thZ2VOYW1lKTtcbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gb2Ygc29ydGVkVmVyc2lvbnMpIHtcbiAgICAgICAgaWYgKGlzU3RhYmxlVmVyc2lvbih2ZXJzaW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbGFzdCBzdGFibGUgZW5naW5lIHZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMYXN0U3RhYmxlR2VuZXJhdG9yVmVyc2lvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNvcnRlZFZlcnNpb25zID0gYXdhaXQgZ2V0UGFja2FnZVZlcnNpb25zSW5SZXZlcnNlT3JkZXIoY2FuZHlHZW5lcmF0b3JQYWNrYWdlTmFtZSk7XG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIG9mIHNvcnRlZFZlcnNpb25zKSB7XG4gICAgICAgIGlmIChpc1N0YWJsZVZlcnNpb24odmVyc2lvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIGxhc3Qgc3RhYmxlIGdlbmVyYXRvciB2ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TGFzdEVuZ2luZVByZXJlbGVhc2VWZXJzaW9uKHByZWlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNvcnRlZFZlcnNpb25zID0gYXdhaXQgZ2V0UGFja2FnZVZlcnNpb25zSW5SZXZlcnNlT3JkZXIoY2FuZHlFbmdpbmVQYWNrYWdlTmFtZSk7XG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIG9mIHNvcnRlZFZlcnNpb25zKSB7XG4gICAgICAgIGlmIChpc1ByZXJlbGVhc2VWZXJzaW9uV2l0aFByZUlkKHZlcnNpb24sIHByZWlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBwcmVyZWxlYXNlIGZvciBwcmU6JHtwcmVpZH0gZW5naW5lIHZlcnNpb25gKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExhc3RHZW5lcmF0b3JQcmVyZWxlYXNlVmVyc2lvbihwcmVpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzb3J0ZWRWZXJzaW9ucyA9IGF3YWl0IGdldFBhY2thZ2VWZXJzaW9uc0luUmV2ZXJzZU9yZGVyKGNhbmR5R2VuZXJhdG9yUGFja2FnZU5hbWUpO1xuICAgIGZvciAoY29uc3QgdmVyc2lvbiBvZiBzb3J0ZWRWZXJzaW9ucykge1xuICAgICAgICBpZiAoaXNQcmVyZWxlYXNlVmVyc2lvbldpdGhQcmVJZCh2ZXJzaW9uLCBwcmVpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgcHJlcmVsZWFzZSBmb3IgcHJlOiR7cHJlaWR9IGdlbmVyYXRvciB2ZXJzaW9uYCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbihcbiAgICB2ZXJzaW9uU3BlYzogQ2FuZHlWZXJzaW9uU3BlYyxcbiAgICBsb2dnZXI6IElMb2dnZXIgPSBnZXRMb2dnZXIoKVxuKTogUHJvbWlzZTxHZW5lcmF0b3JTb3VyY2U+IHtcbiAgICBjb25zdCB2ZXJzaW9uID0gYXdhaXQgZ2V0U3VpdGFibGVWZXJzaW9uKHZlcnNpb25TcGVjLCBjYW5keUdlbmVyYXRvclBhY2thZ2VOYW1lKTtcbiAgICBsb2dnZXIud2l0aFByZWZpeChcIkdFTkVSQVRPUlwiKS5sb2coYFJlc29sdmVkIHZlcnNpb24gJHtjYW5keVZlcnNpb25TcGVjVG9TdHJpbmcodmVyc2lvblNwZWMpfSB0byAke3ZlcnNpb259YCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJQdWJsaXNoZWRHZW5lcmF0b3JcIixcbiAgICAgICAgdmVyc2lvbjogdmVyc2lvbixcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBsb2dnZXI6IElMb2dnZXIgPSBnZXRMb2dnZXIoKSk6IEdlbmVyYXRvclNvdXJjZSB7XG4gICAgbG9nZ2VyLndpdGhQcmVmaXgoXCJHRU5FUkFUT1JcIikubG9nKGBSZXNvbHZlZCB2ZXJzaW9uICdsb2NhbCdgKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcIkdlbmVyYXRvclNvdXJjZXNcIixcbiAgICAgICAgcGF0aDogZW5naW5lRGlyZWN0b3J5LFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UoZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGxvZ2dlcjogSUxvZ2dlciA9IGdldExvZ2dlcigpKTogRW5naW5lU291cmNlIHtcbiAgICBsb2dnZXIud2l0aFByZWZpeChcIkVOR0lORVwiKS5sb2coYFJlc29sdmVkIHZlcnNpb24gJ2xvY2FsJ2ApO1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiTG9jYWxFbmdpbmVTb3VyY2VzXCIsXG4gICAgICAgIHBhdGg6IGVuZ2luZURpcmVjdG9yeSxcbiAgICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUVuZ2luZVZlcnNpb24oXG4gICAgdmVyc2lvblNwZWM6IENhbmR5VmVyc2lvblNwZWMsXG4gICAgbG9nZ2VyOiBJTG9nZ2VyID0gZ2V0TG9nZ2VyKClcbik6IFByb21pc2U8RW5naW5lU291cmNlPiB7XG4gICAgY29uc3QgdmVyc2lvbiA9IGF3YWl0IGdldFN1aXRhYmxlVmVyc2lvbih2ZXJzaW9uU3BlYywgY2FuZHlFbmdpbmVQYWNrYWdlTmFtZSk7XG4gICAgbG9nZ2VyLndpdGhQcmVmaXgoXCJFTkdJTkVcIikubG9nKGBSZXNvbHZlZCB2ZXJzaW9uICR7Y2FuZHlWZXJzaW9uU3BlY1RvU3RyaW5nKHZlcnNpb25TcGVjKX0gdG8gJHt2ZXJzaW9ufWApO1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiUHVibGlzaGVkRW5naW5lXCIsXG4gICAgICAgIHZlcnNpb246IHZlcnNpb24sXG4gICAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFN1aXRhYmxlVmVyc2lvbih2ZXJzaW9uU3BlYzogQ2FuZHlWZXJzaW9uU3BlYywgcGFja2FnZU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc29ydGVkVmVyc2lvbnMgPSBhd2FpdCBnZXRQYWNrYWdlVmVyc2lvbnNJblJldmVyc2VPcmRlcihwYWNrYWdlTmFtZSk7XG4gICAgaWYgKHZlcnNpb25TcGVjLnR5cGUgPT09IFwicHJlXCIpIHtcbiAgICAgICAgY29uc3QgZXhwZWN0ZWRQcmVyZWxlYXNlID0gdmVyc2lvblNwZWMucHJlSWQ7XG4gICAgICAgIGZvciAoY29uc3QgdmVyc2lvbiBvZiBzb3J0ZWRWZXJzaW9ucykge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkVmVyc2lvbiA9IHNlbXZlci5wYXJzZSh2ZXJzaW9uKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWRWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgeyBwcmVyZWxlYXNlIH0gPSBwYXJzZWRWZXJzaW9uO1xuICAgICAgICAgICAgaWYgKHByZXJlbGVhc2UubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGlmIChwcmVyZWxlYXNlWzBdID09PSBleHBlY3RlZFByZXJlbGVhc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFja2FnZSAke3BhY2thZ2VOYW1lfSBkb2VzIG5vdCBjb250YWlucyB2ZXJzaW9uIHNhdGlzZmllcyBwcmU6JHt2ZXJzaW9uU3BlYy5wcmVJZH1gKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gc29ydGVkVmVyc2lvbnMuZmluZCh4ID0+IHNlbXZlci5zYXRpc2ZpZXMoeCwgdmVyc2lvblNwZWMudmVyc2lvbikpO1xuICAgIGlmIChyZXN1bHQgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFja2FnZSAke3BhY2thZ2VOYW1lfSBkb2VzIG5vdCBjb250YWlucyB2ZXJzaW9uIHNhdGlzZmllcyAke3ZlcnNpb25TcGVjLnZlcnNpb259YCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcmVyZWxlYXNlVmVyc2lvbkZvcm1Kc29uKHVzZVByZXJlbGVhc2VWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHByZXJlbGVhc2VWZXJzaW9uID0gYXdhaXQgZ2V0TGFzdEVuZ2luZVByZXJlbGVhc2VWZXJzaW9uKHVzZVByZXJlbGVhc2VWZXJzaW9uKTtcblxuICAgIHJldHVybiBwcmVyZWxlYXNlVmVyc2lvbiAhPSB1bmRlZmluZWQgPyBgcHJlOiR7dXNlUHJlcmVsZWFzZVZlcnNpb259YCA6IHVuZGVmaW5lZDtcbn1cblxuY29uc3QgcGFja2FnZVZlcnNpb25zQ2FjaGU6IE1hcDxzdHJpbmcsIHN0cmluZ1tdPiA9IG5ldyBNYXAoKTtcblxuYXN5bmMgZnVuY3Rpb24gZ2V0UGFja2FnZVZlcnNpb25zSW5SZXZlcnNlT3JkZXIocGFja2FnZU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBjYWNoZWRSZXN1bHQgPSBwYWNrYWdlVmVyc2lvbnNDYWNoZS5nZXQocGFja2FnZU5hbWUpO1xuICAgIGlmIChjYWNoZWRSZXN1bHQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBjYWNoZWRSZXN1bHQ7XG4gICAgfVxuICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBjb21tYW5kID1cbiAgICAgICAgICAgIChwcm9jZXNzLnBsYXRmb3JtID09PSBcImxpbnV4XCIgPyBcInVuYnVmZmVyIFwiIDogXCJcIikgKyBgbnBtIHZpZXcgJHtwYWNrYWdlTmFtZX0gdmVyc2lvbnMgLS1uby1wcm9ncmVzcyAtLWpzb25gO1xuICAgICAgICBleGVjKGNvbW1hbmQsIHsgYXN5bmM6IHRydWUsIHNpbGVudDogdHJ1ZSB9LCAoY29kZSwgc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICAgICAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihzdGRlcnIpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShzdGRvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgIGNvbnN0IHZlcnNpb25zOiBzdHJpbmdbXSA9IEpTT04ucGFyc2Uob3V0cHV0LnRyaW0oKSk7XG4gICAgY29uc3Qgc29ydGVkVmVyc2lvbnMgPSB2ZXJzaW9ucy5zb3J0KHNlbXZlci5jb21wYXJlKS5yZXZlcnNlKCk7XG4gICAgcGFja2FnZVZlcnNpb25zQ2FjaGUuc2V0KHBhY2thZ2VOYW1lLCBzb3J0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
@@ -1 +1 @@
1
- {"version":3,"file":"PublishedVersionUtils.js","names":["semver","_interopRequireWildcard","require","_shelljs","_StaticLogger","_Version","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","candyGeneratorPackageName","candyEnginePackageName","isStableVersion","version","parsedVersion","parse","undefined","prerelease","length","isPrereleaseVersionWithPreId","preid","isEngineVersionExists","getPackageVersionsInReverseOrder","includes","getLastStableEngineVersion","sortedVersions","Error","getLastStableGeneratorVersion","getLastEnginePrereleaseVersion","getLastGeneratorPrereleaseVersion","resolveGeneratorVersion","versionSpec","logger","getLogger","getSuitableVersion","withPrefix","log","candyVersionSpecToString","type","resolveLocalGeneratorSource","engineDirectory","path","resolveLocalEngineSource","resolveEngineVersion","packageName","expectedPrerelease","preId","result","find","x","satisfies","getPrereleaseVersionFormJson","usePrereleaseVersion","prereleaseVersion","packageVersionsCache","Map","cachedResult","output","Promise","resolve","reject","command","process","platform","exec","async","silent","code","stdout","stderr","versions","JSON","trim","sort","compare","reverse"],"sources":["../../../../src/BuildTasks/PublishedVersionUtils.ts"],"sourcesContent":["import * as semver from \"semver\";\nimport { exec } from \"shelljs\";\n\nimport { ILogger } from \"../Commons/Logging/ILogger\";\nimport { getLogger } from \"../Commons/Logging/StaticLogger\";\n\nimport { EngineSource } from \"./Engine/EngineSource\";\nimport { GeneratorSource } from \"./Generator/AcquireFormGenerator\";\nimport { CandyVersionSpec, candyVersionSpecToString } from \"./Version\";\n\nconst candyGeneratorPackageName = \"@kontur.candy/generator\";\nconst candyEnginePackageName = \"@kontur.candy/engine\";\n\nfunction isStableVersion(version: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length === 0;\n}\n\nfunction isPrereleaseVersionWithPreId(version: string, preid: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length > 0 && prerelease[0] === preid;\n}\n\nexport async function isEngineVersionExists(version: string): Promise<boolean> {\n return (await getPackageVersionsInReverseOrder(candyEnginePackageName)).includes(version);\n}\n\nexport async function getLastStableEngineVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable engine version\");\n}\n\nexport async function getLastStableGeneratorVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable generator version\");\n}\n\nexport async function getLastEnginePrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} engine version`);\n}\n\nexport async function getLastGeneratorPrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} generator version`);\n}\n\nexport async function resolveGeneratorVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<GeneratorSource> {\n const version = await getSuitableVersion(versionSpec, candyGeneratorPackageName);\n logger.withPrefix(\"GENERATOR\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedGenerator\",\n version: version,\n };\n}\n\nexport function resolveLocalGeneratorSource(engineDirectory: string, logger: ILogger = getLogger()): GeneratorSource {\n logger.withPrefix(\"GENERATOR\").log(`Resolved version 'local'`);\n return {\n type: \"GeneratorSources\",\n path: engineDirectory,\n };\n}\n\nexport function resolveLocalEngineSource(engineDirectory: string, logger: ILogger = getLogger()): EngineSource {\n logger.withPrefix(\"ENGINE\").log(`Resolved version 'local'`);\n return {\n type: \"LocalEngineSources\",\n path: engineDirectory,\n };\n}\n\nexport async function resolveEngineVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<EngineSource> {\n const version = await getSuitableVersion(versionSpec, candyEnginePackageName);\n logger.withPrefix(\"ENGINE\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedEngine\",\n version: version,\n };\n}\n\nexport async function getSuitableVersion(versionSpec: CandyVersionSpec, packageName: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(packageName);\n if (versionSpec.type === \"pre\") {\n const expectedPrerelease = versionSpec.preId;\n for (const version of sortedVersions) {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n continue;\n }\n const { prerelease } = parsedVersion;\n if (prerelease.length > 0) {\n if (prerelease[0] === expectedPrerelease) {\n return version;\n }\n }\n }\n throw new Error(`Package ${packageName} does not contains version satisfies pre:${versionSpec.preId}`);\n }\n const result = sortedVersions.find(x => semver.satisfies(x, versionSpec.version));\n if (result == undefined) {\n throw new Error(`Package ${packageName} does not contains version satisfies ${versionSpec.version}`);\n }\n return result;\n}\n\nexport async function getPrereleaseVersionFormJson(usePrereleaseVersion: string): Promise<string | undefined> {\n const prereleaseVersion = await getLastEnginePrereleaseVersion(usePrereleaseVersion);\n\n return prereleaseVersion != undefined ? `pre:${usePrereleaseVersion}` : undefined;\n}\n\nconst packageVersionsCache: Map<string, string[]> = new Map();\n\nasync function getPackageVersionsInReverseOrder(packageName: string): Promise<string[]> {\n const cachedResult = packageVersionsCache.get(packageName);\n if (cachedResult != undefined) {\n return cachedResult;\n }\n const output = await new Promise<string>((resolve, reject) => {\n const command = (process.platform === \"linux\" ? \"unbuffer \" : \"\") + `npm view ${packageName} versions --json`;\n exec(command, { async: true, silent: true }, (code, stdout, stderr) => {\n if (code !== 0) {\n reject(new Error(stderr));\n } else {\n resolve(stdout);\n }\n });\n });\n // tslint:disable-next-line no-unsafe-any\n const versions: string[] = JSON.parse(output.trim());\n const sortedVersions = versions.sort(semver.compare).reverse();\n packageVersionsCache.set(packageName, sortedVersions);\n return sortedVersions;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PublishedVersionUtils.js","names":["semver","_interopRequireWildcard","require","_shelljs","_StaticLogger","_Version","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","candyGeneratorPackageName","candyEnginePackageName","isStableVersion","version","parsedVersion","parse","undefined","prerelease","length","isPrereleaseVersionWithPreId","preid","isEngineVersionExists","getPackageVersionsInReverseOrder","includes","getLastStableEngineVersion","sortedVersions","Error","getLastStableGeneratorVersion","getLastEnginePrereleaseVersion","getLastGeneratorPrereleaseVersion","resolveGeneratorVersion","versionSpec","logger","getLogger","getSuitableVersion","withPrefix","log","candyVersionSpecToString","type","resolveLocalGeneratorSource","engineDirectory","path","resolveLocalEngineSource","resolveEngineVersion","packageName","expectedPrerelease","preId","result","find","x","satisfies","getPrereleaseVersionFormJson","usePrereleaseVersion","prereleaseVersion","packageVersionsCache","Map","cachedResult","output","Promise","resolve","reject","command","process","platform","exec","async","silent","code","stdout","stderr","versions","JSON","trim","sort","compare","reverse"],"sources":["../../../../src/BuildTasks/PublishedVersionUtils.ts"],"sourcesContent":["import * as semver from \"semver\";\nimport { exec } from \"shelljs\";\n\nimport { ILogger } from \"../Commons/Logging/ILogger\";\nimport { getLogger } from \"../Commons/Logging/StaticLogger\";\n\nimport { EngineSource } from \"./Engine/EngineSource\";\nimport { GeneratorSource } from \"./Generator/AcquireFormGenerator\";\nimport { CandyVersionSpec, candyVersionSpecToString } from \"./Version\";\n\nconst candyGeneratorPackageName = \"@kontur.candy/generator\";\nconst candyEnginePackageName = \"@kontur.candy/engine\";\n\nfunction isStableVersion(version: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length === 0;\n}\n\nfunction isPrereleaseVersionWithPreId(version: string, preid: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length > 0 && prerelease[0] === preid;\n}\n\nexport async function isEngineVersionExists(version: string): Promise<boolean> {\n return (await getPackageVersionsInReverseOrder(candyEnginePackageName)).includes(version);\n}\n\nexport async function getLastStableEngineVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable engine version\");\n}\n\nexport async function getLastStableGeneratorVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable generator version\");\n}\n\nexport async function getLastEnginePrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} engine version`);\n}\n\nexport async function getLastGeneratorPrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} generator version`);\n}\n\nexport async function resolveGeneratorVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<GeneratorSource> {\n const version = await getSuitableVersion(versionSpec, candyGeneratorPackageName);\n logger.withPrefix(\"GENERATOR\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedGenerator\",\n version: version,\n };\n}\n\nexport function resolveLocalGeneratorSource(engineDirectory: string, logger: ILogger = getLogger()): GeneratorSource {\n logger.withPrefix(\"GENERATOR\").log(`Resolved version 'local'`);\n return {\n type: \"GeneratorSources\",\n path: engineDirectory,\n };\n}\n\nexport function resolveLocalEngineSource(engineDirectory: string, logger: ILogger = getLogger()): EngineSource {\n logger.withPrefix(\"ENGINE\").log(`Resolved version 'local'`);\n return {\n type: \"LocalEngineSources\",\n path: engineDirectory,\n };\n}\n\nexport async function resolveEngineVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<EngineSource> {\n const version = await getSuitableVersion(versionSpec, candyEnginePackageName);\n logger.withPrefix(\"ENGINE\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedEngine\",\n version: version,\n };\n}\n\nexport async function getSuitableVersion(versionSpec: CandyVersionSpec, packageName: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(packageName);\n if (versionSpec.type === \"pre\") {\n const expectedPrerelease = versionSpec.preId;\n for (const version of sortedVersions) {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n continue;\n }\n const { prerelease } = parsedVersion;\n if (prerelease.length > 0) {\n if (prerelease[0] === expectedPrerelease) {\n return version;\n }\n }\n }\n throw new Error(`Package ${packageName} does not contains version satisfies pre:${versionSpec.preId}`);\n }\n const result = sortedVersions.find(x => semver.satisfies(x, versionSpec.version));\n if (result == undefined) {\n throw new Error(`Package ${packageName} does not contains version satisfies ${versionSpec.version}`);\n }\n return result;\n}\n\nexport async function getPrereleaseVersionFormJson(usePrereleaseVersion: string): Promise<string | undefined> {\n const prereleaseVersion = await getLastEnginePrereleaseVersion(usePrereleaseVersion);\n\n return prereleaseVersion != undefined ? `pre:${usePrereleaseVersion}` : undefined;\n}\n\nconst packageVersionsCache: Map<string, string[]> = new Map();\n\nasync function getPackageVersionsInReverseOrder(packageName: string): Promise<string[]> {\n const cachedResult = packageVersionsCache.get(packageName);\n if (cachedResult != undefined) {\n return cachedResult;\n }\n const output = await new Promise<string>((resolve, reject) => {\n const command =\n (process.platform === \"linux\" ? \"unbuffer \" : \"\") + `npm view ${packageName} versions --no-progress --json`;\n exec(command, { async: true, silent: true }, (code, stdout, stderr) => {\n if (code !== 0) {\n reject(new Error(stderr));\n } else {\n resolve(stdout);\n }\n });\n });\n // tslint:disable-next-line no-unsafe-any\n const versions: string[] = JSON.parse(output.trim());\n const sortedVersions = versions.sort(semver.compare).reverse();\n packageVersionsCache.set(packageName, sortedVersions);\n return sortedVersions;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,9 +14,9 @@ const nodejsVersion = {
14
14
  minor: versionArray[1] || 0,
15
15
  patch: versionArray[2] || 0
16
16
  };
17
- const checkNodeJsVersion = exports.checkNodeJsVersion = nodejsVersion.major > 9;
17
+ const checkNodeJsVersion = exports.checkNodeJsVersion = nodejsVersion.major >= 20;
18
18
  if (!checkNodeJsVersion) {
19
- const message = `Your version of NodeJS ${process.version} is outdated, expected version 10.x.x or greater
19
+ const message = `Your version of NodeJS ${process.version} is outdated, expected version 20.x.x or greater
20
20
  Please update the NodeJS from http://nodejs.org`;
21
21
  _ELKLogger.ELKLogger.error(message, {
22
22
  stackTrace: new Error().stack
@@ -29,4 +29,4 @@ Please update the NodeJS from http://nodejs.org`;
29
29
  margin: 3
30
30
  }));
31
31
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm94ZW4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9FTEtMb2dnZXIiLCJ2ZXJzaW9uQXJyYXkiLCJwcm9jZXNzIiwidmVyc2lvbiIsInJlcGxhY2UiLCJzcGxpdCIsIm1hcCIsIngiLCJwYXJzZUludCIsIm5vZGVqc1ZlcnNpb24iLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJjaGVja05vZGVKc1ZlcnNpb24iLCJleHBvcnRzIiwibWVzc2FnZSIsIkVMS0xvZ2dlciIsImVycm9yIiwic3RhY2tUcmFjZSIsIkVycm9yIiwic3RhY2siLCJjb25zb2xlIiwibG9nIiwiYm94ZW4iLCJib3JkZXJTdHlsZSIsImJvcmRlckNvbG9yIiwicGFkZGluZyIsIm1hcmdpbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DaGVja05vZGVKc1ZlcnNpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJveGVuIGZyb20gXCJib3hlblwiO1xuXG5pbXBvcnQgeyBFTEtMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvRUxLTG9nZ2VyXCI7XG5cbi8qIHRzbGludDpkaXNhYmxlOm5vLWNvbnNvbGUgKi9cbmNvbnN0IHZlcnNpb25BcnJheSA9IHByb2Nlc3MudmVyc2lvblxuICAgIC5yZXBsYWNlKC9bXjAtOS5dL2csIFwiXCIpXG4gICAgLnNwbGl0KFwiLlwiKVxuICAgIC5tYXAoeCA9PiBwYXJzZUludCh4LCAxMCkpO1xuXG5jb25zdCBub2RlanNWZXJzaW9uID0ge1xuICAgIG1ham9yOiB2ZXJzaW9uQXJyYXlbMF0gfHwgMCxcbiAgICBtaW5vcjogdmVyc2lvbkFycmF5WzFdIHx8IDAsXG4gICAgcGF0Y2g6IHZlcnNpb25BcnJheVsyXSB8fCAwLFxufTtcblxuZXhwb3J0IGNvbnN0IGNoZWNrTm9kZUpzVmVyc2lvbiA9IG5vZGVqc1ZlcnNpb24ubWFqb3IgPiA5O1xuXG5pZiAoIWNoZWNrTm9kZUpzVmVyc2lvbikge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBgWW91ciB2ZXJzaW9uIG9mIE5vZGVKUyAke3Byb2Nlc3MudmVyc2lvbn0gaXMgb3V0ZGF0ZWQsIGV4cGVjdGVkIHZlcnNpb24gMTAueC54IG9yIGdyZWF0ZXJcblBsZWFzZSB1cGRhdGUgdGhlIE5vZGVKUyBmcm9tIGh0dHA6Ly9ub2RlanMub3JnYDtcblxuICAgIEVMS0xvZ2dlci5lcnJvcihtZXNzYWdlLCB7IHN0YWNrVHJhY2U6IG5ldyBFcnJvcigpLnN0YWNrIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5sb2coYm94ZW4obWVzc2FnZSwgeyBib3JkZXJTdHlsZTogXCJkb3VibGVcIiwgYm9yZGVyQ29sb3I6IFwiZ3JlZW5cIiwgcGFkZGluZzogMiwgbWFyZ2luOiAzIH0pKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUVBO0FBQ0EsTUFBTUUsWUFBWSxHQUFHQyxPQUFPLENBQUNDLE9BQU8sQ0FDL0JDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQ3ZCQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ1ZDLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFJQyxRQUFRLENBQUNELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUU5QixNQUFNRSxhQUFhLEdBQUc7RUFDbEJDLEtBQUssRUFBRVQsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7RUFDM0JVLEtBQUssRUFBRVYsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7RUFDM0JXLEtBQUssRUFBRVgsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQzlCLENBQUM7QUFFTSxNQUFNWSxrQkFBa0IsR0FBQUMsT0FBQSxDQUFBRCxrQkFBQSxHQUFHSixhQUFhLENBQUNDLEtBQUssR0FBRyxDQUFDO0FBRXpELElBQUksQ0FBQ0csa0JBQWtCLEVBQUU7RUFDckIsTUFBTUUsT0FBTyxHQUFHLDBCQUEwQmIsT0FBTyxDQUFDQyxPQUFPO0FBQzdELGdEQUFnRDtFQUU1Q2Esb0JBQVMsQ0FBQ0MsS0FBSyxDQUFDRixPQUFPLEVBQUU7SUFBRUcsVUFBVSxFQUFFLElBQUlDLEtBQUssQ0FBQyxDQUFDLENBQUNDO0VBQU0sQ0FBQyxDQUFDO0VBQzNEO0VBQ0FDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLElBQUFDLGNBQUssRUFBQ1IsT0FBTyxFQUFFO0lBQUVTLFdBQVcsRUFBRSxRQUFRO0lBQUVDLFdBQVcsRUFBRSxPQUFPO0lBQUVDLE9BQU8sRUFBRSxDQUFDO0lBQUVDLE1BQU0sRUFBRTtFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZHIiwiaWdub3JlTGlzdCI6W119
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm94ZW4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9FTEtMb2dnZXIiLCJ2ZXJzaW9uQXJyYXkiLCJwcm9jZXNzIiwidmVyc2lvbiIsInJlcGxhY2UiLCJzcGxpdCIsIm1hcCIsIngiLCJwYXJzZUludCIsIm5vZGVqc1ZlcnNpb24iLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJjaGVja05vZGVKc1ZlcnNpb24iLCJleHBvcnRzIiwibWVzc2FnZSIsIkVMS0xvZ2dlciIsImVycm9yIiwic3RhY2tUcmFjZSIsIkVycm9yIiwic3RhY2siLCJjb25zb2xlIiwibG9nIiwiYm94ZW4iLCJib3JkZXJTdHlsZSIsImJvcmRlckNvbG9yIiwicGFkZGluZyIsIm1hcmdpbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DaGVja05vZGVKc1ZlcnNpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJveGVuIGZyb20gXCJib3hlblwiO1xuXG5pbXBvcnQgeyBFTEtMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvRUxLTG9nZ2VyXCI7XG5cbi8qIHRzbGludDpkaXNhYmxlOm5vLWNvbnNvbGUgKi9cbmNvbnN0IHZlcnNpb25BcnJheSA9IHByb2Nlc3MudmVyc2lvblxuICAgIC5yZXBsYWNlKC9bXjAtOS5dL2csIFwiXCIpXG4gICAgLnNwbGl0KFwiLlwiKVxuICAgIC5tYXAoeCA9PiBwYXJzZUludCh4LCAxMCkpO1xuXG5jb25zdCBub2RlanNWZXJzaW9uID0ge1xuICAgIG1ham9yOiB2ZXJzaW9uQXJyYXlbMF0gfHwgMCxcbiAgICBtaW5vcjogdmVyc2lvbkFycmF5WzFdIHx8IDAsXG4gICAgcGF0Y2g6IHZlcnNpb25BcnJheVsyXSB8fCAwLFxufTtcblxuZXhwb3J0IGNvbnN0IGNoZWNrTm9kZUpzVmVyc2lvbiA9IG5vZGVqc1ZlcnNpb24ubWFqb3IgPj0gMjA7XG5cbmlmICghY2hlY2tOb2RlSnNWZXJzaW9uKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGBZb3VyIHZlcnNpb24gb2YgTm9kZUpTICR7cHJvY2Vzcy52ZXJzaW9ufSBpcyBvdXRkYXRlZCwgZXhwZWN0ZWQgdmVyc2lvbiAyMC54Lnggb3IgZ3JlYXRlclxuUGxlYXNlIHVwZGF0ZSB0aGUgTm9kZUpTIGZyb20gaHR0cDovL25vZGVqcy5vcmdgO1xuXG4gICAgRUxLTG9nZ2VyLmVycm9yKG1lc3NhZ2UsIHsgc3RhY2tUcmFjZTogbmV3IEVycm9yKCkuc3RhY2sgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmxvZyhib3hlbihtZXNzYWdlLCB7IGJvcmRlclN0eWxlOiBcImRvdWJsZVwiLCBib3JkZXJDb2xvcjogXCJncmVlblwiLCBwYWRkaW5nOiAyLCBtYXJnaW46IDMgfSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRUE7QUFDQSxNQUFNRSxZQUFZLEdBQUdDLE9BQU8sQ0FBQ0MsT0FBTyxDQUMvQkMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FDdkJDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FDVkMsR0FBRyxDQUFDQyxDQUFDLElBQUlDLFFBQVEsQ0FBQ0QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRTlCLE1BQU1FLGFBQWEsR0FBRztFQUNsQkMsS0FBSyxFQUFFVCxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztFQUMzQlUsS0FBSyxFQUFFVixZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztFQUMzQlcsS0FBSyxFQUFFWCxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDOUIsQ0FBQztBQUVNLE1BQU1ZLGtCQUFrQixHQUFBQyxPQUFBLENBQUFELGtCQUFBLEdBQUdKLGFBQWEsQ0FBQ0MsS0FBSyxJQUFJLEVBQUU7QUFFM0QsSUFBSSxDQUFDRyxrQkFBa0IsRUFBRTtFQUNyQixNQUFNRSxPQUFPLEdBQUcsMEJBQTBCYixPQUFPLENBQUNDLE9BQU87QUFDN0QsZ0RBQWdEO0VBRTVDYSxvQkFBUyxDQUFDQyxLQUFLLENBQUNGLE9BQU8sRUFBRTtJQUFFRyxVQUFVLEVBQUUsSUFBSUMsS0FBSyxDQUFDLENBQUMsQ0FBQ0M7RUFBTSxDQUFDLENBQUM7RUFDM0Q7RUFDQUMsT0FBTyxDQUFDQyxHQUFHLENBQUMsSUFBQUMsY0FBSyxFQUFDUixPQUFPLEVBQUU7SUFBRVMsV0FBVyxFQUFFLFFBQVE7SUFBRUMsV0FBVyxFQUFFLE9BQU87SUFBRUMsT0FBTyxFQUFFLENBQUM7SUFBRUMsTUFBTSxFQUFFO0VBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkciLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"CheckNodeJsVersion.js","names":["_boxen","_interopRequireDefault","require","_ELKLogger","versionArray","process","version","replace","split","map","x","parseInt","nodejsVersion","major","minor","patch","checkNodeJsVersion","exports","message","ELKLogger","error","stackTrace","Error","stack","console","log","boxen","borderStyle","borderColor","padding","margin"],"sources":["../../../src/CheckNodeJsVersion.ts"],"sourcesContent":["import boxen from \"boxen\";\n\nimport { ELKLogger } from \"./Commons/Logging/ELKLogger\";\n\n/* tslint:disable:no-console */\nconst versionArray = process.version\n .replace(/[^0-9.]/g, \"\")\n .split(\".\")\n .map(x => parseInt(x, 10));\n\nconst nodejsVersion = {\n major: versionArray[0] || 0,\n minor: versionArray[1] || 0,\n patch: versionArray[2] || 0,\n};\n\nexport const checkNodeJsVersion = nodejsVersion.major > 9;\n\nif (!checkNodeJsVersion) {\n const message = `Your version of NodeJS ${process.version} is outdated, expected version 10.x.x or greater\nPlease update the NodeJS from http://nodejs.org`;\n\n ELKLogger.error(message, { stackTrace: new Error().stack });\n // eslint-disable-next-line no-console\n console.log(boxen(message, { borderStyle: \"double\", borderColor: \"green\", padding: 2, margin: 3 }));\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA,MAAME,YAAY,GAAGC,OAAO,CAACC,OAAO,CAC/BC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CACvBC,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAACC,CAAC,IAAIC,QAAQ,CAACD,CAAC,EAAE,EAAE,CAAC,CAAC;AAE9B,MAAME,aAAa,GAAG;EAClBC,KAAK,EAAET,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;EAC3BU,KAAK,EAAEV,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;EAC3BW,KAAK,EAAEX,YAAY,CAAC,CAAC,CAAC,IAAI;AAC9B,CAAC;AAEM,MAAMY,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGJ,aAAa,CAACC,KAAK,GAAG,CAAC;AAEzD,IAAI,CAACG,kBAAkB,EAAE;EACrB,MAAME,OAAO,GAAG,0BAA0Bb,OAAO,CAACC,OAAO;AAC7D,gDAAgD;EAE5Ca,oBAAS,CAACC,KAAK,CAACF,OAAO,EAAE;IAAEG,UAAU,EAAE,IAAIC,KAAK,CAAC,CAAC,CAACC;EAAM,CAAC,CAAC;EAC3D;EACAC,OAAO,CAACC,GAAG,CAAC,IAAAC,cAAK,EAACR,OAAO,EAAE;IAAES,WAAW,EAAE,QAAQ;IAAEC,WAAW,EAAE,OAAO;IAAEC,OAAO,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,CAAC,CAAC;AACvG","ignoreList":[]}
1
+ {"version":3,"file":"CheckNodeJsVersion.js","names":["_boxen","_interopRequireDefault","require","_ELKLogger","versionArray","process","version","replace","split","map","x","parseInt","nodejsVersion","major","minor","patch","checkNodeJsVersion","exports","message","ELKLogger","error","stackTrace","Error","stack","console","log","boxen","borderStyle","borderColor","padding","margin"],"sources":["../../../src/CheckNodeJsVersion.ts"],"sourcesContent":["import boxen from \"boxen\";\n\nimport { ELKLogger } from \"./Commons/Logging/ELKLogger\";\n\n/* tslint:disable:no-console */\nconst versionArray = process.version\n .replace(/[^0-9.]/g, \"\")\n .split(\".\")\n .map(x => parseInt(x, 10));\n\nconst nodejsVersion = {\n major: versionArray[0] || 0,\n minor: versionArray[1] || 0,\n patch: versionArray[2] || 0,\n};\n\nexport const checkNodeJsVersion = nodejsVersion.major >= 20;\n\nif (!checkNodeJsVersion) {\n const message = `Your version of NodeJS ${process.version} is outdated, expected version 20.x.x or greater\nPlease update the NodeJS from http://nodejs.org`;\n\n ELKLogger.error(message, { stackTrace: new Error().stack });\n // eslint-disable-next-line no-console\n console.log(boxen(message, { borderStyle: \"double\", borderColor: \"green\", padding: 2, margin: 3 }));\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA,MAAME,YAAY,GAAGC,OAAO,CAACC,OAAO,CAC/BC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CACvBC,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAACC,CAAC,IAAIC,QAAQ,CAACD,CAAC,EAAE,EAAE,CAAC,CAAC;AAE9B,MAAME,aAAa,GAAG;EAClBC,KAAK,EAAET,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;EAC3BU,KAAK,EAAEV,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;EAC3BW,KAAK,EAAEX,YAAY,CAAC,CAAC,CAAC,IAAI;AAC9B,CAAC;AAEM,MAAMY,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGJ,aAAa,CAACC,KAAK,IAAI,EAAE;AAE3D,IAAI,CAACG,kBAAkB,EAAE;EACrB,MAAME,OAAO,GAAG,0BAA0Bb,OAAO,CAACC,OAAO;AAC7D,gDAAgD;EAE5Ca,oBAAS,CAACC,KAAK,CAACF,OAAO,EAAE;IAAEG,UAAU,EAAE,IAAIC,KAAK,CAAC,CAAC,CAACC;EAAM,CAAC,CAAC;EAC3D;EACAC,OAAO,CAACC,GAAG,CAAC,IAAAC,cAAK,EAACR,OAAO,EAAE;IAAES,WAAW,EAAE,QAAQ;IAAEC,WAAW,EAAE,OAAO;IAAEC,OAAO,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,CAAC,CAAC;AACvG","ignoreList":[]}
@@ -65,7 +65,7 @@ async function getCandyToolUpdateVersion() {
65
65
  let output;
66
66
  try {
67
67
  output = await new Promise((resolve, reject) => {
68
- (0, _shelljs.exec)((process.platform === "linux" ? "unbuffer " : "") + `npm view @kontur.candy/tools versions --json`, {
68
+ (0, _shelljs.exec)((process.platform === "linux" ? "unbuffer " : "") + `npm view @kontur.candy/tools versions --json --no-progress`, {
69
69
  async: true,
70
70
  silent: true
71
71
  }, (code, stdout, stderr) => {
@@ -112,4 +112,4 @@ function getMajorOrMinorIncremented(currentVersion, availableVersions) {
112
112
  function isNotNullOrUndefined(input) {
113
113
  return input != undefined;
114
114
  }
115
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2JveGVuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9mc0V4dHJhIiwiX3NlbXZlciIsIl9zaGVsbGpzIiwiX1R5cGluZ1V0aWxzIiwiX0VMS0xvZ2dlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInNlbGZVcGRhdGVXaXRoQ2FsbGJhY2siLCJjYWxsYmFjayIsInJ1bkFzeW5jQWN0aW9uIiwic2VsZlVwZGF0ZSIsInByb2Nlc3MiLCJhcmd2IiwiaW5jbHVkZXMiLCJzdGRvdXQiLCJ3cml0ZSIsInZlcnNpb25Ub1VwZGF0ZSIsImdldENhbmR5VG9vbFVwZGF0ZVZlcnNpb24iLCJ1bmRlZmluZWQiLCJtZXNzYWdlIiwiY29uc29sZSIsImxvZyIsImJveGVuIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJDb2xvciIsInBhZGRpbmciLCJtYXJnaW4iLCJleGVjIiwicGxhdGZvcm0iLCJFcnJvciIsIkVMS0xvZ2dlciIsImVycm9yIiwic3RhY2tUcmFjZSIsInN0YWNrIiwid2FybiIsImdldEN1cnJlbnRWZXJzaW9uIiwicmVhZEpzb24iLCJqb2luIiwiX19kaXJuYW1lIiwidmVyc2lvbiIsImN1cnJlbnRWZXJzaW9uIiwib3V0cHV0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhc3luYyIsInNpbGVudCIsImNvZGUiLCJzdGRlcnIiLCJhdmFpbGFibGVWZXJzaW9ucyIsIkpTT04iLCJwYXJzZSIsImdldE1ham9yT3JNaW5vckluY3JlbWVudGVkIiwiY3VycmVudCIsInByZXJlbGVhc2UiLCJsZW5ndGgiLCJyZXN1bHQiLCJtYXAiLCJ4IiwiZmlsdGVyIiwiaXNOb3ROdWxsT3JVbmRlZmluZWQiLCJzb3J0IiwiY29tcGFyZSIsInJldmVyc2UiLCJmaW5kIiwibWFqb3IiLCJtaW5vciIsImZvcm1hdCIsImlucHV0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1NlbGZVcGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgYm94ZW4gZnJvbSBcImJveGVuXCI7XG5pbXBvcnQgeyByZWFkSnNvbiB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgY29tcGFyZSwgcGFyc2UgfSBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBleGVjIH0gZnJvbSBcInNoZWxsanNcIjtcblxuaW1wb3J0IHsgcnVuQXN5bmNBY3Rpb24gfSBmcm9tIFwiLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5cbmltcG9ydCB7IEVMS0xvZ2dlciB9IGZyb20gXCIuL0NvbW1vbnMvTG9nZ2luZy9FTEtMb2dnZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGZVcGRhdGVXaXRoQ2FsbGJhY2soY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBydW5Bc3luY0FjdGlvbihhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHNlbGZVcGRhdGUoKTtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2VsZlVwZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAocHJvY2Vzcy5hcmd2LmluY2x1ZGVzKFwiLS1kZXZlbG9wbWVudC1tb2RlXCIpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoXCJDaGVja2luZyBmb3IgdXBkYXRlcy4uLiBcIik7XG4gICAgICAgIGNvbnN0IHZlcnNpb25Ub1VwZGF0ZSA9IGF3YWl0IGdldENhbmR5VG9vbFVwZGF0ZVZlcnNpb24oKTtcbiAgICAgICAgaWYgKHZlcnNpb25Ub1VwZGF0ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBcImNhbmR5INC+0LHQvdC+0LLQu9GP0LXRgtGB0Y8uINCf0L7QttCw0LvRg9C50YHRgtCwLCDQvdC1INC30LDQutGA0YvQstCw0LnRgtC1INC60L7QvdGB0L7Qu9GMLiDQrdGC0L4g0LzQvtC20LXRgiDQt9Cw0L3Rj9GC0Ywg0L3QtdC60L7RgtC+0YDQvtC1INCy0YDQtdC80Y8uXCI7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhib3hlbihtZXNzYWdlLCB7IGJvcmRlclN0eWxlOiBcImRvdWJsZVwiLCBib3JkZXJDb2xvcjogXCJncmVlblwiLCBwYWRkaW5nOiAyLCBtYXJnaW46IDIgfSkpO1xuICAgICAgICAgICAgZXhlYygocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJsaW51eFwiID8gXCJ1bmJ1ZmZlciBcIiA6IFwiXCIpICsgYG5wbSBpIC1nIEBrb250dXIuY2FuZHkvdG9vbHNAJHt2ZXJzaW9uVG9VcGRhdGV9YCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgVXBkYXRlZCB0byAke3ZlcnNpb25Ub1VwZGF0ZX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQWxsIHVwIHRvIGRhdGUuXCIpO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICBFTEtMb2dnZXIuZXJyb3IoXCJGYWlsZWQgdG8gY2hlY2sgZm9yIHVwZGF0ZXNcIiwgeyBzdGFja1RyYWNlOiBlLnN0YWNrIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybihcIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcIik7XG4gICAgICAgIGNvbnNvbGUud2FybihcIiogRmFpbGVkIHRvIGNoZWNrIGZvciB1cGRhdGVzICAgICAgICAgICAgICAgICpcIik7XG4gICAgICAgIGNvbnNvbGUud2FybihcIiogUGxlYXNlIHJlcG9ydCB0byBkZXZlbG9wZXJzICAgICAgICAgICAgICAgICpcIik7XG4gICAgICAgIGNvbnNvbGUud2FybihcIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcIik7XG4gICAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q3VycmVudFZlcnNpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICByZXR1cm4gKGF3YWl0IHJlYWRKc29uKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwicGFja2FnZS5qc29uXCIpKSkudmVyc2lvbjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q2FuZHlUb29sVXBkYXRlVmVyc2lvbigpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGN1cnJlbnRWZXJzaW9uOiBzdHJpbmcgPSBhd2FpdCBnZXRDdXJyZW50VmVyc2lvbigpO1xuICAgIGxldCBvdXRwdXQ7XG4gICAgdHJ5IHtcbiAgICAgICAgb3V0cHV0ID0gYXdhaXQgbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBleGVjKFxuICAgICAgICAgICAgICAgIChwcm9jZXNzLnBsYXRmb3JtID09PSBcImxpbnV4XCIgPyBcInVuYnVmZmVyIFwiIDogXCJcIikgKyBgbnBtIHZpZXcgQGtvbnR1ci5jYW5keS90b29scyB2ZXJzaW9ucyAtLWpzb25gLFxuICAgICAgICAgICAgICAgIHsgYXN5bmM6IHRydWUsIHNpbGVudDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIChjb2RlLCBzdGRvdXQsIHN0ZGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29kZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihzdGRlcnIpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoc3Rkb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgRUxLTG9nZ2VyLmVycm9yKFwiRmFpbGVkIHRvIGdldCB2ZXJzaW9uc1wiLCB7IHN0YWNrVHJhY2U6IGUuc3RhY2sgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS53YXJuKFwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlwiKTtcbiAgICAgICAgY29uc29sZS53YXJuKFwiKiBGYWlsZWQgdG8gY2hlY2sgZm9yIHVwZGF0ZXMgICAgICAgICAgICAgICAgKlwiKTtcbiAgICAgICAgY29uc29sZS53YXJuKFwiKiBQbGVhc2UgcmVwb3J0IHRvIGRldmVsb3BlcnMgICAgICAgICAgICAgICAgKlwiKTtcbiAgICAgICAgY29uc29sZS53YXJuKFwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlwiKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICBjb25zdCBhdmFpbGFibGVWZXJzaW9uczogc3RyaW5nW10gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gICAgcmV0dXJuIGdldE1ham9yT3JNaW5vckluY3JlbWVudGVkKGN1cnJlbnRWZXJzaW9uLCBhdmFpbGFibGVWZXJzaW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWpvck9yTWlub3JJbmNyZW1lbnRlZChjdXJyZW50VmVyc2lvbjogc3RyaW5nLCBhdmFpbGFibGVWZXJzaW9uczogc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBwYXJzZShjdXJyZW50VmVyc2lvbik7XG4gICAgaWYgKGN1cnJlbnQgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ3VycmVudCB2ZXJzaW9uICcke2N1cnJlbnRWZXJzaW9ufScgaXMgbm90IGEgdmFsaWQgdmVyc2lvbmApO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50LnByZXJlbGVhc2UubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIlRoZSBwcmVyZWxlYXNlIHZlcnNpb24gaXMgaW5zdGFsbGVkLCB3ZSB1c2UgaXQgd2l0aG91dCB1cGRhdGluZ1wiKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhdmFpbGFibGVWZXJzaW9uc1xuICAgICAgICAubWFwKHggPT4gcGFyc2UoeCwgdW5kZWZpbmVkKSlcbiAgICAgICAgLmZpbHRlcihpc05vdE51bGxPclVuZGVmaW5lZClcbiAgICAgICAgLnNvcnQoY29tcGFyZSlcbiAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAuZmluZCh4ID0+IHtcbiAgICAgICAgICAgIGlmICh4LnByZXJlbGVhc2UubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB4Lm1ham9yID4gY3VycmVudC5tYWpvciB8fCAoeC5tYWpvciA9PT0gY3VycmVudC5tYWpvciAmJiB4Lm1pbm9yID4gY3VycmVudC5taW5vcik7XG4gICAgICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQgIT0gdW5kZWZpbmVkID8gcmVzdWx0LmZvcm1hdCgpIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBpc05vdE51bGxPclVuZGVmaW5lZDxUPihpbnB1dDogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiBpbnB1dCBpcyBUIHtcbiAgICByZXR1cm4gaW5wdXQgIT0gdW5kZWZpbmVkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxJQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFFQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxVQUFBLEdBQUFQLE9BQUE7QUFBd0QsU0FBQVEseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVYsd0JBQUFVLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFB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
115
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2JveGVuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9mc0V4dHJhIiwiX3NlbXZlciIsIl9zaGVsbGpzIiwiX1R5cGluZ1V0aWxzIiwiX0VMS0xvZ2dlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInNlbGZVcGRhdGVXaXRoQ2FsbGJhY2siLCJjYWxsYmFjayIsInJ1bkFzeW5jQWN0aW9uIiwic2VsZlVwZGF0ZSIsInByb2Nlc3MiLCJhcmd2IiwiaW5jbHVkZXMiLCJzdGRvdXQiLCJ3cml0ZSIsInZlcnNpb25Ub1VwZGF0ZSIsImdldENhbmR5VG9vbFVwZGF0ZVZlcnNpb24iLCJ1bmRlZmluZWQiLCJtZXNzYWdlIiwiY29uc29sZSIsImxvZyIsImJveGVuIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJDb2xvciIsInBhZGRpbmciLCJtYXJnaW4iLCJleGVjIiwicGxhdGZvcm0iLCJFcnJvciIsIkVMS0xvZ2dlciIsImVycm9yIiwic3RhY2tUcmFjZSIsInN0YWNrIiwid2FybiIsImdldEN1cnJlbnRWZXJzaW9uIiwicmVhZEpzb24iLCJqb2luIiwiX19kaXJuYW1lIiwidmVyc2lvbiIsImN1cnJlbnRWZXJzaW9uIiwib3V0cHV0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhc3luYyIsInNpbGVudCIsImNvZGUiLCJzdGRlcnIiLCJhdmFpbGFibGVWZXJzaW9ucyIsIkpTT04iLCJwYXJzZSIsImdldE1ham9yT3JNaW5vckluY3JlbWVudGVkIiwiY3VycmVudCIsInByZXJlbGVhc2UiLCJsZW5ndGgiLCJyZXN1bHQiLCJtYXAiLCJ4IiwiZmlsdGVyIiwiaXNOb3ROdWxsT3JVbmRlZmluZWQiLCJzb3J0IiwiY29tcGFyZSIsInJldmVyc2UiLCJmaW5kIiwibWFqb3IiLCJtaW5vciIsImZvcm1hdCIsImlucHV0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1NlbGZVcGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgYm94ZW4gZnJvbSBcImJveGVuXCI7XG5pbXBvcnQgeyByZWFkSnNvbiB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgY29tcGFyZSwgcGFyc2UgfSBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBleGVjIH0gZnJvbSBcInNoZWxsanNcIjtcblxuaW1wb3J0IHsgcnVuQXN5bmNBY3Rpb24gfSBmcm9tIFwiLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5cbmltcG9ydCB7IEVMS0xvZ2dlciB9IGZyb20gXCIuL0NvbW1vbnMvTG9nZ2luZy9FTEtMb2dnZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGZVcGRhdGVXaXRoQ2FsbGJhY2soY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBydW5Bc3luY0FjdGlvbihhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHNlbGZVcGRhdGUoKTtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2VsZlVwZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAocHJvY2Vzcy5hcmd2LmluY2x1ZGVzKFwiLS1kZXZlbG9wbWVudC1tb2RlXCIpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoXCJDaGVja2luZyBmb3IgdXBkYXRlcy4uLiBcIik7XG4gICAgICAgIGNvbnN0IHZlcnNpb25Ub1VwZGF0ZSA9IGF3YWl0IGdldENhbmR5VG9vbFVwZGF0ZVZlcnNpb24oKTtcbiAgICAgICAgaWYgKHZlcnNpb25Ub1VwZGF0ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBcImNhbmR5INC+0LHQvdC+0LLQu9GP0LXRgtGB0Y8uINCf0L7QttCw0LvRg9C50YHRgtCwLCDQvdC1INC30LDQutGA0YvQstCw0LnRgtC1INC60L7QvdGB0L7Qu9GMLiDQrdGC0L4g0LzQvtC20LXRgiDQt9Cw0L3Rj9GC0Ywg0L3QtdC60L7RgtC+0YDQvtC1INCy0YDQtdC80Y8uXCI7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhib3hlbihtZXNzYWdlLCB7IGJvcmRlclN0eWxlOiBcImRvdWJsZVwiLCBib3JkZXJDb2xvcjogXCJncmVlblwiLCBwYWRkaW5nOiAyLCBtYXJnaW46IDIgfSkpO1xuICAgICAgICAgICAgZXhlYygocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJsaW51eFwiID8gXCJ1bmJ1ZmZlciBcIiA6IFwiXCIpICsgYG5wbSBpIC1nIEBrb250dXIuY2FuZHkvdG9vbHNAJHt2ZXJzaW9uVG9VcGRhdGV9YCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgVXBkYXRlZCB0byAke3ZlcnNpb25Ub1VwZGF0ZX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQWxsIHVwIHRvIGRhdGUuXCIpO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICBFTEtMb2dnZXIuZXJyb3IoXCJGYWlsZWQgdG8gY2hlY2sgZm9yIHVwZGF0ZXNcIiwgeyBzdGFja1RyYWNlOiBlLnN0YWNrIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybihcIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcIik7XG4gICAgICAgIGNvbnNvbGUud2FybihcIiogRmFpbGVkIHRvIGNoZWNrIGZvciB1cGRhdGVzICAgICAgICAgICAgICAgICpcIik7XG4gICAgICAgIGNvbnNvbGUud2FybihcIiogUGxlYXNlIHJlcG9ydCB0byBkZXZlbG9wZXJzICAgICAgICAgICAgICAgICpcIik7XG4gICAgICAgIGNvbnNvbGUud2FybihcIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcIik7XG4gICAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q3VycmVudFZlcnNpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICByZXR1cm4gKGF3YWl0IHJlYWRKc29uKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwicGFja2FnZS5qc29uXCIpKSkudmVyc2lvbjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q2FuZHlUb29sVXBkYXRlVmVyc2lvbigpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGN1cnJlbnRWZXJzaW9uOiBzdHJpbmcgPSBhd2FpdCBnZXRDdXJyZW50VmVyc2lvbigpO1xuICAgIGxldCBvdXRwdXQ7XG4gICAgdHJ5IHtcbiAgICAgICAgb3V0cHV0ID0gYXdhaXQgbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBleGVjKFxuICAgICAgICAgICAgICAgIChwcm9jZXNzLnBsYXRmb3JtID09PSBcImxpbnV4XCIgPyBcInVuYnVmZmVyIFwiIDogXCJcIikgK1xuICAgICAgICAgICAgICAgICAgICBgbnBtIHZpZXcgQGtvbnR1ci5jYW5keS90b29scyB2ZXJzaW9ucyAtLWpzb24gLS1uby1wcm9ncmVzc2AsXG4gICAgICAgICAgICAgICAgeyBhc3luYzogdHJ1ZSwgc2lsZW50OiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgKGNvZGUsIHN0ZG91dCwgc3RkZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QobmV3IEVycm9yKHN0ZGVycikpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShzdGRvdXQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICBFTEtMb2dnZXIuZXJyb3IoXCJGYWlsZWQgdG8gZ2V0IHZlcnNpb25zXCIsIHsgc3RhY2tUcmFjZTogZS5zdGFjayB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLndhcm4oXCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXCIpO1xuICAgICAgICBjb25zb2xlLndhcm4oXCIqIEZhaWxlZCB0byBjaGVjayBmb3IgdXBkYXRlcyAgICAgICAgICAgICAgICAqXCIpO1xuICAgICAgICBjb25zb2xlLndhcm4oXCIqIFBsZWFzZSByZXBvcnQgdG8gZGV2ZWxvcGVycyAgICAgICAgICAgICAgICAqXCIpO1xuICAgICAgICBjb25zb2xlLndhcm4oXCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXCIpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgIGNvbnN0IGF2YWlsYWJsZVZlcnNpb25zOiBzdHJpbmdbXSA9IEpTT04ucGFyc2Uob3V0cHV0KTtcbiAgICByZXR1cm4gZ2V0TWFqb3JPck1pbm9ySW5jcmVtZW50ZWQoY3VycmVudFZlcnNpb24sIGF2YWlsYWJsZVZlcnNpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ham9yT3JNaW5vckluY3JlbWVudGVkKGN1cnJlbnRWZXJzaW9uOiBzdHJpbmcsIGF2YWlsYWJsZVZlcnNpb25zOiBzdHJpbmdbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHBhcnNlKGN1cnJlbnRWZXJzaW9uKTtcbiAgICBpZiAoY3VycmVudCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDdXJyZW50IHZlcnNpb24gJyR7Y3VycmVudFZlcnNpb259JyBpcyBub3QgYSB2YWxpZCB2ZXJzaW9uYCk7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnQucHJlcmVsZWFzZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiVGhlIHByZXJlbGVhc2UgdmVyc2lvbiBpcyBpbnN0YWxsZWQsIHdlIHVzZSBpdCB3aXRob3V0IHVwZGF0aW5nXCIpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF2YWlsYWJsZVZlcnNpb25zXG4gICAgICAgIC5tYXAoeCA9PiBwYXJzZSh4LCB1bmRlZmluZWQpKVxuICAgICAgICAuZmlsdGVyKGlzTm90TnVsbE9yVW5kZWZpbmVkKVxuICAgICAgICAuc29ydChjb21wYXJlKVxuICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgIC5maW5kKHggPT4ge1xuICAgICAgICAgICAgaWYgKHgucHJlcmVsZWFzZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHgubWFqb3IgPiBjdXJyZW50Lm1ham9yIHx8ICh4Lm1ham9yID09PSBjdXJyZW50Lm1ham9yICYmIHgubWlub3IgPiBjdXJyZW50Lm1pbm9yKTtcbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdCAhPSB1bmRlZmluZWQgPyByZXN1bHQuZm9ybWF0KCkgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGlzTm90TnVsbE9yVW5kZWZpbmVkPFQ+KGlucHV0OiBUIHwgdW5kZWZpbmVkIHwgbnVsbCk6IGlucHV0IGlzIFQge1xuICAgIHJldHVybiBpbnB1dCAhPSB1bmRlZmluZWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLFlBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUF3RCxTQUFBUSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBVix3QkFBQVUsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtB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
@@ -1 +1 @@
1
- {"version":3,"file":"SelfUpdate.js","names":["path","_interopRequireWildcard","require","_boxen","_interopRequireDefault","_fsExtra","_semver","_shelljs","_TypingUtils","_ELKLogger","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","selfUpdateWithCallback","callback","runAsyncAction","selfUpdate","process","argv","includes","stdout","write","versionToUpdate","getCandyToolUpdateVersion","undefined","message","console","log","boxen","borderStyle","borderColor","padding","margin","exec","platform","Error","ELKLogger","error","stackTrace","stack","warn","getCurrentVersion","readJson","join","__dirname","version","currentVersion","output","Promise","resolve","reject","async","silent","code","stderr","availableVersions","JSON","parse","getMajorOrMinorIncremented","current","prerelease","length","result","map","x","filter","isNotNullOrUndefined","sort","compare","reverse","find","major","minor","format","input"],"sources":["../../../src/SelfUpdate.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport * as path from \"path\";\n\nimport boxen from \"boxen\";\nimport { readJson } from \"fs-extra\";\nimport { compare, parse } from \"semver\";\nimport { exec } from \"shelljs\";\n\nimport { runAsyncAction } from \"../../Common/TypingUtils\";\n\nimport { ELKLogger } from \"./Commons/Logging/ELKLogger\";\n\nexport function selfUpdateWithCallback(callback: () => void): void {\n runAsyncAction(async () => {\n await selfUpdate();\n callback();\n });\n}\n\nasync function selfUpdate(): Promise<void> {\n if (process.argv.includes(\"--development-mode\")) {\n return;\n }\n try {\n process.stdout.write(\"Checking for updates... \");\n const versionToUpdate = await getCandyToolUpdateVersion();\n if (versionToUpdate != undefined) {\n const message = \"candy обновляется. Пожалуйста, не закрывайте консоль. Это может занять некоторое время.\";\n console.log(boxen(message, { borderStyle: \"double\", borderColor: \"green\", padding: 2, margin: 2 }));\n exec((process.platform === \"linux\" ? \"unbuffer \" : \"\") + `npm i -g @kontur.candy/tools@${versionToUpdate}`);\n console.log(`Updated to ${versionToUpdate}`);\n } else {\n console.log(\"All up to date.\");\n }\n } catch (e) {\n if (e instanceof Error) {\n ELKLogger.error(\"Failed to check for updates\", { stackTrace: e.stack });\n }\n console.warn(\"**********************************************\");\n console.warn(\"* Failed to check for updates *\");\n console.warn(\"* Please report to developers *\");\n console.warn(\"**********************************************\");\n }\n}\n\nexport async function getCurrentVersion(): Promise<string> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (await readJson(path.join(__dirname, \"..\", \"..\", \"..\", \"package.json\"))).version;\n}\n\nasync function getCandyToolUpdateVersion(): Promise<string | undefined> {\n const currentVersion: string = await getCurrentVersion();\n let output;\n try {\n output = await new Promise<string>((resolve, reject) => {\n exec(\n (process.platform === \"linux\" ? \"unbuffer \" : \"\") + `npm view @kontur.candy/tools versions --json`,\n { async: true, silent: true },\n (code, stdout, stderr) => {\n if (code !== 0) {\n reject(new Error(stderr));\n } else {\n resolve(stdout);\n }\n }\n );\n });\n } catch (e) {\n if (e instanceof Error) {\n ELKLogger.error(\"Failed to get versions\", { stackTrace: e.stack });\n }\n console.warn(\"**********************************************\");\n console.warn(\"* Failed to check for updates *\");\n console.warn(\"* Please report to developers *\");\n console.warn(\"**********************************************\");\n return undefined;\n }\n // tslint:disable-next-line no-unsafe-any\n const availableVersions: string[] = JSON.parse(output);\n return getMajorOrMinorIncremented(currentVersion, availableVersions);\n}\n\nexport function getMajorOrMinorIncremented(currentVersion: string, availableVersions: string[]): string | undefined {\n const current = parse(currentVersion);\n if (current == undefined) {\n throw new Error(`Current version '${currentVersion}' is not a valid version`);\n }\n\n if (current.prerelease.length > 0) {\n console.log(\"The prerelease version is installed, we use it without updating\");\n return undefined;\n }\n\n const result = availableVersions\n .map(x => parse(x, undefined))\n .filter(isNotNullOrUndefined)\n .sort(compare)\n .reverse()\n .find(x => {\n if (x.prerelease.length > 0) {\n return false;\n }\n return x.major > current.major || (x.major === current.major && x.minor > current.minor);\n });\n return result != undefined ? result.format() : undefined;\n}\n\nfunction isNotNullOrUndefined<T>(input: T | undefined | null): input is T {\n return input != undefined;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SelfUpdate.js","names":["path","_interopRequireWildcard","require","_boxen","_interopRequireDefault","_fsExtra","_semver","_shelljs","_TypingUtils","_ELKLogger","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","selfUpdateWithCallback","callback","runAsyncAction","selfUpdate","process","argv","includes","stdout","write","versionToUpdate","getCandyToolUpdateVersion","undefined","message","console","log","boxen","borderStyle","borderColor","padding","margin","exec","platform","Error","ELKLogger","error","stackTrace","stack","warn","getCurrentVersion","readJson","join","__dirname","version","currentVersion","output","Promise","resolve","reject","async","silent","code","stderr","availableVersions","JSON","parse","getMajorOrMinorIncremented","current","prerelease","length","result","map","x","filter","isNotNullOrUndefined","sort","compare","reverse","find","major","minor","format","input"],"sources":["../../../src/SelfUpdate.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport * as path from \"path\";\n\nimport boxen from \"boxen\";\nimport { readJson } from \"fs-extra\";\nimport { compare, parse } from \"semver\";\nimport { exec } from \"shelljs\";\n\nimport { runAsyncAction } from \"../../Common/TypingUtils\";\n\nimport { ELKLogger } from \"./Commons/Logging/ELKLogger\";\n\nexport function selfUpdateWithCallback(callback: () => void): void {\n runAsyncAction(async () => {\n await selfUpdate();\n callback();\n });\n}\n\nasync function selfUpdate(): Promise<void> {\n if (process.argv.includes(\"--development-mode\")) {\n return;\n }\n try {\n process.stdout.write(\"Checking for updates... \");\n const versionToUpdate = await getCandyToolUpdateVersion();\n if (versionToUpdate != undefined) {\n const message = \"candy обновляется. Пожалуйста, не закрывайте консоль. Это может занять некоторое время.\";\n console.log(boxen(message, { borderStyle: \"double\", borderColor: \"green\", padding: 2, margin: 2 }));\n exec((process.platform === \"linux\" ? \"unbuffer \" : \"\") + `npm i -g @kontur.candy/tools@${versionToUpdate}`);\n console.log(`Updated to ${versionToUpdate}`);\n } else {\n console.log(\"All up to date.\");\n }\n } catch (e) {\n if (e instanceof Error) {\n ELKLogger.error(\"Failed to check for updates\", { stackTrace: e.stack });\n }\n console.warn(\"**********************************************\");\n console.warn(\"* Failed to check for updates *\");\n console.warn(\"* Please report to developers *\");\n console.warn(\"**********************************************\");\n }\n}\n\nexport async function getCurrentVersion(): Promise<string> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (await readJson(path.join(__dirname, \"..\", \"..\", \"..\", \"package.json\"))).version;\n}\n\nasync function getCandyToolUpdateVersion(): Promise<string | undefined> {\n const currentVersion: string = await getCurrentVersion();\n let output;\n try {\n output = await new Promise<string>((resolve, reject) => {\n exec(\n (process.platform === \"linux\" ? \"unbuffer \" : \"\") +\n `npm view @kontur.candy/tools versions --json --no-progress`,\n { async: true, silent: true },\n (code, stdout, stderr) => {\n if (code !== 0) {\n reject(new Error(stderr));\n } else {\n resolve(stdout);\n }\n }\n );\n });\n } catch (e) {\n if (e instanceof Error) {\n ELKLogger.error(\"Failed to get versions\", { stackTrace: e.stack });\n }\n console.warn(\"**********************************************\");\n console.warn(\"* Failed to check for updates *\");\n console.warn(\"* Please report to developers *\");\n console.warn(\"**********************************************\");\n return undefined;\n }\n // tslint:disable-next-line no-unsafe-any\n const availableVersions: string[] = JSON.parse(output);\n return getMajorOrMinorIncremented(currentVersion, availableVersions);\n}\n\nexport function getMajorOrMinorIncremented(currentVersion: string, availableVersions: string[]): string | undefined {\n const current = parse(currentVersion);\n if (current == undefined) {\n throw new Error(`Current version '${currentVersion}' is not a valid version`);\n }\n\n if (current.prerelease.length > 0) {\n console.log(\"The prerelease version is installed, we use it without updating\");\n return undefined;\n }\n\n const result = availableVersions\n .map(x => parse(x, undefined))\n .filter(isNotNullOrUndefined)\n .sort(compare)\n .reverse()\n .find(x => {\n if (x.prerelease.length > 0) {\n return false;\n }\n return x.major > current.major || (x.major === current.major && x.minor > current.minor);\n });\n return result != undefined ? result.format() : undefined;\n}\n\nfunction isNotNullOrUndefined<T>(input: T | undefined | null): input is T {\n return input != undefined;\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAAM,YAAA,GAAAN,OAAA;AAEA,IAAAO,UAAA,GAAAP,OAAA;AAAwD,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAVxD;;AAYO,SAASW,sBAAsBA,CAACC,QAAoB,EAAQ;EAC/D,IAAAC,2BAAc,EAAC,YAAY;IACvB,MAAMC,UAAU,CAAC,CAAC;IAClBF,QAAQ,CAAC,CAAC;EACd,CAAC,CAAC;AACN;AAEA,eAAeE,UAAUA,CAAA,EAAkB;EACvC,IAAIC,OAAO,CAACC,IAAI,CAACC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;IAC7C;EACJ;EACA,IAAI;IACAF,OAAO,CAACG,MAAM,CAACC,KAAK,CAAC,0BAA0B,CAAC;IAChD,MAAMC,eAAe,GAAG,MAAMC,yBAAyB,CAAC,CAAC;IACzD,IAAID,eAAe,IAAIE,SAAS,EAAE;MAC9B,MAAMC,OAAO,GAAG,yFAAyF;MACzGC,OAAO,CAACC,GAAG,CAAC,IAAAC,cAAK,EAACH,OAAO,EAAE;QAAEI,WAAW,EAAE,QAAQ;QAAEC,WAAW,EAAE,OAAO;QAAEC,OAAO,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAE,CAAC,CAAC,CAAC;MACnG,IAAAC,aAAI,EAAC,CAAChB,OAAO,CAACiB,QAAQ,KAAK,OAAO,GAAG,WAAW,GAAG,EAAE,IAAI,gCAAgCZ,eAAe,EAAE,CAAC;MAC3GI,OAAO,CAACC,GAAG,CAAC,cAAcL,eAAe,EAAE,CAAC;IAChD,CAAC,MAAM;MACHI,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;IAClC;EACJ,CAAC,CAAC,OAAOjC,CAAC,EAAE;IACR,IAAIA,CAAC,YAAYyC,KAAK,EAAE;MACpBC,oBAAS,CAACC,KAAK,CAAC,6BAA6B,EAAE;QAAEC,UAAU,EAAE5C,CAAC,CAAC6C;MAAM,CAAC,CAAC;IAC3E;IACAb,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;IAC9Dd,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;IAC9Dd,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;IAC9Dd,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;EAClE;AACJ;AAEO,eAAeC,iBAAiBA,CAAA,EAAoB;EACvD;EACA,OAAO,CAAC,MAAM,IAAAC,iBAAQ,EAAC3D,IAAI,CAAC4D,IAAI,CAACC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,EAAEC,OAAO;AAC3F;AAEA,eAAetB,yBAAyBA,CAAA,EAAgC;EACpE,MAAMuB,cAAsB,GAAG,MAAML,iBAAiB,CAAC,CAAC;EACxD,IAAIM,MAAM;EACV,IAAI;IACAA,MAAM,GAAG,MAAM,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;MACpD,IAAAjB,aAAI,EACA,CAAChB,OAAO,CAACiB,QAAQ,KAAK,OAAO,GAAG,WAAW,GAAG,EAAE,IAC5C,4DAA4D,EAChE;QAAEiB,KAAK,EAAE,IAAI;QAAEC,MAAM,EAAE;MAAK,CAAC,EAC7B,CAACC,IAAI,EAAEjC,MAAM,EAAEkC,MAAM,KAAK;QACtB,IAAID,IAAI,KAAK,CAAC,EAAE;UACZH,MAAM,CAAC,IAAIf,KAAK,CAACmB,MAAM,CAAC,CAAC;QAC7B,CAAC,MAAM;UACHL,OAAO,CAAC7B,MAAM,CAAC;QACnB;MACJ,CACJ,CAAC;IACL,CAAC,CAAC;EACN,CAAC,CAAC,OAAO1B,CAAC,EAAE;IACR,IAAIA,CAAC,YAAYyC,KAAK,EAAE;MACpBC,oBAAS,CAACC,KAAK,CAAC,wBAAwB,EAAE;QAAEC,UAAU,EAAE5C,CAAC,CAAC6C;MAAM,CAAC,CAAC;IACtE;IACAb,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;IAC9Dd,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;IAC9Dd,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;IAC9Dd,OAAO,CAACc,IAAI,CAAC,gDAAgD,CAAC;IAC9D,OAAOhB,SAAS;EACpB;EACA;EACA,MAAM+B,iBAA2B,GAAGC,IAAI,CAACC,KAAK,CAACV,MAAM,CAAC;EACtD,OAAOW,0BAA0B,CAACZ,cAAc,EAAES,iBAAiB,CAAC;AACxE;AAEO,SAASG,0BAA0BA,CAACZ,cAAsB,EAAES,iBAA2B,EAAsB;EAChH,MAAMI,OAAO,GAAG,IAAAF,aAAK,EAACX,cAAc,CAAC;EACrC,IAAIa,OAAO,IAAInC,SAAS,EAAE;IACtB,MAAM,IAAIW,KAAK,CAAC,oBAAoBW,cAAc,0BAA0B,CAAC;EACjF;EAEA,IAAIa,OAAO,CAACC,UAAU,CAACC,MAAM,GAAG,CAAC,EAAE;IAC/BnC,OAAO,CAACC,GAAG,CAAC,iEAAiE,CAAC;IAC9E,OAAOH,SAAS;EACpB;EAEA,MAAMsC,MAAM,GAAGP,iBAAiB,CAC3BQ,GAAG,CAACC,CAAC,IAAI,IAAAP,aAAK,EAACO,CAAC,EAAExC,SAAS,CAAC,CAAC,CAC7ByC,MAAM,CAACC,oBAAoB,CAAC,CAC5BC,IAAI,CAACC,eAAO,CAAC,CACbC,OAAO,CAAC,CAAC,CACTC,IAAI,CAACN,CAAC,IAAI;IACP,IAAIA,CAAC,CAACJ,UAAU,CAACC,MAAM,GAAG,CAAC,EAAE;MACzB,OAAO,KAAK;IAChB;IACA,OAAOG,CAAC,CAACO,KAAK,GAAGZ,OAAO,CAACY,KAAK,IAAKP,CAAC,CAACO,KAAK,KAAKZ,OAAO,CAACY,KAAK,IAAIP,CAAC,CAACQ,KAAK,GAAGb,OAAO,CAACa,KAAM;EAC5F,CAAC,CAAC;EACN,OAAOV,MAAM,IAAItC,SAAS,GAAGsC,MAAM,CAACW,MAAM,CAAC,CAAC,GAAGjD,SAAS;AAC5D;AAEA,SAAS0C,oBAAoBA,CAAIQ,KAA2B,EAAc;EACtE,OAAOA,KAAK,IAAIlD,SAAS;AAC7B","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/tools",
3
- "version": "2.187.6",
3
+ "version": "2.188.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "candy.js",