@kontur.candy/tools 2.136.0 → 2.138.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ <a name="2.138.0"></a>
2
+ # [2.138.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.137.0...release/tools/v2.138.0) (2022-11-24)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **Tools:** Исправлен путь для запуска build-server ([c722891](https://git.skbkontur.ru/ke/candy-utils/commit/c722891))
8
+
9
+ <a name="2.137.0"></a>
10
+ # [2.137.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.136.0...release/tools/v2.137.0) (2022-11-24)
11
+
1
12
  <a name="2.136.0"></a>
2
13
  # [2.136.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.135.0...release/tools/v2.136.0) (2022-11-23)
3
14
 
@@ -96,17 +96,22 @@ const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, current
96
96
  const result = [];
97
97
 
98
98
  for (const pth of allFarmDirectories) {
99
- // Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой
100
- // из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики
101
- // совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением
102
- const pathToFarm = _path.default.join(currentDir, "..", "..", "..", pth);
99
+ if (await (0, _fsExtra.pathExists)(_path.default.join(pth, "config.js"))) {
100
+ await removeTemporaryWebpackConfigFiles(pth, context.logger);
101
+ result.push(validateFarmConfig(pth));
102
+ } else {
103
+ // Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой
104
+ // из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики
105
+ // совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением
106
+ const pathToFarm = _path.default.join(currentDir, "..", "..", "..", pth);
103
107
 
104
- if (!(await (0, _fsExtra.pathExists)(pathToFarm))) {
105
- throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);
106
- }
108
+ if (!(await (0, _fsExtra.pathExists)(pathToFarm))) {
109
+ throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);
110
+ }
107
111
 
108
- await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);
109
- result.push(validateFarmConfig(pathToFarm));
112
+ await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);
113
+ result.push(validateFarmConfig(pathToFarm));
114
+ }
110
115
  }
111
116
 
112
117
  return result;
@@ -137,8 +142,6 @@ const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, current
137
142
 
138
143
  const candyModulesDirectory = _path.default.resolve(farmDirectory, "..", ".candy_modules");
139
144
 
140
- const defaultFarmsDirectories = ["Tests\\TestForms\\TestFarm"];
141
-
142
145
  if (parsedArgs.type === "build-server" || parsedArgs.type === "dev-build-server") {
143
146
  const allFarmDirectories = parsedArgs.options.allFarmsDir;
144
147
  context.logger.warning(`allFarmDirectories = ${parsedArgs.options.allFarmsDir}`);
@@ -147,8 +150,8 @@ const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, current
147
150
  if (Array.isArray(allFarmDirectories) && allFarmDirectories.length > 0) {
148
151
  allFarmConfig = await validateAndPrepareFarmDirectoriesPath(allFarmDirectories, farmDirectory, context);
149
152
  } else {
150
- context.logger.warning(`Use default candyFarm path dir = ${defaultFarmsDirectories}`);
151
- allFarmConfig = await validateAndPrepareFarmDirectoriesPath(defaultFarmsDirectories, farmDirectory, context);
153
+ context.logger.warning(`Use default candyFarm path dir = ${farmDirectory}`);
154
+ allFarmConfig = await validateAndPrepareFarmDirectoriesPath([farmDirectory], farmDirectory, context);
152
155
  }
153
156
 
154
157
  if (parsedArgs.type === "dev-build-server") {
@@ -182,4 +185,4 @@ const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, current
182
185
  await (0, _RunInitForm.runInitForm)(context, parsedArgs.options, farmDirectory);
183
186
  }
184
187
  });
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DYW5keUNMSS50cyJdLCJuYW1lcyI6WyJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsIm9sZFRlbXBGaWxlTmFtZXMiLCJmaWx0ZXIiLCJ4IiwiZW5kc1dpdGgiLCJsZW5ndGgiLCJsb2ciLCJmaWxlTmFtZSIsInBhdGgiLCJqb2luIiwidmFsaWRhdGVGYXJtQ29uZmlnIiwiZmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwicmVzb2x2ZSIsInZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgiLCJhbGxGYXJtRGlyZWN0b3JpZXMiLCJjdXJyZW50RGlyIiwiY29udGV4dCIsInJlc3VsdCIsInB0aCIsInBhdGhUb0Zhcm0iLCJwdXNoIiwiYXJndiIsInBhcnNlZEFyZ3MiLCJzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSIsIm9wdGlvbnMiLCJsb2dWZXJib3NpdHkiLCJ2ZXJib3NlIiwiY3dkIiwiZGVmYXVsdEZhcm1zRGlyZWN0b3JpZXMiLCJ0eXBlIiwiYWxsRmFybXNEaXIiLCJ3YXJuaW5nIiwiYWxsRmFybUNvbmZpZyIsIkFycmF5IiwiaXNBcnJheSIsImhsRmFybURpcmVjdG9yeVBhdGgiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7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eS9mbGF0XCI7XG5pbXBvcnQgXCJjb3JlLWpzL3Byb3Bvc2Fscy9pdGVyYXRvci1oZWxwZXJzXCI7XG5pbXBvcnQgXCJjb3JlLWpzL3N0YWJsZVwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcGF0aEV4aXN0cywgcmVhZGRpciwgdW5saW5rIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5pbXBvcnQgXCJyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWVcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJzaGVsbGpzXCI7XG5cbmltcG9ydCB7IHJ1bkJ1aWxkRm9ybXMgfSBmcm9tIFwiLi9DTElDb21tYW5kcy9CdWlsZEZvcm1zL1J1bkJ1aWxkRm9ybXNcIjtcbmltcG9ydCB7IHJ1bkJ1aWxkU2VydmVyLCBydW5EZXZCdWlsZFNlcnZlciB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1J1bkJ1aWxkU2VydmVyXCI7XG5pbXBvcnQgeyBydW5EZXZCdWlsZCB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0RldkJ1aWxkL1J1bkRldkJ1aWxkXCI7XG5pbXBvcnQgeyBydW5Gb3JtU3RhdHMgfSBmcm9tIFwiLi9DTElDb21tYW5kcy9Gb3JtU3RhdHMvUnVuRm9ybVN0YXRzXCI7XG5pbXBvcnQgeyBydW5Jbml0Rm9ybSB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0luaXRGb3JtL1J1bkluaXRGb3JtXCI7XG5pbXBvcnQgeyBydW5Mb2NhbGl6YXRpb24gfSBmcm9tIFwiLi9DTElDb21tYW5kcy9Mb2NhbGl6YXRpb24vUnVuTG9jYWxpemF0aW9uXCI7XG5pbXBvcnQgeyBydW5VcGdyYWRlRm9ybSB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL1VwZ3JhZGVGb3JtL1J1blVwZ3JhZGVGb3JtXCI7XG5pbXBvcnQgeyBydW5Db25zb2xlQXBwbGljYXRpb24gfSBmcm9tIFwiLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25cIjtcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvSUxvZ2dlclwiO1xuaW1wb3J0IHsgc2V0TG9nZ2VyIH0gZnJvbSBcIi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuaW1wb3J0IHsgcGFyc2VPcHRpb25zIH0gZnJvbSBcIi4vT3B0aW9ucy9DYW5keVRvb2xPcHRpb25zXCI7XG5pbXBvcnQgeyByZWFkRmFybUNvbmZpZyB9IGZyb20gXCIuL1JlYWRGYXJtQ29uZmlnXCI7XG5pbXBvcnQgeyBnZXRDdXJyZW50VmVyc2lvbiB9IGZyb20gXCIuL1NlbGZVcGRhdGVcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5cbmNvbmZpZy5mYXRhbCA9IHRydWU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFybUNvbmZpZyB7XG4gICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nO1xuICAgIGVuZ2luZURpcmVjdG9yeT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaGxGYXJtRGlyZWN0b3J5UGF0aDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiByZW1vdGVJbnNwZWN0RmxhZ1RvRGlzYWJsZURlYnVnZ2VySW5DaGlsZFByb2Nlc3MoKTogdm9pZCB7XG4gICAgY29uc3QgZGVidWdBcmdJZHggPSBwcm9jZXNzLmV4ZWNBcmd2LmluZGV4T2YoXCItLWluc3BlY3QtYnJrXCIpO1xuICAgIGlmIChkZWJ1Z0FyZ0lkeCAhPT0gLTEpIHtcbiAgICAgICAgcHJvY2Vzcy5leGVjQXJndi5zcGxpY2UoZGVidWdBcmdJZHgsIDEpO1xuICAgIH1cbiAgICBjb25zdCBkZWJ1Z0FyZzJJZHggPSBwcm9jZXNzLmV4ZWNBcmd2LmluZGV4T2YoXCItLWluc3BlY3RcIik7XG4gICAgaWYgKGRlYnVnQXJnMklkeCAhPT0gLTEpIHtcbiAgICAgICAgcHJvY2Vzcy5leGVjQXJndi5zcGxpY2UoZGVidWdBcmcySWR4LCAxKTtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyhmYXJtRGlyZWN0b3J5OiBzdHJpbmcsIGxvZ2dlcjogSUxvZ2dlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVhZGRpcihmYXJtRGlyZWN0b3J5KTtcbiAgICBjb25zdCBvbGRUZW1wRmlsZU5hbWVzID0gZmlsZXMuZmlsdGVyKHggPT4geC5lbmRzV2l0aChcIi5jYW5keS10bXAud2VicGFjay5jb25maWcuanNcIikpO1xuICAgIGlmIChvbGRUZW1wRmlsZU5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIlJlbW92aW5nIG9sZCB3ZWJwYWNrLmNvbmZpZy5qcyBmaWxlc1wiKTtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBvbGRUZW1wRmlsZU5hbWVzKSB7XG4gICAgICAgICAgICBhd2FpdCB1bmxpbmsocGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIGZpbGVOYW1lKSk7XG4gICAgICAgIH1cbiAgICAgICAgbG9nZ2VyLmxvZyhcIlJlbW92ZWQgb2xkIHdlYnBhY2suY29uZmlnLmpzIGZpbGVzXCIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVGYXJtQ29uZmlnKGZhcm1EaXJlY3Rvcnk6IHN0cmluZyk6IEZhcm1Db25maWcge1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuZHlNb2R1bGVzRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1EaXJlY3RvcnksIFwiLi5cIiwgXCIuY2FuZHlfbW9kdWxlc1wiKTtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5mYXJtQ29uZmlnLFxuICAgICAgICBmYXJtRGlyZWN0b3J5OiBmYXJtRGlyZWN0b3J5LFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICB9O1xufVxuXG5jb25zdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoID0gYXN5bmMgKFxuICAgIGFsbEZhcm1EaXJlY3Rvcmllczogc3RyaW5nW10sXG4gICAgY3VycmVudERpcjogc3RyaW5nLFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcbik6IFByb21pc2U8RmFybUNvbmZpZ1tdPiA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBGYXJtQ29uZmlnW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHB0aCBvZiBhbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgLy8g0JLRgdC1INC00LXQu9C+INCyINGC0L7QvCwg0YfRgtC+INGB0LLRj9C30LrQsCBzZXJ2aWNlLXJ1bm5lci0yICsgdG9vbHMg0LrQvtGA0YDQtdC60YLQvdC+INGA0LDQsdC+0YLQsNC10YIg0YLQvtC70YzQutC+INCyINC/0LDQv9C60LUg0YEg0YTQvtGA0LzQvtC5XG4gICAgICAgIC8vINC40Lcg0LfQsCDRh9C10LPQviwg0LLQvdGD0YLRgNC4INGA0LDQvdC90LXRgNCwINC90LDQv9C40LvQtdC9INGF0LjRgtGA0YvQuSDQvNC10YXQsNC90LjQt9C8INC/0L7QuNGB0LrQsCDQv9GD0YLQtdC5INGE0L7RgNC80YsuINCf0LXRgNC10L/QuNC70LjQstCw0YLRjCDQstGB0LUg0LzQtdGF0LDQvdC40LrQuFxuICAgICAgICAvLyDRgdC+0LLRgdC10Lwg0L3QtSDRhdC+0YfQtdGC0YHRjywg0L/QvtGN0YLQvtC80YMg0LTQu9GPINC90LDRgSwg0YHRh9C40YLQsNGOINC/0L7QtNC90Y/RgtC40LUg0LTQviDRg9GA0L7QstC90Y8gZW5naW5lINCy0L/QvtC70L3QtSDQv9GA0LjQtdC80LvQtdC80YvQvCDRgNC10YjQtdC90LjQtdC8XG4gICAgICAgIGNvbnN0IHBhdGhUb0Zhcm0gPSBwYXRoLmpvaW4oY3VycmVudERpciwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgcHRoKTtcbiAgICAgICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhwYXRoVG9GYXJtKSkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBhbGxGYXJtRGlyZWN0b3JpZXMgcGF0aCA9ICR7cGF0aFRvRmFybX0gbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKHBhdGhUb0Zhcm0sIGNvbnRleHQubG9nZ2VyKTtcbiAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGVGYXJtQ29uZmlnKHBhdGhUb0Zhcm0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbnJ1bkNvbnNvbGVBcHBsaWNhdGlvbihhc3luYyAoYXJndiwgY29udGV4dCkgPT4ge1xuICAgIHJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcygpO1xuXG4gICAgY29udGV4dC5sb2dnZXIubG9nKFwiQGtvbnR1ci5jYW5keS90b29sczogXCIgKyAoYXdhaXQgZ2V0Q3VycmVudFZlcnNpb24oKSkpO1xuICAgIGNvbnN0IHBhcnNlZEFyZ3MgPSBwYXJzZU9wdGlvbnMoYXJndik7XG5cbiAgICBjb250ZXh0LnNldENvbnNvbGVMb2dnaW5nVmVyYm9zaXR5KHBhcnNlZEFyZ3Mub3B0aW9ucy5sb2dWZXJib3NpdHkpO1xuICAgIHNldExvZ2dlcihjb250ZXh0LmxvZ2dlcik7XG4gICAgY29udGV4dC5sb2dnZXIudmVyYm9zZShgVmVyYm9zZSBsZXZlbDogJHtwYXJzZWRBcmdzLm9wdGlvbnMubG9nVmVyYm9zaXR5fWApO1xuXG4gICAgY29uc3QgZmFybURpcmVjdG9yeSA9IHByb2Nlc3MuY3dkKCk7XG4gICAgYXdhaXQgcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKGZhcm1EaXJlY3RvcnksIGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb25zdCBmYXJtQ29uZmlnID0gcmVhZEZhcm1Db25maWcoZmFybURpcmVjdG9yeSk7XG5cbiAgICBpZiAoZmFybUNvbmZpZy5lbmdpbmVEaXJlY3RvcnkgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuZ2luZURpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkXCIpO1xuICAgIH1cbiAgICBpZiAoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlc291cmNlc0RpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGVuZ2luZURpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSk7XG4gICAgY29uc3QgcmVzb3VyY2VzRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcucmVzb3VyY2VzRGlyZWN0b3J5KTtcbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybURpcmVjdG9yeSwgXCIuLlwiLCBcIi5jYW5keV9tb2R1bGVzXCIpO1xuXG4gICAgY29uc3QgZGVmYXVsdEZhcm1zRGlyZWN0b3JpZXMgPSBbXCJUZXN0c1xcXFxUZXN0Rm9ybXNcXFxcVGVzdEZhcm1cIl07XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiIHx8IHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgY29uc3QgYWxsRmFybURpcmVjdG9yaWVzID0gcGFyc2VkQXJncy5vcHRpb25zLmFsbEZhcm1zRGlyO1xuICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBhbGxGYXJtRGlyZWN0b3JpZXMgPSAke3BhcnNlZEFyZ3Mub3B0aW9ucy5hbGxGYXJtc0Rpcn1gKTtcbiAgICAgICAgbGV0IGFsbEZhcm1Db25maWc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbEZhcm1EaXJlY3RvcmllcykgJiYgYWxsRmFybURpcmVjdG9yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGFsbEZhcm1Db25maWcgPSBhd2FpdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoKGFsbEZhcm1EaXJlY3RvcmllcywgZmFybURpcmVjdG9yeSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBVc2UgZGVmYXVsdCBjYW5keUZhcm0gcGF0aCBkaXIgPSAke2RlZmF1bHRGYXJtc0RpcmVjdG9yaWVzfWApO1xuICAgICAgICAgICAgYWxsRmFybUNvbmZpZyA9IGF3YWl0IHZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgoXG4gICAgICAgICAgICAgICAgZGVmYXVsdEZhcm1zRGlyZWN0b3JpZXMsXG4gICAgICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICBjb250ZXh0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgICAgIGF3YWl0IHJ1bkRldkJ1aWxkU2VydmVyKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgYWxsRmFybUNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBydW5CdWlsZFNlcnZlcihjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGFsbEZhcm1Db25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwibG9jYWxpemVcIikge1xuICAgICAgICBhd2FpdCBydW5Mb2NhbGl6YXRpb24oXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgZmFybURpcmVjdG9yeSk7XG4gICAgfVxufSk7XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DYW5keUNMSS50cyJdLCJuYW1lcyI6WyJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsIm9sZFRlbXBGaWxlTmFtZXMiLCJmaWx0ZXIiLCJ4IiwiZW5kc1dpdGgiLCJsZW5ndGgiLCJsb2ciLCJmaWxlTmFtZSIsInBhdGgiLCJqb2luIiwidmFsaWRhdGVGYXJtQ29uZmlnIiwiZmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwicmVzb2x2ZSIsInZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgiLCJhbGxGYXJtRGlyZWN0b3JpZXMiLCJjdXJyZW50RGlyIiwiY29udGV4dCIsInJlc3VsdCIsInB0aCIsInB1c2giLCJwYXRoVG9GYXJtIiwiYXJndiIsInBhcnNlZEFyZ3MiLCJzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSIsIm9wdGlvbnMiLCJsb2dWZXJib3NpdHkiLCJ2ZXJib3NlIiwiY3dkIiwidHlwZSIsImFsbEZhcm1zRGlyIiwid2FybmluZyIsImFsbEZhcm1Db25maWciLCJBcnJheSIsImlzQXJyYXkiLCJobEZhcm1EaXJlY3RvcnlQYXRoIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FB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QUFvQixXQUF4QixFQUFxQztBQUNqQyxVQUFNLDhCQUFZWixPQUFaLEVBQXFCTSxVQUFVLENBQUNFLE9BQWhDLEVBQXlDL0IsYUFBekMsQ0FBTjtBQUNIO0FBQ0osQ0F0RkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJjb3JlLWpzL2ZlYXR1cmVzL2FycmF5L2ZsYXRcIjtcbmltcG9ydCBcImNvcmUtanMvcHJvcG9zYWxzL2l0ZXJhdG9yLWhlbHBlcnNcIjtcbmltcG9ydCBcImNvcmUtanMvc3RhYmxlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBwYXRoRXhpc3RzLCByZWFkZGlyLCB1bmxpbmsgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCBcInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcInNoZWxsanNcIjtcblxuaW1wb3J0IHsgcnVuQnVpbGRGb3JtcyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvUnVuQnVpbGRGb3Jtc1wiO1xuaW1wb3J0IHsgcnVuQnVpbGRTZXJ2ZXIsIHJ1bkRldkJ1aWxkU2VydmVyIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUnVuQnVpbGRTZXJ2ZXJcIjtcbmltcG9ydCB7IHJ1bkRldkJ1aWxkIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvRGV2QnVpbGQvUnVuRGV2QnVpbGRcIjtcbmltcG9ydCB7IHJ1bkZvcm1TdGF0cyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0Zvcm1TdGF0cy9SdW5Gb3JtU3RhdHNcIjtcbmltcG9ydCB7IHJ1bkluaXRGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvSW5pdEZvcm0vUnVuSW5pdEZvcm1cIjtcbmltcG9ydCB7IHJ1bkxvY2FsaXphdGlvbiB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0xvY2FsaXphdGlvbi9SdW5Mb2NhbGl6YXRpb25cIjtcbmltcG9ydCB7IHJ1blVwZ3JhZGVGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvVXBncmFkZUZvcm0vUnVuVXBncmFkZUZvcm1cIjtcbmltcG9ydCB7IHJ1bkNvbnNvbGVBcHBsaWNhdGlvbiB9IGZyb20gXCIuL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvblwiO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBzZXRMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBwYXJzZU9wdGlvbnMgfSBmcm9tIFwiLi9PcHRpb25zL0NhbmR5VG9vbE9wdGlvbnNcIjtcbmltcG9ydCB7IHJlYWRGYXJtQ29uZmlnIH0gZnJvbSBcIi4vUmVhZEZhcm1Db25maWdcIjtcbmltcG9ydCB7IGdldEN1cnJlbnRWZXJzaW9uIH0gZnJvbSBcIi4vU2VsZlVwZGF0ZVwiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcblxuY29uZmlnLmZhdGFsID0gdHJ1ZTtcblxuZXhwb3J0IGludGVyZmFjZSBGYXJtQ29uZmlnIHtcbiAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgZW5naW5lRGlyZWN0b3J5Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHJlc291cmNlc0RpcmVjdG9yeT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBobEZhcm1EaXJlY3RvcnlQYXRoOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcygpOiB2b2lkIHtcbiAgICBjb25zdCBkZWJ1Z0FyZ0lkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdC1icmtcIik7XG4gICAgaWYgKGRlYnVnQXJnSWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZ0lkeCwgMSk7XG4gICAgfVxuICAgIGNvbnN0IGRlYnVnQXJnMklkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdFwiKTtcbiAgICBpZiAoZGVidWdBcmcySWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZzJJZHgsIDEpO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKGZhcm1EaXJlY3Rvcnk6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZWFkZGlyKGZhcm1EaXJlY3RvcnkpO1xuICAgIGNvbnN0IG9sZFRlbXBGaWxlTmFtZXMgPSBmaWxlcy5maWx0ZXIoeCA9PiB4LmVuZHNXaXRoKFwiLmNhbmR5LXRtcC53ZWJwYWNrLmNvbmZpZy5qc1wiKSk7XG4gICAgaWYgKG9sZFRlbXBGaWxlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3Zpbmcgb2xkIHdlYnBhY2suY29uZmlnLmpzIGZpbGVzXCIpO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIG9sZFRlbXBGaWxlTmFtZXMpIHtcbiAgICAgICAgICAgIGF3YWl0IHVubGluayhwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgZmlsZU5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3ZlZCBvbGQgd2VicGFjay5jb25maWcuanMgZmlsZXNcIik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZhcm1Db25maWcoZmFybURpcmVjdG9yeTogc3RyaW5nKTogRmFybUNvbmZpZyB7XG4gICAgY29uc3QgZmFybUNvbmZpZyA9IHJlYWRGYXJtQ29uZmlnKGZhcm1EaXJlY3RvcnkpO1xuXG4gICAgaWYgKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5ID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbmdpbmVEaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZFwiKTtcbiAgICB9XG4gICAgaWYgKGZhcm1Db25maWcucmVzb3VyY2VzRGlyZWN0b3J5ID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXNvdXJjZXNEaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybURpcmVjdG9yeSwgXCIuLlwiLCBcIi5jYW5keV9tb2R1bGVzXCIpO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmZhcm1Db25maWcsXG4gICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgIH07XG59XG5cbmNvbnN0IHZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGggPSBhc3luYyAoXG4gICAgYWxsRmFybURpcmVjdG9yaWVzOiBzdHJpbmdbXSxcbiAgICBjdXJyZW50RGlyOiBzdHJpbmcsXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFxuKTogUHJvbWlzZTxGYXJtQ29uZmlnW10+ID0+IHtcbiAgICBjb25zdCByZXN1bHQ6IEZhcm1Db25maWdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwYXRoLmpvaW4ocHRoLCBcImNvbmZpZy5qc1wiKSkpIHtcbiAgICAgICAgICAgIGF3YWl0IHJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyhwdGgsIGNvbnRleHQubG9nZ2VyKTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbGlkYXRlRmFybUNvbmZpZyhwdGgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vINCS0YHQtSDQtNC10LvQviDQsiDRgtC+0LwsINGH0YLQviDRgdCy0Y/Qt9C60LAgc2VydmljZS1ydW5uZXItMiArIHRvb2xzINC60L7RgNGA0LXQutGC0L3QviDRgNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQsiDQv9Cw0L/QutC1INGBINGE0L7RgNC80L7QuVxuICAgICAgICAgICAgLy8g0LjQtyDQt9CwINGH0LXQs9C+LCDQstC90YPRgtGA0Lgg0YDQsNC90L3QtdGA0LAg0L3QsNC/0LjQu9C10L0g0YXQuNGC0YDRi9C5INC80LXRhdCw0L3QuNC30Lwg0L/QvtC40YHQutCwINC/0YPRgtC10Lkg0YTQvtGA0LzRiy4g0J/QtdGA0LXQv9C40LvQuNCy0LDRgtGMINCy0YHQtSDQvNC10YXQsNC90LjQutC4XG4gICAgICAgICAgICAvLyDRgdC+0LLRgdC10Lwg0L3QtSDRhdC+0YfQtdGC0YHRjywg0L/QvtGN0YLQvtC80YMg0LTQu9GPINC90LDRgSwg0YHRh9C40YLQsNGOINC/0L7QtNC90Y/RgtC40LUg0LTQviDRg9GA0L7QstC90Y8gZW5naW5lINCy0L/QvtC70L3QtSDQv9GA0LjQtdC80LvQtdC80YvQvCDRgNC10YjQtdC90LjQtdC8XG4gICAgICAgICAgICBjb25zdCBwYXRoVG9GYXJtID0gcGF0aC5qb2luKGN1cnJlbnREaXIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIHB0aCk7XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKHBhdGhUb0Zhcm0pKSkge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBhbGxGYXJtRGlyZWN0b3JpZXMgcGF0aCA9ICR7cGF0aFRvRmFybX0gbm90IGV4aXN0YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMocGF0aFRvRmFybSwgY29udGV4dC5sb2dnZXIpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGVGYXJtQ29uZmlnKHBhdGhUb0Zhcm0pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxucnVuQ29uc29sZUFwcGxpY2F0aW9uKGFzeW5jIChhcmd2LCBjb250ZXh0KSA9PiB7XG4gICAgcmVtb3RlSW5zcGVjdEZsYWdUb0Rpc2FibGVEZWJ1Z2dlckluQ2hpbGRQcm9jZXNzKCk7XG5cbiAgICBjb250ZXh0LmxvZ2dlci5sb2coXCJAa29udHVyLmNhbmR5L3Rvb2xzOiBcIiArIChhd2FpdCBnZXRDdXJyZW50VmVyc2lvbigpKSk7XG4gICAgY29uc3QgcGFyc2VkQXJncyA9IHBhcnNlT3B0aW9ucyhhcmd2KTtcblxuICAgIGNvbnRleHQuc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkocGFyc2VkQXJncy5vcHRpb25zLmxvZ1ZlcmJvc2l0eSk7XG4gICAgc2V0TG9nZ2VyKGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb250ZXh0LmxvZ2dlci52ZXJib3NlKGBWZXJib3NlIGxldmVsOiAke3BhcnNlZEFyZ3Mub3B0aW9ucy5sb2dWZXJib3NpdHl9YCk7XG5cbiAgICBjb25zdCBmYXJtRGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMoZmFybURpcmVjdG9yeSwgY29udGV4dC5sb2dnZXIpO1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZW5naW5lRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5KTtcbiAgICBjb25zdCByZXNvdXJjZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtRGlyZWN0b3J5LCBcIi4uXCIsIFwiLmNhbmR5X21vZHVsZXNcIik7XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiIHx8IHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgY29uc3QgYWxsRmFybURpcmVjdG9yaWVzID0gcGFyc2VkQXJncy5vcHRpb25zLmFsbEZhcm1zRGlyO1xuICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBhbGxGYXJtRGlyZWN0b3JpZXMgPSAke3BhcnNlZEFyZ3Mub3B0aW9ucy5hbGxGYXJtc0Rpcn1gKTtcbiAgICAgICAgbGV0IGFsbEZhcm1Db25maWc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbEZhcm1EaXJlY3RvcmllcykgJiYgYWxsRmFybURpcmVjdG9yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGFsbEZhcm1Db25maWcgPSBhd2FpdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoKGFsbEZhcm1EaXJlY3RvcmllcywgZmFybURpcmVjdG9yeSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBVc2UgZGVmYXVsdCBjYW5keUZhcm0gcGF0aCBkaXIgPSAke2Zhcm1EaXJlY3Rvcnl9YCk7XG4gICAgICAgICAgICBhbGxGYXJtQ29uZmlnID0gYXdhaXQgdmFsaWRhdGVBbmRQcmVwYXJlRmFybURpcmVjdG9yaWVzUGF0aChbZmFybURpcmVjdG9yeV0sIGZhcm1EaXJlY3RvcnksIGNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgICAgIGF3YWl0IHJ1bkRldkJ1aWxkU2VydmVyKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgYWxsRmFybUNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBydW5CdWlsZFNlcnZlcihjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGFsbEZhcm1Db25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwibG9jYWxpemVcIikge1xuICAgICAgICBhd2FpdCBydW5Mb2NhbGl6YXRpb24oXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgZmFybURpcmVjdG9yeSk7XG4gICAgfVxufSk7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/tools",
3
- "version": "2.136.0",
3
+ "version": "2.138.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "candy.js",