@qodalis/cli-core 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,13 @@
1
- # Qodalis Angular CLI
1
+ <h2 align="center">
2
+ Qodalis Angular Web CLI
3
+ </h2>
4
+
5
+ <div align="center">
6
+
7
+ [![npm version](https://img.shields.io/npm/v/@qodalis/angular-cli.svg)](https://www.npmjs.com/package/@qodalis/angular-cli)
8
+ [![Build Status](https://github.com/qodalis-solutions/angular-web-cli/actions/workflows/deploy.yml/badge.svg?branch=main)](https://github.com/qodalis-solutions/angular-web-cli/actions)
9
+
10
+ </div>
2
11
 
3
12
  **Qodalis Angular CLI** is a web-based terminal CLI component for Angular applications. It provides a powerful and extensible interface to execute commands and streamline workflows directly within your web application. The CLI can be extended with custom command processors to suit your specific needs.
4
13
 
@@ -18,7 +27,7 @@
18
27
 
19
28
  ## Live Example
20
29
 
21
- Check out a live example of the Qodalis Angular CLI on StackBlitz: [Live Example on StackBlitz](https://stackblitz.com/~/github.com/qodalis-nicolae-lupei/stackblitz-qodalis-cli-example)
30
+ Check out a live example of the Qodalis Angular CLI on [StackBlitz](https://stackblitz.com/edit/stackblitz-qodalis-cli-example)
22
31
 
23
32
  ## Docs
24
33
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9pbnRlcmZhY2VzL2NvbW1hbmQtaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbGlFeGVjdXRpb25Db250ZXh0IH0gZnJvbSAnLi9leGVjdXRpb24tY29udGV4dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVByb2Nlc3Nvckhvb2sge1xuICAgIHdoZW46ICdiZWZvcmUnIHwgJ2FmdGVyJztcbiAgICBleGVjdXRlOiAoY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpID0+IFByb21pc2U8dm9pZD47XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9jb21tYW5kLXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpUHJvY2Vzc0NvbW1hbmQsIENsaVByb2Nlc3Nvck1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElDbGlFeGVjdXRpb25Db250ZXh0IH0gZnJvbSAnLi9leGVjdXRpb24tY29udGV4dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRBdXRob3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBhdXRob3JcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW1haWwgb2YgdGhlIGF1dGhvclxuICAgICAqL1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbW1hbmQgcGFyYW1ldGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQWxpYXNlcyBmb3IgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkXG4gICAgICovXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICovXG4gICAgdHlwZTogJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdib29sZWFuJyB8ICdhcnJheScgfCAnb2JqZWN0JyB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBBIHZhbGlkYXRvciBmdW5jdGlvbiB0aGF0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gdmFsaWRhdGVcbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBhIHZhbGlkIHByb3BlcnR5IHRoYXQgaW5kaWNhdGVzIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCBhbmQgYW4gb3B0aW9uYWwgbWVzc2FnZSBwcm9wZXJ0eSB0aGF0IGNvbnRhaW5zIGEgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSB2YWx1ZSBpcyBub3QgdmFsaWRcbiAgICAgKi9cbiAgICB2YWxpZGF0b3I/OiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogSW5kaWNhdGVzIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZFxuICAgICAgICAgKi9cbiAgICAgICAgdmFsaWQ6IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEFuIG9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICAgICAqL1xuICAgICAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIH07XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbW1hbmQgcHJvY2Vzc29yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRQcm9jZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kIHRoYXQgdGhpcyBwcm9jZXNzb3IgaGFuZGxlc1xuICAgICAqL1xuICAgIGNvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGNvbW1hbmRcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBhdXRob3Igb2YgdGhlIGNvbW1hbmRcbiAgICAgKi9cbiAgICBhdXRob3I/OiBJQ2xpQ29tbWFuZEF1dGhvcjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgY2FuIGhhbmRsZSB1bmxpc3RlZCBjb21tYW5kc1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHJlbWFya3MgSWYgdHJ1ZSwgdGhlIHByb2Nlc3NvciBjYW4gaGFuZGxlIHVubGlzdGVkIGNvbW1hbmRzLiBJZiBmYWxzZSwgdGhlIHByb2Nlc3NvciB3aWxsIG9ubHkgaGFuZGxlIGNvbW1hbmRzIHRoYXQgYXJlIGV4cGxpY2l0bHkgbGlzdGVkIGluIHRoZSBwcm9jZXNzb3JzIHByb3BlcnR5XG4gICAgICogQHJlbWFya3MgT3B0aW9uYWwgaWYgdmFsdWVSZXF1aXJlZCBpcyB0cnVlXG4gICAgICovXG4gICAgYWxsb3dVbmxpc3RlZENvbW1hbmRzPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSB2YWx1ZSBpcyByZXF1aXJlZFxuICAgICAqL1xuICAgIHZhbHVlUmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZlcnNpb24gb2YgdGhlIGNvbW1hbmQgcHJvY2Vzc29yXG4gICAgICogQGRlZmF1bHQgJzEuMC4wJ1xuICAgICAqL1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWV0YWRhdGEgZm9yIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqL1xuICAgIG1ldGFkYXRhPzogQ2xpUHJvY2Vzc29yTWV0YWRhdGE7XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzb3JzIHRoYXQgYXJlIG5lc3RlZCB1bmRlciB0aGlzIHByb2Nlc3NvclxuICAgICAqL1xuICAgIHByb2Nlc3NvcnM/OiBJQ2xpQ29tbWFuZFByb2Nlc3NvcltdO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVycyB0aGF0IHRoZSBjb21tYW5kIGFjY2VwdHNcbiAgICAgKi9cbiAgICBwYXJhbWV0ZXJzPzogSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yW107XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzIHRoZSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gcHJvY2Vzc1xuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgcHJvY2Vzc0NvbW1hbmQoXG4gICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICApOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbnRleHQgVGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWRcbiAgICAgKi9cbiAgICB3cml0ZURlc2NyaXB0aW9uPyhjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgdmFsaWRhdGVzIHRoZSBjb21tYW5kIGJlZm9yZSBleGVjdXRpb25cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHZhbGlkYXRlXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYSB2YWxpZCBwcm9wZXJ0eSB0aGF0IGluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWQgYW5kIGFuIG9wdGlvbmFsIG1lc3NhZ2UgcHJvcGVydHkgdGhhdCBjb250YWlucyBhIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICovXG4gICAgdmFsaWRhdGVCZWZvcmVFeGVjdXRpb24/OiAoXG4gICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICApID0+IHtcbiAgICAgICAgdmFsaWQ6IGJvb2xlYW47XG4gICAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemUgdGhlIGNvbW1hbmQgcHJvY2Vzc29yXG4gICAgICogQHBhcmFtIGNvbnRleHQgVGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWRcbiAgICAgKi9cbiAgICBpbml0aWFsaXplPyhjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9jb21tYW5kLXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICBDbGlQcm9jZXNzb3JNZXRhZGF0YSxcbiAgICBDbGlTdGF0ZUNvbmZpZ3VyYXRpb24sXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBJQ2xpUHJvY2Vzc29ySG9vayB9IGZyb20gJy4vY29tbWFuZC1ob29rcyc7XG5pbXBvcnQgeyBJQ2xpRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gJy4vZXhlY3V0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kQXV0aG9yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVtYWlsIG9mIHRoZSBhdXRob3JcbiAgICAgKi9cbiAgICBlbWFpbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kIHBhcmFtZXRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUGFyYW1ldGVyRGVzY3JpcHRvciB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFsaWFzZXMgZm9yIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBhbGlhc2VzPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZFxuICAgICAqL1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbGVhbicgfCAnYXJyYXknIHwgJ29iamVjdCcgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHZhbGlkYXRlXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYSB2YWxpZCBwcm9wZXJ0eSB0aGF0IGluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWQgYW5kIGFuIG9wdGlvbmFsIG1lc3NhZ2UgcHJvcGVydHkgdGhhdCBjb250YWlucyBhIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICovXG4gICAgdmFsaWRhdG9yPzogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWRcbiAgICAgICAgICovXG4gICAgICAgIHZhbGlkOiBib29sZWFuO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBbiBvcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAgICAgKi9cbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcbiAgICB9O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kIHByb2Nlc3NvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUHJvY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCB0aGF0IHRoaXMgcHJvY2Vzc29yIGhhbmRsZXNcbiAgICAgKi9cbiAgICBjb21tYW5kOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kXG4gICAgICovXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYXV0aG9yIG9mIHRoZSBjb21tYW5kXG4gICAgICovXG4gICAgYXV0aG9yPzogSUNsaUNvbW1hbmRBdXRob3I7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcHJvY2Vzc29yIGNhbiBoYW5kbGUgdW5saXN0ZWQgY29tbWFuZHNcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEByZW1hcmtzIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgY2FuIGhhbmRsZSB1bmxpc3RlZCBjb21tYW5kcy4gSWYgZmFsc2UsIHRoZSBwcm9jZXNzb3Igd2lsbCBvbmx5IGhhbmRsZSBjb21tYW5kcyB0aGF0IGFyZSBleHBsaWNpdGx5IGxpc3RlZCBpbiB0aGUgcHJvY2Vzc29ycyBwcm9wZXJ0eVxuICAgICAqIEByZW1hcmtzIE9wdGlvbmFsIGlmIHZhbHVlUmVxdWlyZWQgaXMgdHJ1ZVxuICAgICAqL1xuICAgIGFsbG93VW5saXN0ZWRDb21tYW5kcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdmFsdWUgaXMgcmVxdWlyZWRcbiAgICAgKi9cbiAgICB2YWx1ZVJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBkZWZhdWx0ICcxLjAuMCdcbiAgICAgKi9cbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGFkYXRhIGZvciB0aGUgY29tbWFuZCBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBtZXRhZGF0YT86IENsaVByb2Nlc3Nvck1ldGFkYXRhO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc29ycyB0aGF0IGFyZSBuZXN0ZWQgdW5kZXIgdGhpcyBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBwcm9jZXNzb3JzPzogSUNsaUNvbW1hbmRDaGlsZFByb2Nlc3NvcltdO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVycyB0aGF0IHRoZSBjb21tYW5kIGFjY2VwdHNcbiAgICAgKi9cbiAgICBwYXJhbWV0ZXJzPzogSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yW107XG5cbiAgICAvKipcbiAgICAgKiBIb29rcyB0aGF0IGFyZSBleGVjdXRlZCBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjb21tYW5kIGlzIHByb2Nlc3NlZFxuICAgICAqL1xuICAgIGhvb2tzPzogSUNsaVByb2Nlc3Nvckhvb2tbXTtcblxuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHN0YXRlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEByZW1hcmtzIFRoZSBzdGF0ZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgdG8gc3RvcmUgYW5kIHJldHJpZXZlIHN0YXRlIGluZm9ybWF0aW9uIGZvciB0aGUgY29tbWFuZCBwcm9jZXNzb3JcbiAgICAgKiBAcmVtYXJrcyBTdGF0ZSBjb25maWh1cmF0aW9uIGlzIG9wdGlvbmFsIGFuZCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhbmQgcmV0cmlldmUgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEByZW1hcmtzIFRoZSBzdGF0ZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgb25seSBmb3Igcm9vdCBjb21tYW5kIHByb2Nlc3NvcnMgYW5kIG5vdCBmb3IgY2hpbGQgY29tbWFuZCBwcm9jZXNzb3JzXG4gICAgICovXG4gICAgc3RhdGVDb25maWd1cmF0aW9uPzogQ2xpU3RhdGVDb25maWd1cmF0aW9uO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3NcbiAgICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCBpbiB3aGljaCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZFxuICAgICAqL1xuICAgIHByb2Nlc3NDb21tYW5kKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgd3JpdGVEZXNjcmlwdGlvbj8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0aGF0IHZhbGlkYXRlcyB0aGUgY29tbWFuZCBiZWZvcmUgZXhlY3V0aW9uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZVxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIGEgdmFsaWQgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgaWYgdGhlIHZhbHVlIGlzIHZhbGlkIGFuZCBhbiBvcHRpb25hbCBtZXNzYWdlIHByb3BlcnR5IHRoYXQgY29udGFpbnMgYSBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAqL1xuICAgIHZhbGlkYXRlQmVmb3JlRXhlY3V0aW9uPzogKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKSA9PiB7XG4gICAgICAgIHZhbGlkOiBib29sZWFuO1xuICAgICAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZT8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjaGlsZCBjb21tYW5kIHByb2Nlc3NvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kQ2hpbGRQcm9jZXNzb3IgZXh0ZW5kcyBJQ2xpQ29tbWFuZFByb2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogVGhlIHBhcmVudCBwcm9jZXNzb3IsIGl0IGlzIHBvcHVsYXRlZCBieSB0aGUgcHJvY2Vzc29yIG1hbmFnZXJcbiAgICAgKi9cbiAgICBwYXJlbnQ/OiBJQ2xpQ29tbWFuZFByb2Nlc3Nvcjtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9leGVjdXRpb24tY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBJQ2xpQ2xpcGJvYXJkLFxuICAgIElDbGlDb21tYW5kRGF0YVN0b3JlLFxuICAgIElDbGlDb21tYW5kRXhlY3V0b3JTZXJ2aWNlLFxuICAgIElDbGlDb21tYW5kUHJvY2Vzc29yLFxuICAgIElDbGlDb250ZXh0U2VydmljZXMsXG4gICAgSUNsaUV4ZWN1dGlvblByb2Nlc3MsXG4gICAgSUNsaUxvZ2dlcixcbiAgICBJQ2xpUGVyY2VudGFnZVByb2dyZXNzQmFyLFxuICAgIElDbGlTcGlubmVyLFxuICAgIElDbGlUZXJtaW5hbFdyaXRlcixcbn0gZnJvbSAnLic7XG5pbXBvcnQgeyBDbGlPcHRpb25zLCBJQ2xpVXNlclNlc3Npb24gfSBmcm9tICcuLi9tb2RlbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNvbnRleHQgaW4gd2hpY2ggYSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUV4ZWN1dGlvbkNvbnRleHQge1xuICAgIC8qKlxuICAgICAqIFRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvblxuICAgICAqL1xuICAgIHVzZXJTZXNzaW9uPzogSUNsaVVzZXJTZXNzaW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNwaW5uZXIgdG8gdXNlIGZvciBzaG93aW5nL2hpZGluZyB0aGUgbG9hZGVyXG4gICAgICovXG4gICAgc3Bpbm5lcj86IElDbGlTcGlubmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2dyZXNzIGJhciB0byB1c2UgZm9yIHNob3dpbmcgcHJvZ3Jlc3NcbiAgICAgKi9cbiAgICBwcm9ncmVzc0JhcjogSUNsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhcjtcblxuICAgIC8qKlxuICAgICAqIEEgc3ViamVjdCB0aGF0IGVtaXRzIHdoZW4gdGhlIGNvbW1hbmQgaXMgYWJvcnRlZFxuICAgICAqL1xuICAgIG9uQWJvcnQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVybWluYWwgdG8gdXNlIGZvciB3cml0aW5nXG4gICAgICovXG4gICAgdGVybWluYWw6IFRlcm1pbmFsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHdyaXRlciB0byB1c2UgZm9yIHdyaXRpbmcgdG8gdGhlIHRlcm1pbmFsXG4gICAgICovXG4gICAgd3JpdGVyOiBJQ2xpVGVybWluYWxXcml0ZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCBleGVjdXRvciB0byB1c2UgZm9yIGV4ZWN1dGluZyBjb21tYW5kc1xuICAgICAqL1xuICAgIGV4ZWN1dG9yOiBJQ2xpQ29tbWFuZEV4ZWN1dG9yU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGlwYm9hcmQgdG8gdXNlIGZvciBjb3B5aW5nL3Bhc3RpbmdcbiAgICAgKi9cbiAgICBjbGlwYm9hcmQ6IElDbGlDbGlwYm9hcmQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBzdG9yZSB0byB1c2UgZm9yIHN0b3JpbmcgZGF0YVxuICAgICAqL1xuICAgIGRhdGFTdG9yZTogSUNsaUNvbW1hbmREYXRhU3RvcmU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3B0aW9ucyBmb3IgdGhlIENMSVxuICAgICAqL1xuICAgIG9wdGlvbnM/OiBDbGlPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb21wdCB0byB1c2UgZm9yIHByb21wdGluZyB0aGUgdXNlciBmb3IgaW5wdXRcbiAgICAgKi9cbiAgICBzaG93UHJvbXB0OiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NvciBhcyB0aGUgY29udGV4dCBwcm9jZXNzb3IsIGkuZS4gdGhlIHByb2Nlc3NvciB0aGF0IHdpbGwgaGFuZGxlIHRoZSBjb21tYW5kXG4gICAgICogQHBhcmFtIHByb2Nlc3NvciBUaGUgcHJvY2Vzc29yIHRvIHNldFxuICAgICAqIEBwYXJhbSBzaWxlbnQgSW5kaWNhdGVzIGlmIHRoZSBzZXR0aW5nIHNob3VsZCBiZSBzaWxlbnQsIGkuZS4gbm90IHdyaXRlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqL1xuICAgIHNldENvbnRleHRQcm9jZXNzb3IoXG4gICAgICAgIHByb2Nlc3NvcjogSUNsaUNvbW1hbmRQcm9jZXNzb3IsXG4gICAgICAgIHNpbGVudD86IGJvb2xlYW4sXG4gICAgKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9jZXNzIHRvIHVzZSBmb3IgZXhpdGluZyB0aGUgQ0xJXG4gICAgICovXG4gICAgcHJvY2VzczogSUNsaUV4ZWN1dGlvblByb2Nlc3M7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbG9nZ2VyIHRvIHVzZSBmb3IgbG9nZ2luZ1xuICAgICAqL1xuICAgIGxvZ2dlcjogSUNsaUxvZ2dlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzZXJ2aWNlcyB0byB1c2UgZm9yIHRoZSBDTEkgY29udGV4dFxuICAgICAqL1xuICAgIHNlcnZpY2VzOiBJQ2xpQ29udGV4dFNlcnZpY2VzO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9leGVjdXRpb24tY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBJQ2xpQ2xpcGJvYXJkLFxuICAgIElDbGlDb21tYW5kRXhlY3V0b3JTZXJ2aWNlLFxuICAgIElDbGlDb21tYW5kUHJvY2Vzc29yLFxuICAgIElDbGlTZXJ2aWNlUHJvdmlkZXIsXG4gICAgSUNsaUV4ZWN1dGlvblByb2Nlc3MsXG4gICAgSUNsaUxvZ2dlcixcbiAgICBJQ2xpUGVyY2VudGFnZVByb2dyZXNzQmFyLFxuICAgIElDbGlTcGlubmVyLFxuICAgIElDbGlTdGF0ZVN0b3JlLFxuICAgIElDbGlUZXJtaW5hbFdyaXRlcixcbiAgICBJQ2xpVGV4dEFuaW1hdG9yLFxufSBmcm9tICcuJztcbmltcG9ydCB7IENsaU9wdGlvbnMsIElDbGlVc2VyU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29udGV4dCBpbiB3aGljaCBhIGNvbW1hbmQgaXMgZXhlY3V0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpRXhlY3V0aW9uQ29udGV4dCB7XG4gICAgLyoqXG4gICAgICogVGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uXG4gICAgICovXG4gICAgdXNlclNlc3Npb24/OiBJQ2xpVXNlclNlc3Npb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3Bpbm5lciB0byB1c2UgZm9yIHNob3dpbmcvaGlkaW5nIHRoZSBsb2FkZXJcbiAgICAgKi9cbiAgICBzcGlubmVyPzogSUNsaVNwaW5uZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCBhbmltYXRvciB0byB1c2UgZm9yIHNob3dpbmcvaGlkaW5nIHRleHRcbiAgICAgKi9cbiAgICB0ZXh0QW5pbWF0b3I/OiBJQ2xpVGV4dEFuaW1hdG9yO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2dyZXNzIGJhciB0byB1c2UgZm9yIHNob3dpbmcgcHJvZ3Jlc3NcbiAgICAgKi9cbiAgICBwcm9ncmVzc0JhcjogSUNsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhcjtcblxuICAgIC8qKlxuICAgICAqIEEgc3ViamVjdCB0aGF0IGVtaXRzIHdoZW4gdGhlIGNvbW1hbmQgaXMgYWJvcnRlZFxuICAgICAqL1xuICAgIG9uQWJvcnQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVybWluYWwgdG8gdXNlIGZvciB3cml0aW5nXG4gICAgICovXG4gICAgdGVybWluYWw6IFRlcm1pbmFsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHdyaXRlciB0byB1c2UgZm9yIHdyaXRpbmcgdG8gdGhlIHRlcm1pbmFsXG4gICAgICovXG4gICAgd3JpdGVyOiBJQ2xpVGVybWluYWxXcml0ZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCBleGVjdXRvciB0byB1c2UgZm9yIGV4ZWN1dGluZyBjb21tYW5kc1xuICAgICAqL1xuICAgIGV4ZWN1dG9yOiBJQ2xpQ29tbWFuZEV4ZWN1dG9yU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGlwYm9hcmQgdG8gdXNlIGZvciBjb3B5aW5nL3Bhc3RpbmdcbiAgICAgKi9cbiAgICBjbGlwYm9hcmQ6IElDbGlDbGlwYm9hcmQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgc3RvcmUgdG8gdXNlIGZvciBzdG9yaW5nIHN0YXRlXG4gICAgICovXG4gICAgc3RhdGU6IElDbGlTdGF0ZVN0b3JlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wdGlvbnMgZm9yIHRoZSBDTElcbiAgICAgKi9cbiAgICBvcHRpb25zPzogQ2xpT3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9tcHQgdG8gdXNlIGZvciBwcm9tcHRpbmcgdGhlIHVzZXIgZm9yIGlucHV0XG4gICAgICovXG4gICAgc2hvd1Byb21wdDogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY3VycmVudCBwcm9jZXNzb3IgYXMgdGhlIGNvbnRleHQgcHJvY2Vzc29yLCBpLmUuIHRoZSBwcm9jZXNzb3IgdGhhdCB3aWxsIGhhbmRsZSB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBwcm9jZXNzb3IgVGhlIHByb2Nlc3NvciB0byBzZXRcbiAgICAgKiBAcGFyYW0gc2lsZW50IEluZGljYXRlcyBpZiB0aGUgc2V0dGluZyBzaG91bGQgYmUgc2lsZW50LCBpLmUuIG5vdCB3cml0ZSB0byB0aGUgdGVybWluYWxcbiAgICAgKi9cbiAgICBzZXRDb250ZXh0UHJvY2Vzc29yOiAoXG4gICAgICAgIHByb2Nlc3NvcjogSUNsaUNvbW1hbmRQcm9jZXNzb3IsXG4gICAgICAgIHNpbGVudD86IGJvb2xlYW4sXG4gICAgKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2Nlc3MgdG8gdXNlIGZvciBleGl0aW5nIHRoZSBDTElcbiAgICAgKi9cbiAgICBwcm9jZXNzOiBJQ2xpRXhlY3V0aW9uUHJvY2VzcztcblxuICAgIC8qKlxuICAgICAqIFRoZSBsb2dnZXIgdG8gdXNlIGZvciBsb2dnaW5nXG4gICAgICovXG4gICAgbG9nZ2VyOiBJQ2xpTG9nZ2VyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNlcnZpY2VzIHRvIHVzZSBmb3IgdGhlIENMSSBjb250ZXh0XG4gICAgICovXG4gICAgc2VydmljZXM6IElDbGlTZXJ2aWNlUHJvdmlkZXI7XG59XG4iXX0=
@@ -1,4 +1,6 @@
1
1
  export * from './execution-context';
2
2
  export * from './command-processor';
3
3
  export * from './progress-bars';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtWUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENsaUJhY2tncm91bmRDb2xvcixcbiAgICBDbGlGb3JlZ3JvdW5kQ29sb3IsXG4gICAgQ2xpTG9nTGV2ZWwsXG4gICAgQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgQ2xpUHJvdmlkZXIsXG4gICAgSUNsaVVzZXIsXG4gICAgSUNsaVVzZXJTZXNzaW9uLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgSUNsaUV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICcuL2V4ZWN1dGlvbi1jb250ZXh0JztcbmltcG9ydCB7IElDbGlDb21tYW5kUHJvY2Vzc29yIH0gZnJvbSAnLi9jb21tYW5kLXByb2Nlc3Nvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVRlcm1pbmFsV3JpdGVyIHtcbiAgICAvKipcbiAgICAgKiBXcml0ZSB0ZXh0IHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHdyaXRlXG4gICAgICovXG4gICAgd3JpdGUodGV4dDogc3RyaW5nKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIHRleHQgdG8gdGhlIHRlcm1pbmFsIGZvbGxvd2VkIGJ5IGEgbmV3bGluZVxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHdyaXRlXG4gICAgICovXG4gICAgd3JpdGVsbih0ZXh0Pzogc3RyaW5nKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgc3VjY2VzcyBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBtZXNzYWcgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVTdWNjZXNzOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYW4gaW5mbyBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBtZXNzYWcgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVJbmZvOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYW4gZXJyb3IgbWVzc2FnZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byB3cml0ZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZUVycm9yOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVXYXJuaW5nOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3JcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byB3cml0ZVxuICAgICAqIEBwYXJhbSBjb2xvciBUaGUgY29sb3IgdG8gdXNlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyYXBJbkNvbG9yOiAodGV4dDogc3RyaW5nLCBjb2xvcjogQ2xpRm9yZWdyb3VuZENvbG9yKSA9PiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsIHdpdGggdGhlIHNwZWNpZmllZCBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcGFyYW0gY29sb3IgVGhlIGJhY2tncm91bmQgY29sb3IgdG8gdXNlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyYXBJbkJhY2tncm91bmRDb2xvcjogKHRleHQ6IHN0cmluZywgY29sb3I6IENsaUJhY2tncm91bmRDb2xvcikgPT4gc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSBKU09OIG9iamVjdCB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0ganNvbiBUaGUgSlNPTiBvYmplY3QgdG8gd3JpdGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVKc29uOiAoanNvbjogYW55KSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgY29udGVudCB0byBhIGZpbGVcbiAgICAgKiBAcGFyYW0gZmlsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gd3JpdGUgdG9cbiAgICAgKiBAcGFyYW0gY29udGVudCBUaGUgY29udGVudCB0byB3cml0ZSB0byB0aGUgZmlsZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZVRvRmlsZTogKGZpbGVOYW1lOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGFuIG9iamVjdCBhcnJheSBhcyBhIHRhYmxlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBvYmplY3RzIFRoZSBvYmplY3RzIHRvIHdyaXRlIHRvIHRoZSB0YWJsZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZU9iamVjdHNBc1RhYmxlKG9iamVjdHM6IGFueVtdKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgdGFibGUgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIGhlYWRlcnMgVGhlIGhlYWRlcnMgb2YgdGhlIHRhYmxlXG4gICAgICogQHBhcmFtIHJvd3MgVGhlIHJvd3Mgb2YgdGhlIHRhYmxlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlVGFibGUoaGVhZGVyczogc3RyaW5nW10sIHJvd3M6IHN0cmluZ1tdW10pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSBkaXZpZGVyIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgZGl2aWRlclxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZURpdmlkZXIob3B0aW9ucz86IHtcbiAgICAgICAgY29sb3I/OiBDbGlGb3JlZ3JvdW5kQ29sb3I7XG4gICAgICAgIGxlbmd0aD86IG51bWJlcjtcbiAgICAgICAgY2hhcj86IHN0cmluZztcbiAgICB9KTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2xpcGJvYXJkIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNsaXBib2FyZCB7XG4gICAgLyoqXG4gICAgICogV3JpdGUgdGV4dCB0byB0aGUgY2xpcGJvYXJkXG4gICAgICogQHBhcmFtIHRleHQgVGhlIHRleHQgdG8gd3JpdGUgdG8gdGhlIGNsaXBib2FyZFxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZTogKHRleHQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIFJlYWQgdGV4dCBmcm9tIHRoZSBjbGlwYm9hcmRcbiAgICAgKiBAcmV0dXJucyBUaGUgdGV4dCByZWFkIGZyb20gdGhlIGNsaXBib2FyZFxuICAgICAqL1xuICAgIHJlYWQ6ICgpID0+IFByb21pc2U8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2VydmljZSB0aGF0IGV4ZWN1dGVzIGNvbW1hbmRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRFeGVjdXRvclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbW1hbmRcbiAgICAgKiBAcGFyYW0gY29udGV4dFxuICAgICAqL1xuICAgIHNob3dIZWxwKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGUgYSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZVxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgZXhlY3V0ZUNvbW1hbmQoXG4gICAgICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcmVnaXN0cnkgZm9yIGNvbW1hbmQgcHJvY2Vzc29yc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUHJvY2Vzc29yUmVnaXN0cnkge1xuICAgIC8qKlxuICAgICAqIEZpbmQgYSBwcm9jZXNzb3IgZm9yIGEgY29tbWFuZFxuICAgICAqIEBwYXJhbSBtYWluQ29tbWFuZFxuICAgICAqIEBwYXJhbSBjaGFpbkNvbW1hbmRzXG4gICAgICovXG4gICAgZmluZFByb2Nlc3NvcihcbiAgICAgICAgbWFpbkNvbW1hbmQ6IHN0cmluZyxcbiAgICAgICAgY2hhaW5Db21tYW5kczogc3RyaW5nW10sXG4gICAgKTogSUNsaUNvbW1hbmRQcm9jZXNzb3IgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICByZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgYSBwcm9jZXNzb3JcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc29yXG4gICAgICovXG4gICAgdW5yZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xpRXhlY3V0aW9uUHJvY2VzcyB7XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBwcm9jZXNzIGhhcyBleGl0ZWRcbiAgICAgKi9cbiAgICBleGl0ZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGV4aXQgY29kZSBvZiB0aGUgcHJvY2Vzc1xuICAgICAqL1xuICAgIGV4aXRDb2RlPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmdcbiAgICAgKi9cbiAgICBydW5uaW5nOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgb2YgdGhlIHByb2Nlc3NcbiAgICAgKi9cbiAgICBkYXRhOiBhbnkgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBFeGl0IHRoZSBwcm9jZXNzXG4gICAgICogQHBhcmFtIGNvZGUgVGhlIGV4aXQgY29kZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICBleGl0OiAoXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgZXhpdCBjb2RlXG4gICAgICAgICAqL1xuICAgICAgICBjb2RlPzogbnVtYmVyLFxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBPcHRpb25zIGZvciBleGl0aW5nIHRoZSBwcm9jZXNzXG4gICAgICAgICAqL1xuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGV4aXQgc2hvdWxkIGJlIHNpbGVudCwgaS5lLiBub3QgdGhyb3cgYW4gZXJyb3JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgc2lsZW50PzogYm9vbGVhbjtcbiAgICAgICAgfSxcbiAgICApID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBPdXRwdXQgZGF0YSBmcm9tIHRoZSBwcm9jZXNzXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gb3V0cHV0XG4gICAgICovXG4gICAgb3V0cHV0KGRhdGE6IGFueSk6IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRhdGEgc3RvcmUgZm9yIHN0b3JpbmcgZGF0YSBhc3NvY2lhdGVkIHdpdGggY29tbWFuZHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpQ29tbWFuZERhdGFTdG9yZSB7XG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgc3RvcmVcbiAgICAgKi9cbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcblxuICAgIC8qKlxuICAgICAqIEFwcGVuZCBkYXRhIHRvIHRoZSBkYXRhIHN0b3JlXG4gICAgICogQHBhcmFtIGNvbW1hbmRcbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHBhcmFtIGRhdGFcbiAgICAgKi9cbiAgICBhcHBlbmREYXRhKGNvbW1hbmQ6IHN0cmluZywga2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZGF0YSBmcm9tIHRoZSBkYXRhIHN0b3JlXG4gICAgICogQHBhcmFtIGNvbW1hbmRcbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICovXG4gICAgZ2V0RGF0YTxUID0gYW55Pihjb21tYW5kOiBzdHJpbmcsIGtleTogc3RyaW5nKTogVDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2VydmljZSB0aGF0IG1hbmFnZXMgdXNlciBzZXNzaW9ucyBpbiB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVVzZXJTZXNzaW9uU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3VycmVudCB1c2VyIHNlc3Npb25cbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uXG4gICAgICovXG4gICAgZ2V0VXNlclNlc3Npb24oKTogT2JzZXJ2YWJsZTxJQ2xpVXNlclNlc3Npb24gfCB1bmRlZmluZWQ+O1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY3VycmVudCB1c2VyIHNlc3Npb25cbiAgICAgKiBAcGFyYW0gc2Vzc2lvbiBUaGUgc2Vzc2lvbiB0byBzZXRcbiAgICAgKi9cbiAgICBzZXRVc2VyU2Vzc2lvbihzZXNzaW9uOiBJQ2xpVXNlclNlc3Npb24pOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzZXJ2aWNlIHRoYXQgbWFuYWdlcyB1c2VycyBpbiB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVVzZXJzU3RvcmVTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjdXJyZW50IHVzZXJzXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IHVzZXJzXG4gICAgICovXG4gICAgZ2V0VXNlcnMob3B0aW9ucz86IHtcbiAgICAgICAgcXVlcnk/OiBzdHJpbmc7XG4gICAgICAgIHNraXA/OiBudW1iZXI7XG4gICAgICAgIHRha2U/OiBudW1iZXI7XG4gICAgfSk6IE9ic2VydmFibGU8SUNsaVVzZXJbXT47XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgdXNlclxuICAgICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIHRvIGNyZWF0ZVxuICAgICAqL1xuICAgIGNyZWF0ZVVzZXIodXNlcjogT21pdDxJQ2xpVXNlciwgJ2lkJz4pOiBQcm9taXNlPElDbGlVc2VyPjtcblxuICAgIC8qKlxuICAgICAqIEdldHMgYSB1c2VyIGJ5IGlkXG4gICAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdXNlciB0byBnZXRcbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVzZXIgd2l0aCB0aGUgc3BlY2lmaWVkIGlkXG4gICAgICovXG4gICAgZ2V0VXNlcihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQ2xpVXNlciB8IHVuZGVmaW5lZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgdGhhdCBwaW5ncyB0aGUgc2VydmVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVBpbmdTZXJ2ZXJTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBQaW5ncyB0aGUgc2VydmVyXG4gICAgICovXG4gICAgcGluZygpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtb2R1bGUgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpVW1kTW9kdWxlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2Nlc3NvcnMgZm9yIHRoZSBtb2R1bGVcbiAgICAgKi9cbiAgICBwcm9jZXNzb3JzOiBJQ2xpQ29tbWFuZFByb2Nlc3NvcltdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBsb2dnZXIgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpTG9nZ2VyIHtcbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGxvZyBsZXZlbCBvZiB0aGUgbG9nZ2VyXG4gICAgICogQHBhcmFtIGxldmVsIFRoZSBsb2cgbGV2ZWwgdG8gc2V0XG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqIEBkZWZhdWx0IENsaUxvZ0xldmVsLkVSUk9SXG4gICAgICovXG4gICAgc2V0Q2xpTG9nTGV2ZWwobGV2ZWw6IENsaUxvZ0xldmVsKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIExvZyBhIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGxvZ1xuICAgICAqL1xuICAgIGxvZyguLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBMb2cgYSBtZXNzYWdlXG4gICAgICogQHBhcmFtIGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBsb2dcbiAgICAgKi9cbiAgICBpbmZvKC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIExvZyBhIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGxvZ1xuICAgICAqL1xuICAgIHdhcm4oLi4uYXJnczogYW55W10pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogTG9nIGEgbWVzc2FnZVxuICAgICAqIEBwYXJhbSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gbG9nXG4gICAgICovXG4gICAgZXJyb3IoLi4uYXJnczogYW55W10pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogTG9nIGEgbWVzc2FnZVxuICAgICAqIEBwYXJhbSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gbG9nXG4gICAgICovXG4gICAgZGVidWcoLi4uYXJnczogYW55W10pOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzZXJ2aWNlcyBmb3IgdGhlIENMSSBjb250ZXh0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbnRleHRTZXJ2aWNlcyB7XG4gICAgLyoqXG4gICAgICogR2V0IGEgc2VydmljZVxuICAgICAqIEBwYXJhbSBzZXJ2aWNlIFRoZSBzZXJ2aWNlIHRvIGdldFxuICAgICAqL1xuICAgIGdldDxUPihzZXJ2aWNlOiBhbnkpOiBUO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGEgc2VydmljZVxuICAgICAqIEBwYXJhbSBkZWZpbml0aW9uIFRoZSBkZWZpbml0aW9uIG9mIHRoZSBzZXJ2aWNlXG4gICAgICovXG4gICAgc2V0KGRlZmluaXRpb246IENsaVByb3ZpZGVyIHwgQ2xpUHJvdmlkZXJbXSk6IHZvaWQ7XG59XG5cbmV4cG9ydCAqIGZyb20gJy4vZXhlY3V0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmQtcHJvY2Vzc29yJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXJzJztcbiJdfQ==
4
+ export * from './command-hooks';
5
+ export * from './users';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1YUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBDbGlCYWNrZ3JvdW5kQ29sb3IsXG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxuICAgIENsaUxvZ0xldmVsLFxuICAgIENsaVByb2Nlc3NDb21tYW5kLFxuICAgIENsaVByb3ZpZGVyLFxuICAgIENsaVN0YXRlLFxuICAgIElDbGlVc2VyLFxuICAgIElDbGlVc2VyU2Vzc2lvbixcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElDbGlFeGVjdXRpb25Db250ZXh0IH0gZnJvbSAnLi9leGVjdXRpb24tY29udGV4dCc7XG5pbXBvcnQge1xuICAgIElDbGlDb21tYW5kQ2hpbGRQcm9jZXNzb3IsXG4gICAgSUNsaUNvbW1hbmRQcm9jZXNzb3IsXG59IGZyb20gJy4vY29tbWFuZC1wcm9jZXNzb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDbGlUZXJtaW5hbFdyaXRlciB7XG4gICAgLyoqXG4gICAgICogV3JpdGUgdGV4dCB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gdGV4dCBUaGUgdGV4dCB0byB3cml0ZVxuICAgICAqL1xuICAgIHdyaXRlKHRleHQ6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSB0ZXh0IHRvIHRoZSB0ZXJtaW5hbCBmb2xsb3dlZCBieSBhIG5ld2xpbmVcbiAgICAgKiBAcGFyYW0gdGV4dCBUaGUgdGV4dCB0byB3cml0ZVxuICAgICAqL1xuICAgIHdyaXRlbG4odGV4dD86IHN0cmluZyk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhIHN1Y2Nlc3MgbWVzc2FnZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gbWVzc2FnIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlU3VjY2VzczogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGFuIGluZm8gbWVzc2FnZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gbWVzc2FnIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlSW5mbzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGFuIGVycm9yIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVFcnJvcjogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgd2FybmluZyBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlV2FybmluZzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgbWVzc2FnZSB0byB0aGUgdGVybWluYWwgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcGFyYW0gY29sb3IgVGhlIGNvbG9yIHRvIHVzZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cmFwSW5Db2xvcjogKHRleHQ6IHN0cmluZywgY29sb3I6IENsaUZvcmVncm91bmRDb2xvcikgPT4gc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbCB3aXRoIHRoZSBzcGVjaWZpZWQgYmFja2dyb3VuZCBjb2xvclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHBhcmFtIGNvbG9yIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cmFwSW5CYWNrZ3JvdW5kQ29sb3I6ICh0ZXh0OiBzdHJpbmcsIGNvbG9yOiBDbGlCYWNrZ3JvdW5kQ29sb3IpID0+IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgSlNPTiBvYmplY3QgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIGpzb24gVGhlIEpTT04gb2JqZWN0IHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlSnNvbjogKGpzb246IGFueSkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGNvbnRlbnQgdG8gYSBmaWxlXG4gICAgICogQHBhcmFtIGZpbGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIHdyaXRlIHRvXG4gICAgICogQHBhcmFtIGNvbnRlbnQgVGhlIGNvbnRlbnQgdG8gd3JpdGUgdG8gdGhlIGZpbGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVUb0ZpbGU6IChmaWxlTmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhbiBvYmplY3QgYXJyYXkgYXMgYSB0YWJsZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gb2JqZWN0cyBUaGUgb2JqZWN0cyB0byB3cml0ZSB0byB0aGUgdGFibGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVPYmplY3RzQXNUYWJsZShvYmplY3RzOiBhbnlbXSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhIHRhYmxlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBoZWFkZXJzIFRoZSBoZWFkZXJzIG9mIHRoZSB0YWJsZVxuICAgICAqIEBwYXJhbSByb3dzIFRoZSByb3dzIG9mIHRoZSB0YWJsZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZVRhYmxlKGhlYWRlcnM6IHN0cmluZ1tdLCByb3dzOiBzdHJpbmdbXVtdKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgZGl2aWRlciB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIGRpdmlkZXJcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVEaXZpZGVyKG9wdGlvbnM/OiB7XG4gICAgICAgIGNvbG9yPzogQ2xpRm9yZWdyb3VuZENvbG9yO1xuICAgICAgICBsZW5ndGg/OiBudW1iZXI7XG4gICAgICAgIGNoYXI/OiBzdHJpbmc7XG4gICAgfSk6IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNsaXBib2FyZCBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDbGlwYm9hcmQge1xuICAgIC8qKlxuICAgICAqIFdyaXRlIHRleHQgdG8gdGhlIGNsaXBib2FyZFxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHdyaXRlIHRvIHRoZSBjbGlwYm9hcmRcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGU6ICh0ZXh0OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBSZWFkIHRleHQgZnJvbSB0aGUgY2xpcGJvYXJkXG4gICAgICogQHJldHVybnMgVGhlIHRleHQgcmVhZCBmcm9tIHRoZSBjbGlwYm9hcmRcbiAgICAgKi9cbiAgICByZWFkOiAoKSA9PiBQcm9taXNlPHN0cmluZz47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgdGhhdCBleGVjdXRlcyBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kRXhlY3V0b3JTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKi9cbiAgICBzaG93SGVscChcbiAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlIGEgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHRvIGV4ZWN1dGVcbiAgICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCBpbiB3aGljaCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZFxuICAgICAqL1xuICAgIGV4ZWN1dGVDb21tYW5kKFxuICAgICAgICBjb21tYW5kOiBzdHJpbmcsXG4gICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHJlZ2lzdHJ5IGZvciBjb21tYW5kIHByb2Nlc3NvcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpQ29tbWFuZFByb2Nlc3NvclJlZ2lzdHJ5IHtcbiAgICAvKipcbiAgICAgKiBUaGUgcHJvY2Vzc29ycyByZWdpc3RlcmVkIHdpdGggdGhlIHJlZ2lzdHJ5XG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJvY2Vzc29yczogSUNsaUNvbW1hbmRQcm9jZXNzb3JbXTtcblxuICAgIC8qKlxuICAgICAqIEZpbmQgYSBwcm9jZXNzb3IgZm9yIGEgY29tbWFuZFxuICAgICAqIEBwYXJhbSBtYWluQ29tbWFuZFxuICAgICAqIEBwYXJhbSBjaGFpbkNvbW1hbmRzXG4gICAgICovXG4gICAgZmluZFByb2Nlc3NvcihcbiAgICAgICAgbWFpbkNvbW1hbmQ6IHN0cmluZyxcbiAgICAgICAgY2hhaW5Db21tYW5kczogc3RyaW5nW10sXG4gICAgKTogSUNsaUNvbW1hbmRQcm9jZXNzb3IgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZWN1cnNpdmVseSBzZWFyY2hlcyBmb3IgYSBwcm9jZXNzb3IgbWF0Y2hpbmcgdGhlIGdpdmVuIGNvbW1hbmQuXG4gICAgICogQHBhcmFtIG1haW5Db21tYW5kIFRoZSBtYWluIGNvbW1hbmQgbmFtZS5cbiAgICAgKiBAcGFyYW0gY2hhaW5Db21tYW5kcyBUaGUgcmVtYWluaW5nIGNoYWluIGNvbW1hbmRzIChpZiBhbnkpLlxuICAgICAqIEBwYXJhbSBwcm9jZXNzb3JzIFRoZSBsaXN0IG9mIGF2YWlsYWJsZSBwcm9jZXNzb3JzLlxuICAgICAqIEByZXR1cm5zIFRoZSBtYXRjaGluZyBwcm9jZXNzb3Igb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBmaW5kUHJvY2Vzc29ySW5Db2xsZWN0aW9uKFxuICAgICAgICBtYWluQ29tbWFuZDogc3RyaW5nLFxuICAgICAgICBjaGFpbkNvbW1hbmRzOiBzdHJpbmdbXSxcbiAgICAgICAgcHJvY2Vzc29yczogSUNsaUNvbW1hbmRQcm9jZXNzb3JbXSxcbiAgICApOiBJQ2xpQ29tbWFuZFByb2Nlc3NvciB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcm9vdCBwcm9jZXNzb3IgZm9yIGEgY2hpbGQgcHJvY2Vzc29yXG4gICAgICogQHBhcmFtIGNoaWxkIFRoZSBjaGlsZCBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBnZXRSb290UHJvY2Vzc29yKGNoaWxkOiBJQ2xpQ29tbWFuZENoaWxkUHJvY2Vzc29yKTogSUNsaUNvbW1hbmRQcm9jZXNzb3I7XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICByZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgYSBwcm9jZXNzb3JcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc29yXG4gICAgICovXG4gICAgdW5yZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xpRXhlY3V0aW9uUHJvY2VzcyB7XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBwcm9jZXNzIGhhcyBleGl0ZWRcbiAgICAgKi9cbiAgICBleGl0ZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGV4aXQgY29kZSBvZiB0aGUgcHJvY2Vzc1xuICAgICAqL1xuICAgIGV4aXRDb2RlPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmdcbiAgICAgKi9cbiAgICBydW5uaW5nOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgb2YgdGhlIHByb2Nlc3NcbiAgICAgKi9cbiAgICBkYXRhOiBhbnkgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBFeGl0IHRoZSBwcm9jZXNzXG4gICAgICogQHBhcmFtIGNvZGUgVGhlIGV4aXQgY29kZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICBleGl0OiAoXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgZXhpdCBjb2RlXG4gICAgICAgICAqL1xuICAgICAgICBjb2RlPzogbnVtYmVyLFxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBPcHRpb25zIGZvciBleGl0aW5nIHRoZSBwcm9jZXNzXG4gICAgICAgICAqL1xuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGV4aXQgc2hvdWxkIGJlIHNpbGVudCwgaS5lLiBub3QgdGhyb3cgYW4gZXJyb3JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgc2lsZW50PzogYm9vbGVhbjtcbiAgICAgICAgfSxcbiAgICApID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBPdXRwdXQgZGF0YSBmcm9tIHRoZSBwcm9jZXNzXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gb3V0cHV0XG4gICAgICovXG4gICAgb3V0cHV0KGRhdGE6IGFueSk6IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGtleS12YWx1ZSBzdG9yZSBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlLZXlWYWx1ZVN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSB2YWx1ZSBieSBrZXkuXG4gICAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZvci5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSB2YWx1ZSBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kLlxuICAgICAqL1xuICAgIGdldDxUID0gYW55PihrZXk6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD47XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEga2V5LXZhbHVlIHBhaXIgaW4gdGhlIHN0b3JlLlxuICAgICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHNldC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc3RvcmUuXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHJlc29sdmluZyB3aGVuIHRoZSB2YWx1ZSBpcyBzdG9yZWQuXG4gICAgICovXG4gICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBrZXktdmFsdWUgcGFpciBieSBrZXkuXG4gICAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZpbmcgd2hlbiB0aGUga2V5IGlzIHJlbW92ZWQuXG4gICAgICovXG4gICAgcmVtb3ZlKGtleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIENsZWFycyBhbGwga2V5LXZhbHVlIHBhaXJzIGZyb20gdGhlIHN0b3JlLlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZpbmcgd2hlbiB0aGUgc3RvcmUgaXMgY2xlYXJlZC5cbiAgICAgKi9cbiAgICBjbGVhcigpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzdG9yZSBmb3Igc3RvcmluZyBkYXRhIGFzc29jaWF0ZWQgd2l0aCBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlTdGF0ZVN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUgYXMgYW4gb2JqZWN0LlxuICAgICAqL1xuICAgIGdldFN0YXRlKCk6IENsaVN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBzdGF0ZSB3aXRoIG5ldyB2YWx1ZXMuIFN1cHBvcnRzIHBhcnRpYWwgdXBkYXRlcy5cbiAgICAgKiBAcGFyYW0gbmV3U3RhdGUgUGFydGlhbCBzdGF0ZSB0byBtZXJnZSB3aXRoIHRoZSBjdXJyZW50IHN0YXRlLlxuICAgICAqL1xuICAgIHVwZGF0ZVN0YXRlKG5ld1N0YXRlOiBQYXJ0aWFsPENsaVN0YXRlPik6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYSBzcGVjaWZpYyBwcm9wZXJ0eSBvciBjb21wdXRlZCB2YWx1ZSBmcm9tIHRoZSBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gc2VsZWN0b3IgQSBmdW5jdGlvbiB0byBwcm9qZWN0IGEgc2xpY2Ugb2YgdGhlIHN0YXRlLlxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIHNlbGVjdGVkIHZhbHVlLlxuICAgICAqL1xuICAgIHNlbGVjdDxLPihzZWxlY3RvcjogKHN0YXRlOiBDbGlTdGF0ZSkgPT4gSyk6IE9ic2VydmFibGU8Sz47XG5cbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmUgdG8gc3RhdGUgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0gY2FsbGJhY2sgQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHN0YXRlIGNoYW5nZXMuXG4gICAgICogQHJldHVybnMgU3Vic2NyaXB0aW9uIG9iamVjdCB0byBtYW5hZ2UgdGhlIHN1YnNjcmlwdGlvbi5cbiAgICAgKi9cbiAgICBzdWJzY3JpYmUoY2FsbGJhY2s6IChzdGF0ZTogQ2xpU3RhdGUpID0+IHZvaWQpOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gaXRzIGluaXRpYWwgdmFsdWUuXG4gICAgICovXG4gICAgcmVzZXQoKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFBlcnNpc3QgdGhlIHN0YXRlIHRvIHN0b3JhZ2UuXG4gICAgICovXG4gICAgcGVyc2lzdCgpOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSB0aGUgc3RhdGUgZnJvbSBzdG9yYWdlLlxuICAgICAqL1xuICAgIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2VydmljZSB0aGF0IHBpbmdzIHRoZSBzZXJ2ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpUGluZ1NlcnZlclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIFBpbmdzIHRoZSBzZXJ2ZXJcbiAgICAgKi9cbiAgICBwaW5nKCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1vZHVsZSBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlVbWRNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGVcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJvY2Vzc29ycyBmb3IgdGhlIG1vZHVsZVxuICAgICAqL1xuICAgIHByb2Nlc3NvcnM6IElDbGlDb21tYW5kUHJvY2Vzc29yW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGxvZ2dlciBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlMb2dnZXIge1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgbG9nIGxldmVsIG9mIHRoZSBsb2dnZXJcbiAgICAgKiBAcGFyYW0gbGV2ZWwgVGhlIGxvZyBsZXZlbCB0byBzZXRcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICogQGRlZmF1bHQgQ2xpTG9nTGV2ZWwuRVJST1JcbiAgICAgKi9cbiAgICBzZXRDbGlMb2dMZXZlbChsZXZlbDogQ2xpTG9nTGV2ZWwpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogTG9nIGEgbWVzc2FnZVxuICAgICAqIEBwYXJhbSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gbG9nXG4gICAgICovXG4gICAgbG9nKC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIExvZyBhIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGxvZ1xuICAgICAqL1xuICAgIGluZm8oLi4uYXJnczogYW55W10pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogTG9nIGEgbWVzc2FnZVxuICAgICAqIEBwYXJhbSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gbG9nXG4gICAgICovXG4gICAgd2FybiguLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBMb2cgYSBtZXNzYWdlXG4gICAgICogQHBhcmFtIGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBsb2dcbiAgICAgKi9cbiAgICBlcnJvciguLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBMb2cgYSBtZXNzYWdlXG4gICAgICogQHBhcmFtIGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBsb2dcbiAgICAgKi9cbiAgICBkZWJ1ZyguLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgcHJvdmlkZXIgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpU2VydmljZVByb3ZpZGVyIHtcbiAgICAvKipcbiAgICAgKiBHZXQgYSBzZXJ2aWNlXG4gICAgICogQHBhcmFtIHNlcnZpY2UgVGhlIHNlcnZpY2UgdG8gZ2V0XG4gICAgICovXG4gICAgZ2V0PFQ+KHNlcnZpY2U6IGFueSk6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgYSBzZXJ2aWNlXG4gICAgICogQHBhcmFtIGRlZmluaXRpb24gVGhlIGRlZmluaXRpb24gb2YgdGhlIHNlcnZpY2VcbiAgICAgKi9cbiAgICBzZXQoZGVmaW5pdGlvbjogQ2xpUHJvdmlkZXIgfCBDbGlQcm92aWRlcltdKTogdm9pZDtcbn1cblxuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRpb24tY29udGV4dCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZC1wcm9jZXNzb3InO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb2dyZXNzLWJhcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmQtaG9va3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VzZXJzJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9pbnRlcmZhY2VzL3Byb2dyZXNzLWJhcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNsaVByb2dyZXNzQmFyIHtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHByb2dyZXNzIGJhciBpcyBydW5uaW5nXG4gICAgICovXG4gICAgaXNSdW5uaW5nOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAgICovXG4gICAgc2hvdzogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIHByb2dyZXNzIGJhclxuICAgICAqL1xuICAgIGhpZGU6ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNwaW5uZXIgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpU3Bpbm5lciBleHRlbmRzIElDbGlQcm9ncmVzc0JhciB7XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSB0ZXh0IG9mIHRoZSBzcGlubmVyXG4gICAgICogQHBhcmFtIHRleHQgVGhlIHRleHQgdG8gc2V0XG4gICAgICovXG4gICAgc2V0VGV4dDogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgQ2xpUGVyY2VudGFnZVByb2dyZXNzQmFyVXBkYXRlVmFsdWVPcHRpb25zID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHVwZGF0ZSB0byBwZXJmb3JtXG4gICAgICogQGRlZmF1bHQgJ3JlcGxhY2UnXG4gICAgICovXG4gICAgdHlwZT86ICdyZXBsYWNlJyB8ICdpbmNyZW1lbnQnO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHJvZ3Jlc3MgYmFyIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhciBleHRlbmRzIElDbGlQcm9ncmVzc0JhciB7XG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBwcm9ncmVzcyBvZiB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAgICogQHBhcmFtIHByb2dyZXNzIFRoZSBwcm9ncmVzcyB0byB1cGRhdGUgdG9cbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgdXBkYXRlOiAoXG4gICAgICAgIHByb2dyZXNzOiBudW1iZXIsXG4gICAgICAgIG9wdGlvbnM/OiBDbGlQZXJjZW50YWdlUHJvZ3Jlc3NCYXJVcGRhdGVWYWx1ZU9wdGlvbnMsXG4gICAgKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ29tcGxldGUgdGhlIHByb2dyZXNzIGJhclxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICBjb21wbGV0ZTogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgdGV4dCBvZiB0aGUgc3Bpbm5lclxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHNldFxuICAgICAqL1xuICAgIHNldFRleHQ6ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWQ7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9pbnRlcmZhY2VzL3Byb2dyZXNzLWJhcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNsaVByb2dyZXNzQmFyIHtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHByb2dyZXNzIGJhciBpcyBydW5uaW5nXG4gICAgICovXG4gICAgaXNSdW5uaW5nOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAgICovXG4gICAgc2hvdzogKHRleHQ/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBwcm9ncmVzcyBiYXJcbiAgICAgKi9cbiAgICBoaWRlOiAoKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzcGlubmVyIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVNwaW5uZXIgZXh0ZW5kcyBJQ2xpUHJvZ3Jlc3NCYXIge1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgdGV4dCBvZiB0aGUgc3Bpbm5lclxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHNldFxuICAgICAqL1xuICAgIHNldFRleHQ6ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIENsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhclVwZGF0ZVZhbHVlT3B0aW9ucyA9IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB1cGRhdGUgdG8gcGVyZm9ybVxuICAgICAqIEBkZWZhdWx0ICdyZXBsYWNlJ1xuICAgICAqL1xuICAgIHR5cGU/OiAncmVwbGFjZScgfCAnaW5jcmVtZW50Jztcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHByb2dyZXNzIGJhciBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlQZXJjZW50YWdlUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBJQ2xpUHJvZ3Jlc3NCYXIge1xuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGUgcHJvZ3Jlc3Mgb2YgdGhlIHByb2dyZXNzIGJhclxuICAgICAqIEBwYXJhbSBwcm9ncmVzcyBUaGUgcHJvZ3Jlc3MgdG8gdXBkYXRlIHRvXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHVwZGF0ZTogKFxuICAgICAgICBwcm9ncmVzczogbnVtYmVyLFxuICAgICAgICBvcHRpb25zPzogQ2xpUGVyY2VudGFnZVByb2dyZXNzQmFyVXBkYXRlVmFsdWVPcHRpb25zLFxuICAgICkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIENvbXBsZXRlIHRoZSBwcm9ncmVzcyBiYXJcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgY29tcGxldGU6ICgpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIHRleHQgb2YgdGhlIHNwaW5uZXJcbiAgICAgKiBAcGFyYW0gdGV4dCBUaGUgdGV4dCB0byBzZXRcbiAgICAgKi9cbiAgICBzZXRUZXh0OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBDbGlUZXh0QW5pbWF0b3JPcHRpb25zID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSBzcGVlZCBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICogQGRlZmF1bHQgMTAwXG4gICAgICovXG4gICAgc3BlZWQ/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgdHlwaW5nXG4gICAgICovXG4gICAgcmVtb3ZlQWZ0ZXJUeXBpbmc/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJQ2xpVGV4dEFuaW1hdG9yIGV4dGVuZHMgSUNsaVByb2dyZXNzQmFyIHtcbiAgICAvKipcbiAgICAgKiBTaG93IGFuaW1hdGVkIHRleHQgaW4gYSB0eXBpbmcgYW5kIGVyYXNpbmcgZWZmZWN0LlxuICAgICAqIEBwYXJhbSB0ZXh0XG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHNob3dUZXh0OiAodGV4dDogc3RyaW5nLCBvcHRpb25zPzogQ2xpVGV4dEFuaW1hdG9yT3B0aW9ucykgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy91c2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNsaVVzZXJTZXNzaW9uLCBJQ2xpVXNlciwgQ2xpQWRkVXNlciB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgdGhhdCBtYW5hZ2VzIHVzZXIgc2Vzc2lvbnMgaW4gdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlVc2VyU2Vzc2lvblNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvblxuICAgICAqL1xuICAgIGdldFVzZXJTZXNzaW9uKCk6IE9ic2VydmFibGU8SUNsaVVzZXJTZXNzaW9uIHwgdW5kZWZpbmVkPjtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uXG4gICAgICogQHBhcmFtIHNlc3Npb24gVGhlIHNlc3Npb24gdG8gc2V0XG4gICAgICovXG4gICAgc2V0VXNlclNlc3Npb24oc2Vzc2lvbjogSUNsaVVzZXJTZXNzaW9uKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2VydmljZSB0aGF0IG1hbmFnZXMgdXNlcnMgaW4gdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlVc2Vyc1N0b3JlU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3VycmVudCB1c2Vyc1xuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3VycmVudCB1c2Vyc1xuICAgICAqL1xuICAgIGdldFVzZXJzKG9wdGlvbnM/OiB7XG4gICAgICAgIHF1ZXJ5Pzogc3RyaW5nO1xuICAgICAgICBza2lwPzogbnVtYmVyO1xuICAgICAgICB0YWtlPzogbnVtYmVyO1xuICAgIH0pOiBPYnNlcnZhYmxlPElDbGlVc2VyW10+O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHVzZXJcbiAgICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciB0byBjcmVhdGVcbiAgICAgKi9cbiAgICBjcmVhdGVVc2VyKHVzZXI6IENsaUFkZFVzZXIpOiBQcm9taXNlPElDbGlVc2VyPjtcblxuICAgIC8qKlxuICAgICAqIEdldHMgYSB1c2VyIGJ5IGlkXG4gICAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdXNlciB0byBnZXRcbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVzZXIgd2l0aCB0aGUgc3BlY2lmaWVkIGlkXG4gICAgICovXG4gICAgZ2V0VXNlcihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQ2xpVXNlciB8IHVuZGVmaW5lZD47XG59XG4iXX0=
@@ -171,4 +171,5 @@ export const enums = {
171
171
  CliLogLevel,
172
172
  };
173
173
  export * from './services';
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtDQSxNQUFNLENBQU4sSUFBWSxrQkFVWDtBQVZELFdBQVksa0JBQWtCO0lBQzFCLDBDQUFrQixDQUFBO0lBQ2xCLHdDQUFnQixDQUFBO0lBQ2hCLDBDQUFrQixDQUFBO0lBQ2xCLDJDQUFtQixDQUFBO0lBQ25CLHlDQUFpQixDQUFBO0lBQ2pCLDRDQUFvQixDQUFBO0lBQ3BCLHlDQUFpQixDQUFBO0lBQ2pCLDBDQUFrQixDQUFBO0lBQ2xCLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBVTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUMxQiwwQ0FBa0IsQ0FBQTtJQUNsQix3Q0FBZ0IsQ0FBQTtJQUNoQiwwQ0FBa0IsQ0FBQTtJQUNsQiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBb0IsQ0FBQTtJQUNwQix5Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBa0IsQ0FBQTtBQUN0QixDQUFDLEVBVFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVM3QjtBQUVELE1BQU0sQ0FBTixJQUFZLE9BOElYO0FBOUlELFdBQVksT0FBTztJQUNmLGtCQUFrQjtJQUNsQiwrQkFBZSxDQUFBO0lBQ2YsK0JBQWUsQ0FBQTtJQUNmLDhCQUFjLENBQUE7SUFDZCxpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBa0IsQ0FBQTtJQUNsQixpQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBYyxDQUFBO0lBQ2QseUJBQVMsQ0FBQTtJQUNULDRCQUFZLENBQUE7SUFFWixTQUFTO0lBQ1QsZ0NBQWdCLENBQUE7SUFDaEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2Ys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QyxFQTlJVyxPQUFPLEtBQVAsT0FBTyxRQThJbEI7QUFxSkQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ25CLDZDQUFRLENBQUE7SUFDUiwrQ0FBUyxDQUFBO0lBQ1QsMkNBQU8sQ0FBQTtJQUNQLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsK0NBQVMsQ0FBQTtBQUNiLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QjtBQUVELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxXQUFXO0NBQ2QsQ0FBQztBQUVGLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRlcm1pbmFsSW5pdE9ubHlPcHRpb25zLCBJVGVybWluYWxPcHRpb25zIH0gZnJvbSAnQHh0ZXJtL3h0ZXJtJztcblxuZXhwb3J0IHR5cGUgQ2xpUHJvY2Vzc0NvbW1hbmQgPSB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIGNvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHRoYXQgd2FzIGVudGVyZWRcbiAgICAgKi9cbiAgICBkYXRhPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYWluIG9mIGNvbW1hbmRzIHRoYXQgd2VyZSBlbnRlcmVkXG4gICAgICovXG4gICAgY2hhaW5Db21tYW5kczogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmF3IGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIHJhd0NvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29tbWFuZFxuICAgICAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFyZ3VtZW50cyB0aGF0IHdlcmUgZW50ZXJlZFxuICAgICAqL1xuICAgIGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgZW51bSBDbGlGb3JlZ3JvdW5kQ29sb3Ige1xuICAgIEJsYWNrID0gJ1xceDFiWzMwbScsXG4gICAgUmVkID0gJ1xceDFiWzMxbScsXG4gICAgR3JlZW4gPSAnXFx4MWJbMzJtJyxcbiAgICBZZWxsb3cgPSAnXFx4MWJbMzNtJyxcbiAgICBCbHVlID0gJ1xceDFiWzM0bScsXG4gICAgTWFnZW50YSA9ICdcXHgxYlszNW0nLFxuICAgIEN5YW4gPSAnXFx4MWJbMzZtJyxcbiAgICBXaGl0ZSA9ICdcXHgxYlszN20nLFxuICAgIFJlc2V0ID0gJ1xceDFiWzBtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpQmFja2dyb3VuZENvbG9yIHtcbiAgICBCbGFjayA9ICdcXHgxYls0MG0nLFxuICAgIFJlZCA9ICdcXHgxYls0MW0nLFxuICAgIEdyZWVuID0gJ1xceDFiWzQybScsXG4gICAgWWVsbG93ID0gJ1xceDFiWzQzbScsXG4gICAgQmx1ZSA9ICdcXHgxYls0NG0nLFxuICAgIE1hZ2VudGEgPSAnXFx4MWJbNDVtJyxcbiAgICBDeWFuID0gJ1xceDFiWzQ2bScsXG4gICAgV2hpdGUgPSAnXFx4MWJbNDdtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpSWNvbiB7XG4gICAgLy8gR2VuZXJhbCBTeW1ib2xzXG4gICAgQ2hlY2tJY29uID0gJ+KclCcsIC8vIFN1Y2Nlc3MsIGNvbXBsZXRpb25cbiAgICBDcm9zc0ljb24gPSAn4pyYJywgLy8gRmFpbHVyZSwgZXJyb3JcbiAgICBJbmZvSWNvbiA9ICfihLknLCAvLyBJbmZvcm1hdGlvblxuICAgIFdhcm5pbmdJY29uID0gJ+KaoCcsIC8vIFdhcm5pbmdcbiAgICBRdWVzdGlvbk1hcmsgPSAnPycsIC8vIEhlbHAgb3IgdW5rbm93biBzdGF0ZVxuICAgIEV4Y2xhbWF0aW9uID0gJ+KdlycsIC8vIEVtcGhhc2lzIG9yIGFsZXJ0XG4gICAgRWxsaXBzaXMgPSAn4oCmJywgLy8gTG9hZGluZyBvciB0cnVuY2F0ZWQgdGV4dFxuICAgIERvdCA9ICfigKInLCAvLyBMaXN0IGl0ZW1cbiAgICBCdWxsZXQgPSAn4oCjJywgLy8gQWx0ZXJuYXRlIGJ1bGxldCBwb2ludFxuXG4gICAgLy8gQXJyb3dzXG4gICAgQXJyb3dSaWdodCA9ICfihpInLCAvLyBOYXZpZ2F0aW9uIG9yIG5leHQgc3RlcFxuICAgIEFycm93TGVmdCA9ICfihpAnLCAvLyBQcmV2aW91cyBzdGVwIG9yIG5hdmlnYXRpb25cbiAgICBBcnJvd1VwID0gJ+KGkScsIC8vIFVwIGRpcmVjdGlvblxuICAgIEFycm93RG93biA9ICfihpMnLCAvLyBEb3duIGRpcmVjdGlvblxuICAgIEFycm93UmlnaHRGaWxsZWQgPSAn4pa2JywgLy8gTmF2aWdhdGlvbiBvciBuZXh0IHN0ZXAgKGZpbGxlZClcbiAgICBBcnJvd0xlZnRGaWxsZWQgPSAn4peAJywgLy8gUHJldmlvdXMgc3RlcCBvciBuYXZpZ2F0aW9uIChmaWxsZWQpXG4gICAgQXJyb3dVcEZpbGxlZCA9ICfilrInLCAvLyBVcCBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBBcnJvd0Rvd25GaWxsZWQgPSAn4pa8JywgLy8gRG93biBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBEb3VibGVBcnJvd1JpZ2h0ID0gJ8K7JywgLy8gRmFzdCBmb3J3YXJkIG9yIG5leHRcbiAgICBEb3VibGVBcnJvd0xlZnQgPSAnwqsnLCAvLyBSZXdpbmQgb3IgcHJldmlvdXNcblxuICAgIC8vIExpc3RzIGFuZCBQcm9ncmVzc1xuICAgIFN0YXIgPSAn4piFJywgLy8gSGlnaGxpZ2h0IG9yIGZhdm9yaXRlIChmaWxsZWQpXG4gICAgU3RhckVtcHR5ID0gJ+KYhicsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZSAoZW1wdHkpXG4gICAgUGx1cyA9ICcrJywgLy8gQWRkaXRpb24gb3IgaW5jcmVtZW50XG4gICAgTWludXMgPSAnLScsIC8vIFN1YnRyYWN0aW9uIG9yIGRlY3JlbWVudFxuICAgIFByb2dyZXNzID0gJ+KPsycsIC8vIEluZGljYXRpbmcgcHJvZ3Jlc3NcbiAgICBTdWNjZXNzID0gJ+KchScsIC8vIFN1Y2Nlc3MgKGFsdGVybmF0aXZlIHRvIENoZWNrSWNvbilcbiAgICBGYWlsdXJlID0gJ+KdjCcsIC8vIEZhaWx1cmUgKGFsdGVybmF0aXZlIHRvIENyb3NzSWNvbilcblxuICAgIC8vIFRpbWUgYW5kIENhbGVuZGFyXG4gICAgQ2xvY2sgPSAn4o+wJywgLy8gVGltZS1yZWxhdGVkXG4gICAgVGltZXIgPSAn4o+xJywgLy8gU3RvcHdhdGNoIG9yIHRpbWVyXG4gICAgQWxhcm0gPSAn8J+UlCcsIC8vIEFsYXJtIG9yIGFsZXJ0XG4gICAgQ2FsZW5kYXIgPSAn8J+ThScsIC8vIENhbGVuZGFyIG9yIGRhdGVcblxuICAgIC8vIE5hdmlnYXRpb24gYW5kIEZvbGRlcnNcbiAgICBGb2xkZXIgPSAn8J+TgScsIC8vIERpcmVjdG9yeSBvciBmaWxlIGdyb3VwaW5nXG4gICAgRm9sZGVyT3BlbiA9ICfwn5OCJywgLy8gT3BlbiBmb2xkZXJcbiAgICBGaWxlID0gJ/Cfk4QnLCAvLyBGaWxlIG9yIGRvY3VtZW50XG4gICAgQXJjaGl2ZSA9ICfwn5eDJywgLy8gQXJjaGl2ZSBvciBmaWxlIGdyb3VwaW5nXG4gICAgTGluayA9ICfwn5SXJywgLy8gSHlwZXJsaW5rIG9yIGNvbm5lY3Rpb25cbiAgICBDaGFpbiA9ICfim5MnLCAvLyBDaGFpbiBvciBsaW5rZWRcbiAgICBCb29rbWFyayA9ICfwn5SWJywgLy8gQm9va21hcmsgb3Igc2F2ZVxuXG4gICAgLy8gQWN0aW9uc1xuICAgIEVkaXQgPSAn4pyPJywgLy8gRWRpdCBvciBtb2RpZnlcbiAgICBUcmFzaCA9ICfwn5eRJywgLy8gRGVsZXRpb24gb3IgcmVtb3ZhbFxuICAgIEFkZCA9ICfinpUnLCAvLyBBZGQgdXNlciBvciBpdGVtXG4gICAgUmVtb3ZlID0gJ+KelicsIC8vIFJlbW92ZSB1c2VyIG9yIGl0ZW1cbiAgICBSZWxvYWQgPSAn8J+UhCcsIC8vIFJlZnJlc2ggb3IgcmVsb2FkXG4gICAgU2F2ZSA9ICfwn5K+JywgLy8gU2F2ZSBvciBzdG9yZVxuICAgIFVuZG8gPSAn4oapJywgLy8gVW5kbyBhY3Rpb25cbiAgICBSZWRvID0gJ+KGqicsIC8vIFJlZG8gYWN0aW9uXG4gICAgUGxheSA9ICfilrYnLCAvLyBTdGFydCBvciBwbGF5XG4gICAgUGF1c2UgPSAn4o+4JywgLy8gUGF1c2Ugb3Igc3RvcCB0ZW1wb3JhcmlseVxuICAgIFN0b3AgPSAn4o+5JywgLy8gU3RvcCBvciBlbmRcbiAgICBDYW5jZWwgPSAn4p2OJywgLy8gQ2FuY2VsIG9yIGNsb3NlXG5cbiAgICAvLyBVc2VyIGFuZCBTZWN1cml0eVxuICAgIFVzZXIgPSAn8J+RpCcsIC8vIFVzZXIgb3IgcHJvZmlsZVxuICAgIEdyb3VwID0gJ/CfkaUnLCAvLyBHcm91cCBvciB0ZWFtXG4gICAgTG9jayA9ICfwn5SSJywgLy8gU2VjdXJlZCBvciBsb2NrZWRcbiAgICBVbmxvY2sgPSAn8J+UkycsIC8vIFVubG9ja2VkIG9yIGFjY2Vzc2libGVcbiAgICBIZWxwID0gJ+KdkycsIC8vIEhlbHAgb3Igc3VwcG9ydFxuICAgIEtleSA9ICfwn5SRJywgLy8gQXV0aGVudGljYXRpb24gb3Iga2V5XG4gICAgU2hpZWxkID0gJ/Cfm6EnLCAvLyBTZWN1cml0eSBvciBwcm90ZWN0aW9uXG5cbiAgICAvLyBUb29scyBhbmQgU2V0dGluZ3NcbiAgICBHZWFyID0gJ+KamScsIC8vIFNldHRpbmdzIG9yIGNvbmZpZ3VyYXRpb25cbiAgICBTZXR0aW5ncyA9ICfimpnvuI8nLCAvLyBTZXR0aW5ncyAoYWx0ZXJuYXRpdmUpXG4gICAgVGhlbWUgPSAn8J+OqCcsIC8vIFRoZW1lIG9yIGFwcGVhcmFuY2VcbiAgICBMaWdodCA9ICfwn5KhJywgLy8gTGlnaHQgbW9kZVxuICAgIEJ1ZyA9ICfwn5CeJywgLy8gQnVnIG9yIGlzc3VlXG4gICAgV3JlbmNoID0gJ/CflKcnLCAvLyBNYWludGVuYW5jZSBvciB0b29sc1xuICAgIEhhbW1lciA9ICfwn5SoJywgLy8gQnVpbGQgb3IgZml4XG5cbiAgICAvLyBUZWNobm9sb2d5IGFuZCBEZXZpY2VzXG4gICAgVGVybWluYWwgPSAn8J+SuycsIC8vIFRlcm1pbmFsIG9yIGNvbW1hbmQgbGluZVxuICAgIERhdGFiYXNlID0gJ/Cfl4QnLCAvLyBEYXRhYmFzZSBvciBzdG9yYWdlXG4gICAgU2VydmVyID0gJ/CflqUnLCAvLyBTZXJ2ZXIgb3IgaG9zdFxuICAgIENsb3VkID0gJ+KYgScsIC8vIENsb3VkIG9yIHJlbW90ZVxuICAgIE5ldHdvcmsgPSAn8J+MkCcsIC8vIE5ldHdvcmsgb3IgY29ubmVjdGlvblxuICAgIE1vbml0b3IgPSAn8J+WpScsIC8vIE1vbml0b3Igb3IgZGlzcGxheVxuICAgIFByaW50ZXIgPSAn8J+WqCcsIC8vIFByaW50ZXIgb3Igb3V0cHV0XG4gICAgVVNCID0gJ/CflIwnLCAvLyBVU0Igb3IgY29ubmVjdGlvblxuICAgIFNwZWFrZXIgPSAn8J+UiicsIC8vIFNwZWFrZXIgb3IgYXVkaW9cbiAgICBNaWNyb3Bob25lID0gJ/CfjpknLCAvLyBNaWNyb3Bob25lIG9yIGlucHV0XG4gICAgQ2FtZXJhID0gJ/Cfk7cnLCAvLyBDYW1lcmEgb3IgdmlkZW9cbiAgICBWaWRlbyA9ICfwn46lJywgLy8gVmlkZW8gb3IgbWVkaWFcbiAgICBNdXNpYyA9ICfwn461JywgLy8gTXVzaWMgb3IgYXVkaW9cbiAgICBQaG9uZSA9ICfwn5OeJywgLy8gUGhvbmUgb3IgY29tbXVuaWNhdGlvblxuXG4gICAgLy8gRGV2ZWxvcG1lbnQgYW5kIEV2YWx1YXRpb25cbiAgICBQYWNrYWdlID0gJ/Cfk6YnLCAvLyBQYWNrYWdlIG9yIGJ1bmRsZVxuICAgIFBsdWdpbiA9ICfwn5SMJywgLy8gUGx1Z2luIG9yIGV4dGVuc2lvblxuICAgIEV4dGVuc2lvbiA9ICfwn6epJywgLy8gRXh0ZW5zaW9uIG9yIGNvbXBvbmVudFxuICAgIE1vZHVsZSA9ICfwn5OmJywgLy8gTW9kdWxlIG9yIHBhY2thZ2VcbiAgICBFdmFsdWF0ZSA9ICfwn5SNJywgLy8gRXZhbHVhdGUgb3Igc2VhcmNoXG4gICAgVmFyaWFibGUgPSAn8J+UpycsIC8vIFZhcmlhYmxlIG9yIHNldHRpbmdcbiAgICBTY3JpcHQgPSAn8J+TnCcsIC8vIFNjcmlwdCBvciBjb2RlXG4gICAgQ29kZSA9ICfwn5K+JywgLy8gQ29kZSBvciBmaWxlXG5cbiAgICAvLyBTdGF0dXMgYW5kIENvbXBsZXRpb25cbiAgICBMb2dzID0gJ/Cfk5wnLCAvLyBMb2dzIG9yIGhpc3RvcnlcbiAgICBQb3dlciA9ICfij7snLCAvLyBPbi9PZmYgc3RhdGVcbiAgICBIZWFydCA9ICfinaQnLCAvLyBMb3ZlIG9yIGZhdm9yaXRlXG4gICAgRmxhbWUgPSAn8J+UpScsIC8vIFRyZW5kaW5nIG9yIGhvdFxuICAgIEdyb3d0aCA9ICfwn5OIJywgLy8gR3Jvd3RoIG9yIGluY3JlYXNlXG4gICAgRGVjbGluZSA9ICfwn5OJJywgLy8gRGVjbGluZSBvciBkZWNyZWFzZVxuICAgIFdhcm5pbmdGaWxsZWQgPSAn4pqg77iPJywgLy8gV2FybmluZyAoZmlsbGVkKVxuXG4gICAgLy8gTmF0dXJlIGFuZCBXZWF0aGVyXG4gICAgU3VuID0gJ+KYgCcsIC8vIEJyaWdodG5lc3Mgb3IgZGF5XG4gICAgTW9vbiA9ICfwn4yZJywgLy8gTmlnaHQgb3IgZGFyayBtb2RlXG4gICAgUmFpbiA9ICfwn4ynJywgLy8gUmFpbiBvciBiYWQgd2VhdGhlclxuICAgIFNub3cgPSAn4p2EJywgLy8gU25vdyBvciBjb2xkXG4gICAgTGlnaHRuaW5nID0gJ+KaoScsIC8vIExpZ2h0bmluZyBvciBkYW5nZXJcbiAgICBUcmVlID0gJ/CfjLInLCAvLyBOYXR1cmUgb3IgZW52aXJvbm1lbnRcblxuICAgIC8vIEVtb3Rpb25zIGFuZCBFeHByZXNzaW9uc1xuICAgIFNtaWxlID0gJ/CfmIonLCAvLyBIYXBwaW5lc3Mgb3IgcG9zaXRpdmUgc3RhdGVcbiAgICBTYWQgPSAn8J+YoicsIC8vIFNhZG5lc3Mgb3IgbmVnYXRpdmUgc3RhdGVcbiAgICBBbmdyeSA9ICfwn5ihJywgLy8gQW5nZXIgb3IgZnJ1c3RyYXRpb25cbiAgICBDbGFwID0gJ/CfkY8nLCAvLyBBcHBsYXVzZSBvciBjZWxlYnJhdGlvblxuICAgIFRodW1ic1VwID0gJ/CfkY0nLCAvLyBBcHByb3ZhbCBvciBzdWNjZXNzXG4gICAgVGh1bWJzRG93biA9ICfwn5GOJywgLy8gRGlzYXBwcm92YWwgb3IgZmFpbHVyZVxuXG4gICAgLy8gTWlzY2VsbGFuZW91c1xuICAgIFJvY2tldCA9ICfwn5qAJywgLy8gTGF1bmNoIG9yIGRlcGxveVxuICAgIEdsb2JlID0gJ/CfjI0nLCAvLyBFYXJ0aCBvciBpbnRlcm5hdGlvbmFsXG4gICAgTWVkYWwgPSAn8J+PhScsIC8vIEFjaGlldmVtZW50IG9yIGF3YXJkXG4gICAgVHJvcGh5ID0gJ/Cfj4YnLCAvLyBXaW5uZXIgb3IgY2hhbXBpb25cbiAgICBGbGFnID0gJ/CfmqknLCAvLyBNYXJrIG9yIGZsYWdcbiAgICBTdGFyRmlsbGVkID0gJ+KtkCcsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZVxuICAgIFN0YXJPdXRsaW5lID0gJ+KcqScsIC8vIEFsdGVybmF0ZSBzdGFyIGljb25cbiAgICBGaXJld29ya3MgPSAn8J+OhicsIC8vIENlbGVicmF0aW9uXG4gICAgQmFsbG9vbiA9ICfwn46IJywgLy8gUGFydHkgb3IgZnVuXG4gICAgR2lmdCA9ICfwn46BJywgLy8gUmV3YXJkIG9yIHByZXNlbnRcbn1cblxuZXhwb3J0IHR5cGUgSUNsaVVzZXIgPSB7XG4gICAgLyoqXG4gICAgICogVGhlIGlkIG9mIHRoZSB1c2VyXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSB1c2VyXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVtYWlsIG9mIHRoZSB1c2VyXG4gICAgICovXG4gICAgZW1haWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBncm91cHMgdGhlIHVzZXIgYmVsb25ncyB0b1xuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICovXG4gICAgZ3JvdXBzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElDbGlVc2VyU2Vzc2lvbiB7XG4gICAgLyoqXG4gICAgICogVGhlIHVzZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXNzaW9uXG4gICAgICovXG4gICAgdXNlcjogSUNsaVVzZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZXIgc2Vzc2lvblxuICAgICAqL1xuICAgIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IHR5cGUgQ2xpT3B0aW9ucyA9IFJlY29yZDxzdHJpbmcsIGFueT4gJiB7XG4gICAgLyoqXG4gICAgICogVGhlIHdlbGNvbWUgbWVzc2FnZSBvcHRpb25zXG4gICAgICovXG4gICAgd2VsY29tZU1lc3NhZ2U/OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbWVzc2FnZSB0byBkaXNwbGF5XG4gICAgICAgICAqL1xuICAgICAgICBtZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXaGVuIHRvIHNob3cgdGhlIHdlbGNvbWUgbWVzc2FnZVxuICAgICAgICAgKiBAZGVmYXVsdCAnYWx3YXlzJ1xuICAgICAgICAgKi9cbiAgICAgICAgc2hvdz86ICdhbHdheXMnIHwgJ29uY2UnIHwgJ2RhaWx5JyB8ICduZXZlcic7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSB3ZWxjb21lIG1lc3NhZ2UgaXMgaGlkZGVuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBoaWRlV2VsY29tZU1lc3NhZ2U/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVXNlcnMgbW9kdWxlIG9wdGlvbnNcbiAgICAgKi9cbiAgICB1c2Vyc01vZHVsZT86IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIElmIHRydWUsIHRoZSB1c2VycyBtb2R1bGUgaXMgZW5hYmxlZFxuICAgICAgICAgKi9cbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcblxuICAgICAgICAvKipcbiAgICAgICAgICogSGlkZSB0aGUgcHJvbXB0IHRvIGRpc3BsYXkgd2hlbiB0aGUgQ0xJIGlzIHJlYWR5IHRvIGFjY2VwdCBpbnB1dFxuICAgICAgICAgKi9cbiAgICAgICAgaGlkZVVzZXJOYW1lPzogYm9vbGVhbjtcblxuICAgICAgICAvKipcbiAgICAgICAgICogUmVsb2FkIHRoZSBwYWdlIHdoZW4gdGhlIHVzZXIgY2hhbmdlc1xuICAgICAgICAgKi9cbiAgICAgICAgcmVsb2FkUGFnZU9uVXNlckNoYW5nZT86IGJvb2xlYW47XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZXJtaW5hbCBvcHRpb25zXG4gICAgICovXG4gICAgdGVybWluYWxPcHRpb25zPzogSVRlcm1pbmFsT3B0aW9ucyAmIElUZXJtaW5hbEluaXRPbmx5T3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIGxvZyBsZXZlbCB0byBkaXNwbGF5XG4gICAgICovXG4gICAgbG9nTGV2ZWw/OiBDbGlMb2dMZXZlbDtcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBhY2thZ2UgdGhhdCBjYW4gYmUgaW5zdGFsbGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHBhY2thZ2VcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZ2xvYmFsIG5hbWUgdXNlZCB0byBhY2Nlc3MgdGhlIHBhY2thZ2VcbiAgICAgKi9cbiAgICBnbG9iYWxOYW1lPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZlcnNpb24gb2YgdGhlIHBhY2thZ2VcbiAgICAgKi9cbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdW5wa2cgdXJsIHRvIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgdXJsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVwZW5kZW5jaWVzIGZvciB0aGUgbW9kdWxlXG4gICAgICovXG4gICAgZGVwZW5kZW5jaWVzPzogUGFja2FnZVtdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgY29tbWFuZCBwcm9jZXNzb3IgbWV0YWRhdGFcbiAqL1xuZXhwb3J0IHR5cGUgQ2xpUHJvY2Vzc29yTWV0YWRhdGEgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgaXMgc2VhbGVkIGFuZCBjYW5ub3QgYmUgZXh0ZW5kZWRcbiAgICAgKi9cbiAgICBzZWFsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHByb2Nlc3NvciByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIHJ1bm5pbmdcbiAgICAgKi9cbiAgICByZXF1aXJlU2VydmVyPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBtb2R1bGUgdGhlIHByb2Nlc3NvciBiZWxvbmdzIHRvXG4gICAgICovXG4gICAgbW9kdWxlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQW4gaWNvbiB0byBkaXNwbGF5IGZvciB0aGUgcHJvY2Vzc29yXG4gICAgICovXG4gICAgaWNvbj86IENsaUljb24gfCBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBsb2cgbGV2ZWwgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGVudW0gQ2xpTG9nTGV2ZWwge1xuICAgIE5vbmUgPSAwLFxuICAgIERFQlVHID0gMSxcbiAgICBMT0cgPSAyLFxuICAgIElORk8gPSAzLFxuICAgIFdBUk4gPSA0LFxuICAgIEVSUk9SID0gNSxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW1zID0ge1xuICAgIENsaUZvcmVncm91bmRDb2xvcixcbiAgICBDbGlCYWNrZ3JvdW5kQ29sb3IsXG4gICAgQ2xpSWNvbixcbiAgICBDbGlMb2dMZXZlbCxcbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xuIl19
174
+ export * from './users';
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtDQSxNQUFNLENBQU4sSUFBWSxrQkFVWDtBQVZELFdBQVksa0JBQWtCO0lBQzFCLDBDQUFrQixDQUFBO0lBQ2xCLHdDQUFnQixDQUFBO0lBQ2hCLDBDQUFrQixDQUFBO0lBQ2xCLDJDQUFtQixDQUFBO0lBQ25CLHlDQUFpQixDQUFBO0lBQ2pCLDRDQUFvQixDQUFBO0lBQ3BCLHlDQUFpQixDQUFBO0lBQ2pCLDBDQUFrQixDQUFBO0lBQ2xCLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBVTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUMxQiwwQ0FBa0IsQ0FBQTtJQUNsQix3Q0FBZ0IsQ0FBQTtJQUNoQiwwQ0FBa0IsQ0FBQTtJQUNsQiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBb0IsQ0FBQTtJQUNwQix5Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBa0IsQ0FBQTtBQUN0QixDQUFDLEVBVFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVM3QjtBQUVELE1BQU0sQ0FBTixJQUFZLE9BOElYO0FBOUlELFdBQVksT0FBTztJQUNmLGtCQUFrQjtJQUNsQiwrQkFBZSxDQUFBO0lBQ2YsK0JBQWUsQ0FBQTtJQUNmLDhCQUFjLENBQUE7SUFDZCxpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBa0IsQ0FBQTtJQUNsQixpQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBYyxDQUFBO0lBQ2QseUJBQVMsQ0FBQTtJQUNULDRCQUFZLENBQUE7SUFFWixTQUFTO0lBQ1QsZ0NBQWdCLENBQUE7SUFDaEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2Ys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QyxFQTlJVyxPQUFPLEtBQVAsT0FBTyxRQThJbEI7QUFrSUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ25CLDZDQUFRLENBQUE7SUFDUiwrQ0FBUyxDQUFBO0lBQ1QsMkNBQU8sQ0FBQTtJQUNQLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsK0NBQVMsQ0FBQTtBQUNiLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QjtBQUlELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxXQUFXO0NBQ2QsQ0FBQztBQUVGLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRlcm1pbmFsSW5pdE9ubHlPcHRpb25zLCBJVGVybWluYWxPcHRpb25zIH0gZnJvbSAnQHh0ZXJtL3h0ZXJtJztcblxuZXhwb3J0IHR5cGUgQ2xpUHJvY2Vzc0NvbW1hbmQgPSB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIGNvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHRoYXQgd2FzIGVudGVyZWRcbiAgICAgKi9cbiAgICBkYXRhPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYWluIG9mIGNvbW1hbmRzIHRoYXQgd2VyZSBlbnRlcmVkXG4gICAgICovXG4gICAgY2hhaW5Db21tYW5kczogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmF3IGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIHJhd0NvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29tbWFuZFxuICAgICAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFyZ3VtZW50cyB0aGF0IHdlcmUgZW50ZXJlZFxuICAgICAqL1xuICAgIGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgZW51bSBDbGlGb3JlZ3JvdW5kQ29sb3Ige1xuICAgIEJsYWNrID0gJ1xceDFiWzMwbScsXG4gICAgUmVkID0gJ1xceDFiWzMxbScsXG4gICAgR3JlZW4gPSAnXFx4MWJbMzJtJyxcbiAgICBZZWxsb3cgPSAnXFx4MWJbMzNtJyxcbiAgICBCbHVlID0gJ1xceDFiWzM0bScsXG4gICAgTWFnZW50YSA9ICdcXHgxYlszNW0nLFxuICAgIEN5YW4gPSAnXFx4MWJbMzZtJyxcbiAgICBXaGl0ZSA9ICdcXHgxYlszN20nLFxuICAgIFJlc2V0ID0gJ1xceDFiWzBtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpQmFja2dyb3VuZENvbG9yIHtcbiAgICBCbGFjayA9ICdcXHgxYls0MG0nLFxuICAgIFJlZCA9ICdcXHgxYls0MW0nLFxuICAgIEdyZWVuID0gJ1xceDFiWzQybScsXG4gICAgWWVsbG93ID0gJ1xceDFiWzQzbScsXG4gICAgQmx1ZSA9ICdcXHgxYls0NG0nLFxuICAgIE1hZ2VudGEgPSAnXFx4MWJbNDVtJyxcbiAgICBDeWFuID0gJ1xceDFiWzQ2bScsXG4gICAgV2hpdGUgPSAnXFx4MWJbNDdtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpSWNvbiB7XG4gICAgLy8gR2VuZXJhbCBTeW1ib2xzXG4gICAgQ2hlY2tJY29uID0gJ+KclCcsIC8vIFN1Y2Nlc3MsIGNvbXBsZXRpb25cbiAgICBDcm9zc0ljb24gPSAn4pyYJywgLy8gRmFpbHVyZSwgZXJyb3JcbiAgICBJbmZvSWNvbiA9ICfihLknLCAvLyBJbmZvcm1hdGlvblxuICAgIFdhcm5pbmdJY29uID0gJ+KaoCcsIC8vIFdhcm5pbmdcbiAgICBRdWVzdGlvbk1hcmsgPSAnPycsIC8vIEhlbHAgb3IgdW5rbm93biBzdGF0ZVxuICAgIEV4Y2xhbWF0aW9uID0gJ+KdlycsIC8vIEVtcGhhc2lzIG9yIGFsZXJ0XG4gICAgRWxsaXBzaXMgPSAn4oCmJywgLy8gTG9hZGluZyBvciB0cnVuY2F0ZWQgdGV4dFxuICAgIERvdCA9ICfigKInLCAvLyBMaXN0IGl0ZW1cbiAgICBCdWxsZXQgPSAn4oCjJywgLy8gQWx0ZXJuYXRlIGJ1bGxldCBwb2ludFxuXG4gICAgLy8gQXJyb3dzXG4gICAgQXJyb3dSaWdodCA9ICfihpInLCAvLyBOYXZpZ2F0aW9uIG9yIG5leHQgc3RlcFxuICAgIEFycm93TGVmdCA9ICfihpAnLCAvLyBQcmV2aW91cyBzdGVwIG9yIG5hdmlnYXRpb25cbiAgICBBcnJvd1VwID0gJ+KGkScsIC8vIFVwIGRpcmVjdGlvblxuICAgIEFycm93RG93biA9ICfihpMnLCAvLyBEb3duIGRpcmVjdGlvblxuICAgIEFycm93UmlnaHRGaWxsZWQgPSAn4pa2JywgLy8gTmF2aWdhdGlvbiBvciBuZXh0IHN0ZXAgKGZpbGxlZClcbiAgICBBcnJvd0xlZnRGaWxsZWQgPSAn4peAJywgLy8gUHJldmlvdXMgc3RlcCBvciBuYXZpZ2F0aW9uIChmaWxsZWQpXG4gICAgQXJyb3dVcEZpbGxlZCA9ICfilrInLCAvLyBVcCBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBBcnJvd0Rvd25GaWxsZWQgPSAn4pa8JywgLy8gRG93biBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBEb3VibGVBcnJvd1JpZ2h0ID0gJ8K7JywgLy8gRmFzdCBmb3J3YXJkIG9yIG5leHRcbiAgICBEb3VibGVBcnJvd0xlZnQgPSAnwqsnLCAvLyBSZXdpbmQgb3IgcHJldmlvdXNcblxuICAgIC8vIExpc3RzIGFuZCBQcm9ncmVzc1xuICAgIFN0YXIgPSAn4piFJywgLy8gSGlnaGxpZ2h0IG9yIGZhdm9yaXRlIChmaWxsZWQpXG4gICAgU3RhckVtcHR5ID0gJ+KYhicsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZSAoZW1wdHkpXG4gICAgUGx1cyA9ICcrJywgLy8gQWRkaXRpb24gb3IgaW5jcmVtZW50XG4gICAgTWludXMgPSAnLScsIC8vIFN1YnRyYWN0aW9uIG9yIGRlY3JlbWVudFxuICAgIFByb2dyZXNzID0gJ+KPsycsIC8vIEluZGljYXRpbmcgcHJvZ3Jlc3NcbiAgICBTdWNjZXNzID0gJ+KchScsIC8vIFN1Y2Nlc3MgKGFsdGVybmF0aXZlIHRvIENoZWNrSWNvbilcbiAgICBGYWlsdXJlID0gJ+KdjCcsIC8vIEZhaWx1cmUgKGFsdGVybmF0aXZlIHRvIENyb3NzSWNvbilcblxuICAgIC8vIFRpbWUgYW5kIENhbGVuZGFyXG4gICAgQ2xvY2sgPSAn4o+wJywgLy8gVGltZS1yZWxhdGVkXG4gICAgVGltZXIgPSAn4o+xJywgLy8gU3RvcHdhdGNoIG9yIHRpbWVyXG4gICAgQWxhcm0gPSAn8J+UlCcsIC8vIEFsYXJtIG9yIGFsZXJ0XG4gICAgQ2FsZW5kYXIgPSAn8J+ThScsIC8vIENhbGVuZGFyIG9yIGRhdGVcblxuICAgIC8vIE5hdmlnYXRpb24gYW5kIEZvbGRlcnNcbiAgICBGb2xkZXIgPSAn8J+TgScsIC8vIERpcmVjdG9yeSBvciBmaWxlIGdyb3VwaW5nXG4gICAgRm9sZGVyT3BlbiA9ICfwn5OCJywgLy8gT3BlbiBmb2xkZXJcbiAgICBGaWxlID0gJ/Cfk4QnLCAvLyBGaWxlIG9yIGRvY3VtZW50XG4gICAgQXJjaGl2ZSA9ICfwn5eDJywgLy8gQXJjaGl2ZSBvciBmaWxlIGdyb3VwaW5nXG4gICAgTGluayA9ICfwn5SXJywgLy8gSHlwZXJsaW5rIG9yIGNvbm5lY3Rpb25cbiAgICBDaGFpbiA9ICfim5MnLCAvLyBDaGFpbiBvciBsaW5rZWRcbiAgICBCb29rbWFyayA9ICfwn5SWJywgLy8gQm9va21hcmsgb3Igc2F2ZVxuXG4gICAgLy8gQWN0aW9uc1xuICAgIEVkaXQgPSAn4pyPJywgLy8gRWRpdCBvciBtb2RpZnlcbiAgICBUcmFzaCA9ICfwn5eRJywgLy8gRGVsZXRpb24gb3IgcmVtb3ZhbFxuICAgIEFkZCA9ICfinpUnLCAvLyBBZGQgdXNlciBvciBpdGVtXG4gICAgUmVtb3ZlID0gJ+KelicsIC8vIFJlbW92ZSB1c2VyIG9yIGl0ZW1cbiAgICBSZWxvYWQgPSAn8J+UhCcsIC8vIFJlZnJlc2ggb3IgcmVsb2FkXG4gICAgU2F2ZSA9ICfwn5K+JywgLy8gU2F2ZSBvciBzdG9yZVxuICAgIFVuZG8gPSAn4oapJywgLy8gVW5kbyBhY3Rpb25cbiAgICBSZWRvID0gJ+KGqicsIC8vIFJlZG8gYWN0aW9uXG4gICAgUGxheSA9ICfilrYnLCAvLyBTdGFydCBvciBwbGF5XG4gICAgUGF1c2UgPSAn4o+4JywgLy8gUGF1c2Ugb3Igc3RvcCB0ZW1wb3JhcmlseVxuICAgIFN0b3AgPSAn4o+5JywgLy8gU3RvcCBvciBlbmRcbiAgICBDYW5jZWwgPSAn4p2OJywgLy8gQ2FuY2VsIG9yIGNsb3NlXG5cbiAgICAvLyBVc2VyIGFuZCBTZWN1cml0eVxuICAgIFVzZXIgPSAn8J+RpCcsIC8vIFVzZXIgb3IgcHJvZmlsZVxuICAgIEdyb3VwID0gJ/CfkaUnLCAvLyBHcm91cCBvciB0ZWFtXG4gICAgTG9jayA9ICfwn5SSJywgLy8gU2VjdXJlZCBvciBsb2NrZWRcbiAgICBVbmxvY2sgPSAn8J+UkycsIC8vIFVubG9ja2VkIG9yIGFjY2Vzc2libGVcbiAgICBIZWxwID0gJ+KdkycsIC8vIEhlbHAgb3Igc3VwcG9ydFxuICAgIEtleSA9ICfwn5SRJywgLy8gQXV0aGVudGljYXRpb24gb3Iga2V5XG4gICAgU2hpZWxkID0gJ/Cfm6EnLCAvLyBTZWN1cml0eSBvciBwcm90ZWN0aW9uXG5cbiAgICAvLyBUb29scyBhbmQgU2V0dGluZ3NcbiAgICBHZWFyID0gJ+KamScsIC8vIFNldHRpbmdzIG9yIGNvbmZpZ3VyYXRpb25cbiAgICBTZXR0aW5ncyA9ICfimpnvuI8nLCAvLyBTZXR0aW5ncyAoYWx0ZXJuYXRpdmUpXG4gICAgVGhlbWUgPSAn8J+OqCcsIC8vIFRoZW1lIG9yIGFwcGVhcmFuY2VcbiAgICBMaWdodCA9ICfwn5KhJywgLy8gTGlnaHQgbW9kZVxuICAgIEJ1ZyA9ICfwn5CeJywgLy8gQnVnIG9yIGlzc3VlXG4gICAgV3JlbmNoID0gJ/CflKcnLCAvLyBNYWludGVuYW5jZSBvciB0b29sc1xuICAgIEhhbW1lciA9ICfwn5SoJywgLy8gQnVpbGQgb3IgZml4XG5cbiAgICAvLyBUZWNobm9sb2d5IGFuZCBEZXZpY2VzXG4gICAgVGVybWluYWwgPSAn8J+SuycsIC8vIFRlcm1pbmFsIG9yIGNvbW1hbmQgbGluZVxuICAgIERhdGFiYXNlID0gJ/Cfl4QnLCAvLyBEYXRhYmFzZSBvciBzdG9yYWdlXG4gICAgU2VydmVyID0gJ/CflqUnLCAvLyBTZXJ2ZXIgb3IgaG9zdFxuICAgIENsb3VkID0gJ+KYgScsIC8vIENsb3VkIG9yIHJlbW90ZVxuICAgIE5ldHdvcmsgPSAn8J+MkCcsIC8vIE5ldHdvcmsgb3IgY29ubmVjdGlvblxuICAgIE1vbml0b3IgPSAn8J+WpScsIC8vIE1vbml0b3Igb3IgZGlzcGxheVxuICAgIFByaW50ZXIgPSAn8J+WqCcsIC8vIFByaW50ZXIgb3Igb3V0cHV0XG4gICAgVVNCID0gJ/CflIwnLCAvLyBVU0Igb3IgY29ubmVjdGlvblxuICAgIFNwZWFrZXIgPSAn8J+UiicsIC8vIFNwZWFrZXIgb3IgYXVkaW9cbiAgICBNaWNyb3Bob25lID0gJ/CfjpknLCAvLyBNaWNyb3Bob25lIG9yIGlucHV0XG4gICAgQ2FtZXJhID0gJ/Cfk7cnLCAvLyBDYW1lcmEgb3IgdmlkZW9cbiAgICBWaWRlbyA9ICfwn46lJywgLy8gVmlkZW8gb3IgbWVkaWFcbiAgICBNdXNpYyA9ICfwn461JywgLy8gTXVzaWMgb3IgYXVkaW9cbiAgICBQaG9uZSA9ICfwn5OeJywgLy8gUGhvbmUgb3IgY29tbXVuaWNhdGlvblxuXG4gICAgLy8gRGV2ZWxvcG1lbnQgYW5kIEV2YWx1YXRpb25cbiAgICBQYWNrYWdlID0gJ/Cfk6YnLCAvLyBQYWNrYWdlIG9yIGJ1bmRsZVxuICAgIFBsdWdpbiA9ICfwn5SMJywgLy8gUGx1Z2luIG9yIGV4dGVuc2lvblxuICAgIEV4dGVuc2lvbiA9ICfwn6epJywgLy8gRXh0ZW5zaW9uIG9yIGNvbXBvbmVudFxuICAgIE1vZHVsZSA9ICfwn5OmJywgLy8gTW9kdWxlIG9yIHBhY2thZ2VcbiAgICBFdmFsdWF0ZSA9ICfwn5SNJywgLy8gRXZhbHVhdGUgb3Igc2VhcmNoXG4gICAgVmFyaWFibGUgPSAn8J+UpycsIC8vIFZhcmlhYmxlIG9yIHNldHRpbmdcbiAgICBTY3JpcHQgPSAn8J+TnCcsIC8vIFNjcmlwdCBvciBjb2RlXG4gICAgQ29kZSA9ICfwn5K+JywgLy8gQ29kZSBvciBmaWxlXG5cbiAgICAvLyBTdGF0dXMgYW5kIENvbXBsZXRpb25cbiAgICBMb2dzID0gJ/Cfk5wnLCAvLyBMb2dzIG9yIGhpc3RvcnlcbiAgICBQb3dlciA9ICfij7snLCAvLyBPbi9PZmYgc3RhdGVcbiAgICBIZWFydCA9ICfinaQnLCAvLyBMb3ZlIG9yIGZhdm9yaXRlXG4gICAgRmxhbWUgPSAn8J+UpScsIC8vIFRyZW5kaW5nIG9yIGhvdFxuICAgIEdyb3d0aCA9ICfwn5OIJywgLy8gR3Jvd3RoIG9yIGluY3JlYXNlXG4gICAgRGVjbGluZSA9ICfwn5OJJywgLy8gRGVjbGluZSBvciBkZWNyZWFzZVxuICAgIFdhcm5pbmdGaWxsZWQgPSAn4pqg77iPJywgLy8gV2FybmluZyAoZmlsbGVkKVxuXG4gICAgLy8gTmF0dXJlIGFuZCBXZWF0aGVyXG4gICAgU3VuID0gJ+KYgCcsIC8vIEJyaWdodG5lc3Mgb3IgZGF5XG4gICAgTW9vbiA9ICfwn4yZJywgLy8gTmlnaHQgb3IgZGFyayBtb2RlXG4gICAgUmFpbiA9ICfwn4ynJywgLy8gUmFpbiBvciBiYWQgd2VhdGhlclxuICAgIFNub3cgPSAn4p2EJywgLy8gU25vdyBvciBjb2xkXG4gICAgTGlnaHRuaW5nID0gJ+KaoScsIC8vIExpZ2h0bmluZyBvciBkYW5nZXJcbiAgICBUcmVlID0gJ/CfjLInLCAvLyBOYXR1cmUgb3IgZW52aXJvbm1lbnRcblxuICAgIC8vIEVtb3Rpb25zIGFuZCBFeHByZXNzaW9uc1xuICAgIFNtaWxlID0gJ/CfmIonLCAvLyBIYXBwaW5lc3Mgb3IgcG9zaXRpdmUgc3RhdGVcbiAgICBTYWQgPSAn8J+YoicsIC8vIFNhZG5lc3Mgb3IgbmVnYXRpdmUgc3RhdGVcbiAgICBBbmdyeSA9ICfwn5ihJywgLy8gQW5nZXIgb3IgZnJ1c3RyYXRpb25cbiAgICBDbGFwID0gJ/CfkY8nLCAvLyBBcHBsYXVzZSBvciBjZWxlYnJhdGlvblxuICAgIFRodW1ic1VwID0gJ/CfkY0nLCAvLyBBcHByb3ZhbCBvciBzdWNjZXNzXG4gICAgVGh1bWJzRG93biA9ICfwn5GOJywgLy8gRGlzYXBwcm92YWwgb3IgZmFpbHVyZVxuXG4gICAgLy8gTWlzY2VsbGFuZW91c1xuICAgIFJvY2tldCA9ICfwn5qAJywgLy8gTGF1bmNoIG9yIGRlcGxveVxuICAgIEdsb2JlID0gJ/CfjI0nLCAvLyBFYXJ0aCBvciBpbnRlcm5hdGlvbmFsXG4gICAgTWVkYWwgPSAn8J+PhScsIC8vIEFjaGlldmVtZW50IG9yIGF3YXJkXG4gICAgVHJvcGh5ID0gJ/Cfj4YnLCAvLyBXaW5uZXIgb3IgY2hhbXBpb25cbiAgICBGbGFnID0gJ/CfmqknLCAvLyBNYXJrIG9yIGZsYWdcbiAgICBTdGFyRmlsbGVkID0gJ+KtkCcsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZVxuICAgIFN0YXJPdXRsaW5lID0gJ+KcqScsIC8vIEFsdGVybmF0ZSBzdGFyIGljb25cbiAgICBGaXJld29ya3MgPSAn8J+OhicsIC8vIENlbGVicmF0aW9uXG4gICAgQmFsbG9vbiA9ICfwn46IJywgLy8gUGFydHkgb3IgZnVuXG4gICAgR2lmdCA9ICfwn46BJywgLy8gUmV3YXJkIG9yIHByZXNlbnRcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCB0eXBlIENsaU9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xuICAgIC8qKlxuICAgICAqIFRoZSB3ZWxjb21lIG1lc3NhZ2Ugb3B0aW9uc1xuICAgICAqL1xuICAgIHdlbGNvbWVNZXNzYWdlPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIG1lc3NhZ2UgdG8gZGlzcGxheVxuICAgICAgICAgKi9cbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcblxuICAgICAgICAvKipcbiAgICAgICAgICogV2hlbiB0byBzaG93IHRoZSB3ZWxjb21lIG1lc3NhZ2VcbiAgICAgICAgICogQGRlZmF1bHQgJ2Fsd2F5cydcbiAgICAgICAgICovXG4gICAgICAgIHNob3c/OiAnYWx3YXlzJyB8ICdvbmNlJyB8ICdkYWlseScgfCAnbmV2ZXInO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgd2VsY29tZSBtZXNzYWdlIGlzIGhpZGRlblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgaGlkZVdlbGNvbWVNZXNzYWdlPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFVzZXJzIG1vZHVsZSBvcHRpb25zXG4gICAgICovXG4gICAgdXNlcnNNb2R1bGU/OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0cnVlLCB0aGUgdXNlcnMgbW9kdWxlIGlzIGVuYWJsZWRcbiAgICAgICAgICovXG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhpZGUgdGhlIHByb21wdCB0byBkaXNwbGF5IHdoZW4gdGhlIENMSSBpcyByZWFkeSB0byBhY2NlcHQgaW5wdXRcbiAgICAgICAgICovXG4gICAgICAgIGhpZGVVc2VyTmFtZT86IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJlbG9hZCB0aGUgcGFnZSB3aGVuIHRoZSB1c2VyIGNoYW5nZXNcbiAgICAgICAgICovXG4gICAgICAgIHJlbG9hZFBhZ2VPblVzZXJDaGFuZ2U/OiBib29sZWFuO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVybWluYWwgb3B0aW9uc1xuICAgICAqL1xuICAgIHRlcm1pbmFsT3B0aW9ucz86IElUZXJtaW5hbE9wdGlvbnMgJiBJVGVybWluYWxJbml0T25seU9wdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBsb2cgbGV2ZWwgdG8gZGlzcGxheVxuICAgICAqL1xuICAgIGxvZ0xldmVsPzogQ2xpTG9nTGV2ZWw7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYWNrYWdlIHRoYXQgY2FuIGJlIGluc3RhbGxlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdsb2JhbCBuYW1lIHVzZWQgdG8gYWNjZXNzIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgZ2xvYmFsTmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgdmVyc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHVucGtnIHVybCB0byB0aGUgcGFja2FnZVxuICAgICAqL1xuICAgIHVybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlcGVuZGVuY2llcyBmb3IgdGhlIG1vZHVsZVxuICAgICAqL1xuICAgIGRlcGVuZGVuY2llcz86IFBhY2thZ2VbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGNvbW1hbmQgcHJvY2Vzc29yIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCB0eXBlIENsaVByb2Nlc3Nvck1ldGFkYXRhID0gUmVjb3JkPHN0cmluZywgYW55PiAmIHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcHJvY2Vzc29yIGlzIHNlYWxlZCBhbmQgY2Fubm90IGJlIGV4dGVuZGVkXG4gICAgICovXG4gICAgc2VhbGVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBydW5uaW5nXG4gICAgICovXG4gICAgcmVxdWlyZVNlcnZlcj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbW9kdWxlIHRoZSBwcm9jZXNzb3IgYmVsb25ncyB0b1xuICAgICAqL1xuICAgIG1vZHVsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFuIGljb24gdG8gZGlzcGxheSBmb3IgdGhlIHByb2Nlc3NvclxuICAgICAqL1xuICAgIGljb24/OiBDbGlJY29uIHwgc3RyaW5nO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3RhdGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIENMSSBwcm9jZXNzb3JcbiAqL1xuZXhwb3J0IHR5cGUgQ2xpU3RhdGVDb25maWd1cmF0aW9uID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSBpbml0aWFsIHN0YXRlIGZvciB0aGUgcHJvY2Vzc29yXG4gICAgICovXG4gICAgaW5pdGlhbFN0YXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHN0b3JlIGlkZW50aWZpZXIgZm9yIHRoZSBwcm9jZXNzb3IsIGlmIGFueVxuICAgICAqIEByZW1hcmtzIElmIHRoZSBzdG9yZSBpZGVudGlmaWVyIGlzIG5vdCBzZXQsIHRoZSBwcm9jZXNzb3IgY29tbWFuZCBuYW1lIGlzIHVzZWRcbiAgICAgKi9cbiAgICBzdG9yZU5hbWU/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBsb2cgbGV2ZWwgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGVudW0gQ2xpTG9nTGV2ZWwge1xuICAgIE5vbmUgPSAwLFxuICAgIERFQlVHID0gMSxcbiAgICBMT0cgPSAyLFxuICAgIElORk8gPSAzLFxuICAgIFdBUk4gPSA0LFxuICAgIEVSUk9SID0gNSxcbn1cblxuZXhwb3J0IHR5cGUgQ2xpU3RhdGUgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgY29uc3QgZW51bXMgPSB7XG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxuICAgIENsaUJhY2tncm91bmRDb2xvcixcbiAgICBDbGlJY29uLFxuICAgIENsaUxvZ0xldmVsLFxufTtcblxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJzJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL3VzZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBJQ2xpVXNlciA9IHtcbiAgICAvKipcbiAgICAgKiBUaGUgaWQgb2YgdGhlIHVzZXJcbiAgICAgKi9cbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHVzZXJcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW1haWwgb2YgdGhlIHVzZXJcbiAgICAgKi9cbiAgICBlbWFpbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdyb3VwcyB0aGUgdXNlciBiZWxvbmdzIHRvXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBncm91cHM/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVVzZXJTZXNzaW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdXNlciBhc3NvY2lhdGVkIHdpdGggdGhlIHNlc3Npb25cbiAgICAgKi9cbiAgICB1c2VyOiBJQ2xpVXNlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlciBzZXNzaW9uXG4gICAgICovXG4gICAgZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCB0eXBlIENsaUFkZFVzZXIgPSBPbWl0PElDbGlVc2VyLCAnaWQnPjtcbiJdfQ==
@@ -3,7 +3,9 @@ export class CancellablePromise {
3
3
  this.executor = executor;
4
4
  this.hasCancelled = false;
5
5
  this.abortController = new AbortController();
6
- this.promise = new Promise((resolve, reject) => {
6
+ }
7
+ execute() {
8
+ return new Promise((resolve, reject) => {
7
9
  this.abortController.signal.onabort = () => {
8
10
  reject(new Error('Promise cancelled'));
9
11
  };
@@ -23,4 +25,4 @@ export class CancellablePromise {
23
25
  this.abortController.abort();
24
26
  }
25
27
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuY2VsbGFibGVQcm9taXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3R5cGVzL0NhbmNlbGxhYmxlUHJvbWlzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQ1ksUUFHQztRQUhELGFBQVEsR0FBUixRQUFRLENBR1A7UUFSTCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFTekMsWUFBTyxHQUFlLElBQUksT0FBTyxDQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FDVCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xCO1lBQ0wsQ0FBQyxFQUNELENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDbEI7WUFDTCxDQUFDLENBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBbkJBLENBQUM7SUFxQkosTUFBTTtRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENhbmNlbGxhYmxlUHJvbWlzZTxUPiB7XG4gICAgcHJpdmF0ZSBoYXNDYW5jZWxsZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZXhlY3V0b3I6IChcbiAgICAgICAgICAgIHJlc29sdmU6ICh2YWx1ZTogVCkgPT4gdm9pZCxcbiAgICAgICAgICAgIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCxcbiAgICAgICAgKSA9PiB2b2lkLFxuICAgICkge31cblxuICAgIHB1YmxpYyBwcm9taXNlOiBQcm9taXNlPFQ+ID0gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWwub25hYm9ydCA9ICgpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ1Byb21pc2UgY2FuY2VsbGVkJykpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZXhlY3V0b3IoXG4gICAgICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzQ2FuY2VsbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAocmVhc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0NhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QocmVhc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgY2FuY2VsKCkge1xuICAgICAgICB0aGlzLmhhc0NhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgfVxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuY2VsbGFibGVQcm9taXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3R5cGVzL0NhbmNlbGxhYmxlUHJvbWlzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQ1ksUUFHQztRQUhELGFBQVEsR0FBUixRQUFRLENBR1A7UUFSTCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFPN0MsQ0FBQztJQUVHLE9BQU87UUFDVixPQUFPLElBQUksT0FBTyxDQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FDVCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xCO1lBQ0wsQ0FBQyxFQUNELENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDbEI7WUFDTCxDQUFDLENBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDYW5jZWxsYWJsZVByb21pc2U8VD4ge1xuICAgIHByaXZhdGUgaGFzQ2FuY2VsbGVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGV4ZWN1dG9yOiAoXG4gICAgICAgICAgICByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQsXG4gICAgICAgICAgICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQsXG4gICAgICAgICkgPT4gdm9pZCxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZXhlY3V0ZSgpOiBQcm9taXNlPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbC5vbmFib3J0ID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ1Byb21pc2UgY2FuY2VsbGVkJykpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5leGVjdXRvcihcbiAgICAgICAgICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0NhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChyZWFzb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0NhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2FuY2VsKCkge1xuICAgICAgICB0aGlzLmhhc0NhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgfVxufVxuIl19
@@ -404,7 +404,9 @@ class CancellablePromise {
404
404
  this.executor = executor;
405
405
  this.hasCancelled = false;
406
406
  this.abortController = new AbortController();
407
- this.promise = new Promise((resolve, reject) => {
407
+ }
408
+ execute() {
409
+ return new Promise((resolve, reject) => {
408
410
  this.abortController.signal.onabort = () => {
409
411
  reject(new Error('Promise cancelled'));
410
412
  };
@@ -1 +1 @@
1
- {"version":3,"file":"qodalis-cli-core.mjs","sources":["../../../projects/core/src/lib/models/index.ts","../../../projects/core/src/lib/constants/index.ts","../../../projects/core/src/lib/utils/delay.ts","../../../projects/core/src/lib/utils/object-describer.ts","../../../projects/core/src/lib/utils/index.ts","../../../projects/core/src/lib/modules/index.ts","../../../projects/core/src/lib/types/CancellablePromise.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/qodalis-cli-core.ts"],"sourcesContent":["import { ITerminalInitOnlyOptions, ITerminalOptions } from '@xterm/xterm';\n\nexport type CliProcessCommand = {\n /**\n * The command that was entered\n */\n command: string;\n\n /**\n * The data that was entered\n */\n data?: any;\n\n /**\n * The chain of commands that were entered\n */\n chainCommands: string[];\n\n /**\n * The raw command that was entered\n */\n rawCommand: string;\n\n /**\n * The value of the command\n */\n value?: string;\n\n /**\n * The arguments that were entered\n */\n args: Record<string, any>;\n};\n\nexport enum CliForegroundColor {\n Black = '\\x1b[30m',\n Red = '\\x1b[31m',\n Green = '\\x1b[32m',\n Yellow = '\\x1b[33m',\n Blue = '\\x1b[34m',\n Magenta = '\\x1b[35m',\n Cyan = '\\x1b[36m',\n White = '\\x1b[37m',\n Reset = '\\x1b[0m',\n}\n\nexport enum CliBackgroundColor {\n Black = '\\x1b[40m',\n Red = '\\x1b[41m',\n Green = '\\x1b[42m',\n Yellow = '\\x1b[43m',\n Blue = '\\x1b[44m',\n Magenta = '\\x1b[45m',\n Cyan = '\\x1b[46m',\n White = '\\x1b[47m',\n}\n\nexport enum CliIcon {\n // General Symbols\n CheckIcon = '✔', // Success, completion\n CrossIcon = '✘', // Failure, error\n InfoIcon = 'ℹ', // Information\n WarningIcon = '⚠', // Warning\n QuestionMark = '?', // Help or unknown state\n Exclamation = '❗', // Emphasis or alert\n Ellipsis = '…', // Loading or truncated text\n Dot = '•', // List item\n Bullet = '‣', // Alternate bullet point\n\n // Arrows\n ArrowRight = '→', // Navigation or next step\n ArrowLeft = '←', // Previous step or navigation\n ArrowUp = '↑', // Up direction\n ArrowDown = '↓', // Down direction\n ArrowRightFilled = '▶', // Navigation or next step (filled)\n ArrowLeftFilled = '◀', // Previous step or navigation (filled)\n ArrowUpFilled = '▲', // Up direction (filled)\n ArrowDownFilled = '▼', // Down direction (filled)\n DoubleArrowRight = '»', // Fast forward or next\n DoubleArrowLeft = '«', // Rewind or previous\n\n // Lists and Progress\n Star = '★', // Highlight or favorite (filled)\n StarEmpty = '☆', // Highlight or favorite (empty)\n Plus = '+', // Addition or increment\n Minus = '-', // Subtraction or decrement\n Progress = '⏳', // Indicating progress\n Success = '✅', // Success (alternative to CheckIcon)\n Failure = '❌', // Failure (alternative to CrossIcon)\n\n // Time and Calendar\n Clock = '⏰', // Time-related\n Timer = '⏱', // Stopwatch or timer\n Alarm = '🔔', // Alarm or alert\n Calendar = '📅', // Calendar or date\n\n // Navigation and Folders\n Folder = '📁', // Directory or file grouping\n FolderOpen = '📂', // Open folder\n File = '📄', // File or document\n Archive = '🗃', // Archive or file grouping\n Link = '🔗', // Hyperlink or connection\n Chain = '⛓', // Chain or linked\n Bookmark = '🔖', // Bookmark or save\n\n // Actions\n Edit = '✏', // Edit or modify\n Trash = '🗑', // Deletion or removal\n Add = '➕', // Add user or item\n Remove = '➖', // Remove user or item\n Reload = '🔄', // Refresh or reload\n Save = '💾', // Save or store\n Undo = '↩', // Undo action\n Redo = '↪', // Redo action\n Play = '▶', // Start or play\n Pause = '⏸', // Pause or stop temporarily\n Stop = '⏹', // Stop or end\n Cancel = '❎', // Cancel or close\n\n // User and Security\n User = '👤', // User or profile\n Group = '👥', // Group or team\n Lock = '🔒', // Secured or locked\n Unlock = '🔓', // Unlocked or accessible\n Help = '❓', // Help or support\n Key = '🔑', // Authentication or key\n Shield = '🛡', // Security or protection\n\n // Tools and Settings\n Gear = '⚙', // Settings or configuration\n Settings = '⚙️', // Settings (alternative)\n Theme = '🎨', // Theme or appearance\n Light = '💡', // Light mode\n Bug = '🐞', // Bug or issue\n Wrench = '🔧', // Maintenance or tools\n Hammer = '🔨', // Build or fix\n\n // Technology and Devices\n Terminal = '💻', // Terminal or command line\n Database = '🗄', // Database or storage\n Server = '🖥', // Server or host\n Cloud = '☁', // Cloud or remote\n Network = '🌐', // Network or connection\n Monitor = '🖥', // Monitor or display\n Printer = '🖨', // Printer or output\n USB = '🔌', // USB or connection\n Speaker = '🔊', // Speaker or audio\n Microphone = '🎙', // Microphone or input\n Camera = '📷', // Camera or video\n Video = '🎥', // Video or media\n Music = '🎵', // Music or audio\n Phone = '📞', // Phone or communication\n\n // Development and Evaluation\n Package = '📦', // Package or bundle\n Plugin = '🔌', // Plugin or extension\n Extension = '🧩', // Extension or component\n Module = '📦', // Module or package\n Evaluate = '🔍', // Evaluate or search\n Variable = '🔧', // Variable or setting\n Script = '📜', // Script or code\n Code = '💾', // Code or file\n\n // Status and Completion\n Logs = '📜', // Logs or history\n Power = '⏻', // On/Off state\n Heart = '❤', // Love or favorite\n Flame = '🔥', // Trending or hot\n Growth = '📈', // Growth or increase\n Decline = '📉', // Decline or decrease\n WarningFilled = '⚠️', // Warning (filled)\n\n // Nature and Weather\n Sun = '☀', // Brightness or day\n Moon = '🌙', // Night or dark mode\n Rain = '🌧', // Rain or bad weather\n Snow = '❄', // Snow or cold\n Lightning = '⚡', // Lightning or danger\n Tree = '🌲', // Nature or environment\n\n // Emotions and Expressions\n Smile = '😊', // Happiness or positive state\n Sad = '😢', // Sadness or negative state\n Angry = '😡', // Anger or frustration\n Clap = '👏', // Applause or celebration\n ThumbsUp = '👍', // Approval or success\n ThumbsDown = '👎', // Disapproval or failure\n\n // Miscellaneous\n Rocket = '🚀', // Launch or deploy\n Globe = '🌍', // Earth or international\n Medal = '🏅', // Achievement or award\n Trophy = '🏆', // Winner or champion\n Flag = '🚩', // Mark or flag\n StarFilled = '⭐', // Highlight or favorite\n StarOutline = '✩', // Alternate star icon\n Fireworks = '🎆', // Celebration\n Balloon = '🎈', // Party or fun\n Gift = '🎁', // Reward or present\n}\n\nexport type ICliUser = {\n /**\n * The id of the user\n */\n id: string;\n\n /**\n * The name of the user\n */\n name: string;\n\n /**\n * The email of the user\n */\n email: string;\n\n /**\n * The groups the user belongs to\n * @default []\n */\n groups?: string[];\n};\n\nexport interface ICliUserSession {\n /**\n * The user associated with the session\n */\n user: ICliUser;\n\n /**\n * The data associated with the user session\n */\n data?: Record<string, any>;\n}\n\n/**\n * Options for the CLI\n */\nexport type CliOptions = Record<string, any> & {\n /**\n * The welcome message options\n */\n welcomeMessage?: {\n /**\n * The message to display\n */\n message?: string;\n\n /**\n * When to show the welcome message\n * @default 'always'\n */\n show?: 'always' | 'once' | 'daily' | 'never';\n };\n\n /**\n * If true, the welcome message is hidden\n * @default false\n */\n hideWelcomeMessage?: boolean;\n\n /**\n * Users module options\n */\n usersModule?: {\n /**\n * If true, the users module is enabled\n */\n enabled: boolean;\n\n /**\n * Hide the prompt to display when the CLI is ready to accept input\n */\n hideUserName?: boolean;\n\n /**\n * Reload the page when the user changes\n */\n reloadPageOnUserChange?: boolean;\n };\n\n /**\n * Custom terminal options\n */\n terminalOptions?: ITerminalOptions & ITerminalInitOnlyOptions;\n\n /**\n * The minimum log level to display\n */\n logLevel?: CliLogLevel;\n};\n\n/**\n * Represents a package that can be installed\n */\nexport interface Package {\n /**\n * The name of the package\n */\n name: string;\n\n /**\n * The global name used to access the package\n */\n globalName?: string;\n\n /**\n * The version of the package\n */\n version: string;\n\n /**\n * The unpkg url to the package\n */\n url: string;\n\n /**\n * The dependencies for the module\n */\n dependencies?: Package[];\n}\n\n/**\n * Represents command processor metadata\n */\nexport type CliProcessorMetadata = Record<string, any> & {\n /**\n * If true, the processor is sealed and cannot be extended\n */\n sealed?: boolean;\n\n /**\n * If true, the processor requires the server to be running\n */\n requireServer?: boolean;\n\n /**\n * The module the processor belongs to\n */\n module?: string;\n\n /**\n * An icon to display for the processor\n */\n icon?: CliIcon | string;\n};\n\n/**\n * Represents a log level for the CLI\n */\nexport enum CliLogLevel {\n None = 0,\n DEBUG = 1,\n LOG = 2,\n INFO = 3,\n WARN = 4,\n ERROR = 5,\n}\n\nexport const enums = {\n CliForegroundColor,\n CliBackgroundColor,\n CliIcon,\n CliLogLevel,\n};\n\nexport * from './services';\n","import { ICliCommandAuthor } from '../interfaces';\n\nexport const DefaultLibraryAuthor: ICliCommandAuthor = {\n name: 'Nicolae Lupei',\n email: 'nicolae.lupei@qodalis.com',\n};\n\nexport const constants = {\n DefaultLibraryAuthor,\n};\n","export const delay = (ms: number): Promise<void> => {\n return new Promise((resolve) => setTimeout(resolve, ms));\n};\n","import { ICliCommandProcessor, ICliExecutionContext } from '../interfaces';\nimport { CliForegroundColor, CliProcessCommand } from '../models';\n\nexport class ObjectDescriber {\n static describe(\n obj: any,\n options?: {\n filter?: (o: {\n funcName: string;\n func: any;\n args: string[];\n }) => boolean;\n },\n ): ICliCommandProcessor[] {\n const { filter } = options || {};\n\n const processors: ICliCommandProcessor[] = [];\n\n const keys = Object.keys(obj);\n\n const functions = keys.filter((key) => typeof obj[key] === 'function');\n\n for (const func of functions) {\n const funcValue = obj[func];\n const args = this.getFunctionArguments(funcValue);\n\n if (filter) {\n const shouldInclude = filter({\n funcName: func,\n func: funcValue,\n args,\n });\n\n if (!shouldInclude) {\n continue;\n }\n }\n\n const supportsMultipleArgs = args.length > 1;\n\n const supportsDynamicArgs = this.supportsDynamicArgs(funcValue);\n\n if (args.length === 0 && !supportsDynamicArgs) {\n continue;\n }\n\n if (\n args.length > 0 &&\n args.some((arg) => arg === 'function' || arg === 'func')\n ) {\n continue;\n }\n\n const processor: ICliCommandProcessor = {\n command: func,\n description: `A command that executes the function ${func} with the provided arguments`,\n allowUnlistedCommands: true,\n valueRequired: true,\n parameters: [\n {\n name: 'debug',\n description: 'Debug',\n type: 'boolean',\n required: false,\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const debug = command.args['debug'] as boolean;\n\n if (debug) {\n context.writer.writeln('Executing command: ' + func);\n context.writer.writeln(\n 'Arguments: ' + JSON.stringify(command.args),\n );\n context.writer.writeln(\n 'Function: ' + funcValue.toString(),\n );\n }\n\n const argsToCallF: any[] = [];\n\n if (supportsMultipleArgs) {\n for (const arg of args.slice(1)) {\n argsToCallF.push(command.args[arg]);\n }\n }\n\n if (supportsDynamicArgs) {\n const delimiter = command.args['delimiter'] || ',';\n argsToCallF.push(...command.value!.split(delimiter));\n }\n\n if (debug) {\n context.writer.writeln(\n 'Arguments after processing: ' +\n JSON.stringify(argsToCallF),\n );\n }\n\n const result =\n supportsDynamicArgs && args.length === 0\n ? funcValue(...argsToCallF)\n : funcValue(command.value, ...argsToCallF);\n\n context.writer.write(\n context.writer.wrapInColor(\n 'Result: ',\n CliForegroundColor.Yellow,\n ),\n );\n\n if (result === null) {\n context.writer.writeln('null');\n } else if (result === undefined) {\n context.writer.writeln('undefined');\n } else if (typeof result === 'boolean') {\n context.writer.writeln(result.toString());\n } else if (typeof result === 'number') {\n context.writer.writeln(result.toString());\n } else if (Array.isArray(result)) {\n context.writer.writeJson(result);\n } else if (typeof result === 'string') {\n context.writer.writeln(result);\n } else if (typeof result === 'object') {\n context.writer.writeJson(result);\n } else {\n context.writer.writeln(result?.toString());\n }\n\n context.process.output(result?.toString());\n },\n writeDescription: (context: ICliExecutionContext) => {\n context.writer.writeln(func);\n },\n };\n\n if (supportsDynamicArgs) {\n processor.parameters?.push({\n name: 'delimiter',\n description: 'Delimiter',\n type: 'string',\n required: false,\n });\n }\n\n if (supportsMultipleArgs) {\n processor.parameters?.push(\n ...args.slice(1).map((arg) => ({\n name: arg,\n description: arg,\n type: 'string',\n required: false,\n })),\n );\n }\n\n processors.push(processor);\n }\n\n return processors;\n }\n\n static supportsDynamicArgs(func: any): boolean {\n const funcStr = func.toString();\n return funcStr.includes('arguments');\n }\n\n static getFunctionArguments(func: any): string[] {\n const funcStr = func.toString();\n const args = funcStr.match(/\\(([^)]*)\\)/);\n if (!args) {\n return [];\n }\n return args[1]\n .split(',')\n .map((arg: string) => arg.trim())\n .filter((arg: string) => arg !== '');\n }\n}\n","import { ICliCommandParameterDescriptor } from '../interfaces';\nimport { CliBackgroundColor, CliForegroundColor } from '../models';\nimport { delay } from './delay';\nimport { ObjectDescriber } from './object-describer';\n\nexport const getParameterValue = (\n p: ICliCommandParameterDescriptor,\n args: Record<string, any>,\n): any | undefined => {\n return (\n args[p.name] ??\n (p.aliases?.find((alias) => args[alias]) &&\n args[p.aliases!.find((alias) => args[alias])!])\n );\n};\n\nexport const formatJson = (json: any): string => {\n const identedJson = JSON.stringify(json, null, 2);\n\n return colorizeJson(identedJson.split('\\n').join('\\r\\n'));\n};\n\nexport const colorizeJson = (jsonString: any): string => {\n return jsonString\n .replace(/\"([^\"]+)\":/g, '\\x1b[33m\"$1\":\\x1b[0m') // Keys (yellow)\n .replace(/: \"([^\"]*)\"/g, ': \\x1b[32m\"$1\"\\x1b[0m') // Strings (green)\n .replace(/: (\\d+)/g, ': \\x1b[34m$1\\x1b[0m') // Numbers (blue)\n .replace(/: (true|false)/g, ': \\x1b[35m$1\\x1b[0m') // Booleans (magenta)\n .replace(/: (null)/g, ': \\x1b[36m$1\\x1b[0m'); // Null (cyan)\n};\n\nexport const toQueryString = (params: Record<string, any>): string => {\n const searchParams = new URLSearchParams();\n\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n const value = params[key];\n // Handle array and non-primitive values\n if (Array.isArray(value)) {\n value.forEach((v) => searchParams.append(key, v.toString()));\n } else if (value !== null && value !== undefined) {\n searchParams.append(key, value.toString());\n }\n }\n }\n\n return searchParams.toString();\n};\n\nexport const highlightTextWithBg = (\n text: string,\n pattern: RegExp,\n bgColor: CliBackgroundColor = CliBackgroundColor.Yellow,\n): string => {\n // Replace matches with background-colored text\n return text.replace(\n pattern,\n (match) => `${bgColor}${match}${CliForegroundColor.Reset}`,\n );\n};\n\nexport const getRightOfWord = (\n command: string,\n word: string,\n): string | undefined => {\n // Find the position of the word in the command\n const index = command.indexOf(word);\n\n // If the word is found, extract the substring to the right\n if (index !== -1) {\n return command.slice(index + word.length).trim();\n }\n\n // If the word is not found, return null\n return undefined;\n};\n\nexport * from './object-describer';\n\nexport * from './delay';\n\nexport const utils = {\n getParameterValue,\n formatJson,\n colorizeJson,\n toQueryString,\n highlightTextWithBg,\n getRightOfWord,\n ObjectDescriber,\n delay,\n};\n","import { enums } from '../models';\nimport { constants } from '../constants';\nimport { ICliExecutionContext, ICliUmdModule } from '../interfaces';\nimport { utils } from '../utils';\n\nexport const initializeBrowserEnvironment = ({\n context,\n handlers,\n}: {\n context: ICliExecutionContext;\n handlers: ((module: ICliUmdModule) => Promise<void>)[];\n}): void => {\n (window as any).cliCore = {\n onUmdModuleBoot: handlers || [],\n bootUmdModule: async (module: ICliUmdModule) => {\n context.logger.log('Booting UMD module', module.name);\n (window as any)[module.name] = module;\n handlers.forEach(async (handler) => await handler(module));\n },\n ...constants,\n ...utils,\n ...enums,\n };\n\n (window as any).ngCore = {\n Injectable: () => {},\n };\n};\n\nexport const bootUmdModule = async (module: ICliUmdModule): Promise<void> => {\n if (typeof (window as any) !== 'undefined') {\n await (window as any).cliCore.bootUmdModule(module);\n } else {\n console.log('window is undefined');\n }\n};\n","export class CancellablePromise<T> {\n private hasCancelled = false;\n\n private abortController = new AbortController();\n\n constructor(\n private executor: (\n resolve: (value: T) => void,\n reject: (reason?: any) => void,\n ) => void,\n ) {}\n\n public promise: Promise<T> = new Promise<T>((resolve, reject) => {\n this.abortController.signal.onabort = () => {\n reject(new Error('Promise cancelled'));\n };\n\n this.executor(\n (value) => {\n if (!this.hasCancelled) {\n resolve(value);\n }\n },\n (reason) => {\n if (!this.hasCancelled) {\n reject(reason);\n }\n },\n );\n });\n\n cancel() {\n this.hasCancelled = true;\n this.abortController.abort();\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/models';\n\nexport * from './lib/interfaces';\n\nexport * from './lib/modules';\n\nexport * from './lib/utils';\n\nexport * from './lib/constants';\n\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qodalis-cli-core.mjs","sources":["../../../projects/core/src/lib/models/index.ts","../../../projects/core/src/lib/constants/index.ts","../../../projects/core/src/lib/utils/delay.ts","../../../projects/core/src/lib/utils/object-describer.ts","../../../projects/core/src/lib/utils/index.ts","../../../projects/core/src/lib/modules/index.ts","../../../projects/core/src/lib/types/CancellablePromise.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/qodalis-cli-core.ts"],"sourcesContent":["import { ITerminalInitOnlyOptions, ITerminalOptions } from '@xterm/xterm';\n\nexport type CliProcessCommand = {\n /**\n * The command that was entered\n */\n command: string;\n\n /**\n * The data that was entered\n */\n data?: any;\n\n /**\n * The chain of commands that were entered\n */\n chainCommands: string[];\n\n /**\n * The raw command that was entered\n */\n rawCommand: string;\n\n /**\n * The value of the command\n */\n value?: string;\n\n /**\n * The arguments that were entered\n */\n args: Record<string, any>;\n};\n\nexport enum CliForegroundColor {\n Black = '\\x1b[30m',\n Red = '\\x1b[31m',\n Green = '\\x1b[32m',\n Yellow = '\\x1b[33m',\n Blue = '\\x1b[34m',\n Magenta = '\\x1b[35m',\n Cyan = '\\x1b[36m',\n White = '\\x1b[37m',\n Reset = '\\x1b[0m',\n}\n\nexport enum CliBackgroundColor {\n Black = '\\x1b[40m',\n Red = '\\x1b[41m',\n Green = '\\x1b[42m',\n Yellow = '\\x1b[43m',\n Blue = '\\x1b[44m',\n Magenta = '\\x1b[45m',\n Cyan = '\\x1b[46m',\n White = '\\x1b[47m',\n}\n\nexport enum CliIcon {\n // General Symbols\n CheckIcon = '✔', // Success, completion\n CrossIcon = '✘', // Failure, error\n InfoIcon = 'ℹ', // Information\n WarningIcon = '⚠', // Warning\n QuestionMark = '?', // Help or unknown state\n Exclamation = '❗', // Emphasis or alert\n Ellipsis = '…', // Loading or truncated text\n Dot = '•', // List item\n Bullet = '‣', // Alternate bullet point\n\n // Arrows\n ArrowRight = '→', // Navigation or next step\n ArrowLeft = '←', // Previous step or navigation\n ArrowUp = '↑', // Up direction\n ArrowDown = '↓', // Down direction\n ArrowRightFilled = '▶', // Navigation or next step (filled)\n ArrowLeftFilled = '◀', // Previous step or navigation (filled)\n ArrowUpFilled = '▲', // Up direction (filled)\n ArrowDownFilled = '▼', // Down direction (filled)\n DoubleArrowRight = '»', // Fast forward or next\n DoubleArrowLeft = '«', // Rewind or previous\n\n // Lists and Progress\n Star = '★', // Highlight or favorite (filled)\n StarEmpty = '☆', // Highlight or favorite (empty)\n Plus = '+', // Addition or increment\n Minus = '-', // Subtraction or decrement\n Progress = '⏳', // Indicating progress\n Success = '✅', // Success (alternative to CheckIcon)\n Failure = '❌', // Failure (alternative to CrossIcon)\n\n // Time and Calendar\n Clock = '⏰', // Time-related\n Timer = '⏱', // Stopwatch or timer\n Alarm = '🔔', // Alarm or alert\n Calendar = '📅', // Calendar or date\n\n // Navigation and Folders\n Folder = '📁', // Directory or file grouping\n FolderOpen = '📂', // Open folder\n File = '📄', // File or document\n Archive = '🗃', // Archive or file grouping\n Link = '🔗', // Hyperlink or connection\n Chain = '⛓', // Chain or linked\n Bookmark = '🔖', // Bookmark or save\n\n // Actions\n Edit = '✏', // Edit or modify\n Trash = '🗑', // Deletion or removal\n Add = '➕', // Add user or item\n Remove = '➖', // Remove user or item\n Reload = '🔄', // Refresh or reload\n Save = '💾', // Save or store\n Undo = '↩', // Undo action\n Redo = '↪', // Redo action\n Play = '▶', // Start or play\n Pause = '⏸', // Pause or stop temporarily\n Stop = '⏹', // Stop or end\n Cancel = '❎', // Cancel or close\n\n // User and Security\n User = '👤', // User or profile\n Group = '👥', // Group or team\n Lock = '🔒', // Secured or locked\n Unlock = '🔓', // Unlocked or accessible\n Help = '❓', // Help or support\n Key = '🔑', // Authentication or key\n Shield = '🛡', // Security or protection\n\n // Tools and Settings\n Gear = '⚙', // Settings or configuration\n Settings = '⚙️', // Settings (alternative)\n Theme = '🎨', // Theme or appearance\n Light = '💡', // Light mode\n Bug = '🐞', // Bug or issue\n Wrench = '🔧', // Maintenance or tools\n Hammer = '🔨', // Build or fix\n\n // Technology and Devices\n Terminal = '💻', // Terminal or command line\n Database = '🗄', // Database or storage\n Server = '🖥', // Server or host\n Cloud = '☁', // Cloud or remote\n Network = '🌐', // Network or connection\n Monitor = '🖥', // Monitor or display\n Printer = '🖨', // Printer or output\n USB = '🔌', // USB or connection\n Speaker = '🔊', // Speaker or audio\n Microphone = '🎙', // Microphone or input\n Camera = '📷', // Camera or video\n Video = '🎥', // Video or media\n Music = '🎵', // Music or audio\n Phone = '📞', // Phone or communication\n\n // Development and Evaluation\n Package = '📦', // Package or bundle\n Plugin = '🔌', // Plugin or extension\n Extension = '🧩', // Extension or component\n Module = '📦', // Module or package\n Evaluate = '🔍', // Evaluate or search\n Variable = '🔧', // Variable or setting\n Script = '📜', // Script or code\n Code = '💾', // Code or file\n\n // Status and Completion\n Logs = '📜', // Logs or history\n Power = '⏻', // On/Off state\n Heart = '❤', // Love or favorite\n Flame = '🔥', // Trending or hot\n Growth = '📈', // Growth or increase\n Decline = '📉', // Decline or decrease\n WarningFilled = '⚠️', // Warning (filled)\n\n // Nature and Weather\n Sun = '☀', // Brightness or day\n Moon = '🌙', // Night or dark mode\n Rain = '🌧', // Rain or bad weather\n Snow = '❄', // Snow or cold\n Lightning = '⚡', // Lightning or danger\n Tree = '🌲', // Nature or environment\n\n // Emotions and Expressions\n Smile = '😊', // Happiness or positive state\n Sad = '😢', // Sadness or negative state\n Angry = '😡', // Anger or frustration\n Clap = '👏', // Applause or celebration\n ThumbsUp = '👍', // Approval or success\n ThumbsDown = '👎', // Disapproval or failure\n\n // Miscellaneous\n Rocket = '🚀', // Launch or deploy\n Globe = '🌍', // Earth or international\n Medal = '🏅', // Achievement or award\n Trophy = '🏆', // Winner or champion\n Flag = '🚩', // Mark or flag\n StarFilled = '⭐', // Highlight or favorite\n StarOutline = '✩', // Alternate star icon\n Fireworks = '🎆', // Celebration\n Balloon = '🎈', // Party or fun\n Gift = '🎁', // Reward or present\n}\n\n/**\n * Options for the CLI\n */\nexport type CliOptions = Record<string, any> & {\n /**\n * The welcome message options\n */\n welcomeMessage?: {\n /**\n * The message to display\n */\n message?: string;\n\n /**\n * When to show the welcome message\n * @default 'always'\n */\n show?: 'always' | 'once' | 'daily' | 'never';\n };\n\n /**\n * If true, the welcome message is hidden\n * @default false\n */\n hideWelcomeMessage?: boolean;\n\n /**\n * Users module options\n */\n usersModule?: {\n /**\n * If true, the users module is enabled\n */\n enabled: boolean;\n\n /**\n * Hide the prompt to display when the CLI is ready to accept input\n */\n hideUserName?: boolean;\n\n /**\n * Reload the page when the user changes\n */\n reloadPageOnUserChange?: boolean;\n };\n\n /**\n * Custom terminal options\n */\n terminalOptions?: ITerminalOptions & ITerminalInitOnlyOptions;\n\n /**\n * The minimum log level to display\n */\n logLevel?: CliLogLevel;\n};\n\n/**\n * Represents a package that can be installed\n */\nexport interface Package {\n /**\n * The name of the package\n */\n name: string;\n\n /**\n * The global name used to access the package\n */\n globalName?: string;\n\n /**\n * The version of the package\n */\n version: string;\n\n /**\n * The unpkg url to the package\n */\n url: string;\n\n /**\n * The dependencies for the module\n */\n dependencies?: Package[];\n}\n\n/**\n * Represents command processor metadata\n */\nexport type CliProcessorMetadata = Record<string, any> & {\n /**\n * If true, the processor is sealed and cannot be extended\n */\n sealed?: boolean;\n\n /**\n * If true, the processor requires the server to be running\n */\n requireServer?: boolean;\n\n /**\n * The module the processor belongs to\n */\n module?: string;\n\n /**\n * An icon to display for the processor\n */\n icon?: CliIcon | string;\n};\n\n/**\n * Represents a state configuration for the CLI processor\n */\nexport type CliStateConfiguration = {\n /**\n * The initial state for the processor\n */\n initialState: Record<string, any>;\n\n /**\n * The store identifier for the processor, if any\n * @remarks If the store identifier is not set, the processor command name is used\n */\n storeName?: string;\n};\n\n/**\n * Represents a log level for the CLI\n */\nexport enum CliLogLevel {\n None = 0,\n DEBUG = 1,\n LOG = 2,\n INFO = 3,\n WARN = 4,\n ERROR = 5,\n}\n\nexport type CliState = Record<string, any>;\n\nexport const enums = {\n CliForegroundColor,\n CliBackgroundColor,\n CliIcon,\n CliLogLevel,\n};\n\nexport * from './services';\nexport * from './users';\n","import { ICliCommandAuthor } from '../interfaces';\n\nexport const DefaultLibraryAuthor: ICliCommandAuthor = {\n name: 'Nicolae Lupei',\n email: 'nicolae.lupei@qodalis.com',\n};\n\nexport const constants = {\n DefaultLibraryAuthor,\n};\n","export const delay = (ms: number): Promise<void> => {\n return new Promise((resolve) => setTimeout(resolve, ms));\n};\n","import { ICliCommandProcessor, ICliExecutionContext } from '../interfaces';\nimport { CliForegroundColor, CliProcessCommand } from '../models';\n\nexport class ObjectDescriber {\n static describe(\n obj: any,\n options?: {\n filter?: (o: {\n funcName: string;\n func: any;\n args: string[];\n }) => boolean;\n },\n ): ICliCommandProcessor[] {\n const { filter } = options || {};\n\n const processors: ICliCommandProcessor[] = [];\n\n const keys = Object.keys(obj);\n\n const functions = keys.filter((key) => typeof obj[key] === 'function');\n\n for (const func of functions) {\n const funcValue = obj[func];\n const args = this.getFunctionArguments(funcValue);\n\n if (filter) {\n const shouldInclude = filter({\n funcName: func,\n func: funcValue,\n args,\n });\n\n if (!shouldInclude) {\n continue;\n }\n }\n\n const supportsMultipleArgs = args.length > 1;\n\n const supportsDynamicArgs = this.supportsDynamicArgs(funcValue);\n\n if (args.length === 0 && !supportsDynamicArgs) {\n continue;\n }\n\n if (\n args.length > 0 &&\n args.some((arg) => arg === 'function' || arg === 'func')\n ) {\n continue;\n }\n\n const processor: ICliCommandProcessor = {\n command: func,\n description: `A command that executes the function ${func} with the provided arguments`,\n allowUnlistedCommands: true,\n valueRequired: true,\n parameters: [\n {\n name: 'debug',\n description: 'Debug',\n type: 'boolean',\n required: false,\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const debug = command.args['debug'] as boolean;\n\n if (debug) {\n context.writer.writeln('Executing command: ' + func);\n context.writer.writeln(\n 'Arguments: ' + JSON.stringify(command.args),\n );\n context.writer.writeln(\n 'Function: ' + funcValue.toString(),\n );\n }\n\n const argsToCallF: any[] = [];\n\n if (supportsMultipleArgs) {\n for (const arg of args.slice(1)) {\n argsToCallF.push(command.args[arg]);\n }\n }\n\n if (supportsDynamicArgs) {\n const delimiter = command.args['delimiter'] || ',';\n argsToCallF.push(...command.value!.split(delimiter));\n }\n\n if (debug) {\n context.writer.writeln(\n 'Arguments after processing: ' +\n JSON.stringify(argsToCallF),\n );\n }\n\n const result =\n supportsDynamicArgs && args.length === 0\n ? funcValue(...argsToCallF)\n : funcValue(command.value, ...argsToCallF);\n\n context.writer.write(\n context.writer.wrapInColor(\n 'Result: ',\n CliForegroundColor.Yellow,\n ),\n );\n\n if (result === null) {\n context.writer.writeln('null');\n } else if (result === undefined) {\n context.writer.writeln('undefined');\n } else if (typeof result === 'boolean') {\n context.writer.writeln(result.toString());\n } else if (typeof result === 'number') {\n context.writer.writeln(result.toString());\n } else if (Array.isArray(result)) {\n context.writer.writeJson(result);\n } else if (typeof result === 'string') {\n context.writer.writeln(result);\n } else if (typeof result === 'object') {\n context.writer.writeJson(result);\n } else {\n context.writer.writeln(result?.toString());\n }\n\n context.process.output(result?.toString());\n },\n writeDescription: (context: ICliExecutionContext) => {\n context.writer.writeln(func);\n },\n };\n\n if (supportsDynamicArgs) {\n processor.parameters?.push({\n name: 'delimiter',\n description: 'Delimiter',\n type: 'string',\n required: false,\n });\n }\n\n if (supportsMultipleArgs) {\n processor.parameters?.push(\n ...args.slice(1).map((arg) => ({\n name: arg,\n description: arg,\n type: 'string',\n required: false,\n })),\n );\n }\n\n processors.push(processor);\n }\n\n return processors;\n }\n\n static supportsDynamicArgs(func: any): boolean {\n const funcStr = func.toString();\n return funcStr.includes('arguments');\n }\n\n static getFunctionArguments(func: any): string[] {\n const funcStr = func.toString();\n const args = funcStr.match(/\\(([^)]*)\\)/);\n if (!args) {\n return [];\n }\n return args[1]\n .split(',')\n .map((arg: string) => arg.trim())\n .filter((arg: string) => arg !== '');\n }\n}\n","import { ICliCommandParameterDescriptor } from '../interfaces';\nimport { CliBackgroundColor, CliForegroundColor } from '../models';\nimport { delay } from './delay';\nimport { ObjectDescriber } from './object-describer';\n\nexport const getParameterValue = (\n p: ICliCommandParameterDescriptor,\n args: Record<string, any>,\n): any | undefined => {\n return (\n args[p.name] ??\n (p.aliases?.find((alias) => args[alias]) &&\n args[p.aliases!.find((alias) => args[alias])!])\n );\n};\n\nexport const formatJson = (json: any): string => {\n const identedJson = JSON.stringify(json, null, 2);\n\n return colorizeJson(identedJson.split('\\n').join('\\r\\n'));\n};\n\nexport const colorizeJson = (jsonString: any): string => {\n return jsonString\n .replace(/\"([^\"]+)\":/g, '\\x1b[33m\"$1\":\\x1b[0m') // Keys (yellow)\n .replace(/: \"([^\"]*)\"/g, ': \\x1b[32m\"$1\"\\x1b[0m') // Strings (green)\n .replace(/: (\\d+)/g, ': \\x1b[34m$1\\x1b[0m') // Numbers (blue)\n .replace(/: (true|false)/g, ': \\x1b[35m$1\\x1b[0m') // Booleans (magenta)\n .replace(/: (null)/g, ': \\x1b[36m$1\\x1b[0m'); // Null (cyan)\n};\n\nexport const toQueryString = (params: Record<string, any>): string => {\n const searchParams = new URLSearchParams();\n\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n const value = params[key];\n // Handle array and non-primitive values\n if (Array.isArray(value)) {\n value.forEach((v) => searchParams.append(key, v.toString()));\n } else if (value !== null && value !== undefined) {\n searchParams.append(key, value.toString());\n }\n }\n }\n\n return searchParams.toString();\n};\n\nexport const highlightTextWithBg = (\n text: string,\n pattern: RegExp,\n bgColor: CliBackgroundColor = CliBackgroundColor.Yellow,\n): string => {\n // Replace matches with background-colored text\n return text.replace(\n pattern,\n (match) => `${bgColor}${match}${CliForegroundColor.Reset}`,\n );\n};\n\nexport const getRightOfWord = (\n command: string,\n word: string,\n): string | undefined => {\n // Find the position of the word in the command\n const index = command.indexOf(word);\n\n // If the word is found, extract the substring to the right\n if (index !== -1) {\n return command.slice(index + word.length).trim();\n }\n\n // If the word is not found, return null\n return undefined;\n};\n\nexport * from './object-describer';\n\nexport * from './delay';\n\nexport const utils = {\n getParameterValue,\n formatJson,\n colorizeJson,\n toQueryString,\n highlightTextWithBg,\n getRightOfWord,\n ObjectDescriber,\n delay,\n};\n","import { enums } from '../models';\nimport { constants } from '../constants';\nimport { ICliExecutionContext, ICliUmdModule } from '../interfaces';\nimport { utils } from '../utils';\n\nexport const initializeBrowserEnvironment = ({\n context,\n handlers,\n}: {\n context: ICliExecutionContext;\n handlers: ((module: ICliUmdModule) => Promise<void>)[];\n}): void => {\n (window as any).cliCore = {\n onUmdModuleBoot: handlers || [],\n bootUmdModule: async (module: ICliUmdModule) => {\n context.logger.log('Booting UMD module', module.name);\n (window as any)[module.name] = module;\n handlers.forEach(async (handler) => await handler(module));\n },\n ...constants,\n ...utils,\n ...enums,\n };\n\n (window as any).ngCore = {\n Injectable: () => {},\n };\n};\n\nexport const bootUmdModule = async (module: ICliUmdModule): Promise<void> => {\n if (typeof (window as any) !== 'undefined') {\n await (window as any).cliCore.bootUmdModule(module);\n } else {\n console.log('window is undefined');\n }\n};\n","export class CancellablePromise<T> {\n private hasCancelled = false;\n\n private abortController = new AbortController();\n\n constructor(\n private executor: (\n resolve: (value: T) => void,\n reject: (reason?: any) => void,\n ) => void,\n ) {}\n\n public execute(): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n this.abortController.signal.onabort = () => {\n reject(new Error('Promise cancelled'));\n };\n\n this.executor(\n (value) => {\n if (!this.hasCancelled) {\n resolve(value);\n }\n },\n (reason) => {\n if (!this.hasCancelled) {\n reject(reason);\n }\n },\n );\n });\n }\n\n cancel() {\n this.hasCancelled = true;\n this.abortController.abort();\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/models';\n\nexport * from './lib/interfaces';\n\nexport * from './lib/modules';\n\nexport * from './lib/utils';\n\nexport * from './lib/constants';\n\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ICliExecutionContext } from './execution-context';
2
+ export interface ICliProcessorHook {
3
+ when: 'before' | 'after';
4
+ execute: (context: ICliExecutionContext) => Promise<void>;
5
+ }
@@ -1,4 +1,5 @@
1
- import { CliProcessCommand, CliProcessorMetadata } from '../models';
1
+ import { CliProcessCommand, CliProcessorMetadata, CliStateConfiguration } from '../models';
2
+ import { ICliProcessorHook } from './command-hooks';
2
3
  import { ICliExecutionContext } from './execution-context';
3
4
  export interface ICliCommandAuthor {
4
5
  /**
@@ -93,11 +94,22 @@ export interface ICliCommandProcessor {
93
94
  /**
94
95
  * Processors that are nested under this processor
95
96
  */
96
- processors?: ICliCommandProcessor[];
97
+ processors?: ICliCommandChildProcessor[];
97
98
  /**
98
99
  * Parameters that the command accepts
99
100
  */
100
101
  parameters?: ICliCommandParameterDescriptor[];
102
+ /**
103
+ * Hooks that are executed before and after the command is processed
104
+ */
105
+ hooks?: ICliProcessorHook[];
106
+ /**
107
+ * Represents the state configuration for the command processor
108
+ * @remarks The state configuration is used to store and retrieve state information for the command processor
109
+ * @remarks State confihuration is optional and can be used to store and retrieve state information for the command processor
110
+ * @remarks The state configuration is used only for root command processors and not for child command processors
111
+ */
112
+ stateConfiguration?: CliStateConfiguration;
101
113
  /**
102
114
  * Process the command
103
115
  * @param command The command to process
@@ -124,3 +136,12 @@ export interface ICliCommandProcessor {
124
136
  */
125
137
  initialize?(context: ICliExecutionContext): Promise<void>;
126
138
  }
139
+ /**
140
+ * Represents a child command processor
141
+ */
142
+ export interface ICliCommandChildProcessor extends ICliCommandProcessor {
143
+ /**
144
+ * The parent processor, it is populated by the processor manager
145
+ */
146
+ parent?: ICliCommandProcessor;
147
+ }
@@ -1,6 +1,6 @@
1
1
  import { Terminal } from '@xterm/xterm';
2
2
  import { Subject } from 'rxjs';
3
- import { ICliClipboard, ICliCommandDataStore, ICliCommandExecutorService, ICliCommandProcessor, ICliContextServices, ICliExecutionProcess, ICliLogger, ICliPercentageProgressBar, ICliSpinner, ICliTerminalWriter } from '.';
3
+ import { ICliClipboard, ICliCommandExecutorService, ICliCommandProcessor, ICliServiceProvider, ICliExecutionProcess, ICliLogger, ICliPercentageProgressBar, ICliSpinner, ICliStateStore, ICliTerminalWriter, ICliTextAnimator } from '.';
4
4
  import { CliOptions, ICliUserSession } from '../models';
5
5
  /**
6
6
  * Represents the context in which a command is executed
@@ -14,6 +14,10 @@ export interface ICliExecutionContext {
14
14
  * The spinner to use for showing/hiding the loader
15
15
  */
16
16
  spinner?: ICliSpinner;
17
+ /**
18
+ * The text animator to use for showing/hiding text
19
+ */
20
+ textAnimator?: ICliTextAnimator;
17
21
  /**
18
22
  * The progress bar to use for showing progress
19
23
  */
@@ -39,9 +43,9 @@ export interface ICliExecutionContext {
39
43
  */
40
44
  clipboard: ICliClipboard;
41
45
  /**
42
- * The data store to use for storing data
46
+ * The state store to use for storing state
43
47
  */
44
- dataStore: ICliCommandDataStore;
48
+ state: ICliStateStore;
45
49
  /**
46
50
  * The options for the CLI
47
51
  */
@@ -55,7 +59,7 @@ export interface ICliExecutionContext {
55
59
  * @param processor The processor to set
56
60
  * @param silent Indicates if the setting should be silent, i.e. not write to the terminal
57
61
  */
58
- setContextProcessor(processor: ICliCommandProcessor, silent?: boolean): void;
62
+ setContextProcessor: (processor: ICliCommandProcessor, silent?: boolean) => void;
59
63
  /**
60
64
  * The process to use for exiting the CLI
61
65
  */
@@ -67,5 +71,5 @@ export interface ICliExecutionContext {
67
71
  /**
68
72
  * The services to use for the CLI context
69
73
  */
70
- services: ICliContextServices;
74
+ services: ICliServiceProvider;
71
75
  }
@@ -1,7 +1,7 @@
1
- import { Observable } from 'rxjs';
2
- import { CliBackgroundColor, CliForegroundColor, CliLogLevel, CliProcessCommand, CliProvider, ICliUser, ICliUserSession } from '../models';
1
+ import { Observable, Subscription } from 'rxjs';
2
+ import { CliBackgroundColor, CliForegroundColor, CliLogLevel, CliProcessCommand, CliProvider, CliState } from '../models';
3
3
  import { ICliExecutionContext } from './execution-context';
4
- import { ICliCommandProcessor } from './command-processor';
4
+ import { ICliCommandChildProcessor, ICliCommandProcessor } from './command-processor';
5
5
  export interface ICliTerminalWriter {
6
6
  /**
7
7
  * Write text to the terminal
@@ -125,12 +125,29 @@ export interface ICliCommandExecutorService {
125
125
  * Represents a registry for command processors
126
126
  */
127
127
  export interface ICliCommandProcessorRegistry {
128
+ /**
129
+ * The processors registered with the registry
130
+ */
131
+ readonly processors: ICliCommandProcessor[];
128
132
  /**
129
133
  * Find a processor for a command
130
134
  * @param mainCommand
131
135
  * @param chainCommands
132
136
  */
133
137
  findProcessor(mainCommand: string, chainCommands: string[]): ICliCommandProcessor | undefined;
138
+ /**
139
+ * Recursively searches for a processor matching the given command.
140
+ * @param mainCommand The main command name.
141
+ * @param chainCommands The remaining chain commands (if any).
142
+ * @param processors The list of available processors.
143
+ * @returns The matching processor or undefined if not found.
144
+ */
145
+ findProcessorInCollection(mainCommand: string, chainCommands: string[], processors: ICliCommandProcessor[]): ICliCommandProcessor | undefined;
146
+ /**
147
+ * Get the root processor for a child processor
148
+ * @param child The child processor
149
+ */
150
+ getRootProcessor(child: ICliCommandChildProcessor): ICliCommandProcessor;
134
151
  /**
135
152
  * Register a processor
136
153
  * @param processor
@@ -185,66 +202,71 @@ export interface ICliExecutionProcess {
185
202
  output(data: any): void;
186
203
  }
187
204
  /**
188
- * Represents a data store for storing data associated with commands
205
+ * Represents a key-value store for the CLI
189
206
  */
190
- export interface ICliCommandDataStore {
207
+ export interface ICliKeyValueStore {
191
208
  /**
192
- * The data store
209
+ * Retrieves a value by key.
210
+ * @param key - The key to retrieve the value for.
211
+ * @returns A promise resolving to the value or undefined if not found.
193
212
  */
194
- data: Record<string, Record<string, any>>;
213
+ get<T = any>(key: string): Promise<T | undefined>;
195
214
  /**
196
- * Append data to the data store
197
- * @param command
198
- * @param key
199
- * @param data
215
+ * Sets a key-value pair in the store.
216
+ * @param key - The key to set.
217
+ * @param value - The value to store.
218
+ * @returns A promise resolving when the value is stored.
200
219
  */
201
- appendData(command: string, key: string, data: any): void;
220
+ set(key: string, value: any): Promise<void>;
202
221
  /**
203
- * Get data from the data store
204
- * @param command
205
- * @param key
222
+ * Removes a key-value pair by key.
223
+ * @param key - The key to remove.
224
+ * @returns A promise resolving when the key is removed.
206
225
  */
207
- getData<T = any>(command: string, key: string): T;
226
+ remove(key: string): Promise<void>;
227
+ /**
228
+ * Clears all key-value pairs from the store.
229
+ * @returns A promise resolving when the store is cleared.
230
+ */
231
+ clear(): Promise<void>;
208
232
  }
209
233
  /**
210
- * Represents a service that manages user sessions in the CLI
234
+ * Represents a store for storing data associated with commands
211
235
  */
212
- export interface ICliUserSessionService {
236
+ export interface ICliStateStore {
213
237
  /**
214
- * Gets the current user session
215
- * @returns An observable that emits the current user session
238
+ * Get the current state as an object.
216
239
  */
217
- getUserSession(): Observable<ICliUserSession | undefined>;
240
+ getState(): CliState;
218
241
  /**
219
- * Sets the current user session
220
- * @param session The session to set
242
+ * Update the state with new values. Supports partial updates.
243
+ * @param newState Partial state to merge with the current state.
221
244
  */
222
- setUserSession(session: ICliUserSession): Promise<void>;
223
- }
224
- /**
225
- * Represents a service that manages users in the CLI
226
- */
227
- export interface ICliUsersStoreService {
245
+ updateState(newState: Partial<CliState>): void;
246
+ /**
247
+ * Select a specific property or computed value from the state.
248
+ * @param selector A function to project a slice of the state.
249
+ * @returns Observable of the selected value.
250
+ */
251
+ select<K>(selector: (state: CliState) => K): Observable<K>;
252
+ /**
253
+ * Subscribe to state changes.
254
+ * @param callback Callback function to handle state changes.
255
+ * @returns Subscription object to manage the subscription.
256
+ */
257
+ subscribe(callback: (state: CliState) => void): Subscription;
228
258
  /**
229
- * Gets the current users
230
- * @returns An observable that emits the current users
259
+ * Reset the state to its initial value.
231
260
  */
232
- getUsers(options?: {
233
- query?: string;
234
- skip?: number;
235
- take?: number;
236
- }): Observable<ICliUser[]>;
261
+ reset(): void;
237
262
  /**
238
- * Creates a user
239
- * @param user The user to create
263
+ * Persist the state to storage.
240
264
  */
241
- createUser(user: Omit<ICliUser, 'id'>): Promise<ICliUser>;
265
+ persist(): Promise<void>;
242
266
  /**
243
- * Gets a user by id
244
- * @param id The id of the user to get
245
- * @returns An observable that emits the user with the specified id
267
+ * Initialize the state from storage.
246
268
  */
247
- getUser(id: string): Observable<ICliUser | undefined>;
269
+ initialize(): Promise<void>;
248
270
  }
249
271
  /**
250
272
  * Represents a service that pings the server
@@ -306,9 +328,9 @@ export interface ICliLogger {
306
328
  debug(...args: any[]): void;
307
329
  }
308
330
  /**
309
- * Represents a services for the CLI context
331
+ * Represents a service provider for the CLI
310
332
  */
311
- export interface ICliContextServices {
333
+ export interface ICliServiceProvider {
312
334
  /**
313
335
  * Get a service
314
336
  * @param service The service to get
@@ -323,3 +345,5 @@ export interface ICliContextServices {
323
345
  export * from './execution-context';
324
346
  export * from './command-processor';
325
347
  export * from './progress-bars';
348
+ export * from './command-hooks';
349
+ export * from './users';
@@ -6,7 +6,7 @@ export interface ICliProgressBar {
6
6
  /**
7
7
  * Show the progress bar
8
8
  */
9
- show: () => void;
9
+ show: (text?: string) => void;
10
10
  /**
11
11
  * Hide the progress bar
12
12
  */
@@ -50,3 +50,23 @@ export interface ICliPercentageProgressBar extends ICliProgressBar {
50
50
  */
51
51
  setText: (text: string) => void;
52
52
  }
53
+ export type CliTextAnimatorOptions = {
54
+ /**
55
+ * The speed of the animation
56
+ * @default 100
57
+ */
58
+ speed?: number;
59
+ /**
60
+ * The text will be removed after typing
61
+ */
62
+ removeAfterTyping?: boolean;
63
+ };
64
+ export interface ICliTextAnimator extends ICliProgressBar {
65
+ /**
66
+ * Show animated text in a typing and erasing effect.
67
+ * @param text
68
+ * @param options
69
+ * @returns
70
+ */
71
+ showText: (text: string, options?: CliTextAnimatorOptions) => void;
72
+ }
@@ -0,0 +1,42 @@
1
+ import { ICliUserSession, ICliUser, CliAddUser } from '../models';
2
+ import { Observable } from 'rxjs';
3
+ /**
4
+ * Represents a service that manages user sessions in the CLI
5
+ */
6
+ export interface ICliUserSessionService {
7
+ /**
8
+ * Gets the current user session
9
+ * @returns An observable that emits the current user session
10
+ */
11
+ getUserSession(): Observable<ICliUserSession | undefined>;
12
+ /**
13
+ * Sets the current user session
14
+ * @param session The session to set
15
+ */
16
+ setUserSession(session: ICliUserSession): Promise<void>;
17
+ }
18
+ /**
19
+ * Represents a service that manages users in the CLI
20
+ */
21
+ export interface ICliUsersStoreService {
22
+ /**
23
+ * Gets the current users
24
+ * @returns An observable that emits the current users
25
+ */
26
+ getUsers(options?: {
27
+ query?: string;
28
+ skip?: number;
29
+ take?: number;
30
+ }): Observable<ICliUser[]>;
31
+ /**
32
+ * Creates a user
33
+ * @param user The user to create
34
+ */
35
+ createUser(user: CliAddUser): Promise<ICliUser>;
36
+ /**
37
+ * Gets a user by id
38
+ * @param id The id of the user to get
39
+ * @returns An observable that emits the user with the specified id
40
+ */
41
+ getUser(id: string): Observable<ICliUser | undefined>;
42
+ }
@@ -162,35 +162,6 @@ export declare enum CliIcon {
162
162
  Balloon = "\uD83C\uDF88",
163
163
  Gift = "\uD83C\uDF81"
164
164
  }
165
- export type ICliUser = {
166
- /**
167
- * The id of the user
168
- */
169
- id: string;
170
- /**
171
- * The name of the user
172
- */
173
- name: string;
174
- /**
175
- * The email of the user
176
- */
177
- email: string;
178
- /**
179
- * The groups the user belongs to
180
- * @default []
181
- */
182
- groups?: string[];
183
- };
184
- export interface ICliUserSession {
185
- /**
186
- * The user associated with the session
187
- */
188
- user: ICliUser;
189
- /**
190
- * The data associated with the user session
191
- */
192
- data?: Record<string, any>;
193
- }
194
165
  /**
195
166
  * Options for the CLI
196
167
  */
@@ -286,6 +257,20 @@ export type CliProcessorMetadata = Record<string, any> & {
286
257
  */
287
258
  icon?: CliIcon | string;
288
259
  };
260
+ /**
261
+ * Represents a state configuration for the CLI processor
262
+ */
263
+ export type CliStateConfiguration = {
264
+ /**
265
+ * The initial state for the processor
266
+ */
267
+ initialState: Record<string, any>;
268
+ /**
269
+ * The store identifier for the processor, if any
270
+ * @remarks If the store identifier is not set, the processor command name is used
271
+ */
272
+ storeName?: string;
273
+ };
289
274
  /**
290
275
  * Represents a log level for the CLI
291
276
  */
@@ -297,6 +282,7 @@ export declare enum CliLogLevel {
297
282
  WARN = 4,
298
283
  ERROR = 5
299
284
  }
285
+ export type CliState = Record<string, any>;
300
286
  export declare const enums: {
301
287
  CliForegroundColor: typeof CliForegroundColor;
302
288
  CliBackgroundColor: typeof CliBackgroundColor;
@@ -304,3 +290,4 @@ export declare const enums: {
304
290
  CliLogLevel: typeof CliLogLevel;
305
291
  };
306
292
  export * from './services';
293
+ export * from './users';
@@ -0,0 +1,30 @@
1
+ export type ICliUser = {
2
+ /**
3
+ * The id of the user
4
+ */
5
+ id: string;
6
+ /**
7
+ * The name of the user
8
+ */
9
+ name: string;
10
+ /**
11
+ * The email of the user
12
+ */
13
+ email: string;
14
+ /**
15
+ * The groups the user belongs to
16
+ * @default []
17
+ */
18
+ groups?: string[];
19
+ };
20
+ export interface ICliUserSession {
21
+ /**
22
+ * The user associated with the session
23
+ */
24
+ user: ICliUser;
25
+ /**
26
+ * The data associated with the user session
27
+ */
28
+ data?: Record<string, any>;
29
+ }
30
+ export type CliAddUser = Omit<ICliUser, 'id'>;
@@ -3,6 +3,6 @@ export declare class CancellablePromise<T> {
3
3
  private hasCancelled;
4
4
  private abortController;
5
5
  constructor(executor: (resolve: (value: T) => void, reject: (reason?: any) => void) => void);
6
- promise: Promise<T>;
6
+ execute(): Promise<T>;
7
7
  cancel(): void;
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qodalis/cli-core",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Core Angular CLI for @qodalis extensions.",
5
5
  "author": "Nicolae Lupei, Qodalis Solutions",
6
6
  "license": "MIT",