obsidian-dev-utils 100.0.0 → 100.2.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.
@@ -355,4 +355,4 @@ async function resolveDemoVaultArchive(params) {
355
355
  0 && (module.exports = {
356
356
  openDemoVault
357
357
  });
358
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEb3dubG9hZHMgYW5kIG9wZW5zIGEgcGx1Z2luJ3Mgc2hpcHBlZCBkZW1vIHZhdWx0IGluIGEgbmV3IE9ic2lkaWFuIHdpbmRvdyAoZGVza3RvcCBvbmx5KS5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gYXR0YWNoIGEgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQuemlwYCBhcmNoaXZlIHRvIGVhY2ggR2l0SHViIHJlbGVhc2UgKHNlZVxuICogYGFyY2hpdmVQbHVnaW5EZW1vVmF1bHRgIGluIGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2A7IGV2ZXJ5IG5hbWUgc2hhcmVkIHdpdGggaXQgY29tZXMgZnJvbVxuICogYGRlbW8tdmF1bHQtbmFtaW5nLnRzYCkuIFRoaXMgcmVzb2x2ZXMgdGhlIHBsdWdpbidzIHJlcG9zaXRvcnkgZnJvbSBPYnNpZGlhbidzIGNvbW11bml0eSByZWdpc3RyeSxcbiAqIGRvd25sb2FkcyB0aGUgYXJjaGl2ZSBmb3IgdGhlIGNob3NlbiB2ZXJzaW9uLCBhbmQgb3BlbnMgaXQgYXMgYSB2YXVsdCBpbiBhIG5ldyB3aW5kb3cuIFdoZW4gdGhlXG4gKiBpbnN0YWxsZWQgcGx1Z2luIHZlcnNpb24gaXMgYmVoaW5kIHRoZSBsYXRlc3QgcmVsZWFzZSwgdGhlIHVzZXIgaXMgb2ZmZXJlZCBhIGNob2ljZSBiZXR3ZWVuIHRoZSB0d29cbiAqIHZlcnNpb25zLlxuICpcbiAqIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duIGltbWVkaWF0ZWx5IChkb3dubG9hZCArIGV4dHJhY3Rpb24gY2FuIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWVcbiAqIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgcmlnaHQgYXdheSkuIE9ubHkgdGhlIGRvd25sb2FkZWQgQVJDSElWRSBpcyBjYWNoZWQgKHVuZGVyIHRoZSBPUyB0ZW1wXG4gKiBkaXJlY3RvcnkpOyBldmVyeSBpbnZvY2F0aW9uIGV4dHJhY3RzIGEgRlJFU0ggY29weSBpbnRvIGl0cyBvd24gdGVtcG9yYXJ5IGZvbGRlciBhbmQgb3BlbnMgdGhhdCwgc28gYVxuICogcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW50byBhIG5ldyBvbmUuIFRoZSB2YXVsdCBmb2xkZXIgaXMgdGhlIGFyY2hpdmUncyBvd24gc2luZ2xlXG4gKiB0b3AtbGV2ZWwgZm9sZGVyLCBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj5gLCB3aGljaCByZWFkcyBuaWNlbHkgaW4gT2JzaWRpYW4ncyB2YXVsdCBzd2l0Y2hlclxuICogYW5kIGlzIHRoZSBzYW1lIG5hbWUgYSBoYW5kLXVuemlwcGVkIGFyY2hpdmUgcHJvZHVjZXMuIE9ycGhhbmVkIGV4dHJhY3RlZCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tXG4gKiBlYXJsaWVyIHNlc3Npb25zIGFyZSBjbGVhbmVkIHVwIChiZXN0LWVmZm9ydCkgb24gZWFjaCBvcGVuLlxuICpcbiAqICoqTm90aGluZyBoZXJlIG1heSB0b3VjaCBhIHBsYXRmb3JtLW9ubHkgQVBJIHdoaWxlIHRoZSBtb2R1bGUgSU5JVElBTElaRVMuKiogVGhlIGBub2RlOmAgaW1wb3J0cyBiZWxvd1xuICogYXJlIHNhZmUgdG8gbWVyZWx5IGV2YWx1YXRlIG9uIG1vYmlsZSBcdTIwMTQgYHJlcXVpcmVgIGhhbmRzIGJhY2sgYHVuZGVmaW5lZGAgdGhlcmUgYW5kIG5vdGhpbmcgcmVhZHMgaXQgYXRcbiAqIGxvYWQgdGltZSBcdTIwMTQgYW5kIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBiYXJyZWxzIHJlLWV4cG9ydCB0aGlzIG1vZHVsZSwgdGhhdCBpcyBhIGxvYWQtYmVhcmluZyBwcm9wZXJ0eSBvZlxuICogdGhlIHdob2xlIGxpYnJhcnkgcmF0aGVyIHRoYW4gYSBkZXRhaWwgb2YgdGhpcyBmaWxlLiBJdCB3YXMgbGVhcm5lZCB0aGUgaGFyZCB3YXk6IHRoaXMgbW9kdWxlIG9uY2VcbiAqIGltcG9ydGVkIGBhZG0temlwYCwgd2hvc2UgemlwLWNyeXB0byBtZXRob2Qgb3BlbnMgd2l0aCBhIHRvcC1sZXZlbFxuICogYGNvbnN0IHsgcmFuZG9tRmlsbFN5bmMgfSA9IHJlcXVpcmUoJ2NyeXB0bycpYCwgYW5kIGEgc3RhdGljIGBpbXBvcnQgQWRtWmlwIGZyb20gJ2FkbS16aXAnYCB0aGVyZWZvcmVcbiAqIGtpbGxlZCB0aGUgbGlicmFyeSdzIGxvYWQgb24gQW5kcm9pZCAoc2VlIHRoZSBtb2JpbGUtbG9hZCBjaGVjayBpblxuICogYHNjcmlwdHMvaGVscGVycy9hc3NlcnQtbW9iaWxlLWxvYWRhYmxlLWJ1bmRsZS50c2AsIHdoaWNoIGZhaWxzIHRoZSBidWlsZCBvbiBleGFjdGx5IHRoYXQpLiBFeHRyYWN0aW9uXG4gKiBub3cgZ29lcyB0aHJvdWdoIGBkZXNrdG9wLXppcC1leHRyYWN0b3IudHNgLCB3aGljaCBuZWVkcyBubyBkZXBlbmRlbmN5IGF0IGFsbCBcdTIwMTQgYnV0IGFueSBmdXR1cmVcbiAqIGRlcGVuZGVuY3kgdGhhdCBpbml0aWFsaXplcyBhZ2FpbnN0IGEgcGxhdGZvcm0tb25seSBBUEkgc3RpbGwgaGFzIHRvIGJlIGRlZmVycmVkIGJlaGluZCBhIGNhbGwtdGltZVxuICogYGltcG9ydCgpYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgY29tcGFyZVZlcnNpb25zIH0gZnJvbSAnY29tcGFyZS12ZXJzaW9ucyc7XG4vKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcyAtLSBEZXNrdG9wLW9ubHkgZmVhdHVyZSBnYXRlZCBieSBgUGxhdGZvcm0uaXNEZXNrdG9wQXBwYDsgdGhlIGNvbW1hbmQgaXMgaGlkZGVuIG9uIG1vYmlsZSBzbyB0aGVzZSBOb2RlIEFQSXMgYXJlIG5ldmVyIHJlYWNoZWQgdGhlcmUuICovXG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdub2RlOmJ1ZmZlcic7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICBta2RpclN5bmMsXG4gIG1rZHRlbXBTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgcmVhZEZpbGVTeW5jLFxuICBybVN5bmMsXG4gIHN0YXRTeW5jLFxuICB3cml0ZUZpbGVTeW5jXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG4vKiBlc2xpbnQtZW5hYmxlIGltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzIC0tIERlc2t0b3Atb25seSBmZWF0dXJlIGdhdGVkIGJ5IGBQbGF0Zm9ybS5pc0Rlc2t0b3BBcHBgOyB0aGUgY29tbWFuZCBpcyBoaWRkZW4gb24gbW9iaWxlIHNvIHRoZXNlIE5vZGUgQVBJcyBhcmUgbmV2ZXIgcmVhY2hlZCB0aGVyZS4gKi9cbmltcG9ydCB7IHJlcXVlc3RVcmwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICBQbHVnaW5Ob3RpY2VDb21wb25lbnREZWxheWVkTm90aWNlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7IGV4dHJhY3RaaXBBcmNoaXZlIH0gZnJvbSAnLi4vZGVza3RvcC16aXAtZXh0cmFjdG9yLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi9wYXRoLnRzJztcbmltcG9ydCB7XG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgUGx1Z2luTm90aWNlTW9kZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQge1xuICBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUsXG4gIGdldERlbW9WYXVsdEZvbGRlck5hbWVcbn0gZnJvbSAnLi9kZW1vLXZhdWx0LW5hbWluZy50cyc7XG5pbXBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgb3BlbkRlbW9WYXVsdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbkRlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQsIHVzZWQgdG8gbG9jYXRlIHRoZSBHaXRIdWIgcmVwb3NpdG9yeSwgdG8gbmFtZSB0aGUgYXJjaGl2ZSBhc3NldCwgYW5kIHRvIG5hbWUgdGhlXG4gICAqIGNhY2hlZCBhcmNoaXZlIGFuZCB0aGUgZXh0cmFjdGVkIHZhdWx0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gZGlzcGxheSBuYW1lLCB1c2VkIHRvIGxhYmVsIHRoZSBub3RpY2VzIGFuZCB0aGUgdmVyc2lvbi1jaG9pY2UgZGlhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90aWNlIGNvbXBvbmVudCB1c2VkIHRvIHJlcG9ydCBwcm9ncmVzcyBhbmQgcHJvYmxlbXMgKHBsdWdpbiBub3QgaW4gdGhlIHJlZ2lzdHJ5LCBtaXNzaW5nXG4gICAqIGFyY2hpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uLCBvZmZlcmVkIGFzIG9uZSBvZiB0aGUgdmVyc2lvbiBjaG9pY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXJQYXJhbXMge1xuICByZWFkb25seSBhcmNoaXZlOiBCdWZmZXI7XG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zIHtcbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcbiAgcmVhZG9ubHkgcHJvZ3Jlc3NOb3RpY2U6IFBsdWdpbk5vdGljZUNvbXBvbmVudERlbGF5ZWROb3RpY2U7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG5jb25zdCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIgPSAnb2JzaWRpYW4tZGVtby12YXVsdHMnO1xuY29uc3QgQVJDSElWRVNfU1VCRk9MREVSID0gJ2FyY2hpdmVzJztcbmNvbnN0IEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSID0gJ2V4dHJhY3RlZCc7XG5jb25zdCBIVFRQX1NUQVRVU19PSyA9IDIwMDtcbi8vIE9uZSBkYXkgaW4gbWlsbGlzZWNvbmRzICgyNCAqIDYwICogNjAgKiAxMDAwKS5cbmNvbnN0IE9SUEhBTkVEX0VYVFJBQ1RFRF9WQVVMVF9NQVhfQUdFX0lOX01JTExJU0VDT05EUyA9IDg2XzQwMF8wMDA7XG5cbi8qKlxuICogRG93bmxvYWRzIGFuZCBvcGVucyB0aGUgcGx1Z2luJ3MgZGVtbyB2YXVsdCBpbiBhIG5ldyBPYnNpZGlhbiB3aW5kb3cuIERlc2t0b3Agb25seS5cbiAqXG4gKiBJZiB0aGUgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uIGlzIHRoZSBsYXRlc3QgKG9yIG5ld2VyKSwgaXRzIGRlbW8gdmF1bHQgb3BlbnMgZGlyZWN0bHk7IG90aGVyd2lzZVxuICogdGhlIHVzZXIgY2hvb3NlcyBiZXR3ZWVuIHRoZSBsYXRlc3QgYW5kIHRoZSBjdXJyZW50bHktaW5zdGFsbGVkIHZlcnNpb24uIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duXG4gKiBpbW1lZGlhdGVseS4gVGhlIGNob3NlbiB2ZXJzaW9uJ3MgYXJjaGl2ZSBpcyBkb3dubG9hZGVkIG9uY2UgKHRoZW4gcmV1c2VkIGZyb20gdGhlIGFyY2hpdmUgY2FjaGUpLFxuICogYnV0IGEgZnJlc2ggY29weSBpcyBleHRyYWN0ZWQgaW50byBpdHMgb3duIHRlbXBvcmFyeSBmb2xkZXIgb24gZXZlcnkgb3BlbiBcdTIwMTQgdGhlIHZhdWx0IGlzIG5ldmVyIHJldXNlZFxuICogYWNyb3NzIHNlc3Npb25zLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIE9wZW5EZW1vVmF1bHRQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSB2YXVsdCBoYXMgYmVlbiBvcGVuZWQsIG9yIG9uY2UgdGhlIG9wZXJhdGlvbiBoYXNcbiAqIGJlZW4gcmVwb3J0ZWQgYXMgbm90IHBvc3NpYmxlIChub3RpY2Ugc2hvd24pIG9yIGNhbmNlbGxlZCBieSB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5EZW1vVmF1bHQocGFyYW1zOiBPcGVuRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQsXG4gICAgcGx1Z2luTmFtZSxcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gICAgcGx1Z2luVmVyc2lvblxuICB9ID0gcGFyYW1zO1xuXG4gIC8vIFNob3duIGltbWVkaWF0ZWx5IChgZGVsYXlJbk1pbGxpc2Vjb25kczogMGApOiByZXNvbHZpbmcgdGhlIHJlbGVhc2UsIGRvd25sb2FkaW5nIGFuZCBleHRyYWN0aW5nIGNhblxuICAvLyBFYWNoIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWUgcHJvZ3Jlc3MgdGhlIG1vbWVudCB0aGUgY29tbWFuZCBpcyBpbnZva2VkLlxuICAvL1xuICAvLyBLZXB0IG91dCBvZiB0aGUgc2hhcmVkIHNsb3QgKGBTZXBhcmF0ZWApLCBiZWNhdXNlIHRoaXMgdmVyeSBmdW5jdGlvbiByYWlzZXMgb3JkaW5hcnkgbm90aWNlcyB3aGlsZVxuICAvLyBUaGUgb3BlcmF0aW9uIGlzIHN0aWxsIHJ1bm5pbmcgXHUyMDE0IFwibm90IGluIHRoZSByZWdpc3RyeVwiLCBcIm5vIGRlbW8gdmF1bHQgZm9yIHRoaXMgdmVyc2lvblwiIFx1MjAxNCBhbmQgYVxuICAvLyBTbG90IG5vdGljZSB3b3VsZCBoaWRlIHRoZSBwcm9ncmVzcyBub3RpY2UgcmF0aGVyIHRoYW4gYXBwZWFyIGJlc2lkZSBpdC5cbiAgdXNpbmcgcHJvZ3Jlc3NOb3RpY2UgPSBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZUFmdGVyRGVsYXkoe1xuICAgIGNvbnRlbnQ6IGBPcGVuaW5nIGRlbW8gdmF1bHQgZm9yICR7cGx1Z2luTmFtZX1cdTIwMjZgLFxuICAgIGRlbGF5SW5NaWxsaXNlY29uZHM6IDAsXG4gICAgbW9kZTogUGx1Z2luTm90aWNlTW9kZS5TZXBhcmF0ZVxuICB9KTtcblxuICBjb25zdCByZXBvID0gYXdhaXQgZ2V0Q29tbXVuaXR5UGx1Z2luUmVwbyhwbHVnaW5JZCk7XG4gIGlmICghcmVwbykge1xuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKGBDb3VsZCBub3QgZmluZCBwbHVnaW4gJHtwbHVnaW5OYW1lfSBpbiB0aGUgY29tbXVuaXR5IHBsdWdpbnMgcmVnaXN0cnkuYCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgY3VycmVudFZlcnNpb24gPSBwbHVnaW5WZXJzaW9uO1xuICBjb25zdCBsYXRlc3RWZXJzaW9uID0gYXdhaXQgZ2V0TGF0ZXN0UmVsZWFzZVZlcnNpb24ocmVwbyk7XG5cbiAgbGV0IHZlcnNpb25Ub09wZW46IHN0cmluZztcbiAgaWYgKGNvbXBhcmVWZXJzaW9ucyhjdXJyZW50VmVyc2lvbiwgbGF0ZXN0VmVyc2lvbikgPj0gMCkge1xuICAgIHZlcnNpb25Ub09wZW4gPSBjdXJyZW50VmVyc2lvbjtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjaG9zZW5WZXJzaW9uID0gYXdhaXQgc2VsZWN0T3B0aW9uPG51bGwgfCBzdHJpbmc+KHtcbiAgICAgIGFwcCxcbiAgICAgIG1lc3NhZ2U6IGBDdXJyZW50IHZlcnNpb24gb2YgcGx1Z2luICR7cGx1Z2luTmFtZX0gdiR7Y3VycmVudFZlcnNpb259IGlzIG5vdCB0aGUgbGF0ZXN0ICh2JHtsYXRlc3RWZXJzaW9ufSlgLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgaXNDdGE6IHRydWUsXG4gICAgICAgICAgdGV4dDogYE9wZW4gZGVtbyB2YXVsdCBmb3IgbGF0ZXN0IHZlcnNpb24gKHYke2xhdGVzdFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGxhdGVzdFZlcnNpb25cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGBPcGVuIGRlbW8gdmF1bHQgZm9yIGN1cnJlbnQgdmVyc2lvbiAodiR7Y3VycmVudFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWZXJzaW9uXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdGl0bGU6IHBsdWdpbk5hbWVcbiAgICB9KTtcbiAgICBpZiAoY2hvc2VuVmVyc2lvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2ZXJzaW9uVG9PcGVuID0gY2hvc2VuVmVyc2lvbjtcbiAgfVxuXG4gIGNvbnN0IGFyY2hpdmUgPSBhd2FpdCByZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZSh7XG4gICAgcGx1Z2luSWQsXG4gICAgcGx1Z2luTmFtZSxcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gICAgcHJvZ3Jlc3NOb3RpY2UsXG4gICAgcmVwbyxcbiAgICB2ZXJzaW9uOiB2ZXJzaW9uVG9PcGVuXG4gIH0pO1xuICBpZiAoIWFyY2hpdmUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBwcm9ncmVzc05vdGljZS5zZXRDb250ZW50KGBFeHRyYWN0aW5nIGRlbW8gdmF1bHQgZm9yICR7cGx1Z2luTmFtZX0gdiR7dmVyc2lvblRvT3Blbn1cdTIwMjZgKTtcbiAgY2xlYW51cE9ycGhhbmVkRXh0cmFjdGVkVmF1bHRzKCk7XG4gIGNvbnN0IHZhdWx0RGlyZWN0b3J5ID0gZXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXIoe1xuICAgIGFyY2hpdmUsXG4gICAgcGx1Z2luSWQsXG4gICAgdmVyc2lvbjogdmVyc2lvblRvT3BlblxuICB9KTtcblxuICB3aW5kb3cuZWxlY3Ryb24uaXBjUmVuZGVyZXIuc2VuZFN5bmMoJ3ZhdWx0LW9wZW4nLCB2YXVsdERpcmVjdG9yeSwgZmFsc2UpO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgZXh0cmFjdGVkIGRlbW8tdmF1bHQgZm9sZGVycyBsZWZ0IG92ZXIgZnJvbSBlYXJsaWVyIHNlc3Npb25zIChiZXN0LWVmZm9ydCkuXG4gKlxuICogRXZlcnkgb3BlbiBleHRyYWN0cyBhIGZyZXNoIGNvcHkgaW50byBpdHMgb3duIGZvbGRlciBhbmQgbmV2ZXIgZGVsZXRlcyBpdCBhZnRlcndhcmRzICh0aGUgdmF1bHQgc3RheXNcbiAqIG9wZW4gaW4gaXRzIHdpbmRvdyksIHNvIHRoZXNlIGFjY3VtdWxhdGUuIFRoaXMgZHJvcHMgZm9sZGVycyBvbGRlciB0aGFuXG4gKiB7QGxpbmsgT1JQSEFORURfRVhUUkFDVEVEX1ZBVUxUX01BWF9BR0VfSU5fTUlMTElTRUNPTkRTfS4gQSBmb2xkZXIgd2hvc2UgdmF1bHQgaXMgc3RpbGwgb3BlbiBpbiBhbm90aGVyXG4gKiB3aW5kb3cgaXMgbG9ja2VkIG9uIFdpbmRvd3MgYW5kIGNhbm5vdCBiZSByZW1vdmVkIFx1MjAxNCB0aGUgcmVtb3ZhbCBpcyB3cmFwcGVkIHNvIHN1Y2ggYSBmb2xkZXIgaXMgc2ltcGx5XG4gKiBza2lwcGVkIGFuZCByZXRyaWVkIG9uIGEgbGF0ZXIgb3Blbi5cbiAqL1xuZnVuY3Rpb24gY2xlYW51cE9ycGhhbmVkRXh0cmFjdGVkVmF1bHRzKCk6IHZvaWQge1xuICBjb25zdCBleHRyYWN0ZWRWYXVsdHNSb290ID0gam9pbih0bXBkaXIoKSwgREVNT19WQVVMVFNfQ0FDSEVfRk9MREVSLCBFWFRSQUNURURfVkFVTFRTX1NVQkZPTERFUik7XG4gIGlmICghZXhpc3RzU3luYyhleHRyYWN0ZWRWYXVsdHNSb290KSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGZvciAoY29uc3QgZW50cnlOYW1lIG9mIHJlYWRkaXJTeW5jKGV4dHJhY3RlZFZhdWx0c1Jvb3QpKSB7XG4gICAgY29uc3QgZW50cnlQYXRoID0gam9pbihleHRyYWN0ZWRWYXVsdHNSb290LCBlbnRyeU5hbWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGF0cyA9IHN0YXRTeW5jKGVudHJ5UGF0aCk7XG4gICAgICBpZiAobm93IC0gc3RhdHMubXRpbWVNcyA8IE9SUEhBTkVEX0VYVFJBQ1RFRF9WQVVMVF9NQVhfQUdFX0lOX01JTExJU0VDT05EUykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHJtU3luYyhlbnRyeVBhdGgsIHsgZm9yY2U6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEJlc3QtZWZmb3J0IGNsZWFudXA6IGFuIG9ycGhhbiB3aG9zZSB2YXVsdCBpcyBzdGlsbCBvcGVuIChsb2NrZWQgb24gV2luZG93cykgY2Fubm90IGJlIHJlbW92ZWQ7IHNraXAgaXQgYW5kIHJldHJ5IG9uIGEgbGF0ZXIgb3Blbi5cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBFeHRyYWN0cyBhIGRvd25sb2FkZWQgZGVtby12YXVsdCBhcmNoaXZlIHRvIGRpc2suXG4gKlxuICogRXh0cmFjdGlvbiBpcyB3cml0dGVuIHdpdGggRWxlY3Ryb24ncyBgb3JpZ2luYWwtZnNgIFx1MjAxNCB0aGUgcmVhbCBgZnNgIHdpdGggYXNhciBpbnRlcmNlcHRpb24gZGlzYWJsZWQgXHUyMDE0XG4gKiByYXRoZXIgdGhhbiB3aXRoIGBub2RlOmZzYC4gQSBkZW1vIHZhdWx0IG1heSBzaGlwIGEgZmlsZSB0aGF0IG1lcmVseSBMT09LUyBsaWtlIGFuIEVsZWN0cm9uIGFyY2hpdmVcbiAqIChlLmcuIGBfYXNzZXRzL0NvZGVTY3JpcHRUb29sa2l0L21vZHVsZS5hc2FyYCBkZW1vbnN0cmF0aW5nIHRoZSBBU0FSIHJlcXVpcmUgZmVhdHVyZSksIGFuZCBFbGVjdHJvbidzXG4gKiBhc2FyIGxheWVyIGludGVyY2VwdHMgYGZzYCBvcGVyYXRpb25zIG9uIGFueSBwYXRoIGNvbnRhaW5pbmcgYC5hc2FyYCwgdHJlYXRpbmcgaXQgYXMgYW4gYXJjaGl2ZSByb290XG4gKiByYXRoZXIgdGhhbiBhIHBsYWluIGZpbGUuIFRoYXQgYWxyZWFkeSBjb3N0IG9uZSBwcm9kdWN0aW9uIGJ1ZyB3aGVuIHRoZSBleHRyYWN0b3IgYGNobW9kYC1lZCBzdWNoIGFcbiAqIGZpbGUgYW5kIGdvdCBgRU5PRU5UYDsgbm90aGluZyBgY2htb2RgcyBhbnkgbW9yZSwgYnV0IHdyaXRpbmcgdGhvc2UgYnl0ZXMgdGhyb3VnaCB0aGUgY29weSB0aGF0IGhhcyBub1xuICogYXNhciBsYXllciBjb3N0cyBub3RoaW5nIGFuZCBrZWVwcyB0aGUgd2hvbGUgY2xhc3Mgb2YgZmFpbHVyZSBvZmYgdGhpcyBwYXRoLiBgb3JpZ2luYWwtZnNgIGlzIGEgZGVza3RvcC1vbmx5XG4gKiBFbGVjdHJvbiBtb2R1bGUgd2l0aCBubyBidW5kbGVkIHR5cGVzLCBzbyBpdCBpcyBsb2FkZWQgdmlhIGB3aW5kb3cucmVxdWlyZWAgYW5kIHR5cGVkIGFzIGBub2RlOmZzYCdzXG4gKiBzaGFwZS5cbiAqXG4gKiBAcGFyYW0gYXJjaGl2ZSAtIFRoZSByYXcgemlwIGFyY2hpdmUgYnl0ZXMuXG4gKiBAcGFyYW0gdGFyZ2V0RGlyZWN0b3J5IC0gVGhlIGRpcmVjdG9yeSB0byBleHRyYWN0IGludG8uXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3REZW1vVmF1bHRBcmNoaXZlKGFyY2hpdmU6IEJ1ZmZlciwgdGFyZ2V0RGlyZWN0b3J5OiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3Qgb3JpZ2luYWxGcyA9IHdpbmRvdy5yZXF1aXJlKCdub2RlOm9yaWdpbmFsLWZzJykgYXMgdHlwZW9mIGltcG9ydCgnbm9kZTpmcycpO1xuICBleHRyYWN0WmlwQXJjaGl2ZSh7XG4gICAgYXJjaGl2ZSxcbiAgICBmaWxlU3lzdGVtOiBvcmlnaW5hbEZzLFxuICAgIHRhcmdldERpcmVjdG9yeVxuICB9KTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgYXJjaGl2ZSBpbnRvIGEgZnJlc2gsIHVuaXF1ZWx5LW5hbWVkIHRlbXBvcmFyeSBmb2xkZXIgYW5kIHJldHVybnMgdGhlIHZhdWx0IHBhdGguXG4gKlxuICogQSB1bmlxdWUgcGFyZW50IGZvbGRlciAoYG1rZHRlbXBTeW5jYCkgZ3VhcmFudGVlcyBhIGJyYW5kLW5ldyBleHRyYWN0aW9uIGV2ZXJ5IHRpbWUgXHUyMDE0IHRoZSBkZW1vIHZhdWx0XG4gKiBpcyBuZXZlciByZXVzZWQgYWNyb3NzIG9wZW5zLCBzbyBhIHByZXZpb3VzIHNlc3Npb24ncyBlZGl0cyBuZXZlciBsZWFrIGluLiBUaGUgYXJjaGl2ZSBpcyBleHRyYWN0ZWRcbiAqIGludG8gdGhhdCBwYXJlbnQgYW5kIHRoZSB2YXVsdCBpcyB0aGUgc2luZ2xlIGA8cGx1Z2luLWlkPi1kZW1vLXZhdWx0LTx2ZXJzaW9uPmAgZm9sZGVyIGl0IGNvbnRhaW5zLCBzb1xuICogT2JzaWRpYW4ncyB2YXVsdCBzd2l0Y2hlciBzaG93cyBhIGZyaWVuZGx5IG5hbWUgKGl0cyBiYXNlbmFtZSkgcmF0aGVyIHRoYW4gdGhlIHJhbmRvbSB0ZW1wIGlkLlxuICpcbiAqIFRoYXQgZm9sZGVyIGlzIG5vdCBzZWFyY2hlZCBmb3I6IHtAbGluayBnZXREZW1vVmF1bHRGb2xkZXJOYW1lfSBuYW1lcyBpdCBvbiBib3RoIHNpZGVzLCBzbyB0aGUgcGF0aCBpc1xuICoga25vd24gYmVmb3JlIGEgYnl0ZSBpcyB3cml0dGVuLiBXaGljaCBrZWVwcyB0aGUgZXh0cmFjdG9yIGZyZWUgb2YgYW55IHJlYWQgXHUyMDE0IGRlbGliZXJhdGUsIGJlY2F1c2VcbiAqIEVsZWN0cm9uJ3MgYXNhciBsYXllciBpbnRlcmNlcHRzIGBmc2AgcmVhZHMgb24gYW55IHBhdGggY29udGFpbmluZyBgLmFzYXJgLCBhbmQgYSBkZW1vIHZhdWx0IG1heVxuICogbGVnaXRpbWF0ZWx5IHNoaXAgc3VjaCBhIGZpbGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgRXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXJQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIGZyZXNobHkgZXh0cmFjdGVkIHZhdWx0IGZvbGRlci5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXIocGFyYW1zOiBFeHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlclBhcmFtcyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgYXJjaGl2ZSwgcGx1Z2luSWQsIHZlcnNpb24gfSA9IHBhcmFtcztcbiAgY29uc3QgZXh0cmFjdGVkVmF1bHRzUm9vdCA9IGpvaW4odG1wZGlyKCksIERFTU9fVkFVTFRTX0NBQ0hFX0ZPTERFUiwgRVhUUkFDVEVEX1ZBVUxUU19TVUJGT0xERVIpO1xuICBta2RpclN5bmMoZXh0cmFjdGVkVmF1bHRzUm9vdCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGNvbnN0IHVuaXF1ZVBhcmVudERpcmVjdG9yeSA9IG1rZHRlbXBTeW5jKGpvaW4oZXh0cmFjdGVkVmF1bHRzUm9vdCwgYCR7cGx1Z2luSWR9LSR7dmVyc2lvbn0tYCkpO1xuICBleHRyYWN0RGVtb1ZhdWx0QXJjaGl2ZShhcmNoaXZlLCB1bmlxdWVQYXJlbnREaXJlY3RvcnkpO1xuICByZXR1cm4gam9pbihcbiAgICB1bmlxdWVQYXJlbnREaXJlY3RvcnksXG4gICAgZ2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZSh7XG4gICAgICBwbHVnaW5JZCxcbiAgICAgIHZlcnNpb25cbiAgICB9KVxuICApO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBkZW1vLXZhdWx0IGFyY2hpdmUgYnl0ZXMgZm9yIGEgdmVyc2lvbiwgZG93bmxvYWRpbmcgYW5kIGNhY2hpbmcgdGhlbSBvbiBmaXJzdCB1c2UuXG4gKlxuICogT25seSB0aGUgYXJjaGl2ZSBpcyBjYWNoZWQgKGtleWVkIGJ5IHBsdWdpbiBpZCArIHZlcnNpb24pOyB0aGUgZXh0cmFjdGVkIHZhdWx0IGlzIG5vdC4gQSBjYWNoZSBoaXQgaXNcbiAqIHJldHVybmVkIHdpdGhvdXQgYW55IG5ldHdvcmsgcmVxdWVzdDsgYSBtaXNzIGRvd25sb2FkcyB0aGUgcmVsZWFzZSBhc3NldCwgd3JpdGVzIGl0IHRvIHRoZSBhcmNoaXZlXG4gKiBjYWNoZSwgYW5kIHJldHVybnMgdGhlIGZyZXNobHkgZG93bmxvYWRlZCBieXRlcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZVBhcmFtc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSByZXNvbHZpbmcgdG8gdGhlIGFyY2hpdmUgYnl0ZXMsIG9yIGBudWxsYCB3aGVuIG5vIGFyY2hpdmUgaXMgYXZhaWxhYmxlIGZvclxuICogdGhlIHZlcnNpb24gKGEgbm90aWNlIGhhcyBiZWVuIHNob3duKS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZURlbW9WYXVsdEFyY2hpdmUocGFyYW1zOiBSZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZVBhcmFtcyk6IFByb21pc2U8QnVmZmVyIHwgbnVsbD4ge1xuICBjb25zdCB7XG4gICAgcGx1Z2luSWQsXG4gICAgcGx1Z2luTmFtZSxcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gICAgcHJvZ3Jlc3NOb3RpY2UsXG4gICAgcmVwbyxcbiAgICB2ZXJzaW9uXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgYXJjaGl2ZXNEaXJlY3RvcnkgPSBqb2luKHRtcGRpcigpLCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIsIEFSQ0hJVkVTX1NVQkZPTERFUik7XG4gIGNvbnN0IGFyY2hpdmVQYXRoID0gam9pbihhcmNoaXZlc0RpcmVjdG9yeSwgYCR7cGx1Z2luSWR9LSR7dmVyc2lvbn0uemlwYCk7XG4gIGlmIChleGlzdHNTeW5jKGFyY2hpdmVQYXRoKSkge1xuICAgIHJldHVybiByZWFkRmlsZVN5bmMoYXJjaGl2ZVBhdGgpO1xuICB9XG5cbiAgcHJvZ3Jlc3NOb3RpY2Uuc2V0Q29udGVudChgRG93bmxvYWRpbmcgZGVtbyB2YXVsdCBmb3IgJHtwbHVnaW5OYW1lfSB2JHt2ZXJzaW9ufVx1MjAyNmApO1xuICBjb25zdCBhc3NldFVybCA9IGBodHRwczovL2dpdGh1Yi5jb20vJHtyZXBvfS9yZWxlYXNlcy9kb3dubG9hZC8ke3ZlcnNpb259LyR7Z2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkKX1gO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoe1xuICAgIHRocm93OiBmYWxzZSxcbiAgICB1cmw6IGFzc2V0VXJsXG4gIH0pO1xuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSBIVFRQX1NUQVRVU19PSykge1xuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKGBObyBkZW1vIHZhdWx0IGlzIGF2YWlsYWJsZSBmb3IgcGx1Z2luICR7cGx1Z2luTmFtZX0gdiR7dmVyc2lvbn0uYCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBhcmNoaXZlID0gQnVmZmVyLmZyb20ocmVzcG9uc2UuYXJyYXlCdWZmZXIpO1xuICBta2RpclN5bmMoYXJjaGl2ZXNEaXJlY3RvcnksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICB3cml0ZUZpbGVTeW5jKGFyY2hpdmVQYXRoLCBhcmNoaXZlKTtcbiAgcmV0dXJuIGFyY2hpdmU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1DQSw4QkFBZ0M7QUFFaEMseUJBQXVCO0FBQ3ZCLHFCQVNPO0FBQ1AscUJBQXVCO0FBRXZCLHNCQUEyQjtBQU8zQixtQ0FBa0M7QUFDbEMsa0JBQXFCO0FBQ3JCLCtCQUdPO0FBQ1AscUNBQWlDO0FBQ2pDLCtCQUdPO0FBQ1AsMkJBQTZCO0FBaUQ3QixNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLHFCQUFxQjtBQUMzQixNQUFNLDZCQUE2QjtBQUNuQyxNQUFNLGlCQUFpQjtBQUV2QixNQUFNLG1EQUFtRDtBQWV6RCxlQUFzQixjQUFjLFFBQTRDO0FBZTlFO0FBQUE7QUFkQSxVQUFNO0FBQUEsTUFDSjtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNGLElBQUk7QUFRSixVQUFNLGlCQUFpQixzQ0FBc0IscUJBQXFCO0FBQUEsTUFDaEUsU0FBUywwQkFBMEIs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
358
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEb3dubG9hZHMgYW5kIG9wZW5zIGEgcGx1Z2luJ3Mgc2hpcHBlZCBkZW1vIHZhdWx0IGluIGEgbmV3IE9ic2lkaWFuIHdpbmRvdyAoZGVza3RvcCBvbmx5KS5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gYXR0YWNoIGEgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQuemlwYCBhcmNoaXZlIHRvIGVhY2ggR2l0SHViIHJlbGVhc2UgKHNlZVxuICogYGFyY2hpdmVQbHVnaW5EZW1vVmF1bHRgIGluIGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2A7IGV2ZXJ5IG5hbWUgc2hhcmVkIHdpdGggaXQgY29tZXMgZnJvbVxuICogYGRlbW8tdmF1bHQtbmFtaW5nLnRzYCkuIFRoaXMgcmVzb2x2ZXMgdGhlIHBsdWdpbidzIHJlcG9zaXRvcnkgZnJvbSBPYnNpZGlhbidzIGNvbW11bml0eSByZWdpc3RyeSxcbiAqIGRvd25sb2FkcyB0aGUgYXJjaGl2ZSBmb3IgdGhlIGNob3NlbiB2ZXJzaW9uLCBhbmQgb3BlbnMgaXQgYXMgYSB2YXVsdCBpbiBhIG5ldyB3aW5kb3cuIFdoZW4gdGhlXG4gKiBpbnN0YWxsZWQgcGx1Z2luIHZlcnNpb24gaXMgYmVoaW5kIHRoZSBsYXRlc3QgcmVsZWFzZSwgdGhlIHVzZXIgaXMgb2ZmZXJlZCBhIGNob2ljZSBiZXR3ZWVuIHRoZSB0d29cbiAqIHZlcnNpb25zLlxuICpcbiAqIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duIGltbWVkaWF0ZWx5IChkb3dubG9hZCArIGV4dHJhY3Rpb24gY2FuIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWVcbiAqIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgcmlnaHQgYXdheSkuIE9ubHkgdGhlIGRvd25sb2FkZWQgQVJDSElWRSBpcyBjYWNoZWQgKHVuZGVyIHRoZSBPUyB0ZW1wXG4gKiBkaXJlY3RvcnkpOyBldmVyeSBpbnZvY2F0aW9uIGV4dHJhY3RzIGEgRlJFU0ggY29weSBpbnRvIGl0cyBvd24gdGVtcG9yYXJ5IGZvbGRlciBhbmQgb3BlbnMgdGhhdCwgc28gYVxuICogcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW50byBhIG5ldyBvbmUuIFRoZSB2YXVsdCBmb2xkZXIgaXMgdGhlIGFyY2hpdmUncyBvd24gc2luZ2xlXG4gKiB0b3AtbGV2ZWwgZm9sZGVyLCBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj5gLCB3aGljaCByZWFkcyBuaWNlbHkgaW4gT2JzaWRpYW4ncyB2YXVsdCBzd2l0Y2hlclxuICogYW5kIGlzIHRoZSBzYW1lIG5hbWUgYSBoYW5kLXVuemlwcGVkIGFyY2hpdmUgcHJvZHVjZXMuIE9ycGhhbmVkIGV4dHJhY3RlZCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tXG4gKiBlYXJsaWVyIHNlc3Npb25zIGFyZSBjbGVhbmVkIHVwIChiZXN0LWVmZm9ydCkgb24gZWFjaCBvcGVuLlxuICpcbiAqICoqTm90aGluZyBoZXJlIG1heSB0b3VjaCBhIHBsYXRmb3JtLW9ubHkgQVBJIHdoaWxlIHRoZSBtb2R1bGUgSU5JVElBTElaRVMuKiogVGhlIGBub2RlOmAgaW1wb3J0cyBiZWxvd1xuICogYXJlIHNhZmUgdG8gbWVyZWx5IGV2YWx1YXRlIG9uIG1vYmlsZSBcdTIwMTQgYHJlcXVpcmVgIGhhbmRzIGJhY2sgYHVuZGVmaW5lZGAgdGhlcmUgYW5kIG5vdGhpbmcgcmVhZHMgaXQgYXRcbiAqIGxvYWQgdGltZSBcdTIwMTQgYW5kIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBiYXJyZWxzIHJlLWV4cG9ydCB0aGlzIG1vZHVsZSwgdGhhdCBpcyBhIGxvYWQtYmVhcmluZyBwcm9wZXJ0eSBvZlxuICogdGhlIHdob2xlIGxpYnJhcnkgcmF0aGVyIHRoYW4gYSBkZXRhaWwgb2YgdGhpcyBmaWxlLiBJdCB3YXMgbGVhcm5lZCB0aGUgaGFyZCB3YXk6IHRoaXMgbW9kdWxlIG9uY2VcbiAqIGltcG9ydGVkIGBhZG0temlwYCwgd2hvc2UgemlwLWNyeXB0byBtZXRob2Qgb3BlbnMgd2l0aCBhIHRvcC1sZXZlbFxuICogYGNvbnN0IHsgcmFuZG9tRmlsbFN5bmMgfSA9IHJlcXVpcmUoJ2NyeXB0bycpYCwgYW5kIGEgc3RhdGljIGBpbXBvcnQgQWRtWmlwIGZyb20gJ2FkbS16aXAnYCB0aGVyZWZvcmVcbiAqIGtpbGxlZCB0aGUgbGlicmFyeSdzIGxvYWQgb24gQW5kcm9pZCAoc2VlIHRoZSBtb2JpbGUtbG9hZCBjaGVjayBpblxuICogYHNjcmlwdHMvaGVscGVycy9hc3NlcnQtbW9iaWxlLWxvYWRhYmxlLWJ1bmRsZS50c2AsIHdoaWNoIGZhaWxzIHRoZSBidWlsZCBvbiBleGFjdGx5IHRoYXQpLiBFeHRyYWN0aW9uXG4gKiBub3cgZ29lcyB0aHJvdWdoIGBkZXNrdG9wLXppcC1leHRyYWN0b3IudHNgLCB3aGljaCBuZWVkcyBubyBkZXBlbmRlbmN5IGF0IGFsbCBcdTIwMTQgYnV0IGFueSBmdXR1cmVcbiAqIGRlcGVuZGVuY3kgdGhhdCBpbml0aWFsaXplcyBhZ2FpbnN0IGEgcGxhdGZvcm0tb25seSBBUEkgc3RpbGwgaGFzIHRvIGJlIGRlZmVycmVkIGJlaGluZCBhIGNhbGwtdGltZVxuICogYGltcG9ydCgpYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgY29tcGFyZVZlcnNpb25zIH0gZnJvbSAnY29tcGFyZS12ZXJzaW9ucyc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdub2RlOmJ1ZmZlcic7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICBta2RpclN5bmMsXG4gIG1rZHRlbXBTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgcmVhZEZpbGVTeW5jLFxuICBybVN5bmMsXG4gIHN0YXRTeW5jLFxuICB3cml0ZUZpbGVTeW5jXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyByZXF1ZXN0VXJsIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgUGx1Z2luTm90aWNlQ29tcG9uZW50RGVsYXllZE5vdGljZVxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgeyBleHRyYWN0WmlwQXJjaGl2ZSB9IGZyb20gJy4uL2Rlc2t0b3AtemlwLWV4dHJhY3Rvci50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vcGF0aC50cyc7XG5pbXBvcnQge1xuICBnZXRDb21tdW5pdHlQbHVnaW5SZXBvLFxuICBnZXRMYXRlc3RSZWxlYXNlVmVyc2lvblxufSBmcm9tICcuL2NvbW11bml0eS1wbHVnaW5zLnRzJztcbmltcG9ydCB7IFBsdWdpbk5vdGljZU1vZGUgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lLFxuICBnZXREZW1vVmF1bHRGb2xkZXJOYW1lXG59IGZyb20gJy4vZGVtby12YXVsdC1uYW1pbmcudHMnO1xuaW1wb3J0IHsgc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9tb2RhbHMvc2VsZWN0LW9wdGlvbi50cyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIG9wZW5EZW1vVmF1bHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5EZW1vVmF1bHRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGlkLCB1c2VkIHRvIGxvY2F0ZSB0aGUgR2l0SHViIHJlcG9zaXRvcnksIHRvIG5hbWUgdGhlIGFyY2hpdmUgYXNzZXQsIGFuZCB0byBuYW1lIHRoZVxuICAgKiBjYWNoZWQgYXJjaGl2ZSBhbmQgdGhlIGV4dHJhY3RlZCB2YXVsdCBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGRpc3BsYXkgbmFtZSwgdXNlZCB0byBsYWJlbCB0aGUgbm90aWNlcyBhbmQgdGhlIHZlcnNpb24tY2hvaWNlIGRpYWxvZy5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5vdGljZSBjb21wb25lbnQgdXNlZCB0byByZXBvcnQgcHJvZ3Jlc3MgYW5kIHByb2JsZW1zIChwbHVnaW4gbm90IGluIHRoZSByZWdpc3RyeSwgbWlzc2luZ1xuICAgKiBhcmNoaXZlKS5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5vdGljZUNvbXBvbmVudDogUGx1Z2luTm90aWNlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IGluc3RhbGxlZCBwbHVnaW4gdmVyc2lvbiwgb2ZmZXJlZCBhcyBvbmUgb2YgdGhlIHZlcnNpb24gY2hvaWNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpblZlcnNpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyUGFyYW1zIHtcbiAgcmVhZG9ubHkgYXJjaGl2ZTogQnVmZmVyO1xuICByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBSZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZVBhcmFtcyB7XG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG4gIHJlYWRvbmx5IHByb2dyZXNzTm90aWNlOiBQbHVnaW5Ob3RpY2VDb21wb25lbnREZWxheWVkTm90aWNlO1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuY29uc3QgREVNT19WQVVMVFNfQ0FDSEVfRk9MREVSID0gJ29ic2lkaWFuLWRlbW8tdmF1bHRzJztcbmNvbnN0IEFSQ0hJVkVTX1NVQkZPTERFUiA9ICdhcmNoaXZlcyc7XG5jb25zdCBFWFRSQUNURURfVkFVTFRTX1NVQkZPTERFUiA9ICdleHRyYWN0ZWQnO1xuY29uc3QgSFRUUF9TVEFUVVNfT0sgPSAyMDA7XG4vLyBPbmUgZGF5IGluIG1pbGxpc2Vjb25kcyAoMjQgKiA2MCAqIDYwICogMTAwMCkuXG5jb25zdCBPUlBIQU5FRF9FWFRSQUNURURfVkFVTFRfTUFYX0FHRV9JTl9NSUxMSVNFQ09ORFMgPSA4Nl80MDBfMDAwO1xuXG4vKipcbiAqIERvd25sb2FkcyBhbmQgb3BlbnMgdGhlIHBsdWdpbidzIGRlbW8gdmF1bHQgaW4gYSBuZXcgT2JzaWRpYW4gd2luZG93LiBEZXNrdG9wIG9ubHkuXG4gKlxuICogSWYgdGhlIGluc3RhbGxlZCBwbHVnaW4gdmVyc2lvbiBpcyB0aGUgbGF0ZXN0IChvciBuZXdlciksIGl0cyBkZW1vIHZhdWx0IG9wZW5zIGRpcmVjdGx5OyBvdGhlcndpc2VcbiAqIHRoZSB1c2VyIGNob29zZXMgYmV0d2VlbiB0aGUgbGF0ZXN0IGFuZCB0aGUgY3VycmVudGx5LWluc3RhbGxlZCB2ZXJzaW9uLiBBIHByb2dyZXNzIG5vdGljZSBpcyBzaG93blxuICogaW1tZWRpYXRlbHkuIFRoZSBjaG9zZW4gdmVyc2lvbidzIGFyY2hpdmUgaXMgZG93bmxvYWRlZCBvbmNlICh0aGVuIHJldXNlZCBmcm9tIHRoZSBhcmNoaXZlIGNhY2hlKSxcbiAqIGJ1dCBhIGZyZXNoIGNvcHkgaXMgZXh0cmFjdGVkIGludG8gaXRzIG93biB0ZW1wb3JhcnkgZm9sZGVyIG9uIGV2ZXJ5IG9wZW4gXHUyMDE0IHRoZSB2YXVsdCBpcyBuZXZlciByZXVzZWRcbiAqIGFjcm9zcyBzZXNzaW9ucy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBPcGVuRGVtb1ZhdWx0UGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgdmF1bHQgaGFzIGJlZW4gb3BlbmVkLCBvciBvbmNlIHRoZSBvcGVyYXRpb24gaGFzXG4gKiBiZWVuIHJlcG9ydGVkIGFzIG5vdCBwb3NzaWJsZSAobm90aWNlIHNob3duKSBvciBjYW5jZWxsZWQgYnkgdGhlIHVzZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvcGVuRGVtb1ZhdWx0KHBhcmFtczogT3BlbkRlbW9WYXVsdFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHBsdWdpbklkLFxuICAgIHBsdWdpbk5hbWUsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgIHBsdWdpblZlcnNpb25cbiAgfSA9IHBhcmFtcztcblxuICAvLyBTaG93biBpbW1lZGlhdGVseSAoYGRlbGF5SW5NaWxsaXNlY29uZHM6IDBgKTogcmVzb2x2aW5nIHRoZSByZWxlYXNlLCBkb3dubG9hZGluZyBhbmQgZXh0cmFjdGluZyBjYW5cbiAgLy8gRWFjaCB0YWtlIGEgd2hpbGUsIHNvIHRoZSB1c2VyIG11c3Qgc2VlIHByb2dyZXNzIHRoZSBtb21lbnQgdGhlIGNvbW1hbmQgaXMgaW52b2tlZC5cbiAgLy9cbiAgLy8gS2VwdCBvdXQgb2YgdGhlIHNoYXJlZCBzbG90IChgU2VwYXJhdGVgKSwgYmVjYXVzZSB0aGlzIHZlcnkgZnVuY3Rpb24gcmFpc2VzIG9yZGluYXJ5IG5vdGljZXMgd2hpbGVcbiAgLy8gVGhlIG9wZXJhdGlvbiBpcyBzdGlsbCBydW5uaW5nIFx1MjAxNCBcIm5vdCBpbiB0aGUgcmVnaXN0cnlcIiwgXCJubyBkZW1vIHZhdWx0IGZvciB0aGlzIHZlcnNpb25cIiBcdTIwMTQgYW5kIGFcbiAgLy8gU2xvdCBub3RpY2Ugd291bGQgaGlkZSB0aGUgcHJvZ3Jlc3Mgbm90aWNlIHJhdGhlciB0aGFuIGFwcGVhciBiZXNpZGUgaXQuXG4gIHVzaW5nIHByb2dyZXNzTm90aWNlID0gcGx1Z2luTm90aWNlQ29tcG9uZW50LnNob3dOb3RpY2VBZnRlckRlbGF5KHtcbiAgICBjb250ZW50OiBgT3BlbmluZyBkZW1vIHZhdWx0IGZvciAke3BsdWdpbk5hbWV9XHUyMDI2YCxcbiAgICBkZWxheUluTWlsbGlzZWNvbmRzOiAwLFxuICAgIG1vZGU6IFBsdWdpbk5vdGljZU1vZGUuU2VwYXJhdGVcbiAgfSk7XG5cbiAgY29uc3QgcmVwbyA9IGF3YWl0IGdldENvbW11bml0eVBsdWdpblJlcG8ocGx1Z2luSWQpO1xuICBpZiAoIXJlcG8pIHtcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShgQ291bGQgbm90IGZpbmQgcGx1Z2luICR7cGx1Z2luTmFtZX0gaW4gdGhlIGNvbW11bml0eSBwbHVnaW5zIHJlZ2lzdHJ5LmApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRWZXJzaW9uID0gcGx1Z2luVmVyc2lvbjtcbiAgY29uc3QgbGF0ZXN0VmVyc2lvbiA9IGF3YWl0IGdldExhdGVzdFJlbGVhc2VWZXJzaW9uKHJlcG8pO1xuXG4gIGxldCB2ZXJzaW9uVG9PcGVuOiBzdHJpbmc7XG4gIGlmIChjb21wYXJlVmVyc2lvbnMoY3VycmVudFZlcnNpb24sIGxhdGVzdFZlcnNpb24pID49IDApIHtcbiAgICB2ZXJzaW9uVG9PcGVuID0gY3VycmVudFZlcnNpb247XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY2hvc2VuVmVyc2lvbiA9IGF3YWl0IHNlbGVjdE9wdGlvbjxudWxsIHwgc3RyaW5nPih7XG4gICAgICBhcHAsXG4gICAgICBtZXNzYWdlOiBgQ3VycmVudCB2ZXJzaW9uIG9mIHBsdWdpbiAke3BsdWdpbk5hbWV9IHYke2N1cnJlbnRWZXJzaW9ufSBpcyBub3QgdGhlIGxhdGVzdCAodiR7bGF0ZXN0VmVyc2lvbn0pYCxcbiAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlzQ3RhOiB0cnVlLFxuICAgICAgICAgIHRleHQ6IGBPcGVuIGRlbW8gdmF1bHQgZm9yIGxhdGVzdCB2ZXJzaW9uICh2JHtsYXRlc3RWZXJzaW9ufSlgLFxuICAgICAgICAgIHZhbHVlOiBsYXRlc3RWZXJzaW9uXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBgT3BlbiBkZW1vIHZhdWx0IGZvciBjdXJyZW50IHZlcnNpb24gKHYke2N1cnJlbnRWZXJzaW9ufSlgLFxuICAgICAgICAgIHZhbHVlOiBjdXJyZW50VmVyc2lvblxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJ0NhbmNlbCcsXG4gICAgICAgICAgdmFsdWU6IG51bGxcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHRpdGxlOiBwbHVnaW5OYW1lXG4gICAgfSk7XG4gICAgaWYgKGNob3NlblZlcnNpb24gPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmVyc2lvblRvT3BlbiA9IGNob3NlblZlcnNpb247XG4gIH1cblxuICBjb25zdCBhcmNoaXZlID0gYXdhaXQgcmVzb2x2ZURlbW9WYXVsdEFyY2hpdmUoe1xuICAgIHBsdWdpbklkLFxuICAgIHBsdWdpbk5hbWUsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgIHByb2dyZXNzTm90aWNlLFxuICAgIHJlcG8sXG4gICAgdmVyc2lvbjogdmVyc2lvblRvT3BlblxuICB9KTtcbiAgaWYgKCFhcmNoaXZlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvZ3Jlc3NOb3RpY2Uuc2V0Q29udGVudChgRXh0cmFjdGluZyBkZW1vIHZhdWx0IGZvciAke3BsdWdpbk5hbWV9IHYke3ZlcnNpb25Ub09wZW59XHUyMDI2YCk7XG4gIGNsZWFudXBPcnBoYW5lZEV4dHJhY3RlZFZhdWx0cygpO1xuICBjb25zdCB2YXVsdERpcmVjdG9yeSA9IGV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyKHtcbiAgICBhcmNoaXZlLFxuICAgIHBsdWdpbklkLFxuICAgIHZlcnNpb246IHZlcnNpb25Ub09wZW5cbiAgfSk7XG5cbiAgd2luZG93LmVsZWN0cm9uLmlwY1JlbmRlcmVyLnNlbmRTeW5jKCd2YXVsdC1vcGVuJywgdmF1bHREaXJlY3RvcnksIGZhbHNlKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGV4dHJhY3RlZCBkZW1vLXZhdWx0IGZvbGRlcnMgbGVmdCBvdmVyIGZyb20gZWFybGllciBzZXNzaW9ucyAoYmVzdC1lZmZvcnQpLlxuICpcbiAqIEV2ZXJ5IG9wZW4gZXh0cmFjdHMgYSBmcmVzaCBjb3B5IGludG8gaXRzIG93biBmb2xkZXIgYW5kIG5ldmVyIGRlbGV0ZXMgaXQgYWZ0ZXJ3YXJkcyAodGhlIHZhdWx0IHN0YXlzXG4gKiBvcGVuIGluIGl0cyB3aW5kb3cpLCBzbyB0aGVzZSBhY2N1bXVsYXRlLiBUaGlzIGRyb3BzIGZvbGRlcnMgb2xkZXIgdGhhblxuICoge0BsaW5rIE9SUEhBTkVEX0VYVFJBQ1RFRF9WQVVMVF9NQVhfQUdFX0lOX01JTExJU0VDT05EU30uIEEgZm9sZGVyIHdob3NlIHZhdWx0IGlzIHN0aWxsIG9wZW4gaW4gYW5vdGhlclxuICogd2luZG93IGlzIGxvY2tlZCBvbiBXaW5kb3dzIGFuZCBjYW5ub3QgYmUgcmVtb3ZlZCBcdTIwMTQgdGhlIHJlbW92YWwgaXMgd3JhcHBlZCBzbyBzdWNoIGEgZm9sZGVyIGlzIHNpbXBseVxuICogc2tpcHBlZCBhbmQgcmV0cmllZCBvbiBhIGxhdGVyIG9wZW4uXG4gKi9cbmZ1bmN0aW9uIGNsZWFudXBPcnBoYW5lZEV4dHJhY3RlZFZhdWx0cygpOiB2b2lkIHtcbiAgY29uc3QgZXh0cmFjdGVkVmF1bHRzUm9vdCA9IGpvaW4odG1wZGlyKCksIERFTU9fVkFVTFRTX0NBQ0hFX0ZPTERFUiwgRVhUUkFDVEVEX1ZBVUxUU19TVUJGT0xERVIpO1xuICBpZiAoIWV4aXN0c1N5bmMoZXh0cmFjdGVkVmF1bHRzUm9vdCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICBmb3IgKGNvbnN0IGVudHJ5TmFtZSBvZiByZWFkZGlyU3luYyhleHRyYWN0ZWRWYXVsdHNSb290KSkge1xuICAgIGNvbnN0IGVudHJ5UGF0aCA9IGpvaW4oZXh0cmFjdGVkVmF1bHRzUm9vdCwgZW50cnlOYW1lKTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhdHMgPSBzdGF0U3luYyhlbnRyeVBhdGgpO1xuICAgICAgaWYgKG5vdyAtIHN0YXRzLm10aW1lTXMgPCBPUlBIQU5FRF9FWFRSQUNURURfVkFVTFRfTUFYX0FHRV9JTl9NSUxMSVNFQ09ORFMpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBybVN5bmMoZW50cnlQYXRoLCB7IGZvcmNlOiB0cnVlLCByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBCZXN0LWVmZm9ydCBjbGVhbnVwOiBhbiBvcnBoYW4gd2hvc2UgdmF1bHQgaXMgc3RpbGwgb3BlbiAobG9ja2VkIG9uIFdpbmRvd3MpIGNhbm5vdCBiZSByZW1vdmVkOyBza2lwIGl0IGFuZCByZXRyeSBvbiBhIGxhdGVyIG9wZW4uXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRXh0cmFjdHMgYSBkb3dubG9hZGVkIGRlbW8tdmF1bHQgYXJjaGl2ZSB0byBkaXNrLlxuICpcbiAqIEV4dHJhY3Rpb24gaXMgd3JpdHRlbiB3aXRoIEVsZWN0cm9uJ3MgYG9yaWdpbmFsLWZzYCBcdTIwMTQgdGhlIHJlYWwgYGZzYCB3aXRoIGFzYXIgaW50ZXJjZXB0aW9uIGRpc2FibGVkIFx1MjAxNFxuICogcmF0aGVyIHRoYW4gd2l0aCBgbm9kZTpmc2AuIEEgZGVtbyB2YXVsdCBtYXkgc2hpcCBhIGZpbGUgdGhhdCBtZXJlbHkgTE9PS1MgbGlrZSBhbiBFbGVjdHJvbiBhcmNoaXZlXG4gKiAoZS5nLiBgX2Fzc2V0cy9Db2RlU2NyaXB0VG9vbGtpdC9tb2R1bGUuYXNhcmAgZGVtb25zdHJhdGluZyB0aGUgQVNBUiByZXF1aXJlIGZlYXR1cmUpLCBhbmQgRWxlY3Ryb24nc1xuICogYXNhciBsYXllciBpbnRlcmNlcHRzIGBmc2Agb3BlcmF0aW9ucyBvbiBhbnkgcGF0aCBjb250YWluaW5nIGAuYXNhcmAsIHRyZWF0aW5nIGl0IGFzIGFuIGFyY2hpdmUgcm9vdFxuICogcmF0aGVyIHRoYW4gYSBwbGFpbiBmaWxlLiBUaGF0IGFscmVhZHkgY29zdCBvbmUgcHJvZHVjdGlvbiBidWcgd2hlbiB0aGUgZXh0cmFjdG9yIGBjaG1vZGAtZWQgc3VjaCBhXG4gKiBmaWxlIGFuZCBnb3QgYEVOT0VOVGA7IG5vdGhpbmcgYGNobW9kYHMgYW55IG1vcmUsIGJ1dCB3cml0aW5nIHRob3NlIGJ5dGVzIHRocm91Z2ggdGhlIGNvcHkgdGhhdCBoYXMgbm9cbiAqIGFzYXIgbGF5ZXIgY29zdHMgbm90aGluZyBhbmQga2VlcHMgdGhlIHdob2xlIGNsYXNzIG9mIGZhaWx1cmUgb2ZmIHRoaXMgcGF0aC4gYG9yaWdpbmFsLWZzYCBpcyBhIGRlc2t0b3Atb25seVxuICogRWxlY3Ryb24gbW9kdWxlIHdpdGggbm8gYnVuZGxlZCB0eXBlcywgc28gaXQgaXMgbG9hZGVkIHZpYSBgd2luZG93LnJlcXVpcmVgIGFuZCB0eXBlZCBhcyBgbm9kZTpmc2Anc1xuICogc2hhcGUuXG4gKlxuICogQHBhcmFtIGFyY2hpdmUgLSBUaGUgcmF3IHppcCBhcmNoaXZlIGJ5dGVzLlxuICogQHBhcmFtIHRhcmdldERpcmVjdG9yeSAtIFRoZSBkaXJlY3RvcnkgdG8gZXh0cmFjdCBpbnRvLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RGVtb1ZhdWx0QXJjaGl2ZShhcmNoaXZlOiBCdWZmZXIsIHRhcmdldERpcmVjdG9yeTogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IG9yaWdpbmFsRnMgPSB3aW5kb3cucmVxdWlyZSgnbm9kZTpvcmlnaW5hbC1mcycpIGFzIHR5cGVvZiBpbXBvcnQoJ25vZGU6ZnMnKTtcbiAgZXh0cmFjdFppcEFyY2hpdmUoe1xuICAgIGFyY2hpdmUsXG4gICAgZmlsZVN5c3RlbTogb3JpZ2luYWxGcyxcbiAgICB0YXJnZXREaXJlY3RvcnlcbiAgfSk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGFyY2hpdmUgaW50byBhIGZyZXNoLCB1bmlxdWVseS1uYW1lZCB0ZW1wb3JhcnkgZm9sZGVyIGFuZCByZXR1cm5zIHRoZSB2YXVsdCBwYXRoLlxuICpcbiAqIEEgdW5pcXVlIHBhcmVudCBmb2xkZXIgKGBta2R0ZW1wU3luY2ApIGd1YXJhbnRlZXMgYSBicmFuZC1uZXcgZXh0cmFjdGlvbiBldmVyeSB0aW1lIFx1MjAxNCB0aGUgZGVtbyB2YXVsdFxuICogaXMgbmV2ZXIgcmV1c2VkIGFjcm9zcyBvcGVucywgc28gYSBwcmV2aW91cyBzZXNzaW9uJ3MgZWRpdHMgbmV2ZXIgbGVhayBpbi4gVGhlIGFyY2hpdmUgaXMgZXh0cmFjdGVkXG4gKiBpbnRvIHRoYXQgcGFyZW50IGFuZCB0aGUgdmF1bHQgaXMgdGhlIHNpbmdsZSBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj5gIGZvbGRlciBpdCBjb250YWlucywgc29cbiAqIE9ic2lkaWFuJ3MgdmF1bHQgc3dpdGNoZXIgc2hvd3MgYSBmcmllbmRseSBuYW1lIChpdHMgYmFzZW5hbWUpIHJhdGhlciB0aGFuIHRoZSByYW5kb20gdGVtcCBpZC5cbiAqXG4gKiBUaGF0IGZvbGRlciBpcyBub3Qgc2VhcmNoZWQgZm9yOiB7QGxpbmsgZ2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZX0gbmFtZXMgaXQgb24gYm90aCBzaWRlcywgc28gdGhlIHBhdGggaXNcbiAqIGtub3duIGJlZm9yZSBhIGJ5dGUgaXMgd3JpdHRlbi4gV2hpY2gga2VlcHMgdGhlIGV4dHJhY3RvciBmcmVlIG9mIGFueSByZWFkIFx1MjAxNCBkZWxpYmVyYXRlLCBiZWNhdXNlXG4gKiBFbGVjdHJvbidzIGFzYXIgbGF5ZXIgaW50ZXJjZXB0cyBgZnNgIHJlYWRzIG9uIGFueSBwYXRoIGNvbnRhaW5pbmcgYC5hc2FyYCwgYW5kIGEgZGVtbyB2YXVsdCBtYXlcbiAqIGxlZ2l0aW1hdGVseSBzaGlwIHN1Y2ggYSBmaWxlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyUGFyYW1zfS5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBmcmVzaGx5IGV4dHJhY3RlZCB2YXVsdCBmb2xkZXIuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyKHBhcmFtczogRXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXJQYXJhbXMpOiBzdHJpbmcge1xuICBjb25zdCB7IGFyY2hpdmUsIHBsdWdpbklkLCB2ZXJzaW9uIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGV4dHJhY3RlZFZhdWx0c1Jvb3QgPSBqb2luKHRtcGRpcigpLCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIsIEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSKTtcbiAgbWtkaXJTeW5jKGV4dHJhY3RlZFZhdWx0c1Jvb3QsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICBjb25zdCB1bmlxdWVQYXJlbnREaXJlY3RvcnkgPSBta2R0ZW1wU3luYyhqb2luKGV4dHJhY3RlZFZhdWx0c1Jvb3QsIGAke3BsdWdpbklkfS0ke3ZlcnNpb259LWApKTtcbiAgZXh0cmFjdERlbW9WYXVsdEFyY2hpdmUoYXJjaGl2ZSwgdW5pcXVlUGFyZW50RGlyZWN0b3J5KTtcbiAgcmV0dXJuIGpvaW4oXG4gICAgdW5pcXVlUGFyZW50RGlyZWN0b3J5LFxuICAgIGdldERlbW9WYXVsdEZvbGRlck5hbWUoe1xuICAgICAgcGx1Z2luSWQsXG4gICAgICB2ZXJzaW9uXG4gICAgfSlcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgZGVtby12YXVsdCBhcmNoaXZlIGJ5dGVzIGZvciBhIHZlcnNpb24sIGRvd25sb2FkaW5nIGFuZCBjYWNoaW5nIHRoZW0gb24gZmlyc3QgdXNlLlxuICpcbiAqIE9ubHkgdGhlIGFyY2hpdmUgaXMgY2FjaGVkIChrZXllZCBieSBwbHVnaW4gaWQgKyB2ZXJzaW9uKTsgdGhlIGV4dHJhY3RlZCB2YXVsdCBpcyBub3QuIEEgY2FjaGUgaGl0IGlzXG4gKiByZXR1cm5lZCB3aXRob3V0IGFueSBuZXR3b3JrIHJlcXVlc3Q7IGEgbWlzcyBkb3dubG9hZHMgdGhlIHJlbGVhc2UgYXNzZXQsIHdyaXRlcyBpdCB0byB0aGUgYXJjaGl2ZVxuICogY2FjaGUsIGFuZCByZXR1cm5zIHRoZSBmcmVzaGx5IGRvd25sb2FkZWQgYnl0ZXMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgUmVzb2x2ZURlbW9WYXVsdEFyY2hpdmVQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBhcmNoaXZlIGJ5dGVzLCBvciBgbnVsbGAgd2hlbiBubyBhcmNoaXZlIGlzIGF2YWlsYWJsZSBmb3JcbiAqIHRoZSB2ZXJzaW9uIChhIG5vdGljZSBoYXMgYmVlbiBzaG93bikuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJlc29sdmVEZW1vVmF1bHRBcmNoaXZlKHBhcmFtczogUmVzb2x2ZURlbW9WYXVsdEFyY2hpdmVQYXJhbXMpOiBQcm9taXNlPEJ1ZmZlciB8IG51bGw+IHtcbiAgY29uc3Qge1xuICAgIHBsdWdpbklkLFxuICAgIHBsdWdpbk5hbWUsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgIHByb2dyZXNzTm90aWNlLFxuICAgIHJlcG8sXG4gICAgdmVyc2lvblxuICB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGFyY2hpdmVzRGlyZWN0b3J5ID0gam9pbih0bXBkaXIoKSwgREVNT19WQVVMVFNfQ0FDSEVfRk9MREVSLCBBUkNISVZFU19TVUJGT0xERVIpO1xuICBjb25zdCBhcmNoaXZlUGF0aCA9IGpvaW4oYXJjaGl2ZXNEaXJlY3RvcnksIGAke3BsdWdpbklkfS0ke3ZlcnNpb259LnppcGApO1xuICBpZiAoZXhpc3RzU3luYyhhcmNoaXZlUGF0aCkpIHtcbiAgICByZXR1cm4gcmVhZEZpbGVTeW5jKGFyY2hpdmVQYXRoKTtcbiAgfVxuXG4gIHByb2dyZXNzTm90aWNlLnNldENvbnRlbnQoYERvd25sb2FkaW5nIGRlbW8gdmF1bHQgZm9yICR7cGx1Z2luTmFtZX0gdiR7dmVyc2lvbn1cdTIwMjZgKTtcbiAgY29uc3QgYXNzZXRVcmwgPSBgaHR0cHM6Ly9naXRodWIuY29tLyR7cmVwb30vcmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJzaW9ufS8ke2dldERlbW9WYXVsdEFyY2hpdmVGaWxlTmFtZShwbHVnaW5JZCl9YDtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0VXJsKHtcbiAgICB0aHJvdzogZmFsc2UsXG4gICAgdXJsOiBhc3NldFVybFxuICB9KTtcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gSFRUUF9TVEFUVVNfT0spIHtcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShgTm8gZGVtbyB2YXVsdCBpcyBhdmFpbGFibGUgZm9yIHBsdWdpbiAke3BsdWdpbk5hbWV9IHYke3ZlcnNpb259LmApO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXJjaGl2ZSA9IEJ1ZmZlci5mcm9tKHJlc3BvbnNlLmFycmF5QnVmZmVyKTtcbiAgbWtkaXJTeW5jKGFyY2hpdmVzRGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgd3JpdGVGaWxlU3luYyhhcmNoaXZlUGF0aCwgYXJjaGl2ZSk7XG4gIHJldHVybiBhcmNoaXZlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -144,6 +144,7 @@ var note_priority_exports = {};
144
144
  __export(note_priority_exports, {
145
145
  NO_PRIORITY_MATCH: () => NO_PRIORITY_MATCH,
146
146
  NoPriorityWinnerReason: () => NoPriorityWinnerReason,
147
+ filterHighestPriorityNotePaths: () => filterHighestPriorityNotePaths,
147
148
  findNoPriorityWinnerReason: () => findNoPriorityWinnerReason,
148
149
  findNotePriorityRank: () => findNotePriorityRank,
149
150
  pickHighestPriorityNotePath: () => pickHighestPriorityNotePath
@@ -161,6 +162,19 @@ var NoPriorityWinnerReason = /* @__PURE__ */ ((NoPriorityWinnerReason2) => {
161
162
  return NoPriorityWinnerReason2;
162
163
  })(NoPriorityWinnerReason || {});
163
164
  const NO_PRIORITY_MATCH = Infinity;
165
+ function filterHighestPriorityNotePaths(params) {
166
+ const rankedNotePaths = params.notePaths.map((notePath) => ({
167
+ notePath,
168
+ rank: params.rank(notePath)
169
+ }));
170
+ let bestRank = NO_PRIORITY_MATCH;
171
+ for (const ranked of rankedNotePaths) {
172
+ if (ranked.rank < bestRank) {
173
+ bestRank = ranked.rank;
174
+ }
175
+ }
176
+ return rankedNotePaths.filter((ranked) => ranked.rank === bestRank).map((ranked) => ranked.notePath);
177
+ }
164
178
  function findNoPriorityWinnerReason(params) {
165
179
  if (params.entries.length === 0) {
166
180
  return "EmptyList" /* EmptyList */;
@@ -248,8 +262,9 @@ function checkPropertyMatches(specifier, frontmatter) {
248
262
  0 && (module.exports = {
249
263
  NO_PRIORITY_MATCH,
250
264
  NoPriorityWinnerReason,
265
+ filterHighestPriorityNotePaths,
251
266
  findNoPriorityWinnerReason,
252
267
  findNotePriorityRank,
253
268
  pickHighestPriorityNotePath
254
269
  });
255
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL25vdGUtcHJpb3JpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEZWNpZGVzIHdoaWNoIG9mIHNldmVyYWwgbm90ZXMgcmVmZXJlbmNpbmcgdGhlIHNhbWUgYXR0YWNobWVudCBvd25zIGl0LlxuICpcbiAqIEFuIGF0dGFjaG1lbnQgcmVmZXJlbmNlZCBmcm9tIG1vcmUgdGhhbiBvbmUgbm90ZSBoYXMgbm8gc2luZ2xlIGNvcnJlY3QgaG9tZSwgc28gY29sbGVjdGluZyBpdCBmYWxsc1xuICogYmFjayB0byB3aGF0ZXZlciBgY29sbGVjdEF0dGFjaG1lbnRVc2VkQnlNdWx0aXBsZU5vdGVzTW9kZWAgc2F5cyBcdTIwMTQgc2tpcCwgY29weSwgY2FuY2VsLCBvciBhc2suIEFcbiAqIHByaW9yaXR5IGxpc3QgbGV0cyB0aGUgdXNlciBhbnN3ZXIgdGhlIHF1ZXN0aW9uIG9uY2UgaW5zdGVhZDogcHV0IGAubWRgIGFib3ZlIGAuZXhjYWxpZHJhd2AgYW5kIGFuXG4gKiBpbWFnZSBzaGFyZWQgYnkgYm90aCBsYW5kcyBpbiB0aGUgbWFya2Rvd24gbm90ZSdzIGZvbGRlci5cbiAqXG4gKiBBIHRpZSBpcyBkZWxpYmVyYXRlbHkgTk9UIHJlc29sdmVkIGhlcmUuIFR3byBub3RlcyBvZiBlcXVhbCBwcmlvcml0eSBpcyBleGFjdGx5IHRoZSBhbWJpZ3VpdHkgdGhlXG4gKiBleGlzdGluZyBtb2RlIHNldHRpbmcgYWxyZWFkeSBleGlzdHMgdG8gaGFuZGxlLCBhbmQgaW52ZW50aW5nIGEgc2Vjb25kLCBzaWxlbnQgcnVsZSBmb3IgaXQgd291bGRcbiAqIG1vdmUgYSBmaWxlIHRoZSB1c2VyIG5ldmVyIG5hbWVkLlxuICovXG5cbmltcG9ydCB7IGlzVmFsaWRSZWdFeHAgfSBmcm9tICcuLi9yZWctZXhwLnRzJztcblxuY29uc3QgUFJPUEVSVFlfUFJFRklYID0gJ3Byb3BlcnR5Oic7XG5jb25zdCBSRUdfRVhQX0RFTElNSVRFUiA9ICcvJztcbmNvbnN0IEVYVEVOU0lPTl9QUkVGSVggPSAnLic7XG5jb25zdCBQUk9QRVJUWV9WQUxVRV9TRVBBUkFUT1IgPSAnPSc7XG5cbi8qKlxuICogV2h5IHRoZSBwcmlvcml0eSBsaXN0IGRpZCBub3Qgc2V0dGxlIHdoaWNoIG5vdGUgb3ducyBhbiBhdHRhY2htZW50LlxuICpcbiAqIFRoZSB0aHJlZSB2YWx1ZXMgYXJlIGV4YWN0bHkgdGhlIHRocmVlIHdheXMge0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0gKHBsdXMgaXRzIGVtcHR5LWxpc3RcbiAqIGd1YXJkKSBjYW4gZmFpbCB0byBuYW1lIGEgd2lubmVyLCBzbyBhIGNhbGxlciBjYW4gdGVsbCB0aGUgdXNlciB0aGUgcmVhbCByZWFzb24gaW5zdGVhZCBvZiBvbmx5XG4gKiByZXBvcnRpbmcgdGhhdCB0aGUgYXR0YWNobWVudCBpcyByZWZlcmVuY2VkIGJ5IHNldmVyYWwgbm90ZXMuXG4gKi9cbmV4cG9ydCBlbnVtIE5vUHJpb3JpdHlXaW5uZXJSZWFzb24ge1xuICAvKipcbiAgICogVGhlIHByaW9yaXR5IGxpc3QgaXMgZW1wdHkgXHUyMDE0IGl0cyBkZWZhdWx0LiBOb3RoaW5nIHdhcyBjb25maWd1cmVkIHRvIGRlY2lkZSBiZXR3ZWVuIHRoZSBub3Rlcy5cbiAgICovXG4gIEVtcHR5TGlzdCA9ICdFbXB0eUxpc3QnLFxuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBoYXMgZW50cmllcywgYnV0IG5vbmUgb2YgdGhlIHJlZmVyZW5jaW5nIG5vdGVzIG1hdGNoZXMgYW55IG9mIHRoZW0uXG4gICAqL1xuICBOb01hdGNoID0gJ05vTWF0Y2gnLFxuXG4gIC8qKlxuICAgKiBTZXZlcmFsIHJlZmVyZW5jaW5nIG5vdGVzIHRpZSBmb3IgdGhlIGJlc3QgcmFuaywgc28gdGhlIGxpc3QgbmFtZXMgbm8gc2luZ2xlIG93bmVyLlxuICAgKi9cbiAgVGllID0gJ1RpZSdcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZmluZE5vUHJpb3JpdHlXaW5uZXJSZWFzb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uUGFyYW1zIGV4dGVuZHMgUGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRoUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBsaXN0LCBoaWdoZXN0IHByaW9yaXR5IGZpcnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cmllczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpbmROb3RlUHJpb3JpdHlSYW5rfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaW5kTm90ZVByaW9yaXR5UmFua1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgbGlzdCwgaGlnaGVzdCBwcmlvcml0eSBmaXJzdC5cbiAgICovXG4gIHJlYWRvbmx5IGVudHJpZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90ZSdzIGZyb250bWF0dGVyLCBvciBgbnVsbGAgd2hlbiBpdCBoYXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyb250bWF0dGVyOiBudWxsIHwgUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQtcmVsYXRpdmUgcGF0aCBvZiB0aGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRoUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB2YXVsdC1yZWxhdGl2ZSBwYXRocyBvZiB0aGUgbm90ZXMgcmVmZXJlbmNpbmcgdGhlIGF0dGFjaG1lbnQuXG4gICAqL1xuICByZWFkb25seSBub3RlUGF0aHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgcmFuayBvZiBhIG5vdGUuIExvd2VyIHdpbnM7IHtAbGluayBOT19QUklPUklUWV9NQVRDSH0gbWVhbnMgdGhlIG5vdGUgbWF0Y2hlZCBub3RoaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gbm90ZVBhdGggLSBUaGUgdmF1bHQtcmVsYXRpdmUgcGF0aCBvZiB0aGUgbm90ZS5cbiAgICogQHJldHVybnMgVGhlIHJhbmsuXG4gICAqL1xuICByYW5rKG5vdGVQYXRoOiBzdHJpbmcpOiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIHJhbmsgb2YgYSBub3RlIHRoYXQgbWF0Y2hlcyBubyBlbnRyeSBpbiB0aGUgcHJpb3JpdHkgbGlzdC4gSGlnaGVyIHRoYW4gYW55IHJlYWwgcmFuaywgc28gYSBub3RlXG4gKiB0aGF0IG1hdGNoZXMgbm90aGluZyBhbHdheXMgbG9zZXMgdG8gb25lIHRoYXQgbWF0Y2hlcyBzb21ldGhpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBOT19QUklPUklUWV9NQVRDSCA9IEluZmluaXR5O1xuXG4vKipcbiAqIEV4cGxhaW5zIHdoeSB0aGUgcHJpb3JpdHkgbGlzdCBuYW1lZCBubyBvd25lciBmb3IgYW4gYXR0YWNobWVudC5cbiAqXG4gKiBPbmx5IG1lYW5pbmdmdWwgb25jZSB7QGxpbmsgcGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRofSBoYXMgcmV0dXJuZWQgYG51bGxgIChvciB0aGUgbGlzdCB3YXMgZW1wdHlcbiAqIGFuZCB3YXMgbmV2ZXIgY29uc3VsdGVkKTsgaXQgbWlycm9ycyB0aGF0IGZ1bmN0aW9uJ3Mgb3duIGNvbmRpdGlvbnMgcmF0aGVyIHRoYW4gcmUtZGVjaWRpbmdcbiAqIGFueXRoaW5nLCBzbyB0aGUgdHdvIGNhbiBvbmx5IGV2ZXIgYWdyZWUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwcmlvcml0eSBsaXN0LCB0aGUgcmVmZXJlbmNpbmcgbm90ZXMsIGFuZCBob3cgdG8gcmFuayBvbmUuXG4gKiBAcmV0dXJucyBXaGljaCBvZiB0aGUgdGhyZWUgd2F5cyB0aGUgbGlzdCBmYWlsZWQgdG8gc2V0dGxlIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE5vUHJpb3JpdHlXaW5uZXJSZWFzb24ocGFyYW1zOiBGaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvblBhcmFtcyk6IE5vUHJpb3JpdHlXaW5uZXJSZWFzb24ge1xuICBpZiAocGFyYW1zLmVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIE5vUHJpb3JpdHlXaW5uZXJSZWFzb24uRW1wdHlMaXN0O1xuICB9XG5cbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgcGFyYW1zLm5vdGVQYXRocykge1xuICAgIGNvbnN0IGN1cnJlbnRSYW5rID0gcGFyYW1zLnJhbmsobm90ZVBhdGgpO1xuICAgIGlmIChjdXJyZW50UmFuayA8IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0UmFuayA9IGN1cnJlbnRSYW5rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBiZXN0UmFuayA9PT0gTk9fUFJJT1JJVFlfTUFUQ0ggPyBOb1ByaW9yaXR5V2lubmVyUmVhc29uLk5vTWF0Y2ggOiBOb1ByaW9yaXR5V2lubmVyUmVhc29uLlRpZTtcbn1cblxuLyoqXG4gKiBGaW5kcyBob3cgaGlnaGx5IGEgbm90ZSByYW5rcyBpbiB0aGUgcHJpb3JpdHkgbGlzdC5cbiAqXG4gKiBBbiBlbnRyeSBtYXRjaGVzIGluIG9uZSBvZiBmb3VyIHdheXMsIHBpY2tlZCBieSBpdHMgc2hhcGUgc28gdGhhdCBvbmUgbGlzdCBjYW4gZXhwcmVzcyBhbGwgb2YgdGhlbTpcbiAqXG4gKiAtIGBwcm9wZXJ0eTpuYW1lYCBcdTIwMTQgdGhlIG5vdGUncyBmcm9udG1hdHRlciBoYXMgYG5hbWVgOyBgcHJvcGVydHk6bmFtZT12YWx1ZWAgYWxzbyBjb21wYXJlcyB0aGUgdmFsdWUuXG4gKiAtIGAvcmVndWxhciBleHByZXNzaW9uL2AgXHUyMDE0IHRlc3RlZCBhZ2FpbnN0IHRoZSBub3RlJ3MgcGF0aC5cbiAqIC0gYC5leHRgIFx1MjAxNCB0aGUgbm90ZSdzIHBhdGggZW5kcyB3aXRoIGl0LCBjYXNlLWluc2Vuc2l0aXZlbHkuIFRoaXMgaXMgdGhlIGZvcm0gdGhlIHJlcXVlc3QgYXNrZWQgZm9yLlxuICogLSBhbnl0aGluZyBlbHNlIFx1MjAxNCBhIHBhdGggZnJvbSB0aGUgdmF1bHQgcm9vdCwgbWF0Y2hpbmcgdGhlIHZvY2FidWxhcnkgb2YgdGhlIGluY2x1ZGUgLyBleGNsdWRlXG4gKiAgIHBhdGggc2V0dGluZ3MuXG4gKlxuICogV2hlbiBhIG5vdGUgbWF0Y2hlcyBzZXZlcmFsIGVudHJpZXMgdGhlICoqbG9uZ2VzdCoqIG9uZSBkZWNpZGVzIGl0cyByYW5rLCBzbyB0aGUgbW9zdCBzcGVjaWZpY1xuICogZW50cnkgd2lucyBhbmQgdGhlIG9yZGVyIG9mIHRoZSBsaXN0IGlzIGxlZnQgdG8gZXhwcmVzcyBwcmlvcml0eS4gV2l0aG91dCB0aGlzIGFuIEV4Y2FsaWRyYXcgbm90ZVxuICogY291bGQgbmV2ZXIgcmFuayBiZWxvdyBhIHBsYWluIG1hcmtkb3duIG9uZTogYGRyYXdpbmcuZXhjYWxpZHJhdy5tZGAgYWxzbyBlbmRzIHdpdGggYC5tZGAsIHNvXG4gKiBgLm1kYCBhYm92ZSBgLmV4Y2FsaWRyYXcubWRgIFx1MjAxNCB0aGUgdmVyeSBleGFtcGxlIHRoZSByZXF1ZXN0IGlzIGJ1aWx0IG9uIFx1MjAxNCB3b3VsZCB0aWUgaW5zdGVhZCBvZlxuICogcmVzb2x2aW5nLiBFcXVhbC1sZW5ndGggbWF0Y2hlcyBmYWxsIHRvIHRoZSBlYXJsaWVyIGVudHJ5LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgZmluZGluZyB0aGUgcmFuay5cbiAqIEByZXR1cm5zIFRoZSBpbmRleCBvZiB0aGUgbW9zdCBzcGVjaWZpYyBtYXRjaGluZyBlbnRyeSwgb3Ige0BsaW5rIE5PX1BSSU9SSVRZX01BVENIfSB3aGVuIG5vbmUgbWF0Y2guXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTm90ZVByaW9yaXR5UmFuayhwYXJhbXM6IEZpbmROb3RlUHJpb3JpdHlSYW5rUGFyYW1zKTogbnVtYmVyIHtcbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGxldCBiZXN0TGVuZ3RoID0gLTE7XG5cbiAgZm9yIChjb25zdCBbaW5kZXgsIGVudHJ5XSBvZiBwYXJhbXMuZW50cmllcy5lbnRyaWVzKCkpIHtcbiAgICAvLyBBIHNob3J0ZXIgZW50cnkgY2FuIG5ldmVyIGJlYXQgb25lIHRoYXQgYWxyZWFkeSBtYXRjaGVkLCBzbyBpdCBpcyBub3Qgd29ydGggdGVzdGluZy5cbiAgICBpZiAoZW50cnkubGVuZ3RoIDw9IGJlc3RMZW5ndGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghY2hlY2tFbnRyeU1hdGNoZXMoZW50cnksIHBhcmFtcykpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGJlc3RSYW5rID0gaW5kZXg7XG4gICAgYmVzdExlbmd0aCA9IGVudHJ5Lmxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBiZXN0UmFuaztcbn1cblxuLyoqXG4gKiBQaWNrcyB0aGUgc2luZ2xlIGhpZ2hlc3QtcHJpb3JpdHkgbm90ZSBhbW9uZyB0aG9zZSByZWZlcmVuY2luZyBhbiBhdHRhY2htZW50LlxuICpcbiAqIFJldHVybnMgYG51bGxgIHdoZW4gdGhlIGJlc3QgcmFuayBpcyBzaGFyZWQgYnkgbW9yZSB0aGFuIG9uZSBub3RlLCBvciB3aGVuIG5vIG5vdGUgbWF0Y2hlc1xuICogYW55dGhpbmcuIEJvdGggYXJlIHRpZXMsIGFuZCBhIHRpZSBpcyB0aGUgY2FsbGVyJ3MgcHJvYmxlbTogaXQgaXMgd2hhdCB0aGUgbXVsdGlwbGUtbm90ZXMgbW9kZVxuICogc2V0dGluZyBpcyBmb3IuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBwaWNraW5nIHRoZSBub3RlLlxuICogQHJldHVybnMgVGhlIHdpbm5pbmcgbm90ZSdzIHBhdGgsIG9yIGBudWxsYCB3aGVuIHRoZXJlIGlzIG5vIHNpbmdsZSB3aW5uZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGgocGFyYW1zOiBQaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhQYXJhbXMpOiBudWxsIHwgc3RyaW5nIHtcbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGxldCBiZXN0Tm90ZVBhdGg6IG51bGwgfCBzdHJpbmcgPSBudWxsO1xuICBsZXQgYmVzdENvdW50ID0gMDtcblxuICBmb3IgKGNvbnN0IG5vdGVQYXRoIG9mIHBhcmFtcy5ub3RlUGF0aHMpIHtcbiAgICBjb25zdCBjdXJyZW50UmFuayA9IHBhcmFtcy5yYW5rKG5vdGVQYXRoKTtcbiAgICBpZiAoY3VycmVudFJhbmsgPCBiZXN0UmFuaykge1xuICAgICAgYmVzdFJhbmsgPSBjdXJyZW50UmFuaztcbiAgICAgIGJlc3ROb3RlUGF0aCA9IG5vdGVQYXRoO1xuICAgICAgYmVzdENvdW50ID0gMTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRSYW5rID09PSBiZXN0UmFuaykge1xuICAgICAgYmVzdENvdW50Kys7XG4gICAgfVxuICB9XG5cbiAgaWYgKGJlc3RDb3VudCAhPT0gMSB8fCBiZXN0UmFuayA9PT0gTk9fUFJJT1JJVFlfTUFUQ0gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBiZXN0Tm90ZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRW50cnlNYXRjaGVzKGVudHJ5OiBzdHJpbmcsIHBhcmFtczogRmluZE5vdGVQcmlvcml0eVJhbmtQYXJhbXMpOiBib29sZWFuIHtcbiAgaWYgKCFlbnRyeSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChlbnRyeS5zdGFydHNXaXRoKFBST1BFUlRZX1BSRUZJWCkpIHtcbiAgICByZXR1cm4gY2hlY2tQcm9wZXJ0eU1hdGNoZXMoZW50cnkuc2xpY2UoUFJPUEVSVFlfUFJFRklYLmxlbmd0aCksIHBhcmFtcy5mcm9udG1hdHRlcik7XG4gIH1cblxuICBpZiAoZW50cnkubGVuZ3RoID4gMSAmJiBlbnRyeS5zdGFydHNXaXRoKFJFR19FWFBfREVMSU1JVEVSKSAmJiBlbnRyeS5lbmRzV2l0aChSRUdfRVhQX0RFTElNSVRFUikpIHtcbiAgICBjb25zdCBzb3VyY2UgPSBlbnRyeS5zbGljZSgxLCAtMSk7XG4gICAgLy8gQW4gdW5wYXJzZWFibGUgZXhwcmVzc2lvbiBtdXN0IG5vdCB0aHJvdyBtaWQtY29sbGVjdGlvbjsgaXQgc2ltcGx5IG1hdGNoZXMgbm90aGluZy5cbiAgICByZXR1cm4gaXNWYWxpZFJlZ0V4cChzb3VyY2UpICYmIG5ldyBSZWdFeHAoc291cmNlKS50ZXN0KHBhcmFtcy5ub3RlUGF0aCk7XG4gIH1cblxuICBpZiAoZW50cnkuc3RhcnRzV2l0aChFWFRFTlNJT05fUFJFRklYKSkge1xuICAgIHJldHVybiBwYXJhbXMubm90ZVBhdGgudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChlbnRyeS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIGNvbnN0IHByZWZpeCA9IGVudHJ5LmVuZHNXaXRoKCcvJykgPyBlbnRyeSA6IGAke2VudHJ5fS9gO1xuICByZXR1cm4gcGFyYW1zLm5vdGVQYXRoID09PSBlbnRyeSB8fCBwYXJhbXMubm90ZVBhdGguc3RhcnRzV2l0aChwcmVmaXgpO1xufVxuXG5mdW5jdGlvbiBjaGVja1Byb3BlcnR5TWF0Y2hlcyhzcGVjaWZpZXI6IHN0cmluZywgZnJvbnRtYXR0ZXI6IG51bGwgfCBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4pOiBib29sZWFuIHtcbiAgaWYgKCFmcm9udG1hdHRlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHNlcGFyYXRvckluZGV4ID0gc3BlY2lmaWVyLmluZGV4T2YoUFJPUEVSVFlfVkFMVUVfU0VQQVJBVE9SKTtcbiAgaWYgKHNlcGFyYXRvckluZGV4ID09PSAtMSkge1xuICAgIHJldHVybiBPYmplY3QuaGFzT3duKGZyb250bWF0dGVyLCBzcGVjaWZpZXIpO1xuICB9XG5cbiAgY29uc3QgcHJvcGVydHlOYW1lID0gc3BlY2lmaWVyLnNsaWNlKDAsIHNlcGFyYXRvckluZGV4KTtcbiAgY29uc3QgZXhwZWN0ZWRWYWx1ZSA9IHNwZWNpZmllci5zbGljZShzZXBhcmF0b3JJbmRleCArIDEpO1xuICBpZiAoIU9iamVjdC5oYXNPd24oZnJvbnRtYXR0ZXIsIHByb3BlcnR5TmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBhY3R1YWxWYWx1ZSA9IGZyb250bWF0dGVyW3Byb3BlcnR5TmFtZV07XG4gIC8vIEZyb250bWF0dGVyIHZhbHVlcyBhcmUgd2hhdGV2ZXIgWUFNTCBwcm9kdWNlZCwgc28gY29tcGFyZSB0aGVpciByZW5kZXJpbmcgcmF0aGVyIHRoYW4gcmVxdWlyaW5nIGFcbiAgLy8gU3RyaW5nLiBBbiBhcnJheSBtYXRjaGVzIHdoZW4gYW55IG9mIGl0cyBlbnRyaWVzIGRvZXMsIHdoaWNoIGlzIGhvdyB0YWctbGlrZSBwcm9wZXJ0aWVzIHJlYWQuXG4gIGlmIChBcnJheS5pc0FycmF5KGFjdHVhbFZhbHVlKSkge1xuICAgIHJldHVybiBhY3R1YWxWYWx1ZS5zb21lKChpdGVtKSA9PiBTdHJpbmcoaXRlbSkgPT09IGV4cGVjdGVkVmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIFN0cmluZyhhY3R1YWxWYWx1ZSkgPT09IGV4cGVjdGVkVmFsdWU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUEscUJBQThCO0FBRTlCLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sb0JBQW9CO0FBQzFCLE1BQU0sbUJBQW1CO0FBQ3pCLE1BQU0sMkJBQTJCO0FBUzFCLElBQUsseUJBQUwsa0JBQUtBLDRCQUFMO0FBSUwsRUFBQUEsd0JBQUEsZUFBWTtBQUtaLEVBQUFBLHdCQUFBLGFBQVU7QUFLVixFQUFBQSx3QkFBQSxTQUFNO0FBZEksU0FBQUE7QUFBQSxHQUFBO0FBcUVMLE1BQU0sb0JBQW9CO0FBWTFCLFNBQVMsMkJBQTJCLFFBQWtFO0FBQzNHLE1BQUksT0FBTyxRQUFRLFdBQVcsR0FBRztBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksV0FBVztBQUNmLGFBQVcsWUFBWSxPQUFPLFdBQVc7QUFDdkMsVUFBTSxjQUFjLE9BQU8sS0FBSyxRQUFRO0FBQ3hDLFFBQUksY0FBYyxVQUFVO0FBQzFCLGlCQUFXO0FBQUEsSUFDYjtBQUFBLEVBQ0Y7QUFFQSxTQUFPLGFBQWEsb0JBQW9CLDBCQUFpQztBQUMzRTtBQXNCTyxTQUFTLHFCQUFxQixRQUE0QztBQUMvRSxNQUFJLFdBQVc7QUFDZixNQUFJLGFBQWE7QUFFakIsYUFBVyxDQUFDLE9BQU8sS0FBSyxLQUFLLE9BQU8sUUFBUSxRQUFRLEdBQUc7QUFFckQsUUFBSSxNQUFNLFVBQVUsWUFBWTtBQUM5QjtBQUFBLElBQ0Y7QUFFQSxRQUFJLENBQUMsa0JBQWtCLE9BQU8sTUFBTSxHQUFHO0FBQ3JDO0FBQUEsSUFDRjtBQUVBLGVBQVc7QUFDWCxpQkFBYSxNQUFNO0FBQUEsRUFDckI7QUFFQSxTQUFPO0FBQ1Q7QUFZTyxTQUFTLDRCQUE0QixRQUEwRDtBQUNwRyxNQUFJLFdBQVc7QUFDZixNQUFJLGVBQThCO0FBQ2xDLE1BQUksWUFBWTtBQUVoQixhQUFXLFlBQVksT0FBTyxXQUFXO0FBQ3ZDLFVBQU0sY0FBYyxPQUFPLEtBQUssUUFBUTtBQUN4QyxRQUFJLGNBQWMsVUFBVTtBQUMxQixpQkFBVztBQUNYLHFCQUFlO0FBQ2Ysa0JBQVk7QUFBQSxJQUNkLFdBQVcsZ0JBQWdCLFVBQVU7QUFDbkM7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLE1BQUksY0FBYyxLQUFLLGFBQWEsbUJBQW1CO0FBQ3JELFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTztBQUNUO0FBRUEsU0FBUyxrQkFBa0IsT0FBZSxRQUE2QztBQUNyRixNQUFJLENBQUMsT0FBTztBQUNWLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxNQUFNLFdBQVcsZUFBZSxHQUFHO0FBQ3JDLFdBQU8scUJBQXFCLE1BQU0sTUFBTSxnQkFBZ0IsTUFBTSxHQUFHLE9BQU8sV0FBVztBQUFBLEVBQ3JGO0FBRUEsTUFBSSxNQUFNLFNBQVMsS0FBSyxNQUFNLFdBQVcsaUJBQWlCLEtBQUssTUFBTSxTQUFTLGlCQUFpQixHQUFHO0FBQ2hHLFVBQU0sU0FBUyxNQUFNLE1BQU0sR0FBRyxFQUFFO0FBRWhDLGVBQU8sOEJBQWMsTUFBTSxLQUFLLElBQUksT0FBTyxNQUFNLEVBQUUsS0FBSyxPQUFPLFFBQVE7QUFBQSxFQUN6RTtBQUVBLE1BQUksTUFBTSxXQUFXLGdCQUFnQixHQUFHO0FBQ3RDLFdBQU8sT0FBTyxTQUFTLFlBQVksRUFBRSxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQUEsRUFDbkU7QUFFQSxRQUFNLFNBQVMsTUFBTSxTQUFTLEdBQUcsSUFBSSxRQUFRLEdBQUcsS0FBSztBQUNyRCxTQUFPLE9BQU8sYUFBYSxTQUFTLE9BQU8sU0FBUyxXQUFXLE1BQU07QUFDdkU7QUFFQSxTQUFTLHFCQUFxQixXQUFtQixhQUFnRTtBQUMvRyxNQUFJLENBQUMsYUFBYTtBQUNoQixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0saUJBQWlCLFVBQVUsUUFBUSx3QkFBd0I7QUFDakUsTUFBSSxtQkFBbUIsSUFBSTtBQUN6QixXQUFPLE9BQU8sT0FBTyxhQUFhLFNBQVM7QUFBQSxFQUM3QztBQUVBLFFBQU0sZUFBZSxVQUFVLE1BQU0sR0FBRyxjQUFjO0FBQ3RELFFBQU0sZ0JBQWdCLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxNQUFJLENBQUMsT0FBTyxPQUFPLGFBQWEsWUFBWSxHQUFHO0FBQzdDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxjQUFjLFlBQVksWUFBWTtBQUc1QyxNQUFJLE1BQU0sUUFBUSxXQUFXLEdBQUc7QUFDOUIsV0FBTyxZQUFZLEtBQUssQ0FBQyxTQUFTLE9BQU8sSUFBSSxNQUFNLGFBQWE7QUFBQSxFQUNsRTtBQUVBLFNBQU8sT0FBTyxXQUFXLE1BQU07QUFDakM7IiwKICAibmFtZXMiOiBbIk5vUHJpb3JpdHlXaW5uZXJSZWFzb24iXQp9Cg==
270
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL25vdGUtcHJpb3JpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEZWNpZGVzIHdoaWNoIG9mIHNldmVyYWwgbm90ZXMgcmVmZXJlbmNpbmcgdGhlIHNhbWUgYXR0YWNobWVudCBvd25zIGl0LlxuICpcbiAqIEFuIGF0dGFjaG1lbnQgcmVmZXJlbmNlZCBmcm9tIG1vcmUgdGhhbiBvbmUgbm90ZSBoYXMgbm8gc2luZ2xlIGNvcnJlY3QgaG9tZSwgc28gY29sbGVjdGluZyBpdCBmYWxsc1xuICogYmFjayB0byB3aGF0ZXZlciBgY29sbGVjdEF0dGFjaG1lbnRVc2VkQnlNdWx0aXBsZU5vdGVzTW9kZWAgc2F5cyBcdTIwMTQgc2tpcCwgY29weSwgY2FuY2VsLCBvciBhc2suIEFcbiAqIHByaW9yaXR5IGxpc3QgbGV0cyB0aGUgdXNlciBhbnN3ZXIgdGhlIHF1ZXN0aW9uIG9uY2UgaW5zdGVhZDogcHV0IGAubWRgIGFib3ZlIGAuZXhjYWxpZHJhd2AgYW5kIGFuXG4gKiBpbWFnZSBzaGFyZWQgYnkgYm90aCBsYW5kcyBpbiB0aGUgbWFya2Rvd24gbm90ZSdzIGZvbGRlci5cbiAqXG4gKiBBIHRpZSBpcyBkZWxpYmVyYXRlbHkgTk9UIHJlc29sdmVkIGhlcmUuIFR3byBub3RlcyBvZiBlcXVhbCBwcmlvcml0eSBpcyBleGFjdGx5IHRoZSBhbWJpZ3VpdHkgdGhlXG4gKiBleGlzdGluZyBtb2RlIHNldHRpbmcgYWxyZWFkeSBleGlzdHMgdG8gaGFuZGxlLCBhbmQgaW52ZW50aW5nIGEgc2Vjb25kLCBzaWxlbnQgcnVsZSBmb3IgaXQgd291bGRcbiAqIG1vdmUgYSBmaWxlIHRoZSB1c2VyIG5ldmVyIG5hbWVkLlxuICpcbiAqIFRoZSB0aWUgaXMgYWxzbyB0aGUgd2hvbGUgb2Ygd2hhdCBnZXRzIFJFUE9SVEVELiBBIG5vdGUgdGhlIGxpc3QgcmFua2VkIGJlbG93IHRoZSBiZXN0IHJhbmsgY2Fubm90XG4gKiByZXNvbHZlIHRoZSBhbWJpZ3VpdHksIHNvIGxpc3RpbmcgaXQgb25seSBhZGRzIG5vaXNlIFx1MjAxNCBhbmQgd29yc2UgaW4gYSBwaWNrZXIsIHdoZXJlIG9mZmVyaW5nIGl0XG4gKiBpbnZpdGVzIGFuIGFuc3dlciB0aGUgcHJpb3JpdHkgbGlzdCBpdHNlbGYgd291bGQgbm90IGhhdmUgZ2l2ZW4uIFRoYXQgaXMgd2h5XG4gKiB7QGxpbmsgZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzfSBleGlzdHMgYWxvbmdzaWRlIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgZGVjaWRlLlxuICovXG5cbmltcG9ydCB7IGlzVmFsaWRSZWdFeHAgfSBmcm9tICcuLi9yZWctZXhwLnRzJztcblxuY29uc3QgUFJPUEVSVFlfUFJFRklYID0gJ3Byb3BlcnR5Oic7XG5jb25zdCBSRUdfRVhQX0RFTElNSVRFUiA9ICcvJztcbmNvbnN0IEVYVEVOU0lPTl9QUkVGSVggPSAnLic7XG5jb25zdCBQUk9QRVJUWV9WQUxVRV9TRVBBUkFUT1IgPSAnPSc7XG5cbi8qKlxuICogV2h5IHRoZSBwcmlvcml0eSBsaXN0IGRpZCBub3Qgc2V0dGxlIHdoaWNoIG5vdGUgb3ducyBhbiBhdHRhY2htZW50LlxuICpcbiAqIFRoZSB0aHJlZSB2YWx1ZXMgYXJlIGV4YWN0bHkgdGhlIHRocmVlIHdheXMge0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0gKHBsdXMgaXRzIGVtcHR5LWxpc3RcbiAqIGd1YXJkKSBjYW4gZmFpbCB0byBuYW1lIGEgd2lubmVyLCBzbyBhIGNhbGxlciBjYW4gdGVsbCB0aGUgdXNlciB0aGUgcmVhbCByZWFzb24gaW5zdGVhZCBvZiBvbmx5XG4gKiByZXBvcnRpbmcgdGhhdCB0aGUgYXR0YWNobWVudCBpcyByZWZlcmVuY2VkIGJ5IHNldmVyYWwgbm90ZXMuXG4gKi9cbmV4cG9ydCBlbnVtIE5vUHJpb3JpdHlXaW5uZXJSZWFzb24ge1xuICAvKipcbiAgICogVGhlIHByaW9yaXR5IGxpc3QgaXMgZW1wdHkgXHUyMDE0IGl0cyBkZWZhdWx0LiBOb3RoaW5nIHdhcyBjb25maWd1cmVkIHRvIGRlY2lkZSBiZXR3ZWVuIHRoZSBub3Rlcy5cbiAgICovXG4gIEVtcHR5TGlzdCA9ICdFbXB0eUxpc3QnLFxuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBoYXMgZW50cmllcywgYnV0IG5vbmUgb2YgdGhlIHJlZmVyZW5jaW5nIG5vdGVzIG1hdGNoZXMgYW55IG9mIHRoZW0uXG4gICAqL1xuICBOb01hdGNoID0gJ05vTWF0Y2gnLFxuXG4gIC8qKlxuICAgKiBTZXZlcmFsIHJlZmVyZW5jaW5nIG5vdGVzIHRpZSBmb3IgdGhlIGJlc3QgcmFuaywgc28gdGhlIGxpc3QgbmFtZXMgbm8gc2luZ2xlIG93bmVyLlxuICAgKi9cbiAgVGllID0gJ1RpZSdcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzfS5cbiAqXG4gKiBUaGUgc2FtZSBxdWVzdGlvbiBhcyB7QGxpbmsgcGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRofSBhc2tzLCBzbyBkZWxpYmVyYXRlbHkgdGhlIHNhbWUgcGFyYW1ldGVyczpcbiAqIHRoZSB0d28gbXVzdCBiZSBhbnN3ZXJlZCBmcm9tIGlkZW50aWNhbCBpbnB1dHMgb3IgdGhleSBjb3VsZCBkaXNhZ3JlZS5cbiAqL1xuZXhwb3J0IHR5cGUgRmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzUGFyYW1zID0gUGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRoUGFyYW1zO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBmaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZE5vUHJpb3JpdHlXaW5uZXJSZWFzb25QYXJhbXMgZXh0ZW5kcyBQaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHByaW9yaXR5IGxpc3QsIGhpZ2hlc3QgcHJpb3JpdHkgZmlyc3QuXG4gICAqL1xuICByZWFkb25seSBlbnRyaWVzOiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZmluZE5vdGVQcmlvcml0eVJhbmt9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbmROb3RlUHJpb3JpdHlSYW5rUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBsaXN0LCBoaWdoZXN0IHByaW9yaXR5IGZpcnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cmllczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBub3RlJ3MgZnJvbnRtYXR0ZXIsIG9yIGBudWxsYCB3aGVuIGl0IGhhcyBub25lLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbnRtYXR0ZXI6IG51bGwgfCBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG5cbiAgLyoqXG4gICAqIFRoZSB2YXVsdC1yZWxhdGl2ZSBwYXRoIG9mIHRoZSBub3RlLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90ZVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRofS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHZhdWx0LXJlbGF0aXZlIHBhdGhzIG9mIHRoZSBub3RlcyByZWZlcmVuY2luZyB0aGUgYXR0YWNobWVudC5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGVQYXRoczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSByYW5rIG9mIGEgbm90ZS4gTG93ZXIgd2luczsge0BsaW5rIE5PX1BSSU9SSVRZX01BVENIfSBtZWFucyB0aGUgbm90ZSBtYXRjaGVkIG5vdGhpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBub3RlUGF0aCAtIFRoZSB2YXVsdC1yZWxhdGl2ZSBwYXRoIG9mIHRoZSBub3RlLlxuICAgKiBAcmV0dXJucyBUaGUgcmFuay5cbiAgICovXG4gIHJhbmsobm90ZVBhdGg6IHN0cmluZyk6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUaGUgcmFuayBvZiBhIG5vdGUgdGhhdCBtYXRjaGVzIG5vIGVudHJ5IGluIHRoZSBwcmlvcml0eSBsaXN0LiBIaWdoZXIgdGhhbiBhbnkgcmVhbCByYW5rLCBzbyBhIG5vdGVcbiAqIHRoYXQgbWF0Y2hlcyBub3RoaW5nIGFsd2F5cyBsb3NlcyB0byBvbmUgdGhhdCBtYXRjaGVzIHNvbWV0aGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5PX1BSSU9SSVRZX01BVENIID0gSW5maW5pdHk7XG5cbi8qKlxuICogTmFycm93cyB0aGUgcmVmZXJlbmNpbmcgbm90ZXMgdG8gdGhlIG9uZXMgc2hhcmluZyB0aGUgYmVzdCByYW5rLlxuICpcbiAqIFRob3NlIG5vdGVzIGFyZSB0aGUgd2hvbGUgb2YgdGhlIGFtYmlndWl0eTogb25lIHRoZSBsaXN0IHJhbmtlZCBiZWxvdyB0aGVtIGNhbm5vdCByZXNvbHZlIGFueXRoaW5nLFxuICogc28gcmVwb3J0aW5nIGl0IG9ubHkgYWRkcyBub2lzZS4gVGhpcyBtaXJyb3JzIHtAbGluayBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGh9J3MgY29uZGl0aW9uc1xuICogcmF0aGVyIHRoYW4gcmUtZGVjaWRpbmcgYW55dGhpbmcsIHNvIHRoZSB0d28gY2FuIG9ubHkgZXZlciBhZ3JlZSBcdTIwMTQgd2hlbmV2ZXIgdGhhdCBuYW1lcyBhIHdpbm5lcixcbiAqIHRoaXMgcmV0dXJucyBleGFjdGx5IHRoYXQgb25lIG5vdGUuXG4gKlxuICogQSBsaXN0IHRoYXQgZGVjaWRlcyBub3RoaW5nIGF0IGFsbCBcdTIwMTQgZW1wdHksIG9yIG1hdGNoaW5nIG5vIG5vdGUgXHUyMDE0IHJhbmtzIGV2ZXJ5IG5vdGVcbiAqIHtAbGluayBOT19QUklPUklUWV9NQVRDSH0sIHNvIHRoZXkgYWxsIHRpZSBhbmQgZXZlcnkgb25lIG9mIHRoZW0gaXMga2VwdC4gVGhhdCBpcyB0aGUgc2FtZSBsaXN0IHRoZVxuICogdXNlciBzYXcgYmVmb3JlLCB3aGljaCBpcyBjb3JyZWN0OiBub3RoaW5nIGhhcyBydWxlZCBhbnkgb2YgdGhlbSBvdXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSByZWZlcmVuY2luZyBub3RlcyBhbmQgaG93IHRvIHJhbmsgb25lLlxuICogQHJldHVybnMgVGhlIG5vdGVzIGhvbGRpbmcgdGhlIGJlc3QgcmFuaywgaW4gdGhlIG9yZGVyIHRoZXkgd2VyZSBnaXZlbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckhpZ2hlc3RQcmlvcml0eU5vdGVQYXRocyhwYXJhbXM6IEZpbHRlckhpZ2hlc3RQcmlvcml0eU5vdGVQYXRoc1BhcmFtcyk6IHN0cmluZ1tdIHtcbiAgLy8gUmFua2luZyBjYW4gaGl0IHRoZSB2YXVsdCBhbmQgdGhlIG1ldGFkYXRhIGNhY2hlLCBzbyBlYWNoIG5vdGUgaXMgcmFua2VkIG9uY2UgYW5kIGNhcnJpZWQuXG4gIGNvbnN0IHJhbmtlZE5vdGVQYXRocyA9IHBhcmFtcy5ub3RlUGF0aHMubWFwKChub3RlUGF0aCkgPT4gKHtcbiAgICBub3RlUGF0aCxcbiAgICByYW5rOiBwYXJhbXMucmFuayhub3RlUGF0aClcbiAgfSkpO1xuXG4gIGxldCBiZXN0UmFuayA9IE5PX1BSSU9SSVRZX01BVENIO1xuICBmb3IgKGNvbnN0IHJhbmtlZCBvZiByYW5rZWROb3RlUGF0aHMpIHtcbiAgICBpZiAocmFua2VkLnJhbmsgPCBiZXN0UmFuaykge1xuICAgICAgYmVzdFJhbmsgPSByYW5rZWQucmFuaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmFua2VkTm90ZVBhdGhzXG4gICAgLmZpbHRlcigocmFua2VkKSA9PiByYW5rZWQucmFuayA9PT0gYmVzdFJhbmspXG4gICAgLm1hcCgocmFua2VkKSA9PiByYW5rZWQubm90ZVBhdGgpO1xufVxuXG4vKipcbiAqIEV4cGxhaW5zIHdoeSB0aGUgcHJpb3JpdHkgbGlzdCBuYW1lZCBubyBvd25lciBmb3IgYW4gYXR0YWNobWVudC5cbiAqXG4gKiBPbmx5IG1lYW5pbmdmdWwgb25jZSB7QGxpbmsgcGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRofSBoYXMgcmV0dXJuZWQgYG51bGxgIChvciB0aGUgbGlzdCB3YXMgZW1wdHlcbiAqIGFuZCB3YXMgbmV2ZXIgY29uc3VsdGVkKTsgaXQgbWlycm9ycyB0aGF0IGZ1bmN0aW9uJ3Mgb3duIGNvbmRpdGlvbnMgcmF0aGVyIHRoYW4gcmUtZGVjaWRpbmdcbiAqIGFueXRoaW5nLCBzbyB0aGUgdHdvIGNhbiBvbmx5IGV2ZXIgYWdyZWUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwcmlvcml0eSBsaXN0LCB0aGUgcmVmZXJlbmNpbmcgbm90ZXMsIGFuZCBob3cgdG8gcmFuayBvbmUuXG4gKiBAcmV0dXJucyBXaGljaCBvZiB0aGUgdGhyZWUgd2F5cyB0aGUgbGlzdCBmYWlsZWQgdG8gc2V0dGxlIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE5vUHJpb3JpdHlXaW5uZXJSZWFzb24ocGFyYW1zOiBGaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvblBhcmFtcyk6IE5vUHJpb3JpdHlXaW5uZXJSZWFzb24ge1xuICBpZiAocGFyYW1zLmVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIE5vUHJpb3JpdHlXaW5uZXJSZWFzb24uRW1wdHlMaXN0O1xuICB9XG5cbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgcGFyYW1zLm5vdGVQYXRocykge1xuICAgIGNvbnN0IGN1cnJlbnRSYW5rID0gcGFyYW1zLnJhbmsobm90ZVBhdGgpO1xuICAgIGlmIChjdXJyZW50UmFuayA8IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0UmFuayA9IGN1cnJlbnRSYW5rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBiZXN0UmFuayA9PT0gTk9fUFJJT1JJVFlfTUFUQ0ggPyBOb1ByaW9yaXR5V2lubmVyUmVhc29uLk5vTWF0Y2ggOiBOb1ByaW9yaXR5V2lubmVyUmVhc29uLlRpZTtcbn1cblxuLyoqXG4gKiBGaW5kcyBob3cgaGlnaGx5IGEgbm90ZSByYW5rcyBpbiB0aGUgcHJpb3JpdHkgbGlzdC5cbiAqXG4gKiBBbiBlbnRyeSBtYXRjaGVzIGluIG9uZSBvZiBmb3VyIHdheXMsIHBpY2tlZCBieSBpdHMgc2hhcGUgc28gdGhhdCBvbmUgbGlzdCBjYW4gZXhwcmVzcyBhbGwgb2YgdGhlbTpcbiAqXG4gKiAtIGBwcm9wZXJ0eTpuYW1lYCBcdTIwMTQgdGhlIG5vdGUncyBmcm9udG1hdHRlciBoYXMgYG5hbWVgOyBgcHJvcGVydHk6bmFtZT12YWx1ZWAgYWxzbyBjb21wYXJlcyB0aGUgdmFsdWUuXG4gKiAtIGAvcmVndWxhciBleHByZXNzaW9uL2AgXHUyMDE0IHRlc3RlZCBhZ2FpbnN0IHRoZSBub3RlJ3MgcGF0aC5cbiAqIC0gYC5leHRgIFx1MjAxNCB0aGUgbm90ZSdzIHBhdGggZW5kcyB3aXRoIGl0LCBjYXNlLWluc2Vuc2l0aXZlbHkuIFRoaXMgaXMgdGhlIGZvcm0gdGhlIHJlcXVlc3QgYXNrZWQgZm9yLlxuICogLSBhbnl0aGluZyBlbHNlIFx1MjAxNCBhIHBhdGggZnJvbSB0aGUgdmF1bHQgcm9vdCwgbWF0Y2hpbmcgdGhlIHZvY2FidWxhcnkgb2YgdGhlIGluY2x1ZGUgLyBleGNsdWRlXG4gKiAgIHBhdGggc2V0dGluZ3MuXG4gKlxuICogV2hlbiBhIG5vdGUgbWF0Y2hlcyBzZXZlcmFsIGVudHJpZXMgdGhlICoqbG9uZ2VzdCoqIG9uZSBkZWNpZGVzIGl0cyByYW5rLCBzbyB0aGUgbW9zdCBzcGVjaWZpY1xuICogZW50cnkgd2lucyBhbmQgdGhlIG9yZGVyIG9mIHRoZSBsaXN0IGlzIGxlZnQgdG8gZXhwcmVzcyBwcmlvcml0eS4gV2l0aG91dCB0aGlzIGFuIEV4Y2FsaWRyYXcgbm90ZVxuICogY291bGQgbmV2ZXIgcmFuayBiZWxvdyBhIHBsYWluIG1hcmtkb3duIG9uZTogYGRyYXdpbmcuZXhjYWxpZHJhdy5tZGAgYWxzbyBlbmRzIHdpdGggYC5tZGAsIHNvXG4gKiBgLm1kYCBhYm92ZSBgLmV4Y2FsaWRyYXcubWRgIFx1MjAxNCB0aGUgdmVyeSBleGFtcGxlIHRoZSByZXF1ZXN0IGlzIGJ1aWx0IG9uIFx1MjAxNCB3b3VsZCB0aWUgaW5zdGVhZCBvZlxuICogcmVzb2x2aW5nLiBFcXVhbC1sZW5ndGggbWF0Y2hlcyBmYWxsIHRvIHRoZSBlYXJsaWVyIGVudHJ5LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgZmluZGluZyB0aGUgcmFuay5cbiAqIEByZXR1cm5zIFRoZSBpbmRleCBvZiB0aGUgbW9zdCBzcGVjaWZpYyBtYXRjaGluZyBlbnRyeSwgb3Ige0BsaW5rIE5PX1BSSU9SSVRZX01BVENIfSB3aGVuIG5vbmUgbWF0Y2guXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTm90ZVByaW9yaXR5UmFuayhwYXJhbXM6IEZpbmROb3RlUHJpb3JpdHlSYW5rUGFyYW1zKTogbnVtYmVyIHtcbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGxldCBiZXN0TGVuZ3RoID0gLTE7XG5cbiAgZm9yIChjb25zdCBbaW5kZXgsIGVudHJ5XSBvZiBwYXJhbXMuZW50cmllcy5lbnRyaWVzKCkpIHtcbiAgICAvLyBBIHNob3J0ZXIgZW50cnkgY2FuIG5ldmVyIGJlYXQgb25lIHRoYXQgYWxyZWFkeSBtYXRjaGVkLCBzbyBpdCBpcyBub3Qgd29ydGggdGVzdGluZy5cbiAgICBpZiAoZW50cnkubGVuZ3RoIDw9IGJlc3RMZW5ndGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghY2hlY2tFbnRyeU1hdGNoZXMoZW50cnksIHBhcmFtcykpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGJlc3RSYW5rID0gaW5kZXg7XG4gICAgYmVzdExlbmd0aCA9IGVudHJ5Lmxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBiZXN0UmFuaztcbn1cblxuLyoqXG4gKiBQaWNrcyB0aGUgc2luZ2xlIGhpZ2hlc3QtcHJpb3JpdHkgbm90ZSBhbW9uZyB0aG9zZSByZWZlcmVuY2luZyBhbiBhdHRhY2htZW50LlxuICpcbiAqIFJldHVybnMgYG51bGxgIHdoZW4gdGhlIGJlc3QgcmFuayBpcyBzaGFyZWQgYnkgbW9yZSB0aGFuIG9uZSBub3RlLCBvciB3aGVuIG5vIG5vdGUgbWF0Y2hlc1xuICogYW55dGhpbmcuIEJvdGggYXJlIHRpZXMsIGFuZCBhIHRpZSBpcyB0aGUgY2FsbGVyJ3MgcHJvYmxlbTogaXQgaXMgd2hhdCB0aGUgbXVsdGlwbGUtbm90ZXMgbW9kZVxuICogc2V0dGluZyBpcyBmb3IuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBwaWNraW5nIHRoZSBub3RlLlxuICogQHJldHVybnMgVGhlIHdpbm5pbmcgbm90ZSdzIHBhdGgsIG9yIGBudWxsYCB3aGVuIHRoZXJlIGlzIG5vIHNpbmdsZSB3aW5uZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGgocGFyYW1zOiBQaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhQYXJhbXMpOiBudWxsIHwgc3RyaW5nIHtcbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGxldCBiZXN0Tm90ZVBhdGg6IG51bGwgfCBzdHJpbmcgPSBudWxsO1xuICBsZXQgYmVzdENvdW50ID0gMDtcblxuICBmb3IgKGNvbnN0IG5vdGVQYXRoIG9mIHBhcmFtcy5ub3RlUGF0aHMpIHtcbiAgICBjb25zdCBjdXJyZW50UmFuayA9IHBhcmFtcy5yYW5rKG5vdGVQYXRoKTtcbiAgICBpZiAoY3VycmVudFJhbmsgPCBiZXN0UmFuaykge1xuICAgICAgYmVzdFJhbmsgPSBjdXJyZW50UmFuaztcbiAgICAgIGJlc3ROb3RlUGF0aCA9IG5vdGVQYXRoO1xuICAgICAgYmVzdENvdW50ID0gMTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRSYW5rID09PSBiZXN0UmFuaykge1xuICAgICAgYmVzdENvdW50Kys7XG4gICAgfVxuICB9XG5cbiAgaWYgKGJlc3RDb3VudCAhPT0gMSB8fCBiZXN0UmFuayA9PT0gTk9fUFJJT1JJVFlfTUFUQ0gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBiZXN0Tm90ZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRW50cnlNYXRjaGVzKGVudHJ5OiBzdHJpbmcsIHBhcmFtczogRmluZE5vdGVQcmlvcml0eVJhbmtQYXJhbXMpOiBib29sZWFuIHtcbiAgaWYgKCFlbnRyeSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChlbnRyeS5zdGFydHNXaXRoKFBST1BFUlRZX1BSRUZJWCkpIHtcbiAgICByZXR1cm4gY2hlY2tQcm9wZXJ0eU1hdGNoZXMoZW50cnkuc2xpY2UoUFJPUEVSVFlfUFJFRklYLmxlbmd0aCksIHBhcmFtcy5mcm9udG1hdHRlcik7XG4gIH1cblxuICBpZiAoZW50cnkubGVuZ3RoID4gMSAmJiBlbnRyeS5zdGFydHNXaXRoKFJFR19FWFBfREVMSU1JVEVSKSAmJiBlbnRyeS5lbmRzV2l0aChSRUdfRVhQX0RFTElNSVRFUikpIHtcbiAgICBjb25zdCBzb3VyY2UgPSBlbnRyeS5zbGljZSgxLCAtMSk7XG4gICAgLy8gQW4gdW5wYXJzZWFibGUgZXhwcmVzc2lvbiBtdXN0IG5vdCB0aHJvdyBtaWQtY29sbGVjdGlvbjsgaXQgc2ltcGx5IG1hdGNoZXMgbm90aGluZy5cbiAgICByZXR1cm4gaXNWYWxpZFJlZ0V4cChzb3VyY2UpICYmIG5ldyBSZWdFeHAoc291cmNlKS50ZXN0KHBhcmFtcy5ub3RlUGF0aCk7XG4gIH1cblxuICBpZiAoZW50cnkuc3RhcnRzV2l0aChFWFRFTlNJT05fUFJFRklYKSkge1xuICAgIHJldHVybiBwYXJhbXMubm90ZVBhdGgudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChlbnRyeS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIGNvbnN0IHByZWZpeCA9IGVudHJ5LmVuZHNXaXRoKCcvJykgPyBlbnRyeSA6IGAke2VudHJ5fS9gO1xuICByZXR1cm4gcGFyYW1zLm5vdGVQYXRoID09PSBlbnRyeSB8fCBwYXJhbXMubm90ZVBhdGguc3RhcnRzV2l0aChwcmVmaXgpO1xufVxuXG5mdW5jdGlvbiBjaGVja1Byb3BlcnR5TWF0Y2hlcyhzcGVjaWZpZXI6IHN0cmluZywgZnJvbnRtYXR0ZXI6IG51bGwgfCBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4pOiBib29sZWFuIHtcbiAgaWYgKCFmcm9udG1hdHRlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHNlcGFyYXRvckluZGV4ID0gc3BlY2lmaWVyLmluZGV4T2YoUFJPUEVSVFlfVkFMVUVfU0VQQVJBVE9SKTtcbiAgaWYgKHNlcGFyYXRvckluZGV4ID09PSAtMSkge1xuICAgIHJldHVybiBPYmplY3QuaGFzT3duKGZyb250bWF0dGVyLCBzcGVjaWZpZXIpO1xuICB9XG5cbiAgY29uc3QgcHJvcGVydHlOYW1lID0gc3BlY2lmaWVyLnNsaWNlKDAsIHNlcGFyYXRvckluZGV4KTtcbiAgY29uc3QgZXhwZWN0ZWRWYWx1ZSA9IHNwZWNpZmllci5zbGljZShzZXBhcmF0b3JJbmRleCArIDEpO1xuICBpZiAoIU9iamVjdC5oYXNPd24oZnJvbnRtYXR0ZXIsIHByb3BlcnR5TmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBhY3R1YWxWYWx1ZSA9IGZyb250bWF0dGVyW3Byb3BlcnR5TmFtZV07XG4gIC8vIEZyb250bWF0dGVyIHZhbHVlcyBhcmUgd2hhdGV2ZXIgWUFNTCBwcm9kdWNlZCwgc28gY29tcGFyZSB0aGVpciByZW5kZXJpbmcgcmF0aGVyIHRoYW4gcmVxdWlyaW5nIGFcbiAgLy8gU3RyaW5nLiBBbiBhcnJheSBtYXRjaGVzIHdoZW4gYW55IG9mIGl0cyBlbnRyaWVzIGRvZXMsIHdoaWNoIGlzIGhvdyB0YWctbGlrZSBwcm9wZXJ0aWVzIHJlYWQuXG4gIGlmIChBcnJheS5pc0FycmF5KGFjdHVhbFZhbHVlKSkge1xuICAgIHJldHVybiBhY3R1YWxWYWx1ZS5zb21lKChpdGVtKSA9PiBTdHJpbmcoaXRlbSkgPT09IGV4cGVjdGVkVmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIFN0cmluZyhhY3R1YWxWYWx1ZSkgPT09IGV4cGVjdGVkVmFsdWU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkEscUJBQThCO0FBRTlCLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sb0JBQW9CO0FBQzFCLE1BQU0sbUJBQW1CO0FBQ3pCLE1BQU0sMkJBQTJCO0FBUzFCLElBQUsseUJBQUwsa0JBQUtBLDRCQUFMO0FBSUwsRUFBQUEsd0JBQUEsZUFBWTtBQUtaLEVBQUFBLHdCQUFBLGFBQVU7QUFLVixFQUFBQSx3QkFBQSxTQUFNO0FBZEksU0FBQUE7QUFBQSxHQUFBO0FBNkVMLE1BQU0sb0JBQW9CO0FBaUIxQixTQUFTLCtCQUErQixRQUF3RDtBQUVyRyxRQUFNLGtCQUFrQixPQUFPLFVBQVUsSUFBSSxDQUFDLGNBQWM7QUFBQSxJQUMxRDtBQUFBLElBQ0EsTUFBTSxPQUFPLEtBQUssUUFBUTtBQUFBLEVBQzVCLEVBQUU7QUFFRixNQUFJLFdBQVc7QUFDZixhQUFXLFVBQVUsaUJBQWlCO0FBQ3BDLFFBQUksT0FBTyxPQUFPLFVBQVU7QUFD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
@@ -12,6 +12,11 @@
12
12
  * A tie is deliberately NOT resolved here. Two notes of equal priority is exactly the ambiguity the
13
13
  * existing mode setting already exists to handle, and inventing a second, silent rule for it would
14
14
  * move a file the user never named.
15
+ *
16
+ * The tie is also the whole of what gets REPORTED. A note the list ranked below the best rank cannot
17
+ * resolve the ambiguity, so listing it only adds noise — and worse in a picker, where offering it
18
+ * invites an answer the priority list itself would not have given. That is why
19
+ * {@link filterHighestPriorityNotePaths} exists alongside the two functions that decide.
15
20
  */
16
21
  /**
17
22
  * Why the priority list did not settle which note owns an attachment.
@@ -34,6 +39,13 @@ export declare enum NoPriorityWinnerReason {
34
39
  */
35
40
  Tie = "Tie"
36
41
  }
42
+ /**
43
+ * Parameters for {@link filterHighestPriorityNotePaths}.
44
+ *
45
+ * The same question as {@link pickHighestPriorityNotePath} asks, so deliberately the same parameters:
46
+ * the two must be answered from identical inputs or they could disagree.
47
+ */
48
+ export type FilterHighestPriorityNotePathsParams = PickHighestPriorityNotePathParams;
37
49
  /**
38
50
  * Parameters for {@link findNoPriorityWinnerReason}.
39
51
  */
@@ -81,6 +93,22 @@ export interface PickHighestPriorityNotePathParams {
81
93
  * that matches nothing always loses to one that matches something.
82
94
  */
83
95
  export declare const NO_PRIORITY_MATCH: number;
96
+ /**
97
+ * Narrows the referencing notes to the ones sharing the best rank.
98
+ *
99
+ * Those notes are the whole of the ambiguity: one the list ranked below them cannot resolve anything,
100
+ * so reporting it only adds noise. This mirrors {@link pickHighestPriorityNotePath}'s conditions
101
+ * rather than re-deciding anything, so the two can only ever agree — whenever that names a winner,
102
+ * this returns exactly that one note.
103
+ *
104
+ * A list that decides nothing at all — empty, or matching no note — ranks every note
105
+ * {@link NO_PRIORITY_MATCH}, so they all tie and every one of them is kept. That is the same list the
106
+ * user saw before, which is correct: nothing has ruled any of them out.
107
+ *
108
+ * @param params - The referencing notes and how to rank one.
109
+ * @returns The notes holding the best rank, in the order they were given.
110
+ */
111
+ export declare function filterHighestPriorityNotePaths(params: FilterHighestPriorityNotePathsParams): string[];
84
112
  /**
85
113
  * Explains why the priority list named no owner for an attachment.
86
114
  *
@@ -149,6 +149,7 @@ var ObsidianPluginRepoPaths = /* @__PURE__ */ ((ObsidianPluginRepoPaths2) => {
149
149
  ObsidianPluginRepoPaths2["AnyAndroidCaptureIntegrationTestTs"] = "*.android-capture.integration.test.ts";
150
150
  ObsidianPluginRepoPaths2["AnyAndroidIntegrationTestTs"] = "*.android.integration.test.ts";
151
151
  ObsidianPluginRepoPaths2["AnyCjs"] = "*.cjs";
152
+ ObsidianPluginRepoPaths2["AnyDesktopTs"] = "desktop-*.ts";
152
153
  ObsidianPluginRepoPaths2["AnyIntegrationTestTs"] = "*.integration.test.ts";
153
154
  ObsidianPluginRepoPaths2["AnyJs"] = "*.js";
154
155
  ObsidianPluginRepoPaths2["AnyMjs"] = "*.mjs";
@@ -208,4 +209,4 @@ var ObsidianPluginRepoPaths = /* @__PURE__ */ ((ObsidianPluginRepoPaths2) => {
208
209
  0 && (module.exports = {
209
210
  ObsidianPluginRepoPaths
210
211
  });
211
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIGFuIGVudW1lcmF0aW9uIGZvciBjb21tb24gZmlsZSBhbmQgZm9sZGVyIHBhdGhzIHVzZWQgaW4gT2JzaWRpYW4gcGx1Z2luIGRldmVsb3BtZW50LlxuICovXG5cbi8qKlxuICogRW51bWVyYXRpb24gb2YgY29tbW9ubHkgdXNlZCBmaWxlIGFuZCBmb2xkZXIgcGF0aHMgaW4gT2JzaWRpYW4gcGx1Z2luIGRldmVsb3BtZW50LlxuICovXG5leHBvcnQgZW51bSBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB7XG4gIC8qKlxuICBBbnkgQW5kcm9pZCBjYXB0dXJlIGludGVncmF0aW9uLXRlc3QgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55QW5kcm9pZENhcHR1cmVJbnRlZ3JhdGlvblRlc3RUcyA9ICcqLmFuZHJvaWQtY2FwdHVyZS5pbnRlZ3JhdGlvbi50ZXN0LnRzJyxcblxuICAvKipcbiAgQW55IEFuZHJvaWQgaW50ZWdyYXRpb24tdGVzdCBUeXBlU2NyaXB0IGZpbGUuXG4gICAqL1xuICBBbnlBbmRyb2lkSW50ZWdyYXRpb25UZXN0VHMgPSAnKi5hbmRyb2lkLmludGVncmF0aW9uLnRlc3QudHMnLFxuXG4gIC8qKlxuICBDb21tb25KUyBmaWxlLlxuICAgKi9cbiAgQW55Q2pzID0gJyouY2pzJyxcblxuICAvKipcbiAgQW55IGludGVncmF0aW9uLXRlc3QgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55SW50ZWdyYXRpb25UZXN0VHMgPSAnKi5pbnRlZ3JhdGlvbi50ZXN0LnRzJyxcblxuICAvKipcbiAgSmF2YVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55SnMgPSAnKi5qcycsXG5cbiAgLyoqXG4gIEVTTSBKYXZhU2NyaXB0IGZpbGUuXG4gICAqL1xuICBBbnlNanMgPSAnKi5tanMnLFxuXG4gIC8qKlxuICBBbnkgcGF0aCByZWN1cnNpdmVseS5cbiAgICovXG4gIEFueVBhdGggPSAnKionLFxuXG4gIC8qKlxuICBBbnkgdGVzdCBUeXBlU2NyaXB0IGZpbGUuXG4gICAqL1xuICBBbnlUZXN0VHMgPSAnKi50ZXN0LnRzJyxcblxuICAvKipcbiAgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55VHMgPSAnKi50cycsXG5cbiAgLyoqXG4gIFJlYWN0SlMgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55VHN4ID0gJyoudHN4JyxcblxuICAvKipcbiAgT2JzaWRpYW4gYXBwbGljYXRpb24gc2V0dGluZ3MgZmlsZSB3aXRoaW4gYW4gT2JzaWRpYW4gY29uZmlndXJhdGlvbiBmb2xkZXIuXG4gICAqL1xuICBBcHBKc29uID0gJ2FwcC5qc29uJyxcblxuICAvKipcbiAgQ2hhbmdlbG9nIGZpbGUuXG4gICAqL1xuICBDaGFuZ2Vsb2dNZCA9ICdDSEFOR0VMT0cubWQnLFxuXG4gIC8qKlxuICBDb21taXRsaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIENvbW1pdGxpbnRDb25maWdUcyA9ICdjb21taXRsaW50LmNvbmZpZy50cycsXG5cbiAgLyoqXG4gIEN1cnJlbnQgZm9sZGVyLlxuICAgKi9cbiAgQ3VycmVudEZvbGRlciA9ICcuJyxcblxuICAvKipcbiAgRGVtbyB2YXVsdCBmb2xkZXIgc2hpcHBlZCBpbiBhIHBsdWdpbiByZXBvIHJvb3QuXG4gICAqL1xuICBEZW1vVmF1bHQgPSAnZGVtby12YXVsdCcsXG5cbiAgLyoqXG4gIERpc3RyaWJ1dGlvbiBmb2xkZXIuXG4gICAqL1xuICBEaXN0ID0gJ2Rpc3QnLFxuXG4gIC8qKlxuICBCdWlsZCBmb2xkZXIgd2l0aGluIHRoZSB7QGxpbmsgRGlzdH0gZm9sZGVyLlxuICAgKi9cbiAgRGlzdEJ1aWxkID0gJ2Rpc3QvYnVpbGQnLFxuXG4gIC8qKlxuICBEZXZlbG9wbWVudCBmb2xkZXIgd2l0aGluIHRoZSB7QGxpbmsgRGlzdH0gZm9sZGVyLlxuICAgKi9cbiAgRGlzdERldiA9ICdkaXN0L2RldicsXG5cbiAgLyoqXG4gIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24gZm9sZGVyIHdpdGhpbiBhIHZhdWx0LlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvaGFyZGNvZGVkLWNvbmZpZy1wYXRoIC0tIFRoaXMgaXMgdGhlIGRlZmF1bHQgY29uZmlnIGZvbGRlciBuYW1lIGJha2VkIGludG8gYSBzaGlwcGVkIGRlbW8tdmF1bHQgc2tlbGV0b24sIG5vdCBhIGxvb2t1cCBhZ2FpbnN0IGEgbGl2ZSB2YXVsdC5cbiAgRG90T2JzaWRpYW4gPSAnLm9ic2lkaWFuJyxcblxuICAvKipcbiAgQ29tbW9uSlMgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0NqcyA9ICdlc2xpbnQuY29uZmlnLmNqcycsXG5cbiAgLyoqXG4gIENvbW1vbkpTIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0N0cyA9ICdlc2xpbnQuY29uZmlnLmN0cycsXG5cbiAgLyoqXG4gIEphdmFTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0pzID0gJ2VzbGludC5jb25maWcuanMnLFxuXG4gIC8qKlxuICBFU00gSmF2YVNjcmlwdCBFU0xpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgRXNsaW50Q29uZmlnTWpzID0gJ2VzbGludC5jb25maWcubWpzJyxcblxuICAvKipcbiAgRVNNIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ010cyA9ICdlc2xpbnQuY29uZmlnLm10cycsXG5cbiAgLyoqXG4gIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ1RzID0gJ2VzbGludC5jb25maWcudHMnLFxuXG4gIC8qKlxuICBIb3QgcmVsb2FkIGZpbGUuXG4gICAqL1xuICBIb3RSZWxvYWQgPSAnLmhvdHJlbG9hZCcsXG5cbiAgLyoqXG4gIExpY2Vuc2UgZmlsZS5cbiAgICovXG4gIExpY2Vuc2UgPSAnTElDRU5TRScsXG5cbiAgLyoqXG4gIE1haW4gQ1NTIGZpbGUuXG4gICAqL1xuICBNYWluQ3NzID0gJ21haW4uY3NzJyxcblxuICAvKipcbiAgTWFpbiBKYXZhU2NyaXB0IGZpbGUuXG4gICAqL1xuICBNYWluSnMgPSAnbWFpbi5qcycsXG5cbiAgLyoqXG4gIE1haW4gVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgTWFpblRzID0gJ21haW4udHMnLFxuXG4gIC8qKlxuICBNYW5pZmVzdCBmaWxlIGZvciBiZXRhIHJlbGVhc2VzLlxuICAgKi9cbiAgTWFuaWZlc3RCZXRhSnNvbiA9ICdtYW5pZmVzdC1iZXRhLmpzb24nLFxuXG4gIC8qKlxuICBNYW5pZmVzdCBmaWxlLlxuICAgKi9cbiAgTWFuaWZlc3RKc29uID0gJ21hbmlmZXN0Lmpzb24nLFxuXG4gIC8qKlxuICBDb21tb25KUyBNYXJrZG93bmxpbnQgQ0xJMiBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDbGkyQ29uZmlnQ2pzID0gJy5tYXJrZG93bmxpbnQtY2xpMi5janMnLFxuXG4gIC8qKlxuICBKU09OQyBNYXJrZG93bmxpbnQgQ0xJMiBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDbGkyQ29uZmlnSnNvbmMgPSAnLm1hcmtkb3dubGludC1jbGkyLmpzb25jJyxcblxuICAvKipcbiAgRVNNIE1hcmtkb3dubGludCBDTEkyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIE1hcmtkb3dubGludENsaTJDb25maWdNanMgPSAnLm1hcmtkb3dubGludC1jbGkyLm1qcycsXG5cbiAgLyoqXG4gIFlBTUwgTWFya2Rvd25saW50IENMSTIgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q2xpMkNvbmZpZ1lhbWwgPSAnLm1hcmtkb3dubGludC1jbGkyLnlhbWwnLFxuXG4gIC8qKlxuICBDb21tb25KUyBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnQ2pzID0gJy5tYXJrZG93bmxpbnQuY2pzJyxcblxuICAvKipcbiAgSlNPTiBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnSnNvbiA9ICcubWFya2Rvd25saW50Lmpzb24nLFxuXG4gIC8qKlxuICBKU09OQyBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnSnNvbmMgPSAnLm1hcmtkb3dubGludC5qc29uYycsXG5cbiAgLyoqXG4gIEVTTSBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnTWpzID0gJy5tYXJrZG93bmxpbnQubWpzJyxcblxuICAvKipcbiAgWUFNTCBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnWWFtbCA9ICcubWFya2Rvd25saW50LnlhbWwnLFxuXG4gIC8qKlxuICBZQU1MIE1hcmtkb3dubGludCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDb25maWdZbWwgPSAnLm1hcmtkb3dubGludC55bWwnLFxuXG4gIC8qKlxuICBNb2NrcyBmb2xkZXIuXG4gICAqL1xuICBNb2NrcyA9ICdzcmMvdGVzdC1oZWxwZXJzJyxcblxuICAvKipcbiAgTm9kZSBtb2R1bGVzIGZvbGRlci5cbiAgICovXG4gIE5vZGVNb2R1bGVzID0gJ25vZGVfbW9kdWxlcycsXG5cbiAgLyoqXG4gIE5QTSBzaHJpbmt3cmFwIGZpbGUuXG4gICAqL1xuICBOcG1TaHJpbmt3cmFwSnNvbiA9ICducG0tc2hyaW5rd3JhcC5qc29uJyxcblxuICAvKipcbiAgUGFja2FnZSBKU09OIGZpbGUuXG4gICAqL1xuICBQYWNrYWdlSnNvbiA9ICdwYWNrYWdlLmpzb24nLFxuXG4gIC8qKlxuICBQYWNrYWdlLWxvY2sgSlNPTiBmaWxlLlxuICAgKi9cbiAgUGFja2FnZUxvY2tKc29uID0gJ3BhY2thZ2UtbG9jay5qc29uJyxcblxuICAvKipcbiAgUGx1Z2lucyBmb2xkZXIgd2l0aGluIGFuIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICAgKi9cbiAgUGx1Z2lucyA9ICdwbHVnaW5zJyxcblxuICAvKipcbiAgU2NyaXB0cyBmb2xkZXIuXG4gICAqL1xuICBTY3JpcHRzID0gJ3NjcmlwdHMnLFxuXG4gIC8qKlxuICBTY3JpcHQgdXRpbGl0aWVzIGZvbGRlciAoZGV2LW9ubHkgdG9vbGluZyB0aGF0IHJ1bnMgaW4gdGhlIGNvbnN1bWVyJ3MgTm9kZSBlbnZpcm9ubWVudCwgbm90IHRoZSBPYnNpZGlhbiBydW50aW1lKS5cbiAgICovXG4gIFNjcmlwdFV0aWxzID0gJ3NyYy9zY3JpcHQtdXRpbHMnLFxuXG4gIC8qKlxuICBTb3VyY2UgZm9sZGVyLlxuICAgKi9cbiAgU3JjID0gJ3NyYycsXG5cbiAgLyoqXG4gIFN0eWxlcyBDU1MgZmlsZS5cbiAgICovXG4gIFN0eWxlc0NzcyA9ICdzdHlsZXMuY3NzJyxcblxuICAvKipcbiAgVGVzdHMgZm9sZGVyLlxuICAgKi9cbiAgVGVzdHMgPSAnX190ZXN0c19fJyxcblxuICAvKipcbiAgVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBUc0NvbmZpZ0pzb24gPSAndHNjb25maWcuanNvbicsXG5cbiAgLyoqXG4gIFZlcnNpb25zIEpTT04gZmlsZS5cbiAgICovXG4gIFZlcnNpb25zSnNvbiA9ICd2ZXJzaW9ucy5qc29uJyxcblxuICAvKipcbiAgVml0ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIFZpdGVzdENvbmZpZ1RzID0gJ3ZpdGVzdC5jb25maWcudHMnXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNPLElBQUssMEJBQUwsa0JBQUtBLDZCQUFMO0FBSUwsRUFBQUEseUJBQUEsd0NBQXFDO0FBS3JDLEVBQUFBLHlCQUFBLGlDQUE4QjtBQUs5QixFQUFBQSx5QkFBQSxZQUFTO0FBS1QsRUFBQUEseUJBQUEsMEJBQXVCO0FBS3ZCLEVBQUFBLHlCQUFBLFdBQVE7QUFLUixFQUFBQSx5QkFBQSxZQUFTO0FBS1QsRUFBQUEseUJBQUEsYUFBVTtBQUtWLEVBQUFBLHlCQUFBLGVBQVk7QUFLWixFQUFBQSx5QkFBQSxXQUFRO0FBS1IsRUFBQUEseUJBQUEsWUFBUztBQUtULEVBQUFBLHlCQUFBLGFBQVU7QUFLVixFQUFBQSx5QkFBQSxpQkFBYztBQUtkLEVBQUFBLHlCQUFBLHdCQUFxQjtBQUtyQixFQUFBQSx5QkFBQSxtQkFBZ0I7QUFLaEIsRUFBQUEseUJBQUEsZUFBWTtBQUtaLEVBQUFBLHlCQUFBLFVBQU87QUFLUCxFQUFBQSx5QkFBQSxlQUFZO0FBS1osRUFBQUEseUJBQUEsYUFBVTtBQU1WLEVBQUFBLHlCQUFBLGlCQUFjO0FBS2QsRUFBQUEseUJBQUEscUJBQWtCO0FBS2xCLEVBQUFBLHlCQUFBLHFCQUFrQjtBQUtsQixFQUFBQSx5QkFBQSxvQkFBaUI7QUFLakIsRUFBQUEseUJBQUEscUJBQWtCO0FBS2xCLEVBQUFBLHlCQUFBLHFCQUFrQjtBQUtsQixFQUFBQSx5QkFBQSxvQkFBaUI7QUFLakIsRUFBQUEseUJBQUEsZUFBWTtBQUtaLEVBQUFBLHlCQUFBLGFBQVU7QUFLVixFQUFBQSx5QkFBQSxhQUFVO0FBS1YsRUFBQUEseUJBQUEsWUFBUztBQUtULEVBQUFBLHlCQUFBLFlBQVM7QUFLVCxFQUFBQSx5QkFBQSxzQkFBbUI7QUFLbkIsRUFBQUEseUJBQUEsa0JBQWU7QUFLZixFQUFBQSx5QkFBQSwrQkFBNEI7QUFLNUIsRUFBQUEseUJBQUEsaUNBQThCO0FBSzlCLEVBQUFBLHlCQUFBLCtCQUE0QjtBQUs1QixFQUFBQSx5QkFBQSxnQ0FBNkI7QUFLN0IsRUFBQUEseUJBQUEsMkJBQXdCO0FBS3hCLEVBQUFBLHlCQUFBLDRCQUF5QjtBQUt6QixFQUFBQSx5QkFBQSw2QkFBMEI7QUFLMUIsRUFBQUEseUJBQUEsMkJBQXdCO0FBS3hCLEVBQUFBLHlCQUFBLDRCQUF5QjtBQUt6QixFQUFBQSx5QkFBQSwyQkFBd0I7QUFLeEIsRUFBQUEseUJBQUEsV0FBUTtBQUtSLEVBQUFBLHlCQUFBLGlCQUFjO0FBS2QsRUFBQUEseUJBQUEsdUJBQW9CO0FBS3BCLEVBQUFBLHlCQUFBLGlCQUFjO0FBS2QsRUFBQUEseUJBQUEscUJBQWtCO0FBS2xCLEVBQUFBLHlCQUFBLGFBQVU7QUFLVixFQUFBQSx5QkFBQSxhQUFVO0FBS1YsRUFBQUEseUJBQUEsaUJBQWM7QUFLZCxFQUFBQSx5QkFBQSxTQUFNO0FBS04sRUFBQUEseUJBQUEsZUFBWTtBQUtaLEVBQUFBLHlCQUFBLFdBQVE7QUFLUixFQUFBQSx5QkFBQSxrQkFBZTtBQUtmLEVBQUFBLHlCQUFBLGtCQUFlO0FBS2YsRUFBQUEseUJBQUEsb0JBQWlCO0FBeFJQLFNBQUFBO0FBQUEsR0FBQTsiLAogICJuYW1lcyI6IFsiT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMiXQp9Cg==
212
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIGFuIGVudW1lcmF0aW9uIGZvciBjb21tb24gZmlsZSBhbmQgZm9sZGVyIHBhdGhzIHVzZWQgaW4gT2JzaWRpYW4gcGx1Z2luIGRldmVsb3BtZW50LlxuICovXG5cbi8qKlxuICogRW51bWVyYXRpb24gb2YgY29tbW9ubHkgdXNlZCBmaWxlIGFuZCBmb2xkZXIgcGF0aHMgaW4gT2JzaWRpYW4gcGx1Z2luIGRldmVsb3BtZW50LlxuICovXG5leHBvcnQgZW51bSBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB7XG4gIC8qKlxuICBBbnkgQW5kcm9pZCBjYXB0dXJlIGludGVncmF0aW9uLXRlc3QgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55QW5kcm9pZENhcHR1cmVJbnRlZ3JhdGlvblRlc3RUcyA9ICcqLmFuZHJvaWQtY2FwdHVyZS5pbnRlZ3JhdGlvbi50ZXN0LnRzJyxcblxuICAvKipcbiAgQW55IEFuZHJvaWQgaW50ZWdyYXRpb24tdGVzdCBUeXBlU2NyaXB0IGZpbGUuXG4gICAqL1xuICBBbnlBbmRyb2lkSW50ZWdyYXRpb25UZXN0VHMgPSAnKi5hbmRyb2lkLmludGVncmF0aW9uLnRlc3QudHMnLFxuXG4gIC8qKlxuICBDb21tb25KUyBmaWxlLlxuICAgKi9cbiAgQW55Q2pzID0gJyouY2pzJyxcblxuICAvKipcbiAgQW55IGRlc2t0b3Atb25seSBUeXBlU2NyaXB0IG1vZHVsZSwgaWRlbnRpZmllZCBieSB0aGUgYGRlc2t0b3AtYCBmaWxlbmFtZSBwcmVmaXguXG4gICAqL1xuICBBbnlEZXNrdG9wVHMgPSAnZGVza3RvcC0qLnRzJyxcblxuICAvKipcbiAgQW55IGludGVncmF0aW9uLXRlc3QgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55SW50ZWdyYXRpb25UZXN0VHMgPSAnKi5pbnRlZ3JhdGlvbi50ZXN0LnRzJyxcblxuICAvKipcbiAgSmF2YVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55SnMgPSAnKi5qcycsXG5cbiAgLyoqXG4gIEVTTSBKYXZhU2NyaXB0IGZpbGUuXG4gICAqL1xuICBBbnlNanMgPSAnKi5tanMnLFxuXG4gIC8qKlxuICBBbnkgcGF0aCByZWN1cnNpdmVseS5cbiAgICovXG4gIEFueVBhdGggPSAnKionLFxuXG4gIC8qKlxuICBBbnkgdGVzdCBUeXBlU2NyaXB0IGZpbGUuXG4gICAqL1xuICBBbnlUZXN0VHMgPSAnKi50ZXN0LnRzJyxcblxuICAvKipcbiAgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55VHMgPSAnKi50cycsXG5cbiAgLyoqXG4gIFJlYWN0SlMgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55VHN4ID0gJyoudHN4JyxcblxuICAvKipcbiAgT2JzaWRpYW4gYXBwbGljYXRpb24gc2V0dGluZ3MgZmlsZSB3aXRoaW4gYW4gT2JzaWRpYW4gY29uZmlndXJhdGlvbiBmb2xkZXIuXG4gICAqL1xuICBBcHBKc29uID0gJ2FwcC5qc29uJyxcblxuICAvKipcbiAgQ2hhbmdlbG9nIGZpbGUuXG4gICAqL1xuICBDaGFuZ2Vsb2dNZCA9ICdDSEFOR0VMT0cubWQnLFxuXG4gIC8qKlxuICBDb21taXRsaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIENvbW1pdGxpbnRDb25maWdUcyA9ICdjb21taXRsaW50LmNvbmZpZy50cycsXG5cbiAgLyoqXG4gIEN1cnJlbnQgZm9sZGVyLlxuICAgKi9cbiAgQ3VycmVudEZvbGRlciA9ICcuJyxcblxuICAvKipcbiAgRGVtbyB2YXVsdCBmb2xkZXIgc2hpcHBlZCBpbiBhIHBsdWdpbiByZXBvIHJvb3QuXG4gICAqL1xuICBEZW1vVmF1bHQgPSAnZGVtby12YXVsdCcsXG5cbiAgLyoqXG4gIERpc3RyaWJ1dGlvbiBmb2xkZXIuXG4gICAqL1xuICBEaXN0ID0gJ2Rpc3QnLFxuXG4gIC8qKlxuICBCdWlsZCBmb2xkZXIgd2l0aGluIHRoZSB7QGxpbmsgRGlzdH0gZm9sZGVyLlxuICAgKi9cbiAgRGlzdEJ1aWxkID0gJ2Rpc3QvYnVpbGQnLFxuXG4gIC8qKlxuICBEZXZlbG9wbWVudCBmb2xkZXIgd2l0aGluIHRoZSB7QGxpbmsgRGlzdH0gZm9sZGVyLlxuICAgKi9cbiAgRGlzdERldiA9ICdkaXN0L2RldicsXG5cbiAgLyoqXG4gIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24gZm9sZGVyIHdpdGhpbiBhIHZhdWx0LlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvaGFyZGNvZGVkLWNvbmZpZy1wYXRoIC0tIFRoaXMgaXMgdGhlIGRlZmF1bHQgY29uZmlnIGZvbGRlciBuYW1lIGJha2VkIGludG8gYSBzaGlwcGVkIGRlbW8tdmF1bHQgc2tlbGV0b24sIG5vdCBhIGxvb2t1cCBhZ2FpbnN0IGEgbGl2ZSB2YXVsdC5cbiAgRG90T2JzaWRpYW4gPSAnLm9ic2lkaWFuJyxcblxuICAvKipcbiAgQ29tbW9uSlMgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0NqcyA9ICdlc2xpbnQuY29uZmlnLmNqcycsXG5cbiAgLyoqXG4gIENvbW1vbkpTIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0N0cyA9ICdlc2xpbnQuY29uZmlnLmN0cycsXG5cbiAgLyoqXG4gIEphdmFTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0pzID0gJ2VzbGludC5jb25maWcuanMnLFxuXG4gIC8qKlxuICBFU00gSmF2YVNjcmlwdCBFU0xpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgRXNsaW50Q29uZmlnTWpzID0gJ2VzbGludC5jb25maWcubWpzJyxcblxuICAvKipcbiAgRVNNIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ010cyA9ICdlc2xpbnQuY29uZmlnLm10cycsXG5cbiAgLyoqXG4gIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ1RzID0gJ2VzbGludC5jb25maWcudHMnLFxuXG4gIC8qKlxuICBIb3QgcmVsb2FkIGZpbGUuXG4gICAqL1xuICBIb3RSZWxvYWQgPSAnLmhvdHJlbG9hZCcsXG5cbiAgLyoqXG4gIExpY2Vuc2UgZmlsZS5cbiAgICovXG4gIExpY2Vuc2UgPSAnTElDRU5TRScsXG5cbiAgLyoqXG4gIE1haW4gQ1NTIGZpbGUuXG4gICAqL1xuICBNYWluQ3NzID0gJ21haW4uY3NzJyxcblxuICAvKipcbiAgTWFpbiBKYXZhU2NyaXB0IGZpbGUuXG4gICAqL1xuICBNYWluSnMgPSAnbWFpbi5qcycsXG5cbiAgLyoqXG4gIE1haW4gVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgTWFpblRzID0gJ21haW4udHMnLFxuXG4gIC8qKlxuICBNYW5pZmVzdCBmaWxlIGZvciBiZXRhIHJlbGVhc2VzLlxuICAgKi9cbiAgTWFuaWZlc3RCZXRhSnNvbiA9ICdtYW5pZmVzdC1iZXRhLmpzb24nLFxuXG4gIC8qKlxuICBNYW5pZmVzdCBmaWxlLlxuICAgKi9cbiAgTWFuaWZlc3RKc29uID0gJ21hbmlmZXN0Lmpzb24nLFxuXG4gIC8qKlxuICBDb21tb25KUyBNYXJrZG93bmxpbnQgQ0xJMiBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDbGkyQ29uZmlnQ2pzID0gJy5tYXJrZG93bmxpbnQtY2xpMi5janMnLFxuXG4gIC8qKlxuICBKU09OQyBNYXJrZG93bmxpbnQgQ0xJMiBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDbGkyQ29uZmlnSnNvbmMgPSAnLm1hcmtkb3dubGludC1jbGkyLmpzb25jJyxcblxuICAvKipcbiAgRVNNIE1hcmtkb3dubGludCBDTEkyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIE1hcmtkb3dubGludENsaTJDb25maWdNanMgPSAnLm1hcmtkb3dubGludC1jbGkyLm1qcycsXG5cbiAgLyoqXG4gIFlBTUwgTWFya2Rvd25saW50IENMSTIgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q2xpMkNvbmZpZ1lhbWwgPSAnLm1hcmtkb3dubGludC1jbGkyLnlhbWwnLFxuXG4gIC8qKlxuICBDb21tb25KUyBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnQ2pzID0gJy5tYXJrZG93bmxpbnQuY2pzJyxcblxuICAvKipcbiAgSlNPTiBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnSnNvbiA9ICcubWFya2Rvd25saW50Lmpzb24nLFxuXG4gIC8qKlxuICBKU09OQyBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnSnNvbmMgPSAnLm1hcmtkb3dubGludC5qc29uYycsXG5cbiAgLyoqXG4gIEVTTSBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnTWpzID0gJy5tYXJrZG93bmxpbnQubWpzJyxcblxuICAvKipcbiAgWUFNTCBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnWWFtbCA9ICcubWFya2Rvd25saW50LnlhbWwnLFxuXG4gIC8qKlxuICBZQU1MIE1hcmtkb3dubGludCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDb25maWdZbWwgPSAnLm1hcmtkb3dubGludC55bWwnLFxuXG4gIC8qKlxuICBNb2NrcyBmb2xkZXIuXG4gICAqL1xuICBNb2NrcyA9ICdzcmMvdGVzdC1oZWxwZXJzJyxcblxuICAvKipcbiAgTm9kZSBtb2R1bGVzIGZvbGRlci5cbiAgICovXG4gIE5vZGVNb2R1bGVzID0gJ25vZGVfbW9kdWxlcycsXG5cbiAgLyoqXG4gIE5QTSBzaHJpbmt3cmFwIGZpbGUuXG4gICAqL1xuICBOcG1TaHJpbmt3cmFwSnNvbiA9ICducG0tc2hyaW5rd3JhcC5qc29uJyxcblxuICAvKipcbiAgUGFja2FnZSBKU09OIGZpbGUuXG4gICAqL1xuICBQYWNrYWdlSnNvbiA9ICdwYWNrYWdlLmpzb24nLFxuXG4gIC8qKlxuICBQYWNrYWdlLWxvY2sgSlNPTiBmaWxlLlxuICAgKi9cbiAgUGFja2FnZUxvY2tKc29uID0gJ3BhY2thZ2UtbG9jay5qc29uJyxcblxuICAvKipcbiAgUGx1Z2lucyBmb2xkZXIgd2l0aGluIGFuIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICAgKi9cbiAgUGx1Z2lucyA9ICdwbHVnaW5zJyxcblxuICAvKipcbiAgU2NyaXB0cyBmb2xkZXIuXG4gICAqL1xuICBTY3JpcHRzID0gJ3NjcmlwdHMnLFxuXG4gIC8qKlxuICBTY3JpcHQgdXRpbGl0aWVzIGZvbGRlciAoZGV2LW9ubHkgdG9vbGluZyB0aGF0IHJ1bnMgaW4gdGhlIGNvbnN1bWVyJ3MgTm9kZSBlbnZpcm9ubWVudCwgbm90IHRoZSBPYnNpZGlhbiBydW50aW1lKS5cbiAgICovXG4gIFNjcmlwdFV0aWxzID0gJ3NyYy9zY3JpcHQtdXRpbHMnLFxuXG4gIC8qKlxuICBTb3VyY2UgZm9sZGVyLlxuICAgKi9cbiAgU3JjID0gJ3NyYycsXG5cbiAgLyoqXG4gIFN0eWxlcyBDU1MgZmlsZS5cbiAgICovXG4gIFN0eWxlc0NzcyA9ICdzdHlsZXMuY3NzJyxcblxuICAvKipcbiAgVGVzdHMgZm9sZGVyLlxuICAgKi9cbiAgVGVzdHMgPSAnX190ZXN0c19fJyxcblxuICAvKipcbiAgVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBUc0NvbmZpZ0pzb24gPSAndHNjb25maWcuanNvbicsXG5cbiAgLyoqXG4gIFZlcnNpb25zIEpTT04gZmlsZS5cbiAgICovXG4gIFZlcnNpb25zSnNvbiA9ICd2ZXJzaW9ucy5qc29uJyxcblxuICAvKipcbiAgVml0ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIFZpdGVzdENvbmZpZ1RzID0gJ3ZpdGVzdC5jb25maWcudHMnXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNPLElBQUssMEJBQUwsa0JBQUtBLDZCQUFMO0FBSUwsRUFBQUEseUJBQUEsd0NBQXFDO0FBS3JDLEVBQUFBLHlCQUFBLGlDQUE4QjtBQUs5QixFQUFBQSx5QkFBQSxZQUFTO0FBS1QsRUFBQUEseUJBQUEsa0JBQWU7QUFLZixFQUFBQSx5QkFBQSwwQkFBdUI7QUFLdkIsRUFBQUEseUJBQUEsV0FBUTtBQUtSLEVBQUFBLHlCQUFBLFlBQVM7QUFLVCxFQUFBQSx5QkFBQSxhQUFVO0FBS1YsRUFBQUEseUJBQUEsZUFBWTtBQUtaLEVBQUFBLHlCQUFBLFdBQVE7QUFLUixFQUFBQSx5QkFBQSxZQUFTO0FBS1QsRUFBQUEseUJBQUEsYUFBVTtBQUtWLEVBQUFBLHlCQUFBLGlCQUFjO0FBS2QsRUFBQUEseUJBQUEsd0JBQXFCO0FBS3JCLEVBQUFBLHlCQUFBLG1CQUFnQjtBQUtoQixFQUFBQSx5QkFBQSxlQUFZO0FBS1osRUFBQUEseUJBQUEsVUFBTztBQUtQLEVBQUFBLHlCQUFBLGVBQVk7QUFLWixFQUFBQSx5QkFBQSxhQUFVO0FBTVYsRUFBQUEseUJBQUEsaUJBQWM7QUFLZCxFQUFBQSx5QkFBQSxxQkFBa0I7QUFLbEIsRUFBQUEseUJBQUEscUJBQWtCO0FBS2xCLEVBQUFBLHlCQUFBLG9CQUFpQjtBQUtqQixFQUFBQSx5QkFBQSxxQkFBa0I7QUFLbEIsRUFBQUEseUJBQUEscUJBQWtCO0FBS2xCLEVBQUFBLHlCQUFBLG9CQUFpQjtBQUtqQixFQUFBQSx5QkFBQSxlQUFZO0FBS1osRUFBQUEseUJBQUEsYUFBVTtBQUtWLEVBQUFBLHlCQUFBLGFBQVU7QUFLVixFQUFBQSx5QkFBQSxZQUFTO0FBS1QsRUFBQUEseUJBQUEsWUFBUztBQUtULEVBQUFBLHlCQUFBLHNCQUFtQjtBQUtuQixFQUFBQSx5QkFBQSxrQkFBZTtBQUtmLEVBQUFBLHlCQUFBLCtCQUE0QjtBQUs1QixFQUFBQSx5QkFBQSxpQ0FBOEI7QUFLOUIsRUFBQUEseUJBQUEsK0JBQTRCO0FBSzVCLEVBQUFBLHlCQUFBLGdDQUE2QjtBQUs3QixFQUFBQSx5QkFBQSwyQkFBd0I7QUFLeEIsRUFBQUEseUJBQUEsNEJBQXlCO0FBS3pCLEVBQUFBLHlCQUFBLDZCQUEwQjtBQUsxQixFQUFBQSx5QkFBQSwyQkFBd0I7QUFLeEIsRUFBQUEseUJBQUEsNEJBQXlCO0FBS3pCLEVBQUFBLHlCQUFBLDJCQUF3QjtBQUt4QixFQUFBQSx5QkFBQSxXQUFRO0FBS1IsRUFBQUEseUJBQUEsaUJBQWM7QUFLZCxFQUFBQSx5QkFBQSx1QkFBb0I7QUFLcEIsRUFBQUEseUJBQUEsaUJBQWM7QUFLZCxFQUFBQSx5QkFBQSxxQkFBa0I7QUFLbEIsRUFBQUEseUJBQUEsYUFBVTtBQUtWLEVBQUFBLHlCQUFBLGFBQVU7QUFLVixFQUFBQSx5QkFBQSxpQkFBYztBQUtkLEVBQUFBLHlCQUFBLFNBQU07QUFLTixFQUFBQSx5QkFBQSxlQUFZO0FBS1osRUFBQUEseUJBQUEsV0FBUTtBQUtSLEVBQUFBLHlCQUFBLGtCQUFlO0FBS2YsRUFBQUEseUJBQUEsa0JBQWU7QUFLZixFQUFBQSx5QkFBQSxvQkFBaUI7QUE3UlAsU0FBQUE7QUFBQSxHQUFBOyIsCiAgIm5hbWVzIjogWyJPYnNpZGlhblBsdWdpblJlcG9QYXRocyJdCn0K
@@ -21,6 +21,10 @@ export declare enum ObsidianPluginRepoPaths {
21
21
  */
22
22
  AnyCjs = "*.cjs",
23
23
  /**
24
+ Any desktop-only TypeScript module, identified by the `desktop-` filename prefix.
25
+ */
26
+ AnyDesktopTs = "desktop-*.ts",
27
+ /**
24
28
  Any integration-test TypeScript file.
25
29
  */
26
30
  AnyIntegrationTestTs = "*.integration.test.ts",