occam-languages 0.0.115 → 0.0.117

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.
@@ -77,12 +77,12 @@ async function createReleaseContext(dependency, dependentNames, context) {
77
77
  return releaseContextCreated;
78
78
  }
79
79
  async function verifyReleaseContext(releaseName, dependentName, dependentReleased, releaseContextMap) {
80
- let releaseVerifies = false;
80
+ let releaseContextVerifies = false;
81
81
  const releaseContext = releaseContextMap[releaseName];
82
82
  if (releaseContext !== null) {
83
83
  const released = releaseContext.isReleased();
84
84
  if (released) {
85
- releaseVerifies = true;
85
+ releaseContextVerifies = true;
86
86
  } else {
87
87
  if (dependentReleased) {
88
88
  releaseContext.warning(`The '${releaseName}' project cannot be verifies because its '${dependentName}' dependent is a package.`);
@@ -91,20 +91,20 @@ async function verifyReleaseContext(releaseName, dependentName, dependentRelease
91
91
  if (dependencyReleaseContextsVerify) {
92
92
  const releaseContextVerified = releaseContext.hasVerified();
93
93
  if (releaseContextVerified) {
94
- releaseVerifies = true;
94
+ releaseContextVerifies = true;
95
95
  } else {
96
96
  releaseContext.info(`Verifying the '${releaseName}' project...`);
97
- const releaseContextVerifies = await releaseContext.verify();
98
- if (releaseContextVerifies) {
97
+ const verifies = await releaseContext.verify();
98
+ if (verifies) {
99
99
  releaseContext.info(`...verified the '${releaseName}' project.`);
100
- releaseVerifies = true;
100
+ releaseContextVerifies = true;
101
101
  }
102
102
  }
103
103
  }
104
104
  }
105
105
  }
106
106
  }
107
- return releaseVerifies;
107
+ return releaseContextVerifies;
108
108
  }
109
109
  const _default = {
110
110
  createReleaseContext,
@@ -189,4 +189,4 @@ function initialiseDependencyReleaseContexts(dependency, releaseContext, context
189
189
  });
190
190
  }
191
191
 
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNFdmVyeURlcGVuZGVuY3kgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2RlcGVuZGVuY3lcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpc2VSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgbG9nLCByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgbG9nLndhcm5pbmcoYFVuYWJsZSB0byBpbml0aWFsaXNlIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIGNvbnRleHQgYmVjYXVzZSBpdCBoYXMgbm90IGJlZW4gY3JlYXRlZC5gKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZWxlYXNlQ29udGV4dEluaXRpYWxpc2VkID0gcmVsZWFzZUNvbnRleHQuaXNJbml0aWFsaXNlZCgpO1xuXG4gICAgaWYgKCFyZWxlYXNlQ29udGV4dEluaXRpYWxpc2VkKSB7XG4gICAgICBpbml0aWFsaXNlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCByZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0cyA9IHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCByZWxlYXNlQ29udGV4dE1hcCk7XG5cbiAgICAgIGxvZy5pbmZvKGBJbml0aWFsaXNpbmcgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgY29udGV4dC4uLmApO1xuXG4gICAgICBjb25zdCB7IEZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIH0gPSBjb250ZXh0O1xuXG4gICAgICByZWxlYXNlQ29udGV4dC5pbml0aWFsaXNlKHJlbGVhc2VDb250ZXh0cywgRmlsZUNvbnRleHRGcm9tRmlsZVBhdGgpO1xuXG4gICAgICBsb2cuZGVidWcoYC4uLmluaXRpYWxpc2VkIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIGNvbnRleHQuYCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gZmFsc2U7XG5cbiAgY29uc3QgeyBsb2csIHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gfHwgbnVsbDtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpIHtcbiAgICBjb25zdCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSkge1xuICAgICAgbG9nLmRlYnVnKGBUaGUgJyR7cmVsZWFzZU5hbWV9JyBjb250ZXh0IGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC5gKTtcblxuICAgICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKSxcbiAgICAgICAgICBkZXBlbmRlbnROYW1lc0xlbmd0aCA9IGRlcGVuZGVudE5hbWVzLmxlbmd0aDtcblxuICAgIGlmIChkZXBlbmRlbnROYW1lc0xlbmd0aCA9PT0gMCkge1xuICAgICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtyZWxlYXNlTmFtZX0nIGNvbnRleHQuLi5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICAgIGRlcGVuZGVudE5hbWUgPSBsYXN0RGVwZW5kZW50TmFtZTsgIC8vL1xuXG4gICAgICBsb2cuaW5mbyhgQ3JlYXRpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dCBnaXZlbiB0aGUgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGFudCdzICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5Li4uYCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0LFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gYXdhaXQgcmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeShkZXBlbmRlbmN5LCBjb250ZXh0KTtcblxuICAgIGlmIChyZWxlYXNlQ29udGV4dCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSkge1xuICAgICAgICByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gPSByZWxlYXNlQ29udGV4dDtcblxuICAgICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCA9IGF3YWl0IGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgcmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQpIHtcbiAgICAgICAgICByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lOyAvLy9cblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtyZWxlYXNlTmFtZX0nIGNvbnRleHQgY291bGQgbm90IGJlIGNyZWF0ZWQuIFBlcmhhcHMgdGhlICdtZXRhLmpzb24nIGZpbGUgaXMgbWlzc2luZyBvciBpbnZhbGlkLiBPciB0aGVyZSBjb3VsZCBiZSBhIGRlcGVuZGVuY3kgbWlzbWF0Y2guYCk7XG4gICAgfVxuXG4gICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID9cbiAgICAgIGxvZy5kZWJ1ZyhgLi4uY3JlYXRlZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBjb250ZXh0LmApIDpcbiAgICAgICAgbG9nLndhcm5pbmcoYC4uLnVuYWJsZSB0byBjcmVhdGUgdGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dC5gKTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dENyZWF0ZWQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dChyZWxlYXNlTmFtZSwgZGVwZW5kZW50TmFtZSwgZGVwZW5kZW50UmVsZWFzZWQsIHJlbGVhc2VDb250ZXh0TWFwKSB7XG4gIGxldCByZWxlYXNlVmVyaWZpZXMgPSBmYWxzZTtcblxuICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXTtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpIHtcbiAgICBjb25zdCByZWxlYXNlZCA9IHJlbGVhc2VDb250ZXh0LmlzUmVsZWFzZWQoKTtcblxuICAgIGlmIChyZWxlYXNlZCkge1xuICAgICAgcmVsZWFzZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGRlcGVuZGVudFJlbGVhc2VkKSB7XG4gICAgICAgIHJlbGVhc2VDb250ZXh0Lndhcm5pbmcoYFRoZSAnJHtyZWxlYXNlTmFtZX0nIHByb2plY3QgY2Fubm90IGJlIHZlcmlmaWVzIGJlY2F1c2UgaXRzICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRlbnQgaXMgYSBwYWNrYWdlLmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGVwZW5kZW50TmFtZSA9IHJlbGVhc2VOYW1lLCAgLy8vXG4gICAgICAgICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gcmVsZWFzZWQsIC8vL1xuICAgICAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzVmVyaWZ5ID0gYXdhaXQgdmVyaWZ5RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW50TmFtZSwgZGVwZW5kZW50UmVsZWFzZWQsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICAgICAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c1ZlcmlmeSkge1xuICAgICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0VmVyaWZpZWQgPSByZWxlYXNlQ29udGV4dC5oYXNWZXJpZmllZCgpO1xuXG4gICAgICAgICAgaWYgKHJlbGVhc2VDb250ZXh0VmVyaWZpZWQpIHtcbiAgICAgICAgICAgIHJlbGVhc2VWZXJpZmllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0LmluZm8oYFZlcmlmeWluZyB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0Li4uYCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0VmVyaWZpZXMgPSBhd2FpdCByZWxlYXNlQ29udGV4dC52ZXJpZnkoKTtcblxuICAgICAgICAgICAgaWYgKHJlbGVhc2VDb250ZXh0VmVyaWZpZXMpIHtcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHQuaW5mbyhgLi4udmVyaWZpZWQgdGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdC5gKTtcblxuICAgICAgICAgICAgICByZWxlYXNlVmVyaWZpZXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWxlYXNlVmVyaWZpZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHQsXG4gIHZlcmlmeVJlbGVhc2VDb250ZXh0LFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgcmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGxldCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZDtcblxuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICBkZXBlbmRlbnROYW1lcyA9IFsgLi4uZGVwZW5kZW50TmFtZXMsIGRlcGVuZGVuY3lOYW1lIF07ICAvLy9cblxuICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCA9IGF3YWl0IGFzeW5jRXZlcnlEZXBlbmRlbmN5KGRlcGVuZGVuY2llcywgYXN5bmMgKGRlcGVuZGVuY3kpID0+IHtcbiAgICBjb25zdCBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzID0gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmICghY3ljbGljRGVwZW5kZW5jeUV4aXN0cykge1xuICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gYXdhaXQgY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkO1xufVxuXG5hc3luYyBmdW5jdGlvbiB2ZXJpZnlEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnROYW1lLCBkZXBlbmRlbnRSZWxlYXNlZCwgcmVsZWFzZUNvbnRleHRNYXApIHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCksXG4gICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNWZXJpZnkgPSBhd2FpdCBhc3luY0V2ZXJ5RGVwZW5kZW5jeShkZXBlbmRlbmNpZXMsIGFzeW5jIChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICAgIHJlbGVhc2VOYW1lID0gbmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRWZXJpZmllcyA9IGF3YWl0IHZlcmlmeVJlbGVhc2VDb250ZXh0KHJlbGVhc2VOYW1lLCBkZXBlbmRlbnROYW1lLCBkZXBlbmRlbnRSZWxlYXNlZCwgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gICAgICAgICAgaWYgKHJlbGVhc2VDb250ZXh0VmVyaWZpZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNWZXJpZnk7XG59XG5cbmZ1bmN0aW9uIHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCByZWxlYXNlQ29udGV4dE1hcCkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dHMgPSBbXSxcbiAgICAgICAgcmVtYWluaW5nUmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dCwgIC8vL1xuICAgICAgICByZW1haW5pbmdSZWxlYXNlQ29udGV4dHMgPSBbXG4gICAgICAgICAgcmVtYWluaW5nUmVsZWFzZUNvbnRleHRcbiAgICAgICAgXTtcblxuICBsZXQgcmVtYWluaW5nUmVsZWFzZUNvbnRleHRzTGVuZ3RoID0gcmVtYWluaW5nUmVsZWFzZUNvbnRleHRzLmxlbmd0aDtcblxuICB3aGlsZSAocmVtYWluaW5nUmVsZWFzZUNvbnRleHRzTGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0ID0gcmVtYWluaW5nUmVsZWFzZUNvbnRleHRzLnNoaWZ0KCksXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZW1haW5pbmdSZWxlYXNlQ29udGV4dDsgIC8vL1xuXG4gICAgcmVsZWFzZUNvbnRleHRzLnB1c2gocmVsZWFzZUNvbnRleHQpO1xuXG4gICAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgICBkZXBlbmRlbmNpZXMuZm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3kpID0+IHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdLFxuICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0cy5pbmNsdWRlcyhyZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgICByZW1haW5pbmdSZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0ID0gcmVtYWluaW5nUmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgaWYgKCFyZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0ICYmICFyZW1haW5pbmdSZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHQ7IC8vL1xuXG4gICAgICAgIHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0cy5wdXNoKHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0c0xlbmd0aCA9IHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0cy5sZW5ndGg7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZUNvbnRleHRzO1xufVxuXG5mdW5jdGlvbiBjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgZGVwZW5kZW50TmFtZXNJbmNsdWRlc0RlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW50TmFtZXMuaW5jbHVkZXMoZGVwZW5kZW5jeU5hbWUpLFxuICAgICAgICBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzID0gZGVwZW5kZW50TmFtZXNJbmNsdWRlc0RlcGVuZGVuY3lOYW1lOyAgLy8vXG5cbiAgaWYgKGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMpIHtcbiAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWUgPSBmaXJzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgZGVwZW5kZW5jeU5hbWVzID0gWyAgLy8vXG4gICAgICAgICAgICAuLi5kZXBlbmRlbnROYW1lcyxcbiAgICAgICAgICAgIGZpcnN0RGVwZW5kZW50TmFtZVxuICAgICAgICAgIF0sXG4gICAgICAgICAgZGVwZW5kZW5jeU5hbWVzU3RyaW5nID0gZGVwZW5kZW5jeU5hbWVzLmpvaW4oYCcgLT4gJ2ApO1xuXG4gICAgbG9nLndhcm5pbmcoYFRoZXJlIGlzIGEgY3ljbGljIGRlcGVuZGVuY3ksICcke2RlcGVuZGVuY3lOYW1lc1N0cmluZ30nLmApO1xuICB9XG5cbiAgcmV0dXJuIGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHM7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gdHJ1ZTtcblxuICBjb25zdCBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVkVmVyc2lvbigpO1xuXG4gIGlmIChzaG9ydGVuZWRWZXJzaW9uICE9PSBudWxsKSB7XG4gICAgY29uc3QgZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0Lm1hdGNoU2hvcnRlbmVkVmVyc2lvbihzaG9ydGVuZWRWZXJzaW9uKTtcblxuICAgIGlmICghZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbikge1xuICAgICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgICB2ZXJzaW9uID0gcmVsZWFzZUNvbnRleHQuZ2V0VmVyc2lvbigpLFxuICAgICAgICAgICAgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICAgIGRlcGVuZGVudE5hbWUgPSBsYXN0RGVwZW5kZW50TmFtZSwgIC8vL1xuICAgICAgICAgICAgdmVyc2lvblN0cmluZyA9IHZlcnNpb24udG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGRlcGVuZGVuY3lTdHJpbmcgPSBkZXBlbmRlbmN5LmFzU3RyaW5nKCk7XG5cbiAgICAgIGxvZy53YXJuaW5nKGBUaGUgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGVudCByZXF1aXJlcyB0aGUgJyR7ZGVwZW5kZW5jeVN0cmluZ30nIGRlcGVuZGVuY3kgYnV0IGEgY29udGV4dCB3aXRoIHZlcnNpb24gJyR7dmVyc2lvblN0cmluZ30nIHdhcyBwcm92aWRlZC5gKTtcblxuICAgICAgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeTtcbn1cblxuZnVuY3Rpb24gaW5pdGlhbGlzZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgcmVsZWFzZUNvbnRleHQsIGNvbnRleHQpIHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7ICAvLy9cbiAgICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVJlbGVhc2VDb250ZXh0IiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0IiwidmVyaWZ5UmVsZWFzZUNvbnRleHQiLCJsYXN0IiwiYXJyYXlVdGlsaXRpZXMiLCJkZXBlbmRlbmN5IiwiY29udGV4dCIsImxvZyIsInJlbGVhc2VDb250ZXh0TWFwIiwiZGVwZW5kZW5jeU5hbWUiLCJnZXROYW1lIiwicmVsZWFzZU5hbWUiLCJyZWxlYXNlQ29udGV4dCIsIndhcm5pbmciLCJyZWxlYXNlQ29udGV4dEluaXRpYWxpc2VkIiwiaXNJbml0aWFsaXNlZCIsImluaXRpYWxpc2VEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwicmVsZWFzZUNvbnRleHRzIiwicmV0cmlldmVSZWxlYXNlQ29udGV4dHMiLCJpbmZvIiwiRmlsZUNvbnRleHRGcm9tRmlsZVBhdGgiLCJpbml0aWFsaXNlIiwiZGVidWciLCJkZXBlbmRlbnROYW1lcyIsInJlbGVhc2VDb250ZXh0Q3JlYXRlZCIsInJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5IiwiZGVwZW5kZW5jeVN0cmluZyIsImFzU3RyaW5nIiwiZGVwZW5kZW50TmFtZXNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0RGVwZW5kZW50TmFtZSIsImRlcGVuZGVudE5hbWUiLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQiLCJjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiZGVwZW5kZW50UmVsZWFzZWQiLCJyZWxlYXNlVmVyaWZpZXMiLCJyZWxlYXNlZCIsImlzUmVsZWFzZWQiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzVmVyaWZ5IiwidmVyaWZ5RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VDb250ZXh0VmVyaWZpZWQiLCJoYXNWZXJpZmllZCIsInJlbGVhc2VDb250ZXh0VmVyaWZpZXMiLCJ2ZXJpZnkiLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJhc3luY0V2ZXJ5RGVwZW5kZW5jeSIsImN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJuYW1lIiwicmVtYWluaW5nUmVsZWFzZUNvbnRleHQiLCJyZW1haW5pbmdSZWxlYXNlQ29udGV4dHMiLCJyZW1haW5pbmdSZWxlYXNlQ29udGV4dHNMZW5ndGgiLCJzaGlmdCIsInB1c2giLCJmb3JFYWNoRGVwZW5kZW5jeSIsInJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQiLCJpbmNsdWRlcyIsInJlbWFpbmluZ1JlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbnROYW1lc0luY2x1ZGVzRGVwZW5kZW5jeU5hbWUiLCJmaXJzdERlcGVuZGVudE5hbWUiLCJmaXJzdCIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lc1N0cmluZyIsImpvaW4iLCJzaG9ydGVuZWRWZXJzaW9uIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQW1Dc0JBO2VBQUFBOztRQXFHdEI7ZUFBQTs7UUFoSWdCQztlQUFBQTs7UUFzRk1DO2VBQUFBOzs7MkJBNUZTOzRCQUVNO0FBRXJDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLHlCQUFjO0FBRXhCLFNBQVNILHlCQUF5QkksVUFBVSxFQUFFQyxPQUFPO0lBQzFELE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxpQkFBaUIsRUFBRSxHQUFHRixTQUM3QkcsaUJBQWlCSixXQUFXSyxPQUFPLElBQ25DQyxjQUFjRixnQkFDZEcsaUJBQWlCSixpQkFBaUIsQ0FBQ0csWUFBWSxJQUFJO0lBRXpELElBQUlDLG1CQUFtQixNQUFNO1FBQzNCTCxJQUFJTSxP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
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNFdmVyeURlcGVuZGVuY3kgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2RlcGVuZGVuY3lcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpc2VSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgbG9nLCByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgbG9nLndhcm5pbmcoYFVuYWJsZSB0byBpbml0aWFsaXNlIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIGNvbnRleHQgYmVjYXVzZSBpdCBoYXMgbm90IGJlZW4gY3JlYXRlZC5gKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZWxlYXNlQ29udGV4dEluaXRpYWxpc2VkID0gcmVsZWFzZUNvbnRleHQuaXNJbml0aWFsaXNlZCgpO1xuXG4gICAgaWYgKCFyZWxlYXNlQ29udGV4dEluaXRpYWxpc2VkKSB7XG4gICAgICBpbml0aWFsaXNlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCByZWxlYXNlQ29udGV4dCwgY29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0cyA9IHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCByZWxlYXNlQ29udGV4dE1hcCk7XG5cbiAgICAgIGxvZy5pbmZvKGBJbml0aWFsaXNpbmcgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgY29udGV4dC4uLmApO1xuXG4gICAgICBjb25zdCB7IEZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIH0gPSBjb250ZXh0O1xuXG4gICAgICByZWxlYXNlQ29udGV4dC5pbml0aWFsaXNlKHJlbGVhc2VDb250ZXh0cywgRmlsZUNvbnRleHRGcm9tRmlsZVBhdGgpO1xuXG4gICAgICBsb2cuZGVidWcoYC4uLmluaXRpYWxpc2VkIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIGNvbnRleHQuYCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gZmFsc2U7XG5cbiAgY29uc3QgeyBsb2csIHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gfHwgbnVsbDtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpIHtcbiAgICBjb25zdCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSkge1xuICAgICAgbG9nLmRlYnVnKGBUaGUgJyR7cmVsZWFzZU5hbWV9JyBjb250ZXh0IGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC5gKTtcblxuICAgICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGVwZW5kZW5jeVN0cmluZyA9IGRlcGVuZGVuY3kuYXNTdHJpbmcoKSxcbiAgICAgICAgICBkZXBlbmRlbnROYW1lc0xlbmd0aCA9IGRlcGVuZGVudE5hbWVzLmxlbmd0aDtcblxuICAgIGlmIChkZXBlbmRlbnROYW1lc0xlbmd0aCA9PT0gMCkge1xuICAgICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtyZWxlYXNlTmFtZX0nIGNvbnRleHQuLi5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICAgIGRlcGVuZGVudE5hbWUgPSBsYXN0RGVwZW5kZW50TmFtZTsgIC8vL1xuXG4gICAgICBsb2cuaW5mbyhgQ3JlYXRpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dCBnaXZlbiB0aGUgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGFudCdzICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5Li4uYCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0LFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gYXdhaXQgcmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeShkZXBlbmRlbmN5LCBjb250ZXh0KTtcblxuICAgIGlmIChyZWxlYXNlQ29udGV4dCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSkge1xuICAgICAgICByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gPSByZWxlYXNlQ29udGV4dDtcblxuICAgICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCA9IGF3YWl0IGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgcmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQpIHtcbiAgICAgICAgICByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lOyAvLy9cblxuICAgICAgbG9nLndhcm5pbmcoYFRoZSAnJHtyZWxlYXNlTmFtZX0nIGNvbnRleHQgY291bGQgbm90IGJlIGNyZWF0ZWQuIFBlcmhhcHMgdGhlICdtZXRhLmpzb24nIGZpbGUgaXMgbWlzc2luZyBvciBpbnZhbGlkLiBPciB0aGVyZSBjb3VsZCBiZSBhIGRlcGVuZGVuY3kgbWlzbWF0Y2guYCk7XG4gICAgfVxuXG4gICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID9cbiAgICAgIGxvZy5kZWJ1ZyhgLi4uY3JlYXRlZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBjb250ZXh0LmApIDpcbiAgICAgICAgbG9nLndhcm5pbmcoYC4uLnVuYWJsZSB0byBjcmVhdGUgdGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dC5gKTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dENyZWF0ZWQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dChyZWxlYXNlTmFtZSwgZGVwZW5kZW50TmFtZSwgZGVwZW5kZW50UmVsZWFzZWQsIHJlbGVhc2VDb250ZXh0TWFwKSB7XG4gIGxldCByZWxlYXNlQ29udGV4dFZlcmlmaWVzID0gZmFsc2U7XG5cbiAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV07XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgcmVsZWFzZWQgPSByZWxlYXNlQ29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgICBpZiAocmVsZWFzZWQpIHtcbiAgICAgIHJlbGVhc2VDb250ZXh0VmVyaWZpZXMgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGVwZW5kZW50UmVsZWFzZWQpIHtcbiAgICAgICAgcmVsZWFzZUNvbnRleHQud2FybmluZyhgVGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdCBjYW5ub3QgYmUgdmVyaWZpZXMgYmVjYXVzZSBpdHMgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGVudCBpcyBhIHBhY2thZ2UuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkZXBlbmRlbnROYW1lID0gcmVsZWFzZU5hbWUsICAvLy9cbiAgICAgICAgICAgICAgZGVwZW5kZW50UmVsZWFzZWQgPSByZWxlYXNlZCwgLy8vXG4gICAgICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNWZXJpZnkgPSBhd2FpdCB2ZXJpZnlEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnROYW1lLCBkZXBlbmRlbnRSZWxlYXNlZCwgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzVmVyaWZ5KSB7XG4gICAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRWZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0Lmhhc1ZlcmlmaWVkKCk7XG5cbiAgICAgICAgICBpZiAocmVsZWFzZUNvbnRleHRWZXJpZmllZCkge1xuICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRWZXJpZmllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0LmluZm8oYFZlcmlmeWluZyB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0Li4uYCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVzID0gYXdhaXQgcmVsZWFzZUNvbnRleHQudmVyaWZ5KCk7XG5cbiAgICAgICAgICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dC5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0LmApO1xuXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0VmVyaWZpZXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dFZlcmlmaWVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNyZWF0ZVJlbGVhc2VDb250ZXh0LFxuICB2ZXJpZnlSZWxlYXNlQ29udGV4dCxcbiAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0XG59O1xuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQ7XG5cbiAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgZGVwZW5kZW50TmFtZXMgPSBbIC4uLmRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbmN5TmFtZSBdOyAgLy8vXG5cbiAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQgPSBhd2FpdCBhc3luY0V2ZXJ5RGVwZW5kZW5jeShkZXBlbmRlbmNpZXMsIGFzeW5jIChkZXBlbmRlbmN5KSA9PiB7XG4gICAgY29uc3QgY3ljbGljRGVwZW5kZW5jeUV4aXN0cyA9IGNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCk7XG5cbiAgICBpZiAoIWN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMpIHtcbiAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA9IGF3YWl0IGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdmVyaWZ5RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW50TmFtZSwgZGVwZW5kZW50UmVsZWFzZWQsIHJlbGVhc2VDb250ZXh0TWFwKSB7XG4gIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpLFxuICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzVmVyaWZ5ID0gYXdhaXQgYXN5bmNFdmVyeURlcGVuZGVuY3koZGVwZW5kZW5jaWVzLCBhc3luYyAoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWUsIC8vL1xuICAgICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0VmVyaWZpZXMgPSBhd2FpdCB2ZXJpZnlSZWxlYXNlQ29udGV4dChyZWxlYXNlTmFtZSwgZGVwZW5kZW50TmFtZSwgZGVwZW5kZW50UmVsZWFzZWQsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICAgICAgICAgIGlmIChyZWxlYXNlQ29udGV4dFZlcmlmaWVzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzVmVyaWZ5O1xufVxuXG5mdW5jdGlvbiByZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgcmVsZWFzZUNvbnRleHRNYXApIHtcbiAgY29uc3QgcmVsZWFzZUNvbnRleHRzID0gW10sXG4gICAgICAgIHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHQsICAvLy9cbiAgICAgICAgcmVtYWluaW5nUmVsZWFzZUNvbnRleHRzID0gW1xuICAgICAgICAgIHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0XG4gICAgICAgIF07XG5cbiAgbGV0IHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0c0xlbmd0aCA9IHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0cy5sZW5ndGg7XG5cbiAgd2hpbGUgKHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0c0xlbmd0aCA+IDApIHtcbiAgICBjb25zdCByZW1haW5pbmdSZWxlYXNlQ29udGV4dCA9IHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0cy5zaGlmdCgpLFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVtYWluaW5nUmVsZWFzZUNvbnRleHQ7ICAvLy9cblxuICAgIHJlbGVhc2VDb250ZXh0cy5wdXNoKHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gICAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSxcbiAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dHMuaW5jbHVkZXMocmVsZWFzZUNvbnRleHQpLFxuICAgICAgICAgICAgcmVtYWluaW5nUmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCA9IHJlbWFpbmluZ1JlbGVhc2VDb250ZXh0cy5pbmNsdWRlcyhyZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIGlmICghcmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCAmJiAhcmVtYWluaW5nUmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCkge1xuICAgICAgICBjb25zdCByZW1haW5pbmdSZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0OyAvLy9cblxuICAgICAgICByZW1haW5pbmdSZWxlYXNlQ29udGV4dHMucHVzaChyZW1haW5pbmdSZWxlYXNlQ29udGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZW1haW5pbmdSZWxlYXNlQ29udGV4dHNMZW5ndGggPSByZW1haW5pbmdSZWxlYXNlQ29udGV4dHMubGVuZ3RoO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0cztcbn1cblxuZnVuY3Rpb24gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKGRlcGVuZGVuY3lOYW1lKSxcbiAgICAgICAgY3ljbGljRGVwZW5kZW5jeUV4aXN0cyA9IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZTsgIC8vL1xuXG4gIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgZmlyc3REZXBlbmRlbnROYW1lID0gZmlyc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IFsgIC8vL1xuICAgICAgICAgICAgLi4uZGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIGxvZy53YXJuaW5nKGBUaGVyZSBpcyBhIGN5Y2xpYyBkZXBlbmRlbmN5LCAnJHtkZXBlbmRlbmN5TmFtZXNTdHJpbmd9Jy5gKTtcbiAgfVxuXG4gIHJldHVybiBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzO1xufVxuXG5mdW5jdGlvbiBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSA9IHRydWU7XG5cbiAgY29uc3Qgc2hvcnRlbmVkVmVyc2lvbiA9IGRlcGVuZGVuY3kuZ2V0U2hvcnRlZFZlcnNpb24oKTtcblxuICBpZiAoc2hvcnRlbmVkVmVyc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICBpZiAoIWVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICAgIHZlcnNpb25TdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRlbnQgcmVxdWlyZXMgdGhlICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5IGJ1dCBhIGNvbnRleHQgd2l0aCB2ZXJzaW9uICcke3ZlcnNpb25TdHJpbmd9JyB3YXMgcHJvdmlkZWQuYCk7XG5cbiAgICAgIHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3k7XG59XG5cbmZ1bmN0aW9uIGluaXRpYWxpc2VEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KSB7XG4gIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVuY2llcy5mb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4geyAgLy8vXG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVSZWxlYXNlQ29udGV4dCIsImluaXRpYWxpc2VSZWxlYXNlQ29udGV4dCIsInZlcmlmeVJlbGVhc2VDb250ZXh0IiwibGFzdCIsImFycmF5VXRpbGl0aWVzIiwiZGVwZW5kZW5jeSIsImNvbnRleHQiLCJsb2ciLCJyZWxlYXNlQ29udGV4dE1hcCIsImRlcGVuZGVuY3lOYW1lIiwiZ2V0TmFtZSIsInJlbGVhc2VOYW1lIiwicmVsZWFzZUNvbnRleHQiLCJ3YXJuaW5nIiwicmVsZWFzZUNvbnRleHRJbml0aWFsaXNlZCIsImlzSW5pdGlhbGlzZWQiLCJpbml0aWFsaXNlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VDb250ZXh0cyIsInJldHJpZXZlUmVsZWFzZUNvbnRleHRzIiwiaW5mbyIsIkZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIiwiaW5pdGlhbGlzZSIsImRlYnVnIiwiZGVwZW5kZW50TmFtZXMiLCJyZWxlYXNlQ29udGV4dENyZWF0ZWQiLCJyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lTdHJpbmciLCJhc1N0cmluZyIsImRlcGVuZGVudE5hbWVzTGVuZ3RoIiwibGVuZ3RoIiwibGFzdERlcGVuZGVudE5hbWUiLCJkZXBlbmRlbnROYW1lIiwicmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkIiwiY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImRlcGVuZGVudFJlbGVhc2VkIiwicmVsZWFzZUNvbnRleHRWZXJpZmllcyIsInJlbGVhc2VkIiwiaXNSZWxlYXNlZCIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNWZXJpZnkiLCJ2ZXJpZnlEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwicmVsZWFzZUNvbnRleHRWZXJpZmllZCIsImhhc1ZlcmlmaWVkIiwidmVyaWZpZXMiLCJ2ZXJpZnkiLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJhc3luY0V2ZXJ5RGVwZW5kZW5jeSIsImN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJuYW1lIiwicmVtYWluaW5nUmVsZWFzZUNvbnRleHQiLCJyZW1haW5pbmdSZWxlYXNlQ29udGV4dHMiLCJyZW1haW5pbmdSZWxlYXNlQ29udGV4dHNMZW5ndGgiLCJzaGlmdCIsInB1c2giLCJmb3JFYWNoRGVwZW5kZW5jeSIsInJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQiLCJpbmNsdWRlcyIsInJlbWFpbmluZ1JlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbnROYW1lc0luY2x1ZGVzRGVwZW5kZW5jeU5hbWUiLCJmaXJzdERlcGVuZGVudE5hbWUiLCJmaXJzdCIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lc1N0cmluZyIsImpvaW4iLCJzaG9ydGVuZWRWZXJzaW9uIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQW1Dc0JBO2VBQUFBOztRQXFHdEI7ZUFBQTs7UUFoSWdCQztlQUFBQTs7UUFzRk1DO2VBQUFBOzs7MkJBNUZTOzRCQUVNO0FBRXJDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLHlCQUFjO0FBRXhCLFNBQVNILHlCQUF5QkksVUFBVSxFQUFFQyxPQUFPO0lBQzFELE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxpQkFBaUIsRUFBRSxHQUFHRixTQUM3QkcsaUJBQWlCSixXQUFXSyxPQUFPLElBQ25DQyxjQUFjRixnQkFDZEcsaUJBQWlCSixpQkFBaUIsQ0FBQ0csWUFBWSxJQUFJO0lBRXpELElBQUlDLG1CQUFtQixNQUFNO1FBQzNCTCxJQUFJTSxP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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-languages",
3
3
  "author": "James Smith",
4
- "version": "0.0.115",
4
+ "version": "0.0.117",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
@@ -93,7 +93,7 @@ export async function createReleaseContext(dependency, dependentNames, context)
93
93
  }
94
94
 
95
95
  export async function verifyReleaseContext(releaseName, dependentName, dependentReleased, releaseContextMap) {
96
- let releaseVerifies = false;
96
+ let releaseContextVerifies = false;
97
97
 
98
98
  const releaseContext = releaseContextMap[releaseName];
99
99
 
@@ -101,7 +101,7 @@ export async function verifyReleaseContext(releaseName, dependentName, dependent
101
101
  const released = releaseContext.isReleased();
102
102
 
103
103
  if (released) {
104
- releaseVerifies = true;
104
+ releaseContextVerifies = true;
105
105
  } else {
106
106
  if (dependentReleased) {
107
107
  releaseContext.warning(`The '${releaseName}' project cannot be verifies because its '${dependentName}' dependent is a package.`);
@@ -114,16 +114,16 @@ export async function verifyReleaseContext(releaseName, dependentName, dependent
114
114
  const releaseContextVerified = releaseContext.hasVerified();
115
115
 
116
116
  if (releaseContextVerified) {
117
- releaseVerifies = true;
117
+ releaseContextVerifies = true;
118
118
  } else {
119
119
  releaseContext.info(`Verifying the '${releaseName}' project...`);
120
120
 
121
- const releaseContextVerifies = await releaseContext.verify();
121
+ const verifies = await releaseContext.verify();
122
122
 
123
- if (releaseContextVerifies) {
123
+ if (verifies) {
124
124
  releaseContext.info(`...verified the '${releaseName}' project.`);
125
125
 
126
- releaseVerifies = true;
126
+ releaseContextVerifies = true;
127
127
  }
128
128
  }
129
129
  }
@@ -131,7 +131,7 @@ export async function verifyReleaseContext(releaseName, dependentName, dependent
131
131
  }
132
132
  }
133
133
 
134
- return releaseVerifies;
134
+ return releaseContextVerifies;
135
135
  }
136
136
 
137
137
  export default {