@doctorus/common 0.0.21 → 0.0.22
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/lib/status/utils.d.ts +2 -2
- package/lib/status/utils.js +1 -1
- package/package.json +1 -1
package/lib/status/utils.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Status utilities for extracting and querying status metadata
|
|
3
3
|
* Provides common functions to work with status configurations
|
|
4
4
|
*/
|
|
5
|
-
import type { BooleanStatus
|
|
5
|
+
import type { BooleanStatus } from './boolean-status';
|
|
6
6
|
import type { AccountLocationStatus } from './account-location-status';
|
|
7
7
|
import type { MedicalHistoryStatus } from './medical-history-status';
|
|
8
8
|
import type { MedicalServiceStatus } from './medical-service-status';
|
|
@@ -10,7 +10,7 @@ import type { StatusMetadata, Locale } from './types';
|
|
|
10
10
|
/**
|
|
11
11
|
* Feature type for status selection
|
|
12
12
|
*/
|
|
13
|
-
export type StatusFeature = 'medicalService' | 'accountLocation' | 'medicalHistory' |
|
|
13
|
+
export type StatusFeature = 'medicalService' | 'accountLocation' | 'medicalHistory' | 'yesNo' | 'activeInactive' | 'enabledDisabled' | 'validInvalid';
|
|
14
14
|
/**
|
|
15
15
|
* Status type mapping for each feature
|
|
16
16
|
*/
|
package/lib/status/utils.js
CHANGED
|
@@ -199,4 +199,4 @@ function groupStatusesByIconForFeature(feature) {
|
|
|
199
199
|
});
|
|
200
200
|
return grouped;
|
|
201
201
|
}
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBa0RILGtFQWVDO0FBUUQsMERBRUM7QUFRRCw0REFFQztBQVVELDREQVFDO0FBU0Qsd0VBTUM7QUFPRCx3RUFRQztBQU9ELDREQUdDO0FBUUQsMERBUUM7QUFRRCxvREFZQztBQWVELGtGQWVDO0FBU0QsMERBY0M7QUFPRCx3RUFlQztBQU9ELHNFQWFDO0FBM1FELHFEQUE2RDtBQUM3RCx1RUFBNkU7QUFDN0UscUVBQTJFO0FBQzNFLHFFQUEyRTtBQW9CM0U7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUFtRTtJQUN4RixjQUFjLEVBQUUsd0RBQStCO0lBQy9DLGVBQWUsRUFBRSwwREFBZ0M7SUFDakQsY0FBYyxFQUFFLHdEQUErQjtJQUMvQyxLQUFLLEVBQUUsMENBQXlCLENBQUMsS0FBSztJQUN0QyxjQUFjLEVBQUUsMENBQXlCLENBQUMsY0FBYztJQUN4RCxlQUFlLEVBQUUsMENBQXlCLENBQUMsZUFBZTtJQUMxRCxZQUFZLEVBQUUsMENBQXlCLENBQUMsWUFBWTtDQUNyRCxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQ3pDLE9BQVUsRUFDVixNQUF3QjtJQUV4QixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDLENB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QUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdGF0dXMgdXRpbGl0aWVzIGZvciBleHRyYWN0aW5nIGFuZCBxdWVyeWluZyBzdGF0dXMgbWV0YWRhdGFcbiAqIFByb3ZpZGVzIGNvbW1vbiBmdW5jdGlvbnMgdG8gd29yayB3aXRoIHN0YXR1cyBjb25maWd1cmF0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgQm9vbGVhblN0YXR1cywgQm9vbGVhblN0YXR1c1ByZXNldCB9IGZyb20gJy4vYm9vbGVhbi1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBBY2NvdW50TG9jYXRpb25TdGF0dXMgfSBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmltcG9ydCB0eXBlIHsgTWVkaWNhbEhpc3RvcnlTdGF0dXMgfSBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBNZWRpY2FsU2VydmljZVN0YXR1cyB9IGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhLCBMb2NhbGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEJPT0xFQU5fTUVUQURBVEFfUkVHSVNUUlkgfSBmcm9tICcuL2Jvb2xlYW4tc3RhdHVzJztcbmltcG9ydCB7IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9hY2NvdW50LWxvY2F0aW9uLXN0YXR1cyc7XG5pbXBvcnQgeyBNRURJQ0FMX0hJU1RPUllfU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9tZWRpY2FsLWhpc3Rvcnktc3RhdHVzJztcbmltcG9ydCB7IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEEgfSBmcm9tICcuL21lZGljYWwtc2VydmljZS1zdGF0dXMnO1xuXG4vKipcbiAqIEZlYXR1cmUgdHlwZSBmb3Igc3RhdHVzIHNlbGVjdGlvblxuICovXG5leHBvcnQgdHlwZSBTdGF0dXNGZWF0dXJlID0gJ21lZGljYWxTZXJ2aWNlJyB8ICdhY2NvdW50TG9jYXRpb24nIHwgJ21lZGljYWxIaXN0b3J5JyB8IEJvb2xlYW5TdGF0dXNQcmVzZXQ7XG5cbi8qKlxuICogU3RhdHVzIHR5cGUgbWFwcGluZyBmb3IgZWFjaCBmZWF0dXJlXG4gKi9cbmV4cG9ydCB0eXBlIFN0YXR1c1R5cGVNYXAgPSB7XG4gIG1lZGljYWxTZXJ2aWNlOiBNZWRpY2FsU2VydmljZVN0YXR1cztcbiAgYWNjb3VudExvY2F0aW9uOiBBY2NvdW50TG9jYXRpb25TdGF0dXM7XG4gIG1lZGljYWxIaXN0b3J5OiBNZWRpY2FsSGlzdG9yeVN0YXR1cztcbiAgeWVzTm86IEJvb2xlYW5TdGF0dXM7XG4gIGFjdGl2ZUluYWN0aXZlOiBCb29sZWFuU3RhdHVzO1xuICBlbmFibGVkRGlzYWJsZWQ6IEJvb2xlYW5TdGF0dXM7XG4gIHZhbGlkSW52YWxpZDogQm9vbGVhblN0YXR1cztcbn07XG5cbi8qKlxuICogTWV0YWRhdGEgcmVnaXN0cnkgbWFwcGluZyBmZWF0dXJlcyB0byB0aGVpciBzdGF0dXMgY29uZmlndXJhdGlvbnNcbiAqL1xuY29uc3QgTUVUQURBVEFfUkVHSVNUUlk6IFJlY29yZDxTdGF0dXNGZWF0dXJlLCBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyLCBTdGF0dXNNZXRhZGF0YT4+ID0ge1xuICBtZWRpY2FsU2VydmljZTogTUVESUNBTF9TRVJWSUNFX1NUQVRVU19NRVRBREFUQSxcbiAgYWNjb3VudExvY2F0aW9uOiBBQ0NPVU5UX0xPQ0FUSU9OX1NUQVRVU19NRVRBREFUQSxcbiAgbWVkaWNhbEhpc3Rvcnk6IE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEEsXG4gIHllc05vOiBCT09MRUFOX01FVEFEQVRBX1JFR0lTVFJZLnllc05vLFxuICBhY3RpdmVJbmFjdGl2ZTogQk9PTEVBTl9NRVRBREFUQV9SRUdJU1RSWS5hY3RpdmVJbmFjdGl2ZSxcbiAgZW5hYmxlZERpc2FibGVkOiBCT09MRUFOX01FVEFEQVRBX1JFR0lTVFJZLmVuYWJsZWREaXNhYmxlZCxcbiAgdmFsaWRJbnZhbGlkOiBCT09MRUFOX01FVEFEQVRBX1JFR0lTVFJZLnZhbGlkSW52YWxpZCxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZSAoZS5nLiwgJ21lZGljYWxTZXJ2aWNlJywgJ2FjY291bnRMb2NhdGlvbicpXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGNvbXBsZXRlIFN0YXR1c01ldGFkYXRhIGZvciB0aGUgZ2l2ZW4gZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAdGhyb3dzIEVycm9yIGlmIGZlYXR1cmUgb3Igc3RhdHVzIGlzIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbiAgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdLFxuKTogU3RhdHVzTWV0YWRhdGEge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cblxuICBjb25zdCBtZXRhZGF0YSA9IHJlZ2lzdHJ5W3N0YXR1c107XG4gIGlmICghbWV0YWRhdGEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc3RhdHVzIGZvciBmZWF0dXJlICR7ZmVhdHVyZX06ICR7c3RhdHVzfWApO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBNYXRlcmlhbCBpY29uIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb25Gb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBULCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cykuaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGhleCBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvckZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSwgc3RhdHVzKS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGUgKGRlZmF1bHQ6ICd1cy1FTicpXG4gKiBAcGFyYW0gZm9ybWF0IC0gTGFiZWwgZm9ybWF0OiAnc2hvcnQnIG9yICdsb25nJyAoZGVmYXVsdDogJ3Nob3J0JylcbiAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGVkIGxhYmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNMYWJlbEZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG4gIHJldHVybiBtZXRhZGF0YS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlIChkZWZhdWx0OiAndXMtRU4nKVxuICogQHJldHVybnMgVGhlIHRyYW5zbGF0ZWQgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpLmRlc2NyaXB0aW9uW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IGFsbCBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBhbGwgc3RhdHVzZXMgYW5kIHRoZWlyIG1ldGFkYXRhIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT4ge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cbiAgcmV0dXJuIHJlZ2lzdHJ5IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT47XG59XG5cbi8qKlxuICogR2V0IGFsbCBzdGF0dXNlcyBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIEFycmF5IG9mIGFsbCBzdGF0dXMgdmFsdWVzIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzZXNGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBUKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3Qua2V5cyhtZXRhZGF0YSkgYXMgU3RhdHVzVHlwZU1hcFtUXVtdO1xufVxuXG4vKipcbiAqIEZpbHRlciBzdGF0dXNlcyBieSBjcml0ZXJpYVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gRnVuY3Rpb24gdG8gdGVzdCBlYWNoIHN0YXR1cyBtZXRhZGF0YVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgdGhhdCBtYXRjaCB0aGUgcHJlZGljYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHByZWRpY2F0ZTogKG1ldGFkYXRhOiBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdKSA9PiBib29sZWFuLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhtZXRhZGF0YSlcbiAgICAuZmlsdGVyKChbc3RhdHVzLCBtZXRhXSkgPT4gcHJlZGljYXRlKG1ldGEgYXMgU3RhdHVzTWV0YWRhdGEsIHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKSlcbiAgICAubWFwKChbc3RhdHVzXSkgPT4gc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xufVxuXG4vKipcbiAqIE1hcCBzdGF0dXNlcyB0byBhIHNwZWNpZmljIHZhbHVlIHVzaW5nIGEgdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSB0cmFuc2Zvcm0gLSBGdW5jdGlvbiB0byB0cmFuc2Zvcm0gZWFjaCBzdGF0dXMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBzdGF0dXNlcyBtYXBwZWQgdG8gdGhlIHRyYW5zZm9ybWVkIHZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWFwU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmUsIFU+KFxuICBmZWF0dXJlOiBULFxuICB0cmFuc2Zvcm06IChtZXRhZGF0YTogU3RhdHVzTWV0YWRhdGEsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSkgPT4gVSxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFU+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgcmVzdWx0W3N0YXR1c10gPSB0cmFuc2Zvcm0obWV0YSBhcyBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgcHJvcGVydGllc1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGVcbiAqIEByZXR1cm5zIEV4dGVuZGVkIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgbGFiZWxzIGFuZCBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkU3RhdHVzTWV0YWRhdGEgZXh0ZW5kcyBPbWl0PFN0YXR1c01ldGFkYXRhLCAnZGVzY3JpcHRpb24nPiB7XG4gIHNob3J0TGFiZWw6IHN0cmluZztcbiAgbG9uZ0xhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbmRlZFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogRXh0ZW5kZWRTdGF0dXNNZXRhZGF0YSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG5cbiAgcmV0dXJuIHtcbiAgICBpY29uOiBtZXRhZGF0YS5pY29uLFxuICAgIGNvbG9yOiBtZXRhZGF0YS5jb2xvcixcbiAgICBsYWJlbDogbWV0YWRhdGEubGFiZWwsXG4gICAgc2hvcnRMYWJlbDogbWV0YWRhdGEubGFiZWwuc2hvcnRbbG9jYWxlXSxcbiAgICBsb25nTGFiZWw6IG1ldGFkYXRhLmxhYmVsLmxvbmdbbG9jYWxlXSxcbiAgICBkZXNjcmlwdGlvbjogbWV0YWRhdGEuZGVzY3JpcHRpb25bbG9jYWxlXSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZWFyY2ggc3RhdHVzZXMgYnkgbGFiZWxcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHNlYXJjaFRlcm0gLSBUaGUgc2VhcmNoIHRlcm0gKGNhc2UtaW5zZW5zaXRpdmUpXG4gKiBAcGFyYW0gbG9jYWxlIC0gVGhlIGxhbmd1YWdlIGxvY2FsZVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgbWF0Y2hpbmcgdGhlIHNlYXJjaCB0ZXJtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbG93ZXJTZWFyY2ggPSBzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XG5cbiAgcmV0dXJuIGZpbHRlclN0YXR1c2VzQnlGZWF0dXJlKGZlYXR1cmUsIChtZXRhZGF0YSkgPT4ge1xuICAgIGNvbnN0IHNob3J0TGFiZWwgPSBtZXRhZGF0YS5sYWJlbC5zaG9ydFtsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbG9uZ0xhYmVsID0gbWV0YWRhdGEubGFiZWwubG9uZ1tsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBtZXRhZGF0YS5kZXNjcmlwdGlvbltsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gc2hvcnRMYWJlbC5pbmNsdWRlcyhsb3dlclNlYXJjaCkgfHwgbG9uZ0xhYmVsLmluY2x1ZGVzKGxvd2VyU2VhcmNoKSB8fCBkZXNjcmlwdGlvbi5pbmNsdWRlcyhsb3dlclNlYXJjaCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgbWV0YWRhdGEgZ3JvdXBlZCBieSBjb2xvclxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgY29sb3JzIG1hcHBlZCB0byBhcnJheXMgb2Ygc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwU3RhdHVzZXNCeUNvbG9yRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4pOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdKSB7XG4gICAgICBncm91cGVkW21ldGFUeXBlZC5jb2xvcl0gPSBbXTtcbiAgICB9XG4gICAgZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIGdyb3VwZWQgYnkgaWNvblxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgaWNvbnMgbWFwcGVkIHRvIGFycmF5cyBvZiBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBTdGF0dXNlc0J5SWNvbkZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQpOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuaWNvbl0pIHtcbiAgICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dID0gW107XG4gICAgfVxuICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBeURILGtFQWVDO0FBUUQsMERBRUM7QUFRRCw0REFFQztBQVVELDREQVFDO0FBU0Qsd0VBTUM7QUFPRCx3RUFRQztBQU9ELDREQUdDO0FBUUQsMERBUUM7QUFRRCxvREFZQztBQWVELGtGQWVDO0FBU0QsMERBY0M7QUFPRCx3RUFlQztBQU9ELHNFQWFDO0FBbFJELHFEQUE2RDtBQUM3RCx1RUFBNkU7QUFDN0UscUVBQTJFO0FBQzNFLHFFQUEyRTtBQTJCM0U7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUFtRTtJQUN4RixjQUFjLEVBQUUsd0RBQStCO0lBQy9DLGVBQWUsRUFBRSwwREFBZ0M7SUFDakQsY0FBYyxFQUFFLHdEQUErQjtJQUMvQyxLQUFLLEVBQUUsMENBQXlCLENBQUMsS0FBSztJQUN0QyxjQUFjLEVBQUUsMENBQXlCLENBQUMsY0FBYztJQUN4RCxlQUFlLEVBQUUsMENBQXlCLENBQUMsZUFBZTtJQUMxRCxZQUFZLEVBQUUsMENBQXlCLENBQUMsWUFBWTtDQUNyRCxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQ3pDLE9BQVUsRUFDVixNQUF3QjtJQUV4QixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDLENB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QUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdGF0dXMgdXRpbGl0aWVzIGZvciBleHRyYWN0aW5nIGFuZCBxdWVyeWluZyBzdGF0dXMgbWV0YWRhdGFcbiAqIFByb3ZpZGVzIGNvbW1vbiBmdW5jdGlvbnMgdG8gd29yayB3aXRoIHN0YXR1cyBjb25maWd1cmF0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgQm9vbGVhblN0YXR1cyB9IGZyb20gJy4vYm9vbGVhbi1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBBY2NvdW50TG9jYXRpb25TdGF0dXMgfSBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmltcG9ydCB0eXBlIHsgTWVkaWNhbEhpc3RvcnlTdGF0dXMgfSBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBNZWRpY2FsU2VydmljZVN0YXR1cyB9IGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhLCBMb2NhbGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEJPT0xFQU5fTUVUQURBVEFfUkVHSVNUUlkgfSBmcm9tICcuL2Jvb2xlYW4tc3RhdHVzJztcbmltcG9ydCB7IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9hY2NvdW50LWxvY2F0aW9uLXN0YXR1cyc7XG5pbXBvcnQgeyBNRURJQ0FMX0hJU1RPUllfU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9tZWRpY2FsLWhpc3Rvcnktc3RhdHVzJztcbmltcG9ydCB7IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEEgfSBmcm9tICcuL21lZGljYWwtc2VydmljZS1zdGF0dXMnO1xuXG4vKipcbiAqIEZlYXR1cmUgdHlwZSBmb3Igc3RhdHVzIHNlbGVjdGlvblxuICovXG5leHBvcnQgdHlwZSBTdGF0dXNGZWF0dXJlID1cbiAgfCAnbWVkaWNhbFNlcnZpY2UnXG4gIHwgJ2FjY291bnRMb2NhdGlvbidcbiAgfCAnbWVkaWNhbEhpc3RvcnknXG4gIHwgJ3llc05vJ1xuICB8ICdhY3RpdmVJbmFjdGl2ZSdcbiAgfCAnZW5hYmxlZERpc2FibGVkJ1xuICB8ICd2YWxpZEludmFsaWQnO1xuXG4vKipcbiAqIFN0YXR1cyB0eXBlIG1hcHBpbmcgZm9yIGVhY2ggZmVhdHVyZVxuICovXG5leHBvcnQgdHlwZSBTdGF0dXNUeXBlTWFwID0ge1xuICBtZWRpY2FsU2VydmljZTogTWVkaWNhbFNlcnZpY2VTdGF0dXM7XG4gIGFjY291bnRMb2NhdGlvbjogQWNjb3VudExvY2F0aW9uU3RhdHVzO1xuICBtZWRpY2FsSGlzdG9yeTogTWVkaWNhbEhpc3RvcnlTdGF0dXM7XG4gIHllc05vOiBCb29sZWFuU3RhdHVzO1xuICBhY3RpdmVJbmFjdGl2ZTogQm9vbGVhblN0YXR1cztcbiAgZW5hYmxlZERpc2FibGVkOiBCb29sZWFuU3RhdHVzO1xuICB2YWxpZEludmFsaWQ6IEJvb2xlYW5TdGF0dXM7XG59O1xuXG4vKipcbiAqIE1ldGFkYXRhIHJlZ2lzdHJ5IG1hcHBpbmcgZmVhdHVyZXMgdG8gdGhlaXIgc3RhdHVzIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmNvbnN0IE1FVEFEQVRBX1JFR0lTVFJZOiBSZWNvcmQ8U3RhdHVzRmVhdHVyZSwgUmVjb3JkPHN0cmluZyB8IG51bWJlciwgU3RhdHVzTWV0YWRhdGE+PiA9IHtcbiAgbWVkaWNhbFNlcnZpY2U6IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEEsXG4gIGFjY291bnRMb2NhdGlvbjogQUNDT1VOVF9MT0NBVElPTl9TVEFUVVNfTUVUQURBVEEsXG4gIG1lZGljYWxIaXN0b3J5OiBNRURJQ0FMX0hJU1RPUllfU1RBVFVTX01FVEFEQVRBLFxuICB5ZXNObzogQk9PTEVBTl9NRVRBREFUQV9SRUdJU1RSWS55ZXNObyxcbiAgYWN0aXZlSW5hY3RpdmU6IEJPT0xFQU5fTUVUQURBVEFfUkVHSVNUUlkuYWN0aXZlSW5hY3RpdmUsXG4gIGVuYWJsZWREaXNhYmxlZDogQk9PTEVBTl9NRVRBREFUQV9SRUdJU1RSWS5lbmFibGVkRGlzYWJsZWQsXG4gIHZhbGlkSW52YWxpZDogQk9PTEVBTl9NRVRBREFUQV9SRUdJU1RSWS52YWxpZEludmFsaWQsXG59O1xuXG4vKipcbiAqIEdldCBzdGF0dXMgbWV0YWRhdGEgZm9yIGEgc3BlY2lmaWMgZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWUgKGUuZy4sICdtZWRpY2FsU2VydmljZScsICdhY2NvdW50TG9jYXRpb24nKVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBjb21wbGV0ZSBTdGF0dXNNZXRhZGF0YSBmb3IgdGhlIGdpdmVuIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHRocm93cyBFcnJvciBpZiBmZWF0dXJlIG9yIHN0YXR1cyBpcyBub3QgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbik6IFN0YXR1c01ldGFkYXRhIHtcbiAgY29uc3QgcmVnaXN0cnkgPSBNRVRBREFUQV9SRUdJU1RSWVtmZWF0dXJlXTtcbiAgaWYgKCFyZWdpc3RyeSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzdGF0dXMgZmVhdHVyZTogJHtmZWF0dXJlfWApO1xuICB9XG5cbiAgY29uc3QgbWV0YWRhdGEgPSByZWdpc3RyeVtzdGF0dXNdO1xuICBpZiAoIW1ldGFkYXRhKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmb3IgZmVhdHVyZSAke2ZlYXR1cmV9OiAke3N0YXR1c31gKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGljb24gZm9yIGEgc3BlY2lmaWMgZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSBzdGF0dXMgLSBUaGUgc3RhdHVzIHZhbHVlXG4gKiBAcmV0dXJucyBUaGUgTWF0ZXJpYWwgaWNvbiBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNJY29uRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oZmVhdHVyZTogVCwgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpLmljb247XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBjb2xvciBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBoZXggY29sb3IgY29kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzQ29sb3JGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBULCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cykuY29sb3I7XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBsYWJlbCBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlIChkZWZhdWx0OiAndXMtRU4nKVxuICogQHBhcmFtIGZvcm1hdCAtIExhYmVsIGZvcm1hdDogJ3Nob3J0JyBvciAnbG9uZycgKGRlZmF1bHQ6ICdzaG9ydCcpXG4gKiBAcmV0dXJucyBUaGUgdHJhbnNsYXRlZCBsYWJlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWxGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbiAgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdLFxuICBsb2NhbGU6IExvY2FsZSA9ICd1cy1FTicsXG4gIGZvcm1hdDogJ3Nob3J0JyB8ICdsb25nJyA9ICdzaG9ydCcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBtZXRhZGF0YSA9IGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpO1xuICByZXR1cm4gbWV0YWRhdGEubGFiZWxbZm9ybWF0XVtsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgZGVzY3JpcHRpb24gZm9yIGEgc3BlY2lmaWMgZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSBzdGF0dXMgLSBUaGUgc3RhdHVzIHZhbHVlXG4gKiBAcGFyYW0gbG9jYWxlIC0gVGhlIGxhbmd1YWdlIGxvY2FsZSAoZGVmYXVsdDogJ3VzLUVOJylcbiAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGVkIGRlc2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNEZXNjcmlwdGlvbkZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbik6IHN0cmluZyB7XG4gIHJldHVybiBnZXRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSwgc3RhdHVzKS5kZXNjcmlwdGlvbltsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBhbGwgbWV0YWRhdGEgZm9yIGEgc3BlY2lmaWMgZmVhdHVyZVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgYWxsIHN0YXR1c2VzIGFuZCB0aGVpciBtZXRhZGF0YSBmb3IgdGhlIGZlYXR1cmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4pOiBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgU3RhdHVzTWV0YWRhdGE+IHtcbiAgY29uc3QgcmVnaXN0cnkgPSBNRVRBREFUQV9SRUdJU1RSWVtmZWF0dXJlXTtcbiAgaWYgKCFyZWdpc3RyeSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzdGF0dXMgZmVhdHVyZTogJHtmZWF0dXJlfWApO1xuICB9XG4gIHJldHVybiByZWdpc3RyeSBhcyBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgU3RhdHVzTWV0YWRhdGE+O1xufVxuXG4vKipcbiAqIEdldCBhbGwgc3RhdHVzZXMgZm9yIGEgc3BlY2lmaWMgZmVhdHVyZVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBBcnJheSBvZiBhbGwgc3RhdHVzIHZhbHVlcyBmb3IgdGhlIGZlYXR1cmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbFN0YXR1c2VzRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oZmVhdHVyZTogVCk6IFN0YXR1c1R5cGVNYXBbVF1bXSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICByZXR1cm4gT2JqZWN0LmtleXMobWV0YWRhdGEpIGFzIFN0YXR1c1R5cGVNYXBbVF1bXTtcbn1cblxuLyoqXG4gKiBGaWx0ZXIgc3RhdHVzZXMgYnkgY3JpdGVyaWFcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHByZWRpY2F0ZSAtIEZ1bmN0aW9uIHRvIHRlc3QgZWFjaCBzdGF0dXMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIEFycmF5IG9mIHN0YXR1c2VzIHRoYXQgbWF0Y2ggdGhlIHByZWRpY2F0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBwcmVkaWNhdGU6IChtZXRhZGF0YTogU3RhdHVzTWV0YWRhdGEsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSkgPT4gYm9vbGVhbixcbik6IFN0YXR1c1R5cGVNYXBbVF1bXSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpXG4gICAgLmZpbHRlcigoW3N0YXR1cywgbWV0YV0pID0+IHByZWRpY2F0ZShtZXRhIGFzIFN0YXR1c01ldGFkYXRhLCBzdGF0dXMgYXMgU3RhdHVzVHlwZU1hcFtUXSkpXG4gICAgLm1hcCgoW3N0YXR1c10pID0+IHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbn1cblxuLyoqXG4gKiBNYXAgc3RhdHVzZXMgdG8gYSBzcGVjaWZpYyB2YWx1ZSB1c2luZyBhIHRyYW5zZm9ybSBmdW5jdGlvblxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gdHJhbnNmb3JtIC0gRnVuY3Rpb24gdG8gdHJhbnNmb3JtIGVhY2ggc3RhdHVzIG1ldGFkYXRhXG4gKiBAcmV0dXJucyBSZWNvcmQgb2Ygc3RhdHVzZXMgbWFwcGVkIHRvIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFN0YXR1c2VzQnlGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlLCBVPihcbiAgZmVhdHVyZTogVCxcbiAgdHJhbnNmb3JtOiAobWV0YWRhdGE6IFN0YXR1c01ldGFkYXRhLCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pID0+IFUsXG4pOiBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgVT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IGdldEFsbFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlKTtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBVPiA9IHt9O1xuXG4gIE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhKS5mb3JFYWNoKChbc3RhdHVzLCBtZXRhXSkgPT4ge1xuICAgIHJlc3VsdFtzdGF0dXNdID0gdHJhbnNmb3JtKG1ldGEgYXMgU3RhdHVzTWV0YWRhdGEsIHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdCBhcyBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgVT47XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSB3aXRoIGNvbXB1dGVkIHByb3BlcnRpZXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlXG4gKiBAcmV0dXJucyBFeHRlbmRlZCBtZXRhZGF0YSB3aXRoIGNvbXB1dGVkIGxhYmVscyBhbmQgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFN0YXR1c01ldGFkYXRhIGV4dGVuZHMgT21pdDxTdGF0dXNNZXRhZGF0YSwgJ2Rlc2NyaXB0aW9uJz4ge1xuICBzaG9ydExhYmVsOiBzdHJpbmc7XG4gIGxvbmdMYWJlbDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5kZWRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbik6IEV4dGVuZGVkU3RhdHVzTWV0YWRhdGEge1xuICBjb25zdCBtZXRhZGF0YSA9IGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpO1xuXG4gIHJldHVybiB7XG4gICAgaWNvbjogbWV0YWRhdGEuaWNvbixcbiAgICBjb2xvcjogbWV0YWRhdGEuY29sb3IsXG4gICAgbGFiZWw6IG1ldGFkYXRhLmxhYmVsLFxuICAgIHNob3J0TGFiZWw6IG1ldGFkYXRhLmxhYmVsLnNob3J0W2xvY2FsZV0sXG4gICAgbG9uZ0xhYmVsOiBtZXRhZGF0YS5sYWJlbC5sb25nW2xvY2FsZV0sXG4gICAgZGVzY3JpcHRpb246IG1ldGFkYXRhLmRlc2NyaXB0aW9uW2xvY2FsZV0sXG4gIH07XG59XG5cbi8qKlxuICogU2VhcmNoIHN0YXR1c2VzIGJ5IGxhYmVsXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSBzZWFyY2hUZXJtIC0gVGhlIHNlYXJjaCB0ZXJtIChjYXNlLWluc2Vuc2l0aXZlKVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGVcbiAqIEByZXR1cm5zIEFycmF5IG9mIHN0YXR1c2VzIG1hdGNoaW5nIHRoZSBzZWFyY2ggdGVybVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzZWFyY2hUZXJtOiBzdHJpbmcsXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbik6IFN0YXR1c1R5cGVNYXBbVF1bXSB7XG4gIGNvbnN0IGxvd2VyU2VhcmNoID0gc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpO1xuXG4gIHJldHVybiBmaWx0ZXJTdGF0dXNlc0J5RmVhdHVyZShmZWF0dXJlLCAobWV0YWRhdGEpID0+IHtcbiAgICBjb25zdCBzaG9ydExhYmVsID0gbWV0YWRhdGEubGFiZWwuc2hvcnRbbG9jYWxlXS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGxvbmdMYWJlbCA9IG1ldGFkYXRhLmxhYmVsLmxvbmdbbG9jYWxlXS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gbWV0YWRhdGEuZGVzY3JpcHRpb25bbG9jYWxlXS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIHNob3J0TGFiZWwuaW5jbHVkZXMobG93ZXJTZWFyY2gpIHx8IGxvbmdMYWJlbC5pbmNsdWRlcyhsb3dlclNlYXJjaCkgfHwgZGVzY3JpcHRpb24uaW5jbHVkZXMobG93ZXJTZWFyY2gpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIGdyb3VwZWQgYnkgY29sb3JcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHJldHVybnMgUmVjb3JkIG9mIGNvbG9ycyBtYXBwZWQgdG8gYXJyYXlzIG9mIHN0YXR1c2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncm91cFN0YXR1c2VzQnlDb2xvckZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuKTogUmVjb3JkPHN0cmluZywgU3RhdHVzVHlwZU1hcFtUXVtdPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgY29uc3QgbWV0YVR5cGVkID0gbWV0YSBhcyBTdGF0dXNNZXRhZGF0YTtcbiAgICBpZiAoIWdyb3VwZWRbbWV0YVR5cGVkLmNvbG9yXSkge1xuICAgICAgZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdID0gW107XG4gICAgfVxuICAgIGdyb3VwZWRbbWV0YVR5cGVkLmNvbG9yXS5wdXNoKHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGdyb3VwZWQ7XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSBncm91cGVkIGJ5IGljb25cbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHJldHVybnMgUmVjb3JkIG9mIGljb25zIG1hcHBlZCB0byBhcnJheXMgb2Ygc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwU3RhdHVzZXNCeUljb25Gb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBUKTogUmVjb3JkPHN0cmluZywgU3RhdHVzVHlwZU1hcFtUXVtdPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgY29uc3QgbWV0YVR5cGVkID0gbWV0YSBhcyBTdGF0dXNNZXRhZGF0YTtcbiAgICBpZiAoIWdyb3VwZWRbbWV0YVR5cGVkLmljb25dKSB7XG4gICAgICBncm91cGVkW21ldGFUeXBlZC5pY29uXSA9IFtdO1xuICAgIH1cbiAgICBncm91cGVkW21ldGFUeXBlZC5pY29uXS5wdXNoKHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGdyb3VwZWQ7XG59XG4iXX0=
|