@ngtools/webpack 6.1.1 → 6.1.5

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.
@@ -43,8 +43,11 @@ function findResources(sourceFile) {
43
43
  const replacements = [];
44
44
  // Find all object literals.
45
45
  ast_helpers_1.collectDeepNodes(sourceFile, ts.SyntaxKind.ObjectLiteralExpression)
46
+ // Get all their property assignments.
46
47
  .map(node => ast_helpers_1.collectDeepNodes(node, ts.SyntaxKind.PropertyAssignment))
48
+ // Flatten into a single array (from an array of array<property assignments>).
47
49
  .reduce((prev, curr) => curr ? prev.concat(curr) : prev, [])
50
+ // We only want property assignments for the templateUrl/styleUrls keys.
48
51
  .filter((node) => {
49
52
  const key = _getContentOfKeyLiteral(node.name);
50
53
  if (!key) {
@@ -53,6 +56,7 @@ function findResources(sourceFile) {
53
56
  }
54
57
  return key == 'templateUrl' || key == 'styleUrls';
55
58
  })
59
+ // Replace templateUrl/styleUrls key with template/styles, and and paths with require('path').
56
60
  .forEach((node) => {
57
61
  const key = _getContentOfKeyLiteral(node.name);
58
62
  if (key == 'templateUrl') {
@@ -112,4 +116,4 @@ function _getResourceRequest(element, sourceFile) {
112
116
  function _createRequireCall(path) {
113
117
  return ts.createCall(ts.createIdentifier('require'), [], [ts.createLiteral(path)]);
114
118
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZV9yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL25ndG9vbHMvd2VicGFjay9zcmMvdHJhbnNmb3JtZXJzL3JlcGxhY2VfcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsaUNBQWlDO0FBQ2pDLCtDQUErRDtBQUMvRCw2Q0FLc0I7QUFDdEIscURBQWlEO0FBR2pELDBCQUNFLGVBQThDO0lBRTlDLE1BQU0saUJBQWlCLEdBQXNCLFVBQVUsVUFBeUI7UUFDOUUsTUFBTSxHQUFHLEdBQXlCLEVBQUUsQ0FBQztRQUVyQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRS9DLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU1QixrQ0FBa0M7WUFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5FLGtFQUFrRTtZQUNsRSxvRkFBb0Y7WUFFcEYsNkNBQTZDO1lBQzdDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQ3hGLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUU7b0JBQ3pCLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNB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LENBQUMsU0FBUyxDQUFDLEVBQzlCLEVBQUUsRUFDRixDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IGNvbGxlY3REZWVwTm9kZXMsIGdldEZpcnN0Tm9kZSB9IGZyb20gJy4vYXN0X2hlbHBlcnMnO1xuaW1wb3J0IHtcbiAgQWRkTm9kZU9wZXJhdGlvbixcbiAgUmVwbGFjZU5vZGVPcGVyYXRpb24sXG4gIFN0YW5kYXJkVHJhbnNmb3JtLFxuICBUcmFuc2Zvcm1PcGVyYXRpb24sXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBtYWtlVHJhbnNmb3JtIH0gZnJvbSAnLi9tYWtlX3RyYW5zZm9ybSc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VSZXNvdXJjZXMoXG4gIHNob3VsZFRyYW5zZm9ybTogKGZpbGVOYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4pOiB0cy5UcmFuc2Zvcm1lckZhY3Rvcnk8dHMuU291cmNlRmlsZT4ge1xuICBjb25zdCBzdGFuZGFyZFRyYW5zZm9ybTogU3RhbmRhcmRUcmFuc2Zvcm0gPSBmdW5jdGlvbiAoc291cmNlRmlsZTogdHMuU291cmNlRmlsZSkge1xuICAgIGNvbnN0IG9wczogVHJhbnNmb3JtT3BlcmF0aW9uW10gPSBbXTtcblxuICAgIGlmICghc2hvdWxkVHJhbnNmb3JtKHNvdXJjZUZpbGUuZmlsZU5hbWUpKSB7XG4gICAgICByZXR1cm4gb3BzO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcGxhY2VtZW50cyA9IGZpbmRSZXNvdXJjZXMoc291cmNlRmlsZSk7XG5cbiAgICBpZiAocmVwbGFjZW1lbnRzLmxlbmd0aCA+IDApIHtcblxuICAgICAgLy8gQWRkIHRoZSByZXBsYWNlbWVudCBvcGVyYXRpb25zLlxuICAgICAgb3BzLnB1c2goLi4uKHJlcGxhY2VtZW50cy5tYXAoKHJlcCkgPT4gcmVwLnJlcGxhY2VOb2RlT3BlcmF0aW9uKSkpO1xuXG4gICAgICAvLyBJZiB3ZSBhZGRlZCBhIHJlcXVpcmUgY2FsbCwgd2UgbmVlZCB0byBhbHNvIGFkZCB0eXBpbmdzIGZvciBpdC5cbiAgICAgIC8vIFRoZSB0eXBpbmdzIG5lZWQgdG8gYmUgY29tcGF0aWJsZSB3aXRoIG5vZGUgdHlwaW5ncywgYnV0IGFsc28gd29yayBieSB0aGVtc2VsdmVzLlxuXG4gICAgICAvLyBpbnRlcmZhY2UgTm9kZVJlcXVpcmUgeyhpZDogc3RyaW5nKTogYW55O31cbiAgICAgIGNvbnN0IG5vZGVSZXF1aXJlSW50ZXJmYWNlID0gdHMuY3JlYXRlSW50ZXJmYWNlRGVjbGFyYXRpb24oW10sIFtdLCAnTm9kZVJlcXVpcmUnLCBbXSwgW10sIFtcbiAgICAgICAgdHMuY3JlYXRlQ2FsbFNpZ25hdHVyZShbXSwgW1xuICAgICAgICAgIHRzLmNyZWF0ZVBhcmFtZXRlcihbXSwgW10sIHVuZGVmaW5lZCwgJ2lkJywgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHMuY3JlYXRlS2V5d29yZFR5cGVOb2RlKHRzLlN5bnRheEtpbmQuU3RyaW5nS2V5d29yZCksXG4gICAgICAgICAgKSxcbiAgICAgICAgXSwgdHMuY3JlYXRlS2V5d29yZFR5cGVOb2RlKHRzLlN5bnRheEtpbmQuQW55S2V5d29yZCkpLFxuICAgICAgXSk7XG5cbiAgICAgIC8vIGRlY2xhcmUgdmFyIHJlcXVpcmU6IE5vZGVSZXF1aXJlO1xuICAgICAgY29uc3QgdmFyUmVxdWlyZSA9IHRzLmNyZWF0ZVZhcmlhYmxlU3RhdGVtZW50KFxuICAgICAgICBbdHMuY3JlYXRlVG9rZW4odHMuU3ludGF4S2luZC5EZWNsYXJlS2V5d29yZCldLFxuICAgICAgICBbdHMuY3JlYXRlVmFyaWFibGVEZWNsYXJhdGlvbigncmVxdWlyZScsIHRzLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKCdOb2RlUmVxdWlyZScsIFtdKSldLFxuICAgICAgKTtcblxuICAgICAgb3BzLnB1c2gobmV3IEFkZE5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgZ2V0Rmlyc3ROb2RlKHNvdXJjZUZpbGUpLCBub2RlUmVxdWlyZUludGVyZmFjZSkpO1xuICAgICAgb3BzLnB1c2gobmV3IEFkZE5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgZ2V0Rmlyc3ROb2RlKHNvdXJjZUZpbGUpLCB2YXJSZXF1aXJlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wcztcbiAgfTtcblxuICByZXR1cm4gbWFrZVRyYW5zZm9ybShzdGFuZGFyZFRyYW5zZm9ybSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VSZXBsYWNlbWVudCB7XG4gIHJlc291cmNlUGF0aHM6IHN0cmluZ1tdO1xuICByZXBsYWNlTm9kZU9wZXJhdGlvbjogUmVwbGFjZU5vZGVPcGVyYXRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUmVzb3VyY2VzKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpOiBSZXNvdXJjZVJlcGxhY2VtZW50W10ge1xuICBjb25zdCByZXBsYWNlbWVudHM6IFJlc291cmNlUmVwbGFjZW1lbnRbXSA9IFtdO1xuXG4gIC8vIEZpbmQgYWxsIG9iamVjdCBsaXRlcmFscy5cbiAgY29sbGVjdERlZXBOb2Rlczx0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbj4oc291cmNlRmlsZSwgdHMuU3ludGF4S2luZC5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbilcbiAgICAvLyBHZXQgYWxsIHRoZWlyIHByb3BlcnR5IGFzc2lnbm1lbnRzLlxuICAgIC5tYXAobm9kZSA9PiBjb2xsZWN0RGVlcE5vZGVzPHRzLlByb3BlcnR5QXNzaWdubWVudD4obm9kZSwgdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFzc2lnbm1lbnQpKVxuICAgIC8vIEZsYXR0ZW4gaW50byBhIHNpbmdsZSBhcnJheSAoZnJvbSBhbiBhcnJheSBvZiBhcnJheTxwcm9wZXJ0eSBhc3NpZ25tZW50cz4pLlxuICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IGN1cnIgPyBwcmV2LmNvbmNhdChjdXJyKSA6IHByZXYsIFtdKVxuICAgIC8vIFdlIG9ubHkgd2FudCBwcm9wZXJ0eSBhc3NpZ25tZW50cyBmb3IgdGhlIHRlbXBsYXRlVXJsL3N0eWxlVXJscyBrZXlzLlxuICAgIC5maWx0ZXIoKG5vZGU6IHRzLlByb3BlcnR5QXNzaWdubWVudCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gX2dldENvbnRlbnRPZktleUxpdGVyYWwobm9kZS5uYW1lKTtcbiAgICAgIGlmICgha2V5KSB7XG4gICAgICAgIC8vIGtleSBpcyBhbiBleHByZXNzaW9uLCBjYW4ndCBkbyBhbnl0aGluZy5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ga2V5ID09ICd0ZW1wbGF0ZVVybCcgfHwga2V5ID09ICdzdHlsZVVybHMnO1xuICAgIH0pXG4gICAgLy8gUmVwbGFjZSB0ZW1wbGF0ZVVybC9zdHlsZVVybHMga2V5IHdpdGggdGVtcGxhdGUvc3R5bGVzLCBhbmQgYW5kIHBhdGhzIHdpdGggcmVxdWlyZSgncGF0aCcpLlxuICAgIC5mb3JFYWNoKChub2RlOiB0cy5Qcm9wZXJ0eUFzc2lnbm1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IF9nZXRDb250ZW50T2ZLZXlMaXRlcmFsKG5vZGUubmFtZSk7XG5cbiAgICAgIGlmIChrZXkgPT0gJ3RlbXBsYXRlVXJsJykge1xuICAgICAgICBjb25zdCByZXNvdXJjZVBhdGggPSBfZ2V0UmVzb3VyY2VSZXF1ZXN0KG5vZGUuaW5pdGlhbGl6ZXIsIHNvdXJjZUZpbGUpO1xuICAgICAgICBjb25zdCByZXF1aXJlQ2FsbCA9IF9jcmVhdGVSZXF1aXJlQ2FsbChyZXNvdXJjZVBhdGgpO1xuICAgICAgICBjb25zdCBwcm9wQXNzaWduID0gdHMuY3JlYXRlUHJvcGVydHlBc3NpZ25tZW50KCd0ZW1wbGF0ZScsIHJlcXVpcmVDYWxsKTtcbiAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2goe1xuICAgICAgICAgIHJlc291cmNlUGF0aHM6IFtyZXNvdXJjZVBhdGhdLFxuICAgICAgICAgIHJlcGxhY2VOb2RlT3BlcmF0aW9uOiBuZXcgUmVwbGFjZU5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgbm9kZSwgcHJvcEFzc2lnbiksXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gJ3N0eWxlVXJscycpIHtcbiAgICAgICAgY29uc3QgYXJyID0gY29sbGVjdERlZXBOb2Rlczx0cy5BcnJheUxpdGVyYWxFeHByZXNzaW9uPihub2RlLFxuICAgICAgICAgIHRzLlN5bnRheEtpbmQuQXJyYXlMaXRlcmFsRXhwcmVzc2lvbik7XG4gICAgICAgIGlmICghYXJyIHx8IGFyci5sZW5ndGggPT0gMCB8fCBhcnJbMF0uZWxlbWVudHMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdHlsZVBhdGhzID0gYXJyWzBdLmVsZW1lbnRzLm1hcCgoZWxlbWVudDogdHMuRXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgIHJldHVybiBfZ2V0UmVzb3VyY2VSZXF1ZXN0KGVsZW1lbnQsIHNvdXJjZUZpbGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByZXF1aXJlQXJyYXkgPSB0cy5jcmVhdGVBcnJheUxpdGVyYWwoXG4gICAgICAgICAgc3R5bGVQYXRocy5tYXAoKHBhdGgpID0+IF9jcmVhdGVSZXF1aXJlQ2FsbChwYXRoKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgcHJvcEFzc2lnbiA9IHRzLmNyZWF0ZVByb3BlcnR5QXNzaWdubWVudCgnc3R5bGVzJywgcmVxdWlyZUFycmF5KTtcbiAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2goe1xuICAgICAgICAgIHJlc291cmNlUGF0aHM6IHN0eWxlUGF0aHMsXG4gICAgICAgICAgcmVwbGFjZU5vZGVPcGVyYXRpb246IG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCBub2RlLCBwcm9wQXNzaWduKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgcmV0dXJuIHJlcGxhY2VtZW50cztcblxufVxuXG5mdW5jdGlvbiBfZ2V0Q29udGVudE9mS2V5TGl0ZXJhbChub2RlPzogdHMuTm9kZSk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIGlmIChub2RlLmtpbmQgPT0gdHMuU3ludGF4S2luZC5JZGVudGlmaWVyKSB7XG4gICAgcmV0dXJuIChub2RlIGFzIHRzLklkZW50aWZpZXIpLnRleHQ7XG4gIH0gZWxzZSBpZiAobm9kZS5raW5kID09IHRzLlN5bnRheEtpbmQuU3RyaW5nTGl0ZXJhbCkge1xuICAgIHJldHVybiAobm9kZSBhcyB0cy5TdHJpbmdMaXRlcmFsKS50ZXh0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9nZXRSZXNvdXJjZVJlcXVlc3QoZWxlbWVudDogdHMuRXhwcmVzc2lvbiwgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSkge1xuICBpZiAoXG4gICAgZWxlbWVudC5raW5kID09PSB0cy5TeW50YXhLaW5kLlN0cmluZ0xpdGVyYWwgfHxcbiAgICBlbGVtZW50LmtpbmQgPT09IHRzLlN5bnRheEtpbmQuTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWxcbiAgKSB7XG4gICAgY29uc3QgdXJsID0gKGVsZW1lbnQgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dDtcblxuICAgIC8vIElmIHRoZSBVUkwgZG9lcyBub3Qgc3RhcnQgd2l0aCAuLyBvciAuLi8sIHByZXBlbmRzIC4vIHRvIGl0LlxuICAgIHJldHVybiBgJHsvXlxcLj9cXC5cXC8vLnRlc3QodXJsKSA/ICcnIDogJy4vJ30ke3VybH1gO1xuICB9IGVsc2Uge1xuICAgIC8vIGlmIG5vdCBzdHJpbmcsIGp1c3QgdXNlIGV4cHJlc3Npb24gZGlyZWN0bHlcbiAgICByZXR1cm4gZWxlbWVudC5nZXRGdWxsVGV4dChzb3VyY2VGaWxlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlUmVxdWlyZUNhbGwocGF0aDogc3RyaW5nKSB7XG4gIHJldHVybiB0cy5jcmVhdGVDYWxsKFxuICAgIHRzLmNyZWF0ZUlkZW50aWZpZXIoJ3JlcXVpcmUnKSxcbiAgICBbXSxcbiAgICBbdHMuY3JlYXRlTGl0ZXJhbChwYXRoKV0sXG4gICk7XG59XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZV9yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL25ndG9vbHMvd2VicGFjay9zcmMvdHJhbnNmb3JtZXJzL3JlcGxhY2VfcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsaUNBQWlDO0FBQ2pDLCtDQUErRDtBQUMvRCw2Q0FLc0I7QUFDdEIscURBQWlEO0FBR2pELDBCQUNFLGVBQThDO0lBRTlDLE1BQU0saUJBQWlCLEdBQXNCLFVBQVUsVUFBeUI7UUFDOUUsTUFBTSxHQUFHLEdBQXlCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QyxPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRS9DLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFFM0Isa0NBQWtDO1lBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVuRSxrRUFBa0U7WUFDbEUsb0ZBQW9GO1lBRXBGLDZDQUE2QztZQUM3QyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUN4RixFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFO29CQUN6QixFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQ25ELEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFD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LENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtRQUNuRCxPQUFRLElBQXlCLENBQUMsSUFBSSxDQUFDO0tBQ3hDO1NBQU07UUFDTCxPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQztBQUVELDZCQUE2QixPQUFzQixFQUFFLFVBQXlCO0lBQzVFLElBQ0UsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFDNUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLDZCQUE2QixFQUM1RDtRQUNBLE1BQU0sR0FBRyxHQUFJLE9BQTRCLENBQUMsSUFBSSxDQUFDO1FBRS9DLCtEQUErRDtRQUMvRCxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7S0FDcEQ7U0FBTTtRQUNMLDhDQUE4QztRQUM5QyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDeEM7QUFDSCxDQUFDO0FBRUQsNEJBQTRCLElBQVk7SUFDdEMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUNsQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQzlCLEVBQUUsRUFDRixDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IGNvbGxlY3REZWVwTm9kZXMsIGdldEZpcnN0Tm9kZSB9IGZyb20gJy4vYXN0X2hlbHBlcnMnO1xuaW1wb3J0IHtcbiAgQWRkTm9kZU9wZXJhdGlvbixcbiAgUmVwbGFjZU5vZGVPcGVyYXRpb24sXG4gIFN0YW5kYXJkVHJhbnNmb3JtLFxuICBUcmFuc2Zvcm1PcGVyYXRpb24sXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBtYWtlVHJhbnNmb3JtIH0gZnJvbSAnLi9tYWtlX3RyYW5zZm9ybSc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VSZXNvdXJjZXMoXG4gIHNob3VsZFRyYW5zZm9ybTogKGZpbGVOYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4pOiB0cy5UcmFuc2Zvcm1lckZhY3Rvcnk8dHMuU291cmNlRmlsZT4ge1xuICBjb25zdCBzdGFuZGFyZFRyYW5zZm9ybTogU3RhbmRhcmRUcmFuc2Zvcm0gPSBmdW5jdGlvbiAoc291cmNlRmlsZTogdHMuU291cmNlRmlsZSkge1xuICAgIGNvbnN0IG9wczogVHJhbnNmb3JtT3BlcmF0aW9uW10gPSBbXTtcblxuICAgIGlmICghc2hvdWxkVHJhbnNmb3JtKHNvdXJjZUZpbGUuZmlsZU5hbWUpKSB7XG4gICAgICByZXR1cm4gb3BzO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcGxhY2VtZW50cyA9IGZpbmRSZXNvdXJjZXMoc291cmNlRmlsZSk7XG5cbiAgICBpZiAocmVwbGFjZW1lbnRzLmxlbmd0aCA+IDApIHtcblxuICAgICAgLy8gQWRkIHRoZSByZXBsYWNlbWVudCBvcGVyYXRpb25zLlxuICAgICAgb3BzLnB1c2goLi4uKHJlcGxhY2VtZW50cy5tYXAoKHJlcCkgPT4gcmVwLnJlcGxhY2VOb2RlT3BlcmF0aW9uKSkpO1xuXG4gICAgICAvLyBJZiB3ZSBhZGRlZCBhIHJlcXVpcmUgY2FsbCwgd2UgbmVlZCB0byBhbHNvIGFkZCB0eXBpbmdzIGZvciBpdC5cbiAgICAgIC8vIFRoZSB0eXBpbmdzIG5lZWQgdG8gYmUgY29tcGF0aWJsZSB3aXRoIG5vZGUgdHlwaW5ncywgYnV0IGFsc28gd29yayBieSB0aGVtc2VsdmVzLlxuXG4gICAgICAvLyBpbnRlcmZhY2UgTm9kZVJlcXVpcmUgeyhpZDogc3RyaW5nKTogYW55O31cbiAgICAgIGNvbnN0IG5vZGVSZXF1aXJlSW50ZXJmYWNlID0gdHMuY3JlYXRlSW50ZXJmYWNlRGVjbGFyYXRpb24oW10sIFtdLCAnTm9kZVJlcXVpcmUnLCBbXSwgW10sIFtcbiAgICAgICAgdHMuY3JlYXRlQ2FsbFNpZ25hdHVyZShbXSwgW1xuICAgICAgICAgIHRzLmNyZWF0ZVBhcmFtZXRlcihbXSwgW10sIHVuZGVmaW5lZCwgJ2lkJywgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHMuY3JlYXRlS2V5d29yZFR5cGVOb2RlKHRzLlN5bnRheEtpbmQuU3RyaW5nS2V5d29yZCksXG4gICAgICAgICAgKSxcbiAgICAgICAgXSwgdHMuY3JlYXRlS2V5d29yZFR5cGVOb2RlKHRzLlN5bnRheEtpbmQuQW55S2V5d29yZCkpLFxuICAgICAgXSk7XG5cbiAgICAgIC8vIGRlY2xhcmUgdmFyIHJlcXVpcmU6IE5vZGVSZXF1aXJlO1xuICAgICAgY29uc3QgdmFyUmVxdWlyZSA9IHRzLmNyZWF0ZVZhcmlhYmxlU3RhdGVtZW50KFxuICAgICAgICBbdHMuY3JlYXRlVG9rZW4odHMuU3ludGF4S2luZC5EZWNsYXJlS2V5d29yZCldLFxuICAgICAgICBbdHMuY3JlYXRlVmFyaWFibGVEZWNsYXJhdGlvbigncmVxdWlyZScsIHRzLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKCdOb2RlUmVxdWlyZScsIFtdKSldLFxuICAgICAgKTtcblxuICAgICAgb3BzLnB1c2gobmV3IEFkZE5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgZ2V0Rmlyc3ROb2RlKHNvdXJjZUZpbGUpLCBub2RlUmVxdWlyZUludGVyZmFjZSkpO1xuICAgICAgb3BzLnB1c2gobmV3IEFkZE5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgZ2V0Rmlyc3ROb2RlKHNvdXJjZUZpbGUpLCB2YXJSZXF1aXJlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wcztcbiAgfTtcblxuICByZXR1cm4gbWFrZVRyYW5zZm9ybShzdGFuZGFyZFRyYW5zZm9ybSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VSZXBsYWNlbWVudCB7XG4gIHJlc291cmNlUGF0aHM6IHN0cmluZ1tdO1xuICByZXBsYWNlTm9kZU9wZXJhdGlvbjogUmVwbGFjZU5vZGVPcGVyYXRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUmVzb3VyY2VzKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpOiBSZXNvdXJjZVJlcGxhY2VtZW50W10ge1xuICBjb25zdCByZXBsYWNlbWVudHM6IFJlc291cmNlUmVwbGFjZW1lbnRbXSA9IFtdO1xuXG4gIC8vIEZpbmQgYWxsIG9iamVjdCBsaXRlcmFscy5cbiAgY29sbGVjdERlZXBOb2Rlczx0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbj4oc291cmNlRmlsZSwgdHMuU3ludGF4S2luZC5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbilcbiAgICAvLyBHZXQgYWxsIHRoZWlyIHByb3BlcnR5IGFzc2lnbm1lbnRzLlxuICAgIC5tYXAobm9kZSA9PiBjb2xsZWN0RGVlcE5vZGVzPHRzLlByb3BlcnR5QXNzaWdubWVudD4obm9kZSwgdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFzc2lnbm1lbnQpKVxuICAgIC8vIEZsYXR0ZW4gaW50byBhIHNpbmdsZSBhcnJheSAoZnJvbSBhbiBhcnJheSBvZiBhcnJheTxwcm9wZXJ0eSBhc3NpZ25tZW50cz4pLlxuICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IGN1cnIgPyBwcmV2LmNvbmNhdChjdXJyKSA6IHByZXYsIFtdKVxuICAgIC8vIFdlIG9ubHkgd2FudCBwcm9wZXJ0eSBhc3NpZ25tZW50cyBmb3IgdGhlIHRlbXBsYXRlVXJsL3N0eWxlVXJscyBrZXlzLlxuICAgIC5maWx0ZXIoKG5vZGU6IHRzLlByb3BlcnR5QXNzaWdubWVudCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gX2dldENvbnRlbnRPZktleUxpdGVyYWwobm9kZS5uYW1lKTtcbiAgICAgIGlmICgha2V5KSB7XG4gICAgICAgIC8vIGtleSBpcyBhbiBleHByZXNzaW9uLCBjYW4ndCBkbyBhbnl0aGluZy5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ga2V5ID09ICd0ZW1wbGF0ZVVybCcgfHwga2V5ID09ICdzdHlsZVVybHMnO1xuICAgIH0pXG4gICAgLy8gUmVwbGFjZSB0ZW1wbGF0ZVVybC9zdHlsZVVybHMga2V5IHdpdGggdGVtcGxhdGUvc3R5bGVzLCBhbmQgYW5kIHBhdGhzIHdpdGggcmVxdWlyZSgncGF0aCcpLlxuICAgIC5mb3JFYWNoKChub2RlOiB0cy5Qcm9wZXJ0eUFzc2lnbm1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IF9nZXRDb250ZW50T2ZLZXlMaXRlcmFsKG5vZGUubmFtZSk7XG5cbiAgICAgIGlmIChrZXkgPT0gJ3RlbXBsYXRlVXJsJykge1xuICAgICAgICBjb25zdCByZXNvdXJjZVBhdGggPSBfZ2V0UmVzb3VyY2VSZXF1ZXN0KG5vZGUuaW5pdGlhbGl6ZXIsIHNvdXJjZUZpbGUpO1xuICAgICAgICBjb25zdCByZXF1aXJlQ2FsbCA9IF9jcmVhdGVSZXF1aXJlQ2FsbChyZXNvdXJjZVBhdGgpO1xuICAgICAgICBjb25zdCBwcm9wQXNzaWduID0gdHMuY3JlYXRlUHJvcGVydHlBc3NpZ25tZW50KCd0ZW1wbGF0ZScsIHJlcXVpcmVDYWxsKTtcbiAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2goe1xuICAgICAgICAgIHJlc291cmNlUGF0aHM6IFtyZXNvdXJjZVBhdGhdLFxuICAgICAgICAgIHJlcGxhY2VOb2RlT3BlcmF0aW9uOiBuZXcgUmVwbGFjZU5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgbm9kZSwgcHJvcEFzc2lnbiksXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gJ3N0eWxlVXJscycpIHtcbiAgICAgICAgY29uc3QgYXJyID0gY29sbGVjdERlZXBOb2Rlczx0cy5BcnJheUxpdGVyYWxFeHByZXNzaW9uPihub2RlLFxuICAgICAgICAgIHRzLlN5bnRheEtpbmQuQXJyYXlMaXRlcmFsRXhwcmVzc2lvbik7XG4gICAgICAgIGlmICghYXJyIHx8IGFyci5sZW5ndGggPT0gMCB8fCBhcnJbMF0uZWxlbWVudHMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdHlsZVBhdGhzID0gYXJyWzBdLmVsZW1lbnRzLm1hcCgoZWxlbWVudDogdHMuRXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgIHJldHVybiBfZ2V0UmVzb3VyY2VSZXF1ZXN0KGVsZW1lbnQsIHNvdXJjZUZpbGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByZXF1aXJlQXJyYXkgPSB0cy5jcmVhdGVBcnJheUxpdGVyYWwoXG4gICAgICAgICAgc3R5bGVQYXRocy5tYXAoKHBhdGgpID0+IF9jcmVhdGVSZXF1aXJlQ2FsbChwYXRoKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgcHJvcEFzc2lnbiA9IHRzLmNyZWF0ZVByb3BlcnR5QXNzaWdubWVudCgnc3R5bGVzJywgcmVxdWlyZUFycmF5KTtcbiAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2goe1xuICAgICAgICAgIHJlc291cmNlUGF0aHM6IHN0eWxlUGF0aHMsXG4gICAgICAgICAgcmVwbGFjZU5vZGVPcGVyYXRpb246IG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCBub2RlLCBwcm9wQXNzaWduKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgcmV0dXJuIHJlcGxhY2VtZW50cztcblxufVxuXG5mdW5jdGlvbiBfZ2V0Q29udGVudE9mS2V5TGl0ZXJhbChub2RlPzogdHMuTm9kZSk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIGlmIChub2RlLmtpbmQgPT0gdHMuU3ludGF4S2luZC5JZGVudGlmaWVyKSB7XG4gICAgcmV0dXJuIChub2RlIGFzIHRzLklkZW50aWZpZXIpLnRleHQ7XG4gIH0gZWxzZSBpZiAobm9kZS5raW5kID09IHRzLlN5bnRheEtpbmQuU3RyaW5nTGl0ZXJhbCkge1xuICAgIHJldHVybiAobm9kZSBhcyB0cy5TdHJpbmdMaXRlcmFsKS50ZXh0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9nZXRSZXNvdXJjZVJlcXVlc3QoZWxlbWVudDogdHMuRXhwcmVzc2lvbiwgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSkge1xuICBpZiAoXG4gICAgZWxlbWVudC5raW5kID09PSB0cy5TeW50YXhLaW5kLlN0cmluZ0xpdGVyYWwgfHxcbiAgICBlbGVtZW50LmtpbmQgPT09IHRzLlN5bnRheEtpbmQuTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWxcbiAgKSB7XG4gICAgY29uc3QgdXJsID0gKGVsZW1lbnQgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dDtcblxuICAgIC8vIElmIHRoZSBVUkwgZG9lcyBub3Qgc3RhcnQgd2l0aCAuLyBvciAuLi8sIHByZXBlbmRzIC4vIHRvIGl0LlxuICAgIHJldHVybiBgJHsvXlxcLj9cXC5cXC8vLnRlc3QodXJsKSA/ICcnIDogJy4vJ30ke3VybH1gO1xuICB9IGVsc2Uge1xuICAgIC8vIGlmIG5vdCBzdHJpbmcsIGp1c3QgdXNlIGV4cHJlc3Npb24gZGlyZWN0bHlcbiAgICByZXR1cm4gZWxlbWVudC5nZXRGdWxsVGV4dChzb3VyY2VGaWxlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlUmVxdWlyZUNhbGwocGF0aDogc3RyaW5nKSB7XG4gIHJldHVybiB0cy5jcmVhdGVDYWxsKFxuICAgIHRzLmNyZWF0ZUlkZW50aWZpZXIoJ3JlcXVpcmUnKSxcbiAgICBbXSxcbiAgICBbdHMuY3JlYXRlTGl0ZXJhbChwYXRoKV0sXG4gICk7XG59XG4iXX0=
@@ -92,4 +92,4 @@ function replaceServerBootstrap(shouldTransform, getEntryModule, getTypeChecker)
92
92
  return make_transform_1.makeTransform(standardTransform, getTypeChecker);
93
93
  }
94
94
  exports.replaceServerBootstrap = replaceServerBootstrap;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZV9zZXJ2ZXJfYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9uZ3Rvb2xzL3dlYnBhY2svc3JjL3RyYW5zZm9ybWVycy9yZXBsYWNlX3NlcnZlcl9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQkFBeUM7QUFDekMsaUNBQWlDO0FBQ2pDLCtDQUFpRDtBQUNqRCxtREFBbUQ7QUFDbkQsNkNBQTJGO0FBQzNGLHFEQUFpRDtBQUVqRCxnQ0FDRSxlQUE4QyxFQUM5QyxjQUFnRSxFQUNoRSxjQUFvQztJQUdwQyxNQUFNLGlCQUFpQixHQUFzQixVQUFVLFVBQXlCO1FBQzlFLE1BQU0sR0FBRyxHQUF5QixFQUFFLENBQUM7UUFFckMsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFFckMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMxRCxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUVELHdCQUF3QjtRQUN4QixNQUFNLHNCQUFzQixHQUFHLDhCQUFnQixDQUFnQixVQUFVLEVBQ3ZFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO2FBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5FLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSx1QkFBdUIsR0FBRyxlQUFRLENBQUMsY0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFD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LENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztnQkFDbEYsMkVBQTJFO2dCQUMzRSx5QkFBeUI7Z0JBRXpCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUU5RCxHQUFHLENBQUMsSUFBSSxDQUNOLEdBQUcsZ0NBQWdCLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxFQUMvRCxJQUFJLGlDQUFvQixDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFDeEQsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQy9FLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLDhCQUFhLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQTdIRCx3REE2SEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBkaXJuYW1lLCByZWxhdGl2ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBjb2xsZWN0RGVlcE5vZGVzIH0gZnJvbSAnLi9hc3RfaGVscGVycyc7XG5pbXBvcnQgeyBpbnNlcnRTdGFySW1wb3J0IH0gZnJvbSAnLi9pbnNlcnRfaW1wb3J0JztcbmltcG9ydCB7IFJlcGxhY2VOb2RlT3BlcmF0aW9uLCBTdGFuZGFyZFRyYW5zZm9ybSwgVHJhbnNmb3JtT3BlcmF0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IG1ha2VUcmFuc2Zvcm0gfSBmcm9tICcuL21ha2VfdHJhbnNmb3JtJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VTZXJ2ZXJCb290c3RyYXAoXG4gIHNob3VsZFRyYW5zZm9ybTogKGZpbGVOYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gIGdldEVudHJ5TW9kdWxlOiAoKSA9PiB7IHBhdGg6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcgfSB8IG51bGwsXG4gIGdldFR5cGVDaGVja2VyOiAoKSA9PiB0cy5UeXBlQ2hlY2tlcixcbik6IHRzLlRyYW5zZm9ybWVyRmFjdG9yeTx0cy5Tb3VyY2VGaWxlPiB7XG5cbiAgY29uc3Qgc3RhbmRhcmRUcmFuc2Zvcm06IFN0YW5kYXJkVHJhbnNmb3JtID0gZnVuY3Rpb24gKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpIHtcbiAgICBjb25zdCBvcHM6IFRyYW5zZm9ybU9wZXJhdGlvbltdID0gW107XG5cbiAgICBjb25zdCBlbnRyeU1vZHVsZSA9IGdldEVudHJ5TW9kdWxlKCk7XG5cbiAgICBpZiAoIXNob3VsZFRyYW5zZm9ybShzb3VyY2VGaWxlLmZpbGVOYW1lKSB8fCAhZW50cnlNb2R1bGUpIHtcbiAgICAgIHJldHVybiBvcHM7XG4gICAgfVxuXG4gICAgLy8gRmluZCBhbGwgaWRlbnRpZmllcnMuXG4gICAgY29uc3QgZW50cnlNb2R1bGVJZGVudGlmaWVycyA9IGNvbGxlY3REZWVwTm9kZXM8dHMuSWRlbnRpZmllcj4oc291cmNlRmlsZSxcbiAgICAgIHRzLlN5bnRheEtpbmQuSWRlbnRpZmllcilcbiAgICAgIC5maWx0ZXIoaWRlbnRpZmllciA9PiBpZGVudGlmaWVyLnRleHQgPT09IGVudHJ5TW9kdWxlLmNsYXNzTmFtZSk7XG5cbiAgICBpZiAoZW50cnlNb2R1bGVJZGVudGlmaWVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxhdGl2ZUVudHJ5TW9kdWxlUGF0aCA9IHJlbGF0aXZlKGRpcm5hbWUoc291cmNlRmlsZS5maWxlTmFtZSksIGVudHJ5TW9kdWxlLnBhdGgpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRFbnRyeU1vZHVsZVBhdGggPSBgLi8ke3JlbGF0aXZlRW50cnlNb2R1bGVQYXRofWAucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICAgIGNvbnN0IGZhY3RvcnlDbGFzc05hbWUgPSBlbnRyeU1vZHVsZS5jbGFzc05hbWUgKyAnTmdGYWN0b3J5JztcbiAgICBjb25zdCBmYWN0b3J5TW9kdWxlUGF0aCA9IG5vcm1hbGl6ZWRFbnRyeU1vZHVsZVBhdGggKyAnLm5nZmFjdG9yeSc7XG5cbiAgICAvLyBGaW5kIHRoZSBib290c3RyYXAgY2FsbHMuXG4gICAgZW50cnlNb2R1bGVJZGVudGlmaWVycy5mb3JFYWNoKGVudHJ5TW9kdWxlSWRlbnRpZmllciA9PiB7XG4gICAgICBpZiAoIWVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW50cnlNb2R1bGVJZGVudGlmaWVyLnBhcmVudC5raW5kICE9PSB0cy5TeW50YXhLaW5kLkNhbGxFeHByZXNzaW9uICYmXG4gICAgICAgIGVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQua2luZCAhPT0gdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFzc2lnbm1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW50cnlNb2R1bGVJZGVudGlmaWVyLnBhcmVudC5raW5kID09PSB0cy5TeW50YXhLaW5kLkNhbGxFeHByZXNzaW9uKSB7XG4gICAgICAgIC8vIEZpZ3VyZSBvdXQgaWYgaXQncyBhIGBwbGF0Zm9ybUR5bmFtaWNTZXJ2ZXIoKS5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKWAgY2FsbC5cblxuICAgICAgICBjb25zdCBjYWxsRXhwciA9IGVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQgYXMgdHMuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgaWYgKGNhbGxFeHByLmV4cHJlc3Npb24ua2luZCA9PT0gdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pIHtcblxuICAgICAgICAgIGNvbnN0IHByb3BBY2Nlc3NFeHByID0gY2FsbEV4cHIuZXhwcmVzc2lvbiBhcyB0cy5Qcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb247XG5cbiAgICAgICAgICBpZiAoIShwcm9wQWNjZXNzRXhwci5uYW1lLnRleHQgPT09ICdib290c3RyYXBNb2R1bGUnXG4gICAgICAgICAgICAmJiBwcm9wQWNjZXNzRXhwci5leHByZXNzaW9uLmtpbmQgPT09IHRzLlN5bnRheEtpbmQuQ2FsbEV4cHJlc3Npb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYm9vdHN0cmFwTW9kdWxlSWRlbnRpZmllciA9IHByb3BBY2Nlc3NFeHByLm5hbWU7XG4gICAgICAgICAgY29uc3QgaW5uZXJDYWxsRXhwciA9IHByb3BBY2Nlc3NFeHByLmV4cHJlc3Npb24gYXMgdHMuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgICBpZiAoIShcbiAgICAgICAgICAgIGlubmVyQ2FsbEV4cHIuZXhwcmVzc2lvbi5raW5kID09PSB0cy5TeW50YXhLaW5kLklkZW50aWZpZXJcbiAgICAgICAgICAgICYmIChpbm5lckNhbGxFeHByLmV4cHJlc3Npb24gYXMgdHMuSWRlbnRpZmllcikudGV4dCA9PT0gJ3BsYXRmb3JtRHluYW1pY1NlcnZlcidcbiAgICAgICAgICApKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcGxhdGZvcm1EeW5hbWljU2VydmVySWRlbnRpZmllciA9IGlubmVyQ2FsbEV4cHIuZXhwcmVzc2lvbiBhcyB0cy5JZGVudGlmaWVyO1xuXG4gICAgICAgICAgY29uc3QgaWRQbGF0Zm9ybVNlcnZlciA9IHRzLmNyZWF0ZVVuaXF1ZU5hbWUoJ19fTmdDbGlfYm9vdHN0cmFwXycpO1xuICAgICAgICAgIGNvbnN0IGlkTmdGYWN0b3J5ID0gdHMuY3JlYXRlVW5pcXVlTmFtZSgnX19OZ0NsaV9ib290c3RyYXBfJyk7XG5cbiAgICAgICAgICAvLyBBZGQgdGhlIHRyYW5zZm9ybSBvcGVyYXRpb25zLlxuICAgICAgICAgIG9wcy5wdXNoKFxuICAgICAgICAgICAgLy8gUmVwbGFjZSB0aGUgZW50cnkgbW9kdWxlIGltcG9ydC5cbiAgICAgICAgICAgIC4uLmluc2VydFN0YXJJbXBvcnQoc291cmNlRmlsZSwgaWROZ0ZhY3RvcnksIGZhY3RvcnlNb2R1bGVQYXRoKSxcbiAgICAgICAgICAgIG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCBlbnRyeU1vZHVsZUlkZW50aWZpZXIsXG4gICAgICAgICAgICAgIHRzLmNyZWF0ZVByb3BlcnR5QWNjZXNzKGlkTmdGYWN0b3J5LCB0cy5jcmVhdGVJZGVudGlmaWVyKGZhY3RvcnlDbGFzc05hbWUpKSksXG4gICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljIGltcG9ydC5cbiAgICAgICAgICAgIC4uLmluc2VydFN0YXJJbXBvcnQoc291cmNlRmlsZSwgaWRQbGF0Zm9ybVNlcnZlciwgJ0Bhbmd1bGFyL3BsYXRmb3JtLXNlcnZlcicpLFxuICAgICAgICAgICAgbmV3IFJlcGxhY2VOb2RlT3BlcmF0aW9uKHNvdXJjZUZpbGUsIHBsYXRmb3JtRHluYW1pY1NlcnZlcklkZW50aWZpZXIsXG4gICAgICAgICAgICAgIHRzLmNyZWF0ZVByb3BlcnR5QWNjZXNzKGlkUGxhdGZvcm1TZXJ2ZXIsICdwbGF0Zm9ybVNlcnZlcicpKSxcbiAgICAgICAgICAgIG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCBib290c3RyYXBNb2R1bGVJZGVudGlmaWVyLFxuICAgICAgICAgICAgICB0cy5jcmVhdGVJZGVudGlmaWVyKCdib290c3RyYXBNb2R1bGVGYWN0b3J5JykpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoY2FsbEV4cHIuZXhwcmVzc2lvbi5raW5kID09PSB0cy5TeW50YXhLaW5kLklkZW50aWZpZXIpIHtcbiAgICAgICAgICAvLyBGaWd1cmUgb3V0IGlmIGl0IGlzIHJlbmRlck1vZHVsZVxuXG4gICAgICAgICAgY29uc3QgaWRlbnRpZmllckV4cHIgPSBjYWxsRXhwci5leHByZXNzaW9uIGFzIHRzLklkZW50aWZpZXI7XG5cbiAgICAgICAgICBpZiAoaWRlbnRpZmllckV4cHIudGV4dCAhPT0gJ3JlbmRlck1vZHVsZScpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCByZW5kZXJNb2R1bGVJZGVudGlmaWVyID0gaWRlbnRpZmllckV4cHIgYXMgdHMuSWRlbnRpZmllcjtcblxuICAgICAgICAgIGNvbnN0IGlkUGxhdGZvcm1TZXJ2ZXIgPSB0cy5jcmVhdGVVbmlxdWVOYW1lKCdfX05nQ2xpX2Jvb3RzdHJhcF8nKTtcbiAgICAgICAgICBjb25zdCBpZE5nRmFjdG9yeSA9IHRzLmNyZWF0ZVVuaXF1ZU5hbWUoJ19fTmdDbGlfYm9vdHN0cmFwXycpO1xuXG4gICAgICAgICAgb3BzLnB1c2goXG4gICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBlbnRyeSBtb2R1bGUgaW1wb3J0LlxuICAgICAgICAgICAgLi4uaW5zZXJ0U3RhckltcG9ydChzb3VyY2VGaWxlLCBpZE5nRmFjdG9yeSwgZmFjdG9yeU1vZHVsZVBhdGgpLFxuICAgICAgICAgICAgbmV3IFJlcGxhY2VOb2RlT3BlcmF0aW9uKHNvdXJjZUZpbGUsIGVudHJ5TW9kdWxlSWRlbnRpZmllcixcbiAgICAgICAgICAgICAgdHMuY3JlYXRlUHJvcGVydHlBY2Nlc3MoaWROZ0ZhY3RvcnksIHRzLmNyZWF0ZUlkZW50aWZpZXIoZmFjdG9yeUNsYXNzTmFtZSkpKSxcbiAgICAgICAgICAgIC8vIFJlcGxhY2UgdGhlIHJlbmRlck1vZHVsZSBpbXBvcnQuXG4gICAgICAgICAgICAuLi5pbnNlcnRTdGFySW1wb3J0KHNvdXJjZUZpbGUsIGlkUGxhdGZvcm1TZXJ2ZXIsICdAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXInKSxcbiAgICAgICAgICAgIG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCByZW5kZXJNb2R1bGVJZGVudGlmaWVyLFxuICAgICAgICAgICAgICB0cy5jcmVhdGVQcm9wZXJ0eUFjY2VzcyhpZFBsYXRmb3JtU2VydmVyLCAncmVuZGVyTW9kdWxlRmFjdG9yeScpKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQua2luZCA9PT0gdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFzc2lnbm1lbnQpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBmb3IgdGhpbmdzIHRoYXQgYWNjZXB0IGEgbW9kdWxlIGFzIGEgcHJvcGVydHkgaW4gYSBjb25maWcgb2JqZWN0XG4gICAgICAgIC8vIC5pZSB0aGUgZXhwcmVzcyBlbmdpbmVcblxuICAgICAgICBjb25zdCBpZE5nRmFjdG9yeSA9IHRzLmNyZWF0ZVVuaXF1ZU5hbWUoJ19fTmdDbGlfYm9vdHN0cmFwXycpO1xuXG4gICAgICAgIG9wcy5wdXNoKFxuICAgICAgICAgIC4uLmluc2VydFN0YXJJbXBvcnQoc291cmNlRmlsZSwgaWROZ0ZhY3RvcnksIGZhY3RvcnlNb2R1bGVQYXRoKSxcbiAgICAgICAgICBuZXcgUmVwbGFjZU5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgZW50cnlNb2R1bGVJZGVudGlmaWVyLFxuICAgICAgICAgICAgdHMuY3JlYXRlUHJvcGVydHlBY2Nlc3MoaWROZ0ZhY3RvcnksIHRzLmNyZWF0ZUlkZW50aWZpZXIoZmFjdG9yeUNsYXNzTmFtZSkpKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvcHM7XG4gIH07XG5cbiAgcmV0dXJuIG1ha2VUcmFuc2Zvcm0oc3RhbmRhcmRUcmFuc2Zvcm0sIGdldFR5cGVDaGVja2VyKTtcbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZV9zZXJ2ZXJfYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9uZ3Rvb2xzL3dlYnBhY2svc3JjL3RyYW5zZm9ybWVycy9yZXBsYWNlX3NlcnZlcl9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQkFBeUM7QUFDekMsaUNBQWlDO0FBQ2pDLCtDQUFpRDtBQUNqRCxtREFBbUQ7QUFDbkQsNkNBQTJGO0FBQzNGLHFEQUFpRDtBQUVqRCxnQ0FDRSxlQUE4QyxFQUM5QyxjQUFnRSxFQUNoRSxjQUFvQztJQUdwQyxNQUFNLGlCQUFpQixHQUFzQixVQUFVLFVBQXlCO1FBQzlFLE1BQU0sR0FBRyxHQUF5QixFQUFFLENBQUM7UUFFckMsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekQsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUVELHdCQUF3QjtRQUN4QixNQUFNLHNCQUFzQixHQUFHLDhCQUFnQixDQUFnQixVQUFVLEVBQ3ZFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO2FBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5FLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSx1QkFBdUIsR0FBRyxlQUFRLENBQUMsY0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsTUFBTSx5QkFBeUIsR0FBRyxLQUFLLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFB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RUFBRSxxQkFBcUIsRUFDeEQsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQy9FLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFFRixPQUFPLDhCQUFhLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQTdIRCx3REE2SEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBkaXJuYW1lLCByZWxhdGl2ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBjb2xsZWN0RGVlcE5vZGVzIH0gZnJvbSAnLi9hc3RfaGVscGVycyc7XG5pbXBvcnQgeyBpbnNlcnRTdGFySW1wb3J0IH0gZnJvbSAnLi9pbnNlcnRfaW1wb3J0JztcbmltcG9ydCB7IFJlcGxhY2VOb2RlT3BlcmF0aW9uLCBTdGFuZGFyZFRyYW5zZm9ybSwgVHJhbnNmb3JtT3BlcmF0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IG1ha2VUcmFuc2Zvcm0gfSBmcm9tICcuL21ha2VfdHJhbnNmb3JtJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VTZXJ2ZXJCb290c3RyYXAoXG4gIHNob3VsZFRyYW5zZm9ybTogKGZpbGVOYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gIGdldEVudHJ5TW9kdWxlOiAoKSA9PiB7IHBhdGg6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcgfSB8IG51bGwsXG4gIGdldFR5cGVDaGVja2VyOiAoKSA9PiB0cy5UeXBlQ2hlY2tlcixcbik6IHRzLlRyYW5zZm9ybWVyRmFjdG9yeTx0cy5Tb3VyY2VGaWxlPiB7XG5cbiAgY29uc3Qgc3RhbmRhcmRUcmFuc2Zvcm06IFN0YW5kYXJkVHJhbnNmb3JtID0gZnVuY3Rpb24gKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpIHtcbiAgICBjb25zdCBvcHM6IFRyYW5zZm9ybU9wZXJhdGlvbltdID0gW107XG5cbiAgICBjb25zdCBlbnRyeU1vZHVsZSA9IGdldEVudHJ5TW9kdWxlKCk7XG5cbiAgICBpZiAoIXNob3VsZFRyYW5zZm9ybShzb3VyY2VGaWxlLmZpbGVOYW1lKSB8fCAhZW50cnlNb2R1bGUpIHtcbiAgICAgIHJldHVybiBvcHM7XG4gICAgfVxuXG4gICAgLy8gRmluZCBhbGwgaWRlbnRpZmllcnMuXG4gICAgY29uc3QgZW50cnlNb2R1bGVJZGVudGlmaWVycyA9IGNvbGxlY3REZWVwTm9kZXM8dHMuSWRlbnRpZmllcj4oc291cmNlRmlsZSxcbiAgICAgIHRzLlN5bnRheEtpbmQuSWRlbnRpZmllcilcbiAgICAgIC5maWx0ZXIoaWRlbnRpZmllciA9PiBpZGVudGlmaWVyLnRleHQgPT09IGVudHJ5TW9kdWxlLmNsYXNzTmFtZSk7XG5cbiAgICBpZiAoZW50cnlNb2R1bGVJZGVudGlmaWVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxhdGl2ZUVudHJ5TW9kdWxlUGF0aCA9IHJlbGF0aXZlKGRpcm5hbWUoc291cmNlRmlsZS5maWxlTmFtZSksIGVudHJ5TW9kdWxlLnBhdGgpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRFbnRyeU1vZHVsZVBhdGggPSBgLi8ke3JlbGF0aXZlRW50cnlNb2R1bGVQYXRofWAucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICAgIGNvbnN0IGZhY3RvcnlDbGFzc05hbWUgPSBlbnRyeU1vZHVsZS5jbGFzc05hbWUgKyAnTmdGYWN0b3J5JztcbiAgICBjb25zdCBmYWN0b3J5TW9kdWxlUGF0aCA9IG5vcm1hbGl6ZWRFbnRyeU1vZHVsZVBhdGggKyAnLm5nZmFjdG9yeSc7XG5cbiAgICAvLyBGaW5kIHRoZSBib290c3RyYXAgY2FsbHMuXG4gICAgZW50cnlNb2R1bGVJZGVudGlmaWVycy5mb3JFYWNoKGVudHJ5TW9kdWxlSWRlbnRpZmllciA9PiB7XG4gICAgICBpZiAoIWVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW50cnlNb2R1bGVJZGVudGlmaWVyLnBhcmVudC5raW5kICE9PSB0cy5TeW50YXhLaW5kLkNhbGxFeHByZXNzaW9uICYmXG4gICAgICAgIGVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQua2luZCAhPT0gdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFzc2lnbm1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW50cnlNb2R1bGVJZGVudGlmaWVyLnBhcmVudC5raW5kID09PSB0cy5TeW50YXhLaW5kLkNhbGxFeHByZXNzaW9uKSB7XG4gICAgICAgIC8vIEZpZ3VyZSBvdXQgaWYgaXQncyBhIGBwbGF0Zm9ybUR5bmFtaWNTZXJ2ZXIoKS5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKWAgY2FsbC5cblxuICAgICAgICBjb25zdCBjYWxsRXhwciA9IGVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQgYXMgdHMuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgaWYgKGNhbGxFeHByLmV4cHJlc3Npb24ua2luZCA9PT0gdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pIHtcblxuICAgICAgICAgIGNvbnN0IHByb3BBY2Nlc3NFeHByID0gY2FsbEV4cHIuZXhwcmVzc2lvbiBhcyB0cy5Qcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb247XG5cbiAgICAgICAgICBpZiAoIShwcm9wQWNjZXNzRXhwci5uYW1lLnRleHQgPT09ICdib290c3RyYXBNb2R1bGUnXG4gICAgICAgICAgICAmJiBwcm9wQWNjZXNzRXhwci5leHByZXNzaW9uLmtpbmQgPT09IHRzLlN5bnRheEtpbmQuQ2FsbEV4cHJlc3Npb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYm9vdHN0cmFwTW9kdWxlSWRlbnRpZmllciA9IHByb3BBY2Nlc3NFeHByLm5hbWU7XG4gICAgICAgICAgY29uc3QgaW5uZXJDYWxsRXhwciA9IHByb3BBY2Nlc3NFeHByLmV4cHJlc3Npb24gYXMgdHMuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgICBpZiAoIShcbiAgICAgICAgICAgIGlubmVyQ2FsbEV4cHIuZXhwcmVzc2lvbi5raW5kID09PSB0cy5TeW50YXhLaW5kLklkZW50aWZpZXJcbiAgICAgICAgICAgICYmIChpbm5lckNhbGxFeHByLmV4cHJlc3Npb24gYXMgdHMuSWRlbnRpZmllcikudGV4dCA9PT0gJ3BsYXRmb3JtRHluYW1pY1NlcnZlcidcbiAgICAgICAgICApKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcGxhdGZvcm1EeW5hbWljU2VydmVySWRlbnRpZmllciA9IGlubmVyQ2FsbEV4cHIuZXhwcmVzc2lvbiBhcyB0cy5JZGVudGlmaWVyO1xuXG4gICAgICAgICAgY29uc3QgaWRQbGF0Zm9ybVNlcnZlciA9IHRzLmNyZWF0ZVVuaXF1ZU5hbWUoJ19fTmdDbGlfYm9vdHN0cmFwXycpO1xuICAgICAgICAgIGNvbnN0IGlkTmdGYWN0b3J5ID0gdHMuY3JlYXRlVW5pcXVlTmFtZSgnX19OZ0NsaV9ib290c3RyYXBfJyk7XG5cbiAgICAgICAgICAvLyBBZGQgdGhlIHRyYW5zZm9ybSBvcGVyYXRpb25zLlxuICAgICAgICAgIG9wcy5wdXNoKFxuICAgICAgICAgICAgLy8gUmVwbGFjZSB0aGUgZW50cnkgbW9kdWxlIGltcG9ydC5cbiAgICAgICAgICAgIC4uLmluc2VydFN0YXJJbXBvcnQoc291cmNlRmlsZSwgaWROZ0ZhY3RvcnksIGZhY3RvcnlNb2R1bGVQYXRoKSxcbiAgICAgICAgICAgIG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCBlbnRyeU1vZHVsZUlkZW50aWZpZXIsXG4gICAgICAgICAgICAgIHRzLmNyZWF0ZVByb3BlcnR5QWNjZXNzKGlkTmdGYWN0b3J5LCB0cy5jcmVhdGVJZGVudGlmaWVyKGZhY3RvcnlDbGFzc05hbWUpKSksXG4gICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljIGltcG9ydC5cbiAgICAgICAgICAgIC4uLmluc2VydFN0YXJJbXBvcnQoc291cmNlRmlsZSwgaWRQbGF0Zm9ybVNlcnZlciwgJ0Bhbmd1bGFyL3BsYXRmb3JtLXNlcnZlcicpLFxuICAgICAgICAgICAgbmV3IFJlcGxhY2VOb2RlT3BlcmF0aW9uKHNvdXJjZUZpbGUsIHBsYXRmb3JtRHluYW1pY1NlcnZlcklkZW50aWZpZXIsXG4gICAgICAgICAgICAgIHRzLmNyZWF0ZVByb3BlcnR5QWNjZXNzKGlkUGxhdGZvcm1TZXJ2ZXIsICdwbGF0Zm9ybVNlcnZlcicpKSxcbiAgICAgICAgICAgIG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCBib290c3RyYXBNb2R1bGVJZGVudGlmaWVyLFxuICAgICAgICAgICAgICB0cy5jcmVhdGVJZGVudGlmaWVyKCdib290c3RyYXBNb2R1bGVGYWN0b3J5JykpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoY2FsbEV4cHIuZXhwcmVzc2lvbi5raW5kID09PSB0cy5TeW50YXhLaW5kLklkZW50aWZpZXIpIHtcbiAgICAgICAgICAvLyBGaWd1cmUgb3V0IGlmIGl0IGlzIHJlbmRlck1vZHVsZVxuXG4gICAgICAgICAgY29uc3QgaWRlbnRpZmllckV4cHIgPSBjYWxsRXhwci5leHByZXNzaW9uIGFzIHRzLklkZW50aWZpZXI7XG5cbiAgICAgICAgICBpZiAoaWRlbnRpZmllckV4cHIudGV4dCAhPT0gJ3JlbmRlck1vZHVsZScpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCByZW5kZXJNb2R1bGVJZGVudGlmaWVyID0gaWRlbnRpZmllckV4cHIgYXMgdHMuSWRlbnRpZmllcjtcblxuICAgICAgICAgIGNvbnN0IGlkUGxhdGZvcm1TZXJ2ZXIgPSB0cy5jcmVhdGVVbmlxdWVOYW1lKCdfX05nQ2xpX2Jvb3RzdHJhcF8nKTtcbiAgICAgICAgICBjb25zdCBpZE5nRmFjdG9yeSA9IHRzLmNyZWF0ZVVuaXF1ZU5hbWUoJ19fTmdDbGlfYm9vdHN0cmFwXycpO1xuXG4gICAgICAgICAgb3BzLnB1c2goXG4gICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBlbnRyeSBtb2R1bGUgaW1wb3J0LlxuICAgICAgICAgICAgLi4uaW5zZXJ0U3RhckltcG9ydChzb3VyY2VGaWxlLCBpZE5nRmFjdG9yeSwgZmFjdG9yeU1vZHVsZVBhdGgpLFxuICAgICAgICAgICAgbmV3IFJlcGxhY2VOb2RlT3BlcmF0aW9uKHNvdXJjZUZpbGUsIGVudHJ5TW9kdWxlSWRlbnRpZmllcixcbiAgICAgICAgICAgICAgdHMuY3JlYXRlUHJvcGVydHlBY2Nlc3MoaWROZ0ZhY3RvcnksIHRzLmNyZWF0ZUlkZW50aWZpZXIoZmFjdG9yeUNsYXNzTmFtZSkpKSxcbiAgICAgICAgICAgIC8vIFJlcGxhY2UgdGhlIHJlbmRlck1vZHVsZSBpbXBvcnQuXG4gICAgICAgICAgICAuLi5pbnNlcnRTdGFySW1wb3J0KHNvdXJjZUZpbGUsIGlkUGxhdGZvcm1TZXJ2ZXIsICdAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXInKSxcbiAgICAgICAgICAgIG5ldyBSZXBsYWNlTm9kZU9wZXJhdGlvbihzb3VyY2VGaWxlLCByZW5kZXJNb2R1bGVJZGVudGlmaWVyLFxuICAgICAgICAgICAgICB0cy5jcmVhdGVQcm9wZXJ0eUFjY2VzcyhpZFBsYXRmb3JtU2VydmVyLCAncmVuZGVyTW9kdWxlRmFjdG9yeScpKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVudHJ5TW9kdWxlSWRlbnRpZmllci5wYXJlbnQua2luZCA9PT0gdHMuU3ludGF4S2luZC5Qcm9wZXJ0eUFzc2lnbm1lbnQpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBmb3IgdGhpbmdzIHRoYXQgYWNjZXB0IGEgbW9kdWxlIGFzIGEgcHJvcGVydHkgaW4gYSBjb25maWcgb2JqZWN0XG4gICAgICAgIC8vIC5pZSB0aGUgZXhwcmVzcyBlbmdpbmVcblxuICAgICAgICBjb25zdCBpZE5nRmFjdG9yeSA9IHRzLmNyZWF0ZVVuaXF1ZU5hbWUoJ19fTmdDbGlfYm9vdHN0cmFwXycpO1xuXG4gICAgICAgIG9wcy5wdXNoKFxuICAgICAgICAgIC4uLmluc2VydFN0YXJJbXBvcnQoc291cmNlRmlsZSwgaWROZ0ZhY3RvcnksIGZhY3RvcnlNb2R1bGVQYXRoKSxcbiAgICAgICAgICBuZXcgUmVwbGFjZU5vZGVPcGVyYXRpb24oc291cmNlRmlsZSwgZW50cnlNb2R1bGVJZGVudGlmaWVyLFxuICAgICAgICAgICAgdHMuY3JlYXRlUHJvcGVydHlBY2Nlc3MoaWROZ0ZhY3RvcnksIHRzLmNyZWF0ZUlkZW50aWZpZXIoZmFjdG9yeUNsYXNzTmFtZSkpKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvcHM7XG4gIH07XG5cbiAgcmV0dXJuIG1ha2VUcmFuc2Zvcm0oc3RhbmRhcmRUcmFuc2Zvcm0sIGdldFR5cGVDaGVja2VyKTtcbn1cbiJdfQ==
@@ -3,7 +3,7 @@ import { CancellationToken } from './gather_diagnostics';
3
3
  import { CompilerOptions } from './ngtools_api';
4
4
  export declare enum MESSAGE_KIND {
5
5
  Init = 0,
6
- Update = 1,
6
+ Update = 1
7
7
  }
8
8
  export declare abstract class TypeCheckerMessage {
9
9
  kind: MESSAGE_KIND;
@@ -29,8 +29,8 @@ export declare class TypeChecker {
29
29
  private _program;
30
30
  private _compilerHost;
31
31
  constructor(_compilerOptions: CompilerOptions, _basePath: string, _JitMode: boolean, _rootNames: string[]);
32
- private _update(rootNames, changedCompilationFiles);
33
- private _createOrUpdateProgram();
34
- private _diagnose(cancellationToken);
32
+ private _update;
33
+ private _createOrUpdateProgram;
34
+ private _diagnose;
35
35
  update(rootNames: string[], changedCompilationFiles: string[], cancellationToken: CancellationToken): void;
36
36
  }
@@ -117,4 +117,4 @@ class TypeChecker {
117
117
  }
118
118
  }
119
119
  exports.TypeChecker = TypeChecker;
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZV9jaGVja2VyLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9uZ3Rvb2xzL3dlYnBhY2svc3JjL3R5cGVfY2hlY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILCtDQUFnRDtBQUNoRCxpQ0FBaUM7QUFDakMsMkNBQTRDO0FBQzVDLG1EQUFzRDtBQUN0RCw2REFBNEU7QUFDNUUsK0NBT3VCO0FBR3ZCLDJFQUEyRTtBQUczRSxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsK0NBQUksQ0FBQTtJQUNKLG1EQUFNLENBQUE7QUFDUixDQUFDLEVBSFcsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFHdkI7QUFFRDtJQUNFLFlBQW1CLElBQWtCO1FBQWxCLFNBQUksR0FBSixJQUFJLENBQWM7SUFBSSxDQUFDO0NBQzNDO0FBRkQsZ0RBRUM7QUFFRCxpQkFBeUIsU0FBUSxrQkFBa0I7SUFDakQsWUFDUyxlQUFtQyxFQUNuQyxRQUFnQixFQUNoQixPQUFnQixFQUNoQixTQUFtQjtRQUUxQixLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBTGxCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtJQUc1QixDQUFDO0NBQ0Y7QUFURCxrQ0FTQztBQUVELG1CQUEyQixTQUFRLGtCQUFrQjtJQUNuRCxZQUFtQixTQUFtQixFQUFTLHVCQUFpQztRQUM5RSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRFYsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFTLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBVTtJQUVoRixDQUFDO0NBQ0Y7QUFKRCxzQ0FJQztBQUVZLFFBQUEsY0FBYyxHQUFHLHNDQUFzQyxDQUFDO0FBRXJFO0lBSUUsWUFDVSxnQkFBaUMsRUFDekMsU0FBaUIsRUFDVCxRQUFpQixFQUNqQixVQUFvQjtRQUhwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUU1QixnQkFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDaEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQ0FBbUIsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxRSxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0Isb0ZBQW9GO1FBQ3BGLHlGQUF5RjtRQUN6RixpQkFBaUI7UUFDakIsb0ZBQW9GO1FBQ3BGLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLGdDQUFrQixDQUFDO1lBQ3RDLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQzlCLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQXVDLENBQUM7UUFDekMsbUJBQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxPQUFPLENBQUMsU0FBbUIsRUFBRSx1QkFBaUM7UUFDcEUsZ0JBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsbUJBQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsaUNBQWlDO1lBQ2pDLGdCQUFJLENBQUMscURBQXFELENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQzlCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsUUFBc0IsQ0FDZCxDQUFDO1lBQ2hCLG1CQUFPLENBQUMscURBQXFELENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixnQkFBSSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7WUFDNUQsOEJBQThCO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsMkJBQWEsQ0FBQztnQkFDNUIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMxQixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtnQkFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQW1CO2FBQ3JDLENBQVksQ0FBQztZQUNkLG1CQUFPLENBQUMscURBQXFELENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxpQkFBb0M7UUFDcEQsTUFBTSxjQUFjLEdBQUcsc0NBQWlCLENBQ3RDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUVsRSxzQkFBc0I7UUFDdEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRCxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RixNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU1RixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sT0FBTyxHQUFHLCtCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQVEsQ0FBQyxJQUFJLENBQUMsZUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTiw4REFBOEQ7Z0JBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvQyxDQUFDO1lBRUQsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QixNQUFNLE9BQU8sR0FBRywrQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFRLENBQUMsSUFBSSxDQUFDLGVBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsU0FBbUIsRUFBRSx1QkFBaUMsRUFDdEQsaUJBQW9DO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQXhGRCxrQ0F3RkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyB0ZXJtaW5hbCB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgdGltZSwgdGltZUVuZCB9IGZyb20gJy4vYmVuY2htYXJrJztcbmltcG9ydCB7IFdlYnBhY2tDb21waWxlckhvc3QgfSBmcm9tICcuL2NvbXBpbGVyX2hvc3QnO1xuaW1wb3J0IHsgQ2FuY2VsbGF0aW9uVG9rZW4sIGdhdGhlckRpYWdub3N0aWNzIH0gZnJvbSAnLi9nYXRoZXJfZGlhZ25vc3RpY3MnO1xuaW1wb3J0IHtcbiAgQ29tcGlsZXJIb3N0LFxuICBDb21waWxlck9wdGlvbnMsXG4gIFByb2dyYW0sXG4gIGNyZWF0ZUNvbXBpbGVySG9zdCxcbiAgY3JlYXRlUHJvZ3JhbSxcbiAgZm9ybWF0RGlhZ25vc3RpY3MsXG59IGZyb20gJy4vbmd0b29sc19hcGknO1xuXG5cbi8vIFRoaXMgZmlsZSBzaG91bGQgcnVuIGluIGEgY2hpbGQgcHJvY2VzcyB3aXRoIHRoZSBBVVRPX1NUQVJUX0FSRyBhcmd1bWVudFxuXG5cbmV4cG9ydCBlbnVtIE1FU1NBR0VfS0lORCB7XG4gIEluaXQsXG4gIFVwZGF0ZSxcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR5cGVDaGVja2VyTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBraW5kOiBNRVNTQUdFX0tJTkQpIHsgfVxufVxuXG5leHBvcnQgY2xhc3MgSW5pdE1lc3NhZ2UgZXh0ZW5kcyBUeXBlQ2hlY2tlck1lc3NhZ2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tcGlsZXJPcHRpb25zOiB0cy5Db21waWxlck9wdGlvbnMsXG4gICAgcHVibGljIGJhc2VQYXRoOiBzdHJpbmcsXG4gICAgcHVibGljIGppdE1vZGU6IGJvb2xlYW4sXG4gICAgcHVibGljIHJvb3ROYW1lczogc3RyaW5nW10sXG4gICkge1xuICAgIHN1cGVyKE1FU1NBR0VfS0lORC5Jbml0KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlTWVzc2FnZSBleHRlbmRzIFR5cGVDaGVja2VyTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb290TmFtZXM6IHN0cmluZ1tdLCBwdWJsaWMgY2hhbmdlZENvbXBpbGF0aW9uRmlsZXM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoTUVTU0FHRV9LSU5ELlVwZGF0ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFVVE9fU1RBUlRfQVJHID0gJzlkOTNlOTAxLTE1OGEtNGNmOS1iYTFiLTJmMDU4MmZmY2ZlYic7XG5cbmV4cG9ydCBjbGFzcyBUeXBlQ2hlY2tlciB7XG4gIHByaXZhdGUgX3Byb2dyYW06IHRzLlByb2dyYW0gfCBQcm9ncmFtO1xuICBwcml2YXRlIF9jb21waWxlckhvc3Q6IFdlYnBhY2tDb21waWxlckhvc3QgJiBDb21waWxlckhvc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY29tcGlsZXJPcHRpb25zOiBDb21waWxlck9wdGlvbnMsXG4gICAgX2Jhc2VQYXRoOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBfSml0TW9kZTogYm9vbGVhbixcbiAgICBwcml2YXRlIF9yb290TmFtZXM6IHN0cmluZ1tdLFxuICApIHtcbiAgICB0aW1lKCdUeXBlQ2hlY2tlci5jb25zdHJ1Y3RvcicpO1xuICAgIGNvbnN0IGNvbXBpbGVySG9zdCA9IG5ldyBXZWJwYWNrQ29tcGlsZXJIb3N0KF9jb21waWxlck9wdGlvbnMsIF9iYXNlUGF0aCk7XG4gICAgY29tcGlsZXJIb3N0LmVuYWJsZUNhY2hpbmcoKTtcbiAgICAvLyBXZSBkb24ndCBzZXQgYSBhc3luYyByZXNvdXJjZSBsb2FkZXIgb24gdGhlIGNvbXBpbGVyIGhvc3QgYmVjYXVzZSB3ZSBvbmx5IHN1cHBvcnRcbiAgICAvLyBodG1sIHRlbXBsYXRlcywgd2hpY2ggYXJlIHRoZSBvbmx5IG9uZXMgdGhhdCBjYW4gdGhyb3cgZXJyb3JzLCBhbmQgdGhvc2UgY2FuIGJlIGxvYWRlZFxuICAgIC8vIHN5bmNocm9ub3VzbHkuXG4gICAgLy8gSWYgd2UgbmVlZCB0byBhbHNvIHJlcG9ydCBlcnJvcnMgb24gc3R5bGVzIHRoZW4gd2UnbGwgbmVlZCB0byBhc2sgdGhlIG1haW4gdGhyZWFkXG4gICAgLy8gZm9yIHRoZXNlIHJlc291cmNlcy5cbiAgICB0aGlzLl9jb21waWxlckhvc3QgPSBjcmVhdGVDb21waWxlckhvc3Qoe1xuICAgICAgb3B0aW9uczogdGhpcy5fY29tcGlsZXJPcHRpb25zLFxuICAgICAgdHNIb3N0OiBjb21waWxlckhvc3QsXG4gICAgfSkgYXMgQ29tcGlsZXJIb3N0ICYgV2VicGFja0NvbXBpbGVySG9zdDtcbiAgICB0aW1lRW5kKCdUeXBlQ2hlY2tlci5jb25zdHJ1Y3RvcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlKHJvb3ROYW1lczogc3RyaW5nW10sIGNoYW5nZWRDb21waWxhdGlvbkZpbGVzOiBzdHJpbmdbXSkge1xuICAgIHRpbWUoJ1R5cGVDaGVja2VyLl91cGRhdGUnKTtcbiAgICB0aGlzLl9yb290TmFtZXMgPSByb290TmFtZXM7XG4gICAgY2hhbmdlZENvbXBpbGF0aW9uRmlsZXMuZm9yRWFjaCgoZmlsZU5hbWUpID0+IHtcbiAgICAgIHRoaXMuX2NvbXBpbGVySG9zdC5pbnZhbGlkYXRlKGZpbGVOYW1lKTtcbiAgICB9KTtcbiAgICB0aW1lRW5kKCdUeXBlQ2hlY2tlci5fdXBkYXRlJyk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVPclVwZGF0ZVByb2dyYW0oKSB7XG4gICAgaWYgKHRoaXMuX0ppdE1vZGUpIHtcbiAgICAgIC8vIENyZWF0ZSB0aGUgVHlwZVNjcmlwdCBwcm9ncmFtLlxuICAgICAgdGltZSgnVHlwZUNoZWNrZXIuX2NyZWF0ZU9yVXBkYXRlUHJvZ3JhbS50cy5jcmVhdGVQcm9ncmFtJyk7XG4gICAgICB0aGlzLl9wcm9ncmFtID0gdHMuY3JlYXRlUHJvZ3JhbShcbiAgICAgICAgdGhpcy5fcm9vdE5hbWVzLFxuICAgICAgICB0aGlzLl9jb21waWxlck9wdGlvbnMsXG4gICAgICAgIHRoaXMuX2NvbXBpbGVySG9zdCxcbiAgICAgICAgdGhpcy5fcHJvZ3JhbSBhcyB0cy5Qcm9ncmFtLFxuICAgICAgKSBhcyB0cy5Qcm9ncmFtO1xuICAgICAgdGltZUVuZCgnVHlwZUNoZWNrZXIuX2NyZWF0ZU9yVXBkYXRlUHJvZ3JhbS50cy5jcmVhdGVQcm9ncmFtJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRpbWUoJ1R5cGVDaGVja2VyLl9jcmVhdGVPclVwZGF0ZVByb2dyYW0ubmcuY3JlYXRlUHJvZ3JhbScpO1xuICAgICAgLy8gQ3JlYXRlIHRoZSBBbmd1bGFyIHByb2dyYW0uXG4gICAgICB0aGlzLl9wcm9ncmFtID0gY3JlYXRlUHJvZ3JhbSh7XG4gICAgICAgIHJvb3ROYW1lczogdGhpcy5fcm9vdE5hbWVzLFxuICAgICAgICBvcHRpb25zOiB0aGlzLl9jb21waWxlck9wdGlvbnMsXG4gICAgICAgIGhvc3Q6IHRoaXMuX2NvbXBpbGVySG9zdCxcbiAgICAgICAgb2xkUHJvZ3JhbTogdGhpcy5fcHJvZ3JhbSBhcyBQcm9ncmFtLFxuICAgICAgfSkgYXMgUHJvZ3JhbTtcbiAgICAgIHRpbWVFbmQoJ1R5cGVDaGVja2VyLl9jcmVhdGVPclVwZGF0ZVByb2dyYW0ubmcuY3JlYXRlUHJvZ3JhbScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RpYWdub3NlKGNhbmNlbGxhdGlvblRva2VuOiBDYW5jZWxsYXRpb25Ub2tlbikge1xuICAgIGNvbnN0IGFsbERpYWdub3N0aWNzID0gZ2F0aGVyRGlhZ25vc3RpY3MoXG4gICAgICB0aGlzLl9wcm9ncmFtLCB0aGlzLl9KaXRNb2RlLCAnVHlwZUNoZWNrZXInLCBjYW5jZWxsYXRpb25Ub2tlbik7XG5cbiAgICAvLyBSZXBvcnQgZGlhZ25vc3RpY3MuXG4gICAgaWYgKCFjYW5jZWxsYXRpb25Ub2tlbi5pc0NhbmNlbGxhdGlvblJlcXVlc3RlZCgpKSB7XG4gICAgICBjb25zdCBlcnJvcnMgPSBhbGxEaWFnbm9zdGljcy5maWx0ZXIoKGQpID0+IGQuY2F0ZWdvcnkgPT09IHRzLkRpYWdub3N0aWNDYXRlZ29yeS5FcnJvcik7XG4gICAgICBjb25zdCB3YXJuaW5ncyA9IGFsbERpYWdub3N0aWNzLmZpbHRlcigoZCkgPT4gZC5jYXRlZ29yeSA9PT0gdHMuRGlhZ25vc3RpY0NhdGVnb3J5Lldhcm5pbmcpO1xuXG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGZvcm1hdERpYWdub3N0aWNzKGVycm9ycyk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IodGVybWluYWwuYm9sZCh0ZXJtaW5hbC5yZWQoJ0VSUk9SIGluICcgKyBtZXNzYWdlKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gUmVzZXQgdGhlIGNoYW5nZWQgZmlsZSB0cmFja2VyIG9ubHkgaWYgdGhlcmUgYXJlIG5vIGVycm9ycy5cbiAgICAgICAgdGhpcy5fY29tcGlsZXJIb3N0LnJlc2V0Q2hhbmdlZEZpbGVUcmFja2VyKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh3YXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBmb3JtYXREaWFnbm9zdGljcyh3YXJuaW5ncyk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRlcm1pbmFsLmJvbGQodGVybWluYWwueWVsbG93KCdXQVJOSU5HIGluICcgKyBtZXNzYWdlKSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUocm9vdE5hbWVzOiBzdHJpbmdbXSwgY2hhbmdlZENvbXBpbGF0aW9uRmlsZXM6IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgIGNhbmNlbGxhdGlvblRva2VuOiBDYW5jZWxsYXRpb25Ub2tlbikge1xuICAgIHRoaXMuX3VwZGF0ZShyb290TmFtZXMsIGNoYW5nZWRDb21waWxhdGlvbkZpbGVzKTtcbiAgICB0aGlzLl9jcmVhdGVPclVwZGF0ZVByb2dyYW0oKTtcbiAgICB0aGlzLl9kaWFnbm9zZShjYW5jZWxsYXRpb25Ub2tlbik7XG4gIH1cbn1cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZV9jaGVja2VyLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9uZ3Rvb2xzL3dlYnBhY2svc3JjL3R5cGVfY2hlY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILCtDQUFnRDtBQUNoRCxpQ0FBaUM7QUFDakMsMkNBQTRDO0FBQzVDLG1EQUFzRDtBQUN0RCw2REFBNEU7QUFDNUUsK0NBT3VCO0FBR3ZCLDJFQUEyRTtBQUczRSxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsK0NBQUksQ0FBQTtJQUNKLG1EQUFNLENBQUE7QUFDUixDQUFDLEVBSFcsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFHdkI7QUFFRDtJQUNFLFlBQW1CLElBQWtCO1FBQWxCLFNBQUksR0FBSixJQUFJLENBQWM7SUFBSSxDQUFDO0NBQzNDO0FBRkQsZ0RBRUM7QUFFRCxpQkFBeUIsU0FBUSxrQkFBa0I7SUFDakQsWUFDUyxlQUFtQyxFQUNuQyxRQUFnQixFQUNoQixPQUFnQixFQUNoQixTQUFtQjtRQUUxQixLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBTGxCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtJQUc1QixDQUFDO0NBQ0Y7QUFURCxrQ0FTQztBQUVELG1CQUEyQixTQUFRLGtCQUFrQjtJQUNuRCxZQUFtQixTQUFtQixFQUFTLHVCQUFpQztRQUM5RSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRFYsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFTLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBVTtJQUVoRixDQUFDO0NBQ0Y7QUFKRCxzQ0FJQztBQUVZLFFBQUEsY0FBYyxHQUFHLHNDQUFzQyxDQUFDO0FBRXJFO0lB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QUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBUSxDQUFDLElBQUksQ0FBQyxlQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0wsOERBQThEO2dCQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUM7YUFDOUM7WUFFRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QixNQUFNLE9BQU8sR0FBRywrQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFRLENBQUMsSUFBSSxDQUFDLGVBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0RTtTQUNGO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFtQixFQUFFLHVCQUFpQyxFQUN0RCxpQkFBb0M7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBeEZELGtDQXdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IHRlcm1pbmFsIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyB0aW1lLCB0aW1lRW5kIH0gZnJvbSAnLi9iZW5jaG1hcmsnO1xuaW1wb3J0IHsgV2VicGFja0NvbXBpbGVySG9zdCB9IGZyb20gJy4vY29tcGlsZXJfaG9zdCc7XG5pbXBvcnQgeyBDYW5jZWxsYXRpb25Ub2tlbiwgZ2F0aGVyRGlhZ25vc3RpY3MgfSBmcm9tICcuL2dhdGhlcl9kaWFnbm9zdGljcyc7XG5pbXBvcnQge1xuICBDb21waWxlckhvc3QsXG4gIENvbXBpbGVyT3B0aW9ucyxcbiAgUHJvZ3JhbSxcbiAgY3JlYXRlQ29tcGlsZXJIb3N0LFxuICBjcmVhdGVQcm9ncmFtLFxuICBmb3JtYXREaWFnbm9zdGljcyxcbn0gZnJvbSAnLi9uZ3Rvb2xzX2FwaSc7XG5cblxuLy8gVGhpcyBmaWxlIHNob3VsZCBydW4gaW4gYSBjaGlsZCBwcm9jZXNzIHdpdGggdGhlIEFVVE9fU1RBUlRfQVJHIGFyZ3VtZW50XG5cblxuZXhwb3J0IGVudW0gTUVTU0FHRV9LSU5EIHtcbiAgSW5pdCxcbiAgVXBkYXRlLFxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHlwZUNoZWNrZXJNZXNzYWdlIHtcbiAgY29uc3RydWN0b3IocHVibGljIGtpbmQ6IE1FU1NBR0VfS0lORCkgeyB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbml0TWVzc2FnZSBleHRlbmRzIFR5cGVDaGVja2VyTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyxcbiAgICBwdWJsaWMgYmFzZVBhdGg6IHN0cmluZyxcbiAgICBwdWJsaWMgaml0TW9kZTogYm9vbGVhbixcbiAgICBwdWJsaWMgcm9vdE5hbWVzOiBzdHJpbmdbXSxcbiAgKSB7XG4gICAgc3VwZXIoTUVTU0FHRV9LSU5ELkluaXQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVNZXNzYWdlIGV4dGVuZHMgVHlwZUNoZWNrZXJNZXNzYWdlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJvb3ROYW1lczogc3RyaW5nW10sIHB1YmxpYyBjaGFuZ2VkQ29tcGlsYXRpb25GaWxlczogc3RyaW5nW10pIHtcbiAgICBzdXBlcihNRVNTQUdFX0tJTkQuVXBkYXRlKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVVUT19TVEFSVF9BUkcgPSAnOWQ5M2U5MDEtMTU4YS00Y2Y5LWJhMWItMmYwNTgyZmZjZmViJztcblxuZXhwb3J0IGNsYXNzIFR5cGVDaGVja2VyIHtcbiAgcHJpdmF0ZSBfcHJvZ3JhbTogdHMuUHJvZ3JhbSB8IFByb2dyYW07XG4gIHByaXZhdGUgX2NvbXBpbGVySG9zdDogV2VicGFja0NvbXBpbGVySG9zdCAmIENvbXBpbGVySG9zdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jb21waWxlck9wdGlvbnM6IENvbXBpbGVyT3B0aW9ucyxcbiAgICBfYmFzZVBhdGg6IHN0cmluZyxcbiAgICBwcml2YXRlIF9KaXRNb2RlOiBib29sZWFuLFxuICAgIHByaXZhdGUgX3Jvb3ROYW1lczogc3RyaW5nW10sXG4gICkge1xuICAgIHRpbWUoJ1R5cGVDaGVja2VyLmNvbnN0cnVjdG9yJyk7XG4gICAgY29uc3QgY29tcGlsZXJIb3N0ID0gbmV3IFdlYnBhY2tDb21waWxlckhvc3QoX2NvbXBpbGVyT3B0aW9ucywgX2Jhc2VQYXRoKTtcbiAgICBjb21waWxlckhvc3QuZW5hYmxlQ2FjaGluZygpO1xuICAgIC8vIFdlIGRvbid0IHNldCBhIGFzeW5jIHJlc291cmNlIGxvYWRlciBvbiB0aGUgY29tcGlsZXIgaG9zdCBiZWNhdXNlIHdlIG9ubHkgc3VwcG9ydFxuICAgIC8vIGh0bWwgdGVtcGxhdGVzLCB3aGljaCBhcmUgdGhlIG9ubHkgb25lcyB0aGF0IGNhbiB0aHJvdyBlcnJvcnMsIGFuZCB0aG9zZSBjYW4gYmUgbG9hZGVkXG4gICAgLy8gc3luY2hyb25vdXNseS5cbiAgICAvLyBJZiB3ZSBuZWVkIHRvIGFsc28gcmVwb3J0IGVycm9ycyBvbiBzdHlsZXMgdGhlbiB3ZSdsbCBuZWVkIHRvIGFzayB0aGUgbWFpbiB0aHJlYWRcbiAgICAvLyBmb3IgdGhlc2UgcmVzb3VyY2VzLlxuICAgIHRoaXMuX2NvbXBpbGVySG9zdCA9IGNyZWF0ZUNvbXBpbGVySG9zdCh7XG4gICAgICBvcHRpb25zOiB0aGlzLl9jb21waWxlck9wdGlvbnMsXG4gICAgICB0c0hvc3Q6IGNvbXBpbGVySG9zdCxcbiAgICB9KSBhcyBDb21waWxlckhvc3QgJiBXZWJwYWNrQ29tcGlsZXJIb3N0O1xuICAgIHRpbWVFbmQoJ1R5cGVDaGVja2VyLmNvbnN0cnVjdG9yJyk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGUocm9vdE5hbWVzOiBzdHJpbmdbXSwgY2hhbmdlZENvbXBpbGF0aW9uRmlsZXM6IHN0cmluZ1tdKSB7XG4gICAgdGltZSgnVHlwZUNoZWNrZXIuX3VwZGF0ZScpO1xuICAgIHRoaXMuX3Jvb3ROYW1lcyA9IHJvb3ROYW1lcztcbiAgICBjaGFuZ2VkQ29tcGlsYXRpb25GaWxlcy5mb3JFYWNoKChmaWxlTmFtZSkgPT4ge1xuICAgICAgdGhpcy5fY29tcGlsZXJIb3N0LmludmFsaWRhdGUoZmlsZU5hbWUpO1xuICAgIH0pO1xuICAgIHRpbWVFbmQoJ1R5cGVDaGVja2VyLl91cGRhdGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU9yVXBkYXRlUHJvZ3JhbSgpIHtcbiAgICBpZiAodGhpcy5fSml0TW9kZSkge1xuICAgICAgLy8gQ3JlYXRlIHRoZSBUeXBlU2NyaXB0IHByb2dyYW0uXG4gICAgICB0aW1lKCdUeXBlQ2hlY2tlci5fY3JlYXRlT3JVcGRhdGVQcm9ncmFtLnRzLmNyZWF0ZVByb2dyYW0nKTtcbiAgICAgIHRoaXMuX3Byb2dyYW0gPSB0cy5jcmVhdGVQcm9ncmFtKFxuICAgICAgICB0aGlzLl9yb290TmFtZXMsXG4gICAgICAgIHRoaXMuX2NvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgdGhpcy5fY29tcGlsZXJIb3N0LFxuICAgICAgICB0aGlzLl9wcm9ncmFtIGFzIHRzLlByb2dyYW0sXG4gICAgICApIGFzIHRzLlByb2dyYW07XG4gICAgICB0aW1lRW5kKCdUeXBlQ2hlY2tlci5fY3JlYXRlT3JVcGRhdGVQcm9ncmFtLnRzLmNyZWF0ZVByb2dyYW0nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGltZSgnVHlwZUNoZWNrZXIuX2NyZWF0ZU9yVXBkYXRlUHJvZ3JhbS5uZy5jcmVhdGVQcm9ncmFtJyk7XG4gICAgICAvLyBDcmVhdGUgdGhlIEFuZ3VsYXIgcHJvZ3JhbS5cbiAgICAgIHRoaXMuX3Byb2dyYW0gPSBjcmVhdGVQcm9ncmFtKHtcbiAgICAgICAgcm9vdE5hbWVzOiB0aGlzLl9yb290TmFtZXMsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMuX2NvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgaG9zdDogdGhpcy5fY29tcGlsZXJIb3N0LFxuICAgICAgICBvbGRQcm9ncmFtOiB0aGlzLl9wcm9ncmFtIGFzIFByb2dyYW0sXG4gICAgICB9KSBhcyBQcm9ncmFtO1xuICAgICAgdGltZUVuZCgnVHlwZUNoZWNrZXIuX2NyZWF0ZU9yVXBkYXRlUHJvZ3JhbS5uZy5jcmVhdGVQcm9ncmFtJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGlhZ25vc2UoY2FuY2VsbGF0aW9uVG9rZW46IENhbmNlbGxhdGlvblRva2VuKSB7XG4gICAgY29uc3QgYWxsRGlhZ25vc3RpY3MgPSBnYXRoZXJEaWFnbm9zdGljcyhcbiAgICAgIHRoaXMuX3Byb2dyYW0sIHRoaXMuX0ppdE1vZGUsICdUeXBlQ2hlY2tlcicsIGNhbmNlbGxhdGlvblRva2VuKTtcblxuICAgIC8vIFJlcG9ydCBkaWFnbm9zdGljcy5cbiAgICBpZiAoIWNhbmNlbGxhdGlvblRva2VuLmlzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKCkpIHtcbiAgICAgIGNvbnN0IGVycm9ycyA9IGFsbERpYWdub3N0aWNzLmZpbHRlcigoZCkgPT4gZC5jYXRlZ29yeSA9PT0gdHMuRGlhZ25vc3RpY0NhdGVnb3J5LkVycm9yKTtcbiAgICAgIGNvbnN0IHdhcm5pbmdzID0gYWxsRGlhZ25vc3RpY3MuZmlsdGVyKChkKSA9PiBkLmNhdGVnb3J5ID09PSB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuV2FybmluZyk7XG5cbiAgICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZm9ybWF0RGlhZ25vc3RpY3MoZXJyb3JzKTtcbiAgICAgICAgY29uc29sZS5lcnJvcih0ZXJtaW5hbC5ib2xkKHRlcm1pbmFsLnJlZCgnRVJST1IgaW4gJyArIG1lc3NhZ2UpKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZXNldCB0aGUgY2hhbmdlZCBmaWxlIHRyYWNrZXIgb25seSBpZiB0aGVyZSBhcmUgbm8gZXJyb3JzLlxuICAgICAgICB0aGlzLl9jb21waWxlckhvc3QucmVzZXRDaGFuZ2VkRmlsZVRyYWNrZXIoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGZvcm1hdERpYWdub3N0aWNzKHdhcm5pbmdzKTtcbiAgICAgICAgY29uc29sZS5sb2codGVybWluYWwuYm9sZCh0ZXJtaW5hbC55ZWxsb3coJ1dBUk5JTkcgaW4gJyArIG1lc3NhZ2UpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZShyb290TmFtZXM6IHN0cmluZ1tdLCBjaGFuZ2VkQ29tcGlsYXRpb25GaWxlczogc3RyaW5nW10sXG4gICAgICAgICAgICAgICAgY2FuY2VsbGF0aW9uVG9rZW46IENhbmNlbGxhdGlvblRva2VuKSB7XG4gICAgdGhpcy5fdXBkYXRlKHJvb3ROYW1lcywgY2hhbmdlZENvbXBpbGF0aW9uRmlsZXMpO1xuICAgIHRoaXMuX2NyZWF0ZU9yVXBkYXRlUHJvZ3JhbSgpO1xuICAgIHRoaXMuX2RpYWdub3NlKGNhbmNlbGxhdGlvblRva2VuKTtcbiAgfVxufVxuIl19
@@ -41,4 +41,4 @@ if (process.argv.indexOf(type_checker_1.AUTO_START_ARG) >= 0) {
41
41
  benchmark_1.timeEnd('TypeChecker.message');
42
42
  });
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZV9jaGVja2VyX3dvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsicGFja2FnZXMvbmd0b29scy93ZWJwYWNrL3NyYy90eXBlX2NoZWNrZXJfd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsbUNBQW1DO0FBQ25DLDJDQUE0QztBQUM1Qyw2REFBeUQ7QUFDekQsaURBT3dCO0FBRXhCLElBQUksV0FBd0IsQ0FBQztBQUM3QixJQUFJLHFCQUF3QyxDQUFDO0FBRTdDLG9FQUFvRTtBQUNwRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw2QkFBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQTJCLEVBQUUsRUFBRTtRQUNwRCxnQkFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDNUIsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckIsS0FBSywyQkFBWSxDQUFDLElBQUk7Z0JBQ3BCLE1BQU0sV0FBVyxHQUFHLE9BQXNCLENBQUM7Z0JBQzNDLFdBQVcsR0FBRyxJQUFJLDBCQUFXLENBQzNCLFdBQVcsQ0FBQyxlQUFlLEVBQzNCLFdBQVcsQ0FBQyxRQUFRLEVBQ3BCLFdBQVcsQ0FBQyxPQUFPLEVBQ25CLFdBQVcsQ0FBQyxTQUFTLENBQ3RCLENBQUM7Z0JBQ0YsS0FBSyxDQUFDO1lBQ1IsS0FBSywyQkFBWSxDQUFDLE1BQU07Z0JBQ3RCLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO2dCQUNoRixDQUFDO2dCQUNELEVBQUUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztvQkFDMUIsdUZBQXVGO29CQUN2RixpQ0FBaUM7b0JBQ2pDLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzlDLENBQUM7Z0JBQ0QsTUFBTSxhQUFhLEdBQUcsT0FBd0IsQ0FBQztnQkFDL0MscUJBQXFCLEdBQUcsSUFBSSxzQ0FBaUIsRUFBRSxDQUFDO2dCQUNoRCxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLHVCQUF1QixFQUMvRSxxQkFBcUIsQ0FBQyxDQUFDO2dCQUN6QixLQUFLLENBQUM7WUFDUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxtQkFBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgcHJvY2VzcyBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IHRpbWUsIHRpbWVFbmQgfSBmcm9tICcuL2JlbmNobWFyayc7XG5pbXBvcnQgeyBDYW5jZWxsYXRpb25Ub2tlbiB9IGZyb20gJy4vZ2F0aGVyX2RpYWdub3N0aWNzJztcbmltcG9ydCB7XG4gIEFVVE9fU1RBUlRfQVJHLFxuICBJbml0TWVzc2FnZSxcbiAgTUVTU0FHRV9LSU5ELFxuICBUeXBlQ2hlY2tlcixcbiAgVHlwZUNoZWNrZXJNZXNzYWdlLFxuICBVcGRhdGVNZXNzYWdlLFxufSBmcm9tICcuL3R5cGVfY2hlY2tlcic7XG5cbmxldCB0eXBlQ2hlY2tlcjogVHlwZUNoZWNrZXI7XG5sZXQgbGFzdENhbmNlbGxhdGlvblRva2VuOiBDYW5jZWxsYXRpb25Ub2tlbjtcblxuLy8gb25seSBsaXN0ZW4gdG8gbWVzc2FnZXMgaWYgc3RhcnRlZCBmcm9tIHRoZSBBbmd1bGFyQ29tcGlsZXJQbHVnaW5cbmlmIChwcm9jZXNzLmFyZ3YuaW5kZXhPZihBVVRPX1NUQVJUX0FSRykgPj0gMCkge1xuICBwcm9jZXNzLm9uKCdtZXNzYWdlJywgKG1lc3NhZ2U6IFR5cGVDaGVja2VyTWVzc2FnZSkgPT4ge1xuICAgIHRpbWUoJ1R5cGVDaGVja2VyLm1lc3NhZ2UnKTtcbiAgICBzd2l0Y2ggKG1lc3NhZ2Uua2luZCkge1xuICAgICAgY2FzZSBNRVNTQUdFX0tJTkQuSW5pdDpcbiAgICAgICAgY29uc3QgaW5pdE1lc3NhZ2UgPSBtZXNzYWdlIGFzIEluaXRNZXNzYWdlO1xuICAgICAgICB0eXBlQ2hlY2tlciA9IG5ldyBUeXBlQ2hlY2tlcihcbiAgICAgICAgICBpbml0TWVzc2FnZS5jb21waWxlck9wdGlvbnMsXG4gICAgICAgICAgaW5pdE1lc3NhZ2UuYmFzZVBhdGgsXG4gICAgICAgICAgaW5pdE1lc3NhZ2Uuaml0TW9kZSxcbiAgICAgICAgICBpbml0TWVzc2FnZS5yb290TmFtZXMsXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBNRVNTQUdFX0tJTkQuVXBkYXRlOlxuICAgICAgICBpZiAoIXR5cGVDaGVja2VyKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeXBlQ2hlY2tlcjogdXBkYXRlIG1lc3NhZ2UgcmVjZWl2ZWQgYmVmb3JlIGluaXRpYWxpemF0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxhc3RDYW5jZWxsYXRpb25Ub2tlbikge1xuICAgICAgICAgIC8vIFRoaXMgY2FuY2VsbGF0aW9uIHRva2VuIGRvZXNuJ3Qgc2VlbSB0byBkbyBtdWNoLCBtZXNzYWdlcyBkb24ndCBzZWVtIHRvIGJlIHByb2Nlc3NlZFxuICAgICAgICAgIC8vIGJlZm9yZSB0aGUgZGlhZ25vc3RpY3MgZmluaXNoLlxuICAgICAgICAgIGxhc3RDYW5jZWxsYXRpb25Ub2tlbi5yZXF1ZXN0Q2FuY2VsbGF0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXBkYXRlTWVzc2FnZSA9IG1lc3NhZ2UgYXMgVXBkYXRlTWVzc2FnZTtcbiAgICAgICAgbGFzdENhbmNlbGxhdGlvblRva2VuID0gbmV3IENhbmNlbGxhdGlvblRva2VuKCk7XG4gICAgICAgIHR5cGVDaGVja2VyLnVwZGF0ZSh1cGRhdGVNZXNzYWdlLnJvb3ROYW1lcywgdXBkYXRlTWVzc2FnZS5jaGFuZ2VkQ29tcGlsYXRpb25GaWxlcyxcbiAgICAgICAgICBsYXN0Q2FuY2VsbGF0aW9uVG9rZW4pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVHlwZUNoZWNrZXI6IFVuZXhwZWN0ZWQgbWVzc2FnZSByZWNlaXZlZDogJHttZXNzYWdlfS5gKTtcbiAgICB9XG4gICAgdGltZUVuZCgnVHlwZUNoZWNrZXIubWVzc2FnZScpO1xuICB9KTtcbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZV9jaGVja2VyX3dvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsicGFja2FnZXMvbmd0b29scy93ZWJwYWNrL3NyYy90eXBlX2NoZWNrZXJfd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsbUNBQW1DO0FBQ25DLDJDQUE0QztBQUM1Qyw2REFBeUQ7QUFDekQsaURBT3dCO0FBRXhCLElBQUksV0FBd0IsQ0FBQztBQUM3QixJQUFJLHFCQUF3QyxDQUFDO0FBRTdDLG9FQUFvRTtBQUNwRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDZCQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDN0MsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUEyQixFQUFFLEVBQUU7UUFDcEQsZ0JBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzVCLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRTtZQUNwQixLQUFLLDJCQUFZLENBQUMsSUFBSTtnQkFDcEIsTUFBTSxXQUFXLEdBQUcsT0FBc0IsQ0FBQztnQkFDM0MsV0FBVyxHQUFHLElBQUksMEJBQVcsQ0FDM0IsV0FBVyxDQUFDLGVBQWUsRUFDM0IsV0FBVyxDQUFDLFFBQVEsRUFDcEIsV0FBVyxDQUFDLE9BQU8sRUFDbkIsV0FBVyxDQUFDLFNBQVMsQ0FDdEIsQ0FBQztnQkFDRixNQUFNO1lBQ1IsS0FBSywyQkFBWSxDQUFDLE1BQU07Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELENBQUMsQ0FBQztpQkFDL0U7Z0JBQ0QsSUFBSSxxQkFBcUIsRUFBRTtvQkFDekIsdUZBQXVGO29CQUN2RixpQ0FBaUM7b0JBQ2pDLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLENBQUM7aUJBQzdDO2dCQUNELE1BQU0sYUFBYSxHQUFHLE9BQXdCLENBQUM7Z0JBQy9DLHFCQUFxQixHQUFHLElBQUksc0NBQWlCLEVBQUUsQ0FBQztnQkFDaEQsV0FBVyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyx1QkFBdUIsRUFDL0UscUJBQXFCLENBQUMsQ0FBQztnQkFDekIsTUFBTTtZQUNSO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDNUU7UUFDRCxtQkFBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAqIGFzIHByb2Nlc3MgZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyB0aW1lLCB0aW1lRW5kIH0gZnJvbSAnLi9iZW5jaG1hcmsnO1xuaW1wb3J0IHsgQ2FuY2VsbGF0aW9uVG9rZW4gfSBmcm9tICcuL2dhdGhlcl9kaWFnbm9zdGljcyc7XG5pbXBvcnQge1xuICBBVVRPX1NUQVJUX0FSRyxcbiAgSW5pdE1lc3NhZ2UsXG4gIE1FU1NBR0VfS0lORCxcbiAgVHlwZUNoZWNrZXIsXG4gIFR5cGVDaGVja2VyTWVzc2FnZSxcbiAgVXBkYXRlTWVzc2FnZSxcbn0gZnJvbSAnLi90eXBlX2NoZWNrZXInO1xuXG5sZXQgdHlwZUNoZWNrZXI6IFR5cGVDaGVja2VyO1xubGV0IGxhc3RDYW5jZWxsYXRpb25Ub2tlbjogQ2FuY2VsbGF0aW9uVG9rZW47XG5cbi8vIG9ubHkgbGlzdGVuIHRvIG1lc3NhZ2VzIGlmIHN0YXJ0ZWQgZnJvbSB0aGUgQW5ndWxhckNvbXBpbGVyUGx1Z2luXG5pZiAocHJvY2Vzcy5hcmd2LmluZGV4T2YoQVVUT19TVEFSVF9BUkcpID49IDApIHtcbiAgcHJvY2Vzcy5vbignbWVzc2FnZScsIChtZXNzYWdlOiBUeXBlQ2hlY2tlck1lc3NhZ2UpID0+IHtcbiAgICB0aW1lKCdUeXBlQ2hlY2tlci5tZXNzYWdlJyk7XG4gICAgc3dpdGNoIChtZXNzYWdlLmtpbmQpIHtcbiAgICAgIGNhc2UgTUVTU0FHRV9LSU5ELkluaXQ6XG4gICAgICAgIGNvbnN0IGluaXRNZXNzYWdlID0gbWVzc2FnZSBhcyBJbml0TWVzc2FnZTtcbiAgICAgICAgdHlwZUNoZWNrZXIgPSBuZXcgVHlwZUNoZWNrZXIoXG4gICAgICAgICAgaW5pdE1lc3NhZ2UuY29tcGlsZXJPcHRpb25zLFxuICAgICAgICAgIGluaXRNZXNzYWdlLmJhc2VQYXRoLFxuICAgICAgICAgIGluaXRNZXNzYWdlLmppdE1vZGUsXG4gICAgICAgICAgaW5pdE1lc3NhZ2Uucm9vdE5hbWVzLFxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTUVTU0FHRV9LSU5ELlVwZGF0ZTpcbiAgICAgICAgaWYgKCF0eXBlQ2hlY2tlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVHlwZUNoZWNrZXI6IHVwZGF0ZSBtZXNzYWdlIHJlY2VpdmVkIGJlZm9yZSBpbml0aWFsaXphdGlvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsYXN0Q2FuY2VsbGF0aW9uVG9rZW4pIHtcbiAgICAgICAgICAvLyBUaGlzIGNhbmNlbGxhdGlvbiB0b2tlbiBkb2Vzbid0IHNlZW0gdG8gZG8gbXVjaCwgbWVzc2FnZXMgZG9uJ3Qgc2VlbSB0byBiZSBwcm9jZXNzZWRcbiAgICAgICAgICAvLyBiZWZvcmUgdGhlIGRpYWdub3N0aWNzIGZpbmlzaC5cbiAgICAgICAgICBsYXN0Q2FuY2VsbGF0aW9uVG9rZW4ucmVxdWVzdENhbmNlbGxhdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVwZGF0ZU1lc3NhZ2UgPSBtZXNzYWdlIGFzIFVwZGF0ZU1lc3NhZ2U7XG4gICAgICAgIGxhc3RDYW5jZWxsYXRpb25Ub2tlbiA9IG5ldyBDYW5jZWxsYXRpb25Ub2tlbigpO1xuICAgICAgICB0eXBlQ2hlY2tlci51cGRhdGUodXBkYXRlTWVzc2FnZS5yb290TmFtZXMsIHVwZGF0ZU1lc3NhZ2UuY2hhbmdlZENvbXBpbGF0aW9uRmlsZXMsXG4gICAgICAgICAgbGFzdENhbmNlbGxhdGlvblRva2VuKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFR5cGVDaGVja2VyOiBVbmV4cGVjdGVkIG1lc3NhZ2UgcmVjZWl2ZWQ6ICR7bWVzc2FnZX0uYCk7XG4gICAgfVxuICAgIHRpbWVFbmQoJ1R5cGVDaGVja2VyLm1lc3NhZ2UnKTtcbiAgfSk7XG59XG4iXX0=
@@ -15,8 +15,8 @@ export declare class VirtualFileSystemDecorator implements InputFileSystem {
15
15
  private _inputFileSystem;
16
16
  private _webpackCompilerHost;
17
17
  constructor(_inputFileSystem: InputFileSystem, _webpackCompilerHost: WebpackCompilerHost);
18
- private _readFileSync(path);
19
- private _statSync(path);
18
+ private _readFileSync;
19
+ private _statSync;
20
20
  getVirtualFilesPaths(): string[];
21
21
  stat(path: string, callback: Callback<Stats>): void;
22
22
  readdir(path: string, callback: Callback<string[]>): void;
@@ -32,9 +32,10 @@ export declare class VirtualFileSystemDecorator implements InputFileSystem {
32
32
  }
33
33
  export declare class VirtualWatchFileSystemDecorator extends NodeWatchFileSystem {
34
34
  private _virtualInputFileSystem;
35
- private _replacements;
35
+ private _replacements?;
36
36
  constructor(_virtualInputFileSystem: VirtualFileSystemDecorator, _replacements?: Map<Path, Path> | ((path: Path) => Path) | undefined);
37
- watch(files: string[], dirs: string[], missing: string[], startTime: number | undefined, options: {}, callback: any, callbackUndelayed: (filename: string, timestamp: number) => void): {
37
+ watch(files: string[], dirs: string[], missing: string[], startTime: number | undefined, options: {}, callback: any, // tslint:disable-line:no-any
38
+ callbackUndelayed: (filename: string, timestamp: number) => void): {
38
39
  close: () => any;
39
40
  pause: () => any;
40
41
  getFileTimestamps: () => Map<string, number>;
@@ -161,4 +161,4 @@ class VirtualWatchFileSystemDecorator extends exports.NodeWatchFileSystem {
161
161
  }
162
162
  }
163
163
  exports.VirtualWatchFileSystemDecorator = VirtualWatchFileSystemDecorator;
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbF9maWxlX3N5c3RlbV9kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL25ndG9vbHMvd2VicGFjay9zcmMvdmlydHVhbF9maWxlX3N5c3RlbV9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBc0U7QUFLekQsUUFBQSxtQkFBbUIsR0FBaUMsT0FBTyxDQUN0RSxzQ0FBc0MsQ0FBQyxDQUFDO0FBRTFDO0lBQ0UsWUFDVSxnQkFBaUMsRUFDakMsb0JBQXlDO1FBRHpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtJQUMvQyxDQUFDO0lBRUcsYUFBYSxDQUFDLElBQVk7UUFDaEMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hFLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFZO1FBQzVCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFZLEVBQUUsUUFBeUI7UUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1gsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZLEVBQUUsUUFBNEI7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBMEI7UUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1gsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBc0I7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBMEI7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQTJCO1FBQy9CLEVBQUUsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFGRCxnRUEwRkM7QUFFRCxxQ0FBNkMsU0FBUSwyQkFBbUI7SUFDdEUsWUFDVSx1QkFBbUQsRUFDbkQsYUFBd0Q7UUFFaEUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFIdkIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUE0QjtRQUNuRCxrQkFBYSxHQUFiLGFBQWEsQ0FBMkM7SUFHbEUsQ0FBQztJQUVELEtBQUssQ0FDSCxLQUFlLEVBQ2YsSUFBYyxFQUNkLE9BQWlCLEVBQ2pCLFNBQTZCLEVBQzdCLE9BQVcsRUFDWCxRQUFhLEVBQUcsNkJBQTZCO0lBQzdDLGlCQUFnRTtRQUVoRSxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQ3RELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxHQUF3QixFQUFFLEVBQUU7WUFDckQsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDYixHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztZQUNILENBQUM7WUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO1FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1lBQ25FLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuRCxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNiLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzdDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04saUJBQWlCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxDQUNsQixHQUFpQixFQUNqQixhQUF1QixFQUN2QixlQUF5QixFQUN6QixlQUF5QixFQUN6QixjQUFtQyxFQUNuQyxpQkFBc0MsRUFDdEMsRUFBRTtZQUNGLDREQUE0RDtZQUM1RCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsRUFBRTtpQkFDMUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUs7YUFDOUQsQ0FBQyxDQUFDLENBQUM7WUFDTixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRixRQUFRLENBQ04sR0FBRyxFQUNILGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQ25FLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQ3JFLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQ3JFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUNqQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUNyQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxRQUFrQixFQUFZLEVBQUU7WUFDdkQsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNsQixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUV4QyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekIsRUFBRSxDQUFDLENBQUMsT0FBTyxZQUFZLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDdkMsTUFBTSxXQUFXLEdBQUcsb0JBQWEsQ0FBQyxZQUFZLENBQUMsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN6QixtQkFBbUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUM3QyxDQUFDO29CQUVELE1BQU0sQ0FBQyxXQUFXLENBQUM7Z0JBQ3JCLENBQUM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ3RELEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7d0JBQ2hCLE1BQU0sZUFBZSxHQUFHLG9CQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQ25ELG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBRS9DLE1BQU0sQ0FBQyxlQUFlLENBQUM7b0JBQ3pCLENBQUM7b0JBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ04sTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDZCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQ3pCLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFDdEIsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUNyQixlQUFlLENBQUMsT0FBTyxDQUFDLEVBQ3hCLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLG9CQUFvQixDQUNyQixDQUFDO1FBRUYsTUFBTSxDQUFDO1lBQ0wsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDNUIsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDNUIsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDOUUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTlHRCwwRUE4R0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBQYXRoLCBnZXRTeXN0ZW1QYXRoLCBub3JtYWxpemUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBTdGF0cyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IFdlYnBhY2tDb21waWxlckhvc3QgfSBmcm9tICcuL2NvbXBpbGVyX2hvc3QnO1xuaW1wb3J0IHsgQ2FsbGJhY2ssIElucHV0RmlsZVN5c3RlbSwgTm9kZVdhdGNoRmlsZVN5c3RlbUludGVyZmFjZSB9IGZyb20gJy4vd2VicGFjayc7XG5cbmV4cG9ydCBjb25zdCBOb2RlV2F0Y2hGaWxlU3lzdGVtOiBOb2RlV2F0Y2hGaWxlU3lzdGVtSW50ZXJmYWNlID0gcmVxdWlyZShcbiAgJ3dlYnBhY2svbGliL25vZGUvTm9kZVdhdGNoRmlsZVN5c3RlbScpO1xuXG5leHBvcnQgY2xhc3MgVmlydHVhbEZpbGVTeXN0ZW1EZWNvcmF0b3IgaW1wbGVtZW50cyBJbnB1dEZpbGVTeXN0ZW0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9pbnB1dEZpbGVTeXN0ZW06IElucHV0RmlsZVN5c3RlbSxcbiAgICBwcml2YXRlIF93ZWJwYWNrQ29tcGlsZXJIb3N0OiBXZWJwYWNrQ29tcGlsZXJIb3N0LFxuICApIHsgfVxuXG4gIHByaXZhdGUgX3JlYWRGaWxlU3luYyhwYXRoOiBzdHJpbmcpOiBCdWZmZXIgfCBudWxsIHtcbiAgICBpZiAodGhpcy5fd2VicGFja0NvbXBpbGVySG9zdC5maWxlRXhpc3RzKHBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fd2VicGFja0NvbXBpbGVySG9zdC5yZWFkRmlsZUJ1ZmZlcihwYXRoKSB8fCBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhdFN5bmMocGF0aDogc3RyaW5nKTogU3RhdHMgfCBudWxsIHtcbiAgICBpZiAodGhpcy5fd2VicGFja0NvbXBpbGVySG9zdC5maWxlRXhpc3RzKHBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fd2VicGFja0NvbXBpbGVySG9zdC5zdGF0KHBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZ2V0VmlydHVhbEZpbGVzUGF0aHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dlYnBhY2tDb21waWxlckhvc3QuZ2V0TmdGYWN0b3J5UGF0aHMoKTtcbiAgfVxuXG4gIHN0YXQocGF0aDogc3RyaW5nLCBjYWxsYmFjazogQ2FsbGJhY2s8U3RhdHM+KTogdm9pZCB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RhdFN5bmMocGF0aCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgY2FsbGJhY2sobnVsbCwgcmVzdWx0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5wdXRGaWxlU3lzdGVtLnN0YXQocGF0aCwgY2FsbGJhY2spO1xuICAgIH1cbiAgfVxuXG4gIHJlYWRkaXIocGF0aDogc3RyaW5nLCBjYWxsYmFjazogQ2FsbGJhY2s8c3RyaW5nW10+KTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXRGaWxlU3lzdGVtLnJlYWRkaXIocGF0aCwgY2FsbGJhY2spO1xuICB9XG5cbiAgcmVhZEZpbGUocGF0aDogc3RyaW5nLCBjYWxsYmFjazogQ2FsbGJhY2s8QnVmZmVyPik6IHZvaWQge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3JlYWRGaWxlU3luYyhwYXRoKTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBjYWxsYmFjayhudWxsLCByZXN1bHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pbnB1dEZpbGVTeXN0ZW0ucmVhZEZpbGUocGF0aCwgY2FsbGJhY2spO1xuICAgIH1cbiAgfVxuXG4gIHJlYWRKc29uKHBhdGg6IHN0cmluZywgY2FsbGJhY2s6IENhbGxiYWNrPHt9Pik6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0RmlsZVN5c3RlbS5yZWFkSnNvbihwYXRoLCBjYWxsYmFjayk7XG4gIH1cblxuICByZWFkbGluayhwYXRoOiBzdHJpbmcsIGNhbGxiYWNrOiBDYWxsYmFjazxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXRGaWxlU3lzdGVtLnJlYWRsaW5rKHBhdGgsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHN0YXRTeW5jKHBhdGg6IHN0cmluZyk6IFN0YXRzIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9zdGF0U3luYyhwYXRoKTtcblxuICAgIHJldHVybiByZXN1bHQgfHwgdGhpcy5faW5wdXRGaWxlU3lzdGVtLnN0YXRTeW5jKHBhdGgpO1xuICB9XG5cbiAgcmVhZGRpclN5bmMocGF0aDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dEZpbGVTeXN0ZW0ucmVhZGRpclN5bmMocGF0aCk7XG4gIH1cblxuICByZWFkRmlsZVN5bmMocGF0aDogc3RyaW5nKTogQnVmZmVyIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9yZWFkRmlsZVN5bmMocGF0aCk7XG5cbiAgICByZXR1cm4gcmVzdWx0IHx8IHRoaXMuX2lucHV0RmlsZVN5c3RlbS5yZWFkRmlsZVN5bmMocGF0aCk7XG4gIH1cblxuICByZWFkSnNvblN5bmMocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRGaWxlU3lzdGVtLnJlYWRKc29uU3luYyhwYXRoKTtcbiAgfVxuXG4gIHJlYWRsaW5rU3luYyhwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dEZpbGVTeXN0ZW0ucmVhZGxpbmtTeW5jKHBhdGgpO1xuICB9XG5cbiAgcHVyZ2UoY2hhbmdlcz86IHN0cmluZ1tdIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBjaGFuZ2VzID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fd2VicGFja0NvbXBpbGVySG9zdC5pbnZhbGlkYXRlKGNoYW5nZXMpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjaGFuZ2VzKSkge1xuICAgICAgY2hhbmdlcy5mb3JFYWNoKChmaWxlTmFtZTogc3RyaW5nKSA9PiB0aGlzLl93ZWJwYWNrQ29tcGlsZXJIb3N0LmludmFsaWRhdGUoZmlsZU5hbWUpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2lucHV0RmlsZVN5c3RlbS5wdXJnZSkge1xuICAgICAgdGhpcy5faW5wdXRGaWxlU3lzdGVtLnB1cmdlKGNoYW5nZXMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVmlydHVhbFdhdGNoRmlsZVN5c3RlbURlY29yYXRvciBleHRlbmRzIE5vZGVXYXRjaEZpbGVTeXN0ZW0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF92aXJ0dWFsSW5wdXRGaWxlU3lzdGVtOiBWaXJ0dWFsRmlsZVN5c3RlbURlY29yYXRvcixcbiAgICBwcml2YXRlIF9yZXBsYWNlbWVudHM/OiBNYXA8UGF0aCwgUGF0aD4gfCAoKHBhdGg6IFBhdGgpID0+IFBhdGgpLFxuICApIHtcbiAgICBzdXBlcihfdmlydHVhbElucHV0RmlsZVN5c3RlbSk7XG4gIH1cblxuICB3YXRjaChcbiAgICBmaWxlczogc3RyaW5nW10sXG4gICAgZGlyczogc3RyaW5nW10sXG4gICAgbWlzc2luZzogc3RyaW5nW10sXG4gICAgc3RhcnRUaW1lOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgb3B0aW9uczoge30sXG4gICAgY2FsbGJhY2s6IGFueSwgIC8vIHRzbGludDpkaXNhYmxlLWxpbmU6bm8tYW55XG4gICAgY2FsbGJhY2tVbmRlbGF5ZWQ6IChmaWxlbmFtZTogc3RyaW5nLCB0aW1lc3RhbXA6IG51bWJlcikgPT4gdm9pZCxcbiAgKSB7XG4gICAgY29uc3QgcmV2ZXJzZVJlcGxhY2VtZW50cyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgY29uc3QgcmV2ZXJzZVRpbWVzdGFtcHMgPSAobWFwOiBNYXA8c3RyaW5nLCBudW1iZXI+KSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIEFycmF5LmZyb20obWFwLmVudHJpZXMoKSkpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSByZXZlcnNlUmVwbGFjZW1lbnRzLmdldChlbnRyeVswXSk7XG4gICAgICAgIGlmIChvcmlnaW5hbCkge1xuICAgICAgICAgIG1hcC5zZXQob3JpZ2luYWwsIGVudHJ5WzFdKTtcbiAgICAgICAgICBtYXAuZGVsZXRlKGVudHJ5WzBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWFwO1xuICAgIH07XG5cbiAgICBjb25zdCBuZXdDYWxsYmFja1VuZGVsYXllZCA9IChmaWxlbmFtZTogc3RyaW5nLCB0aW1lc3RhbXA6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3Qgb3JpZ2luYWwgPSByZXZlcnNlUmVwbGFjZW1lbnRzLmdldChmaWxlbmFtZSk7XG4gICAgICBpZiAob3JpZ2luYWwpIHtcbiAgICAgICAgdGhpcy5fdmlydHVhbElucHV0RmlsZVN5c3RlbS5wdXJnZShvcmlnaW5hbCk7XG4gICAgICAgIGNhbGxiYWNrVW5kZWxheWVkKG9yaWdpbmFsLCB0aW1lc3RhbXApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FsbGJhY2tVbmRlbGF5ZWQoZmlsZW5hbWUsIHRpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IG5ld0NhbGxiYWNrID0gKFxuICAgICAgZXJyOiBFcnJvciB8IG51bGwsXG4gICAgICBmaWxlc01vZGlmaWVkOiBzdHJpbmdbXSxcbiAgICAgIGNvbnRleHRNb2RpZmllZDogc3RyaW5nW10sXG4gICAgICBtaXNzaW5nTW9kaWZpZWQ6IHN0cmluZ1tdLFxuICAgICAgZmlsZVRpbWVzdGFtcHM6IE1hcDxzdHJpbmcsIG51bWJlcj4sXG4gICAgICBjb250ZXh0VGltZXN0YW1wczogTWFwPHN0cmluZywgbnVtYmVyPixcbiAgICApID0+IHtcbiAgICAgIC8vIFVwZGF0ZSBmaWxlVGltZXN0YW1wcyB3aXRoIHRpbWVzdGFtcHMgZnJvbSB2aXJ0dWFsIGZpbGVzLlxuICAgICAgY29uc3QgdmlydHVhbEZpbGVzU3RhdHMgPSB0aGlzLl92aXJ0dWFsSW5wdXRGaWxlU3lzdGVtLmdldFZpcnR1YWxGaWxlc1BhdGhzKClcbiAgICAgICAgLm1hcCgoZmlsZU5hbWUpID0+ICh7XG4gICAgICAgICAgcGF0aDogZmlsZU5hbWUsXG4gICAgICAgICAgbXRpbWU6ICt0aGlzLl92aXJ0dWFsSW5wdXRGaWxlU3lzdGVtLnN0YXRTeW5jKGZpbGVOYW1lKS5tdGltZSxcbiAgICAgICAgfSkpO1xuICAgICAgdmlydHVhbEZpbGVzU3RhdHMuZm9yRWFjaChzdGF0cyA9PiBmaWxlVGltZXN0YW1wcy5zZXQoc3RhdHMucGF0aCwgK3N0YXRzLm10aW1lKSk7XG4gICAgICBjYWxsYmFjayhcbiAgICAgICAgZXJyLFxuICAgICAgICBmaWxlc01vZGlmaWVkLm1hcCh2YWx1ZSA9PiByZXZlcnNlUmVwbGFjZW1lbnRzLmdldCh2YWx1ZSkgfHwgdmFsdWUpLFxuICAgICAgICBjb250ZXh0TW9kaWZpZWQubWFwKHZhbHVlID0+IHJldmVyc2VSZXBsYWNlbWVudHMuZ2V0KHZhbHVlKSB8fCB2YWx1ZSksXG4gICAgICAgIG1pc3NpbmdNb2RpZmllZC5tYXAodmFsdWUgPT4gcmV2ZXJzZVJlcGxhY2VtZW50cy5nZXQodmFsdWUpIHx8IHZhbHVlKSxcbiAgICAgICAgcmV2ZXJzZVRpbWVzdGFtcHMoZmlsZVRpbWVzdGFtcHMpLFxuICAgICAgICByZXZlcnNlVGltZXN0YW1wcyhjb250ZXh0VGltZXN0YW1wcyksXG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCBtYXBSZXBsYWNlbWVudHMgPSAob3JpZ2luYWw6IHN0cmluZ1tdKTogc3RyaW5nW10gPT4ge1xuICAgICAgaWYgKCF0aGlzLl9yZXBsYWNlbWVudHMpIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVwbGFjZW1lbnRzID0gdGhpcy5fcmVwbGFjZW1lbnRzO1xuXG4gICAgICByZXR1cm4gb3JpZ2luYWwubWFwKGZpbGUgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VtZW50cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gZ2V0U3lzdGVtUGF0aChyZXBsYWNlbWVudHMobm9ybWFsaXplKGZpbGUpKSk7XG4gICAgICAgICAgaWYgKHJlcGxhY2VtZW50ICE9PSBmaWxlKSB7XG4gICAgICAgICAgICByZXZlcnNlUmVwbGFjZW1lbnRzLnNldChyZXBsYWNlbWVudCwgZmlsZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2VtZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gcmVwbGFjZW1lbnRzLmdldChub3JtYWxpemUoZmlsZSkpO1xuICAgICAgICAgIGlmIChyZXBsYWNlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgZnVsbFJlcGxhY2VtZW50ID0gZ2V0U3lzdGVtUGF0aChyZXBsYWNlbWVudCk7XG4gICAgICAgICAgICByZXZlcnNlUmVwbGFjZW1lbnRzLnNldChmdWxsUmVwbGFjZW1lbnQsIGZpbGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gZnVsbFJlcGxhY2VtZW50O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCB3YXRjaGVyID0gc3VwZXIud2F0Y2goXG4gICAgICBtYXBSZXBsYWNlbWVudHMoZmlsZXMpLFxuICAgICAgbWFwUmVwbGFjZW1lbnRzKGRpcnMpLFxuICAgICAgbWFwUmVwbGFjZW1lbnRzKG1pc3NpbmcpLFxuICAgICAgc3RhcnRUaW1lLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIG5ld0NhbGxiYWNrLFxuICAgICAgbmV3Q2FsbGJhY2tVbmRlbGF5ZWQsXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjbG9zZTogKCkgPT4gd2F0Y2hlci5jbG9zZSgpLFxuICAgICAgcGF1c2U6ICgpID0+IHdhdGNoZXIucGF1c2UoKSxcbiAgICAgIGdldEZpbGVUaW1lc3RhbXBzOiAoKSA9PiByZXZlcnNlVGltZXN0YW1wcyh3YXRjaGVyLmdldEZpbGVUaW1lc3RhbXBzKCkpLFxuICAgICAgZ2V0Q29udGV4dFRpbWVzdGFtcHM6ICgpID0+IHJldmVyc2VUaW1lc3RhbXBzKHdhdGNoZXIuZ2V0Q29udGV4dFRpbWVzdGFtcHMoKSksXG4gICAgfTtcbiAgfVxufVxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbF9maWxlX3N5c3RlbV9kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL25ndG9vbHMvd2VicGFjay9zcmMvdmlydHVhbF9maWxlX3N5c3RlbV9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBc0U7QUFLekQsUUFBQSxtQkFBbUIsR0FBaUMsT0FBTyxDQUN0RSxzQ0FBc0MsQ0FBQyxDQUFDO0FBRTFDO0lBQ0UsWUFDVSxnQkFBaUMsRUFDakMsb0JBQXlDO1FBRHpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtJQUMvQyxDQUFDO0lBRUcsYUFBYSxDQUFDLElBQVk7UUFDaEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDL0Q7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBWTtRQUM1QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFZLEVBQUUsUUFBeUI7UUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLE1BQU0sRUFBRTtZQUNWLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZLEVBQUUsUUFBNEI7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBMEI7UUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLE1BQU0sRUFBRTtZQUNWLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBc0I7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBMEI7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsT0FBTyxNQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBMkI7UUFDL0IsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDL0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3ZGO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0NBQ0Y7QUExRkQsZ0VBMEZDO0FBRUQscUNBQTZDLFNBQVEsMkJBQW1CO0lBQ3RFLFlBQ1UsdUJBQW1ELEVBQ25ELGFBQXdEO1FBRWhFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBSHZCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBNEI7UUFDbkQsa0JBQWEsR0FBYixhQUFhLENBQTJDO0lBR2xFLENBQUM7SUFFRCxLQUFLLENBQ0gsS0FBZSxFQUNmLElBQWMsRUFDZCxPQUFpQixFQUNqQixTQUE2QixFQUM3QixPQUFXLEVBQ1gsUUFBYSxFQUFHLDZCQUE2QjtJQUM3QyxpQkFBZ0U7UUFFaEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUN0RCxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBd0IsRUFBRSxFQUFFO1lBQ3JELEtBQUssTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtnQkFDN0MsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLFFBQVEsRUFBRTtvQkFDWixHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEI7YUFDRjtZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO1FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1lBQ25FLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuRCxJQUFJLFFBQVEsRUFBRTtnQkFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM3QyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQUcsQ0FDbEIsR0FBaUIsRUFDakIsYUFBdUIsRUFDdkIsZUFBeUIsRUFDekIsZUFBeUIsRUFDekIsY0FBbUMsRUFDbkMsaUJBQXNDLEVBQ3RDLEVBQUU7WUFDRiw0REFBNEQ7WUFDNUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLEVBQUU7aUJBQzFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLO2FBQzlELENBQUMsQ0FBQyxDQUFDO1lBQ04saUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakYsUUFBUSxDQUNOLEdBQUcsRUFDSCxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUNuRSxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUNyRSxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUNyRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFDakMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FDckMsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBa0IsRUFBWSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixPQUFPLFFBQVEsQ0FBQzthQUNqQjtZQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFFeEMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN6QixJQUFJLE9BQU8sWUFBWSxLQUFLLFVBQVUsRUFBRTtvQkFDdEMsTUFBTSxXQUFXLEdBQUcsb0JBQWEsQ0FBQyxZQUFZLENBQUMsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pFLElBQUksV0FBVyxLQUFLLElBQUksRUFBRTt3QkFDeEIsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDNUM7b0JBRUQsT0FBTyxXQUFXLENBQUM7aUJBQ3BCO3FCQUFNO29CQUNMLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUN0RCxJQUFJLFdBQVcsRUFBRTt3QkFDZixNQUFNLGVBQWUsR0FBRyxvQkFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUNuRCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUUvQyxPQUFPLGVBQWUsQ0FBQztxQkFDeEI7eUJBQU07d0JBQ0wsT0FBTyxJQUFJLENBQUM7cUJBQ2I7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQ3pCLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFDdEIsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUNyQixlQUFlLENBQUMsT0FBTyxDQUFDLEVBQ3hCLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLG9CQUFvQixDQUNyQixDQUFDO1FBRUYsT0FBTztZQUNMLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzVCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzVCLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQzlFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE5R0QsMEVBOEdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHsgUGF0aCwgZ2V0U3lzdGVtUGF0aCwgbm9ybWFsaXplIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgU3RhdHMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBXZWJwYWNrQ29tcGlsZXJIb3N0IH0gZnJvbSAnLi9jb21waWxlcl9ob3N0JztcbmltcG9ydCB7IENhbGxiYWNrLCBJbnB1dEZpbGVTeXN0ZW0sIE5vZGVXYXRjaEZpbGVTeXN0ZW1JbnRlcmZhY2UgfSBmcm9tICcuL3dlYnBhY2snO1xuXG5leHBvcnQgY29uc3QgTm9kZVdhdGNoRmlsZVN5c3RlbTogTm9kZVdhdGNoRmlsZVN5c3RlbUludGVyZmFjZSA9IHJlcXVpcmUoXG4gICd3ZWJwYWNrL2xpYi9ub2RlL05vZGVXYXRjaEZpbGVTeXN0ZW0nKTtcblxuZXhwb3J0IGNsYXNzIFZpcnR1YWxGaWxlU3lzdGVtRGVjb3JhdG9yIGltcGxlbWVudHMgSW5wdXRGaWxlU3lzdGVtIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaW5wdXRGaWxlU3lzdGVtOiBJbnB1dEZpbGVTeXN0ZW0sXG4gICAgcHJpdmF0ZSBfd2VicGFja0NvbXBpbGVySG9zdDogV2VicGFja0NvbXBpbGVySG9zdCxcbiAgKSB7IH1cblxuICBwcml2YXRlIF9yZWFkRmlsZVN5bmMocGF0aDogc3RyaW5nKTogQnVmZmVyIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuX3dlYnBhY2tDb21waWxlckhvc3QuZmlsZUV4aXN0cyhwYXRoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3dlYnBhY2tDb21waWxlckhvc3QucmVhZEZpbGVCdWZmZXIocGF0aCkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXRTeW5jKHBhdGg6IHN0cmluZyk6IFN0YXRzIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuX3dlYnBhY2tDb21waWxlckhvc3QuZmlsZUV4aXN0cyhwYXRoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3dlYnBhY2tDb21waWxlckhvc3Quc3RhdChwYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldFZpcnR1YWxGaWxlc1BhdGhzKCkge1xuICAgIHJldHVybiB0aGlzLl93ZWJwYWNrQ29tcGlsZXJIb3N0LmdldE5nRmFjdG9yeVBhdGhzKCk7XG4gIH1cblxuICBzdGF0KHBhdGg6IHN0cmluZywgY2FsbGJhY2s6IENhbGxiYWNrPFN0YXRzPik6IHZvaWQge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3N0YXRTeW5jKHBhdGgpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGNhbGxiYWNrKG51bGwsIHJlc3VsdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2lucHV0RmlsZVN5c3RlbS5zdGF0KHBhdGgsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cblxuICByZWFkZGlyKHBhdGg6IHN0cmluZywgY2FsbGJhY2s6IENhbGxiYWNrPHN0cmluZ1tdPik6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0RmlsZVN5c3RlbS5yZWFkZGlyKHBhdGgsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJlYWRGaWxlKHBhdGg6IHN0cmluZywgY2FsbGJhY2s6IENhbGxiYWNrPEJ1ZmZlcj4pOiB2b2lkIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9yZWFkRmlsZVN5bmMocGF0aCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgY2FsbGJhY2sobnVsbCwgcmVzdWx0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5wdXRGaWxlU3lzdGVtLnJlYWRGaWxlKHBhdGgsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cblxuICByZWFkSnNvbihwYXRoOiBzdHJpbmcsIGNhbGxiYWNrOiBDYWxsYmFjazx7fT4pOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dEZpbGVTeXN0ZW0ucmVhZEpzb24ocGF0aCwgY2FsbGJhY2spO1xuICB9XG5cbiAgcmVhZGxpbmsocGF0aDogc3RyaW5nLCBjYWxsYmFjazogQ2FsbGJhY2s8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0RmlsZVN5c3RlbS5yZWFkbGluayhwYXRoLCBjYWxsYmFjayk7XG4gIH1cblxuICBzdGF0U3luYyhwYXRoOiBzdHJpbmcpOiBTdGF0cyB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RhdFN5bmMocGF0aCk7XG5cbiAgICByZXR1cm4gcmVzdWx0IHx8IHRoaXMuX2lucHV0RmlsZVN5c3RlbS5zdGF0U3luYyhwYXRoKTtcbiAgfVxuXG4gIHJlYWRkaXJTeW5jKHBhdGg6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRGaWxlU3lzdGVtLnJlYWRkaXJTeW5jKHBhdGgpO1xuICB9XG5cbiAgcmVhZEZpbGVTeW5jKHBhdGg6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fcmVhZEZpbGVTeW5jKHBhdGgpO1xuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB0aGlzLl9pbnB1dEZpbGVTeXN0ZW0ucmVhZEZpbGVTeW5jKHBhdGgpO1xuICB9XG5cbiAgcmVhZEpzb25TeW5jKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0RmlsZVN5c3RlbS5yZWFkSnNvblN5bmMocGF0aCk7XG4gIH1cblxuICByZWFkbGlua1N5bmMocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRGaWxlU3lzdGVtLnJlYWRsaW5rU3luYyhwYXRoKTtcbiAgfVxuXG4gIHB1cmdlKGNoYW5nZXM/OiBzdHJpbmdbXSB8IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgY2hhbmdlcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuX3dlYnBhY2tDb21waWxlckhvc3QuaW52YWxpZGF0ZShjaGFuZ2VzKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY2hhbmdlcykpIHtcbiAgICAgIGNoYW5nZXMuZm9yRWFjaCgoZmlsZU5hbWU6IHN0cmluZykgPT4gdGhpcy5fd2VicGFja0NvbXBpbGVySG9zdC5pbnZhbGlkYXRlKGZpbGVOYW1lKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9pbnB1dEZpbGVTeXN0ZW0ucHVyZ2UpIHtcbiAgICAgIHRoaXMuX2lucHV0RmlsZVN5c3RlbS5wdXJnZShjaGFuZ2VzKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZpcnR1YWxXYXRjaEZpbGVTeXN0ZW1EZWNvcmF0b3IgZXh0ZW5kcyBOb2RlV2F0Y2hGaWxlU3lzdGVtIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdmlydHVhbElucHV0RmlsZVN5c3RlbTogVmlydHVhbEZpbGVTeXN0ZW1EZWNvcmF0b3IsXG4gICAgcHJpdmF0ZSBfcmVwbGFjZW1lbnRzPzogTWFwPFBhdGgsIFBhdGg+IHwgKChwYXRoOiBQYXRoKSA9PiBQYXRoKSxcbiAgKSB7XG4gICAgc3VwZXIoX3ZpcnR1YWxJbnB1dEZpbGVTeXN0ZW0pO1xuICB9XG5cbiAgd2F0Y2goXG4gICAgZmlsZXM6IHN0cmluZ1tdLFxuICAgIGRpcnM6IHN0cmluZ1tdLFxuICAgIG1pc3Npbmc6IHN0cmluZ1tdLFxuICAgIHN0YXJ0VGltZTogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM6IHt9LFxuICAgIGNhbGxiYWNrOiBhbnksICAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm5vLWFueVxuICAgIGNhbGxiYWNrVW5kZWxheWVkOiAoZmlsZW5hbWU6IHN0cmluZywgdGltZXN0YW1wOiBudW1iZXIpID0+IHZvaWQsXG4gICkge1xuICAgIGNvbnN0IHJldmVyc2VSZXBsYWNlbWVudHMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICAgIGNvbnN0IHJldmVyc2VUaW1lc3RhbXBzID0gKG1hcDogTWFwPHN0cmluZywgbnVtYmVyPikgPT4ge1xuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBBcnJheS5mcm9tKG1hcC5lbnRyaWVzKCkpKSB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gcmV2ZXJzZVJlcGxhY2VtZW50cy5nZXQoZW50cnlbMF0pO1xuICAgICAgICBpZiAob3JpZ2luYWwpIHtcbiAgICAgICAgICBtYXAuc2V0KG9yaWdpbmFsLCBlbnRyeVsxXSk7XG4gICAgICAgICAgbWFwLmRlbGV0ZShlbnRyeVswXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9O1xuXG4gICAgY29uc3QgbmV3Q2FsbGJhY2tVbmRlbGF5ZWQgPSAoZmlsZW5hbWU6IHN0cmluZywgdGltZXN0YW1wOiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsID0gcmV2ZXJzZVJlcGxhY2VtZW50cy5nZXQoZmlsZW5hbWUpO1xuICAgICAgaWYgKG9yaWdpbmFsKSB7XG4gICAgICAgIHRoaXMuX3ZpcnR1YWxJbnB1dEZpbGVTeXN0ZW0ucHVyZ2Uob3JpZ2luYWwpO1xuICAgICAgICBjYWxsYmFja1VuZGVsYXllZChvcmlnaW5hbCwgdGltZXN0YW1wKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhbGxiYWNrVW5kZWxheWVkKGZpbGVuYW1lLCB0aW1lc3RhbXApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBuZXdDYWxsYmFjayA9IChcbiAgICAgIGVycjogRXJyb3IgfCBudWxsLFxuICAgICAgZmlsZXNNb2RpZmllZDogc3RyaW5nW10sXG4gICAgICBjb250ZXh0TW9kaWZpZWQ6IHN0cmluZ1tdLFxuICAgICAgbWlzc2luZ01vZGlmaWVkOiBzdHJpbmdbXSxcbiAgICAgIGZpbGVUaW1lc3RhbXBzOiBNYXA8c3RyaW5nLCBudW1iZXI+LFxuICAgICAgY29udGV4dFRpbWVzdGFtcHM6IE1hcDxzdHJpbmcsIG51bWJlcj4sXG4gICAgKSA9PiB7XG4gICAgICAvLyBVcGRhdGUgZmlsZVRpbWVzdGFtcHMgd2l0aCB0aW1lc3RhbXBzIGZyb20gdmlydHVhbCBmaWxlcy5cbiAgICAgIGNvbnN0IHZpcnR1YWxGaWxlc1N0YXRzID0gdGhpcy5fdmlydHVhbElucHV0RmlsZVN5c3RlbS5nZXRWaXJ0dWFsRmlsZXNQYXRocygpXG4gICAgICAgIC5tYXAoKGZpbGVOYW1lKSA9PiAoe1xuICAgICAgICAgIHBhdGg6IGZpbGVOYW1lLFxuICAgICAgICAgIG10aW1lOiArdGhpcy5fdmlydHVhbElucHV0RmlsZVN5c3RlbS5zdGF0U3luYyhmaWxlTmFtZSkubXRpbWUsXG4gICAgICAgIH0pKTtcbiAgICAgIHZpcnR1YWxGaWxlc1N0YXRzLmZvckVhY2goc3RhdHMgPT4gZmlsZVRpbWVzdGFtcHMuc2V0KHN0YXRzLnBhdGgsICtzdGF0cy5tdGltZSkpO1xuICAgICAgY2FsbGJhY2soXG4gICAgICAgIGVycixcbiAgICAgICAgZmlsZXNNb2RpZmllZC5tYXAodmFsdWUgPT4gcmV2ZXJzZVJlcGxhY2VtZW50cy5nZXQodmFsdWUpIHx8IHZhbHVlKSxcbiAgICAgICAgY29udGV4dE1vZGlmaWVkLm1hcCh2YWx1ZSA9PiByZXZlcnNlUmVwbGFjZW1lbnRzLmdldCh2YWx1ZSkgfHwgdmFsdWUpLFxuICAgICAgICBtaXNzaW5nTW9kaWZpZWQubWFwKHZhbHVlID0+IHJldmVyc2VSZXBsYWNlbWVudHMuZ2V0KHZhbHVlKSB8fCB2YWx1ZSksXG4gICAgICAgIHJldmVyc2VUaW1lc3RhbXBzKGZpbGVUaW1lc3RhbXBzKSxcbiAgICAgICAgcmV2ZXJzZVRpbWVzdGFtcHMoY29udGV4dFRpbWVzdGFtcHMpLFxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgbWFwUmVwbGFjZW1lbnRzID0gKG9yaWdpbmFsOiBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcbiAgICAgIGlmICghdGhpcy5fcmVwbGFjZW1lbnRzKSB7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlcGxhY2VtZW50cyA9IHRoaXMuX3JlcGxhY2VtZW50cztcblxuICAgICAgcmV0dXJuIG9yaWdpbmFsLm1hcChmaWxlID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXBsYWNlbWVudHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zdCByZXBsYWNlbWVudCA9IGdldFN5c3RlbVBhdGgocmVwbGFjZW1lbnRzKG5vcm1hbGl6ZShmaWxlKSkpO1xuICAgICAgICAgIGlmIChyZXBsYWNlbWVudCAhPT0gZmlsZSkge1xuICAgICAgICAgICAgcmV2ZXJzZVJlcGxhY2VtZW50cy5zZXQocmVwbGFjZW1lbnQsIGZpbGUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXBsYWNlbWVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCByZXBsYWNlbWVudCA9IHJlcGxhY2VtZW50cy5nZXQobm9ybWFsaXplKGZpbGUpKTtcbiAgICAgICAgICBpZiAocmVwbGFjZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGZ1bGxSZXBsYWNlbWVudCA9IGdldFN5c3RlbVBhdGgocmVwbGFjZW1lbnQpO1xuICAgICAgICAgICAgcmV2ZXJzZVJlcGxhY2VtZW50cy5zZXQoZnVsbFJlcGxhY2VtZW50LCBmaWxlKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZ1bGxSZXBsYWNlbWVudDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgd2F0Y2hlciA9IHN1cGVyLndhdGNoKFxuICAgICAgbWFwUmVwbGFjZW1lbnRzKGZpbGVzKSxcbiAgICAgIG1hcFJlcGxhY2VtZW50cyhkaXJzKSxcbiAgICAgIG1hcFJlcGxhY2VtZW50cyhtaXNzaW5nKSxcbiAgICAgIHN0YXJ0VGltZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBuZXdDYWxsYmFjayxcbiAgICAgIG5ld0NhbGxiYWNrVW5kZWxheWVkLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2xvc2U6ICgpID0+IHdhdGNoZXIuY2xvc2UoKSxcbiAgICAgIHBhdXNlOiAoKSA9PiB3YXRjaGVyLnBhdXNlKCksXG4gICAgICBnZXRGaWxlVGltZXN0YW1wczogKCkgPT4gcmV2ZXJzZVRpbWVzdGFtcHMod2F0Y2hlci5nZXRGaWxlVGltZXN0YW1wcygpKSxcbiAgICAgIGdldENvbnRleHRUaW1lc3RhbXBzOiAoKSA9PiByZXZlcnNlVGltZXN0YW1wcyh3YXRjaGVyLmdldENvbnRleHRUaW1lc3RhbXBzKCkpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -87,4 +87,4 @@ class WebpackInputHost {
87
87
  }
88
88
  }
89
89
  exports.WebpackInputHost = WebpackInputHost;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VicGFjay1pbnB1dC1ob3N0LmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9uZ3Rvb2xzL3dlYnBhY2svc3JjL3dlYnBhY2staW5wdXQtaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILCtDQUE4RjtBQUU5RiwrQkFBOEM7QUFDOUMsOENBQXFDO0FBR3JDLG9GQUFvRjtBQUNwRjtJQUVFLFlBQTRCLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFJLENBQUM7SUFFakUsSUFBSSxZQUFZO1FBQ2QsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVyxFQUFFLFFBQWtDO1FBQ25ELE1BQU0sQ0FBQyxpQkFBVSxDQUFDLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVc7UUFDaEIsTUFBTSxDQUFDLGlCQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVyxFQUFFLEdBQVM7UUFDM0IsTUFBTSxDQUFDLGlCQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLENBQUMsSUFBVTtRQUNiLE1BQU0sQ0FBQyxJQUFJLGlCQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDMUIsMEZBQTBGO1lBQzFGLFNBQVM7WUFDVCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsb0JBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQXFCLENBQUMsQ0FBQztnQkFDckQsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLENBQUM7WUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNYLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVU7UUFDYixNQUFNLENBQUMsSUFBSSxpQkFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLDBGQUEwRjtZQUMxRixTQUFTO1lBQ1QsSUFBSSxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDcEUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLENBQUM7WUFBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNiLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFVO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXLENBQUMsSUFBVTtRQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVTtRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFVO1FBQ2IsTUFBTSxDQUFDLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsb0JBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsQ0FBQztZQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNmLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakIsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVcsRUFBRSxRQUFxQztRQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBaEZELDRDQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IFBhdGgsIFBhdGhGcmFnbWVudCwgZnJhZ21lbnQsIGdldFN5c3RlbVBhdGgsIHZpcnR1YWxGcyB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IFN0YXRzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5wdXRGaWxlU3lzdGVtIH0gZnJvbSAnLi93ZWJwYWNrJztcblxuLy8gSG9zdCBpcyB1c2VkIGluc3RlYWQgb2YgUmVhZG9ubHlIb3N0IGR1ZSB0byBtb3N0IGRlY29yYXRvcnMgb25seSBzdXBwb3J0aW5nIEhvc3RzXG5leHBvcnQgY2xhc3MgV2VicGFja0lucHV0SG9zdCBpbXBsZW1lbnRzIHZpcnR1YWxGcy5Ib3N0PFN0YXRzPiB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGlucHV0RmlsZVN5c3RlbTogSW5wdXRGaWxlU3lzdGVtKSB7IH1cblxuICBnZXQgY2FwYWJpbGl0aWVzKCk6IHZpcnR1YWxGcy5Ib3N0Q2FwYWJpbGl0aWVzIHtcbiAgICByZXR1cm4geyBzeW5jaHJvbm91czogdHJ1ZSB9O1xuICB9XG5cbiAgd3JpdGUoX3BhdGg6IFBhdGgsIF9jb250ZW50OiB2aXJ0dWFsRnMuRmlsZUJ1ZmZlckxpa2UpIHtcbiAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQuJykpO1xuICB9XG5cbiAgZGVsZXRlKF9wYXRoOiBQYXRoKSB7XG4gICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkLicpKTtcbiAgfVxuXG4gIHJlbmFtZShfZnJvbTogUGF0aCwgX3RvOiBQYXRoKSB7XG4gICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkLicpKTtcbiAgfVxuXG4gIHJlYWQocGF0aDogUGF0aCk6IE9ic2VydmFibGU8dmlydHVhbEZzLkZpbGVCdWZmZXI+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzID0+IHtcbiAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIHRyeStjYXRjaCB3aGVuIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcy9pc3N1ZXMvMzc0MCBpc1xuICAgICAgLy8gZml4ZWQuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5pbnB1dEZpbGVTeXN0ZW0ucmVhZEZpbGVTeW5jKGdldFN5c3RlbVBhdGgocGF0aCkpO1xuICAgICAgICBvYnMubmV4dChuZXcgVWludDhBcnJheShkYXRhKS5idWZmZXIgYXMgQXJyYXlCdWZmZXIpO1xuICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgb2JzLmVycm9yKGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbGlzdChwYXRoOiBQYXRoKTogT2JzZXJ2YWJsZTxQYXRoRnJhZ21lbnRbXT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnMgPT4ge1xuICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgdHJ5K2NhdGNoIHdoZW4gaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL1JlYWN0aXZlWC9yeGpzL2lzc3Vlcy8zNzQwIGlzXG4gICAgICAvLyBmaXhlZC5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG5hbWVzID0gdGhpcy5pbnB1dEZpbGVTeXN0ZW0ucmVhZGRpclN5bmMoZ2V0U3lzdGVtUGF0aChwYXRoKSk7XG4gICAgICAgIG9icy5uZXh0KG5hbWVzLm1hcChuYW1lID0+IGZyYWdtZW50KG5hbWUpKSk7XG4gICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIG9icy5lcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZXhpc3RzKHBhdGg6IFBhdGgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0KHBhdGgpLnBpcGUobWFwKHN0YXRzID0+IHN0YXRzICE9IG51bGwpKTtcbiAgfVxuXG4gIGlzRGlyZWN0b3J5KHBhdGg6IFBhdGgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0KHBhdGgpLnBpcGUobWFwKHN0YXRzID0+IHN0YXRzICE9IG51bGwgJiYgc3RhdHMuaXNEaXJlY3RvcnkoKSkpO1xuICB9XG5cbiAgaXNGaWxlKHBhdGg6IFBhdGgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0KHBhdGgpLnBpcGUobWFwKHN0YXRzID0+IHN0YXRzICE9IG51bGwgJiYgc3RhdHMuaXNGaWxlKCkpKTtcbiAgfVxuXG4gIHN0YXQocGF0aDogUGF0aCk6IE9ic2VydmFibGU8U3RhdHMgfCBudWxsPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9icyA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBzdGF0cyA9IHRoaXMuaW5wdXRGaWxlU3lzdGVtLnN0YXRTeW5jKGdldFN5c3RlbVBhdGgocGF0aCkpO1xuICAgICAgICBvYnMubmV4dChzdGF0cyk7XG4gICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoZS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgICAgIG9icy5uZXh0KG51bGwpO1xuICAgICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9icy5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgd2F0Y2goX3BhdGg6IFBhdGgsIF9vcHRpb25zPzogdmlydHVhbEZzLkhvc3RXYXRjaE9wdGlvbnMpOiBudWxsIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VicGFjay1pbnB1dC1ob3N0LmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9uZ3Rvb2xzL3dlYnBhY2svc3JjL3dlYnBhY2staW5wdXQtaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILCtDQUE4RjtBQUU5RiwrQkFBOEM7QUFDOUMsOENBQXFDO0FBR3JDLG9GQUFvRjtBQUNwRjtJQUVFLFlBQTRCLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFJLENBQUM7SUFFakUsSUFBSSxZQUFZO1FBQ2QsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVcsRUFBRSxRQUFrQztRQUNuRCxPQUFPLGlCQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVztRQUNoQixPQUFPLGlCQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVyxFQUFFLEdBQVM7UUFDM0IsT0FBTyxpQkFBVSxDQUFDLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVU7UUFDYixPQUFPLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQiwwRkFBMEY7WUFDMUYsU0FBUztZQUNULElBQUk7Z0JBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsb0JBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQXFCLENBQUMsQ0FBQztnQkFDckQsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2hCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVU7UUFDYixPQUFPLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQiwwRkFBMEY7WUFDMUYsU0FBUztZQUNULElBQUk7Z0JBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsb0JBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDaEI7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXLENBQUMsSUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVU7UUFDYixPQUFPLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixJQUFJO2dCQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDakUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2hCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtvQkFDdkIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDZixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ2hCO3FCQUFNO29CQUNMLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2Q7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFXLEVBQUUsUUFBcUM7UUFDdEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFoRkQsNENBZ0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHsgUGF0aCwgUGF0aEZyYWdtZW50LCBmcmFnbWVudCwgZ2V0U3lzdGVtUGF0aCwgdmlydHVhbEZzIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgU3RhdHMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJbnB1dEZpbGVTeXN0ZW0gfSBmcm9tICcuL3dlYnBhY2snO1xuXG4vLyBIb3N0IGlzIHVzZWQgaW5zdGVhZCBvZiBSZWFkb25seUhvc3QgZHVlIHRvIG1vc3QgZGVjb3JhdG9ycyBvbmx5IHN1cHBvcnRpbmcgSG9zdHNcbmV4cG9ydCBjbGFzcyBXZWJwYWNrSW5wdXRIb3N0IGltcGxlbWVudHMgdmlydHVhbEZzLkhvc3Q8U3RhdHM+IHtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaW5wdXRGaWxlU3lzdGVtOiBJbnB1dEZpbGVTeXN0ZW0pIHsgfVxuXG4gIGdldCBjYXBhYmlsaXRpZXMoKTogdmlydHVhbEZzLkhvc3RDYXBhYmlsaXRpZXMge1xuICAgIHJldHVybiB7IHN5bmNocm9ub3VzOiB0cnVlIH07XG4gIH1cblxuICB3cml0ZShfcGF0aDogUGF0aCwgX2NvbnRlbnQ6IHZpcnR1YWxGcy5GaWxlQnVmZmVyTGlrZSkge1xuICAgIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcignTm90IHN1cHBvcnRlZC4nKSk7XG4gIH1cblxuICBkZWxldGUoX3BhdGg6IFBhdGgpIHtcbiAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQuJykpO1xuICB9XG5cbiAgcmVuYW1lKF9mcm9tOiBQYXRoLCBfdG86IFBhdGgpIHtcbiAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQuJykpO1xuICB9XG5cbiAgcmVhZChwYXRoOiBQYXRoKTogT2JzZXJ2YWJsZTx2aXJ0dWFsRnMuRmlsZUJ1ZmZlcj4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnMgPT4ge1xuICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgdHJ5K2NhdGNoIHdoZW4gaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL1JlYWN0aXZlWC9yeGpzL2lzc3Vlcy8zNzQwIGlzXG4gICAgICAvLyBmaXhlZC5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmlucHV0RmlsZVN5c3RlbS5yZWFkRmlsZVN5bmMoZ2V0U3lzdGVtUGF0aChwYXRoKSk7XG4gICAgICAgIG9icy5uZXh0KG5ldyBVaW50OEFycmF5KGRhdGEpLmJ1ZmZlciBhcyBBcnJheUJ1ZmZlcik7XG4gICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBvYnMuZXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBsaXN0KHBhdGg6IFBhdGgpOiBPYnNlcnZhYmxlPFBhdGhGcmFnbWVudFtdPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9icyA9PiB7XG4gICAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyB0cnkrY2F0Y2ggd2hlbiBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzM3NDAgaXNcbiAgICAgIC8vIGZpeGVkLlxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbmFtZXMgPSB0aGlzLmlucHV0RmlsZVN5c3RlbS5yZWFkZGlyU3luYyhnZXRTeXN0ZW1QYXRoKHBhdGgpKTtcbiAgICAgICAgb2JzLm5leHQobmFtZXMubWFwKG5hbWUgPT4gZnJhZ21lbnQobmFtZSkpKTtcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgb2JzLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBleGlzdHMocGF0aDogUGF0aCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXQocGF0aCkucGlwZShtYXAoc3RhdHMgPT4gc3RhdHMgIT0gbnVsbCkpO1xuICB9XG5cbiAgaXNEaXJlY3RvcnkocGF0aDogUGF0aCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXQocGF0aCkucGlwZShtYXAoc3RhdHMgPT4gc3RhdHMgIT0gbnVsbCAmJiBzdGF0cy5pc0RpcmVjdG9yeSgpKSk7XG4gIH1cblxuICBpc0ZpbGUocGF0aDogUGF0aCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXQocGF0aCkucGlwZShtYXAoc3RhdHMgPT4gc3RhdHMgIT0gbnVsbCAmJiBzdGF0cy5pc0ZpbGUoKSkpO1xuICB9XG5cbiAgc3RhdChwYXRoOiBQYXRoKTogT2JzZXJ2YWJsZTxTdGF0cyB8IG51bGw+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHN0YXRzID0gdGhpcy5pbnB1dEZpbGVTeXN0ZW0uc3RhdFN5bmMoZ2V0U3lzdGVtUGF0aChwYXRoKSk7XG4gICAgICAgIG9icy5uZXh0KHN0YXRzKTtcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgICAgb2JzLm5leHQobnVsbCk7XG4gICAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JzLmVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB3YXRjaChfcGF0aDogUGF0aCwgX29wdGlvbnM/OiB2aXJ0dWFsRnMuSG9zdFdhdGNoT3B0aW9ucyk6IG51bGwge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=