@mnaoumov/typescript-lib 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/cjs/abort-controller.cjs +1 -1
- package/dist/lib/cjs/abort-controller.d.cts +8 -7
- package/dist/lib/cjs/debug-controller.cjs +1 -1
- package/dist/lib/cjs/debug-controller.d.cts +2 -2
- package/dist/lib/cjs/debug.cjs +21 -2
- package/dist/lib/cjs/debug.d.cts +5 -0
- package/dist/lib/cjs/library.cjs +10 -1
- package/dist/lib/cjs/library.d.cts +13 -0
- package/dist/lib/cjs/typescript-lib-state.cjs +1 -1
- package/dist/lib/cjs/typescript-lib-state.d.cts +1 -1
- package/dist/lib/esm/abort-controller.d.mts +8 -7
- package/dist/lib/esm/abort-controller.mjs +1 -1
- package/dist/lib/esm/debug-controller.d.mts +2 -2
- package/dist/lib/esm/debug.d.mts +5 -0
- package/dist/lib/esm/debug.mjs +21 -2
- package/dist/lib/esm/library.d.mts +13 -0
- package/dist/lib/esm/library.mjs +10 -1
- package/dist/lib/esm/typescript-lib-state.d.mts +1 -1
- package/dist/lib/esm/typescript-lib-state.mjs +1 -1
- package/package.json +3 -3
|
@@ -141,4 +141,4 @@ function waitForAbort(abortSignal, shouldRejectOnAbort) {
|
|
|
141
141
|
onAbort,
|
|
142
142
|
waitForAbort
|
|
143
143
|
});
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEluIGFuIE9ic2lkaWFuIHBsdWdpbiB0aGUgc2FtZSBpbnN0YW5jZSBpcyBhbHNvIHJlYWNoYWJsZSBhcyBgX19vYnNpZGlhbkRldlV0aWxzLnNoYXJlZEFib3J0Q29udHJvbGxlci52YWx1ZWAuXG4gKlxuICogQHJldHVybnMgVGhlIHNoYXJlZCB7QGxpbmsgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcn0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRBYm9ydENvbnRyb2xsZXIoKTogUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIHJldHVybiBnZXRUeXBlc2NyaXB0TGliU3RhdGUoJ3NoYXJlZEFib3J0Q29udHJvbGxlcicsIG5ldyBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyKCkpLnZhbHVlO1xufVxuXG4vKipcbiAqIFRoZSBzaWduYWwgb2YgdGhlIGFwcC13aWRlIHNoYXJlZCB7QGxpbmsgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcn0uXG4gKlxuICogQ2FsbCBpdCBhdCB0aGUgc3RhcnQgb2YgZWFjaCBvcGVyYXRpb24uIE5ldmVyIGNhY2hlIGl0LCBvciB0aGUgb3BlcmF0aW9uIGFmdGVyIHRoZSBmaXJzdCBhYm9ydCBzdGFydHNcbiAqIGFscmVhZHkgYWJvcnRlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgbG9vcCh7XG4gKiAgIGFib3J0U2lnbmFsOiBnZXRTaGFyZWRBYm9ydFNpZ25hbCgpLFxuICogICBidWlsZE5vdGljZU1lc3NhZ2U6IChmaWxlKSA9PiBgUHJvY2Vzc2luZyAke2ZpbGUucGF0aH1gLFxuICogICBpdGVtczogYXBwLnZhdWx0LmdldE1hcmtkb3duRmlsZXMoKSxcbiAqICAgcHJvY2Vzc0l0ZW06IGFzeW5jIChmaWxlKSA9PiB7IGF3YWl0IHByb2Nlc3NGaWxlKGZpbGUpOyB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IG9mIHRoZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkQWJvcnRTaWduYWwoKTogQWJvcnRTaWduYWwge1xuICByZXR1cm4gZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gYWJvcnQgbGlzdGVuZXIgdG8gYW4gYWJvcnQgc2lnbmFsIGFuZCBjYWxscyB0aGUgY2FsbGJhY2sgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byBhZGQgdGhlIGxpc3RlbmVyIHRvLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgYWJvcnQgc2lnbmFsIGFib3J0cy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGV9IHRoYXQgcmVtb3ZlcyB0aGUgYWJvcnQgbGlzdGVuZXIgd2hlbiBkaXNwb3NlZCwgZm9yIHVzZSB3aXRoIGB1c2luZ2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbkFib3J0KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgY2FsbGJhY2s6IChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IHZvaWQpOiBEaXNwb3NhYmxlIHtcbiAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICBjYWxsYmFjayhhYm9ydFNpZ25hbCk7XG4gICAgcmV0dXJuIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoeyBjYWxsYmFjazogbm9vcCB9KTtcbiAgfVxuXG4gIGFib3J0U2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgd3JhcHBlZENhbGxiYWNrLCB7IG9uY2U6IHRydWUgfSk7XG4gIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHtcbiAgICBjYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgYWJvcnRTaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB3cmFwcGVkQ2FsbGJhY2spO1xuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gd3JhcHBlZENhbGxiYWNrKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjYWxsYmFjaygkZXZlbnQudGFyZ2V0IGFzIEFib3J0U2lnbmFsKTtcbiAgfVxufVxuXG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQ8VCA9IHVua25vd24+KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8VD47XG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlamVjdHMgd2l0aCBpdHMgcmVhc29uLlxuICpcbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcGFyYW0gc2hvdWxkUmVqZWN0T25BYm9ydCAtIFdoZXRoZXIgdG8gcmVqZWN0IHRoZSBwcm9taXNlIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWJvcnRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVqZWN0cyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIHNob3VsZFJlamVjdE9uQWJvcnQ6IHRydWUpOiBQcm9taXNlPG5ldmVyPjtcbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVzb2x2ZXMgd2l0aCBpdHMgcmVhc29uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIEV4cGVjdGVkIHR5cGUgb2YgYGFib3J0U2lnbmFsLnJlYXNvbmAuXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHBhcmFtIHNob3VsZFJlamVjdE9uQWJvcnQgLSBXaGV0aGVyIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0PFQgPSB1bmtub3duPihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIHNob3VsZFJlamVjdE9uQWJvcnQ/OiBib29sZWFuKTogUHJvbWlzZTxUPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxUPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgb25BYm9ydChhYm9ydFNpZ25hbCwgKCkgPT4ge1xuICAgICAgaWYgKHNob3VsZFJlamVjdE9uQWJvcnQpIHtcbiAgICAgICAgcmVqZWN0KGFib3J0U2lnbmFsLnJlYXNvbiBhcyBFcnJvcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGFib3J0U2lnbmFsLnJlYXNvbiBhcyBUKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsd0JBR087QUFDUCxzQkFBcUI7QUFDckIsa0NBQXNDO0FBSy9CLE1BQU0sbUJBQW1CO0FBOEJ6QixNQUFNLDBCQUEwQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1yQyxJQUFXLFNBQXNCO0FBQy9CLFdBQU8sS0FBSyxnQkFBZ0I7QUFBQSxFQUM5QjtBQUFBLEVBRVEsa0JBQWtCLElBQUksZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRdkMsTUFBTSxRQUF3QjtBQUNuQyxTQUFLLGdCQUFnQixNQUFNLE1BQU07QUFDakMsU0FBSyxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFBQSxFQUM3QztBQUNGO0FBUU8sU0FBUyxrQkFBa0IsbUJBQTZEO0FBQzdGLFFBQU0sZUFBZSxrQkFBa0IsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsV0FBVztBQUc1RSxNQUFJLE9BQU8sWUFBWSxRQUFRLFlBQVk7QUFFekMsV0FBTyxZQUFZLElBQUksWUFBWTtBQUFBLEVBQ3JDO0FBRUEsTUFBSSxhQUFhLFdBQVcsR0FBRztBQUM3QixXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBRUEsTUFBSSxhQUFhLFdBQVcsS0FBSyxhQUFhLENBQUMsR0FBRztBQUNoRCxXQUFPLGFBQWEsQ0FBQztBQUFBLEVBQ3ZCO0FBRUEsUUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFFNUMsYUFBVyxlQUFlLGNBQWM7QUFDdEMsUUFBSSxZQUFZLFNBQVM7QUFDdkIsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsUUFBTSwwQkFBd0MsTUFBTSxLQUFLLGNBQWMsQ0FBQyxnQkFBZ0IsUUFBUSxhQUFhLFdBQVcsQ0FBQztBQUV6SCxRQUFNLGlDQUFpQyxJQUFJLG9DQUFrQixFQUFFLGFBQWEsd0JBQXdCLENBQUM7QUFFckcsU0FBTyxnQkFBZ0I7QUFFdkIsV0FBUyxZQUFZLGFBQWdDO0FBQ25ELG1DQUErQixRQUFRO0FBQ3ZDLG9CQUFnQixNQUFNLFlBQVksTUFBTTtBQUFBLEVBQzFDO0FBQ0Y7QUFPTyxTQUFTLG1CQUFnQztBQUM5QyxTQUFPLElBQUksZ0JBQWdCLEVBQUU7QUFDL0I7QUFRTyxTQUFTLG1CQUFtQix1QkFBNEM7QUFDN0UsTUFBSSwwQkFBMEIsa0JBQWtCO0FBQzlDLFdBQU8saUJBQWlCO0FBQUEsRUFDMUI7QUFVQSxRQUFNLGtCQUFrQixJQUFJLGdCQUFnQjtBQUU1QyxhQUFXLFdBQVcsTUFBTTtBQUUxQixvQkFBZ0IsTUFBTSxJQUFJLGFBQWEsZ0JBQWdCLE9BQU8scUJBQXFCLENBQUMsaUJBQWlCLGNBQWMsQ0FBQztBQUFBLEVBQ3RILEdBQUcscUJBQXFCO0FBQ3hCLFNBQU8sZ0JBQWdCO0FBQ3pCO0FBbUJPLFNBQVMsMkJBQXNEO0FBQ3BFLGFBQU8sbURBQXNCLHlCQUF5QixJQUFJLDBCQUEwQixDQUFDLEVBQUU7QUFDekY7QUFvQk8sU0FBUyx1QkFBb0M7QUFDbEQsU0FBTyx5QkFBeUIsRUFBRTtBQUNwQztBQVNPLFNBQVMsUUFBUSxhQUEwQixVQUEwRDtBQUMxRyxNQUFJLFlBQVksU0FBUztBQUN2QixhQUFTLFdBQVc7QUFDcEIsV0FBTyxJQUFJLHFDQUFtQixFQUFFLFVBQVUscUJBQUssQ0FBQztBQUFBLEVBQ2xEO0FBRUEsY0FBWSxpQkFBaUIsU0FBUyxpQkFBaUIsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNyRSxTQUFPLElBQUkscUNBQW1CO0FBQUEsSUFDNUIsVUFBVSxNQUFZO0FBQ3BCLGtCQUFZLG9CQUFvQixTQUFTLGVBQWU7QUFBQSxJQUMxRDtBQUFBLEVBQ0YsQ0FBQztBQUVELFdBQVMsZ0JBQWdCLFFBQXFCO0FBQzVDLGFBQVMsT0FBTyxNQUFxQjtBQUFBLEVBQ3ZDO0FBQ0Y7QUEwQk8sU0FBUyxhQUEwQixhQUEwQixxQkFBMkM7QUFDN0csU0FBTyxJQUFJLFFBQVcsQ0FBQyxTQUFTLFdBQVc7QUFDekMsWUFBUSxhQUFhLE1BQU07QUFDekIsVUFBSSxxQkFBcUI7QUFDdkIsZUFBTyxZQUFZLE1BQWU7QUFBQSxNQUNwQyxPQUFPO0FBQ0wsZ0JBQVEsWUFBWSxNQUFXO0FBQUEsTUFDakM7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNILENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEZyb20gY29kZSwgY2FsbCB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSAob3Ige0BsaW5rIGdldFNoYXJlZEFib3J0U2lnbmFsfSkgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc2xvdC5cbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBhbHNvIG1pcnJvcnMgdGhlIGluc3RhbmNlIHVuZGVyIHRoZSBsZWdhY3kgYF9fb2JzaWRpYW5EZXZVdGlsc2AgZ2xvYmFsLCBidXQgb25seSBzbyB0aGF0XG4gKiBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcHkgc2hhcmUgaXQ7IG5ldyBjb2RlIGFuZCBuZXcgY29uc29sZSByZWNpcGVzIHNob3VsZCBub3QgdXNlIGl0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCk6IFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdzaGFyZWRBYm9ydENvbnRyb2xsZXInLCBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpKS52YWx1ZTtcbn1cblxuLyoqXG4gKiBUaGUgc2lnbmFsIG9mIHRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIENhbGwgaXQgYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlIG9wZXJhdGlvbiBhZnRlciB0aGUgZmlyc3QgYWJvcnQgc3RhcnRzXG4gKiBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFib3J0U2lnbmFsID0gZ2V0U2hhcmVkQWJvcnRTaWduYWwoKTtcbiAqIGZvciAoY29uc3QgdXJsIG9mIHVybHMpIHtcbiAqICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAqICAgYXdhaXQgZmV0Y2godXJsLCB7IHNpZ25hbDogYWJvcnRTaWduYWwgfSk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIEFib3J0U2lnbmFsfSBvZiB0aGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZEFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgcmV0dXJuIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcigpLnNpZ25hbDtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFib3J0IGxpc3RlbmVyIHRvIGFuIGFib3J0IHNpZ25hbCBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWxyZWFkeSBhYm9ydGVkLlxuICpcbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gYWRkIHRoZSBsaXN0ZW5lciB0by5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIGFib3J0IHNpZ25hbCBhYm9ydHMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlfSB0aGF0IHJlbW92ZXMgdGhlIGFib3J0IGxpc3RlbmVyIHdoZW4gZGlzcG9zZWQsIGZvciB1c2Ugd2l0aCBgdXNpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25BYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIGNhbGxiYWNrOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiB2b2lkKTogRGlzcG9zYWJsZSB7XG4gIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgY2FsbGJhY2soYWJvcnRTaWduYWwpO1xuICAgIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHsgY2FsbGJhY2s6IG5vb3AgfSk7XG4gIH1cblxuICBhYm9ydFNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjaywgeyBvbmNlOiB0cnVlIH0pO1xuICByZXR1cm4gbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7XG4gICAgY2FsbGJhY2s6ICgpOiB2b2lkID0+IHtcbiAgICAgIGFib3J0U2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgd3JhcHBlZENhbGxiYWNrKTtcbiAgICB9XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRDYWxsYmFjaygkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY2FsbGJhY2soJGV2ZW50LnRhcmdldCBhcyBBYm9ydFNpZ25hbCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZXNvbHZlcyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gRXhwZWN0ZWQgdHlwZSBvZiBgYWJvcnRTaWduYWwucmVhc29uYC5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0PFQgPSB1bmtub3duPihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNlPFQ+O1xuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZWplY3RzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHBhcmFtIHNob3VsZFJlamVjdE9uQWJvcnQgLSBXaGV0aGVyIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlamVjdHMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0OiB0cnVlKTogUHJvbWlzZTxuZXZlcj47XG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIG9uQWJvcnQoYWJvcnRTaWduYWwsICgpID0+IHtcbiAgICAgIGlmIChzaG91bGRSZWplY3RPbkFib3J0KSB7XG4gICAgICAgIHJlamVjdChhYm9ydFNpZ25hbC5yZWFzb24gYXMgRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShhYm9ydFNpZ25hbC5yZWFzb24gYXMgVCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHdCQUdPO0FBQ1Asc0JBQXFCO0FBQ3JCLGtDQUFzQztBQUsvQixNQUFNLG1CQUFtQjtBQThCekIsTUFBTSwwQkFBMEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNckMsSUFBVyxTQUFzQjtBQUMvQixXQUFPLEtBQUssZ0JBQWdCO0FBQUEsRUFDOUI7QUFBQSxFQUVRLGtCQUFrQixJQUFJLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXZDLE1BQU0sUUFBd0I7QUFDbkMsU0FBSyxnQkFBZ0IsTUFBTSxNQUFNO0FBQ2pDLFNBQUssa0JBQWtCLElBQUksZ0JBQWdCO0FBQUEsRUFDN0M7QUFDRjtBQVFPLFNBQVMsa0JBQWtCLG1CQUE2RDtBQUM3RixRQUFNLGVBQWUsa0JBQWtCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVc7QUFHNUUsTUFBSSxPQUFPLFlBQVksUUFBUSxZQUFZO0FBRXpDLFdBQU8sWUFBWSxJQUFJLFlBQVk7QUFBQSxFQUNyQztBQUVBLE1BQUksYUFBYSxXQUFXLEdBQUc7QUFDN0IsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUVBLE1BQUksYUFBYSxXQUFXLEtBQUssYUFBYSxDQUFDLEdBQUc7QUFDaEQsV0FBTyxhQUFhLENBQUM7QUFBQSxFQUN2QjtBQUVBLFFBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBRTVDLGFBQVcsZUFBZSxjQUFjO0FBQ3RDLFFBQUksWUFBWSxTQUFTO0FBQ3ZCLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFFBQU0sMEJBQXdDLE1BQU0sS0FBSyxjQUFjLENBQUMsZ0JBQWdCLFFBQVEsYUFBYSxXQUFXLENBQUM7QUFFekgsUUFBTSxpQ0FBaUMsSUFBSSxvQ0FBa0IsRUFBRSxhQUFhLHdCQUF3QixDQUFDO0FBRXJHLFNBQU8sZ0JBQWdCO0FBRXZCLFdBQVMsWUFBWSxhQUFnQztBQUNuRCxtQ0FBK0IsUUFBUTtBQUN2QyxvQkFBZ0IsTUFBTSxZQUFZLE1BQU07QUFBQSxFQUMxQztBQUNGO0FBT08sU0FBUyxtQkFBZ0M7QUFDOUMsU0FBTyxJQUFJLGdCQUFnQixFQUFFO0FBQy9CO0FBUU8sU0FBUyxtQkFBbUIsdUJBQTRDO0FBQzdFLE1BQUksMEJBQTBCLGtCQUFrQjtBQUM5QyxXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBVUEsUUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFFNUMsYUFBVyxXQUFXLE1BQU07QUFFMUIsb0JBQWdCLE1BQU0sSUFBSSxhQUFhLGdCQUFnQixPQUFPLHFCQUFxQixDQUFDLGlCQUFpQixjQUFjLENBQUM7QUFBQSxFQUN0SCxHQUFHLHFCQUFxQjtBQUN4QixTQUFPLGdCQUFnQjtBQUN6QjtBQXFCTyxTQUFTLDJCQUFzRDtBQUNwRSxhQUFPLG1EQUFzQix5QkFBeUIsSUFBSSwwQkFBMEIsQ0FBQyxFQUFFO0FBQ3pGO0FBbUJPLFNBQVMsdUJBQW9DO0FBQ2xELFNBQU8seUJBQXlCLEVBQUU7QUFDcEM7QUFTTyxTQUFTLFFBQVEsYUFBMEIsVUFBMEQ7QUFDMUcsTUFBSSxZQUFZLFNBQVM7QUFDdkIsYUFBUyxXQUFXO0FBQ3BCLFdBQU8sSUFBSSxxQ0FBbUIsRUFBRSxVQUFVLHFCQUFLLENBQUM7QUFBQSxFQUNsRDtBQUVBLGNBQVksaUJBQWlCLFNBQVMsaUJBQWlCLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDckUsU0FBTyxJQUFJLHFDQUFtQjtBQUFBLElBQzVCLFVBQVUsTUFBWTtBQUNwQixrQkFBWSxvQkFBb0IsU0FBUyxlQUFlO0FBQUEsSUFDMUQ7QUFBQSxFQUNGLENBQUM7QUFFRCxXQUFTLGdCQUFnQixRQUFxQjtBQUM1QyxhQUFTLE9BQU8sTUFBcUI7QUFBQSxFQUN2QztBQUNGO0FBMEJPLFNBQVMsYUFBMEIsYUFBMEIscUJBQTJDO0FBQzdHLFNBQU8sSUFBSSxRQUFXLENBQUMsU0FBUyxXQUFXO0FBQ3pDLFlBQVEsYUFBYSxNQUFNO0FBQ3pCLFVBQUkscUJBQXFCO0FBQ3ZCLGVBQU8sWUFBWSxNQUFlO0FBQUEsTUFDcEMsT0FBTztBQUNMLGdCQUFRLFlBQVksTUFBVztBQUFBLE1BQ2pDO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSCxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -86,7 +86,9 @@ export declare function abortSignalTimeout(timeoutInMilliseconds: number): Abort
|
|
|
86
86
|
* globalThis[Symbol.for('@mnaoumov/typescript-lib/state')].values.sharedAbortController.value.abort();
|
|
87
87
|
* ```
|
|
88
88
|
*
|
|
89
|
-
*
|
|
89
|
+
* From code, call {@link getSharedAbortController} (or {@link getSharedAbortSignal}) rather than reading the slot.
|
|
90
|
+
* `@mnaoumov/obsidian-lib` also mirrors the instance under the legacy `__obsidianDevUtils` global, but only so that
|
|
91
|
+
* plugins bundling an older `obsidian-dev-utils` copy share it; new code and new console recipes should not use it.
|
|
90
92
|
*
|
|
91
93
|
* @returns The shared {@link ResettableAbortController}.
|
|
92
94
|
*/
|
|
@@ -99,12 +101,11 @@ export declare function getSharedAbortController(): ResettableAbortController;
|
|
|
99
101
|
*
|
|
100
102
|
* @example
|
|
101
103
|
* ```typescript
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* });
|
|
104
|
+
* const abortSignal = getSharedAbortSignal();
|
|
105
|
+
* for (const url of urls) {
|
|
106
|
+
* abortSignal.throwIfAborted();
|
|
107
|
+
* await fetch(url, { signal: abortSignal });
|
|
108
|
+
* }
|
|
108
109
|
* ```
|
|
109
110
|
*
|
|
110
111
|
* @returns The {@link AbortSignal} of the shared {@link ResettableAbortController}.
|
|
@@ -19,4 +19,4 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
19
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
20
|
var debug_controller_exports = {};
|
|
21
21
|
module.exports = __toCommonJS(debug_controller_exports);
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlYnVnLWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQcm92aWRlcyB0aGUgaW50ZXJmYWNlIGZvciBjb250cm9sbGluZyBkZWJ1ZyBvdXRwdXQgdGhyb3VnaCBuYW1lc3BhY2UgbWFuYWdlbWVudC5cbiAqXG4gKiBEZWJ1ZyBuYW1lc3BhY2VzIGZvbGxvdyB0aGUgcGF0dGVybiAnbG9yZW0nLCBgbG9yZW06aXBzdW1gLCBgbG9yZW06aXBzdW06ZG9sb3JgLCBldGMsIGFuZCBjYW4gdXNlIHdpbGRjYXJkcyAoYCpgKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLSBgbG9yZW06KmAgbWF0Y2hlcyBhbGwgc3VibW9kdWxlcyBvZiAnbG9yZW0nXG4gKiAtIGAqOmlwc3VtYCBtYXRjaGVzIGFsbCBwbHVnaW5zJyBgaXBzdW1gIHN1Ym1vZHVsZXNcbiAqIC0gYCpgIG1hdGNoZXMgZXZlcnl0aGluZ1xuICpcbiAqIFNwZWNpYWwgc3ludGF4OlxuICogLSBOYW1lc3BhY2VzIHByZWZpeGVkIHdpdGggJy0nIGFyZSBleHBsaWNpdGx5IGRpc2FibGVkXG4gKiAtIE11bHRpcGxlIG5hbWVzcGFjZXMgY2FuIGJlIGNvbWJpbmVkIHdpdGggY29tbWFzOiBgbG9yZW0sLWxvcmVtOmlwc3VtLGRvbG9yOipgXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9tbmFvdW1vdi5kZXYvdHlwZXNjcmlwdC1saWIvZ3VpZGVzL2RlYnVnZ2luZy99XG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVyZmFjZS1vbmx5IG1vZHVsZTsgbm8gcnVudGltZSBjb2RlIHRvIHRlc3QuICovXG5cbi8qKlxuICogQ29udHJvbHMgZGVidWcgb3V0cHV0IGJ5IG1hbmFnaW5nIGRlYnVnIG5hbWVzcGFjZXMuXG4gKiBFeHBvc2VkIGdsb2JhbGx5IGFzIGB3aW5kb3cuREVCVUdgLlxuICpcbiAqIEByZW1hcmtzXG4gKiBEZWJ1ZyBzZXR0aW5ncyBwZXJzaXN0IGFjcm9zcyBwbHVnaW4gcmVsb2FkcyBpbiBsb2NhbFN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVidWdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIERpc2FibGUgc3BlY2lmaWMgZGVidWcgbmFtZXNwYWNlcy4gRGlzYWJsZWQgbmFtZXNwYWNlcyB0YWtlIHByZWNlZGVuY2VcbiAgICogb3ZlciBlbmFibGVkIG9uZXMgd2hlbiB0aGVyZSdzIGEgY29uZmxpY3QuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoJ2Zvby1iYXInKTsgLy8gaGlkZSBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZGlzYWJsZSgnZm9vLWJhcjoqJyk7IC8vIGhpZGUgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gdGhlIGBmb28tYmFyYCBwbHVnaW4gc3VibW9kdWxlc1xuICAgKiB3aW5kb3cuREVCVUcuZGlzYWJsZShbJ2Zvby1iYXInLCAnYmF6LXF1eCddKTsgLy8gZGlzYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzXG4gICAqIHdpbmRvdy5ERUJVRy5kaXNhYmxlKCdmb28tYmFyLGJhei1xdXgnKTsgLy8gZGlzYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzIHVzaW5nIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoJyonKTsgLy8gZGlzYWJsZSBhbGwgZGVidWcgbWVzc2FnZXNcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lc3BhY2VzIC0gU2luZ2xlIG5hbWVzcGFjZSBzdHJpbmcgb3IgYXJyYXkgb2YgbmFtZXNwYWNlIHN0cmluZ3MgdG8gZGlzYWJsZVxuICAgKi9cbiAgZGlzYWJsZTogKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgc3BlY2lmaWMgZGVidWcgbmFtZXNwYWNlcy4gTm90ZSB0aGF0IGV4cGxpY2l0bHkgZGlzYWJsZWRcbiAgICogbmFtZXNwYWNlcyAocHJlZml4ZWQgd2l0aCAnLScpIHdpbGwgcmVtYWluIGRpc2FibGVkLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJ2Zvby1iYXInKTsgLy8gc2hvdyBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCdmb28tYmFyOm9ic2lkaWFuLWRldi11dGlsczoqJyk7IC8vIHNob3cgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgIHdpdGhpbiB0aGUgYGZvby1iYXJgIHBsdWdpbiAoaXQga2VlcHMgaXRzIGxlZ2FjeSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBuYW1lc3BhY2UpXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJ2Zvby1iYXI6KicpOyAvLyBzaG93IGFsbCBkZWJ1ZyBtZXNzYWdlcyBmcm9tIHRoZSBgZm9vLWJhcmAgcGx1Z2luIGFuZCBpdHMgc3VibW9kdWxlc1xuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCcqOm9ic2lkaWFuLWRldi11dGlsczoqJyk7IC8vIHNob3cgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgIHdpdGhpbiBhbnkgcGx1Z2luXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoWydmb28tYmFyJywgJ2Jhei1xdXgnXSk7IC8vIGVuYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJ2Zvby1iYXIsYmF6LXF1eCcpOyAvLyBlbmFibGUgbXVsdGlwbGUgbmFtZXNwYWNlcyB1c2luZyBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJyonKTsgLy8gc2hvdyBhbGwgZGVidWcgbWVzc2FnZXNcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lc3BhY2VzIC0gU2luZ2xlIG5hbWVzcGFjZSBzdHJpbmcgb3IgYXJyYXkgb2YgbmFtZXNwYWNlIHN0cmluZ3MgdG8gZW5hYmxlXG4gICAqL1xuICBlbmFibGU6IChuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZDtcblxuICAvKipcbiAgICogR2V0IGN1cnJlbnRseSBjb25maWd1cmVkIGRlYnVnIG5hbWVzcGFjZXMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogd2luZG93LkRFQlVHLmdldCgpOyAvLyByZXR1cm5zIFsnZm9vLWJhcicsICdiYXotcXV4OionLCAnLWxvcmVtLWlwc3VtJ11cbiAgICogYGBgXG4gICAqXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGVuYWJsZWQgYW5kIGRpc2FibGVkIChwcmVmaXhlZCB3aXRoIGAtYCkgZGVidWcgbmFtZXNwYWNlc1xuICAgKi9cbiAgZ2V0OiAoKSA9PiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogU2V0IGRlYnVnIG5hbWVzcGFjZXMsIHJlcGxhY2luZyBhbGwgcHJldmlvdXMgY29uZmlndXJhdGlvbnMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogd2luZG93LkRFQlVHLnNldChbJ2Zvby1iYXInLCAnYmF6LXF1eDoqJywgJy1sb3JlbS1pcHN1bSddKTsgLy8gRW5hYmxlICdmb28tYmFyJyBhbmQgJ2Jhei1xdXg6KicsIGV4cGxpY2l0bHkgZGlzYWJsZSAnbG9yZW0taXBzdW0nXG4gICAqIHdpbmRvdy5ERUJVRy5zZXQoJ2Zvby1iYXIsYmF6LXF1eDoqLC1sb3JlbS1pcHN1bScpOyAvLyBTYW1lIHRoaW5nIHVzaW5nIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICogd2luZG93LkRFQlVHLnNldCgnKicpOyAvLyBFbmFibGUgYWxsIGRlYnVnIG1lc3NhZ2VzXG4gICAqIHdpbmRvdy5ERUJVRy5zZXQoJycpOyAvLyBEaXNhYmxlIGFsbCBkZWJ1ZyBtZXNzYWdlc1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIG5hbWVzcGFjZXMgLSBTdHJpbmcgb3IgYXJyYXkgb2YgbmFtZXNwYWNlIHBhdHRlcm5zXG4gICAqL1xuICBzZXQ6IChuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -48,9 +48,9 @@ export interface DebugController {
|
|
|
48
48
|
* @example
|
|
49
49
|
* ```typescript
|
|
50
50
|
* window.DEBUG.enable('foo-bar'); // show all debug messages from the `foo-bar` plugin
|
|
51
|
-
* window.DEBUG.enable('foo-bar:obsidian-dev-utils:*'); // show all debug messages from
|
|
51
|
+
* window.DEBUG.enable('foo-bar:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within the `foo-bar` plugin (it keeps its legacy `obsidian-dev-utils` namespace)
|
|
52
52
|
* window.DEBUG.enable('foo-bar:*'); // show all debug messages from the `foo-bar` plugin and its submodules
|
|
53
|
-
* window.DEBUG.enable('*:obsidian-dev-utils:*'); // show all debug messages
|
|
53
|
+
* window.DEBUG.enable('*:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within any plugin
|
|
54
54
|
* window.DEBUG.enable(['foo-bar', 'baz-qux']); // enable multiple namespaces
|
|
55
55
|
* window.DEBUG.enable('foo-bar,baz-qux'); // enable multiple namespaces using comma-separated string
|
|
56
56
|
* window.DEBUG.enable('*'); // show all debug messages
|
package/dist/lib/cjs/debug.cjs
CHANGED
|
@@ -72,6 +72,7 @@ var import_debug = __toESM(((module) => module && module.__esModule && 'default'
|
|
|
72
72
|
var import_error = require('./error.cjs');
|
|
73
73
|
var import_library = require('./library.cjs');
|
|
74
74
|
var import_typescript_lib_state = require('./typescript-lib-state.cjs');
|
|
75
|
+
const ALIAS_FRAMES_TO_SKIP = 1;
|
|
75
76
|
const NAMESPACE_SEPARATOR = ",";
|
|
76
77
|
const NEGATED_NAMESPACE_PREFIX = "-";
|
|
77
78
|
function enableLibraryDebuggers() {
|
|
@@ -104,7 +105,25 @@ function getDebugger(namespace, framesToSkip = 0) {
|
|
|
104
105
|
return debuggerEx;
|
|
105
106
|
}
|
|
106
107
|
function getLibDebugger(namespace) {
|
|
107
|
-
|
|
108
|
+
const aliases = import_library.Library.debugNamespaceAliases;
|
|
109
|
+
if (aliases.length === 0) {
|
|
110
|
+
return getDebugger(`${import_library.Library.debugPrefixNamespace}${import_library.Library.debugNamespace}:${namespace}`);
|
|
111
|
+
}
|
|
112
|
+
const currentDebugger = getDebugger(`${import_library.Library.debugPrefixNamespace}${import_library.Library.debugNamespace}:${namespace}`, ALIAS_FRAMES_TO_SKIP);
|
|
113
|
+
const aliasDebuggers = aliases.map((alias) => getDebugger(`${import_library.Library.debugPrefixNamespace}${alias}:${namespace}`, ALIAS_FRAMES_TO_SKIP));
|
|
114
|
+
const allDebuggers = [currentDebugger, ...aliasDebuggers];
|
|
115
|
+
return new Proxy(currentDebugger, {
|
|
116
|
+
apply(_target, _thisArgument, $arguments) {
|
|
117
|
+
allDebuggers.find((debuggerInstance) => debuggerInstance.enabled)?.(...$arguments);
|
|
118
|
+
},
|
|
119
|
+
get(target, property, receiver) {
|
|
120
|
+
if (property === "enabled") {
|
|
121
|
+
return allDebuggers.some((debuggerInstance) => debuggerInstance.enabled);
|
|
122
|
+
}
|
|
123
|
+
const value = Reflect.get(target, property, receiver);
|
|
124
|
+
return value;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
108
127
|
}
|
|
109
128
|
function printWithStackTrace(params) {
|
|
110
129
|
const {
|
|
@@ -201,4 +220,4 @@ function toArray(namespaces) {
|
|
|
201
220
|
printWithStackTrace,
|
|
202
221
|
showInitialDebugMessage
|
|
203
222
|
});
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZSAtIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBkZWJ1Z2dlciBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEgZGVidWdnZXIgaW5zdGFuY2UgZm9yIHRoZSBsaWJyYXJ5ICh1bmRlciBpdHMgZGVidWcgbmFtZXNwYWNlLCBzZWUgYExpYnJhcnkuZGVidWdOYW1lc3BhY2VgKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExpYkRlYnVnZ2VyKG5hbWVzcGFjZTogc3RyaW5nKTogRGVidWdnZXIge1xuICByZXR1cm4gZ2V0RGVidWdnZXIoYCR7TGlicmFyeS5kZWJ1Z1ByZWZpeE5hbWVzcGFjZX0ke0xpYnJhcnkuZGVidWdOYW1lc3BhY2V9OiR7bmFtZXNwYWNlfWApO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpc0VuYWJsZWQgPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChwbHVnaW5JZCk7XG4gIGNvbnN0IHN0YXRlID0gaXNFbmFibGVkID8gJ2VuYWJsZWQnIDogJ2Rpc2FibGVkJztcbiAgY29uc3QgY2hhbmdlQWN0aW9uID0gaXNFbmFibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBnZXROYW1lc3BhY2VzKCk7XG4gIHNldE5hbWVzcGFjZXMocGx1Z2luSWQpO1xuICBnZXREZWJ1Z2dlcihwbHVnaW5JZCkoXG4gICAgYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJHtwbHVnaW5JZH0gYXJlICR7c3RhdGV9LiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoYCBob3cgdG8gJHtjaGFuZ2VBY3Rpb259IHRoZW1gKX1gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgc2V0LmFkZChuZWdhdGVkTmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKFsuLi5zZXRdKTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAoIW5hbWVzcGFjZS5zdGFydHNXaXRoKE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCkpIHtcbiAgICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgICBzZXQuZGVsZXRlKG5lZ2F0ZWROYW1lc3BhY2UpO1xuICAgIH1cbiAgICBzZXQuYWRkKG5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEd1aWRlUmVmZXJlbmNlKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExpYnJhcnkuZGVidWdHdWlkZVVybCA/IGAgU2VlICR7TGlicmFyeS5kZWJ1Z0d1aWRlVXJsfSR7c3VmZml4fS5gIDogJyc7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLG1CQUFrQjtBQUlsQixtQkFHTztBQUNQLHFCQUF3QjtBQUN4QixrQ0FBc0M7QUFFdEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSwyQkFBMkI7QUF1RDFCLFNBQVMseUJBQStCO0FBQzdDLG1CQUFpQixDQUFDLHVCQUFRLGdCQUFnQixHQUFHLHVCQUFRLGNBQWMsSUFBSSxDQUFDO0FBQzFFO0FBT08sU0FBUyxxQkFBc0M7QUFDcEQsU0FBTztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsS0FBSztBQUFBLElBQ0wsS0FBSztBQUFBLEVBQ1A7QUFDRjtBQVNPLFNBQVMsWUFBWSxXQUFtQixlQUFlLEdBQWE7QUFDekUsUUFBTSxNQUFNLEdBQUcsU0FBUyxJQUFJLE9BQU8sWUFBWSxDQUFDO0FBQ2hELFFBQU0sbUJBQWUsbURBQXNCLGFBQWEsb0JBQUksSUFBc0IsQ0FBQyxFQUFFO0FBQ3JGLE1BQUksYUFBYSxhQUFhLElBQUksR0FBRztBQUNyQyxNQUFJLENBQUMsWUFBWTtBQUNmLGlCQUFhLDBCQUEwQixFQUFFLFNBQVM7QUFDbEQsZUFBVyxNQUFNLENBQUMsWUFBb0IsZUFBZ0M7QUFDcEUsb0JBQWM7QUFBQSxRQUNaO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUVBLGlCQUFhLElBQUksS0FBSyxVQUFVO0FBQUEsRUFDbEM7QUFFQSxTQUFPO0FBQ1Q7QUFRTyxTQUFTLGVBQWUsV0FBNkI7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
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogVGhlIGFsaWFzaW5nIGRlYnVnZ2VyJ3Mgb3duIGZyYW1lIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgdGhlIGBkZWJ1Z2AgcGFja2FnZTogdGhlIGBhcHBseWAgdHJhcCBvZiBpdHMgcHJveHkuXG4gKi9cbmNvbnN0IEFMSUFTX0ZSQU1FU19UT19TS0lQID0gMTtcbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogV2hlbiB0aGUgaG9zdCBzdXBwbGllZCBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZUFsaWFzZXNgLCBhIGZpbHRlciB3cml0dGVuIGZvciBhbiBhbGlhcyBzdGlsbCBzaG93cyB0aGUgbWVzc2FnZXMuXG4gKiBFYWNoIG1lc3NhZ2UgcHJpbnRzIE9OQ0U6IHVuZGVyIHRoZSBjdXJyZW50IG5hbWVzcGFjZSB3aGVuIGEgZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYVxuICogZmlsdGVyIGVuYWJsZXMuIFByaW50aW5nIHVuZGVyIGV2ZXJ5IGVuYWJsZWQgb25lIHdvdWxkIGRvdWJsZSBlYWNoIG1lc3NhZ2UgdW5kZXIgdGhlIG1vc3QgY29tbW9uIGZpbHRlciBvZiBhbGwsXG4gKiBgPHByZWZpeD4qYCwgd2hpY2ggZW5hYmxlcyB0aGVtIGFsbC5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSBmb3IgdGhlIGxpYnJhcnkgKHVuZGVyIGl0cyBkZWJ1ZyBuYW1lc3BhY2UsIHNlZSBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGliRGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gIGNvbnN0IGFsaWFzZXMgPSBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlQWxpYXNlcztcbiAgaWYgKGFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gKTtcbiAgfVxuXG4gIC8vIEV2ZXJ5IGRlYnVnZ2VyIGNvbWVzIGZyb20gdGhlIHNoYXJlZCBjYWNoZSBgZ2V0RGVidWdnZXJgIGtlZXBzLCBzbyBvbmx5IHRoZSBjaGVhcCBwcm94eSBpcyBuZXcgb24gZWFjaCBjYWxsLCBhbmQgYVxuICAvLyBzcHkgaW5zdGFsbGVkIG9uIG9uZSBjYWxsJ3MgYGxvZ2AgaXMgdGhlIG9uZSB0aGUgbmV4dCBjYWxsIHJlYWNoZXMuXG4gIGNvbnN0IGN1cnJlbnREZWJ1Z2dlciA9IGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gLCBBTElBU19GUkFNRVNfVE9fU0tJUCk7XG4gIGNvbnN0IGFsaWFzRGVidWdnZXJzID0gYWxpYXNlcy5tYXAoKGFsaWFzKSA9PiBnZXREZWJ1Z2dlcihgJHtMaWJyYXJ5LmRlYnVnUHJlZml4TmFtZXNwYWNlfSR7YWxpYXN9OiR7bmFtZXNwYWNlfWAsIEFMSUFTX0ZSQU1FU19UT19TS0lQKSk7XG4gIGNvbnN0IGFsbERlYnVnZ2VycyA9IFtjdXJyZW50RGVidWdnZXIsIC4uLmFsaWFzRGVidWdnZXJzXTtcbiAgcmV0dXJuIG5ldyBQcm94eShjdXJyZW50RGVidWdnZXIsIHtcbiAgICBhcHBseShfdGFyZ2V0LCBfdGhpc0FyZ3VtZW50LCAkYXJndW1lbnRzOiBQYXJhbWV0ZXJzPERlYnVnZ2VyPik6IHZvaWQge1xuICAgICAgYWxsRGVidWdnZXJzLmZpbmQoKGRlYnVnZ2VySW5zdGFuY2UpID0+IGRlYnVnZ2VySW5zdGFuY2UuZW5hYmxlZCk/LiguLi4kYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGdldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcik6IHVua25vd24ge1xuICAgICAgaWYgKHByb3BlcnR5ID09PSAnZW5hYmxlZCcpIHtcbiAgICAgICAgcmV0dXJuIGFsbERlYnVnZ2Vycy5zb21lKChkZWJ1Z2dlckluc3RhbmNlKSA9PiBkZWJ1Z2dlckluc3RhbmNlLmVuYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpc0VuYWJsZWQgPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChwbHVnaW5JZCk7XG4gIGNvbnN0IHN0YXRlID0gaXNFbmFibGVkID8gJ2VuYWJsZWQnIDogJ2Rpc2FibGVkJztcbiAgY29uc3QgY2hhbmdlQWN0aW9uID0gaXNFbmFibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBnZXROYW1lc3BhY2VzKCk7XG4gIHNldE5hbWVzcGFjZXMocGx1Z2luSWQpO1xuICBnZXREZWJ1Z2dlcihwbHVnaW5JZCkoXG4gICAgYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJHtwbHVnaW5JZH0gYXJlICR7c3RhdGV9LiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoYCBob3cgdG8gJHtjaGFuZ2VBY3Rpb259IHRoZW1gKX1gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgc2V0LmFkZChuZWdhdGVkTmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKFsuLi5zZXRdKTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAoIW5hbWVzcGFjZS5zdGFydHNXaXRoKE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCkpIHtcbiAgICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgICBzZXQuZGVsZXRlKG5lZ2F0ZWROYW1lc3BhY2UpO1xuICAgIH1cbiAgICBzZXQuYWRkKG5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEd1aWRlUmVmZXJlbmNlKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExpYnJhcnkuZGVidWdHdWlkZVVybCA/IGAgU2VlICR7TGlicmFyeS5kZWJ1Z0d1aWRlVXJsfSR7c3VmZml4fS5gIDogJyc7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdz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
|
package/dist/lib/cjs/debug.d.cts
CHANGED
|
@@ -48,6 +48,11 @@ export declare function getDebugger(namespace: string, framesToSkip?: number): D
|
|
|
48
48
|
/**
|
|
49
49
|
* Returns a debugger instance for the library (under its debug namespace, see `Library.debugNamespace`).
|
|
50
50
|
*
|
|
51
|
+
* When the host supplied `Library.debugNamespaceAliases`, a filter written for an alias still shows the messages.
|
|
52
|
+
* Each message prints ONCE: under the current namespace when a filter enables it, otherwise under the first alias a
|
|
53
|
+
* filter enables. Printing under every enabled one would double each message under the most common filter of all,
|
|
54
|
+
* `<prefix>*`, which enables them all.
|
|
55
|
+
*
|
|
51
56
|
* @param namespace - The namespace for the debugger instance.
|
|
52
57
|
* @returns A debugger instance for the library (under its debug namespace, see `Library.debugNamespace`).
|
|
53
58
|
*/
|
package/dist/lib/cjs/library.cjs
CHANGED
|
@@ -51,6 +51,15 @@ class LibraryContext {
|
|
|
51
51
|
get debugNamespace() {
|
|
52
52
|
return this.params.debugNamespace ?? DEFAULT_DEBUG_NAMESPACE;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* The earlier names of {@link debugNamespace} a filter may still be written for. Empty until {@link init} is called
|
|
56
|
+
* with some.
|
|
57
|
+
*
|
|
58
|
+
* @returns The debug namespace aliases.
|
|
59
|
+
*/
|
|
60
|
+
get debugNamespaceAliases() {
|
|
61
|
+
return this.params.debugNamespaceAliases ?? [];
|
|
62
|
+
}
|
|
54
63
|
/**
|
|
55
64
|
* The namespace prefix prepended to the library's debug namespaces. Empty until {@link init} is called.
|
|
56
65
|
*
|
|
@@ -97,4 +106,4 @@ const Library = new LibraryContext();
|
|
|
97
106
|
LIBRARY_NAME,
|
|
98
107
|
Library
|
|
99
108
|
});
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xpYnJhcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cblxuLyoqXG4gKiBBIG5hbWUgb2YgdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBMSUJSQVJZX05BTUUgPSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliJztcblxuLyoqXG4gKiBUaGUgZGVidWcgbmFtZXNwYWNlIHRoZSBsaWJyYXJ5J3Mgb3duIGRlYnVnZ2VycyBsaXZlIHVuZGVyIHVudGlsIHtAbGluayBMaWJyYXJ5LmluaXR9IHN1cHBsaWVzIGFub3RoZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFQlVHX05BTUVTUEFDRSA9ICd0eXBlc2NyaXB0LWxpYic7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIExpYnJhcnkuaW5pdH0uXG4gKlxuICogVGhlc2UgYXJlIHB1cmVseSBjb3NtZXRpYyB2YWx1ZXMgdGhlIGhvc3QgaW5qZWN0cyBvbmNlIGF0IGluaXRpYWxpemF0aW9uLCBzbyB0aGUgbGlicmFyeSBpdHNlbGYgY2Fycmllc1xuICogbm8ga25vd2xlZGdlIG9mIHdobyBob3N0cyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWJyYXJ5SW5pdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBndWlkZSBleHBsYWluaW5nIGhvdyB0byB0dXJuIGRlYnVnIG1lc3NhZ2VzIG9uIGFuZCBvZmYsIG5hbWVkIGluIHRoZSBsaWJyYXJ5J3MgZGVidWcgbWVzc2FnZXMuXG4gICAqIFdpdGhvdXQgb25lLCB0aGUgbWVzc2FnZXMgbmFtZSBubyBndWlkZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnR3VpZGVVcmw/
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xpYnJhcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cblxuLyoqXG4gKiBBIG5hbWUgb2YgdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBMSUJSQVJZX05BTUUgPSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliJztcblxuLyoqXG4gKiBUaGUgZGVidWcgbmFtZXNwYWNlIHRoZSBsaWJyYXJ5J3Mgb3duIGRlYnVnZ2VycyBsaXZlIHVuZGVyIHVudGlsIHtAbGluayBMaWJyYXJ5LmluaXR9IHN1cHBsaWVzIGFub3RoZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFQlVHX05BTUVTUEFDRSA9ICd0eXBlc2NyaXB0LWxpYic7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIExpYnJhcnkuaW5pdH0uXG4gKlxuICogVGhlc2UgYXJlIHB1cmVseSBjb3NtZXRpYyB2YWx1ZXMgdGhlIGhvc3QgaW5qZWN0cyBvbmNlIGF0IGluaXRpYWxpemF0aW9uLCBzbyB0aGUgbGlicmFyeSBpdHNlbGYgY2Fycmllc1xuICogbm8ga25vd2xlZGdlIG9mIHdobyBob3N0cyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWJyYXJ5SW5pdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBndWlkZSBleHBsYWluaW5nIGhvdyB0byB0dXJuIGRlYnVnIG1lc3NhZ2VzIG9uIGFuZCBvZmYsIG5hbWVkIGluIHRoZSBsaWJyYXJ5J3MgZGVidWcgbWVzc2FnZXMuXG4gICAqIFdpdGhvdXQgb25lLCB0aGUgbWVzc2FnZXMgbmFtZSBubyBndWlkZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnR3VpZGVVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2UgdGhlIGxpYnJhcnkncyBvd24gZGVidWdnZXJzIGxpdmUgdW5kZXIuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0RFQlVHX05BTUVTUEFDRX0uXG4gICAqIEEgaG9zdCB0aGF0IHB1Ymxpc2hlcyBpdHMgb3duIGRlYnVnIG5hbWVzcGFjZSB0byBpdHMgdXNlcnMgcGFzc2VzIGl0IGhlcmUsIHNvIHRoZWlyIGZpbHRlcnMga2VlcCBtYXRjaGluZy5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFYXJsaWVyIG5hbWVzIG9mIHtAbGluayBkZWJ1Z05hbWVzcGFjZX0sIHNvIGEgZmlsdGVyIHdyaXR0ZW4gZm9yIG9uZSBvZiB0aGVtIGtlZXBzIHNob3dpbmcgdGhlIGxpYnJhcnkncyBkZWJ1Z1xuICAgKiBtZXNzYWdlcyBhZnRlciB0aGUgaG9zdCByZW5hbWVzIGl0cyBuYW1lc3BhY2UuIEVhY2ggbWVzc2FnZSBzdGlsbCBwcmludHMgb25jZTogdW5kZXIge0BsaW5rIGRlYnVnTmFtZXNwYWNlfSB3aGVuIGFcbiAgICogZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYSBmaWx0ZXIgZW5hYmxlcy4gRGVmYXVsdHMgdG8gbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnTmFtZXNwYWNlQWxpYXNlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIHByZWZpeCBwcmVwZW5kZWQgdG8gdGhlIGxpYnJhcnkncyBkZWJ1ZyBuYW1lc3BhY2VzIChlLmcuIGAke3BsdWdpbklkfTpgKS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnUHJlZml4TmFtZXNwYWNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgZGVidWcgbG9nZ2luZyBzaG91bGQgYXBwZW5kIGEgcmljaCBEZXZUb29scyBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFByaW50U3RhY2tUcmFjZTogYm9vbGVhbjtcbn1cblxuY29uc3QgREVGQVVMVF9QQVJBTVM6IExpYnJhcnlJbml0UGFyYW1zID0ge1xuICBkZWJ1Z1ByZWZpeE5hbWVzcGFjZTogJycsXG4gIHNob3VsZFByaW50U3RhY2tUcmFjZTogZmFsc2Vcbn07XG5cbi8qKlxuICogVGhlIHNpbmdsZSwgZGV0ZXJtaW5pc3RpYyBpbml0aWFsaXphdGlvbiBlbnRyeSBwb2ludCBmb3IgdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKlxuICogVGhlIGhvc3QgY2FsbHMge0BsaW5rIExpYnJhcnkuaW5pdH0gZXhhY3RseSBvbmNlIHRvIHB1c2ggaXRzIGNvc21ldGljIGNvbmZpZ3VyYXRpb247IHRoZSBsaWJyYXJ5IG9ubHlcbiAqIHJlYWRzIGl0IHRocm91Z2ggdGhlIGdldHRlcnMuIENhbGxpbmcge0BsaW5rIExpYnJhcnkuaW5pdH0gbW9yZSB0aGFuIG9uY2UgdGhyb3dzIFx1MjAxNFxuICoge0BsaW5rIExpYnJhcnkucmVzZXRUb0RlZmF1bHR9IGNsZWFycyB0aGUgc3RhdGUgKGUuZy4gYmV0d2VlbiB0ZXN0cywgb3Igb24gdW5sb2FkKSBhbmQgYWxsb3dzXG4gKiByZS1pbml0aWFsaXphdGlvbi5cbiAqL1xuY2xhc3MgTGlicmFyeUNvbnRleHQge1xuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgZ3VpZGUgZXhwbGFpbmluZyBob3cgdG8gdHVybiBkZWJ1ZyBtZXNzYWdlcyBvbiBhbmQgb2ZmLiBFbXB0eSB1bnRpbCB7QGxpbmsgaW5pdH0gaXMgY2FsbGVkIHdpdGggb25lLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZGVidWcgZ3VpZGUgVVJMLlxuICAgKi9cbiAgcHVibGljIGdldCBkZWJ1Z0d1aWRlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmRlYnVnR3VpZGVVcmwgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSB0aGUgbGlicmFyeSdzIG93biBkZWJ1Z2dlcnMgbGl2ZSB1bmRlci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGRlYnVnIG5hbWVzcGFjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVidWdOYW1lc3BhY2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZGVidWdOYW1lc3BhY2UgPz8gREVGQVVMVF9ERUJVR19OQU1FU1BBQ0U7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVhcmxpZXIgbmFtZXMgb2Yge0BsaW5rIGRlYnVnTmFtZXNwYWNlfSBhIGZpbHRlciBtYXkgc3RpbGwgYmUgd3JpdHRlbiBmb3IuIEVtcHR5IHVudGlsIHtAbGluayBpbml0fSBpcyBjYWxsZWRcbiAgICogd2l0aCBzb21lLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZGVidWcgbmFtZXNwYWNlIGFsaWFzZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlYnVnTmFtZXNwYWNlQWxpYXNlcygpOiByZWFkb25seSBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmRlYnVnTmFtZXNwYWNlQWxpYXNlcyA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIHByZWZpeCBwcmVwZW5kZWQgdG8gdGhlIGxpYnJhcnkncyBkZWJ1ZyBuYW1lc3BhY2VzLiBFbXB0eSB1bnRpbCB7QGxpbmsgaW5pdH0gaXMgY2FsbGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZGVidWcgbmFtZXNwYWNlIHByZWZpeC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVidWdQcmVmaXhOYW1lc3BhY2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZGVidWdQcmVmaXhOYW1lc3BhY2U7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBkZWJ1ZyBsb2dnaW5nIHNob3VsZCBhcHBlbmQgYSByaWNoIERldlRvb2xzIHN0YWNrIHRyYWNlLiBgZmFsc2VgIHVudGlsIHtAbGluayBpbml0fSBpcyBjYWxsZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gcHJpbnQgc3RhY2sgdHJhY2VzLlxuICAgKi9cbiAgcHVibGljIGdldCBzaG91bGRQcmludFN0YWNrVHJhY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLnNob3VsZFByaW50U3RhY2tUcmFjZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcGFyYW1zOiBMaWJyYXJ5SW5pdFBhcmFtcyA9IHsgLi4uREVGQVVMVF9QQVJBTVMgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGxpYnJhcnkgd2l0aCB0aGUgaG9zdCdzIGNvc21ldGljIGNvbmZpZ3VyYXRpb24uIE11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZTsgY2FsbGluZyBpdFxuICAgKiBhZ2FpbiBiZWZvcmUge0BsaW5rIHJlc2V0VG9EZWZhdWx0fSB0aHJvd3MuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgY29zbWV0aWMgY29uZmlndXJhdGlvbiB0byBpbmplY3QuXG4gICAqL1xuICBwdWJsaWMgaW5pdChwYXJhbXM6IExpYnJhcnlJbml0UGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke0xJQlJBUllfTkFNRX0gaXMgYWxyZWFkeSBpbml0aWFsaXplZC4gQ2FsbCBMaWJyYXJ5LnJlc2V0VG9EZWZhdWx0KCkgYmVmb3JlIGluaXRpYWxpemluZyBhZ2Fpbi5gKTtcbiAgICB9XG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB0aGlzLnBhcmFtcyA9IHsgLi4ucGFyYW1zIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBsaWJyYXJ5IGJhY2sgdG8gaXRzIGRlZmF1bHQgKHVuaW5pdGlhbGl6ZWQpIHN0YXRlLCBhbGxvd2luZyB7QGxpbmsgaW5pdH0gdG8gYmUgY2FsbGVkIGFnYWluLlxuICAgKi9cbiAgcHVibGljIHJlc2V0VG9EZWZhdWx0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMucGFyYW1zID0geyAuLi5ERUZBVUxUX1BBUkFNUyB9O1xuICB9XG59XG5cbi8qKlxuICogVGhlIHNpbmdsZSB7QGxpbmsgTGlicmFyeUNvbnRleHR9IGluc3RhbmNlIFx1MjAxNCB0aGUgbGlicmFyeSdzIGRldGVybWluaXN0aWMgaW5pdGlhbGl6YXRpb24gZW50cnkgcG9pbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBMaWJyYXJ5ID0gbmV3IExpYnJhcnlDb250ZXh0KCk7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU08sTUFBTSxlQUFlO0FBS3JCLE1BQU0sMEJBQTBCO0FBdUN2QyxNQUFNLGlCQUFvQztBQUFBLEVBQ3hDLHNCQUFzQjtBQUFBLEVBQ3RCLHVCQUF1QjtBQUN6QjtBQVVBLE1BQU0sZUFBZTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1uQixJQUFXLGdCQUF3QjtBQUNqQyxXQUFPLEtBQUssT0FBTyxpQkFBaUI7QUFBQSxFQUN0QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLElBQVcsaUJBQXlCO0FBQ2xDLFdBQU8sS0FBSyxPQUFPLGtCQUFrQjtBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxJQUFXLHdCQUEyQztBQUNwRCxXQUFPLEtBQUssT0FBTyx5QkFBeUIsQ0FBQztBQUFBLEVBQy9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsSUFBVyx1QkFBK0I7QUFDeEMsV0FBTyxLQUFLLE9BQU87QUFBQSxFQUNyQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLElBQVcsd0JBQWlDO0FBQzFDLFdBQU8sS0FBSyxPQUFPO0FBQUEsRUFDckI7QUFBQSxFQUVRLGdCQUFnQjtBQUFBLEVBRWhCLFNBQTRCLEVBQUUsR0FBRyxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRakQsS0FBSyxRQUFpQztBQUMzQyxRQUFJLEtBQUssZUFBZTtBQUN0QixZQUFNLElBQUksTUFBTSxHQUFHLFlBQVksbUZBQW1GO0FBQUEsSUFDcEg7QUFDQSxTQUFLLGdCQUFnQjtBQUNyQixTQUFLLFNBQVMsRUFBRSxHQUFHLE9BQU87QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08saUJBQXVCO0FBQzVCLFNBQUssZ0JBQWdCO0FBQ3JCLFNBQUssU0FBUyxFQUFFLEdBQUcsZUFBZTtBQUFBLEVBQ3BDO0FBQ0Y7QUFLTyxNQUFNLFVBQVUsSUFBSSxlQUFlOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -33,6 +33,12 @@ export interface LibraryInitParams {
|
|
|
33
33
|
* A host that publishes its own debug namespace to its users passes it here, so their filters keep matching.
|
|
34
34
|
*/
|
|
35
35
|
readonly debugNamespace?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Earlier names of {@link debugNamespace}, so a filter written for one of them keeps showing the library's debug
|
|
38
|
+
* messages after the host renames its namespace. Each message still prints once: under {@link debugNamespace} when a
|
|
39
|
+
* filter enables it, otherwise under the first alias a filter enables. Defaults to none.
|
|
40
|
+
*/
|
|
41
|
+
readonly debugNamespaceAliases?: readonly string[];
|
|
36
42
|
/**
|
|
37
43
|
* The namespace prefix prepended to the library's debug namespaces (e.g. `${pluginId}:`).
|
|
38
44
|
*/
|
|
@@ -63,6 +69,13 @@ declare class LibraryContext {
|
|
|
63
69
|
* @returns The debug namespace.
|
|
64
70
|
*/
|
|
65
71
|
get debugNamespace(): string;
|
|
72
|
+
/**
|
|
73
|
+
* The earlier names of {@link debugNamespace} a filter may still be written for. Empty until {@link init} is called
|
|
74
|
+
* with some.
|
|
75
|
+
*
|
|
76
|
+
* @returns The debug namespace aliases.
|
|
77
|
+
*/
|
|
78
|
+
get debugNamespaceAliases(): readonly string[];
|
|
66
79
|
/**
|
|
67
80
|
* The namespace prefix prepended to the library's debug namespaces. Empty until {@link init} is called.
|
|
68
81
|
*
|
|
@@ -65,4 +65,4 @@ function getGlobal() {
|
|
|
65
65
|
getTypescriptLibStateSlot,
|
|
66
66
|
resetTypescriptLibState
|
|
67
67
|
});
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGVzY3JpcHQtbGliLXN0YXRlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvZiB0aGUgZ2VuZXJpYywgbm9uLU9ic2lkaWFuIHBhcnQgb2YgdGhlIGxpYnJhcnkuXG4gKlxuICogVGhlIGJhZyBsaXZlcyBvbiBgZ2xvYmFsVGhpc2AgdW5kZXIgYSBgU3ltYm9sLmZvcmAga2V5LCBzbyBldmVyeSBjb3B5IG9mIHRoaXMgbW9kdWxlIGxvYWRlZCBpbiBvbmUgcmVhbG0gc2hhcmVzXG4gKiBpdCwgd2hpY2hldmVyIHZlcnNpb24gaXQgaXMuIEl0IGhvbGRzIHdoYXQgbXVzdCBleGlzdCBvbmNlIHBlciByZWFsbTogdGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZVxuICogc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIuIE9ic2lkaWFuLXNwZWNpZmljIHN0YXRlIHN0YXlzIGluIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCwgdW5kZXIgaXRzIGxlZ2FjeSBgX19vYnNpZGlhbkRldlV0aWxzYCBnbG9iYWwuXG4gKlxuICogVGhlIHNsb3QgaXMgYSBjcm9zcy12ZXJzaW9uIHdpcmUgZm9ybWF0OiBpdHMga2V5IGFuZCB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIG9ubHkgZXZlciBjaGFuZ2VcbiAqIGFkZGl0aXZlbHkuXG4gKi9cblxuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnLi92YWx1ZS13cmFwcGVyLnRzJztcblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIHRoaXMgY29weSB3cml0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OID0gMTtcblxuLyoqXG4gKiBUaGUga2V5IG9mIHRoZSBnbG9iYWwgc2xvdCBob2xkaW5nIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0uXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVk6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2wuZm9yKCdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RhdGUnKTtcblxuLyoqXG4gKiBUaGUgc2hhcmVkLXN0YXRlIHNsb3Qgc3RvcmVkIG9uIGBnbG9iYWxUaGlzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgLyoqXG4gICAqIFRoZSBzaGFyZWQgdmFsdWVzLCBlYWNoIGluIGEge0BsaW5rIFZhbHVlV3JhcHBlcn0gc28gYSBob2xkZXIgY2FuIHJlcGxhY2UgdGhlIHZhbHVlIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBWYWx1ZVdyYXBwZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgc2xvdCBzaGFwZSB0aGUgY3JlYXRvciB3cm90ZS4gSW5mb3JtYXRpb25hbDogdGhlIHNoYXBlIG9ubHkgY2hhbmdlcyBhZGRpdGl2ZWx5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogbnVtYmVyO1xufVxuXG50eXBlIEdsb2JhbFdpdGhUeXBlc2NyaXB0TGliU3RhdGUgPSBQYXJ0aWFsPFJlY29yZDx0eXBlb2YgVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZLCBUeXBlc2NyaXB0TGliU3RhdGVTbG90Pj47XG5cbi8qKlxuICogUmV0cmlldmVzIG9yIGNyZWF0ZXMgYSBzaGFyZWQtc3RhdGUge0BsaW5rIFZhbHVlV3JhcHBlcn0gZm9yIGEgZ2l2ZW4ga2V5LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBzaGFyZWQgc3RhdGUgdmFsdWUuXG4gKiBAcGFyYW0ga2V5IC0gVGhlIGtleSB0byBzdG9yZSBvciByZXRyaWV2ZSB0aGUgc2hhcmVkIHN0YXRlIHVuZGVyLlxuICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHVzZSBpZiB0aGUgc2hhcmVkIHN0YXRlIGRvZXMgbm90IGV4aXN0IHlldC5cbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSB0aGF0IHN0b3JlcyB0aGUgc2hhcmVkIHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZXNjcmlwdExpYlN0YXRlPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBWYWx1ZVdyYXBwZXI8VD4ge1xuICByZXR1cm4gKGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKS52YWx1ZXNba2V5XSA/Pz0gVmFsdWVXcmFwcGVyLm9mKGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyB0aGUgc2hhcmVkLXN0YXRlIHNsb3QuXG4gKlxuICogQHJldHVybnMgVGhlIHtAbGluayBUeXBlc2NyaXB0TGliU3RhdGVTbG90fS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIGNvbnN0IGdsb2JhbCA9IGdldEdsb2JhbCgpO1xuICBsZXQgc2xvdCA9IGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldO1xuICBpZiAoIXNsb3QpIHtcbiAgICBzbG90ID0gY3JlYXRlU2xvdCgpO1xuICAgIGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldID0gc2xvdDtcbiAgfVxuICByZXR1cm4gc2xvdDtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcuXG4gKlxuICogSW50ZW5kZWQgZm9yIHRlc3QgaXNvbGF0aW9uOiBjYWxsIGl0IGJlZm9yZSBlYWNoIHRlc3Qgc28gYWNjdW11bGF0ZWQgc3RhdGUgZG9lcyBub3QgbGVhayBiZXR3ZWVuIHRlc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRUeXBlc2NyaXB0TGliU3RhdGUoKTogdm9pZCB7XG4gIGdldEdsb2JhbCgpW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV0gPSBjcmVhdGVTbG90KCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIHJldHVybiB7XG4gICAgdmFsdWVzOiB7fSxcbiAgICB2ZXJzaW9uOiBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldEdsb2JhbCgpOiBHbG9iYWxXaXRoVHlwZXNjcmlwdExpYlN0YXRlIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMgYXMgR2xvYmFsV2l0aFR5cGVzY3JpcHRMaWJTdGF0ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsMkJBQTZCO0FBS3RCLE1BQU0sK0JBQStCO0FBS3JDLE1BQU0sMkJBQTBDLHVCQUFPLElBQUksZ0NBQWdDO0FBMkIzRixTQUFTLHNCQUF5QixLQUFhLGNBQWtDO0FBQ3RGLFNBQVEsMEJBQTBCLEVBQUUsT0FBTyxHQUFHLE1BQU0sa0NBQWEsR0FBRyxZQUFZO0FBQ2xGO0FBT08sU0FBUyw0QkFBb0Q7QUFDbEUsUUFBTSxTQUFTLFVBQVU7QUFDekIsTUFBSSxPQUFPLE9BQU8sd0JBQXdCO0FBQzFDLE1BQUksQ0FBQyxNQUFNO0FBQ1QsV0FBTyxXQUFXO0FBQ2xCLFdBQU8sd0JBQXdCLElBQUk7QUFBQSxFQUNyQztBQUNBLFNBQU87QUFDVDtBQU9PLFNBQVMsMEJBQWdDO0FBQzlDLFlBQVUsRUFBRSx3QkFBd0IsSUFBSSxXQUFXO0FBQ3JEO0FBRUEsU0FBUyxhQUFxQztBQUM1QyxTQUFPO0FBQUEsSUFDTCxRQUFRLENBQUM7QUFBQSxJQUNULFNBQVM7QUFBQSxFQUNYO0FBQ0Y7QUFFQSxTQUFTLFlBQTBDO0FBQ2pELFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* The bag lives on `globalThis` under a `Symbol.for` key, so every copy of this module loaded in one realm shares
|
|
8
8
|
* it, whichever version it is. It holds what must exist once per realm: the debuggers, the `debug` instance and the
|
|
9
|
-
* shared abort controller. Obsidian-specific state stays in
|
|
9
|
+
* shared abort controller. Obsidian-specific state stays in `@mnaoumov/obsidian-lib`, under its legacy `__obsidianDevUtils` global.
|
|
10
10
|
*
|
|
11
11
|
* The slot is a cross-version wire format: its key and the {@link TypescriptLibStateSlot} shape only ever change
|
|
12
12
|
* additively.
|
|
@@ -86,7 +86,9 @@ export declare function abortSignalTimeout(timeoutInMilliseconds: number): Abort
|
|
|
86
86
|
* globalThis[Symbol.for('@mnaoumov/typescript-lib/state')].values.sharedAbortController.value.abort();
|
|
87
87
|
* ```
|
|
88
88
|
*
|
|
89
|
-
*
|
|
89
|
+
* From code, call {@link getSharedAbortController} (or {@link getSharedAbortSignal}) rather than reading the slot.
|
|
90
|
+
* `@mnaoumov/obsidian-lib` also mirrors the instance under the legacy `__obsidianDevUtils` global, but only so that
|
|
91
|
+
* plugins bundling an older `obsidian-dev-utils` copy share it; new code and new console recipes should not use it.
|
|
90
92
|
*
|
|
91
93
|
* @returns The shared {@link ResettableAbortController}.
|
|
92
94
|
*/
|
|
@@ -99,12 +101,11 @@ export declare function getSharedAbortController(): ResettableAbortController;
|
|
|
99
101
|
*
|
|
100
102
|
* @example
|
|
101
103
|
* ```typescript
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* });
|
|
104
|
+
* const abortSignal = getSharedAbortSignal();
|
|
105
|
+
* for (const url of urls) {
|
|
106
|
+
* abortSignal.throwIfAborted();
|
|
107
|
+
* await fetch(url, { signal: abortSignal });
|
|
108
|
+
* }
|
|
108
109
|
* ```
|
|
109
110
|
*
|
|
110
111
|
* @returns The {@link AbortSignal} of the shared {@link ResettableAbortController}.
|
|
@@ -112,4 +112,4 @@ export {
|
|
|
112
112
|
onAbort,
|
|
113
113
|
waitForAbort
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEluIGFuIE9ic2lkaWFuIHBsdWdpbiB0aGUgc2FtZSBpbnN0YW5jZSBpcyBhbHNvIHJlYWNoYWJsZSBhcyBgX19vYnNpZGlhbkRldlV0aWxzLnNoYXJlZEFib3J0Q29udHJvbGxlci52YWx1ZWAuXG4gKlxuICogQHJldHVybnMgVGhlIHNoYXJlZCB7QGxpbmsgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcn0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRBYm9ydENvbnRyb2xsZXIoKTogUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIHJldHVybiBnZXRUeXBlc2NyaXB0TGliU3RhdGUoJ3NoYXJlZEFib3J0Q29udHJvbGxlcicsIG5ldyBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyKCkpLnZhbHVlO1xufVxuXG4vKipcbiAqIFRoZSBzaWduYWwgb2YgdGhlIGFwcC13aWRlIHNoYXJlZCB7QGxpbmsgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcn0uXG4gKlxuICogQ2FsbCBpdCBhdCB0aGUgc3RhcnQgb2YgZWFjaCBvcGVyYXRpb24uIE5ldmVyIGNhY2hlIGl0LCBvciB0aGUgb3BlcmF0aW9uIGFmdGVyIHRoZSBmaXJzdCBhYm9ydCBzdGFydHNcbiAqIGFscmVhZHkgYWJvcnRlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgbG9vcCh7XG4gKiAgIGFib3J0U2lnbmFsOiBnZXRTaGFyZWRBYm9ydFNpZ25hbCgpLFxuICogICBidWlsZE5vdGljZU1lc3NhZ2U6IChmaWxlKSA9PiBgUHJvY2Vzc2luZyAke2ZpbGUucGF0aH1gLFxuICogICBpdGVtczogYXBwLnZhdWx0LmdldE1hcmtkb3duRmlsZXMoKSxcbiAqICAgcHJvY2Vzc0l0ZW06IGFzeW5jIChmaWxlKSA9PiB7IGF3YWl0IHByb2Nlc3NGaWxlKGZpbGUpOyB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IG9mIHRoZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkQWJvcnRTaWduYWwoKTogQWJvcnRTaWduYWwge1xuICByZXR1cm4gZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gYWJvcnQgbGlzdGVuZXIgdG8gYW4gYWJvcnQgc2lnbmFsIGFuZCBjYWxscyB0aGUgY2FsbGJhY2sgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byBhZGQgdGhlIGxpc3RlbmVyIHRvLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgYWJvcnQgc2lnbmFsIGFib3J0cy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGV9IHRoYXQgcmVtb3ZlcyB0aGUgYWJvcnQgbGlzdGVuZXIgd2hlbiBkaXNwb3NlZCwgZm9yIHVzZSB3aXRoIGB1c2luZ2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbkFib3J0KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgY2FsbGJhY2s6IChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IHZvaWQpOiBEaXNwb3NhYmxlIHtcbiAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICBjYWxsYmFjayhhYm9ydFNpZ25hbCk7XG4gICAgcmV0dXJuIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoeyBjYWxsYmFjazogbm9vcCB9KTtcbiAgfVxuXG4gIGFib3J0U2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgd3JhcHBlZENhbGxiYWNrLCB7IG9uY2U6IHRydWUgfSk7XG4gIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHtcbiAgICBjYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgYWJvcnRTaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB3cmFwcGVkQ2FsbGJhY2spO1xuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gd3JhcHBlZENhbGxiYWNrKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjYWxsYmFjaygkZXZlbnQudGFyZ2V0IGFzIEFib3J0U2lnbmFsKTtcbiAgfVxufVxuXG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQ8VCA9IHVua25vd24+KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8VD47XG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlamVjdHMgd2l0aCBpdHMgcmVhc29uLlxuICpcbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcGFyYW0gc2hvdWxkUmVqZWN0T25BYm9ydCAtIFdoZXRoZXIgdG8gcmVqZWN0IHRoZSBwcm9taXNlIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWJvcnRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVqZWN0cyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIHNob3VsZFJlamVjdE9uQWJvcnQ6IHRydWUpOiBQcm9taXNlPG5ldmVyPjtcbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVzb2x2ZXMgd2l0aCBpdHMgcmVhc29uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIEV4cGVjdGVkIHR5cGUgb2YgYGFib3J0U2lnbmFsLnJlYXNvbmAuXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHBhcmFtIHNob3VsZFJlamVjdE9uQWJvcnQgLSBXaGV0aGVyIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0PFQgPSB1bmtub3duPihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIHNob3VsZFJlamVjdE9uQWJvcnQ/OiBib29sZWFuKTogUHJvbWlzZTxUPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxUPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgb25BYm9ydChhYm9ydFNpZ25hbCwgKCkgPT4ge1xuICAgICAgaWYgKHNob3VsZFJlamVjdE9uQWJvcnQpIHtcbiAgICAgICAgcmVqZWN0KGFib3J0U2lnbmFsLnJlYXNvbiBhcyBFcnJvcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGFib3J0U2lnbmFsLnJlYXNvbiBhcyBUKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQU1BO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxZQUFZO0FBQ3JCLFNBQVMsNkJBQTZCO0FBSy9CLE1BQU0sbUJBQW1CO0FBOEJ6QixNQUFNLDBCQUEwQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1yQyxJQUFXLFNBQXNCO0FBQy9CLFdBQU8sS0FBSyxnQkFBZ0I7QUFBQSxFQUM5QjtBQUFBLEVBRVEsa0JBQWtCLElBQUksZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRdkMsTUFBTSxRQUF3QjtBQUNuQyxTQUFLLGdCQUFnQixNQUFNLE1BQU07QUFDakMsU0FBSyxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFBQSxFQUM3QztBQUNGO0FBUU8sU0FBUyxrQkFBa0IsbUJBQTZEO0FBQzdGLFFBQU0sZUFBZSxrQkFBa0IsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsV0FBVztBQUc1RSxNQUFJLE9BQU8sWUFBWSxRQUFRLFlBQVk7QUFFekMsV0FBTyxZQUFZLElBQUksWUFBWTtBQUFBLEVBQ3JDO0FBRUEsTUFBSSxhQUFhLFdBQVcsR0FBRztBQUM3QixXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBRUEsTUFBSSxhQUFhLFdBQVcsS0FBSyxhQUFhLENBQUMsR0FBRztBQUNoRCxXQUFPLGFBQWEsQ0FBQztBQUFBLEVBQ3ZCO0FBRUEsUUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFFNUMsYUFBVyxlQUFlLGNBQWM7QUFDdEMsUUFBSSxZQUFZLFNBQVM7QUFDdkIsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsUUFBTSwwQkFBd0MsTUFBTSxLQUFLLGNBQWMsQ0FBQyxnQkFBZ0IsUUFBUSxhQUFhLFdBQVcsQ0FBQztBQUV6SCxRQUFNLGlDQUFpQyxJQUFJLGtCQUFrQixFQUFFLGFBQWEsd0JBQXdCLENBQUM7QUFFckcsU0FBTyxnQkFBZ0I7QUFFdkIsV0FBUyxZQUFZLGFBQWdDO0FBQ25ELG1DQUErQixRQUFRO0FBQ3ZDLG9CQUFnQixNQUFNLFlBQVksTUFBTTtBQUFBLEVBQzFDO0FBQ0Y7QUFPTyxTQUFTLG1CQUFnQztBQUM5QyxTQUFPLElBQUksZ0JBQWdCLEVBQUU7QUFDL0I7QUFRTyxTQUFTLG1CQUFtQix1QkFBNEM7QUFDN0UsTUFBSSwwQkFBMEIsa0JBQWtCO0FBQzlDLFdBQU8saUJBQWlCO0FBQUEsRUFDMUI7QUFVQSxRQUFNLGtCQUFrQixJQUFJLGdCQUFnQjtBQUU1QyxhQUFXLFdBQVcsTUFBTTtBQUUxQixvQkFBZ0IsTUFBTSxJQUFJLGFBQWEsZ0JBQWdCLE9BQU8scUJBQXFCLENBQUMsaUJBQWlCLGNBQWMsQ0FBQztBQUFBLEVBQ3RILEdBQUcscUJBQXFCO0FBQ3hCLFNBQU8sZ0JBQWdCO0FBQ3pCO0FBbUJPLFNBQVMsMkJBQXNEO0FBQ3BFLFNBQU8sc0JBQXNCLHlCQUF5QixJQUFJLDBCQUEwQixDQUFDLEVBQUU7QUFDekY7QUFvQk8sU0FBUyx1QkFBb0M7QUFDbEQsU0FBTyx5QkFBeUIsRUFBRTtBQUNwQztBQVNPLFNBQVMsUUFBUSxhQUEwQixVQUEwRDtBQUMxRyxNQUFJLFlBQVksU0FBUztBQUN2QixhQUFTLFdBQVc7QUFDcEIsV0FBTyxJQUFJLG1CQUFtQixFQUFFLFVBQVUsS0FBSyxDQUFDO0FBQUEsRUFDbEQ7QUFFQSxjQUFZLGlCQUFpQixTQUFTLGlCQUFpQixFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3JFLFNBQU8sSUFBSSxtQkFBbUI7QUFBQSxJQUM1QixVQUFVLE1BQVk7QUFDcEIsa0JBQVksb0JBQW9CLFNBQVMsZUFBZTtBQUFBLElBQzFEO0FBQUEsRUFDRixDQUFDO0FBRUQsV0FBUyxnQkFBZ0IsUUFBcUI7QUFDNUMsYUFBUyxPQUFPLE1BQXFCO0FBQUEsRUFDdkM7QUFDRjtBQTBCTyxTQUFTLGFBQTBCLGFBQTBCLHFCQUEyQztBQUM3RyxTQUFPLElBQUksUUFBVyxDQUFDLFNBQVMsV0FBVztBQUN6QyxZQUFRLGFBQWEsTUFBTTtBQUN6QixVQUFJLHFCQUFxQjtBQUN2QixlQUFPLFlBQVksTUFBZTtBQUFBLE1BQ3BDLE9BQU87QUFDTCxnQkFBUSxZQUFZLE1BQVc7QUFBQSxNQUNqQztBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEZyb20gY29kZSwgY2FsbCB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSAob3Ige0BsaW5rIGdldFNoYXJlZEFib3J0U2lnbmFsfSkgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc2xvdC5cbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBhbHNvIG1pcnJvcnMgdGhlIGluc3RhbmNlIHVuZGVyIHRoZSBsZWdhY3kgYF9fb2JzaWRpYW5EZXZVdGlsc2AgZ2xvYmFsLCBidXQgb25seSBzbyB0aGF0XG4gKiBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcHkgc2hhcmUgaXQ7IG5ldyBjb2RlIGFuZCBuZXcgY29uc29sZSByZWNpcGVzIHNob3VsZCBub3QgdXNlIGl0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCk6IFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdzaGFyZWRBYm9ydENvbnRyb2xsZXInLCBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpKS52YWx1ZTtcbn1cblxuLyoqXG4gKiBUaGUgc2lnbmFsIG9mIHRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIENhbGwgaXQgYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlIG9wZXJhdGlvbiBhZnRlciB0aGUgZmlyc3QgYWJvcnQgc3RhcnRzXG4gKiBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFib3J0U2lnbmFsID0gZ2V0U2hhcmVkQWJvcnRTaWduYWwoKTtcbiAqIGZvciAoY29uc3QgdXJsIG9mIHVybHMpIHtcbiAqICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAqICAgYXdhaXQgZmV0Y2godXJsLCB7IHNpZ25hbDogYWJvcnRTaWduYWwgfSk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIEFib3J0U2lnbmFsfSBvZiB0aGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZEFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgcmV0dXJuIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcigpLnNpZ25hbDtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFib3J0IGxpc3RlbmVyIHRvIGFuIGFib3J0IHNpZ25hbCBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWxyZWFkeSBhYm9ydGVkLlxuICpcbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gYWRkIHRoZSBsaXN0ZW5lciB0by5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIGFib3J0IHNpZ25hbCBhYm9ydHMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlfSB0aGF0IHJlbW92ZXMgdGhlIGFib3J0IGxpc3RlbmVyIHdoZW4gZGlzcG9zZWQsIGZvciB1c2Ugd2l0aCBgdXNpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25BYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIGNhbGxiYWNrOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiB2b2lkKTogRGlzcG9zYWJsZSB7XG4gIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgY2FsbGJhY2soYWJvcnRTaWduYWwpO1xuICAgIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHsgY2FsbGJhY2s6IG5vb3AgfSk7XG4gIH1cblxuICBhYm9ydFNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjaywgeyBvbmNlOiB0cnVlIH0pO1xuICByZXR1cm4gbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7XG4gICAgY2FsbGJhY2s6ICgpOiB2b2lkID0+IHtcbiAgICAgIGFib3J0U2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgd3JhcHBlZENhbGxiYWNrKTtcbiAgICB9XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRDYWxsYmFjaygkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY2FsbGJhY2soJGV2ZW50LnRhcmdldCBhcyBBYm9ydFNpZ25hbCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZXNvbHZlcyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gRXhwZWN0ZWQgdHlwZSBvZiBgYWJvcnRTaWduYWwucmVhc29uYC5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0PFQgPSB1bmtub3duPihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNlPFQ+O1xuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZWplY3RzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHBhcmFtIHNob3VsZFJlamVjdE9uQWJvcnQgLSBXaGV0aGVyIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlamVjdHMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0OiB0cnVlKTogUHJvbWlzZTxuZXZlcj47XG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIG9uQWJvcnQoYWJvcnRTaWduYWwsICgpID0+IHtcbiAgICAgIGlmIChzaG91bGRSZWplY3RPbkFib3J0KSB7XG4gICAgICAgIHJlamVjdChhYm9ydFNpZ25hbC5yZWFzb24gYXMgRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShhYm9ydFNpZ25hbC5yZWFzb24gYXMgVCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFNQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsWUFBWTtBQUNyQixTQUFTLDZCQUE2QjtBQUsvQixNQUFNLG1CQUFtQjtBQThCekIsTUFBTSwwQkFBMEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNckMsSUFBVyxTQUFzQjtBQUMvQixXQUFPLEtBQUssZ0JBQWdCO0FBQUEsRUFDOUI7QUFBQSxFQUVRLGtCQUFrQixJQUFJLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXZDLE1BQU0sUUFBd0I7QUFDbkMsU0FBSyxnQkFBZ0IsTUFBTSxNQUFNO0FBQ2pDLFNBQUssa0JBQWtCLElBQUksZ0JBQWdCO0FBQUEsRUFDN0M7QUFDRjtBQVFPLFNBQVMsa0JBQWtCLG1CQUE2RDtBQUM3RixRQUFNLGVBQWUsa0JBQWtCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVc7QUFHNUUsTUFBSSxPQUFPLFlBQVksUUFBUSxZQUFZO0FBRXpDLFdBQU8sWUFBWSxJQUFJLFlBQVk7QUFBQSxFQUNyQztBQUVBLE1BQUksYUFBYSxXQUFXLEdBQUc7QUFDN0IsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUVBLE1BQUksYUFBYSxXQUFXLEtBQUssYUFBYSxDQUFDLEdBQUc7QUFDaEQsV0FBTyxhQUFhLENBQUM7QUFBQSxFQUN2QjtBQUVBLFFBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBRTVDLGFBQVcsZUFBZSxjQUFjO0FBQ3RDLFFBQUksWUFBWSxTQUFTO0FBQ3ZCLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFFBQU0sMEJBQXdDLE1BQU0sS0FBSyxjQUFjLENBQUMsZ0JBQWdCLFFBQVEsYUFBYSxXQUFXLENBQUM7QUFFekgsUUFBTSxpQ0FBaUMsSUFBSSxrQkFBa0IsRUFBRSxhQUFhLHdCQUF3QixDQUFDO0FBRXJHLFNBQU8sZ0JBQWdCO0FBRXZCLFdBQVMsWUFBWSxhQUFnQztBQUNuRCxtQ0FBK0IsUUFBUTtBQUN2QyxvQkFBZ0IsTUFBTSxZQUFZLE1BQU07QUFBQSxFQUMxQztBQUNGO0FBT08sU0FBUyxtQkFBZ0M7QUFDOUMsU0FBTyxJQUFJLGdCQUFnQixFQUFFO0FBQy9CO0FBUU8sU0FBUyxtQkFBbUIsdUJBQTRDO0FBQzdFLE1BQUksMEJBQTBCLGtCQUFrQjtBQUM5QyxXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBVUEsUUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFFNUMsYUFBVyxXQUFXLE1BQU07QUFFMUIsb0JBQWdCLE1BQU0sSUFBSSxhQUFhLGdCQUFnQixPQUFPLHFCQUFxQixDQUFDLGlCQUFpQixjQUFjLENBQUM7QUFBQSxFQUN0SCxHQUFHLHFCQUFxQjtBQUN4QixTQUFPLGdCQUFnQjtBQUN6QjtBQXFCTyxTQUFTLDJCQUFzRDtBQUNwRSxTQUFPLHNCQUFzQix5QkFBeUIsSUFBSSwwQkFBMEIsQ0FBQyxFQUFFO0FBQ3pGO0FBbUJPLFNBQVMsdUJBQW9DO0FBQ2xELFNBQU8seUJBQXlCLEVBQUU7QUFDcEM7QUFTTyxTQUFTLFFBQVEsYUFBMEIsVUFBMEQ7QUFDMUcsTUFBSSxZQUFZLFNBQVM7QUFDdkIsYUFBUyxXQUFXO0FBQ3BCLFdBQU8sSUFBSSxtQkFBbUIsRUFBRSxVQUFVLEtBQUssQ0FBQztBQUFBLEVBQ2xEO0FBRUEsY0FBWSxpQkFBaUIsU0FBUyxpQkFBaUIsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNyRSxTQUFPLElBQUksbUJBQW1CO0FBQUEsSUFDNUIsVUFBVSxNQUFZO0FBQ3BCLGtCQUFZLG9CQUFvQixTQUFTLGVBQWU7QUFBQSxJQUMxRDtBQUFBLEVBQ0YsQ0FBQztBQUVELFdBQVMsZ0JBQWdCLFFBQXFCO0FBQzVDLGFBQVMsT0FBTyxNQUFxQjtBQUFBLEVBQ3ZDO0FBQ0Y7QUEwQk8sU0FBUyxhQUEwQixhQUEwQixxQkFBMkM7QUFDN0csU0FBTyxJQUFJLFFBQVcsQ0FBQyxTQUFTLFdBQVc7QUFDekMsWUFBUSxhQUFhLE1BQU07QUFDekIsVUFBSSxxQkFBcUI7QUFDdkIsZUFBTyxZQUFZLE1BQWU7QUFBQSxNQUNwQyxPQUFPO0FBQ0wsZ0JBQVEsWUFBWSxNQUFXO0FBQUEsTUFDakM7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNILENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -48,9 +48,9 @@ export interface DebugController {
|
|
|
48
48
|
* @example
|
|
49
49
|
* ```typescript
|
|
50
50
|
* window.DEBUG.enable('foo-bar'); // show all debug messages from the `foo-bar` plugin
|
|
51
|
-
* window.DEBUG.enable('foo-bar:obsidian-dev-utils:*'); // show all debug messages from
|
|
51
|
+
* window.DEBUG.enable('foo-bar:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within the `foo-bar` plugin (it keeps its legacy `obsidian-dev-utils` namespace)
|
|
52
52
|
* window.DEBUG.enable('foo-bar:*'); // show all debug messages from the `foo-bar` plugin and its submodules
|
|
53
|
-
* window.DEBUG.enable('*:obsidian-dev-utils:*'); // show all debug messages
|
|
53
|
+
* window.DEBUG.enable('*:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within any plugin
|
|
54
54
|
* window.DEBUG.enable(['foo-bar', 'baz-qux']); // enable multiple namespaces
|
|
55
55
|
* window.DEBUG.enable('foo-bar,baz-qux'); // enable multiple namespaces using comma-separated string
|
|
56
56
|
* window.DEBUG.enable('*'); // show all debug messages
|
package/dist/lib/esm/debug.d.mts
CHANGED
|
@@ -48,6 +48,11 @@ export declare function getDebugger(namespace: string, framesToSkip?: number): D
|
|
|
48
48
|
/**
|
|
49
49
|
* Returns a debugger instance for the library (under its debug namespace, see `Library.debugNamespace`).
|
|
50
50
|
*
|
|
51
|
+
* When the host supplied `Library.debugNamespaceAliases`, a filter written for an alias still shows the messages.
|
|
52
|
+
* Each message prints ONCE: under the current namespace when a filter enables it, otherwise under the first alias a
|
|
53
|
+
* filter enables. Printing under every enabled one would double each message under the most common filter of all,
|
|
54
|
+
* `<prefix>*`, which enables them all.
|
|
55
|
+
*
|
|
51
56
|
* @param namespace - The namespace for the debugger instance.
|
|
52
57
|
* @returns A debugger instance for the library (under its debug namespace, see `Library.debugNamespace`).
|
|
53
58
|
*/
|
package/dist/lib/esm/debug.mjs
CHANGED
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
} from "./error.mjs";
|
|
38
38
|
import { Library } from "./library.mjs";
|
|
39
39
|
import { getTypescriptLibState } from "./typescript-lib-state.mjs";
|
|
40
|
+
const ALIAS_FRAMES_TO_SKIP = 1;
|
|
40
41
|
const NAMESPACE_SEPARATOR = ",";
|
|
41
42
|
const NEGATED_NAMESPACE_PREFIX = "-";
|
|
42
43
|
function enableLibraryDebuggers() {
|
|
@@ -69,7 +70,25 @@ function getDebugger(namespace, framesToSkip = 0) {
|
|
|
69
70
|
return debuggerEx;
|
|
70
71
|
}
|
|
71
72
|
function getLibDebugger(namespace) {
|
|
72
|
-
|
|
73
|
+
const aliases = Library.debugNamespaceAliases;
|
|
74
|
+
if (aliases.length === 0) {
|
|
75
|
+
return getDebugger(`${Library.debugPrefixNamespace}${Library.debugNamespace}:${namespace}`);
|
|
76
|
+
}
|
|
77
|
+
const currentDebugger = getDebugger(`${Library.debugPrefixNamespace}${Library.debugNamespace}:${namespace}`, ALIAS_FRAMES_TO_SKIP);
|
|
78
|
+
const aliasDebuggers = aliases.map((alias) => getDebugger(`${Library.debugPrefixNamespace}${alias}:${namespace}`, ALIAS_FRAMES_TO_SKIP));
|
|
79
|
+
const allDebuggers = [currentDebugger, ...aliasDebuggers];
|
|
80
|
+
return new Proxy(currentDebugger, {
|
|
81
|
+
apply(_target, _thisArgument, $arguments) {
|
|
82
|
+
allDebuggers.find((debuggerInstance) => debuggerInstance.enabled)?.(...$arguments);
|
|
83
|
+
},
|
|
84
|
+
get(target, property, receiver) {
|
|
85
|
+
if (property === "enabled") {
|
|
86
|
+
return allDebuggers.some((debuggerInstance) => debuggerInstance.enabled);
|
|
87
|
+
}
|
|
88
|
+
const value = Reflect.get(target, property, receiver);
|
|
89
|
+
return value;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
73
92
|
}
|
|
74
93
|
function printWithStackTrace(params) {
|
|
75
94
|
const {
|
|
@@ -165,4 +184,4 @@ export {
|
|
|
165
184
|
printWithStackTrace,
|
|
166
185
|
showInitialDebugMessage
|
|
167
186
|
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZSAtIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBkZWJ1Z2dlciBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEgZGVidWdnZXIgaW5zdGFuY2UgZm9yIHRoZSBsaWJyYXJ5ICh1bmRlciBpdHMgZGVidWcgbmFtZXNwYWNlLCBzZWUgYExpYnJhcnkuZGVidWdOYW1lc3BhY2VgKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExpYkRlYnVnZ2VyKG5hbWVzcGFjZTogc3RyaW5nKTogRGVidWdnZXIge1xuICByZXR1cm4gZ2V0RGVidWdnZXIoYCR7TGlicmFyeS5kZWJ1Z1ByZWZpeE5hbWVzcGFjZX0ke0xpYnJhcnkuZGVidWdOYW1lc3BhY2V9OiR7bmFtZXNwYWNlfWApO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpc0VuYWJsZWQgPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChwbHVnaW5JZCk7XG4gIGNvbnN0IHN0YXRlID0gaXNFbmFibGVkID8gJ2VuYWJsZWQnIDogJ2Rpc2FibGVkJztcbiAgY29uc3QgY2hhbmdlQWN0aW9uID0gaXNFbmFibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBnZXROYW1lc3BhY2VzKCk7XG4gIHNldE5hbWVzcGFjZXMocGx1Z2luSWQpO1xuICBnZXREZWJ1Z2dlcihwbHVnaW5JZCkoXG4gICAgYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJHtwbHVnaW5JZH0gYXJlICR7c3RhdGV9LiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoYCBob3cgdG8gJHtjaGFuZ2VBY3Rpb259IHRoZW1gKX1gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgc2V0LmFkZChuZWdhdGVkTmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKFsuLi5zZXRdKTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAoIW5hbWVzcGFjZS5zdGFydHNXaXRoKE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCkpIHtcbiAgICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgICBzZXQuZGVsZXRlKG5lZ2F0ZWROYW1lc3BhY2UpO1xuICAgIH1cbiAgICBzZXQuYWRkKG5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEd1aWRlUmVmZXJlbmNlKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExpYnJhcnkuZGVidWdHdWlkZVVybCA/IGAgU2VlICR7TGlicmFyeS5kZWJ1Z0d1aWRlVXJsfSR7c3VmZml4fS5gIDogJyc7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLE9BQU8sV0FBVztBQUlsQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsZUFBZTtBQUN4QixTQUFTLDZCQUE2QjtBQUV0QyxNQUFNLHNCQUFzQjtBQUM1QixNQUFNLDJCQUEyQjtBQXVEMUIsU0FBUyx5QkFBK0I7QUFDN0MsbUJBQWlCLENBQUMsUUFBUSxnQkFBZ0IsR0FBRyxRQUFRLGNBQWMsSUFBSSxDQUFDO0FBQzFFO0FBT08sU0FBUyxxQkFBc0M7QUFDcEQsU0FBTztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsS0FBSztBQUFBLElBQ0wsS0FBSztBQUFBLEVBQ1A7QUFDRjtBQVNPLFNBQVMsWUFBWSxXQUFtQixlQUFlLEdBQWE7QUFDekUsUUFBTSxNQUFNLEdBQUcsU0FBUyxJQUFJLE9BQU8sWUFBWSxDQUFDO0FBQ2hELFFBQU0sZUFBZSxzQkFBc0IsYUFBYSxvQkFBSSxJQUFzQixDQUFDLEVBQUU7QUFDckYsTUFBSSxhQUFhLGFBQWEsSUFBSSxHQUFHO0FBQ3JDLE1BQUksQ0FBQyxZQUFZO0FBQ2YsaUJBQWEsMEJBQTBCLEVBQUUsU0FBUztBQUNsRCxlQUFXLE1BQU0sQ0FBQyxZQUFvQixlQUFnQztBQUNwRSxvQkFBYztBQUFBLFFBQ1o7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBRUEsaUJBQWEsSUFBSSxLQUFLLFVBQVU7QUFBQSxFQUNsQztBQUVBLFNBQU87QUFDVDtBQVFPLFNBQVMsZUFBZSxXQUE2QjtBQUMxRCxTQUFPLFlBQVksR0FBRyxRQUFRLG9CQUFvQixHQUFHLFFBQVEsY0FB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
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogVGhlIGFsaWFzaW5nIGRlYnVnZ2VyJ3Mgb3duIGZyYW1lIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgdGhlIGBkZWJ1Z2AgcGFja2FnZTogdGhlIGBhcHBseWAgdHJhcCBvZiBpdHMgcHJveHkuXG4gKi9cbmNvbnN0IEFMSUFTX0ZSQU1FU19UT19TS0lQID0gMTtcbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogV2hlbiB0aGUgaG9zdCBzdXBwbGllZCBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZUFsaWFzZXNgLCBhIGZpbHRlciB3cml0dGVuIGZvciBhbiBhbGlhcyBzdGlsbCBzaG93cyB0aGUgbWVzc2FnZXMuXG4gKiBFYWNoIG1lc3NhZ2UgcHJpbnRzIE9OQ0U6IHVuZGVyIHRoZSBjdXJyZW50IG5hbWVzcGFjZSB3aGVuIGEgZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYVxuICogZmlsdGVyIGVuYWJsZXMuIFByaW50aW5nIHVuZGVyIGV2ZXJ5IGVuYWJsZWQgb25lIHdvdWxkIGRvdWJsZSBlYWNoIG1lc3NhZ2UgdW5kZXIgdGhlIG1vc3QgY29tbW9uIGZpbHRlciBvZiBhbGwsXG4gKiBgPHByZWZpeD4qYCwgd2hpY2ggZW5hYmxlcyB0aGVtIGFsbC5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSBmb3IgdGhlIGxpYnJhcnkgKHVuZGVyIGl0cyBkZWJ1ZyBuYW1lc3BhY2UsIHNlZSBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGliRGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gIGNvbnN0IGFsaWFzZXMgPSBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlQWxpYXNlcztcbiAgaWYgKGFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gKTtcbiAgfVxuXG4gIC8vIEV2ZXJ5IGRlYnVnZ2VyIGNvbWVzIGZyb20gdGhlIHNoYXJlZCBjYWNoZSBgZ2V0RGVidWdnZXJgIGtlZXBzLCBzbyBvbmx5IHRoZSBjaGVhcCBwcm94eSBpcyBuZXcgb24gZWFjaCBjYWxsLCBhbmQgYVxuICAvLyBzcHkgaW5zdGFsbGVkIG9uIG9uZSBjYWxsJ3MgYGxvZ2AgaXMgdGhlIG9uZSB0aGUgbmV4dCBjYWxsIHJlYWNoZXMuXG4gIGNvbnN0IGN1cnJlbnREZWJ1Z2dlciA9IGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gLCBBTElBU19GUkFNRVNfVE9fU0tJUCk7XG4gIGNvbnN0IGFsaWFzRGVidWdnZXJzID0gYWxpYXNlcy5tYXAoKGFsaWFzKSA9PiBnZXREZWJ1Z2dlcihgJHtMaWJyYXJ5LmRlYnVnUHJlZml4TmFtZXNwYWNlfSR7YWxpYXN9OiR7bmFtZXNwYWNlfWAsIEFMSUFTX0ZSQU1FU19UT19TS0lQKSk7XG4gIGNvbnN0IGFsbERlYnVnZ2VycyA9IFtjdXJyZW50RGVidWdnZXIsIC4uLmFsaWFzRGVidWdnZXJzXTtcbiAgcmV0dXJuIG5ldyBQcm94eShjdXJyZW50RGVidWdnZXIsIHtcbiAgICBhcHBseShfdGFyZ2V0LCBfdGhpc0FyZ3VtZW50LCAkYXJndW1lbnRzOiBQYXJhbWV0ZXJzPERlYnVnZ2VyPik6IHZvaWQge1xuICAgICAgYWxsRGVidWdnZXJzLmZpbmQoKGRlYnVnZ2VySW5zdGFuY2UpID0+IGRlYnVnZ2VySW5zdGFuY2UuZW5hYmxlZCk/LiguLi4kYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGdldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcik6IHVua25vd24ge1xuICAgICAgaWYgKHByb3BlcnR5ID09PSAnZW5hYmxlZCcpIHtcbiAgICAgICAgcmV0dXJuIGFsbERlYnVnZ2Vycy5zb21lKChkZWJ1Z2dlckluc3RhbmNlKSA9PiBkZWJ1Z2dlckluc3RhbmNlLmVuYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpc0VuYWJsZWQgPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChwbHVnaW5JZCk7XG4gIGNvbnN0IHN0YXRlID0gaXNFbmFibGVkID8gJ2VuYWJsZWQnIDogJ2Rpc2FibGVkJztcbiAgY29uc3QgY2hhbmdlQWN0aW9uID0gaXNFbmFibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBnZXROYW1lc3BhY2VzKCk7XG4gIHNldE5hbWVzcGFjZXMocGx1Z2luSWQpO1xuICBnZXREZWJ1Z2dlcihwbHVnaW5JZCkoXG4gICAgYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJHtwbHVnaW5JZH0gYXJlICR7c3RhdGV9LiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoYCBob3cgdG8gJHtjaGFuZ2VBY3Rpb259IHRoZW1gKX1gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgc2V0LmFkZChuZWdhdGVkTmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKFsuLi5zZXRdKTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAoIW5hbWVzcGFjZS5zdGFydHNXaXRoKE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCkpIHtcbiAgICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgICBzZXQuZGVsZXRlKG5lZ2F0ZWROYW1lc3BhY2UpO1xuICAgIH1cbiAgICBzZXQuYWRkKG5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEd1aWRlUmVmZXJlbmNlKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExpYnJhcnkuZGVidWdHdWlkZVVybCA/IGAgU2VlICR7TGlicmFyeS5kZWJ1Z0d1aWRlVXJsfSR7c3VmZml4fS5gIDogJyc7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdz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
|
|
@@ -33,6 +33,12 @@ export interface LibraryInitParams {
|
|
|
33
33
|
* A host that publishes its own debug namespace to its users passes it here, so their filters keep matching.
|
|
34
34
|
*/
|
|
35
35
|
readonly debugNamespace?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Earlier names of {@link debugNamespace}, so a filter written for one of them keeps showing the library's debug
|
|
38
|
+
* messages after the host renames its namespace. Each message still prints once: under {@link debugNamespace} when a
|
|
39
|
+
* filter enables it, otherwise under the first alias a filter enables. Defaults to none.
|
|
40
|
+
*/
|
|
41
|
+
readonly debugNamespaceAliases?: readonly string[];
|
|
36
42
|
/**
|
|
37
43
|
* The namespace prefix prepended to the library's debug namespaces (e.g. `${pluginId}:`).
|
|
38
44
|
*/
|
|
@@ -63,6 +69,13 @@ declare class LibraryContext {
|
|
|
63
69
|
* @returns The debug namespace.
|
|
64
70
|
*/
|
|
65
71
|
get debugNamespace(): string;
|
|
72
|
+
/**
|
|
73
|
+
* The earlier names of {@link debugNamespace} a filter may still be written for. Empty until {@link init} is called
|
|
74
|
+
* with some.
|
|
75
|
+
*
|
|
76
|
+
* @returns The debug namespace aliases.
|
|
77
|
+
*/
|
|
78
|
+
get debugNamespaceAliases(): readonly string[];
|
|
66
79
|
/**
|
|
67
80
|
* The namespace prefix prepended to the library's debug namespaces. Empty until {@link init} is called.
|
|
68
81
|
*
|
package/dist/lib/esm/library.mjs
CHANGED
|
@@ -26,6 +26,15 @@ class LibraryContext {
|
|
|
26
26
|
get debugNamespace() {
|
|
27
27
|
return this.params.debugNamespace ?? DEFAULT_DEBUG_NAMESPACE;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* The earlier names of {@link debugNamespace} a filter may still be written for. Empty until {@link init} is called
|
|
31
|
+
* with some.
|
|
32
|
+
*
|
|
33
|
+
* @returns The debug namespace aliases.
|
|
34
|
+
*/
|
|
35
|
+
get debugNamespaceAliases() {
|
|
36
|
+
return this.params.debugNamespaceAliases ?? [];
|
|
37
|
+
}
|
|
29
38
|
/**
|
|
30
39
|
* The namespace prefix prepended to the library's debug namespaces. Empty until {@link init} is called.
|
|
31
40
|
*
|
|
@@ -71,4 +80,4 @@ export {
|
|
|
71
80
|
LIBRARY_NAME,
|
|
72
81
|
Library
|
|
73
82
|
};
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xpYnJhcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cblxuLyoqXG4gKiBBIG5hbWUgb2YgdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBMSUJSQVJZX05BTUUgPSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliJztcblxuLyoqXG4gKiBUaGUgZGVidWcgbmFtZXNwYWNlIHRoZSBsaWJyYXJ5J3Mgb3duIGRlYnVnZ2VycyBsaXZlIHVuZGVyIHVudGlsIHtAbGluayBMaWJyYXJ5LmluaXR9IHN1cHBsaWVzIGFub3RoZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFQlVHX05BTUVTUEFDRSA9ICd0eXBlc2NyaXB0LWxpYic7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIExpYnJhcnkuaW5pdH0uXG4gKlxuICogVGhlc2UgYXJlIHB1cmVseSBjb3NtZXRpYyB2YWx1ZXMgdGhlIGhvc3QgaW5qZWN0cyBvbmNlIGF0IGluaXRpYWxpemF0aW9uLCBzbyB0aGUgbGlicmFyeSBpdHNlbGYgY2Fycmllc1xuICogbm8ga25vd2xlZGdlIG9mIHdobyBob3N0cyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWJyYXJ5SW5pdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBndWlkZSBleHBsYWluaW5nIGhvdyB0byB0dXJuIGRlYnVnIG1lc3NhZ2VzIG9uIGFuZCBvZmYsIG5hbWVkIGluIHRoZSBsaWJyYXJ5J3MgZGVidWcgbWVzc2FnZXMuXG4gICAqIFdpdGhvdXQgb25lLCB0aGUgbWVzc2FnZXMgbmFtZSBubyBndWlkZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnR3VpZGVVcmw/
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xpYnJhcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cblxuLyoqXG4gKiBBIG5hbWUgb2YgdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBMSUJSQVJZX05BTUUgPSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliJztcblxuLyoqXG4gKiBUaGUgZGVidWcgbmFtZXNwYWNlIHRoZSBsaWJyYXJ5J3Mgb3duIGRlYnVnZ2VycyBsaXZlIHVuZGVyIHVudGlsIHtAbGluayBMaWJyYXJ5LmluaXR9IHN1cHBsaWVzIGFub3RoZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFQlVHX05BTUVTUEFDRSA9ICd0eXBlc2NyaXB0LWxpYic7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIExpYnJhcnkuaW5pdH0uXG4gKlxuICogVGhlc2UgYXJlIHB1cmVseSBjb3NtZXRpYyB2YWx1ZXMgdGhlIGhvc3QgaW5qZWN0cyBvbmNlIGF0IGluaXRpYWxpemF0aW9uLCBzbyB0aGUgbGlicmFyeSBpdHNlbGYgY2Fycmllc1xuICogbm8ga25vd2xlZGdlIG9mIHdobyBob3N0cyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWJyYXJ5SW5pdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBndWlkZSBleHBsYWluaW5nIGhvdyB0byB0dXJuIGRlYnVnIG1lc3NhZ2VzIG9uIGFuZCBvZmYsIG5hbWVkIGluIHRoZSBsaWJyYXJ5J3MgZGVidWcgbWVzc2FnZXMuXG4gICAqIFdpdGhvdXQgb25lLCB0aGUgbWVzc2FnZXMgbmFtZSBubyBndWlkZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnR3VpZGVVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2UgdGhlIGxpYnJhcnkncyBvd24gZGVidWdnZXJzIGxpdmUgdW5kZXIuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0RFQlVHX05BTUVTUEFDRX0uXG4gICAqIEEgaG9zdCB0aGF0IHB1Ymxpc2hlcyBpdHMgb3duIGRlYnVnIG5hbWVzcGFjZSB0byBpdHMgdXNlcnMgcGFzc2VzIGl0IGhlcmUsIHNvIHRoZWlyIGZpbHRlcnMga2VlcCBtYXRjaGluZy5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFYXJsaWVyIG5hbWVzIG9mIHtAbGluayBkZWJ1Z05hbWVzcGFjZX0sIHNvIGEgZmlsdGVyIHdyaXR0ZW4gZm9yIG9uZSBvZiB0aGVtIGtlZXBzIHNob3dpbmcgdGhlIGxpYnJhcnkncyBkZWJ1Z1xuICAgKiBtZXNzYWdlcyBhZnRlciB0aGUgaG9zdCByZW5hbWVzIGl0cyBuYW1lc3BhY2UuIEVhY2ggbWVzc2FnZSBzdGlsbCBwcmludHMgb25jZTogdW5kZXIge0BsaW5rIGRlYnVnTmFtZXNwYWNlfSB3aGVuIGFcbiAgICogZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYSBmaWx0ZXIgZW5hYmxlcy4gRGVmYXVsdHMgdG8gbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnTmFtZXNwYWNlQWxpYXNlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIHByZWZpeCBwcmVwZW5kZWQgdG8gdGhlIGxpYnJhcnkncyBkZWJ1ZyBuYW1lc3BhY2VzIChlLmcuIGAke3BsdWdpbklkfTpgKS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnUHJlZml4TmFtZXNwYWNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgZGVidWcgbG9nZ2luZyBzaG91bGQgYXBwZW5kIGEgcmljaCBEZXZUb29scyBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFByaW50U3RhY2tUcmFjZTogYm9vbGVhbjtcbn1cblxuY29uc3QgREVGQVVMVF9QQVJBTVM6IExpYnJhcnlJbml0UGFyYW1zID0ge1xuICBkZWJ1Z1ByZWZpeE5hbWVzcGFjZTogJycsXG4gIHNob3VsZFByaW50U3RhY2tUcmFjZTogZmFsc2Vcbn07XG5cbi8qKlxuICogVGhlIHNpbmdsZSwgZGV0ZXJtaW5pc3RpYyBpbml0aWFsaXphdGlvbiBlbnRyeSBwb2ludCBmb3IgdGhlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGxpYnJhcnkuXG4gKlxuICogVGhlIGhvc3QgY2FsbHMge0BsaW5rIExpYnJhcnkuaW5pdH0gZXhhY3RseSBvbmNlIHRvIHB1c2ggaXRzIGNvc21ldGljIGNvbmZpZ3VyYXRpb247IHRoZSBsaWJyYXJ5IG9ubHlcbiAqIHJlYWRzIGl0IHRocm91Z2ggdGhlIGdldHRlcnMuIENhbGxpbmcge0BsaW5rIExpYnJhcnkuaW5pdH0gbW9yZSB0aGFuIG9uY2UgdGhyb3dzIFx1MjAxNFxuICoge0BsaW5rIExpYnJhcnkucmVzZXRUb0RlZmF1bHR9IGNsZWFycyB0aGUgc3RhdGUgKGUuZy4gYmV0d2VlbiB0ZXN0cywgb3Igb24gdW5sb2FkKSBhbmQgYWxsb3dzXG4gKiByZS1pbml0aWFsaXphdGlvbi5cbiAqL1xuY2xhc3MgTGlicmFyeUNvbnRleHQge1xuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgZ3VpZGUgZXhwbGFpbmluZyBob3cgdG8gdHVybiBkZWJ1ZyBtZXNzYWdlcyBvbiBhbmQgb2ZmLiBFbXB0eSB1bnRpbCB7QGxpbmsgaW5pdH0gaXMgY2FsbGVkIHdpdGggb25lLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZGVidWcgZ3VpZGUgVVJMLlxuICAgKi9cbiAgcHVibGljIGdldCBkZWJ1Z0d1aWRlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmRlYnVnR3VpZGVVcmwgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSB0aGUgbGlicmFyeSdzIG93biBkZWJ1Z2dlcnMgbGl2ZSB1bmRlci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGRlYnVnIG5hbWVzcGFjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVidWdOYW1lc3BhY2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZGVidWdOYW1lc3BhY2UgPz8gREVGQVVMVF9ERUJVR19OQU1FU1BBQ0U7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVhcmxpZXIgbmFtZXMgb2Yge0BsaW5rIGRlYnVnTmFtZXNwYWNlfSBhIGZpbHRlciBtYXkgc3RpbGwgYmUgd3JpdHRlbiBmb3IuIEVtcHR5IHVudGlsIHtAbGluayBpbml0fSBpcyBjYWxsZWRcbiAgICogd2l0aCBzb21lLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZGVidWcgbmFtZXNwYWNlIGFsaWFzZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlYnVnTmFtZXNwYWNlQWxpYXNlcygpOiByZWFkb25seSBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmRlYnVnTmFtZXNwYWNlQWxpYXNlcyA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIHByZWZpeCBwcmVwZW5kZWQgdG8gdGhlIGxpYnJhcnkncyBkZWJ1ZyBuYW1lc3BhY2VzLiBFbXB0eSB1bnRpbCB7QGxpbmsgaW5pdH0gaXMgY2FsbGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZGVidWcgbmFtZXNwYWNlIHByZWZpeC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVidWdQcmVmaXhOYW1lc3BhY2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZGVidWdQcmVmaXhOYW1lc3BhY2U7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBkZWJ1ZyBsb2dnaW5nIHNob3VsZCBhcHBlbmQgYSByaWNoIERldlRvb2xzIHN0YWNrIHRyYWNlLiBgZmFsc2VgIHVudGlsIHtAbGluayBpbml0fSBpcyBjYWxsZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gcHJpbnQgc3RhY2sgdHJhY2VzLlxuICAgKi9cbiAgcHVibGljIGdldCBzaG91bGRQcmludFN0YWNrVHJhY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLnNob3VsZFByaW50U3RhY2tUcmFjZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcGFyYW1zOiBMaWJyYXJ5SW5pdFBhcmFtcyA9IHsgLi4uREVGQVVMVF9QQVJBTVMgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGxpYnJhcnkgd2l0aCB0aGUgaG9zdCdzIGNvc21ldGljIGNvbmZpZ3VyYXRpb24uIE11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZTsgY2FsbGluZyBpdFxuICAgKiBhZ2FpbiBiZWZvcmUge0BsaW5rIHJlc2V0VG9EZWZhdWx0fSB0aHJvd3MuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgY29zbWV0aWMgY29uZmlndXJhdGlvbiB0byBpbmplY3QuXG4gICAqL1xuICBwdWJsaWMgaW5pdChwYXJhbXM6IExpYnJhcnlJbml0UGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke0xJQlJBUllfTkFNRX0gaXMgYWxyZWFkeSBpbml0aWFsaXplZC4gQ2FsbCBMaWJyYXJ5LnJlc2V0VG9EZWZhdWx0KCkgYmVmb3JlIGluaXRpYWxpemluZyBhZ2Fpbi5gKTtcbiAgICB9XG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB0aGlzLnBhcmFtcyA9IHsgLi4ucGFyYW1zIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBsaWJyYXJ5IGJhY2sgdG8gaXRzIGRlZmF1bHQgKHVuaW5pdGlhbGl6ZWQpIHN0YXRlLCBhbGxvd2luZyB7QGxpbmsgaW5pdH0gdG8gYmUgY2FsbGVkIGFnYWluLlxuICAgKi9cbiAgcHVibGljIHJlc2V0VG9EZWZhdWx0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMucGFyYW1zID0geyAuLi5ERUZBVUxUX1BBUkFNUyB9O1xuICB9XG59XG5cbi8qKlxuICogVGhlIHNpbmdsZSB7QGxpbmsgTGlicmFyeUNvbnRleHR9IGluc3RhbmNlIFx1MjAxNCB0aGUgbGlicmFyeSdzIGRldGVybWluaXN0aWMgaW5pdGlhbGl6YXRpb24gZW50cnkgcG9pbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBMaWJyYXJ5ID0gbmV3IExpYnJhcnlDb250ZXh0KCk7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQVNPLE1BQU0sZUFBZTtBQUtyQixNQUFNLDBCQUEwQjtBQXVDdkMsTUFBTSxpQkFBb0M7QUFBQSxFQUN4QyxzQkFBc0I7QUFBQSxFQUN0Qix1QkFBdUI7QUFDekI7QUFVQSxNQUFNLGVBQWU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNbkIsSUFBVyxnQkFBd0I7QUFDakMsV0FBTyxLQUFLLE9BQU8saUJBQWlCO0FBQUEsRUFDdEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFXLGlCQUF5QjtBQUNsQyxXQUFPLEtBQUssT0FBTyxrQkFBa0I7QUFBQSxFQUN2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsSUFBVyx3QkFBMkM7QUFDcEQsV0FBTyxLQUFLLE9BQU8seUJBQXlCLENBQUM7QUFBQSxFQUMvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLElBQVcsdUJBQStCO0FBQ3hDLFdBQU8sS0FBSyxPQUFPO0FBQUEsRUFDckI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFXLHdCQUFpQztBQUMxQyxXQUFPLEtBQUssT0FBTztBQUFBLEVBQ3JCO0FBQUEsRUFFUSxnQkFBZ0I7QUFBQSxFQUVoQixTQUE0QixFQUFFLEdBQUcsZUFBZTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWpELEtBQUssUUFBaUM7QUFDM0MsUUFBSSxLQUFLLGVBQWU7QUFDdEIsWUFBTSxJQUFJLE1BQU0sR0FBRyxZQUFZLG1GQUFtRjtBQUFBLElBQ3BIO0FBQ0EsU0FBSyxnQkFBZ0I7QUFDckIsU0FBSyxTQUFTLEVBQUUsR0FBRyxPQUFPO0FBQUEsRUFDNUI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLGlCQUF1QjtBQUM1QixTQUFLLGdCQUFnQjtBQUNyQixTQUFLLFNBQVMsRUFBRSxHQUFHLGVBQWU7QUFBQSxFQUNwQztBQUNGO0FBS08sTUFBTSxVQUFVLElBQUksZUFBZTsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* The bag lives on `globalThis` under a `Symbol.for` key, so every copy of this module loaded in one realm shares
|
|
8
8
|
* it, whichever version it is. It holds what must exist once per realm: the debuggers, the `debug` instance and the
|
|
9
|
-
* shared abort controller. Obsidian-specific state stays in
|
|
9
|
+
* shared abort controller. Obsidian-specific state stays in `@mnaoumov/obsidian-lib`, under its legacy `__obsidianDevUtils` global.
|
|
10
10
|
*
|
|
11
11
|
* The slot is a cross-version wire format: its key and the {@link TypescriptLibStateSlot} shape only ever change
|
|
12
12
|
* additively.
|
|
@@ -37,4 +37,4 @@ export {
|
|
|
37
37
|
getTypescriptLibStateSlot,
|
|
38
38
|
resetTypescriptLibState
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGVzY3JpcHQtbGliLXN0YXRlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvZiB0aGUgZ2VuZXJpYywgbm9uLU9ic2lkaWFuIHBhcnQgb2YgdGhlIGxpYnJhcnkuXG4gKlxuICogVGhlIGJhZyBsaXZlcyBvbiBgZ2xvYmFsVGhpc2AgdW5kZXIgYSBgU3ltYm9sLmZvcmAga2V5LCBzbyBldmVyeSBjb3B5IG9mIHRoaXMgbW9kdWxlIGxvYWRlZCBpbiBvbmUgcmVhbG0gc2hhcmVzXG4gKiBpdCwgd2hpY2hldmVyIHZlcnNpb24gaXQgaXMuIEl0IGhvbGRzIHdoYXQgbXVzdCBleGlzdCBvbmNlIHBlciByZWFsbTogdGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZVxuICogc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIuIE9ic2lkaWFuLXNwZWNpZmljIHN0YXRlIHN0YXlzIGluIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCwgdW5kZXIgaXRzIGxlZ2FjeSBgX19vYnNpZGlhbkRldlV0aWxzYCBnbG9iYWwuXG4gKlxuICogVGhlIHNsb3QgaXMgYSBjcm9zcy12ZXJzaW9uIHdpcmUgZm9ybWF0OiBpdHMga2V5IGFuZCB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIG9ubHkgZXZlciBjaGFuZ2VcbiAqIGFkZGl0aXZlbHkuXG4gKi9cblxuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnLi92YWx1ZS13cmFwcGVyLnRzJztcblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIHRoaXMgY29weSB3cml0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OID0gMTtcblxuLyoqXG4gKiBUaGUga2V5IG9mIHRoZSBnbG9iYWwgc2xvdCBob2xkaW5nIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0uXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVk6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2wuZm9yKCdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RhdGUnKTtcblxuLyoqXG4gKiBUaGUgc2hhcmVkLXN0YXRlIHNsb3Qgc3RvcmVkIG9uIGBnbG9iYWxUaGlzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgLyoqXG4gICAqIFRoZSBzaGFyZWQgdmFsdWVzLCBlYWNoIGluIGEge0BsaW5rIFZhbHVlV3JhcHBlcn0gc28gYSBob2xkZXIgY2FuIHJlcGxhY2UgdGhlIHZhbHVlIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBWYWx1ZVdyYXBwZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgc2xvdCBzaGFwZSB0aGUgY3JlYXRvciB3cm90ZS4gSW5mb3JtYXRpb25hbDogdGhlIHNoYXBlIG9ubHkgY2hhbmdlcyBhZGRpdGl2ZWx5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogbnVtYmVyO1xufVxuXG50eXBlIEdsb2JhbFdpdGhUeXBlc2NyaXB0TGliU3RhdGUgPSBQYXJ0aWFsPFJlY29yZDx0eXBlb2YgVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZLCBUeXBlc2NyaXB0TGliU3RhdGVTbG90Pj47XG5cbi8qKlxuICogUmV0cmlldmVzIG9yIGNyZWF0ZXMgYSBzaGFyZWQtc3RhdGUge0BsaW5rIFZhbHVlV3JhcHBlcn0gZm9yIGEgZ2l2ZW4ga2V5LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBzaGFyZWQgc3RhdGUgdmFsdWUuXG4gKiBAcGFyYW0ga2V5IC0gVGhlIGtleSB0byBzdG9yZSBvciByZXRyaWV2ZSB0aGUgc2hhcmVkIHN0YXRlIHVuZGVyLlxuICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHVzZSBpZiB0aGUgc2hhcmVkIHN0YXRlIGRvZXMgbm90IGV4aXN0IHlldC5cbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSB0aGF0IHN0b3JlcyB0aGUgc2hhcmVkIHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZXNjcmlwdExpYlN0YXRlPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBWYWx1ZVdyYXBwZXI8VD4ge1xuICByZXR1cm4gKGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKS52YWx1ZXNba2V5XSA/Pz0gVmFsdWVXcmFwcGVyLm9mKGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyB0aGUgc2hhcmVkLXN0YXRlIHNsb3QuXG4gKlxuICogQHJldHVybnMgVGhlIHtAbGluayBUeXBlc2NyaXB0TGliU3RhdGVTbG90fS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIGNvbnN0IGdsb2JhbCA9IGdldEdsb2JhbCgpO1xuICBsZXQgc2xvdCA9IGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldO1xuICBpZiAoIXNsb3QpIHtcbiAgICBzbG90ID0gY3JlYXRlU2xvdCgpO1xuICAgIGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldID0gc2xvdDtcbiAgfVxuICByZXR1cm4gc2xvdDtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcuXG4gKlxuICogSW50ZW5kZWQgZm9yIHRlc3QgaXNvbGF0aW9uOiBjYWxsIGl0IGJlZm9yZSBlYWNoIHRlc3Qgc28gYWNjdW11bGF0ZWQgc3RhdGUgZG9lcyBub3QgbGVhayBiZXR3ZWVuIHRlc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRUeXBlc2NyaXB0TGliU3RhdGUoKTogdm9pZCB7XG4gIGdldEdsb2JhbCgpW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV0gPSBjcmVhdGVTbG90KCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIHJldHVybiB7XG4gICAgdmFsdWVzOiB7fSxcbiAgICB2ZXJzaW9uOiBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldEdsb2JhbCgpOiBHbG9iYWxXaXRoVHlwZXNjcmlwdExpYlN0YXRlIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMgYXMgR2xvYmFsV2l0aFR5cGVzY3JpcHRMaWJTdGF0ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBYUEsU0FBUyxvQkFBb0I7QUFLdEIsTUFBTSwrQkFBK0I7QUFLckMsTUFBTSwyQkFBMEMsdUJBQU8sSUFBSSxnQ0FBZ0M7QUEyQjNGLFNBQVMsc0JBQXlCLEtBQWEsY0FBa0M7QUFDdEYsU0FBUSwwQkFBMEIsRUFBRSxPQUFPLEdBQUcsTUFBTSxhQUFhLEdBQUcsWUFBWTtBQUNsRjtBQU9PLFNBQVMsNEJBQW9EO0FBQ2xFLFFBQU0sU0FBUyxVQUFVO0FBQ3pCLE1BQUksT0FBTyxPQUFPLHdCQUF3QjtBQUMxQyxNQUFJLENBQUMsTUFBTTtBQUNULFdBQU8sV0FBVztBQUNsQixXQUFPLHdCQUF3QixJQUFJO0FBQUEsRUFDckM7QUFDQSxTQUFPO0FBQ1Q7QUFPTyxTQUFTLDBCQUFnQztBQUM5QyxZQUFVLEVBQUUsd0JBQXdCLElBQUksV0FBVztBQUNyRDtBQUVBLFNBQVMsYUFBcUM7QUFDNUMsU0FBTztBQUFBLElBQ0wsUUFBUSxDQUFDO0FBQUEsSUFDVCxTQUFTO0FBQUEsRUFDWDtBQUNGO0FBRUEsU0FBUyxZQUEwQztBQUNqRCxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnaoumov/typescript-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Generic TypeScript utilities: async helpers, errors, disposables, strings, paths, debug logging and more, usable in any TypeScript project.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -78,7 +78,6 @@
|
|
|
78
78
|
"build": "jiti scripts/build.ts",
|
|
79
79
|
"build:clean": "jiti scripts/build-clean.ts",
|
|
80
80
|
"build:compile": "jiti scripts/build-compile.ts",
|
|
81
|
-
"build:compile:typescript": "jiti scripts/build-compile-typescript.ts",
|
|
82
81
|
"build:generate-exports": "jiti scripts/build-generate-exports.ts",
|
|
83
82
|
"build:generate-index": "jiti scripts/build-generate-index.ts",
|
|
84
83
|
"build:lib": "jiti scripts/build-lib.ts",
|
|
@@ -87,6 +86,7 @@
|
|
|
87
86
|
"build:validate-dependencies": "jiti scripts/build-validate-dependencies.ts",
|
|
88
87
|
"commit": "jiti scripts/commit.ts",
|
|
89
88
|
"docs:build": "jiti scripts/docs-build.ts",
|
|
89
|
+
"docs:check-snippets": "jiti scripts/docs-check-snippets.ts",
|
|
90
90
|
"docs:dev": "jiti scripts/docs-dev.ts",
|
|
91
91
|
"docs:preview": "jiti scripts/docs-preview.ts",
|
|
92
92
|
"find-overexposed": "jiti scripts/find-overexposed.ts",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"@astrojs/starlight": "^0.42.6",
|
|
119
119
|
"@commitlint/cli": "^21.2.2",
|
|
120
120
|
"@commitlint/config-conventional": "^21.2.2",
|
|
121
|
-
"@mnaoumov/typescript-dev-toolkit": "^3.
|
|
121
|
+
"@mnaoumov/typescript-dev-toolkit": "^3.7.0",
|
|
122
122
|
"@mnaoumov/typescript-test-toolkit": "^1.0.0",
|
|
123
123
|
"@resvg/resvg-js": "^2.6.2",
|
|
124
124
|
"@total-typescript/ts-reset": "^0.6.1",
|