@angular/cdk 16.0.0 → 16.0.2

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.
Files changed (144) hide show
  1. package/esm2022/a11y/a11y-module.mjs +5 -5
  2. package/esm2022/a11y/aria-describer/aria-describer.mjs +4 -4
  3. package/esm2022/a11y/focus-monitor/focus-monitor.mjs +7 -7
  4. package/esm2022/a11y/focus-trap/configurable-focus-trap-factory.mjs +4 -4
  5. package/esm2022/a11y/focus-trap/focus-trap-manager.mjs +4 -4
  6. package/esm2022/a11y/focus-trap/focus-trap.mjs +7 -7
  7. package/esm2022/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +4 -4
  8. package/esm2022/a11y/input-modality/input-modality-detector.mjs +4 -4
  9. package/esm2022/a11y/interactivity-checker/interactivity-checker.mjs +4 -4
  10. package/esm2022/a11y/live-announcer/live-announcer.mjs +7 -7
  11. package/esm2022/accordion/accordion-item.mjs +4 -4
  12. package/esm2022/accordion/accordion-module.mjs +5 -5
  13. package/esm2022/accordion/accordion.mjs +4 -4
  14. package/esm2022/bidi/bidi-module.mjs +5 -5
  15. package/esm2022/bidi/dir.mjs +4 -4
  16. package/esm2022/bidi/directionality.mjs +4 -4
  17. package/esm2022/clipboard/clipboard-module.mjs +5 -5
  18. package/esm2022/clipboard/clipboard.mjs +4 -4
  19. package/esm2022/clipboard/copy-to-clipboard.mjs +4 -4
  20. package/esm2022/collections/unique-selection-dispatcher.mjs +4 -4
  21. package/esm2022/dialog/dialog-container.mjs +4 -4
  22. package/esm2022/dialog/dialog-module.mjs +5 -5
  23. package/esm2022/dialog/dialog.mjs +4 -4
  24. package/esm2022/drag-drop/directives/drag-handle.mjs +4 -4
  25. package/esm2022/drag-drop/directives/drag-placeholder.mjs +4 -4
  26. package/esm2022/drag-drop/directives/drag-preview.mjs +4 -4
  27. package/esm2022/drag-drop/directives/drag.mjs +4 -4
  28. package/esm2022/drag-drop/directives/drop-list-group.mjs +4 -4
  29. package/esm2022/drag-drop/directives/drop-list.mjs +4 -4
  30. package/esm2022/drag-drop/drag-drop-module.mjs +5 -5
  31. package/esm2022/drag-drop/drag-drop-registry.mjs +4 -4
  32. package/esm2022/drag-drop/drag-drop.mjs +4 -4
  33. package/esm2022/layout/breakpoints-observer.mjs +4 -4
  34. package/esm2022/layout/layout-module.mjs +5 -5
  35. package/esm2022/layout/media-matcher.mjs +4 -4
  36. package/esm2022/listbox/listbox-module.mjs +5 -5
  37. package/esm2022/listbox/listbox.mjs +7 -7
  38. package/esm2022/menu/context-menu-trigger.mjs +7 -7
  39. package/esm2022/menu/menu-aim.mjs +7 -7
  40. package/esm2022/menu/menu-bar.mjs +4 -4
  41. package/esm2022/menu/menu-base.mjs +4 -4
  42. package/esm2022/menu/menu-group.mjs +4 -4
  43. package/esm2022/menu/menu-item-checkbox.mjs +4 -4
  44. package/esm2022/menu/menu-item-radio.mjs +4 -4
  45. package/esm2022/menu/menu-item-selectable.mjs +4 -4
  46. package/esm2022/menu/menu-item.mjs +4 -4
  47. package/esm2022/menu/menu-module.mjs +5 -5
  48. package/esm2022/menu/menu-stack.mjs +4 -4
  49. package/esm2022/menu/menu-trigger-base.mjs +4 -4
  50. package/esm2022/menu/menu-trigger.mjs +4 -4
  51. package/esm2022/menu/menu.mjs +4 -4
  52. package/esm2022/observers/observe-content.mjs +14 -14
  53. package/esm2022/overlay/dispatchers/base-overlay-dispatcher.mjs +4 -4
  54. package/esm2022/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +4 -4
  55. package/esm2022/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +4 -4
  56. package/esm2022/overlay/fullscreen-overlay-container.mjs +4 -4
  57. package/esm2022/overlay/overlay-container.mjs +4 -4
  58. package/esm2022/overlay/overlay-directives.mjs +7 -7
  59. package/esm2022/overlay/overlay-module.mjs +5 -5
  60. package/esm2022/overlay/overlay.mjs +4 -4
  61. package/esm2022/overlay/position/overlay-position-builder.mjs +4 -4
  62. package/esm2022/overlay/scroll/scroll-strategy-options.mjs +4 -4
  63. package/esm2022/platform/platform-module.mjs +5 -5
  64. package/esm2022/platform/platform.mjs +4 -4
  65. package/esm2022/portal/portal-directives.mjs +17 -17
  66. package/esm2022/scrolling/fixed-size-virtual-scroll.mjs +4 -4
  67. package/esm2022/scrolling/scroll-dispatcher.mjs +4 -4
  68. package/esm2022/scrolling/scrollable.mjs +4 -4
  69. package/esm2022/scrolling/scrolling-module.mjs +9 -9
  70. package/esm2022/scrolling/viewport-ruler.mjs +4 -4
  71. package/esm2022/scrolling/virtual-for-of.mjs +4 -4
  72. package/esm2022/scrolling/virtual-scroll-viewport.mjs +4 -4
  73. package/esm2022/scrolling/virtual-scrollable-element.mjs +4 -4
  74. package/esm2022/scrolling/virtual-scrollable-window.mjs +4 -4
  75. package/esm2022/scrolling/virtual-scrollable.mjs +4 -4
  76. package/esm2022/stepper/step-header.mjs +4 -4
  77. package/esm2022/stepper/step-label.mjs +4 -4
  78. package/esm2022/stepper/stepper-button.mjs +7 -7
  79. package/esm2022/stepper/stepper-module.mjs +5 -5
  80. package/esm2022/stepper/stepper.mjs +7 -7
  81. package/esm2022/table/cell.mjs +22 -22
  82. package/esm2022/table/coalesced-style-scheduler.mjs +4 -4
  83. package/esm2022/table/row.mjs +28 -28
  84. package/esm2022/table/table-module.mjs +5 -5
  85. package/esm2022/table/table.mjs +20 -20
  86. package/esm2022/table/text-column.mjs +4 -4
  87. package/esm2022/text-field/autofill.mjs +7 -7
  88. package/esm2022/text-field/autosize.mjs +4 -4
  89. package/esm2022/text-field/text-field-module.mjs +5 -5
  90. package/esm2022/tree/nested-node.mjs +4 -4
  91. package/esm2022/tree/node.mjs +4 -4
  92. package/esm2022/tree/outlet.mjs +4 -4
  93. package/esm2022/tree/padding.mjs +4 -4
  94. package/esm2022/tree/toggle.mjs +4 -4
  95. package/esm2022/tree/tree-module.mjs +5 -5
  96. package/esm2022/tree/tree.mjs +7 -7
  97. package/esm2022/version.mjs +1 -1
  98. package/fesm2022/a11y.mjs +40 -40
  99. package/fesm2022/a11y.mjs.map +1 -1
  100. package/fesm2022/accordion.mjs +10 -10
  101. package/fesm2022/accordion.mjs.map +1 -1
  102. package/fesm2022/bidi.mjs +10 -10
  103. package/fesm2022/bidi.mjs.map +1 -1
  104. package/fesm2022/cdk.mjs +1 -1
  105. package/fesm2022/cdk.mjs.map +1 -1
  106. package/fesm2022/clipboard.mjs +10 -10
  107. package/fesm2022/clipboard.mjs.map +1 -1
  108. package/fesm2022/collections.mjs +3 -3
  109. package/fesm2022/collections.mjs.map +1 -1
  110. package/fesm2022/dialog.mjs +10 -10
  111. package/fesm2022/dialog.mjs.map +1 -1
  112. package/fesm2022/drag-drop.mjs +28 -28
  113. package/fesm2022/drag-drop.mjs.map +1 -1
  114. package/fesm2022/layout.mjs +10 -10
  115. package/fesm2022/layout.mjs.map +1 -1
  116. package/fesm2022/listbox.mjs +10 -10
  117. package/fesm2022/listbox.mjs.map +1 -1
  118. package/fesm2022/menu.mjs +49 -49
  119. package/fesm2022/menu.mjs.map +1 -1
  120. package/fesm2022/observers.mjs +13 -13
  121. package/fesm2022/observers.mjs.map +1 -1
  122. package/fesm2022/overlay.mjs +34 -34
  123. package/fesm2022/overlay.mjs.map +1 -1
  124. package/fesm2022/platform.mjs +7 -7
  125. package/fesm2022/platform.mjs.map +1 -1
  126. package/fesm2022/portal.mjs +16 -16
  127. package/fesm2022/portal.mjs.map +1 -1
  128. package/fesm2022/scrolling.mjs +35 -35
  129. package/fesm2022/scrolling.mjs.map +1 -1
  130. package/fesm2022/stepper.mjs +22 -22
  131. package/fesm2022/stepper.mjs.map +1 -1
  132. package/fesm2022/table.mjs +77 -77
  133. package/fesm2022/table.mjs.map +1 -1
  134. package/fesm2022/text-field.mjs +13 -13
  135. package/fesm2022/text-field.mjs.map +1 -1
  136. package/fesm2022/tree.mjs +25 -25
  137. package/fesm2022/tree.mjs.map +1 -1
  138. package/package.json +1 -1
  139. package/schematics/ng-add/index.js +1 -1
  140. package/schematics/ng-add/index.mjs +1 -1
  141. package/schematics/update-tool/component-resource-collector.js +2 -2
  142. package/schematics/update-tool/component-resource-collector.mjs +2 -2
  143. package/schematics/update-tool/utils/parse-tsconfig.js +8 -3
  144. package/schematics/update-tool/utils/parse-tsconfig.mjs +8 -3
@@ -12,6 +12,8 @@ const ts = require("typescript");
12
12
  const virtual_host_1 = require("./virtual-host");
13
13
  const path_1 = require("path");
14
14
  const diagnostics_1 = require("./diagnostics");
15
+ /** Code of the error raised by TypeScript when a tsconfig doesn't match any files. */
16
+ const NO_INPUTS_ERROR_CODE = 18003;
15
17
  /** Class capturing a tsconfig parse error. */
16
18
  class TsconfigParseError extends Error {
17
19
  }
@@ -31,10 +33,13 @@ function parseTsconfigFile(tsconfigPath, fileSystem) {
31
33
  throw new TsconfigParseError((0, diagnostics_1.formatDiagnostics)([error], fileSystem));
32
34
  }
33
35
  const parsed = ts.parseJsonConfigFileContent(config, new virtual_host_1.FileSystemHost(fileSystem), (0, path_1.dirname)(tsconfigPath), {});
34
- if (parsed.errors.length) {
35
- throw new TsconfigParseError((0, diagnostics_1.formatDiagnostics)(parsed.errors, fileSystem));
36
+ // Skip the "No inputs found..." error since we don't want to interrupt the migration if a
37
+ // tsconfig doesn't match a file. This will result in an empty `Program` which is still valid.
38
+ const errors = parsed.errors.filter(diag => diag.code !== NO_INPUTS_ERROR_CODE);
39
+ if (errors.length) {
40
+ throw new TsconfigParseError((0, diagnostics_1.formatDiagnostics)(errors, fileSystem));
36
41
  }
37
42
  return parsed;
38
43
  }
39
44
  exports.parseTsconfigFile = parseTsconfigFile;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXBkYXRlLXRvb2wvdXRpbHMvcGFyc2UtdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBRWpDLGlEQUE4QztBQUM5QywrQkFBNkI7QUFDN0IsK0NBQWdEO0FBRWhELDhDQUE4QztBQUM5QyxNQUFhLGtCQUFtQixTQUFRLEtBQUs7Q0FBRztBQUFoRCxnREFBZ0Q7QUFFaEQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUMvQixZQUEyQixFQUMzQixVQUFzQjtJQUV0QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUN4QyxNQUFNLElBQUksa0JBQWtCLENBQUMsZ0NBQWdDLFlBQVksRUFBRSxDQUFDLENBQUM7S0FDOUU7SUFFRCxNQUFNLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQ3ZDLFlBQVksRUFDWixDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUM3QyxDQUFDO0lBRUYsNEVBQTRFO0lBQzVFLElBQUksS0FBSyxFQUFFO1FBQ1QsTUFBTSxJQUFJLGtCQUFrQixDQUFDLElBQUEsK0JBQWlCLEVBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0tBQ3RFO0lBRUQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUMxQyxNQUFNLEVBQ04sSUFBSSw2QkFBYyxDQUFDLFVBQVUsQ0FBQyxFQUM5QixJQUFBLGNBQU8sRUFBQyxZQUFZLENBQUMsRUFDckIsRUFBRSxDQUNILENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3hCLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxJQUFBLCtCQUFpQixFQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUM1RTtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUE5QkQsOENBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtGaWxlU3lzdGVtLCBXb3Jrc3BhY2VQYXRofSBmcm9tICcuLi9maWxlLXN5c3RlbSc7XG5pbXBvcnQge0ZpbGVTeXN0ZW1Ib3N0fSBmcm9tICcuL3ZpcnR1YWwtaG9zdCc7XG5pbXBvcnQge2Rpcm5hbWV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtmb3JtYXREaWFnbm9zdGljc30gZnJvbSAnLi9kaWFnbm9zdGljcyc7XG5cbi8qKiBDbGFzcyBjYXB0dXJpbmcgYSB0c2NvbmZpZyBwYXJzZSBlcnJvci4gKi9cbmV4cG9ydCBjbGFzcyBUc2NvbmZpZ1BhcnNlRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIHBhcnNlIHRoZSBzcGVjaWZpZWQgdHNjb25maWcgZmlsZS5cbiAqXG4gKiBAdGhyb3dzIHtUc2NvbmZpZ1BhcnNlRXJyb3J9IElmIHRoZSB0c2NvbmZpZyBjb3VsZCBub3QgYmUgcmVhZCBvciBwYXJzZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRzY29uZmlnRmlsZShcbiAgdHNjb25maWdQYXRoOiBXb3Jrc3BhY2VQYXRoLFxuICBmaWxlU3lzdGVtOiBGaWxlU3lzdGVtLFxuKTogdHMuUGFyc2VkQ29tbWFuZExpbmUge1xuICBpZiAoIWZpbGVTeXN0ZW0uZmlsZUV4aXN0cyh0c2NvbmZpZ1BhdGgpKSB7XG4gICAgdGhyb3cgbmV3IFRzY29uZmlnUGFyc2VFcnJvcihgVHNjb25maWcgY2Fubm90IG5vdCBiZSByZWFkOiAke3RzY29uZmlnUGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IHtjb25maWcsIGVycm9yfSA9IHRzLnJlYWRDb25maWdGaWxlKFxuICAgIHRzY29uZmlnUGF0aCxcbiAgICBwID0+IGZpbGVTeXN0ZW0ucmVhZChmaWxlU3lzdGVtLnJlc29sdmUocCkpISxcbiAgKTtcblxuICAvLyBJZiB0aGVyZSBpcyBhIGNvbmZpZyByZWFkaW5nIGVycm9yLCB3ZSBuZXZlciBhdHRlbXB0IHRvIHBhcnNlIHRoZSBjb25maWcuXG4gIGlmIChlcnJvcikge1xuICAgIHRocm93IG5ldyBUc2NvbmZpZ1BhcnNlRXJyb3IoZm9ybWF0RGlhZ25vc3RpY3MoW2Vycm9yXSwgZmlsZVN5c3RlbSkpO1xuICB9XG5cbiAgY29uc3QgcGFyc2VkID0gdHMucGFyc2VKc29uQ29uZmlnRmlsZUNvbnRlbnQoXG4gICAgY29uZmlnLFxuICAgIG5ldyBGaWxlU3lzdGVtSG9zdChmaWxlU3lzdGVtKSxcbiAgICBkaXJuYW1lKHRzY29uZmlnUGF0aCksXG4gICAge30sXG4gICk7XG5cbiAgaWYgKHBhcnNlZC5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFRzY29uZmlnUGFyc2VFcnJvcihmb3JtYXREaWFnbm9zdGljcyhwYXJzZWQuZXJyb3JzLCBmaWxlU3lzdGVtKSk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkO1xufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXBkYXRlLXRvb2wvdXRpbHMvcGFyc2UtdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBRWpDLGlEQUE4QztBQUM5QywrQkFBNkI7QUFDN0IsK0NBQWdEO0FBRWhELHNGQUFzRjtBQUN0RixNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUVuQyw4Q0FBOEM7QUFDOUMsTUFBYSxrQkFBbUIsU0FBUSxLQUFLO0NBQUc7QUFBaEQsZ0RBQWdEO0FBRWhEOzs7O0dBSUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FDL0IsWUFBMkIsRUFDM0IsVUFBc0I7SUFFdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDeEMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLGdDQUFnQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0tBQzlFO0lBRUQsTUFBTSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUN2QyxZQUFZLEVBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FDN0MsQ0FBQztJQUVGLDRFQUE0RTtJQUM1RSxJQUFJLEtBQUssRUFBRTtRQUNULE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxJQUFBLCtCQUFpQixFQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUN0RTtJQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FDMUMsTUFBTSxFQUNOLElBQUksNkJBQWMsQ0FBQyxVQUFVLENBQUMsRUFDOUIsSUFBQSxjQUFPLEVBQUMsWUFBWSxDQUFDLEVBQ3JCLEVBQUUsQ0FDSCxDQUFDO0lBRUYsMEZBQTBGO0lBQzFGLDhGQUE4RjtJQUM5RixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsQ0FBQztJQUVoRixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDakIsTUFBTSxJQUFJLGtCQUFrQixDQUFDLElBQUEsK0JBQWlCLEVBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7S0FDckU7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBbENELDhDQWtDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7RmlsZVN5c3RlbSwgV29ya3NwYWNlUGF0aH0gZnJvbSAnLi4vZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHtGaWxlU3lzdGVtSG9zdH0gZnJvbSAnLi92aXJ0dWFsLWhvc3QnO1xuaW1wb3J0IHtkaXJuYW1lfSBmcm9tICdwYXRoJztcbmltcG9ydCB7Zm9ybWF0RGlhZ25vc3RpY3N9IGZyb20gJy4vZGlhZ25vc3RpY3MnO1xuXG4vKiogQ29kZSBvZiB0aGUgZXJyb3IgcmFpc2VkIGJ5IFR5cGVTY3JpcHQgd2hlbiBhIHRzY29uZmlnIGRvZXNuJ3QgbWF0Y2ggYW55IGZpbGVzLiAqL1xuY29uc3QgTk9fSU5QVVRTX0VSUk9SX0NPREUgPSAxODAwMztcblxuLyoqIENsYXNzIGNhcHR1cmluZyBhIHRzY29uZmlnIHBhcnNlIGVycm9yLiAqL1xuZXhwb3J0IGNsYXNzIFRzY29uZmlnUGFyc2VFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbi8qKlxuICogQXR0ZW1wdHMgdG8gcGFyc2UgdGhlIHNwZWNpZmllZCB0c2NvbmZpZyBmaWxlLlxuICpcbiAqIEB0aHJvd3Mge1RzY29uZmlnUGFyc2VFcnJvcn0gSWYgdGhlIHRzY29uZmlnIGNvdWxkIG5vdCBiZSByZWFkIG9yIHBhcnNlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVHNjb25maWdGaWxlKFxuICB0c2NvbmZpZ1BhdGg6IFdvcmtzcGFjZVBhdGgsXG4gIGZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0sXG4pOiB0cy5QYXJzZWRDb21tYW5kTGluZSB7XG4gIGlmICghZmlsZVN5c3RlbS5maWxlRXhpc3RzKHRzY29uZmlnUGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgVHNjb25maWdQYXJzZUVycm9yKGBUc2NvbmZpZyBjYW5ub3Qgbm90IGJlIHJlYWQ6ICR7dHNjb25maWdQYXRofWApO1xuICB9XG5cbiAgY29uc3Qge2NvbmZpZywgZXJyb3J9ID0gdHMucmVhZENvbmZpZ0ZpbGUoXG4gICAgdHNjb25maWdQYXRoLFxuICAgIHAgPT4gZmlsZVN5c3RlbS5yZWFkKGZpbGVTeXN0ZW0ucmVzb2x2ZShwKSkhLFxuICApO1xuXG4gIC8vIElmIHRoZXJlIGlzIGEgY29uZmlnIHJlYWRpbmcgZXJyb3IsIHdlIG5ldmVyIGF0dGVtcHQgdG8gcGFyc2UgdGhlIGNvbmZpZy5cbiAgaWYgKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFRzY29uZmlnUGFyc2VFcnJvcihmb3JtYXREaWFnbm9zdGljcyhbZXJyb3JdLCBmaWxlU3lzdGVtKSk7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSB0cy5wYXJzZUpzb25Db25maWdGaWxlQ29udGVudChcbiAgICBjb25maWcsXG4gICAgbmV3IEZpbGVTeXN0ZW1Ib3N0KGZpbGVTeXN0ZW0pLFxuICAgIGRpcm5hbWUodHNjb25maWdQYXRoKSxcbiAgICB7fSxcbiAgKTtcblxuICAvLyBTa2lwIHRoZSBcIk5vIGlucHV0cyBmb3VuZC4uLlwiIGVycm9yIHNpbmNlIHdlIGRvbid0IHdhbnQgdG8gaW50ZXJydXB0IHRoZSBtaWdyYXRpb24gaWYgYVxuICAvLyB0c2NvbmZpZyBkb2Vzbid0IG1hdGNoIGEgZmlsZS4gVGhpcyB3aWxsIHJlc3VsdCBpbiBhbiBlbXB0eSBgUHJvZ3JhbWAgd2hpY2ggaXMgc3RpbGwgdmFsaWQuXG4gIGNvbnN0IGVycm9ycyA9IHBhcnNlZC5lcnJvcnMuZmlsdGVyKGRpYWcgPT4gZGlhZy5jb2RlICE9PSBOT19JTlBVVFNfRVJST1JfQ09ERSk7XG5cbiAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgVHNjb25maWdQYXJzZUVycm9yKGZvcm1hdERpYWdub3N0aWNzKGVycm9ycywgZmlsZVN5c3RlbSkpO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlZDtcbn1cbiJdfQ==