@dbx-tools/appkit 0.6.123 → 0.6.125

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.
@@ -37,12 +37,17 @@ function teardownProcess(code) {
37
37
  for (const handler of teardownHandlers)
38
38
  handler();
39
39
  teardownHandlers.clear();
40
- for (const child of boundChildren) {
40
+ const children = [...boundChildren];
41
+ for (const child of children) {
41
42
  if (!child.killed)
42
43
  child.kill("SIGTERM");
43
44
  }
44
45
  boundChildren.clear();
45
- setTimeout(() => process.exit(code), TEARDOWN_GRACE_MS).unref();
46
+ setTimeout(() => {
47
+ for (const child of children)
48
+ child.kill("SIGKILL");
49
+ process.exit(code);
50
+ }, TEARDOWN_GRACE_MS).unref();
46
51
  }
47
52
  function broadcastProcessSignal(signal) {
48
53
  for (const child of boundChildren) {
@@ -153,4 +158,4 @@ export class LifecycleBridgePlugin extends Plugin {
153
158
  }
154
159
  /** Factory for the injected {@link LifecycleBridgePlugin}. */
155
160
  export const lifecycleBridge = toPlugin(LifecycleBridgePlugin);
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBR0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQThDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzdDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUF1RnpDLG1GQUFtRjtBQUNuRixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUVqQyw2RUFBNkU7QUFDN0UsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFDbEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7QUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBYyxDQUFDO0FBQy9DLElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBQ2hDLElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBRWhDLFNBQVMsZUFBZSxDQUFDLElBQVk7SUFDbkMsSUFBSSxtQkFBbUI7UUFBRSxPQUFPO0lBQ2hDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMzQixLQUFLLE1BQU0sT0FBTyxJQUFJLGdCQUFnQjtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLEtBQUssTUFBTSxLQUFLLElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLFVB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RixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7O0FBR0gsOERBQThEO0FBQzlELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGBjcmVhdGVBcHBgIElOVEVSQ0VQVE9SIGNvbnRleHQ6IGFuIGluLXByb2Nlc3MgaGFuZGxlIGFuIGFwcCBoYW5kcyB0b1xuICogYWRkLW9ucyAodGhlIHR1bm5lbCwgY2hpZWZseSkgc28gdGhleSBjYW4gcmVhZCB0aGUgZW52IGF1dG8tY29uZmlndXJhdGlvblxuICogY29tcHV0ZWQsIGhvb2sgQXBwS2l0J3MgbGlmZWN5Y2xlLCBhbmQgc3VwZXJ2aXNlIHNpYmxpbmcgY2hpbGQgcHJvY2Vzc2VzIGFzIG9uZVxuICogdW5pdCAtIGNvbmN1cnJlbnRseS1zdHlsZSwgd2hlcmUgYW55IGRlYXRoIHRha2VzIHRoZSB3aG9sZSBzZXQgZG93bi5cbiAqXG4gKiBBbiBpbnRlcmNlcHRvciBpcyBhIHBsYWluIGZ1bmN0aW9uIGAoY3R4KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPmAgcGFzc2VkIHRvXG4gKiBgYXBwa2l0LmNyZWF0ZUFwcGAncyBgaW50ZXJjZXB0b3JgIG9wdGlvbiAoXCJvbmUgb3IgbWFueVwiKS4gYGFwcGtpdC5jcmVhdGVBcHBgXG4gKiBydW5zIGVhY2ggb25lIEFGVEVSIGF1dG8tY29uZmlndXJhdGlvbiBoYXMgcG9wdWxhdGVkIGBwcm9jZXNzLmVudmAgYnV0IGFzIHBhcnRcbiAqIG9mIGJvb3RpbmcgdGhlIGFwcCwgc28gYW4gaW50ZXJjZXB0b3Igc2VlcyB0aGUgcmVzb2x2ZWQgY29ubmVjdGlvbiBhbmQgY2FuIGJpbmRcbiAqIHByb2Nlc3NlcyBiZWZvcmUgb3IgZHVyaW5nIHNldHVwLlxuICpcbiAqIFRoZSBuYW1lcyBoZXJlIG1pcnJvciBBcHBLaXQncyBvd24gdm9jYWJ1bGFyeSByYXRoZXIgdGhhbiBpbnZlbnRpbmcgcGFyYWxsZWxcbiAqIG9uZXM6IHtAbGluayBMaWZlY3ljbGVFdmVudH0gYW5kIHtAbGluayBJbnRlcmNlcHRvckNvbnRleHQub25MaWZlY3ljbGV9IGFyZSB0aGVcbiAqIGV4YWN0IHNoYXBlIG9mIGBQbHVnaW5Db250ZXh0Lm9uTGlmZWN5Y2xlYCAoYHNldHVwOmNvbXBsZXRlYCAvIGBzZXJ2ZXI6cmVhZHlgIC9cbiAqIGBzaHV0ZG93bmApLiBUaGUgYnJpZGdlIHRoYXQgbWFrZXMgdGhhdCBob29rIHJlYWNoYWJsZSBmcm9tIE9VVFNJREUgYSBwbHVnaW4gLVxuICogd2hlcmUgaW50ZXJjZXB0b3JzIHJ1biAtIGlzIHtAbGluayBsaWZlY3ljbGVCcmlkZ2V9LCBhIHRpbnkgaW50ZXJuYWwgcGx1Z2luXG4gKiBgYXBwa2l0LmNyZWF0ZUFwcGAgaW5qZWN0cyB0byBjYXB0dXJlIGB0aGlzLmNvbnRleHRgIGFuZCByZWxheSBpdHMgZXZlbnRzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENoaWxkUHJvY2VzcyB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCB7IFBsdWdpbiwgdG9QbHVnaW4sIHR5cGUgQmFzZVBsdWdpbkNvbmZpZywgdHlwZSBQbHVnaW5NYW5pZmVzdCB9IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXRcIjtcbmltcG9ydCB7IGxvZyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IExha2ViYXNlQ29ubmVjdGlvbiB9IGZyb20gXCIuL2xha2ViYXNlLXJlc29sdmVyLnRzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZy5sb2dnZXIoXCJpbnRlcmNlcHRvclwiKTtcblxuLyoqXG4gKiBBcHBLaXQncyBwbHVnaW4tbGlmZWN5Y2xlIGV2ZW50cywgdmVyYmF0aW0gZnJvbSBgUGx1Z2luQ29udGV4dGBcbiAqIChgbm9kZV9tb2R1bGVzL0BkYXRhYnJpY2tzL2FwcGtpdC8uLi4vY29yZS9wbHVnaW4tY29udGV4dC5kLnRzYCkuIFJlLWRlY2xhcmVkXG4gKiBzdHJ1Y3R1cmFsbHkgcmF0aGVyIHRoYW4gaW1wb3J0ZWQgYmVjYXVzZSBgUGx1Z2luQ29udGV4dGAgaXMgbm90IGluIHRoZVxuICogcGFja2FnZSdzIGBleHBvcnRzYCBtYXAgKHRoZSBzYW1lIHJlYXNvbiB7QGxpbmsgUGx1Z2luQ29udGV4dExpa2V9IGV4aXN0cyBpblxuICogYC4vcGx1Z2luYCkuXG4gKlxuICogLSBgc2V0dXA6Y29tcGxldGVgIC0gZXZlcnkgcGx1Z2luJ3MgYHNldHVwKClgIGhhcyByZXNvbHZlZC5cbiAqIC0gYHNlcnZlcjpyZWFkeWAgLSB0aGUgYHNlcnZlcigpYCBwbHVnaW4gaXMgbGlzdGVuaW5nIChuZXZlciBmaXJlcyBmb3IgYVxuICogICBzZXJ2ZXJsZXNzIGFwcCwgZS5nLiB0aGUgdHVubmVsIGdhdGUpLlxuICogLSBgc2h1dGRvd25gIC0gdGhlIGFwcCBpcyB0ZWFyaW5nIGRvd24uXG4gKi9cbmV4cG9ydCB0eXBlIExpZmVjeWNsZUV2ZW50ID0gXCJzZXR1cDpjb21wbGV0ZVwiIHwgXCJzZXJ2ZXI6cmVhZHlcIiB8IFwic2h1dGRvd25cIjtcblxuLyoqIEEgbGlmZWN5Y2xlIHN1YnNjcmliZXIuIEVycm9ycyBhcmUgbG9nZ2VkLCBub3QgcHJvcGFnYXRlZCAobWF0Y2hlcyBBcHBLaXQpLiAqL1xuZXhwb3J0IHR5cGUgTGlmZWN5Y2xlSGFuZGxlciA9ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4vKipcbiAqIFRoZSBlbnYgYXV0by1jb25maWd1cmF0aW9uIHJlc29sdmVkIGJlZm9yZSBib290LCBleHBvc2VkIHRvIGludGVyY2VwdG9ycyBzb1xuICogdGhleSByZWFkIENPTVBVVEVEIHZhbHVlcyBpbnN0ZWFkIG9mIHJlLXJlYWRpbmcgYHByb2Nlc3MuZW52YCB0aGVtc2VsdmVzLlxuICpcbiAqIGBsYWtlYmFzZWAgaXMgdGhlIHJlc29sdmVkIFBvc3RncmVzIGNvbm5lY3Rpb24gd2hlbiBMYWtlYmFzZSBhdXRvLWNvbmZpZyByYW5cbiAqIChzZWUgYGFwcGtpdC5hdXRvQ29uZmlndXJlYCksIGVsc2UgYHVuZGVmaW5lZGAuIGBkYXRhYnJpY2tzSG9zdGAgaXMgdGhlXG4gKiB3b3Jrc3BhY2UgaG9zdCBhcyByZXNvbHZlZCBpbnRvIHRoZSBlbnZpcm9ubWVudCAoYERBVEFCUklDS1NfSE9TVGApLCB3aGljaCB0aGVcbiAqIHR1bm5lbCBpbnRlcmNlcHRvciBib3RoIHJlYWRzIGFuZCwgd2hlbiBpdCBtdXN0LCBzZXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkQXBwRW52IHtcbiAgLyoqIFJlc29sdmVkIExha2ViYXNlIGNvbm5lY3Rpb24sIHdoZW4gYXV0by1jb25maWcgcmVzb2x2ZWQgb25lLiAqL1xuICByZWFkb25seSBsYWtlYmFzZT86IExha2ViYXNlQ29ubmVjdGlvbjtcbiAgLyoqIFJlc29sdmVkIERhdGFicmlja3Mgd29ya3NwYWNlIGhvc3QgKGBEQVRBQlJJQ0tTX0hPU1RgKSwgd2hlbiBrbm93bi4gKi9cbiAgcmVhZG9ubHkgZGF0YWJyaWNrc0hvc3Q/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBwcm9jZXNzIHtAbGluayBJbnRlcmNlcHRvckNvbnRleHQuYmluZFByb2Nlc3N9IGNhbiBzdXBlcnZpc2UuIEEgYmFyZVxuICogYG5vZGU6Y2hpbGRfcHJvY2Vzc2AgYENoaWxkUHJvY2Vzc2AgKGUuZy4gcG9ydHIpIHNhdGlzZmllcyB0aGlzLCBhbmQgc28gZG9lc1xuICogYEBkYngtdG9vbHMvY29yZWAncyBgc3Bhd24oKWAgcmVzdWx0IChhIGBDaGlsZFByb2Nlc3NSZXN1bHRgIElTIGFcbiAqIGBDaGlsZFByb2Nlc3NgKSAtIG9uZSBjb2RlIHBhdGggaGFuZGxlcyBib3RoLlxuICovXG5leHBvcnQgdHlwZSBCaW5kYWJsZVByb2Nlc3MgPSBQaWNrPENoaWxkUHJvY2VzcywgXCJwaWRcIiB8IFwia2lsbFwiIHwgXCJraWxsZWRcIiB8IFwib25jZVwiPjtcblxuLyoqXG4gKiBUaGUgaGFuZGxlIHBhc3NlZCB0byBlYWNoIGludGVyY2VwdG9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBhcHBraXQgfSBmcm9tIFwiQGRieC10b29scy9hcHBraXRcIjtcbiAqXG4gKiBhd2FpdCBhcHBraXQuY3JlYXRlQXBwKHtcbiAqICAgcGx1Z2luczogW3NlcnZlcigpXSxcbiAqICAgaW50ZXJjZXB0b3I6IChjdHgpID0+IHtcbiAqICAgICBjb25zdCBwb3J0ciA9IHNwYXduUG9ydHIoY3R4LmVudi5kYXRhYnJpY2tzSG9zdCk7XG4gKiAgICAgY3R4LmJpbmRQcm9jZXNzKHBvcnRyKTsgICAgICAgICAgICAvLyBhcHAgPC0+IHBvcnRyIGxpdmUvZGllIHRvZ2V0aGVyXG4gKiAgICAgY3R4Lm9uTGlmZWN5Y2xlKFwic2h1dGRvd25cIiwgKCkgPT4gcG9ydHIua2lsbChcIlNJR1RFUk1cIikpO1xuICogICB9LFxuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJjZXB0b3JDb250ZXh0IHtcbiAgLyoqIFRoZSBlbnYgYXV0by1jb25maWd1cmF0aW9uIGNvbXB1dGVkIGJlZm9yZSBib290LiAqL1xuICByZWFkb25seSBlbnY6IFJlc29sdmVkQXBwRW52O1xuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIGFuIEFwcEtpdCBsaWZlY3ljbGUgZXZlbnQuIE1pcnJvcnMgYFBsdWdpbkNvbnRleHQub25MaWZlY3ljbGVgO1xuICAgKiB0aGUgaW5qZWN0ZWQge0BsaW5rIGxpZmVjeWNsZUJyaWRnZX0gcmVsYXlzIHRoZSByZWFsIGV2ZW50cyBoZXJlIG9uY2UgdGhlIGFwcFxuICAgKiBib290cy4gQSBoYW5kbGVyIHJlZ2lzdGVyZWQgZm9yIGFuIGV2ZW50IHRoYXQgYWxyZWFkeSBmaXJlZCBpcyBOT1QgY2FsbGVkXG4gICAqIHJldHJvYWN0aXZlbHkgKHNhbWUgc2VtYW50aWNzIGFzIEFwcEtpdCkuXG4gICAqL1xuICBvbkxpZmVjeWNsZShldmVudDogTGlmZWN5Y2xlRXZlbnQsIGZuOiBMaWZlY3ljbGVIYW5kbGVyKTogdm9pZDtcbiAgLyoqIFJlZ2lzdGVyIHN5bmNocm9ub3VzIGNsZWFudXAgdGhhdCBydW5zIGJlZm9yZSBhbnkgYm91bmQgcHJvY2VzcyBpcyBraWxsZWQuICovXG4gIG9uVGVhcmRvd24oZm46ICgpID0+IHZvaWQpOiB2b2lkO1xuICAvKipcbiAgICogQnJvYWRjYXN0IGEgdGVybWluYXRpb24gc2lnbmFsIGZyb20gdGhlIG1haW4gYXBwIHRvIGV2ZXJ5IGJvdW5kIHByb2Nlc3MuXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhpcyBwcm9jZXNzIHJlY2VpdmVzIGBTSUdJTlRgL2BTSUdURVJNYC9gU0lHSFVQYDtcbiAgICogZXhwb3NlZCBzbyBhbiBpbnRlcmNlcHRvciBjYW4gdHJpZ2dlciB0ZWFyZG93biBpdHNlbGYuXG4gICAqL1xuICBicm9hZGNhc3RTaWduYWwoc2lnbmFsOiBOb2RlSlMuU2lnbmFscyk6IHZvaWQ7XG4gIC8qKlxuICAgKiBTdXBlcnZpc2UgYSBjaGlsZCBwcm9jZXNzIGFsb25nc2lkZSB0aGUgYXBwLCBjb25jdXJyZW50bHktc3R5bGU6IHNpZ25hbHMgcGFzc1xuICAgKiB0aHJvdWdoLCBhbmQgaWYgRUlUSEVSIHRoZSBjaGlsZCBvciB0aGUgYXBwIGRpZXMgdGhlIHdob2xlIHNldCBjb21lcyBkb3duLlxuICAgKiBTYWZlIHRvIGNhbGwgZm9yIHNldmVyYWwgY2hpbGRyZW47IHRlYXJkb3duIGlzIGlkZW1wb3RlbnQuXG4gICAqL1xuICBiaW5kUHJvY2VzcyhjaGlsZDogQmluZGFibGVQcm9jZXNzKTogdm9pZDtcbn1cblxuLyoqIEEgc2luZ2xlIGludGVyY2VwdG9yLCBvciBzZXZlcmFsLiBUaGUgYGNyZWF0ZUFwcGAgYGludGVyY2VwdG9yPzpgIG9wdGlvbi4gKi9cbmV4cG9ydCB0eXBlIEludGVyY2VwdG9yID0gKGN0eDogSW50ZXJjZXB0b3JDb250ZXh0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIEhvdyBsb25nIGJvdW5kIGNoaWxkcmVuIGdldCB0byBleGl0IG9uIGBTSUdURVJNYCBiZWZvcmUgdGhlIGFwcCBmb3JjZS1leGl0cy4gKi9cbmNvbnN0IFRFQVJET1dOX0dSQUNFX01TID0gMTBfMDAwO1xuXG4vKiogVGhlIHNpZ25hbHMgdGhhdCB0cmlnZ2VyIHRlYXJkb3duIHdoZW4gdGhlIE1BSU4gcHJvY2VzcyByZWNlaXZlcyB0aGVtLiAqL1xuY29uc3QgVEVBUkRPV05fU0lHTkFMUyA9IFtcIlNJR0lOVFwiLCBcIlNJR1RFUk1cIiwgXCJTSUdIVVBcIl0gYXMgY29uc3Q7XG5jb25zdCBib3VuZENoaWxkcmVuID0gbmV3IFNldDxCaW5kYWJsZVByb2Nlc3M+KCk7XG5jb25zdCB0ZWFyZG93bkhhbmRsZXJzID0gbmV3IFNldDwoKSA9PiB2b2lkPigpO1xubGV0IHByb2Nlc3NTaHV0dGluZ0Rvd24gPSBmYWxzZTtcbmxldCBwcm9jZXNzU2lnbmFsc0JvdW5kID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHRlYXJkb3duUHJvY2Vzcyhjb2RlOiBudW1iZXIpOiB2b2lkIHtcbiAgaWYgKHByb2Nlc3NTaHV0dGluZ0Rvd24pIHJldHVybjtcbiAgcHJvY2Vzc1NodXR0aW5nRG93biA9IHRydWU7XG4gIGZvciAoY29uc3QgaGFuZGxlciBvZiB0ZWFyZG93bkhhbmRsZXJzKSBoYW5kbGVyKCk7XG4gIHRlYXJkb3duSGFuZGxlcnMuY2xlYXIoKTtcbiAgZm9yIChjb25zdCBjaGlsZCBvZiBib3VuZENoaWxkcmVuKSB7XG4gICAgaWYgKCFjaGlsZC5raWxsZWQpIGNoaWxkLmtpbGwoXCJTSUdURVJNXCIpO1xuICB9XG4gIGJvdW5kQ2hpbGRyZW4uY2xlYXIoKTtcbiAgc2V0VGltZW91dCgoKSA9PiBwcm9jZXNzLmV4aXQoY29kZSksIFRFQVJET1dOX0dSQUNFX01TKS51bnJlZigpO1xufVxuXG5mdW5jdGlvbiBicm9hZGNhc3RQcm9jZXNzU2lnbmFsKHNpZ25hbDogTm9kZUpTLlNpZ25hbHMpOiB2b2lkIHtcbiAgZm9yIChjb25zdCBjaGlsZCBvZiBib3VuZENoaWxkcmVuKSB7XG4gICAgaWYgKCFjaGlsZC5raWxsZWQpIGNoaWxkLmtpbGwoc2lnbmFsKTtcbiAgfVxuICB0ZWFyZG93blByb2Nlc3MoMCk7XG59XG5cbmZ1bmN0aW9uIGJpbmRQcm9jZXNzU2lnbmFscygpOiB2b2lkIHtcbiAgaWYgKHByb2Nlc3NTaWduYWxzQm91bmQpIHJldHVybjtcbiAgcHJvY2Vzc1NpZ25hbHNCb3VuZCA9IHRydWU7XG4gIGZvciAoY29uc3Qgc2lnbmFsIG9mIFRFQVJET1dOX1NJR05BTFMpIHtcbiAgICBwcm9jZXNzLm9uKHNpZ25hbCwgKCkgPT4gYnJvYWRjYXN0UHJvY2Vzc1NpZ25hbChzaWduYWwpKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBtdXRhYmxlIG1hY2hpbmVyeSBiZWhpbmQgYW4ge0BsaW5rIEludGVyY2VwdG9yQ29udGV4dH0uIFNwbGl0IG91dCBzb1xuICoge0BsaW5rIGNyZWF0ZUludGVyY2VwdG9yQ29udGV4dH0gY2FuIGhhbmQgdGhlIHB1YmxpYyBjb250ZXh0IHRvIGludGVyY2VwdG9yc1xuICogd2hpbGUgYGFwcGtpdC5jcmVhdGVBcHBgIHJldGFpbnMgdGhlIGBlbWl0TGlmZWN5Y2xlYCBzaWRlLWNoYW5uZWwgdGhlIGJyaWRnZSBkcml2ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJjZXB0b3JSdW50aW1lIHtcbiAgLyoqIFRoZSBjb250ZXh0IGhhbmRlZCB0byBlYWNoIGludGVyY2VwdG9yLiAqL1xuICByZWFkb25seSBjb250ZXh0OiBJbnRlcmNlcHRvckNvbnRleHQ7XG4gIC8qKiBGaXJlIGEgbGlmZWN5Y2xlIGV2ZW50IHRvIGV2ZXJ5IHN1YnNjcmliZXIgKGNhbGxlZCBieSB7QGxpbmsgbGlmZWN5Y2xlQnJpZGdlfSkuICovXG4gIGVtaXRMaWZlY3ljbGUoZXZlbnQ6IExpZmVjeWNsZUV2ZW50KTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBCdWlsZCBhbiB7QGxpbmsgSW50ZXJjZXB0b3JDb250ZXh0fSArIGl0cyB7QGxpbmsgSW50ZXJjZXB0b3JSdW50aW1lfS5cbiAqXG4gKiBUZWFyZG93biBpcyB0aGUgZ2VuZXJhbGl6ZWQgYHN1cGVydmlzZUV4aXRgOiB0aGUgZmlyc3QgY2hpbGQgZXhpdCBvciBtYWluLXByb2Nlc3NcbiAqIHRlcm1pbmF0aW9uIHNpZ25hbCBmbGlwcyBhIG9uZS1zaG90IGd1YXJkLCBgU0lHVEVSTWBzIHRoZSBvdGhlciBib3VuZCBjaGlsZHJlbixcbiAqIHRoZW4gYHByb2Nlc3MuZXhpdGBzIGFmdGVyIHtAbGluayBURUFSRE9XTl9HUkFDRV9NU30gKGFuIGB1bnJlZmAnZCB0aW1lciwgc28gaXRcbiAqIG5ldmVyIGl0c2VsZiBob2xkcyB0aGUgbG9vcCBvcGVuKS4gVGhlIHByb2Nlc3Mtc2lnbmFsIGxpc3RlbmVycyBhcmUgaW5zdGFsbGVkXG4gKiBsYXppbHkgb24gdGhlIGZpcnN0IGBiaW5kUHJvY2Vzc2Agc28gYW4gYXBwIHRoYXQgYmluZHMgbm90aGluZyBpcyB1bnRvdWNoZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnRlcmNlcHRvckNvbnRleHQoZW52OiBSZXNvbHZlZEFwcEVudik6IEludGVyY2VwdG9yUnVudGltZSB7XG4gIGNvbnN0IGhhbmRsZXJzID0gbmV3IE1hcDxMaWZlY3ljbGVFdmVudCwgTGlmZWN5Y2xlSGFuZGxlcltdPigpO1xuICBpZiAocHJvY2Vzc1NodXR0aW5nRG93biAmJiBib3VuZENoaWxkcmVuLnNpemUgPT09IDApIHByb2Nlc3NTaHV0dGluZ0Rvd24gPSBmYWxzZTtcbiAgaWYgKFxuICAgIHByb2Nlc3NTaWduYWxzQm91bmQgJiZcbiAgICBURUFSRE9XTl9TSUdOQUxTLmV2ZXJ5KChzaWduYWwpID0+IHByb2Nlc3MubGlzdGVuZXJDb3VudChzaWduYWwpID09PSAwKVxuICApIHtcbiAgICBwcm9jZXNzU2lnbmFsc0JvdW5kID0gZmFsc2U7XG4gIH1cblxuICBjb25zdCBiaW5kUHJvY2VzcyA9IChjaGlsZDogQmluZGFibGVQcm9jZXNzKTogdm9pZCA9PiB7XG4gICAgYmluZFByb2Nlc3NTaWduYWxzKCk7XG4gICAgYm91bmRDaGlsZHJlbi5hZGQoY2hpbGQpO1xuICAgIGNoaWxkLm9uY2UoXCJleGl0XCIsIChjb2RlKSA9PiB7XG4gICAgICBsb2dnZXIud2FybihcImJvdW5kIHByb2Nlc3MgZXhpdGVkOyB0ZWFyaW5nIGRvd24gdGhlIGFwcFwiLCB7IGNvZGUgfSk7XG4gICAgICB0ZWFyZG93blByb2Nlc3ModHlwZW9mIGNvZGUgPT09IFwibnVtYmVyXCIgPyBjb2RlIDogMSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgb25MaWZlY3ljbGUgPSAoZXZlbnQ6IExpZmVjeWNsZUV2ZW50LCBmbjogTGlmZWN5Y2xlSGFuZGxlcik6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGxpc3QgPSBoYW5kbGVycy5nZXQoZXZlbnQpO1xuICAgIGlmIChsaXN0KSBsaXN0LnB1c2goZm4pO1xuICAgIGVsc2UgaGFuZGxlcnMuc2V0KGV2ZW50LCBbZm5dKTtcbiAgfTtcblxuICBjb25zdCBlbWl0TGlmZWN5Y2xlID0gYXN5bmMgKGV2ZW50OiBMaWZlY3ljbGVFdmVudCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IGxpc3QgPSBoYW5kbGVycy5nZXQoZXZlbnQpO1xuICAgIGlmICghbGlzdCkgcmV0dXJuO1xuICAgIGZvciAoY29uc3QgZm4gb2YgbGlzdCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZm4oKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIE1hdGNoIEFwcEtpdDogYSBmYWlsaW5nIGxpZmVjeWNsZSBoYW5kbGVyIGlzIGxvZ2dlZCwgbmV2ZXIgZmF0YWwsIGFuZFxuICAgICAgICAvLyBuZXZlciBibG9ja3MgaXRzIHNpYmxpbmdzLlxuICAgICAgICBsb2dnZXIud2FybihcImxpZmVjeWNsZSBoYW5kbGVyIGZhaWxlZFwiLCB7IGV2ZW50LCBlcnJvciB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY29udGV4dDogSW50ZXJjZXB0b3JDb250ZXh0ID0ge1xuICAgIGVudixcbiAgICBvbkxpZmVjeWNsZSxcbiAgICBvblRlYXJkb3duOiAoZm4pID0+IHtcbiAgICAgIGJpbmRQcm9jZXNzU2lnbmFscygpO1xuICAgICAgdGVhcmRvd25IYW5kbGVycy5hZGQoZm4pO1xuICAgIH0sXG4gICAgYnJvYWRjYXN0U2lnbmFsOiBicm9hZGNhc3RQcm9jZXNzU2lnbmFsLFxuICAgIGJpbmRQcm9jZXNzLFxuICB9O1xuXG4gIHJldHVybiB7IGNvbnRleHQsIGVtaXRMaWZlY3ljbGUgfTtcbn1cblxuLyoqIENvbmZpZyBmb3Ige0BsaW5rIExpZmVjeWNsZUJyaWRnZVBsdWdpbn06IHRoZSBzaW5rIGl0cyBjYXB0dXJlZCBldmVudHMgZmxvdyB0by4gKi9cbmludGVyZmFjZSBMaWZlY3ljbGVCcmlkZ2VDb25maWcgZXh0ZW5kcyBCYXNlUGx1Z2luQ29uZmlnIHtcbiAgLyoqIFRoZSBydW50aW1lIHdob3NlIGBlbWl0TGlmZWN5Y2xlYCByZWNlaXZlcyB0aGUgcmVhbCBBcHBLaXQgZXZlbnRzLiAqL1xuICBydW50aW1lPzogSW50ZXJjZXB0b3JSdW50aW1lO1xufVxuXG4vKipcbiAqIFN0cnVjdHVyYWwgc2hhcGUgb2YgdGhlIGBQbHVnaW5Db250ZXh0Lm9uTGlmZWN5Y2xlYCB3ZSBicmlkZ2UuIE1pcnJvcnMgb25seSB0aGVcbiAqIG9uZSBtZXRob2Qgd2UgdG91Y2ggKGxpa2Uge0BsaW5rIFBsdWdpbkNvbnRleHRMaWtlfSBpbiBgLi9wbHVnaW5gKSwgc2luY2VcbiAqIEFwcEtpdCdzIGBQbHVnaW5Db250ZXh0YCBpcyBub3QgaW1wb3J0YWJsZSBmcm9tIHRoZSBwYWNrYWdlJ3MgYGV4cG9ydHNgLlxuICovXG5pbnRlcmZhY2UgTGlmZWN5Y2xlQ29udGV4dExpa2Uge1xuICBvbkxpZmVjeWNsZShldmVudDogTGlmZWN5Y2xlRXZlbnQsIGZuOiBMaWZlY3ljbGVIYW5kbGVyKTogdm9pZDtcbn1cblxuZnVuY3Rpb24gaGFzT25MaWZlY3ljbGUoY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTGlmZWN5Y2xlQ29udGV4dExpa2Uge1xuICByZXR1cm4gdHlwZW9mIChjb250ZXh0IGFzIExpZmVjeWNsZUNvbnRleHRMaWtlIHwgdW5kZWZpbmVkKT8ub25MaWZlY3ljbGUgPT09IFwiZnVuY3Rpb25cIjtcbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgcGx1Z2luIGBhcHBraXQuY3JlYXRlQXBwYCBpbmplY3RzIHRvIG1ha2UgQXBwS2l0J3MgbGlmZWN5Y2xlXG4gKiByZWFjaGFibGUgZnJvbSBpbnRlcmNlcHRvciBjb2RlLiBPbiBgc2V0dXAoKWAgaXQgcmVhZHMgaXRzIG93biBgdGhpcy5jb250ZXh0YFxuICogKHRoZSByZWFsIGBQbHVnaW5Db250ZXh0YCkgYW5kIGZvcndhcmRzIGVhY2gge0BsaW5rIExpZmVjeWNsZUV2ZW50fSB0byB0aGVcbiAqIGludGVyY2VwdG9yIHJ1bnRpbWUsIHNvIGBjdHgub25MaWZlY3ljbGUoLi4uKWAgaGFuZGxlcnMgZmlyZSBvbiB0aGUgZ2VudWluZVxuICogZXZlbnRzLiBJdCBvd25zIG5vIHJvdXRlcywgY29uZmlnIHN1cmZhY2UsIG9yIGV4cG9ydHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMaWZlY3ljbGVCcmlkZ2VQbHVnaW4gZXh0ZW5kcyBQbHVnaW48TGlmZWN5Y2xlQnJpZGdlQ29uZmlnPiB7XG4gIHN0YXRpYyBtYW5pZmVzdCA9IHtcbiAgICBuYW1lOiBcImRieFRvb2xzTGlmZWN5Y2xlQnJpZGdlXCIsXG4gICAgZGlzcGxheU5hbWU6IFwiTGlmZWN5Y2xlIEJyaWRnZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlJlbGF5cyBBcHBLaXQgbGlmZWN5Y2xlIGV2ZW50cyB0byB0aGUgY3JlYXRlQXBwIGludGVyY2VwdG9yIGNvbnRleHQuXCIsXG4gICAgc3RhYmlsaXR5OiBcImJldGFcIixcbiAgICBoaWRkZW46IHRydWUsXG4gICAgcmVzb3VyY2VzOiB7IHJlcXVpcmVkOiBbXSwgb3B0aW9uYWw6IFtdIH0sXG4gIH0gc2F0aXNmaWVzIFBsdWdpbk1hbmlmZXN0PFwiZGJ4VG9vbHNMaWZlY3ljbGVCcmlkZ2VcIj47XG5cbiAgb3ZlcnJpZGUgYXN5bmMgc2V0dXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcnVudGltZSA9IHRoaXMuY29uZmlnLnJ1bnRpbWU7XG4gICAgaWYgKCFydW50aW1lKSByZXR1cm47XG4gICAgaWYgKCFoYXNPbkxpZmVjeWNsZSh0aGlzLmNvbnRleHQpKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJubyBQbHVnaW5Db250ZXh0Lm9uTGlmZWN5Y2xlIHRvIGJyaWRnZTsgaW50ZXJjZXB0b3IgbGlmZWN5Y2xlIGV2ZW50cyBpbmVydFwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZXZlbnRzOiBMaWZlY3ljbGVFdmVudFtdID0gW1wic2V0dXA6Y29tcGxldGVcIiwgXCJzZXJ2ZXI6cmVhZHlcIiwgXCJzaHV0ZG93blwiXTtcbiAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIGV2ZW50cykge1xuICAgICAgdGhpcy5jb250ZXh0Lm9uTGlmZWN5Y2xlKGV2ZW50LCAoKSA9PiBydW50aW1lLmVtaXRMaWZlY3ljbGUoZXZlbnQpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqIEZhY3RvcnkgZm9yIHRoZSBpbmplY3RlZCB7QGxpbmsgTGlmZWN5Y2xlQnJpZGdlUGx1Z2lufS4gKi9cbmV4cG9ydCBjb25zdCBsaWZlY3ljbGVCcmlkZ2UgPSB0b1BsdWdpbihMaWZlY3ljbGVCcmlkZ2VQbHVnaW4pO1xuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBR0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQThDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzdDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUF1RnpDLG1GQUFtRjtBQUNuRixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUVqQyw2RUFBNkU7QUFDN0UsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFDbEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7QUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBYyxDQUFDO0FBQy9DLElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBQ2hDLElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBRWhDLFNBQVMsZUFBZSxDQUFDLElBQVk7SUFDbkMsSUFBSSxtQkFBbUI7UUFBRSxPQUFPO0lBQ2hDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMzQixLQUFLLE1BQU0sT0FBTyxJQUFJLGdCQUFnQjtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztJQUNwQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFD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QztZQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUM7WUFDM0YsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBcUIsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEYsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDOztBQUdILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBgY3JlYXRlQXBwYCBJTlRFUkNFUFRPUiBjb250ZXh0OiBhbiBpbi1wcm9jZXNzIGhhbmRsZSBhbiBhcHAgaGFuZHMgdG9cbiAqIGFkZC1vbnMgKHRoZSB0dW5uZWwsIGNoaWVmbHkpIHNvIHRoZXkgY2FuIHJlYWQgdGhlIGVudiBhdXRvLWNvbmZpZ3VyYXRpb25cbiAqIGNvbXB1dGVkLCBob29rIEFwcEtpdCdzIGxpZmVjeWNsZSwgYW5kIHN1cGVydmlzZSBzaWJsaW5nIGNoaWxkIHByb2Nlc3NlcyBhcyBvbmVcbiAqIHVuaXQgLSBjb25jdXJyZW50bHktc3R5bGUsIHdoZXJlIGFueSBkZWF0aCB0YWtlcyB0aGUgd2hvbGUgc2V0IGRvd24uXG4gKlxuICogQW4gaW50ZXJjZXB0b3IgaXMgYSBwbGFpbiBmdW5jdGlvbiBgKGN0eCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD5gIHBhc3NlZCB0b1xuICogYGFwcGtpdC5jcmVhdGVBcHBgJ3MgYGludGVyY2VwdG9yYCBvcHRpb24gKFwib25lIG9yIG1hbnlcIikuIGBhcHBraXQuY3JlYXRlQXBwYFxuICogcnVucyBlYWNoIG9uZSBBRlRFUiBhdXRvLWNvbmZpZ3VyYXRpb24gaGFzIHBvcHVsYXRlZCBgcHJvY2Vzcy5lbnZgIGJ1dCBhcyBwYXJ0XG4gKiBvZiBib290aW5nIHRoZSBhcHAsIHNvIGFuIGludGVyY2VwdG9yIHNlZXMgdGhlIHJlc29sdmVkIGNvbm5lY3Rpb24gYW5kIGNhbiBiaW5kXG4gKiBwcm9jZXNzZXMgYmVmb3JlIG9yIGR1cmluZyBzZXR1cC5cbiAqXG4gKiBUaGUgbmFtZXMgaGVyZSBtaXJyb3IgQXBwS2l0J3Mgb3duIHZvY2FidWxhcnkgcmF0aGVyIHRoYW4gaW52ZW50aW5nIHBhcmFsbGVsXG4gKiBvbmVzOiB7QGxpbmsgTGlmZWN5Y2xlRXZlbnR9IGFuZCB7QGxpbmsgSW50ZXJjZXB0b3JDb250ZXh0Lm9uTGlmZWN5Y2xlfSBhcmUgdGhlXG4gKiBleGFjdCBzaGFwZSBvZiBgUGx1Z2luQ29udGV4dC5vbkxpZmVjeWNsZWAgKGBzZXR1cDpjb21wbGV0ZWAgLyBgc2VydmVyOnJlYWR5YCAvXG4gKiBgc2h1dGRvd25gKS4gVGhlIGJyaWRnZSB0aGF0IG1ha2VzIHRoYXQgaG9vayByZWFjaGFibGUgZnJvbSBPVVRTSURFIGEgcGx1Z2luIC1cbiAqIHdoZXJlIGludGVyY2VwdG9ycyBydW4gLSBpcyB7QGxpbmsgbGlmZWN5Y2xlQnJpZGdlfSwgYSB0aW55IGludGVybmFsIHBsdWdpblxuICogYGFwcGtpdC5jcmVhdGVBcHBgIGluamVjdHMgdG8gY2FwdHVyZSBgdGhpcy5jb250ZXh0YCBhbmQgcmVsYXkgaXRzIGV2ZW50cy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDaGlsZFByb2Nlc3MgfSBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgeyBQbHVnaW4sIHRvUGx1Z2luLCB0eXBlIEJhc2VQbHVnaW5Db25maWcsIHR5cGUgUGx1Z2luTWFuaWZlc3QgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQgeyBsb2cgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBMYWtlYmFzZUNvbm5lY3Rpb24gfSBmcm9tIFwiLi9sYWtlYmFzZS1yZXNvbHZlci50c1wiO1xuXG5jb25zdCBsb2dnZXIgPSBsb2cubG9nZ2VyKFwiaW50ZXJjZXB0b3JcIik7XG5cbi8qKlxuICogQXBwS2l0J3MgcGx1Z2luLWxpZmVjeWNsZSBldmVudHMsIHZlcmJhdGltIGZyb20gYFBsdWdpbkNvbnRleHRgXG4gKiAoYG5vZGVfbW9kdWxlcy9AZGF0YWJyaWNrcy9hcHBraXQvLi4uL2NvcmUvcGx1Z2luLWNvbnRleHQuZC50c2ApLiBSZS1kZWNsYXJlZFxuICogc3RydWN0dXJhbGx5IHJhdGhlciB0aGFuIGltcG9ydGVkIGJlY2F1c2UgYFBsdWdpbkNvbnRleHRgIGlzIG5vdCBpbiB0aGVcbiAqIHBhY2thZ2UncyBgZXhwb3J0c2AgbWFwICh0aGUgc2FtZSByZWFzb24ge0BsaW5rIFBsdWdpbkNvbnRleHRMaWtlfSBleGlzdHMgaW5cbiAqIGAuL3BsdWdpbmApLlxuICpcbiAqIC0gYHNldHVwOmNvbXBsZXRlYCAtIGV2ZXJ5IHBsdWdpbidzIGBzZXR1cCgpYCBoYXMgcmVzb2x2ZWQuXG4gKiAtIGBzZXJ2ZXI6cmVhZHlgIC0gdGhlIGBzZXJ2ZXIoKWAgcGx1Z2luIGlzIGxpc3RlbmluZyAobmV2ZXIgZmlyZXMgZm9yIGFcbiAqICAgc2VydmVybGVzcyBhcHAsIGUuZy4gdGhlIHR1bm5lbCBnYXRlKS5cbiAqIC0gYHNodXRkb3duYCAtIHRoZSBhcHAgaXMgdGVhcmluZyBkb3duLlxuICovXG5leHBvcnQgdHlwZSBMaWZlY3ljbGVFdmVudCA9IFwic2V0dXA6Y29tcGxldGVcIiB8IFwic2VydmVyOnJlYWR5XCIgfCBcInNodXRkb3duXCI7XG5cbi8qKiBBIGxpZmVjeWNsZSBzdWJzY3JpYmVyLiBFcnJvcnMgYXJlIGxvZ2dlZCwgbm90IHByb3BhZ2F0ZWQgKG1hdGNoZXMgQXBwS2l0KS4gKi9cbmV4cG9ydCB0eXBlIExpZmVjeWNsZUhhbmRsZXIgPSAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqXG4gKiBUaGUgZW52IGF1dG8tY29uZmlndXJhdGlvbiByZXNvbHZlZCBiZWZvcmUgYm9vdCwgZXhwb3NlZCB0byBpbnRlcmNlcHRvcnMgc29cbiAqIHRoZXkgcmVhZCBDT01QVVRFRCB2YWx1ZXMgaW5zdGVhZCBvZiByZS1yZWFkaW5nIGBwcm9jZXNzLmVudmAgdGhlbXNlbHZlcy5cbiAqXG4gKiBgbGFrZWJhc2VgIGlzIHRoZSByZXNvbHZlZCBQb3N0Z3JlcyBjb25uZWN0aW9uIHdoZW4gTGFrZWJhc2UgYXV0by1jb25maWcgcmFuXG4gKiAoc2VlIGBhcHBraXQuYXV0b0NvbmZpZ3VyZWApLCBlbHNlIGB1bmRlZmluZWRgLiBgZGF0YWJyaWNrc0hvc3RgIGlzIHRoZVxuICogd29ya3NwYWNlIGhvc3QgYXMgcmVzb2x2ZWQgaW50byB0aGUgZW52aXJvbm1lbnQgKGBEQVRBQlJJQ0tTX0hPU1RgKSwgd2hpY2ggdGhlXG4gKiB0dW5uZWwgaW50ZXJjZXB0b3IgYm90aCByZWFkcyBhbmQsIHdoZW4gaXQgbXVzdCwgc2V0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZEFwcEVudiB7XG4gIC8qKiBSZXNvbHZlZCBMYWtlYmFzZSBjb25uZWN0aW9uLCB3aGVuIGF1dG8tY29uZmlnIHJlc29sdmVkIG9uZS4gKi9cbiAgcmVhZG9ubHkgbGFrZWJhc2U/OiBMYWtlYmFzZUNvbm5lY3Rpb247XG4gIC8qKiBSZXNvbHZlZCBEYXRhYnJpY2tzIHdvcmtzcGFjZSBob3N0IChgREFUQUJSSUNLU19IT1NUYCksIHdoZW4ga25vd24uICovXG4gIHJlYWRvbmx5IGRhdGFicmlja3NIb3N0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgcHJvY2VzcyB7QGxpbmsgSW50ZXJjZXB0b3JDb250ZXh0LmJpbmRQcm9jZXNzfSBjYW4gc3VwZXJ2aXNlLiBBIGJhcmVcbiAqIGBub2RlOmNoaWxkX3Byb2Nlc3NgIGBDaGlsZFByb2Nlc3NgIChlLmcuIHBvcnRyKSBzYXRpc2ZpZXMgdGhpcywgYW5kIHNvIGRvZXNcbiAqIGBAZGJ4LXRvb2xzL2NvcmVgJ3MgYHNwYXduKClgIHJlc3VsdCAoYSBgQ2hpbGRQcm9jZXNzUmVzdWx0YCBJUyBhXG4gKiBgQ2hpbGRQcm9jZXNzYCkgLSBvbmUgY29kZSBwYXRoIGhhbmRsZXMgYm90aC5cbiAqL1xuZXhwb3J0IHR5cGUgQmluZGFibGVQcm9jZXNzID0gUGljazxDaGlsZFByb2Nlc3MsIFwicGlkXCIgfCBcImtpbGxcIiB8IFwia2lsbGVkXCIgfCBcIm9uY2VcIj47XG5cbi8qKlxuICogVGhlIGhhbmRsZSBwYXNzZWQgdG8gZWFjaCBpbnRlcmNlcHRvci5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgYXBwa2l0IH0gZnJvbSBcIkBkYngtdG9vbHMvYXBwa2l0XCI7XG4gKlxuICogYXdhaXQgYXBwa2l0LmNyZWF0ZUFwcCh7XG4gKiAgIHBsdWdpbnM6IFtzZXJ2ZXIoKV0sXG4gKiAgIGludGVyY2VwdG9yOiAoY3R4KSA9PiB7XG4gKiAgICAgY29uc3QgcG9ydHIgPSBzcGF3blBvcnRyKGN0eC5lbnYuZGF0YWJyaWNrc0hvc3QpO1xuICogICAgIGN0eC5iaW5kUHJvY2Vzcyhwb3J0cik7ICAgICAgICAgICAgLy8gYXBwIDwtPiBwb3J0ciBsaXZlL2RpZSB0b2dldGhlclxuICogICAgIGN0eC5vbkxpZmVjeWNsZShcInNodXRkb3duXCIsICgpID0+IHBvcnRyLmtpbGwoXCJTSUdURVJNXCIpKTtcbiAqICAgfSxcbiAqIH0pO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyY2VwdG9yQ29udGV4dCB7XG4gIC8qKiBUaGUgZW52IGF1dG8tY29uZmlndXJhdGlvbiBjb21wdXRlZCBiZWZvcmUgYm9vdC4gKi9cbiAgcmVhZG9ubHkgZW52OiBSZXNvbHZlZEFwcEVudjtcbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byBhbiBBcHBLaXQgbGlmZWN5Y2xlIGV2ZW50LiBNaXJyb3JzIGBQbHVnaW5Db250ZXh0Lm9uTGlmZWN5Y2xlYDtcbiAgICogdGhlIGluamVjdGVkIHtAbGluayBsaWZlY3ljbGVCcmlkZ2V9IHJlbGF5cyB0aGUgcmVhbCBldmVudHMgaGVyZSBvbmNlIHRoZSBhcHBcbiAgICogYm9vdHMuIEEgaGFuZGxlciByZWdpc3RlcmVkIGZvciBhbiBldmVudCB0aGF0IGFscmVhZHkgZmlyZWQgaXMgTk9UIGNhbGxlZFxuICAgKiByZXRyb2FjdGl2ZWx5IChzYW1lIHNlbWFudGljcyBhcyBBcHBLaXQpLlxuICAgKi9cbiAgb25MaWZlY3ljbGUoZXZlbnQ6IExpZmVjeWNsZUV2ZW50LCBmbjogTGlmZWN5Y2xlSGFuZGxlcik6IHZvaWQ7XG4gIC8qKiBSZWdpc3RlciBzeW5jaHJvbm91cyBjbGVhbnVwIHRoYXQgcnVucyBiZWZvcmUgYW55IGJvdW5kIHByb2Nlc3MgaXMga2lsbGVkLiAqL1xuICBvblRlYXJkb3duKGZuOiAoKSA9PiB2b2lkKTogdm9pZDtcbiAgLyoqXG4gICAqIEJyb2FkY2FzdCBhIHRlcm1pbmF0aW9uIHNpZ25hbCBmcm9tIHRoZSBtYWluIGFwcCB0byBldmVyeSBib3VuZCBwcm9jZXNzLlxuICAgKiBDYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHRoaXMgcHJvY2VzcyByZWNlaXZlcyBgU0lHSU5UYC9gU0lHVEVSTWAvYFNJR0hVUGA7XG4gICAqIGV4cG9zZWQgc28gYW4gaW50ZXJjZXB0b3IgY2FuIHRyaWdnZXIgdGVhcmRvd24gaXRzZWxmLlxuICAgKi9cbiAgYnJvYWRjYXN0U2lnbmFsKHNpZ25hbDogTm9kZUpTLlNpZ25hbHMpOiB2b2lkO1xuICAvKipcbiAgICogU3VwZXJ2aXNlIGEgY2hpbGQgcHJvY2VzcyBhbG9uZ3NpZGUgdGhlIGFwcCwgY29uY3VycmVudGx5LXN0eWxlOiBzaWduYWxzIHBhc3NcbiAgICogdGhyb3VnaCwgYW5kIGlmIEVJVEhFUiB0aGUgY2hpbGQgb3IgdGhlIGFwcCBkaWVzIHRoZSB3aG9sZSBzZXQgY29tZXMgZG93bi5cbiAgICogU2FmZSB0byBjYWxsIGZvciBzZXZlcmFsIGNoaWxkcmVuOyB0ZWFyZG93biBpcyBpZGVtcG90ZW50LlxuICAgKi9cbiAgYmluZFByb2Nlc3MoY2hpbGQ6IEJpbmRhYmxlUHJvY2Vzcyk6IHZvaWQ7XG59XG5cbi8qKiBBIHNpbmdsZSBpbnRlcmNlcHRvciwgb3Igc2V2ZXJhbC4gVGhlIGBjcmVhdGVBcHBgIGBpbnRlcmNlcHRvcj86YCBvcHRpb24uICovXG5leHBvcnQgdHlwZSBJbnRlcmNlcHRvciA9IChjdHg6IEludGVyY2VwdG9yQ29udGV4dCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG5cbi8qKiBIb3cgbG9uZyBib3VuZCBjaGlsZHJlbiBnZXQgdG8gZXhpdCBvbiBgU0lHVEVSTWAgYmVmb3JlIHRoZSBhcHAgZm9yY2UtZXhpdHMuICovXG5jb25zdCBURUFSRE9XTl9HUkFDRV9NUyA9IDEwXzAwMDtcblxuLyoqIFRoZSBzaWduYWxzIHRoYXQgdHJpZ2dlciB0ZWFyZG93biB3aGVuIHRoZSBNQUlOIHByb2Nlc3MgcmVjZWl2ZXMgdGhlbS4gKi9cbmNvbnN0IFRFQVJET1dOX1NJR05BTFMgPSBbXCJTSUdJTlRcIiwgXCJTSUdURVJNXCIsIFwiU0lHSFVQXCJdIGFzIGNvbnN0O1xuY29uc3QgYm91bmRDaGlsZHJlbiA9IG5ldyBTZXQ8QmluZGFibGVQcm9jZXNzPigpO1xuY29uc3QgdGVhcmRvd25IYW5kbGVycyA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKTtcbmxldCBwcm9jZXNzU2h1dHRpbmdEb3duID0gZmFsc2U7XG5sZXQgcHJvY2Vzc1NpZ25hbHNCb3VuZCA9IGZhbHNlO1xuXG5mdW5jdGlvbiB0ZWFyZG93blByb2Nlc3MoY29kZTogbnVtYmVyKTogdm9pZCB7XG4gIGlmIChwcm9jZXNzU2h1dHRpbmdEb3duKSByZXR1cm47XG4gIHByb2Nlc3NTaHV0dGluZ0Rvd24gPSB0cnVlO1xuICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgdGVhcmRvd25IYW5kbGVycykgaGFuZGxlcigpO1xuICB0ZWFyZG93bkhhbmRsZXJzLmNsZWFyKCk7XG4gIGNvbnN0IGNoaWxkcmVuID0gWy4uLmJvdW5kQ2hpbGRyZW5dO1xuICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgaWYgKCFjaGlsZC5raWxsZWQpIGNoaWxkLmtpbGwoXCJTSUdURVJNXCIpO1xuICB9XG4gIGJvdW5kQ2hpbGRyZW4uY2xlYXIoKTtcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikgY2hpbGQua2lsbChcIlNJR0tJTExcIik7XG4gICAgcHJvY2Vzcy5leGl0KGNvZGUpO1xuICB9LCBURUFSRE9XTl9HUkFDRV9NUykudW5yZWYoKTtcbn1cblxuZnVuY3Rpb24gYnJvYWRjYXN0UHJvY2Vzc1NpZ25hbChzaWduYWw6IE5vZGVKUy5TaWduYWxzKTogdm9pZCB7XG4gIGZvciAoY29uc3QgY2hpbGQgb2YgYm91bmRDaGlsZHJlbikge1xuICAgIGlmICghY2hpbGQua2lsbGVkKSBjaGlsZC5raWxsKHNpZ25hbCk7XG4gIH1cbiAgdGVhcmRvd25Qcm9jZXNzKDApO1xufVxuXG5mdW5jdGlvbiBiaW5kUHJvY2Vzc1NpZ25hbHMoKTogdm9pZCB7XG4gIGlmIChwcm9jZXNzU2lnbmFsc0JvdW5kKSByZXR1cm47XG4gIHByb2Nlc3NTaWduYWxzQm91bmQgPSB0cnVlO1xuICBmb3IgKGNvbnN0IHNpZ25hbCBvZiBURUFSRE9XTl9TSUdOQUxTKSB7XG4gICAgcHJvY2Vzcy5vbihzaWduYWwsICgpID0+IGJyb2FkY2FzdFByb2Nlc3NTaWduYWwoc2lnbmFsKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgbXV0YWJsZSBtYWNoaW5lcnkgYmVoaW5kIGFuIHtAbGluayBJbnRlcmNlcHRvckNvbnRleHR9LiBTcGxpdCBvdXQgc29cbiAqIHtAbGluayBjcmVhdGVJbnRlcmNlcHRvckNvbnRleHR9IGNhbiBoYW5kIHRoZSBwdWJsaWMgY29udGV4dCB0byBpbnRlcmNlcHRvcnNcbiAqIHdoaWxlIGBhcHBraXQuY3JlYXRlQXBwYCByZXRhaW5zIHRoZSBgZW1pdExpZmVjeWNsZWAgc2lkZS1jaGFubmVsIHRoZSBicmlkZ2UgZHJpdmVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyY2VwdG9yUnVudGltZSB7XG4gIC8qKiBUaGUgY29udGV4dCBoYW5kZWQgdG8gZWFjaCBpbnRlcmNlcHRvci4gKi9cbiAgcmVhZG9ubHkgY29udGV4dDogSW50ZXJjZXB0b3JDb250ZXh0O1xuICAvKiogRmlyZSBhIGxpZmVjeWNsZSBldmVudCB0byBldmVyeSBzdWJzY3JpYmVyIChjYWxsZWQgYnkge0BsaW5rIGxpZmVjeWNsZUJyaWRnZX0pLiAqL1xuICBlbWl0TGlmZWN5Y2xlKGV2ZW50OiBMaWZlY3ljbGVFdmVudCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQnVpbGQgYW4ge0BsaW5rIEludGVyY2VwdG9yQ29udGV4dH0gKyBpdHMge0BsaW5rIEludGVyY2VwdG9yUnVudGltZX0uXG4gKlxuICogVGVhcmRvd24gaXMgdGhlIGdlbmVyYWxpemVkIGBzdXBlcnZpc2VFeGl0YDogdGhlIGZpcnN0IGNoaWxkIGV4aXQgb3IgbWFpbi1wcm9jZXNzXG4gKiB0ZXJtaW5hdGlvbiBzaWduYWwgZmxpcHMgYSBvbmUtc2hvdCBndWFyZCwgYFNJR1RFUk1gcyB0aGUgb3RoZXIgYm91bmQgY2hpbGRyZW4sXG4gKiB0aGVuIGBwcm9jZXNzLmV4aXRgcyBhZnRlciB7QGxpbmsgVEVBUkRPV05fR1JBQ0VfTVN9IChhbiBgdW5yZWZgJ2QgdGltZXIsIHNvIGl0XG4gKiBuZXZlciBpdHNlbGYgaG9sZHMgdGhlIGxvb3Agb3BlbikuIFRoZSBwcm9jZXNzLXNpZ25hbCBsaXN0ZW5lcnMgYXJlIGluc3RhbGxlZFxuICogbGF6aWx5IG9uIHRoZSBmaXJzdCBgYmluZFByb2Nlc3NgIHNvIGFuIGFwcCB0aGF0IGJpbmRzIG5vdGhpbmcgaXMgdW50b3VjaGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW50ZXJjZXB0b3JDb250ZXh0KGVudjogUmVzb2x2ZWRBcHBFbnYpOiBJbnRlcmNlcHRvclJ1bnRpbWUge1xuICBjb25zdCBoYW5kbGVycyA9IG5ldyBNYXA8TGlmZWN5Y2xlRXZlbnQsIExpZmVjeWNsZUhhbmRsZXJbXT4oKTtcbiAgaWYgKHByb2Nlc3NTaHV0dGluZ0Rvd24gJiYgYm91bmRDaGlsZHJlbi5zaXplID09PSAwKSBwcm9jZXNzU2h1dHRpbmdEb3duID0gZmFsc2U7XG4gIGlmIChcbiAgICBwcm9jZXNzU2lnbmFsc0JvdW5kICYmXG4gICAgVEVBUkRPV05fU0lHTkFMUy5ldmVyeSgoc2lnbmFsKSA9PiBwcm9jZXNzLmxpc3RlbmVyQ291bnQoc2lnbmFsKSA9PT0gMClcbiAgKSB7XG4gICAgcHJvY2Vzc1NpZ25hbHNCb3VuZCA9IGZhbHNlO1xuICB9XG5cbiAgY29uc3QgYmluZFByb2Nlc3MgPSAoY2hpbGQ6IEJpbmRhYmxlUHJvY2Vzcyk6IHZvaWQgPT4ge1xuICAgIGJpbmRQcm9jZXNzU2lnbmFscygpO1xuICAgIGJvdW5kQ2hpbGRyZW4uYWRkKGNoaWxkKTtcbiAgICBjaGlsZC5vbmNlKFwiZXhpdFwiLCAoY29kZSkgPT4ge1xuICAgICAgbG9nZ2VyLndhcm4oXCJib3VuZCBwcm9jZXNzIGV4aXRlZDsgdGVhcmluZyBkb3duIHRoZSBhcHBcIiwgeyBjb2RlIH0pO1xuICAgICAgdGVhcmRvd25Qcm9jZXNzKHR5cGVvZiBjb2RlID09PSBcIm51bWJlclwiID8gY29kZSA6IDEpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uTGlmZWN5Y2xlID0gKGV2ZW50OiBMaWZlY3ljbGVFdmVudCwgZm46IExpZmVjeWNsZUhhbmRsZXIpOiB2b2lkID0+IHtcbiAgICBjb25zdCBsaXN0ID0gaGFuZGxlcnMuZ2V0KGV2ZW50KTtcbiAgICBpZiAobGlzdCkgbGlzdC5wdXNoKGZuKTtcbiAgICBlbHNlIGhhbmRsZXJzLnNldChldmVudCwgW2ZuXSk7XG4gIH07XG5cbiAgY29uc3QgZW1pdExpZmVjeWNsZSA9IGFzeW5jIChldmVudDogTGlmZWN5Y2xlRXZlbnQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBsaXN0ID0gaGFuZGxlcnMuZ2V0KGV2ZW50KTtcbiAgICBpZiAoIWxpc3QpIHJldHVybjtcbiAgICBmb3IgKGNvbnN0IGZuIG9mIGxpc3QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGZuKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBNYXRjaCBBcHBLaXQ6IGEgZmFpbGluZyBsaWZlY3ljbGUgaGFuZGxlciBpcyBsb2dnZWQsIG5ldmVyIGZhdGFsLCBhbmRcbiAgICAgICAgLy8gbmV2ZXIgYmxvY2tzIGl0cyBzaWJsaW5ncy5cbiAgICAgICAgbG9nZ2VyLndhcm4oXCJsaWZlY3ljbGUgaGFuZGxlciBmYWlsZWRcIiwgeyBldmVudCwgZXJyb3IgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNvbnRleHQ6IEludGVyY2VwdG9yQ29udGV4dCA9IHtcbiAgICBlbnYsXG4gICAgb25MaWZlY3ljbGUsXG4gICAgb25UZWFyZG93bjogKGZuKSA9PiB7XG4gICAgICBiaW5kUHJvY2Vzc1NpZ25hbHMoKTtcbiAgICAgIHRlYXJkb3duSGFuZGxlcnMuYWRkKGZuKTtcbiAgICB9LFxuICAgIGJyb2FkY2FzdFNpZ25hbDogYnJvYWRjYXN0UHJvY2Vzc1NpZ25hbCxcbiAgICBiaW5kUHJvY2VzcyxcbiAgfTtcblxuICByZXR1cm4geyBjb250ZXh0LCBlbWl0TGlmZWN5Y2xlIH07XG59XG5cbi8qKiBDb25maWcgZm9yIHtAbGluayBMaWZlY3ljbGVCcmlkZ2VQbHVnaW59OiB0aGUgc2luayBpdHMgY2FwdHVyZWQgZXZlbnRzIGZsb3cgdG8uICovXG5pbnRlcmZhY2UgTGlmZWN5Y2xlQnJpZGdlQ29uZmlnIGV4dGVuZHMgQmFzZVBsdWdpbkNvbmZpZyB7XG4gIC8qKiBUaGUgcnVudGltZSB3aG9zZSBgZW1pdExpZmVjeWNsZWAgcmVjZWl2ZXMgdGhlIHJlYWwgQXBwS2l0IGV2ZW50cy4gKi9cbiAgcnVudGltZT86IEludGVyY2VwdG9yUnVudGltZTtcbn1cblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIHNoYXBlIG9mIHRoZSBgUGx1Z2luQ29udGV4dC5vbkxpZmVjeWNsZWAgd2UgYnJpZGdlLiBNaXJyb3JzIG9ubHkgdGhlXG4gKiBvbmUgbWV0aG9kIHdlIHRvdWNoIChsaWtlIHtAbGluayBQbHVnaW5Db250ZXh0TGlrZX0gaW4gYC4vcGx1Z2luYCksIHNpbmNlXG4gKiBBcHBLaXQncyBgUGx1Z2luQ29udGV4dGAgaXMgbm90IGltcG9ydGFibGUgZnJvbSB0aGUgcGFja2FnZSdzIGBleHBvcnRzYC5cbiAqL1xuaW50ZXJmYWNlIExpZmVjeWNsZUNvbnRleHRMaWtlIHtcbiAgb25MaWZlY3ljbGUoZXZlbnQ6IExpZmVjeWNsZUV2ZW50LCBmbjogTGlmZWN5Y2xlSGFuZGxlcik6IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIGhhc09uTGlmZWN5Y2xlKGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIExpZmVjeWNsZUNvbnRleHRMaWtlIHtcbiAgcmV0dXJuIHR5cGVvZiAoY29udGV4dCBhcyBMaWZlY3ljbGVDb250ZXh0TGlrZSB8IHVuZGVmaW5lZCk/Lm9uTGlmZWN5Y2xlID09PSBcImZ1bmN0aW9uXCI7XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIHBsdWdpbiBgYXBwa2l0LmNyZWF0ZUFwcGAgaW5qZWN0cyB0byBtYWtlIEFwcEtpdCdzIGxpZmVjeWNsZVxuICogcmVhY2hhYmxlIGZyb20gaW50ZXJjZXB0b3IgY29kZS4gT24gYHNldHVwKClgIGl0IHJlYWRzIGl0cyBvd24gYHRoaXMuY29udGV4dGBcbiAqICh0aGUgcmVhbCBgUGx1Z2luQ29udGV4dGApIGFuZCBmb3J3YXJkcyBlYWNoIHtAbGluayBMaWZlY3ljbGVFdmVudH0gdG8gdGhlXG4gKiBpbnRlcmNlcHRvciBydW50aW1lLCBzbyBgY3R4Lm9uTGlmZWN5Y2xlKC4uLilgIGhhbmRsZXJzIGZpcmUgb24gdGhlIGdlbnVpbmVcbiAqIGV2ZW50cy4gSXQgb3ducyBubyByb3V0ZXMsIGNvbmZpZyBzdXJmYWNlLCBvciBleHBvcnRzLlxuICovXG5leHBvcnQgY2xhc3MgTGlmZWN5Y2xlQnJpZGdlUGx1Z2luIGV4dGVuZHMgUGx1Z2luPExpZmVjeWNsZUJyaWRnZUNvbmZpZz4ge1xuICBzdGF0aWMgbWFuaWZlc3QgPSB7XG4gICAgbmFtZTogXCJkYnhUb29sc0xpZmVjeWNsZUJyaWRnZVwiLFxuICAgIGRpc3BsYXlOYW1lOiBcIkxpZmVjeWNsZSBCcmlkZ2VcIixcbiAgICBkZXNjcmlwdGlvbjogXCJSZWxheXMgQXBwS2l0IGxpZmVjeWNsZSBldmVudHMgdG8gdGhlIGNyZWF0ZUFwcCBpbnRlcmNlcHRvciBjb250ZXh0LlwiLFxuICAgIHN0YWJpbGl0eTogXCJiZXRhXCIsXG4gICAgaGlkZGVuOiB0cnVlLFxuICAgIHJlc291cmNlczogeyByZXF1aXJlZDogW10sIG9wdGlvbmFsOiBbXSB9LFxuICB9IHNhdGlzZmllcyBQbHVnaW5NYW5pZmVzdDxcImRieFRvb2xzTGlmZWN5Y2xlQnJpZGdlXCI+O1xuXG4gIG92ZXJyaWRlIGFzeW5jIHNldHVwKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJ1bnRpbWUgPSB0aGlzLmNvbmZpZy5ydW50aW1lO1xuICAgIGlmICghcnVudGltZSkgcmV0dXJuO1xuICAgIGlmICghaGFzT25MaWZlY3ljbGUodGhpcy5jb250ZXh0KSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwibm8gUGx1Z2luQ29udGV4dC5vbkxpZmVjeWNsZSB0byBicmlkZ2U7IGludGVyY2VwdG9yIGxpZmVjeWNsZSBldmVudHMgaW5lcnRcIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGV2ZW50czogTGlmZWN5Y2xlRXZlbnRbXSA9IFtcInNldHVwOmNvbXBsZXRlXCIsIFwic2VydmVyOnJlYWR5XCIsIFwic2h1dGRvd25cIl07XG4gICAgZm9yIChjb25zdCBldmVudCBvZiBldmVudHMpIHtcbiAgICAgIHRoaXMuY29udGV4dC5vbkxpZmVjeWNsZShldmVudCwgKCkgPT4gcnVudGltZS5lbWl0TGlmZWN5Y2xlKGV2ZW50KSk7XG4gICAgfVxuICB9XG59XG5cbi8qKiBGYWN0b3J5IGZvciB0aGUgaW5qZWN0ZWQge0BsaW5rIExpZmVjeWNsZUJyaWRnZVBsdWdpbn0uICovXG5leHBvcnQgY29uc3QgbGlmZWN5Y2xlQnJpZGdlID0gdG9QbHVnaW4oTGlmZWN5Y2xlQnJpZGdlUGx1Z2luKTtcbiJdfQ==
package/package.json CHANGED
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "devDependencies": {
21
21
  "@databricks/appkit": "^0.60.0",
22
- "@dbx-tools/test-polyglot": "0.6.123",
22
+ "@dbx-tools/test-polyglot": "0.6.125",
23
23
  "@types/bun": "^1.3.14",
24
24
  "@types/node": "^24.6.0",
25
25
  "typescript": "^5.9.3"
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@databricks/sdk-experimental": "^0.17.0",
32
- "@dbx-tools/core": "0.6.123",
33
- "@dbx-tools/shared-core": "0.6.123",
32
+ "@dbx-tools/core": "0.6.125",
33
+ "@dbx-tools/shared-core": "0.6.125",
34
34
  "zod": "4.3.6"
35
35
  },
36
36
  "main": "./lib/index.js",
@@ -47,7 +47,7 @@
47
47
  "./package.json": "./package.json"
48
48
  }
49
49
  },
50
- "version": "0.6.123",
50
+ "version": "0.6.125",
51
51
  "types": "./lib/index.d.ts",
52
52
  "type": "module",
53
53
  "exports": {
@@ -127,11 +127,15 @@ function teardownProcess(code: number): void {
127
127
  processShuttingDown = true;
128
128
  for (const handler of teardownHandlers) handler();
129
129
  teardownHandlers.clear();
130
- for (const child of boundChildren) {
130
+ const children = [...boundChildren];
131
+ for (const child of children) {
131
132
  if (!child.killed) child.kill("SIGTERM");
132
133
  }
133
134
  boundChildren.clear();
134
- setTimeout(() => process.exit(code), TEARDOWN_GRACE_MS).unref();
135
+ setTimeout(() => {
136
+ for (const child of children) child.kill("SIGKILL");
137
+ process.exit(code);
138
+ }, TEARDOWN_GRACE_MS).unref();
135
139
  }
136
140
 
137
141
  function broadcastProcessSignal(signal: NodeJS.Signals): void {