valtech-components 4.0.22 → 4.0.24

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.
Files changed (28) hide show
  1. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +3 -3
  2. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +3 -3
  3. package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.component.mjs +14 -9
  4. package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.component.mjs +14 -9
  5. package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
  6. package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +15 -3
  7. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +15 -3
  8. package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +15 -3
  9. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +19 -1
  10. package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +16 -6
  11. package/esm2022/lib/services/app-version/app-version.service.mjs +69 -44
  12. package/esm2022/lib/services/app-version/config.mjs +61 -19
  13. package/esm2022/lib/services/app-version/index.mjs +2 -2
  14. package/esm2022/lib/services/app-version/types.mjs +1 -1
  15. package/esm2022/lib/services/org/types.mjs +1 -1
  16. package/esm2022/lib/version.mjs +2 -2
  17. package/fesm2022/valtech-components.mjs +230 -92
  18. package/fesm2022/valtech-components.mjs.map +1 -1
  19. package/lib/components/organisms/article/article.component.d.ts +2 -2
  20. package/lib/components/organisms/landing-steps/landing-steps.component.d.ts +1 -1
  21. package/lib/components/organisms/organization-view/organization-view.component.d.ts +1 -0
  22. package/lib/services/app-version/app-version.service.d.ts +15 -8
  23. package/lib/services/app-version/config.d.ts +30 -16
  24. package/lib/services/app-version/index.d.ts +1 -1
  25. package/lib/services/app-version/types.d.ts +34 -0
  26. package/lib/services/org/types.d.ts +2 -0
  27. package/lib/version.d.ts +1 -1
  28. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * AppVersionService
3
3
  *
4
- * Verificación de versión de la app para PWA / web.
4
+ * Verificación de versión de la app para PWA / web / Capacitor.
5
5
  *
6
- * Unifica dos señales para detectar actualizaciones:
6
+ * Unifica tres señales para detectar actualizaciones:
7
7
  *
8
8
  * 1. `SwUpdate` (`@angular/service-worker`) — el evento `VERSION_READY` indica
9
9
  * que un bundle nuevo fue descargado y está listo para activarse. Solo está
@@ -15,9 +15,12 @@
15
15
  * (última versión publicada) y `minVersion` (versión mínima soportada).
16
16
  * Se usa para la política de actualización obligatoria (hard gate).
17
17
  *
18
- * Ambas dependencias se inyectan como opcionales: el servicio degrada con
19
- * gracia si el SW no está habilitado (dev mode) o si `AppConfigService` no
20
- * está wireado en la app.
18
+ * 3. `AppVersionRemotePlugin` (HTTP) alternativa a AppConfigService para apps
19
+ * sin Firebase. Provisto via `provideValtechAppVersionHttp`. Expone el mismo
20
+ * contrato (`version` / `minVersion`). Se chequea en los mismos intervalos
21
+ * que el SW.
22
+ *
23
+ * Las tres dependencias se inyectan como opcionales.
21
24
  */
22
25
  import { DOCUMENT } from '@angular/common';
23
26
  import { DestroyRef, Injectable, computed, inject, signal } from '@angular/core';
@@ -25,8 +28,8 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
25
28
  import { SwUpdate } from '@angular/service-worker';
26
29
  import { filter, interval } from 'rxjs';
27
30
  import { AppConfigService } from '../app-config/app-config.service';
28
- import { APP_VERSION_PLATFORM_PLUGIN, VALTECH_APP_VERSION } from './config';
29
- import { DEFAULT_APP_VERSION_SERVICE_CONFIG } from './types';
31
+ import { APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, VALTECH_APP_VERSION } from './config';
32
+ import { DEFAULT_APP_VERSION_SERVICE_CONFIG, } from './types';
30
33
  import * as i0 from "@angular/core";
31
34
  /**
32
35
  * Compara dos versiones semver. Retorna true si `a` es estrictamente menor
@@ -52,15 +55,17 @@ export class AppVersionService {
52
55
  this.swUpdate = inject(SwUpdate, { optional: true });
53
56
  /** AppConfigService es opcional: la app puede no wirearlo. */
54
57
  this.appConfig = inject(AppConfigService, { optional: true });
55
- this.serviceConfig = inject(VALTECH_APP_VERSION, {
56
- optional: true,
57
- });
58
+ this.serviceConfig = inject(VALTECH_APP_VERSION, { optional: true });
58
59
  /** Plugin nativo opcional: provisto por apps Capacitor para Play Store / App Store. */
59
60
  this.platformPlugin = inject(APP_VERSION_PLATFORM_PLUGIN, { optional: true });
61
+ /** Plugin HTTP opcional: alternativa a AppConfigService para apps sin Firebase. */
62
+ this.remotePlugin = inject(APP_VERSION_REMOTE_PLUGIN, { optional: true });
60
63
  this.document = inject(DOCUMENT);
61
64
  this.destroyRef = inject(DestroyRef);
62
65
  /** True cuando el SW reportó un bundle nuevo listo (`VERSION_READY`). */
63
66
  this.swUpdateReady = signal(false);
67
+ /** Config remota cargada por el plugin HTTP. Null hasta que carga o si no hay plugin. */
68
+ this.remoteConfig = signal(null);
64
69
  /**
65
70
  * True cuando el usuario descartó el banner de actualización opcional.
66
71
  * El banner obligatorio (`update-required`) ignora este flag.
@@ -76,33 +81,36 @@ export class AppVersionService {
76
81
  */
77
82
  this.currentVersion = computed(() => this.serviceConfig?.currentVersion ?? '0.0.0');
78
83
  /**
79
- * Última versión publicada según el config remoto.
80
- * `null` si `AppConfigService` no está disponible o aún no cargó.
84
+ * Última versión publicada según el config remoto (AppConfigService o plugin HTTP).
85
+ * `null` si ninguna fuente está disponible o aún no cargó.
81
86
  */
82
- this.latestVersion = computed(() => this.appConfig?.remoteVersion() ?? null);
87
+ this.latestVersion = computed(() => this.appConfig?.remoteVersion() ?? this.remoteConfig()?.version ?? null);
83
88
  /**
84
89
  * Estado de la versión:
85
- * - `update-required` — la versión local quedó por debajo de `minVersion`
86
- * del config remoto. Hard gate. Solo si `AppConfigService` tiene datos.
87
- * - `update-available` — el SW descargó un bundle nuevo (`VERSION_READY`)
88
- * o `AppConfigService.hasUpdate` es true.
90
+ * - `update-required` — la versión local quedó por debajo de `minVersion`. Hard gate.
91
+ * - `update-available` SW bundle listo, AppConfigService o plugin HTTP detectaron versión nueva.
89
92
  * - `up-to-date` — en cualquier otro caso.
90
93
  */
91
94
  this.status = computed(() => {
92
- // 1. Hard gate — minVersion del config remoto.
93
- if (this.appConfig) {
94
- const minVersion = this.appConfig.appConfig()?.minVersion;
95
- if (minVersion && isVersionLower(this.currentVersion(), minVersion)) {
96
- return 'update-required';
97
- }
95
+ // 1. Hard gate — minVersion de AppConfigService o del plugin HTTP.
96
+ const minVersion = this.appConfig?.appConfig()?.minVersion ?? this.remoteConfig()?.minVersion;
97
+ if (minVersion && isVersionLower(this.currentVersion(), minVersion)) {
98
+ return 'update-required';
98
99
  }
99
- // 2. Update opcional — SW bundle listo o config remoto más nuevo.
100
- if (this.swUpdateReady() || this.appConfig?.hasUpdate()) {
100
+ // 2. Update opcional — SW bundle listo, AppConfig, o plugin HTTP más nuevo.
101
+ const remoteLatest = this.remoteConfig()?.version;
102
+ const hasRemoteUpdate = remoteLatest
103
+ ? isVersionLower(this.currentVersion(), remoteLatest)
104
+ : false;
105
+ if (this.swUpdateReady() || this.appConfig?.hasUpdate() || hasRemoteUpdate) {
101
106
  return 'update-available';
102
107
  }
103
108
  return 'up-to-date';
104
109
  });
105
110
  this.wireServiceWorker();
111
+ if (this.remotePlugin) {
112
+ this.wireRemotePlugin();
113
+ }
106
114
  }
107
115
  // ===========================================================================
108
116
  // MÉTODOS PÚBLICOS
@@ -138,18 +146,15 @@ export class AppVersionService {
138
146
  this._dismissed.set(true);
139
147
  }
140
148
  /**
141
- * Fuerza un chequeo de actualización del service worker.
142
- * No-op si el SW no está habilitado.
149
+ * Fuerza un chequeo: SW + plugin HTTP (si existe).
143
150
  */
144
151
  async checkNow() {
145
- if (!this.swUpdate?.isEnabled)
146
- return;
147
- try {
148
- await this.swUpdate.checkForUpdate();
149
- }
150
- catch (err) {
151
- console.warn('[AppVersionService] checkForUpdate failed:', err);
152
- }
152
+ await Promise.all([
153
+ this.swUpdate?.isEnabled
154
+ ? this.swUpdate.checkForUpdate().catch(err => console.warn('[AppVersionService] checkForUpdate failed:', err))
155
+ : undefined,
156
+ this.remotePlugin ? this.loadRemoteConfig() : undefined,
157
+ ]);
153
158
  }
154
159
  // ===========================================================================
155
160
  // PRIVADO
@@ -174,24 +179,44 @@ export class AppVersionService {
174
179
  console.error('[AppVersionService] SW unrecoverable — reloading:', event.reason);
175
180
  this.document.defaultView?.location.reload();
176
181
  });
177
- // Chequeo periódico.
178
182
  const intervalMs = this.serviceConfig?.checkIntervalMs ?? DEFAULT_APP_VERSION_SERVICE_CONFIG.checkIntervalMs;
179
183
  interval(intervalMs)
180
184
  .pipe(takeUntilDestroyed(this.destroyRef))
181
185
  .subscribe(() => void this.checkNow());
182
- // Chequeo al volver la app a foreground.
183
186
  const onVisible = () => {
184
- if (this.document.visibilityState === 'visible') {
187
+ if (this.document.visibilityState === 'visible')
185
188
  void this.checkNow();
186
- }
187
189
  };
188
190
  this.document.addEventListener('visibilitychange', onVisible);
189
- this.destroyRef.onDestroy(() => {
190
- this.document.removeEventListener('visibilitychange', onVisible);
191
- });
192
- // Chequeo inicial.
191
+ this.destroyRef.onDestroy(() => this.document.removeEventListener('visibilitychange', onVisible));
193
192
  void this.checkNow();
194
193
  }
194
+ /**
195
+ * Carga config remota via plugin HTTP al inicio, en foreground y en el intervalo periódico.
196
+ * Solo se llama si `remotePlugin` está provisto.
197
+ */
198
+ wireRemotePlugin() {
199
+ void this.loadRemoteConfig();
200
+ const intervalMs = this.serviceConfig?.checkIntervalMs ?? DEFAULT_APP_VERSION_SERVICE_CONFIG.checkIntervalMs;
201
+ interval(intervalMs)
202
+ .pipe(takeUntilDestroyed(this.destroyRef))
203
+ .subscribe(() => void this.loadRemoteConfig());
204
+ const onVisible = () => {
205
+ if (this.document.visibilityState === 'visible')
206
+ void this.loadRemoteConfig();
207
+ };
208
+ this.document.addEventListener('visibilitychange', onVisible);
209
+ this.destroyRef.onDestroy(() => this.document.removeEventListener('visibilitychange', onVisible));
210
+ }
211
+ async loadRemoteConfig() {
212
+ try {
213
+ const config = await this.remotePlugin.getRemoteConfig();
214
+ this.remoteConfig.set(config);
215
+ }
216
+ catch (err) {
217
+ console.warn('[AppVersionService] remote config fetch failed:', err);
218
+ }
219
+ }
195
220
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
196
221
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppVersionService, providedIn: 'root' }); }
197
222
  }
@@ -199,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
199
224
  type: Injectable,
200
225
  args: [{ providedIn: 'root' }]
201
226
  }], ctorParameters: () => [] });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBwLXZlcnNpb24vYXBwLXZlcnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQVUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQThDLGtDQUFrQyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV6Rzs7O0dBR0c7QUFDSCxTQUFTLGNBQWMsQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUMxQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMs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QUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxtQkFBbUI7UUFDbkIsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0E3S1UsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FESixNQUFNOzs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXBwVmVyc2lvblNlcnZpY2VcbiAqXG4gKiBWZXJpZmljYWNpw7NuIGRlIHZlcnNpw7NuIGRlIGxhIGFwcCBwYXJhIFBXQSAvIHdlYi5cbiAqXG4gKiBVbmlmaWNhIGRvcyBzZcOxYWxlcyBwYXJhIGRldGVjdGFyIGFjdHVhbGl6YWNpb25lczpcbiAqXG4gKiAxLiBgU3dVcGRhdGVgIChgQGFuZ3VsYXIvc2VydmljZS13b3JrZXJgKSDigJQgZWwgZXZlbnRvIGBWRVJTSU9OX1JFQURZYCBpbmRpY2FcbiAqICAgIHF1ZSB1biBidW5kbGUgbnVldm8gZnVlIGRlc2NhcmdhZG8geSBlc3TDoSBsaXN0byBwYXJhIGFjdGl2YXJzZS4gU29sbyBlc3TDoVxuICogICAgZGlzcG9uaWJsZSBjdWFuZG8gZWwgc2VydmljZSB3b3JrZXIgZXN0w6EgcmVnaXN0cmFkbyAoYnVpbGQgZGUgcHJvZHVjY2nDs24pLlxuICogICAgQWRlbcOhcyBzZSBjaGVxdWVhIHByb2FjdGl2YW1lbnRlIGNhZGEgYGNoZWNrSW50ZXJ2YWxNc2AgeSBjYWRhIHZleiBxdWUgbGFcbiAqICAgIGFwcCB2dWVsdmUgYSBmb3JlZ3JvdW5kIChgdmlzaWJpbGl0eWNoYW5nZWApLlxuICpcbiAqIDIuIGBBcHBDb25maWdTZXJ2aWNlYCAoY29uZmlnIHJlbW90byBlbiBGaXJlc3RvcmUpIOKAlCBleHBvbmUgYHZlcnNpb25gXG4gKiAgICAow7psdGltYSB2ZXJzacOzbiBwdWJsaWNhZGEpIHkgYG1pblZlcnNpb25gICh2ZXJzacOzbiBtw61uaW1hIHNvcG9ydGFkYSkuXG4gKiAgICBTZSB1c2EgcGFyYSBsYSBwb2zDrXRpY2EgZGUgYWN0dWFsaXphY2nDs24gb2JsaWdhdG9yaWEgKGhhcmQgZ2F0ZSkuXG4gKlxuICogQW1iYXMgZGVwZW5kZW5jaWFzIHNlIGlueWVjdGFuIGNvbW8gb3BjaW9uYWxlczogZWwgc2VydmljaW8gZGVncmFkYSBjb25cbiAqIGdyYWNpYSBzaSBlbCBTVyBubyBlc3TDoSBoYWJpbGl0YWRvIChkZXYgbW9kZSkgbyBzaSBgQXBwQ29uZmlnU2VydmljZWAgbm9cbiAqIGVzdMOhIHdpcmVhZG8gZW4gbGEgYXBwLlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdGFibGUsIFNpZ25hbCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBTd1VwZGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3NlcnZpY2Utd29ya2VyJztcbmltcG9ydCB7IGZpbHRlciwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2FwcC1jb25maWcvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEFQUF9WRVJTSU9OX1BMQVRGT1JNX1BMVUdJTiwgVkFMVEVDSF9BUFBfVkVSU0lPTiB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IEFwcFZlcnNpb25QbGF0Zm9ybVBsdWdpbiwgQXBwVmVyc2lvblN0YXR1cywgREVGQVVMVF9BUFBfVkVSU0lPTl9TRVJWSUNFX0NPTkZJRyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIENvbXBhcmEgZG9zIHZlcnNpb25lcyBzZW12ZXIuIFJldG9ybmEgdHJ1ZSBzaSBgYWAgZXMgZXN0cmljdGFtZW50ZSBtZW5vclxuICogcXVlIGBiYC4gVG9sZXJhbnRlIGEgbG9uZ2l0dWRlcyBkaXN0aW50YXMgeSBhIHBhcnRlcyBubyBudW3DqXJpY2FzLlxuICovXG5mdW5jdGlvbiBpc1ZlcnNpb25Mb3dlcihhOiBzdHJpbmcsIGI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYSA9IGEuc3BsaXQoJy4nKS5tYXAobiA9PiBOdW1iZXIobikgfHwgMCk7XG4gIGNvbnN0IHBiID0gYi5zcGxpdCgnLicpLm1hcChuID0+IE51bWJlcihuKSB8fCAwKTtcbiAgY29uc3QgbGVuID0gTWF0aC5tYXgocGEubGVuZ3RoLCBwYi5sZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCB4ID0gcGFbaV0gfHwgMDtcbiAgICBjb25zdCB5ID0gcGJbaV0gfHwgMDtcbiAgICBpZiAoeCA8IHkpIHJldHVybiB0cnVlO1xuICAgIGlmICh4ID4geSkgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFwcFZlcnNpb25TZXJ2aWNlIHtcbiAgLyoqIFN3VXBkYXRlIHNvbG8gZXhpc3RlIHNpIGVsIFNXIGVzdMOhIHJlZ2lzdHJhZG8gKHByb2QgYnVpbGQpLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHN3VXBkYXRlID0gaW5qZWN0KFN3VXBkYXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAvKiogQXBwQ29uZmlnU2VydmljZSBlcyBvcGNpb25hbDogbGEgYXBwIHB1ZWRlIG5vIHdpcmVhcmxvLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZyA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VDb25maWcgPSBpbmplY3QoVkFMVEVDSF9BUFBfVkVSU0lPTiwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcbiAgLyoqIFBsdWdpbiBuYXRpdm8gb3BjaW9uYWw6IHByb3Zpc3RvIHBvciBhcHBzIENhcGFjaXRvciBwYXJhIFBsYXkgU3RvcmUgLyBBcHAgU3RvcmUuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1QbHVnaW4gPSBpbmplY3Q8QXBwVmVyc2lvblBsYXRmb3JtUGx1Z2luPihcbiAgICBBUFBfVkVSU0lPTl9QTEFURk9STV9QTFVHSU4sXG4gICAgeyBvcHRpb25hbDogdHJ1ZSB9XG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgLyoqIFRydWUgY3VhbmRvIGVsIFNXIHJlcG9ydMOzIHVuIGJ1bmRsZSBudWV2byBsaXN0byAoYFZFUlNJT05fUkVBRFlgKS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzd1VwZGF0ZVJlYWR5ID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKipcbiAgICogVHJ1ZSBjdWFuZG8gZWwgdXN1YXJpbyBkZXNjYXJ0w7MgZWwgYmFubmVyIGRlIGFjdHVhbGl6YWNpw7NuIG9wY2lvbmFsLlxuICAgKiBFbCBiYW5uZXIgb2JsaWdhdG9yaW8gKGB1cGRhdGUtcmVxdWlyZWRgKSBpZ25vcmEgZXN0ZSBmbGFnLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzbWlzc2VkID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgZGlzbWlzc2VkOiBTaWduYWw8Ym9vbGVhbj4gPSB0aGlzLl9kaXNtaXNzZWQuYXNSZWFkb25seSgpO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTSUdOQUxTIFDDmkJMSUNPU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogVmVyc2nDs24gbG9jYWwgZGVsIGJ1aWxkIGFjdHVhbCBkZSBsYSBhcHAuXG4gICAqIFByb3ZpZW5lIGRlbCBwcm92aWRlciBgcHJvdmlkZVZhbHRlY2hBcHBWZXJzaW9uKHsgY3VycmVudFZlcnNpb24gfSlgLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudFZlcnNpb246IFNpZ25hbDxzdHJpbmc+ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5zZXJ2aWNlQ29uZmlnPy5jdXJyZW50VmVyc2lvbiA/PyAnMC4wLjAnXG4gICk7XG5cbiAgLyoqXG4gICAqIMOabHRpbWEgdmVyc2nDs24gcHVibGljYWRhIHNlZ8O6biBlbCBjb25maWcgcmVtb3RvLlxuICAgKiBgbnVsbGAgc2kgYEFwcENvbmZpZ1NlcnZpY2VgIG5vIGVzdMOhIGRpc3BvbmlibGUgbyBhw7puIG5vIGNhcmfDsy5cbiAgICovXG4gIHJlYWRvbmx5IGxhdGVzdFZlcnNpb246IFNpZ25hbDxzdHJpbmcgfCBudWxsPiA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuYXBwQ29uZmlnPy5yZW1vdGVWZXJzaW9uKCkgPz8gbnVsbFxuICApO1xuXG4gIC8qKlxuICAgKiBFc3RhZG8gZGUgbGEgdmVyc2nDs246XG4gICAqIC0gYHVwZGF0ZS1yZXF1aXJlZGAg4oCUIGxhIHZlcnNpw7NuIGxvY2FsIHF1ZWTDsyBwb3IgZGViYWpvIGRlIGBtaW5WZXJzaW9uYFxuICAgKiAgIGRlbCBjb25maWcgcmVtb3RvLiBIYXJkIGdhdGUuIFNvbG8gc2kgYEFwcENvbmZpZ1NlcnZpY2VgIHRpZW5lIGRhdG9zLlxuICAgKiAtIGB1cGRhdGUtYXZhaWxhYmxlYCDigJQgZWwgU1cgZGVzY2FyZ8OzIHVuIGJ1bmRsZSBudWV2byAoYFZFUlNJT05fUkVBRFlgKVxuICAgKiAgIG8gYEFwcENvbmZpZ1NlcnZpY2UuaGFzVXBkYXRlYCBlcyB0cnVlLlxuICAgKiAtIGB1cC10by1kYXRlYCDigJQgZW4gY3VhbHF1aWVyIG90cm8gY2Fzby5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1czogU2lnbmFsPEFwcFZlcnNpb25TdGF0dXM+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIC8vIDEuIEhhcmQgZ2F0ZSDigJQgbWluVmVyc2lvbiBkZWwgY29uZmlnIHJlbW90by5cbiAgICBpZiAodGhpcy5hcHBDb25maWcpIHtcbiAgICAgIGNvbnN0IG1pblZlcnNpb24gPSB0aGlzLmFwcENvbmZpZy5hcHBDb25maWcoKT8ubWluVmVyc2lvbjtcbiAgICAgIGlmIChtaW5WZXJzaW9uICYmIGlzVmVyc2lvbkxvd2VyKHRoaXMuY3VycmVudFZlcnNpb24oKSwgbWluVmVyc2lvbikpIHtcbiAgICAgICAgcmV0dXJuICd1cGRhdGUtcmVxdWlyZWQnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuIFVwZGF0ZSBvcGNpb25hbCDigJQgU1cgYnVuZGxlIGxpc3RvIG8gY29uZmlnIHJlbW90byBtw6FzIG51ZXZvLlxuICAgIGlmICh0aGlzLnN3VXBkYXRlUmVhZHkoKSB8fCB0aGlzLmFwcENvbmZpZz8uaGFzVXBkYXRlKCkpIHtcbiAgICAgIHJldHVybiAndXBkYXRlLWF2YWlsYWJsZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuICd1cC10by1kYXRlJztcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy53aXJlU2VydmljZVdvcmtlcigpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIE3DiVRPRE9TIFDDmkJMSUNPU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogQXBsaWNhIGxhIGFjdHVhbGl6YWNpw7NuIHBlbmRpZW50ZS5cbiAgICpcbiAgICogU2kgaGF5IHVuIHBsdWdpbiBkZSBwbGF0YWZvcm1hIChuYXRpdm8vQ2FwYWNpdG9yKSwgZGVsZWdhIGVuIMOpbCAoZWouIFBsYXkgU3RvcmUpLlxuICAgKiBTaSBubywgYWN0aXZhIGxhIHZlcnNpw7NuIFNXIHNpIGVzdMOhIGRpc3BvbmlibGUgeSByZWNhcmdhIGxhIHDDoWdpbmEuXG4gICAqL1xuICBhc3luYyBhcHBseVVwZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5wbGF0Zm9ybVBsdWdpbikge1xuICAgICAgYXdhaXQgdGhpcy5wbGF0Zm9ybVBsdWdpbi5hcHBseVVwZGF0ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5zd1VwZGF0ZT8uaXNFbmFibGVkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc3dVcGRhdGUuYWN0aXZhdGVVcGRhdGUoKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUud2FybignW0FwcFZlcnNpb25TZXJ2aWNlXSBhY3RpdmF0ZVVwZGF0ZSBmYWlsZWQ6JywgZXJyKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc2NhcnRhIGVsIGJhbm5lciBkZSBhY3R1YWxpemFjacOzbiBvcGNpb25hbC5cbiAgICogTm8gdGllbmUgZWZlY3RvIHNvYnJlIGVsIGVzdGFkbyBgdXBkYXRlLXJlcXVpcmVkYCAoaGFyZCBnYXRlKS5cbiAgICovXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzbWlzc2VkLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdWVyemEgdW4gY2hlcXVlbyBkZSBhY3R1YWxpemFjacOzbiBkZWwgc2VydmljZSB3b3JrZXIuXG4gICAqIE5vLW9wIHNpIGVsIFNXIG5vIGVzdMOhIGhhYmlsaXRhZG8uXG4gICAqL1xuICBhc3luYyBjaGVja05vdygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuc3dVcGRhdGU/LmlzRW5hYmxlZCkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnN3VXBkYXRlLmNoZWNrRm9yVXBkYXRlKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tBcHBWZXJzaW9uU2VydmljZV0gY2hlY2tGb3JVcGRhdGUgZmFpbGVkOicsIGVycik7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBSSVZBRE9cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFN1c2NyaWJlIGB2ZXJzaW9uVXBkYXRlc2AsIHByb2dyYW1hIGNoZXF1ZW9zIHBlcmnDs2RpY29zIHkgcmVhY2Npb25hIGFsXG4gICAqIHZvbHZlciBsYSBhcHAgYSBmb3JlZ3JvdW5kLiBTb2xvIGFjdMO6YSBzaSBlbCBTVyBlc3TDoSBoYWJpbGl0YWRvLlxuICAgKi9cbiAgcHJpdmF0ZSB3aXJlU2VydmljZVdvcmtlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3dVcGRhdGU/LmlzRW5hYmxlZCkgcmV0dXJuO1xuXG4gICAgLy8gQnVuZGxlIG51ZXZvIGRlc2NhcmdhZG8geSBsaXN0by5cbiAgICB0aGlzLnN3VXBkYXRlLnZlcnNpb25VcGRhdGVzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2dCA9PiBldnQudHlwZSA9PT0gJ1ZFUlNJT05fUkVBRFknKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zd1VwZGF0ZVJlYWR5LnNldCh0cnVlKSk7XG5cbiAgICAvLyBTVyBlbiBlc3RhZG8gaXJyZWN1cGVyYWJsZSDigJQgbGEgY2FjaMOpIGRlbCBzZXJ2aWNlIHdvcmtlciBzZSBjb3Jyb21wacOzIG9cbiAgICAvLyBmdWUgcGFyY2lhbG1lbnRlIGV2aWN0YWRhIChjb23Dum4gZW4gUFdBcyBzdGFuZGFsb25lIGRlIGlPUyB0cmFzIGRlcGxveXNcbiAgICAvLyByZXBldGlkb3MpLiBMYSBhcHAgbm8gcHVlZGUgY2FyZ2FyIHN1cyBhc3NldHMg4oaSIHBhbnRhbGxhIGVuIGJsYW5jby5cbiAgICAvLyBSZWN1cGVyYWNpw7NuIHJlY29tZW5kYWRhIHBvciBBbmd1bGFyOiByZWNhcmdhciBwYXJhIHRyYWVyIHRvZG8gZnJlc2NvXG4gICAgLy8gZGVzZGUgbGEgcmVkLlxuICAgIHRoaXMuc3dVcGRhdGUudW5yZWNvdmVyYWJsZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignW0FwcFZlcnNpb25TZXJ2aWNlXSBTVyB1bnJlY292ZXJhYmxlIOKAlCByZWxvYWRpbmc6JywgZXZlbnQucmVhc29uKTtcbiAgICAgIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc/LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH0pO1xuXG4gICAgLy8gQ2hlcXVlbyBwZXJpw7NkaWNvLlxuICAgIGNvbnN0IGludGVydmFsTXMgPVxuICAgICAgdGhpcy5zZXJ2aWNlQ29uZmlnPy5jaGVja0ludGVydmFsTXMgPz8gREVGQVVMVF9BUFBfVkVSU0lPTl9TRVJWSUNFX0NPTkZJRy5jaGVja0ludGVydmFsTXM7XG5cbiAgICBpbnRlcnZhbChpbnRlcnZhbE1zKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHZvaWQgdGhpcy5jaGVja05vdygpKTtcblxuICAgIC8vIENoZXF1ZW8gYWwgdm9sdmVyIGxhIGFwcCBhIGZvcmVncm91bmQuXG4gICAgY29uc3Qgb25WaXNpYmxlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKHRoaXMuZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgdm9pZCB0aGlzLmNoZWNrTm93KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBvblZpc2libGUpO1xuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgdGhpcy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgb25WaXNpYmxlKTtcbiAgICB9KTtcblxuICAgIC8vIENoZXF1ZW8gaW5pY2lhbC5cbiAgICB2b2lkIHRoaXMuY2hlY2tOb3coKTtcbiAgfVxufVxuIl19
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBwLXZlcnNpb24vYXBwLXZlcnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQVUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2RyxPQUFPLEVBS0wsa0NBQWtDLEdBQ25DLE1BQU0sU0FBUyxDQUFDOztBQUVqQjs7O0dBR0c7QUFDSCxTQUFTLGNBQWMsQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUMxQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMs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NUYsUUFBUSxDQUFDLFVBQVUsQ0FBQzthQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFakQsTUFBTSxTQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEtBQUssU0FBUztnQkFBRSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hGLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCO1FBQzVCLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsaURBQWlELEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7K0dBaE5VLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs7NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwcFZlcnNpb25TZXJ2aWNlXG4gKlxuICogVmVyaWZpY2FjacOzbiBkZSB2ZXJzacOzbiBkZSBsYSBhcHAgcGFyYSBQV0EgLyB3ZWIgLyBDYXBhY2l0b3IuXG4gKlxuICogVW5pZmljYSB0cmVzIHNlw7FhbGVzIHBhcmEgZGV0ZWN0YXIgYWN0dWFsaXphY2lvbmVzOlxuICpcbiAqIDEuIGBTd1VwZGF0ZWAgKGBAYW5ndWxhci9zZXJ2aWNlLXdvcmtlcmApIOKAlCBlbCBldmVudG8gYFZFUlNJT05fUkVBRFlgIGluZGljYVxuICogICAgcXVlIHVuIGJ1bmRsZSBudWV2byBmdWUgZGVzY2FyZ2FkbyB5IGVzdMOhIGxpc3RvIHBhcmEgYWN0aXZhcnNlLiBTb2xvIGVzdMOhXG4gKiAgICBkaXNwb25pYmxlIGN1YW5kbyBlbCBzZXJ2aWNlIHdvcmtlciBlc3TDoSByZWdpc3RyYWRvIChidWlsZCBkZSBwcm9kdWNjacOzbikuXG4gKiAgICBBZGVtw6FzIHNlIGNoZXF1ZWEgcHJvYWN0aXZhbWVudGUgY2FkYSBgY2hlY2tJbnRlcnZhbE1zYCB5IGNhZGEgdmV6IHF1ZSBsYVxuICogICAgYXBwIHZ1ZWx2ZSBhIGZvcmVncm91bmQgKGB2aXNpYmlsaXR5Y2hhbmdlYCkuXG4gKlxuICogMi4gYEFwcENvbmZpZ1NlcnZpY2VgIChjb25maWcgcmVtb3RvIGVuIEZpcmVzdG9yZSkg4oCUIGV4cG9uZSBgdmVyc2lvbmBcbiAqICAgICjDumx0aW1hIHZlcnNpw7NuIHB1YmxpY2FkYSkgeSBgbWluVmVyc2lvbmAgKHZlcnNpw7NuIG3DrW5pbWEgc29wb3J0YWRhKS5cbiAqICAgIFNlIHVzYSBwYXJhIGxhIHBvbMOtdGljYSBkZSBhY3R1YWxpemFjacOzbiBvYmxpZ2F0b3JpYSAoaGFyZCBnYXRlKS5cbiAqXG4gKiAzLiBgQXBwVmVyc2lvblJlbW90ZVBsdWdpbmAgKEhUVFApIOKAlCBhbHRlcm5hdGl2YSBhIEFwcENvbmZpZ1NlcnZpY2UgcGFyYSBhcHBzXG4gKiAgICBzaW4gRmlyZWJhc2UuIFByb3Zpc3RvIHZpYSBgcHJvdmlkZVZhbHRlY2hBcHBWZXJzaW9uSHR0cGAuIEV4cG9uZSBlbCBtaXNtb1xuICogICAgY29udHJhdG8gKGB2ZXJzaW9uYCAvIGBtaW5WZXJzaW9uYCkuIFNlIGNoZXF1ZWEgZW4gbG9zIG1pc21vcyBpbnRlcnZhbG9zXG4gKiAgICBxdWUgZWwgU1cuXG4gKlxuICogTGFzIHRyZXMgZGVwZW5kZW5jaWFzIHNlIGlueWVjdGFuIGNvbW8gb3BjaW9uYWxlcy5cbiAqL1xuXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3RhYmxlLCBTaWduYWwsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU3dVcGRhdGUgfSBmcm9tICdAYW5ndWxhci9zZXJ2aWNlLXdvcmtlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBUFBfVkVSU0lPTl9QTEFURk9STV9QTFVHSU4sIEFQUF9WRVJTSU9OX1JFTU9URV9QTFVHSU4sIFZBTFRFQ0hfQVBQX1ZFUlNJT04gfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQge1xuICBBcHBWZXJzaW9uUGxhdGZvcm1QbHVnaW4sXG4gIEFwcFZlcnNpb25SZW1vdGVDb25maWcsXG4gIEFwcFZlcnNpb25SZW1vdGVQbHVnaW4sXG4gIEFwcFZlcnNpb25TdGF0dXMsXG4gIERFRkFVTFRfQVBQX1ZFUlNJT05fU0VSVklDRV9DT05GSUcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIENvbXBhcmEgZG9zIHZlcnNpb25lcyBzZW12ZXIuIFJldG9ybmEgdHJ1ZSBzaSBgYWAgZXMgZXN0cmljdGFtZW50ZSBtZW5vclxuICogcXVlIGBiYC4gVG9sZXJhbnRlIGEgbG9uZ2l0dWRlcyBkaXN0aW50YXMgeSBhIHBhcnRlcyBubyBudW3DqXJpY2FzLlxuICovXG5mdW5jdGlvbiBpc1ZlcnNpb25Mb3dlcihhOiBzdHJpbmcsIGI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYSA9IGEuc3BsaXQoJy4nKS5tYXAobiA9PiBOdW1iZXIobikgfHwgMCk7XG4gIGNvbnN0IHBiID0gYi5zcGxpdCgnLicpLm1hcChuID0+IE51bWJlcihuKSB8fCAwKTtcbiAgY29uc3QgbGVuID0gTWF0aC5tYXgocGEubGVuZ3RoLCBwYi5sZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCB4ID0gcGFbaV0gfHwgMDtcbiAgICBjb25zdCB5ID0gcGJbaV0gfHwgMDtcbiAgICBpZiAoeCA8IHkpIHJldHVybiB0cnVlO1xuICAgIGlmICh4ID4geSkgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFwcFZlcnNpb25TZXJ2aWNlIHtcbiAgLyoqIFN3VXBkYXRlIHNvbG8gZXhpc3RlIHNpIGVsIFNXIGVzdMOhIHJlZ2lzdHJhZG8gKHByb2QgYnVpbGQpLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHN3VXBkYXRlID0gaW5qZWN0KFN3VXBkYXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAvKiogQXBwQ29uZmlnU2VydmljZSBlcyBvcGNpb25hbDogbGEgYXBwIHB1ZWRlIG5vIHdpcmVhcmxvLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZyA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VDb25maWcgPSBpbmplY3QoVkFMVEVDSF9BUFBfVkVSU0lPTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgLyoqIFBsdWdpbiBuYXRpdm8gb3BjaW9uYWw6IHByb3Zpc3RvIHBvciBhcHBzIENhcGFjaXRvciBwYXJhIFBsYXkgU3RvcmUgLyBBcHAgU3RvcmUuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1QbHVnaW4gPSBpbmplY3Q8QXBwVmVyc2lvblBsYXRmb3JtUGx1Z2luPihcbiAgICBBUFBfVkVSU0lPTl9QTEFURk9STV9QTFVHSU4sXG4gICAgeyBvcHRpb25hbDogdHJ1ZSB9XG4gICk7XG4gIC8qKiBQbHVnaW4gSFRUUCBvcGNpb25hbDogYWx0ZXJuYXRpdmEgYSBBcHBDb25maWdTZXJ2aWNlIHBhcmEgYXBwcyBzaW4gRmlyZWJhc2UuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVtb3RlUGx1Z2luID0gaW5qZWN0PEFwcFZlcnNpb25SZW1vdGVQbHVnaW4+KFxuICAgIEFQUF9WRVJTSU9OX1JFTU9URV9QTFVHSU4sXG4gICAgeyBvcHRpb25hbDogdHJ1ZSB9XG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgLyoqIFRydWUgY3VhbmRvIGVsIFNXIHJlcG9ydMOzIHVuIGJ1bmRsZSBudWV2byBsaXN0byAoYFZFUlNJT05fUkVBRFlgKS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzd1VwZGF0ZVJlYWR5ID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogQ29uZmlnIHJlbW90YSBjYXJnYWRhIHBvciBlbCBwbHVnaW4gSFRUUC4gTnVsbCBoYXN0YSBxdWUgY2FyZ2EgbyBzaSBubyBoYXkgcGx1Z2luLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbW90ZUNvbmZpZyA9IHNpZ25hbDxBcHBWZXJzaW9uUmVtb3RlQ29uZmlnIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIFRydWUgY3VhbmRvIGVsIHVzdWFyaW8gZGVzY2FydMOzIGVsIGJhbm5lciBkZSBhY3R1YWxpemFjacOzbiBvcGNpb25hbC5cbiAgICogRWwgYmFubmVyIG9ibGlnYXRvcmlvIChgdXBkYXRlLXJlcXVpcmVkYCkgaWdub3JhIGVzdGUgZmxhZy5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc21pc3NlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGRpc21pc3NlZDogU2lnbmFsPGJvb2xlYW4+ID0gdGhpcy5fZGlzbWlzc2VkLmFzUmVhZG9ubHkoKTtcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU0lHTkFMUyBQw5pCTElDT1NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZlcnNpw7NuIGxvY2FsIGRlbCBidWlsZCBhY3R1YWwgZGUgbGEgYXBwLlxuICAgKiBQcm92aWVuZSBkZWwgcHJvdmlkZXIgYHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbih7IGN1cnJlbnRWZXJzaW9uIH0pYC5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRWZXJzaW9uOiBTaWduYWw8c3RyaW5nPiA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuc2VydmljZUNvbmZpZz8uY3VycmVudFZlcnNpb24gPz8gJzAuMC4wJ1xuICApO1xuXG4gIC8qKlxuICAgKiDDmmx0aW1hIHZlcnNpw7NuIHB1YmxpY2FkYSBzZWfDum4gZWwgY29uZmlnIHJlbW90byAoQXBwQ29uZmlnU2VydmljZSBvIHBsdWdpbiBIVFRQKS5cbiAgICogYG51bGxgIHNpIG5pbmd1bmEgZnVlbnRlIGVzdMOhIGRpc3BvbmlibGUgbyBhw7puIG5vIGNhcmfDsy5cbiAgICovXG4gIHJlYWRvbmx5IGxhdGVzdFZlcnNpb246IFNpZ25hbDxzdHJpbmcgfCBudWxsPiA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuYXBwQ29uZmlnPy5yZW1vdGVWZXJzaW9uKCkgPz8gdGhpcy5yZW1vdGVDb25maWcoKT8udmVyc2lvbiA/PyBudWxsXG4gICk7XG5cbiAgLyoqXG4gICAqIEVzdGFkbyBkZSBsYSB2ZXJzacOzbjpcbiAgICogLSBgdXBkYXRlLXJlcXVpcmVkYCDigJQgbGEgdmVyc2nDs24gbG9jYWwgcXVlZMOzIHBvciBkZWJham8gZGUgYG1pblZlcnNpb25gLiBIYXJkIGdhdGUuXG4gICAqIC0gYHVwZGF0ZS1hdmFpbGFibGVgIOKAlCBTVyBidW5kbGUgbGlzdG8sIEFwcENvbmZpZ1NlcnZpY2UgbyBwbHVnaW4gSFRUUCBkZXRlY3Rhcm9uIHZlcnNpw7NuIG51ZXZhLlxuICAgKiAtIGB1cC10by1kYXRlYCDigJQgZW4gY3VhbHF1aWVyIG90cm8gY2Fzby5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1czogU2lnbmFsPEFwcFZlcnNpb25TdGF0dXM+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIC8vIDEuIEhhcmQgZ2F0ZSDigJQgbWluVmVyc2lvbiBkZSBBcHBDb25maWdTZXJ2aWNlIG8gZGVsIHBsdWdpbiBIVFRQLlxuICAgIGNvbnN0IG1pblZlcnNpb24gPVxuICAgICAgdGhpcy5hcHBDb25maWc/LmFwcENvbmZpZygpPy5taW5WZXJzaW9uID8/IHRoaXMucmVtb3RlQ29uZmlnKCk/Lm1pblZlcnNpb247XG4gICAgaWYgKG1pblZlcnNpb24gJiYgaXNWZXJzaW9uTG93ZXIodGhpcy5jdXJyZW50VmVyc2lvbigpLCBtaW5WZXJzaW9uKSkge1xuICAgICAgcmV0dXJuICd1cGRhdGUtcmVxdWlyZWQnO1xuICAgIH1cblxuICAgIC8vIDIuIFVwZGF0ZSBvcGNpb25hbCDigJQgU1cgYnVuZGxlIGxpc3RvLCBBcHBDb25maWcsIG8gcGx1Z2luIEhUVFAgbcOhcyBudWV2by5cbiAgICBjb25zdCByZW1vdGVMYXRlc3QgPSB0aGlzLnJlbW90ZUNvbmZpZygpPy52ZXJzaW9uO1xuICAgIGNvbnN0IGhhc1JlbW90ZVVwZGF0ZSA9IHJlbW90ZUxhdGVzdFxuICAgICAgPyBpc1ZlcnNpb25Mb3dlcih0aGlzLmN1cnJlbnRWZXJzaW9uKCksIHJlbW90ZUxhdGVzdClcbiAgICAgIDogZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zd1VwZGF0ZVJlYWR5KCkgfHwgdGhpcy5hcHBDb25maWc/Lmhhc1VwZGF0ZSgpIHx8IGhhc1JlbW90ZVVwZGF0ZSkge1xuICAgICAgcmV0dXJuICd1cGRhdGUtYXZhaWxhYmxlJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3VwLXRvLWRhdGUnO1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLndpcmVTZXJ2aWNlV29ya2VyKCk7XG4gICAgaWYgKHRoaXMucmVtb3RlUGx1Z2luKSB7XG4gICAgICB0aGlzLndpcmVSZW1vdGVQbHVnaW4oKTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gTcOJVE9ET1MgUMOaQkxJQ09TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBBcGxpY2EgbGEgYWN0dWFsaXphY2nDs24gcGVuZGllbnRlLlxuICAgKlxuICAgKiBTaSBoYXkgdW4gcGx1Z2luIGRlIHBsYXRhZm9ybWEgKG5hdGl2by9DYXBhY2l0b3IpLCBkZWxlZ2EgZW4gw6lsIChlai4gUGxheSBTdG9yZSkuXG4gICAqIFNpIG5vLCBhY3RpdmEgbGEgdmVyc2nDs24gU1cgc2kgZXN0w6EgZGlzcG9uaWJsZSB5IHJlY2FyZ2EgbGEgcMOhZ2luYS5cbiAgICovXG4gIGFzeW5jIGFwcGx5VXBkYXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnBsYXRmb3JtUGx1Z2luKSB7XG4gICAgICBhd2FpdCB0aGlzLnBsYXRmb3JtUGx1Z2luLmFwcGx5VXBkYXRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLnN3VXBkYXRlPy5pc0VuYWJsZWQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zd1VwZGF0ZS5hY3RpdmF0ZVVwZGF0ZSgpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS53YXJuKCdbQXBwVmVyc2lvblNlcnZpY2VdIGFjdGl2YXRlVXBkYXRlIGZhaWxlZDonLCBlcnIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzY2FydGEgZWwgYmFubmVyIGRlIGFjdHVhbGl6YWNpw7NuIG9wY2lvbmFsLlxuICAgKiBObyB0aWVuZSBlZmVjdG8gc29icmUgZWwgZXN0YWRvIGB1cGRhdGUtcmVxdWlyZWRgIChoYXJkIGdhdGUpLlxuICAgKi9cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNtaXNzZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1ZXJ6YSB1biBjaGVxdWVvOiBTVyArIHBsdWdpbiBIVFRQIChzaSBleGlzdGUpLlxuICAgKi9cbiAgYXN5bmMgY2hlY2tOb3coKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgdGhpcy5zd1VwZGF0ZT8uaXNFbmFibGVkXG4gICAgICAgID8gdGhpcy5zd1VwZGF0ZS5jaGVja0ZvclVwZGF0ZSgpLmNhdGNoKGVyciA9PlxuICAgICAgICAgICAgY29uc29sZS53YXJuKCdbQXBwVmVyc2lvblNlcnZpY2VdIGNoZWNrRm9yVXBkYXRlIGZhaWxlZDonLCBlcnIpXG4gICAgICAgICAgKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVtb3RlUGx1Z2luID8gdGhpcy5sb2FkUmVtb3RlQ29uZmlnKCkgOiB1bmRlZmluZWQsXG4gICAgXSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFJJVkFET1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogU3VzY3JpYmUgYHZlcnNpb25VcGRhdGVzYCwgcHJvZ3JhbWEgY2hlcXVlb3MgcGVyacOzZGljb3MgeSByZWFjY2lvbmEgYWxcbiAgICogdm9sdmVyIGxhIGFwcCBhIGZvcmVncm91bmQuIFNvbG8gYWN0w7phIHNpIGVsIFNXIGVzdMOhIGhhYmlsaXRhZG8uXG4gICAqL1xuICBwcml2YXRlIHdpcmVTZXJ2aWNlV29ya2VyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zd1VwZGF0ZT8uaXNFbmFibGVkKSByZXR1cm47XG5cbiAgICAvLyBCdW5kbGUgbnVldm8gZGVzY2FyZ2FkbyB5IGxpc3RvLlxuICAgIHRoaXMuc3dVcGRhdGUudmVyc2lvblVwZGF0ZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZXZ0ID0+IGV2dC50eXBlID09PSAnVkVSU0lPTl9SRUFEWScpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN3VXBkYXRlUmVhZHkuc2V0KHRydWUpKTtcblxuICAgIC8vIFNXIGVuIGVzdGFkbyBpcnJlY3VwZXJhYmxlIOKAlCBsYSBjYWNow6kgZGVsIHNlcnZpY2Ugd29ya2VyIHNlIGNvcnJvbXBpw7Mgb1xuICAgIC8vIGZ1ZSBwYXJjaWFsbWVudGUgZXZpY3RhZGEgKGNvbcO6biBlbiBQV0FzIHN0YW5kYWxvbmUgZGUgaU9TIHRyYXMgZGVwbG95c1xuICAgIC8vIHJlcGV0aWRvcykuIExhIGFwcCBubyBwdWVkZSBjYXJnYXIgc3VzIGFzc2V0cyDihpIgcGFudGFsbGEgZW4gYmxhbmNvLlxuICAgIC8vIFJlY3VwZXJhY2nDs24gcmVjb21lbmRhZGEgcG9yIEFuZ3VsYXI6IHJlY2FyZ2FyIHBhcmEgdHJhZXIgdG9kbyBmcmVzY29cbiAgICAvLyBkZXNkZSBsYSByZWQuXG4gICAgdGhpcy5zd1VwZGF0ZS51bnJlY292ZXJhYmxlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbQXBwVmVyc2lvblNlcnZpY2VdIFNXIHVucmVjb3ZlcmFibGUg4oCUIHJlbG9hZGluZzonLCBldmVudC5yZWFzb24pO1xuICAgICAgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBpbnRlcnZhbE1zID1cbiAgICAgIHRoaXMuc2VydmljZUNvbmZpZz8uY2hlY2tJbnRlcnZhbE1zID8/IERFRkFVTFRfQVBQX1ZFUlNJT05fU0VSVklDRV9DT05GSUcuY2hlY2tJbnRlcnZhbE1zO1xuXG4gICAgaW50ZXJ2YWwoaW50ZXJ2YWxNcylcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB2b2lkIHRoaXMuY2hlY2tOb3coKSk7XG5cbiAgICBjb25zdCBvblZpc2libGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICBpZiAodGhpcy5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykgdm9pZCB0aGlzLmNoZWNrTm93KCk7XG4gICAgfTtcbiAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBvblZpc2libGUpO1xuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdGhpcy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgb25WaXNpYmxlKSk7XG5cbiAgICB2b2lkIHRoaXMuY2hlY2tOb3coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSBjb25maWcgcmVtb3RhIHZpYSBwbHVnaW4gSFRUUCBhbCBpbmljaW8sIGVuIGZvcmVncm91bmQgeSBlbiBlbCBpbnRlcnZhbG8gcGVyacOzZGljby5cbiAgICogU29sbyBzZSBsbGFtYSBzaSBgcmVtb3RlUGx1Z2luYCBlc3TDoSBwcm92aXN0by5cbiAgICovXG4gIHByaXZhdGUgd2lyZVJlbW90ZVBsdWdpbigpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMubG9hZFJlbW90ZUNvbmZpZygpO1xuXG4gICAgY29uc3QgaW50ZXJ2YWxNcyA9XG4gICAgICB0aGlzLnNlcnZpY2VDb25maWc/LmNoZWNrSW50ZXJ2YWxNcyA/PyBERUZBVUxUX0FQUF9WRVJTSU9OX1NFUlZJQ0VfQ09ORklHLmNoZWNrSW50ZXJ2YWxNcztcblxuICAgIGludGVydmFsKGludGVydmFsTXMpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdm9pZCB0aGlzLmxvYWRSZW1vdGVDb25maWcoKSk7XG5cbiAgICBjb25zdCBvblZpc2libGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICBpZiAodGhpcy5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykgdm9pZCB0aGlzLmxvYWRSZW1vdGVDb25maWcoKTtcbiAgICB9O1xuICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIG9uVmlzaWJsZSk7XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBvblZpc2libGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFJlbW90ZUNvbmZpZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5yZW1vdGVQbHVnaW4hLmdldFJlbW90ZUNvbmZpZygpO1xuICAgICAgdGhpcy5yZW1vdGVDb25maWcuc2V0KGNvbmZpZyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tBcHBWZXJzaW9uU2VydmljZV0gcmVtb3RlIGNvbmZpZyBmZXRjaCBmYWlsZWQ6JywgZXJyKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * AppVersion Provider
3
3
  *
4
- * Provider e injection token para el servicio de verificación de versión.
4
+ * Provider e injection tokens para el servicio de verificación de versión.
5
5
  */
6
- import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
7
- import { DEFAULT_APP_VERSION_SERVICE_CONFIG } from './types';
6
+ import { HttpClient } from '@angular/common/http';
7
+ import { Injectable, InjectionToken, inject, makeEnvironmentProviders } from '@angular/core';
8
+ import { firstValueFrom } from 'rxjs';
9
+ import { DEFAULT_APP_VERSION_SERVICE_CONFIG, } from './types';
10
+ import * as i0 from "@angular/core";
8
11
  /**
9
12
  * Token de inyección para la configuración de AppVersionService.
10
13
  */
@@ -14,27 +17,38 @@ export const VALTECH_APP_VERSION = new InjectionToken('ValtechAppVersion');
14
17
  * Provisto opcionalmente por apps que corren en iOS/Android vía Capacitor.
15
18
  */
16
19
  export const APP_VERSION_PLATFORM_PLUGIN = new InjectionToken('AppVersionPlatformPlugin');
20
+ /**
21
+ * Token de inyección para el plugin de config remota vía HTTP.
22
+ * Alternativa a AppConfigService (Firestore) para apps sin Firebase.
23
+ */
24
+ export const APP_VERSION_REMOTE_PLUGIN = new InjectionToken('AppVersionRemotePlugin');
25
+ /** Token interno para la configuración del plugin HTTP. */
26
+ const VALTECH_APP_VERSION_HTTP = new InjectionToken('ValtechAppVersionHttp');
27
+ class HttpAppVersionPlugin {
28
+ constructor() {
29
+ this.http = inject(HttpClient);
30
+ this.config = inject(VALTECH_APP_VERSION_HTTP);
31
+ }
32
+ async getRemoteConfig() {
33
+ const data = await firstValueFrom(this.http.get(this.config.url));
34
+ return this.config.mapResponse
35
+ ? this.config.mapResponse(data)
36
+ : data;
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpAppVersionPlugin, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpAppVersionPlugin }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpAppVersionPlugin, decorators: [{
42
+ type: Injectable
43
+ }] });
17
44
  /**
18
45
  * Provee el servicio de verificación de versión a la aplicación Angular.
19
46
  *
20
- * Detecta cuándo hay una versión nueva de la app combinando dos señales:
21
- * - `SwUpdate` (PWA service worker) — bundle nuevo descargado y listo.
22
- * - `AppConfigService` (config remoto en Firestore) — `version` / `minVersion`.
23
- *
24
- * @param config - Configuración del servicio. `currentVersion` es obligatorio.
25
- * @returns EnvironmentProviders para usar en bootstrapApplication.
47
+ * @param config - `currentVersion` obligatorio (normalmente desde `package.json`).
26
48
  *
27
49
  * @example
28
50
  * ```typescript
29
- * // main.ts
30
- * import { provideValtechAppVersion } from 'valtech-components';
31
- * import pkg from '../package.json';
32
- *
33
- * bootstrapApplication(AppComponent, {
34
- * providers: [
35
- * provideValtechAppVersion({ currentVersion: pkg.version }),
36
- * ],
37
- * });
51
+ * provideValtechAppVersion({ currentVersion: pkg.version })
38
52
  * ```
39
53
  */
40
54
  export function provideValtechAppVersion(config) {
@@ -44,4 +58,32 @@ export function provideValtechAppVersion(config) {
44
58
  };
45
59
  return makeEnvironmentProviders([{ provide: VALTECH_APP_VERSION, useValue: mergedConfig }]);
46
60
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hcHAtdmVyc2lvbi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBd0IsY0FBYyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9GLE9BQU8sRUFBcUQsa0NBQWtDLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsbUJBQW1CLENBQ3BCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsMEJBQTBCLENBQzNCLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUErQjtJQUN0RSxNQUFNLFlBQVksR0FBc0M7UUFDdEQsR0FBRyxrQ0FBa0M7UUFDckMsR0FBRyxNQUFNO0tBQ1YsQ0FBQztJQUVGLE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzlGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwcFZlcnNpb24gUHJvdmlkZXJcbiAqXG4gKiBQcm92aWRlciBlIGluamVjdGlvbiB0b2tlbiBwYXJhIGVsIHNlcnZpY2lvIGRlIHZlcmlmaWNhY2nDs24gZGUgdmVyc2nDs24uXG4gKi9cblxuaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIEluamVjdGlvblRva2VuLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwVmVyc2lvblBsYXRmb3JtUGx1Z2luLCBBcHBWZXJzaW9uU2VydmljZUNvbmZpZywgREVGQVVMVF9BUFBfVkVSU0lPTl9TRVJWSUNFX0NPTkZJRyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRva2VuIGRlIGlueWVjY2nDs24gcGFyYSBsYSBjb25maWd1cmFjacOzbiBkZSBBcHBWZXJzaW9uU2VydmljZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFZBTFRFQ0hfQVBQX1ZFUlNJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVxdWlyZWQ8QXBwVmVyc2lvblNlcnZpY2VDb25maWc+PihcbiAgJ1ZhbHRlY2hBcHBWZXJzaW9uJ1xuKTtcblxuLyoqXG4gKiBUb2tlbiBkZSBpbnllY2Npw7NuIHBhcmEgZWwgcGx1Z2luIGRlIHBsYXRhZm9ybWEgbmF0aXZhLlxuICogUHJvdmlzdG8gb3BjaW9uYWxtZW50ZSBwb3IgYXBwcyBxdWUgY29ycmVuIGVuIGlPUy9BbmRyb2lkIHbDrWEgQ2FwYWNpdG9yLlxuICovXG5leHBvcnQgY29uc3QgQVBQX1ZFUlNJT05fUExBVEZPUk1fUExVR0lOID0gbmV3IEluamVjdGlvblRva2VuPEFwcFZlcnNpb25QbGF0Zm9ybVBsdWdpbj4oXG4gICdBcHBWZXJzaW9uUGxhdGZvcm1QbHVnaW4nXG4pO1xuXG4vKipcbiAqIFByb3ZlZSBlbCBzZXJ2aWNpbyBkZSB2ZXJpZmljYWNpw7NuIGRlIHZlcnNpw7NuIGEgbGEgYXBsaWNhY2nDs24gQW5ndWxhci5cbiAqXG4gKiBEZXRlY3RhIGN1w6FuZG8gaGF5IHVuYSB2ZXJzacOzbiBudWV2YSBkZSBsYSBhcHAgY29tYmluYW5kbyBkb3Mgc2XDsWFsZXM6XG4gKiAtIGBTd1VwZGF0ZWAgKFBXQSBzZXJ2aWNlIHdvcmtlcikg4oCUIGJ1bmRsZSBudWV2byBkZXNjYXJnYWRvIHkgbGlzdG8uXG4gKiAtIGBBcHBDb25maWdTZXJ2aWNlYCAoY29uZmlnIHJlbW90byBlbiBGaXJlc3RvcmUpIOKAlCBgdmVyc2lvbmAgLyBgbWluVmVyc2lvbmAuXG4gKlxuICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYWNpw7NuIGRlbCBzZXJ2aWNpby4gYGN1cnJlbnRWZXJzaW9uYCBlcyBvYmxpZ2F0b3Jpby5cbiAqIEByZXR1cm5zIEVudmlyb25tZW50UHJvdmlkZXJzIHBhcmEgdXNhciBlbiBib290c3RyYXBBcHBsaWNhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gbWFpbi50c1xuICogaW1wb3J0IHsgcHJvdmlkZVZhbHRlY2hBcHBWZXJzaW9uIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqIGltcG9ydCBwa2cgZnJvbSAnLi4vcGFja2FnZS5qc29uJztcbiAqXG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihBcHBDb21wb25lbnQsIHtcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgcHJvdmlkZVZhbHRlY2hBcHBWZXJzaW9uKHsgY3VycmVudFZlcnNpb246IHBrZy52ZXJzaW9uIH0pLFxuICogICBdLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbihjb25maWc6IEFwcFZlcnNpb25TZXJ2aWNlQ29uZmlnKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICBjb25zdCBtZXJnZWRDb25maWc6IFJlcXVpcmVkPEFwcFZlcnNpb25TZXJ2aWNlQ29uZmlnPiA9IHtcbiAgICAuLi5ERUZBVUxUX0FQUF9WRVJTSU9OX1NFUlZJQ0VfQ09ORklHLFxuICAgIC4uLmNvbmZpZyxcbiAgfTtcblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFt7IHByb3ZpZGU6IFZBTFRFQ0hfQVBQX1ZFUlNJT04sIHVzZVZhbHVlOiBtZXJnZWRDb25maWcgfV0pO1xufVxuIl19
61
+ /**
62
+ * Provee config remota de versiones vía HTTP, como alternativa a AppConfigService (Firestore).
63
+ *
64
+ * El endpoint debe retornar `{ version, minVersion? }` o se puede usar `mapResponse`
65
+ * para adaptar un response existente con otra forma.
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * // main.ts — endpoint ya compatible
70
+ * provideValtechAppVersionHttp({ url: `${env.apiUrl}api/app-version` })
71
+ *
72
+ * // main.ts — adaptar endpoint existente { android, web, minVersion }
73
+ * provideValtechAppVersionHttp({
74
+ * url: `${env.apiUrl}api/version`,
75
+ * mapResponse: (data: any) => ({
76
+ * version: Capacitor.isNativePlatform() ? data.android : (data.web ?? data.android),
77
+ * minVersion: data.minVersion,
78
+ * }),
79
+ * })
80
+ * ```
81
+ */
82
+ export function provideValtechAppVersionHttp(config) {
83
+ return makeEnvironmentProviders([
84
+ { provide: VALTECH_APP_VERSION_HTTP, useValue: config },
85
+ HttpAppVersionPlugin,
86
+ { provide: APP_VERSION_REMOTE_PLUGIN, useExisting: HttpAppVersionPlugin },
87
+ ]);
88
+ }
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hcHAtdmVyc2lvbi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQXdCLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQU1MLGtDQUFrQyxHQUNuQyxNQUFNLFNBQVMsQ0FBQzs7QUFFakI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsbUJBQW1CLENBQ3BCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsMEJBQTBCLENBQzNCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsd0JBQXdCLENBQ3pCLENBQUM7QUFFRiwyREFBMkQ7QUFDM0QsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDakQsdUJBQXVCLENBQ3hCLENBQUM7QUFFRixNQUNNLG9CQUFvQjtJQUQxQjtRQUVtQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQVE1RDtJQU5DLEtBQUssQ0FBQyxlQUFlO1FBQ25CLE1BQU0sSUFBSSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQy9CLENBQUMsQ0FBRSxJQUErQixDQUFDO0lBQ3ZDLENBQUM7K0dBVEcsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRHpCLFVBQVU7O0FBYVg7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLE1BQStCO0lBQ3RFLE1BQU0sWUFBWSxHQUFzQztRQUN0RCxHQUFHLGtDQUFrQztRQUNyQyxHQUFHLE1BQU07S0FDVixDQUFDO0lBRUYsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUYsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxNQUE0QjtJQUN2RSxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7UUFDdkQsb0JBQW9CO1FBQ3BCLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRTtLQUMxRSxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcHBWZXJzaW9uIFByb3ZpZGVyXG4gKlxuICogUHJvdmlkZXIgZSBpbmplY3Rpb24gdG9rZW5zIHBhcmEgZWwgc2VydmljaW8gZGUgdmVyaWZpY2FjacOzbiBkZSB2ZXJzacOzbi5cbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpbmplY3QsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQXBwVmVyc2lvbkh0dHBDb25maWcsXG4gIEFwcFZlcnNpb25QbGF0Zm9ybVBsdWdpbixcbiAgQXBwVmVyc2lvblJlbW90ZUNvbmZpZyxcbiAgQXBwVmVyc2lvblJlbW90ZVBsdWdpbixcbiAgQXBwVmVyc2lvblNlcnZpY2VDb25maWcsXG4gIERFRkFVTFRfQVBQX1ZFUlNJT05fU0VSVklDRV9DT05GSUcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRva2VuIGRlIGlueWVjY2nDs24gcGFyYSBsYSBjb25maWd1cmFjacOzbiBkZSBBcHBWZXJzaW9uU2VydmljZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFZBTFRFQ0hfQVBQX1ZFUlNJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVxdWlyZWQ8QXBwVmVyc2lvblNlcnZpY2VDb25maWc+PihcbiAgJ1ZhbHRlY2hBcHBWZXJzaW9uJ1xuKTtcblxuLyoqXG4gKiBUb2tlbiBkZSBpbnllY2Npw7NuIHBhcmEgZWwgcGx1Z2luIGRlIHBsYXRhZm9ybWEgbmF0aXZhLlxuICogUHJvdmlzdG8gb3BjaW9uYWxtZW50ZSBwb3IgYXBwcyBxdWUgY29ycmVuIGVuIGlPUy9BbmRyb2lkIHbDrWEgQ2FwYWNpdG9yLlxuICovXG5leHBvcnQgY29uc3QgQVBQX1ZFUlNJT05fUExBVEZPUk1fUExVR0lOID0gbmV3IEluamVjdGlvblRva2VuPEFwcFZlcnNpb25QbGF0Zm9ybVBsdWdpbj4oXG4gICdBcHBWZXJzaW9uUGxhdGZvcm1QbHVnaW4nXG4pO1xuXG4vKipcbiAqIFRva2VuIGRlIGlueWVjY2nDs24gcGFyYSBlbCBwbHVnaW4gZGUgY29uZmlnIHJlbW90YSB2w61hIEhUVFAuXG4gKiBBbHRlcm5hdGl2YSBhIEFwcENvbmZpZ1NlcnZpY2UgKEZpcmVzdG9yZSkgcGFyYSBhcHBzIHNpbiBGaXJlYmFzZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQUF9WRVJTSU9OX1JFTU9URV9QTFVHSU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QXBwVmVyc2lvblJlbW90ZVBsdWdpbj4oXG4gICdBcHBWZXJzaW9uUmVtb3RlUGx1Z2luJ1xuKTtcblxuLyoqIFRva2VuIGludGVybm8gcGFyYSBsYSBjb25maWd1cmFjacOzbiBkZWwgcGx1Z2luIEhUVFAuICovXG5jb25zdCBWQUxURUNIX0FQUF9WRVJTSU9OX0hUVFAgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXBwVmVyc2lvbkh0dHBDb25maWc+KFxuICAnVmFsdGVjaEFwcFZlcnNpb25IdHRwJ1xuKTtcblxuQEluamVjdGFibGUoKVxuY2xhc3MgSHR0cEFwcFZlcnNpb25QbHVnaW4gaW1wbGVtZW50cyBBcHBWZXJzaW9uUmVtb3RlUGx1Z2luIHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FQUF9WRVJTSU9OX0hUVFApO1xuXG4gIGFzeW5jIGdldFJlbW90ZUNvbmZpZygpOiBQcm9taXNlPEFwcFZlcnNpb25SZW1vdGVDb25maWc+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldCh0aGlzLmNvbmZpZy51cmwpKTtcbiAgICByZXR1cm4gdGhpcy5jb25maWcubWFwUmVzcG9uc2VcbiAgICAgID8gdGhpcy5jb25maWcubWFwUmVzcG9uc2UoZGF0YSlcbiAgICAgIDogKGRhdGEgYXMgQXBwVmVyc2lvblJlbW90ZUNvbmZpZyk7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm92ZWUgZWwgc2VydmljaW8gZGUgdmVyaWZpY2FjacOzbiBkZSB2ZXJzacOzbiBhIGxhIGFwbGljYWNpw7NuIEFuZ3VsYXIuXG4gKlxuICogQHBhcmFtIGNvbmZpZyAtIGBjdXJyZW50VmVyc2lvbmAgb2JsaWdhdG9yaW8gKG5vcm1hbG1lbnRlIGRlc2RlIGBwYWNrYWdlLmpzb25gKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcHJvdmlkZVZhbHRlY2hBcHBWZXJzaW9uKHsgY3VycmVudFZlcnNpb246IHBrZy52ZXJzaW9uIH0pXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbihjb25maWc6IEFwcFZlcnNpb25TZXJ2aWNlQ29uZmlnKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICBjb25zdCBtZXJnZWRDb25maWc6IFJlcXVpcmVkPEFwcFZlcnNpb25TZXJ2aWNlQ29uZmlnPiA9IHtcbiAgICAuLi5ERUZBVUxUX0FQUF9WRVJTSU9OX1NFUlZJQ0VfQ09ORklHLFxuICAgIC4uLmNvbmZpZyxcbiAgfTtcblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFt7IHByb3ZpZGU6IFZBTFRFQ0hfQVBQX1ZFUlNJT04sIHVzZVZhbHVlOiBtZXJnZWRDb25maWcgfV0pO1xufVxuXG4vKipcbiAqIFByb3ZlZSBjb25maWcgcmVtb3RhIGRlIHZlcnNpb25lcyB2w61hIEhUVFAsIGNvbW8gYWx0ZXJuYXRpdmEgYSBBcHBDb25maWdTZXJ2aWNlIChGaXJlc3RvcmUpLlxuICpcbiAqIEVsIGVuZHBvaW50IGRlYmUgcmV0b3JuYXIgYHsgdmVyc2lvbiwgbWluVmVyc2lvbj8gfWAgbyBzZSBwdWVkZSB1c2FyIGBtYXBSZXNwb25zZWBcbiAqIHBhcmEgYWRhcHRhciB1biByZXNwb25zZSBleGlzdGVudGUgY29uIG90cmEgZm9ybWEuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIG1haW4udHMg4oCUIGVuZHBvaW50IHlhIGNvbXBhdGlibGVcbiAqIHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbkh0dHAoeyB1cmw6IGAke2Vudi5hcGlVcmx9YXBpL2FwcC12ZXJzaW9uYCB9KVxuICpcbiAqIC8vIG1haW4udHMg4oCUIGFkYXB0YXIgZW5kcG9pbnQgZXhpc3RlbnRlIHsgYW5kcm9pZCwgd2ViLCBtaW5WZXJzaW9uIH1cbiAqIHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbkh0dHAoe1xuICogICB1cmw6IGAke2Vudi5hcGlVcmx9YXBpL3ZlcnNpb25gLFxuICogICBtYXBSZXNwb25zZTogKGRhdGE6IGFueSkgPT4gKHtcbiAqICAgICB2ZXJzaW9uOiBDYXBhY2l0b3IuaXNOYXRpdmVQbGF0Zm9ybSgpID8gZGF0YS5hbmRyb2lkIDogKGRhdGEud2ViID8/IGRhdGEuYW5kcm9pZCksXG4gKiAgICAgbWluVmVyc2lvbjogZGF0YS5taW5WZXJzaW9uLFxuICogICB9KSxcbiAqIH0pXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbkh0dHAoY29uZmlnOiBBcHBWZXJzaW9uSHR0cENvbmZpZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgeyBwcm92aWRlOiBWQUxURUNIX0FQUF9WRVJTSU9OX0hUVFAsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICBIdHRwQXBwVmVyc2lvblBsdWdpbixcbiAgICB7IHByb3ZpZGU6IEFQUF9WRVJTSU9OX1JFTU9URV9QTFVHSU4sIHVzZUV4aXN0aW5nOiBIdHRwQXBwVmVyc2lvblBsdWdpbiB9LFxuICBdKTtcbn1cbiJdfQ==
@@ -19,6 +19,6 @@
19
19
  * ```
20
20
  */
21
21
  export * from './types';
22
- export { VALTECH_APP_VERSION, APP_VERSION_PLATFORM_PLUGIN, provideValtechAppVersion } from './config';
22
+ export { VALTECH_APP_VERSION, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, provideValtechAppVersion, provideValtechAppVersionHttp, } from './config';
23
23
  export { AppVersionService } from './app-version.service';
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwcC12ZXJzaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBRUgsY0FBYyxTQUFTLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcHBWZXJzaW9uIFNlcnZpY2UgTW9kdWxlXG4gKlxuICogVmVyaWZpY2FjacOzbiBkZSB2ZXJzacOzbiBkZSBsYSBhcHAgcGFyYSBQV0EgLyB3ZWIuIERldGVjdGEgY3XDoW5kbyBoYXkgdW5hXG4gKiB2ZXJzacOzbiBudWV2YSBjb21iaW5hbmRvIGVsIHNlcnZpY2Ugd29ya2VyIChgU3dVcGRhdGVgKSB5IGVsIGNvbmZpZyByZW1vdG9cbiAqIChgQXBwQ29uZmlnU2VydmljZWApLCBjb24gc29wb3J0ZSBwYXJhIGFjdHVhbGl6YWNpw7NuIG9ibGlnYXRvcmlhIChoYXJkIGdhdGUpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBtYWluLnRzXG4gKiBpbXBvcnQgeyBwcm92aWRlVmFsdGVjaEFwcFZlcnNpb24gfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICogaW1wb3J0IHBrZyBmcm9tICcuLi9wYWNrYWdlLmpzb24nO1xuICpcbiAqIGJvb3RzdHJhcEFwcGxpY2F0aW9uKEFwcENvbXBvbmVudCwge1xuICogICBwcm92aWRlcnM6IFtcbiAqICAgICBwcm92aWRlVmFsdGVjaEFwcFZlcnNpb24oeyBjdXJyZW50VmVyc2lvbjogcGtnLnZlcnNpb24gfSksXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHsgVkFMVEVDSF9BUFBfVkVSU0lPTiwgQVBQX1ZFUlNJT05fUExBVEZPUk1fUExVR0lOLCBwcm92aWRlVmFsdGVjaEFwcFZlcnNpb24gfSBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgeyBBcHBWZXJzaW9uU2VydmljZSB9IGZyb20gJy4vYXBwLXZlcnNpb24uc2VydmljZSc7XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwcC12ZXJzaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBRUgsY0FBYyxTQUFTLENBQUM7QUFDeEIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDM0IseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qiw0QkFBNEIsR0FDN0IsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwcFZlcnNpb24gU2VydmljZSBNb2R1bGVcbiAqXG4gKiBWZXJpZmljYWNpw7NuIGRlIHZlcnNpw7NuIGRlIGxhIGFwcCBwYXJhIFBXQSAvIHdlYi4gRGV0ZWN0YSBjdcOhbmRvIGhheSB1bmFcbiAqIHZlcnNpw7NuIG51ZXZhIGNvbWJpbmFuZG8gZWwgc2VydmljZSB3b3JrZXIgKGBTd1VwZGF0ZWApIHkgZWwgY29uZmlnIHJlbW90b1xuICogKGBBcHBDb25maWdTZXJ2aWNlYCksIGNvbiBzb3BvcnRlIHBhcmEgYWN0dWFsaXphY2nDs24gb2JsaWdhdG9yaWEgKGhhcmQgZ2F0ZSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIG1haW4udHNcbiAqIGltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbiB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG4gKiBpbXBvcnQgcGtnIGZyb20gJy4uL3BhY2thZ2UuanNvbic7XG4gKlxuICogYm9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbih7IGN1cnJlbnRWZXJzaW9uOiBwa2cudmVyc2lvbiB9KSxcbiAqICAgXSxcbiAqIH0pO1xuICogYGBgXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQge1xuICBWQUxURUNIX0FQUF9WRVJTSU9OLFxuICBBUFBfVkVSU0lPTl9QTEFURk9STV9QTFVHSU4sXG4gIEFQUF9WRVJTSU9OX1JFTU9URV9QTFVHSU4sXG4gIHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbixcbiAgcHJvdmlkZVZhbHRlY2hBcHBWZXJzaW9uSHR0cCxcbn0gZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0IHsgQXBwVmVyc2lvblNlcnZpY2UgfSBmcm9tICcuL2FwcC12ZXJzaW9uLnNlcnZpY2UnO1xuIl19
@@ -14,4 +14,4 @@ export const DEFAULT_APP_VERSION_SERVICE_CONFIG = {
14
14
  currentVersion: '0.0.0',
15
15
  checkIntervalMs: DEFAULT_CHECK_INTERVAL_MS,
16
16
  };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwcC12ZXJzaW9uL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUEwQkg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFzQztJQUNuRixjQUFjLEVBQUUsT0FBTztJQUN2QixlQUFlLEVBQUUseUJBQXlCO0NBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwcFZlcnNpb24gVHlwZXNcbiAqXG4gKiBUaXBvcyBwYXJhIGVsIHNlcnZpY2lvIGRlIHZlcmlmaWNhY2nDs24gZGUgdmVyc2nDs24gZGUgbGEgYXBsaWNhY2nDs24uXG4gKi9cblxuLyoqXG4gKiBFc3RhZG8gZGUgbGEgdmVyc2nDs24gZGUgbGEgYXBsaWNhY2nDs24gcmVzcGVjdG8gYSBsYSB2ZXJzacOzbiBwdWJsaWNhZGEuXG4gKlxuICogLSBgdXAtdG8tZGF0ZWAgICDigJQgbGEgYXBwIGVzdMOhIGFsIGTDrWEsIG5vIGhheSBuYWRhIHF1ZSBoYWNlci5cbiAqIC0gYHVwZGF0ZS1hdmFpbGFibGVgIOKAlCBoYXkgdW5hIHZlcnNpw7NuIG51ZXZhIChidW5kbGUgZGVsIFNXIGxpc3RvIG8gY29uZmlnXG4gKiAgIHJlbW90byBtw6FzIG51ZXZvKS4gRWwgdXN1YXJpbyBwdWVkZSBhY3R1YWxpemFyIHBlcm8gTk8gZXN0w6Egb2JsaWdhZG8uXG4gKiAtIGB1cGRhdGUtcmVxdWlyZWRgIOKAlCBsYSB2ZXJzacOzbiBsb2NhbCBxdWVkw7MgcG9yIGRlYmFqbyBkZSBgbWluVmVyc2lvbmBcbiAqICAgZGVsIGNvbmZpZyByZW1vdG8gKGhhcmQgZ2F0ZSkuIEVsIHVzdWFyaW8gREVCRSBhY3R1YWxpemFyIHBhcmEgY29udGludWFyLlxuICovXG5leHBvcnQgdHlwZSBBcHBWZXJzaW9uU3RhdHVzID0gJ3VwLXRvLWRhdGUnIHwgJ3VwZGF0ZS1hdmFpbGFibGUnIHwgJ3VwZGF0ZS1yZXF1aXJlZCc7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gcGFyYSBlbCBwcm92ZWVkb3IgZGUgQXBwVmVyc2lvblNlcnZpY2UuXG4gKlxuICogQHByb3BlcnR5IGN1cnJlbnRWZXJzaW9uIC0gVmVyc2nDs24gZGVsIGJ1aWxkIGFjdHVhbCBkZSBsYSBhcHAgKHNlbXZlciBzdHJpbmcpLlxuICogICBOb3JtYWxtZW50ZSBwcm92aWVuZSBkZWwgYHZlcnNpb25gIGRlIGBwYWNrYWdlLmpzb25gLlxuICogQHByb3BlcnR5IGNoZWNrSW50ZXJ2YWxNcyAtIEludGVydmFsbyAobXMpIGVudHJlIGxsYW1hZGFzIGFcbiAqICAgYFN3VXBkYXRlLmNoZWNrRm9yVXBkYXRlKClgLiBEZWZhdWx0OiAzMCBtaW51dG9zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcFZlcnNpb25TZXJ2aWNlQ29uZmlnIHtcbiAgY3VycmVudFZlcnNpb246IHN0cmluZztcbiAgY2hlY2tJbnRlcnZhbE1zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEludGVydmFsbyBwb3IgZGVmZWN0byBkZSBjaGVxdWVvIGRlIGFjdHVhbGl6YWNpb25lczogMzAgbWludXRvcy5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0hFQ0tfSU5URVJWQUxfTVMgPSAzMCAqIDYwICogMTAwMDtcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwb3IgZGVmZWN0byBkZWwgc2VydmljaW8uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FQUF9WRVJTSU9OX1NFUlZJQ0VfQ09ORklHOiBSZXF1aXJlZDxBcHBWZXJzaW9uU2VydmljZUNvbmZpZz4gPSB7XG4gIGN1cnJlbnRWZXJzaW9uOiAnMC4wLjAnLFxuICBjaGVja0ludGVydmFsTXM6IERFRkFVTFRfQ0hFQ0tfSU5URVJWQUxfTVMsXG59O1xuXG4vKipcbiAqIFBsdWdpbiBkZSBwbGF0YWZvcm1hIHBhcmEgY29tcG9ydGFtaWVudG8gbmF0aXZvIGRlIGFjdHVhbGl6YWNpb25lcy5cbiAqXG4gKiBJbXBsZW1lbnRhZG8gcG9yIGxhIGFwcCBjb25zdW1pZG9yYSB5IHByb3Zpc3RvIHZpYSBgQVBQX1ZFUlNJT05fUExBVEZPUk1fUExVR0lOYC5cbiAqIFBlcm1pdGUgcmVkaXJpZ2lyIGFsIFBsYXkgU3RvcmUgLyBBcHAgU3RvcmUgZW4gbHVnYXIgZGUgcmVjYXJnYXIgbGEgcMOhZ2luYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gYW5kcm9pZC11cGRhdGUucGx1Z2luLnRzXG4gKiBASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuICogZXhwb3J0IGNsYXNzIEFuZHJvaWRVcGRhdGVQbHVnaW4gaW1wbGVtZW50cyBBcHBWZXJzaW9uUGxhdGZvcm1QbHVnaW4ge1xuICogICBhc3luYyBhcHBseVVwZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAqICAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5teWFwcCcsICdfc3lzdGVtJyk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcFZlcnNpb25QbGF0Zm9ybVBsdWdpbiB7XG4gIGFwcGx5VXBkYXRlKCk6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwcC12ZXJzaW9uL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUEwQkg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFzQztJQUNuRixjQUFjLEVBQUUsT0FBTztJQUN2QixlQUFlLEVBQUUseUJBQXlCO0NBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwcFZlcnNpb24gVHlwZXNcbiAqXG4gKiBUaXBvcyBwYXJhIGVsIHNlcnZpY2lvIGRlIHZlcmlmaWNhY2nDs24gZGUgdmVyc2nDs24gZGUgbGEgYXBsaWNhY2nDs24uXG4gKi9cblxuLyoqXG4gKiBFc3RhZG8gZGUgbGEgdmVyc2nDs24gZGUgbGEgYXBsaWNhY2nDs24gcmVzcGVjdG8gYSBsYSB2ZXJzacOzbiBwdWJsaWNhZGEuXG4gKlxuICogLSBgdXAtdG8tZGF0ZWAgICDigJQgbGEgYXBwIGVzdMOhIGFsIGTDrWEsIG5vIGhheSBuYWRhIHF1ZSBoYWNlci5cbiAqIC0gYHVwZGF0ZS1hdmFpbGFibGVgIOKAlCBoYXkgdW5hIHZlcnNpw7NuIG51ZXZhIChidW5kbGUgZGVsIFNXIGxpc3RvIG8gY29uZmlnXG4gKiAgIHJlbW90byBtw6FzIG51ZXZvKS4gRWwgdXN1YXJpbyBwdWVkZSBhY3R1YWxpemFyIHBlcm8gTk8gZXN0w6Egb2JsaWdhZG8uXG4gKiAtIGB1cGRhdGUtcmVxdWlyZWRgIOKAlCBsYSB2ZXJzacOzbiBsb2NhbCBxdWVkw7MgcG9yIGRlYmFqbyBkZSBgbWluVmVyc2lvbmBcbiAqICAgZGVsIGNvbmZpZyByZW1vdG8gKGhhcmQgZ2F0ZSkuIEVsIHVzdWFyaW8gREVCRSBhY3R1YWxpemFyIHBhcmEgY29udGludWFyLlxuICovXG5leHBvcnQgdHlwZSBBcHBWZXJzaW9uU3RhdHVzID0gJ3VwLXRvLWRhdGUnIHwgJ3VwZGF0ZS1hdmFpbGFibGUnIHwgJ3VwZGF0ZS1yZXF1aXJlZCc7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gcGFyYSBlbCBwcm92ZWVkb3IgZGUgQXBwVmVyc2lvblNlcnZpY2UuXG4gKlxuICogQHByb3BlcnR5IGN1cnJlbnRWZXJzaW9uIC0gVmVyc2nDs24gZGVsIGJ1aWxkIGFjdHVhbCBkZSBsYSBhcHAgKHNlbXZlciBzdHJpbmcpLlxuICogICBOb3JtYWxtZW50ZSBwcm92aWVuZSBkZWwgYHZlcnNpb25gIGRlIGBwYWNrYWdlLmpzb25gLlxuICogQHByb3BlcnR5IGNoZWNrSW50ZXJ2YWxNcyAtIEludGVydmFsbyAobXMpIGVudHJlIGxsYW1hZGFzIGFcbiAqICAgYFN3VXBkYXRlLmNoZWNrRm9yVXBkYXRlKClgLiBEZWZhdWx0OiAzMCBtaW51dG9zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcFZlcnNpb25TZXJ2aWNlQ29uZmlnIHtcbiAgY3VycmVudFZlcnNpb246IHN0cmluZztcbiAgY2hlY2tJbnRlcnZhbE1zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEludGVydmFsbyBwb3IgZGVmZWN0byBkZSBjaGVxdWVvIGRlIGFjdHVhbGl6YWNpb25lczogMzAgbWludXRvcy5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0hFQ0tfSU5URVJWQUxfTVMgPSAzMCAqIDYwICogMTAwMDtcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwb3IgZGVmZWN0byBkZWwgc2VydmljaW8uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FQUF9WRVJTSU9OX1NFUlZJQ0VfQ09ORklHOiBSZXF1aXJlZDxBcHBWZXJzaW9uU2VydmljZUNvbmZpZz4gPSB7XG4gIGN1cnJlbnRWZXJzaW9uOiAnMC4wLjAnLFxuICBjaGVja0ludGVydmFsTXM6IERFRkFVTFRfQ0hFQ0tfSU5URVJWQUxfTVMsXG59O1xuXG4vKipcbiAqIFBsdWdpbiBkZSBwbGF0YWZvcm1hIHBhcmEgY29tcG9ydGFtaWVudG8gbmF0aXZvIGRlIGFjdHVhbGl6YWNpb25lcy5cbiAqXG4gKiBJbXBsZW1lbnRhZG8gcG9yIGxhIGFwcCBjb25zdW1pZG9yYSB5IHByb3Zpc3RvIHZpYSBgQVBQX1ZFUlNJT05fUExBVEZPUk1fUExVR0lOYC5cbiAqIFBlcm1pdGUgcmVkaXJpZ2lyIGFsIFBsYXkgU3RvcmUgLyBBcHAgU3RvcmUgZW4gbHVnYXIgZGUgcmVjYXJnYXIgbGEgcMOhZ2luYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gYW5kcm9pZC11cGRhdGUucGx1Z2luLnRzXG4gKiBASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuICogZXhwb3J0IGNsYXNzIEFuZHJvaWRVcGRhdGVQbHVnaW4gaW1wbGVtZW50cyBBcHBWZXJzaW9uUGxhdGZvcm1QbHVnaW4ge1xuICogICBhc3luYyBhcHBseVVwZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAqICAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5teWFwcCcsICdfc3lzdGVtJyk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcFZlcnNpb25QbGF0Zm9ybVBsdWdpbiB7XG4gIGFwcGx5VXBkYXRlKCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQ29uZmlnIHJlbW90YSBkZSB2ZXJzaW9uZXMgcmV0b3JuYWRhIHBvciBlbCBwbHVnaW4gSFRUUCBvIEFwcENvbmZpZ1NlcnZpY2UuXG4gKlxuICogQ29udHJhdG8gbcOtbmltbyBlc3BlcmFkbyBkZWwgZW5kcG9pbnQ6XG4gKiBgYGBcbiAqIEdFVCAvYXBpL3ZlcnNpb25cbiAqIHsgXCJ2ZXJzaW9uXCI6IFwiMS4yLjNcIiwgXCJtaW5WZXJzaW9uXCI6IFwiMS4wLjBcIiB9XG4gKiBgYGBcbiAqIFNpIGVsIHJlc3BvbnNlIHRpZW5lIG90cmEgZm9ybWEsIHVzYXIgYG1hcFJlc3BvbnNlYCBlbiBgcHJvdmlkZVZhbHRlY2hBcHBWZXJzaW9uSHR0cGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwVmVyc2lvblJlbW90ZUNvbmZpZyB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgbWluVmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQbHVnaW4gZGUgY29uZmlnIHJlbW90YSBwYXJhIGFwcHMgc2luIEZpcmViYXNlL0ZpcmVzdG9yZS5cbiAqXG4gKiBJbXBsZW1lbnRhZG8gcG9yIGxhIGFwcCBjb25zdW1pZG9yYSAobyBnZW5lcmFkbyBjb24gYHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbkh0dHBgKVxuICogeSBwcm92aXN0byB2aWEgYEFQUF9WRVJTSU9OX1JFTU9URV9QTFVHSU5gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcFZlcnNpb25SZW1vdGVQbHVnaW4ge1xuICBnZXRSZW1vdGVDb25maWcoKTogUHJvbWlzZTxBcHBWZXJzaW9uUmVtb3RlQ29uZmlnPjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwYXJhIGBwcm92aWRlVmFsdGVjaEFwcFZlcnNpb25IdHRwYC5cbiAqXG4gKiBAcHJvcGVydHkgdXJsIC0gVVJMIGRlbCBlbmRwb2ludCBkZSB2ZXJzaW9uZXMuXG4gKiBAcHJvcGVydHkgbWFwUmVzcG9uc2UgLSBUcmFuc2Zvcm1hIGVsIHJlc3BvbnNlIGRlIGxhIEFQSSBhbCBjb250cmF0byBlc3TDoW5kYXIuXG4gKiAgIMOadGlsIGN1YW5kbyBlbCBlbmRwb2ludCBleGlzdGVudGUgdGllbmUgb3RyYSBmb3JtYSAoZWouIGB7IGFuZHJvaWQsIHdlYiB9YCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwVmVyc2lvbkh0dHBDb25maWcge1xuICB1cmw6IHN0cmluZztcbiAgbWFwUmVzcG9uc2U/OiAoZGF0YTogdW5rbm93bikgPT4gQXBwVmVyc2lvblJlbW90ZUNvbmZpZztcbn1cbiJdfQ==
@@ -67,4 +67,4 @@ export const SYSTEM_ROLE_DEFAULTS = [
67
67
  displayName: { es: 'Operador', en: 'Operator' },
68
68
  },
69
69
  ];
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL29yZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1R0E7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQWEsRUFBRSxJQUFZO0lBQzFELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9GLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsWUFBb0IsRUFDcEIsS0FBZ0IsRUFDaEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDO0lBQ2hGLElBQUksS0FBSztRQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELDJGQUEyRjtJQUMzRixPQUFPLFlBQVk7U0FDaEIsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFjO0lBQzdDO1FBQ0UsRUFBRSxFQUFFLFFBQVE7UUFDWixJQUFJLEVBQUUsUUFBUTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0tBQ2xEO0lBQ0QsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUM3RjtRQUNFLEVBQUUsRUFBRSxPQUFPO1FBQ1gsSUFBSSxFQUFFLE9BQU87UUFDYixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRTtLQUMxRDtJQUNEO1FBQ0UsRUFBRSxFQUFFLGFBQWE7UUFDakIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUU7S0FDdEQ7SUFDRDtRQUNFLEVBQUUsRUFBRSxnQkFBZ0I7UUFDcEIsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRTtLQUNqRDtJQUNEO1FBQ0UsRUFBRSxFQUFFLGdCQUFnQjtRQUNwQixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFO0tBQ2xEO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0JBQWdCO1FBQ3BCLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7S0FDaEQ7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT3JnVHlwZSA9ICdQUklWQVRFJyB8ICdQVUJMSUMnIHwgJ1BFUlNPTkFMJyB8ICdCVVNJTkVTUyc7XG5leHBvcnQgdHlwZSBPcmdQbGFuID0gJ2ZyZWUnIHwgJ3BybycgfCAnZW50ZXJwcmlzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemF0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHlwZTogT3JnVHlwZTtcbiAgcGxhbjogT3JnUGxhbjtcbiAgb3duZXJJZDogc3RyaW5nO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TXlPcmdzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBvcmdhbml6YXRpb25zOiBPcmdhbml6YXRpb25bXTtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgb3JnYW5pemF0aW9uOiBPcmdhbml6YXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3JnUmVxdWVzdCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogT3JnVHlwZTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlT3JnUmVxdWVzdCB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludml0ZVVzZXJSZXF1ZXN0IHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgcm9sZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52aXRlVXNlclJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaW52aXRlVXJsOiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlYXZlT3JnUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGxlZnRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ01lbWJlciB7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcm9sZXM6IHN0cmluZ1tdO1xuICBhc3NpZ25lZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RPcmdNZW1iZXJzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBtZW1iZXJzOiBPcmdNZW1iZXJbXTtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlbmRpbmdJbnZpdGF0aW9uIHtcbiAgb3JnSWQ6IHN0cmluZztcbiAgb3JnTmFtZTogc3RyaW5nO1xuICByb2xlSWQ6IHN0cmluZztcbiAgaW52aXRlcklkOiBzdHJpbmc7XG4gIGludml0ZXJOYW1lOiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQZW5kaW5nSW52aXRhdGlvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGl0ZW1zOiBQZW5kaW5nSW52aXRhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2VwdEludml0YXRpb25SZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIG9yZ05hbWU6IHN0cmluZztcbiAgcm9sZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnUm9sZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIGlzU3lzdGVtPzogYm9vbGVhbjtcbiAgLyoqIE5vbWJyZSBsZWdpYmxlIHBvciBpZGlvbWEuIEJhY2tlbmQgYXV0b3JpdGF0aXZvIChBRFItMDI0KS4gbmlsIHBhcmEgcm9sZXMgY3VzdG9tLiAqL1xuICBkaXNwbGF5TmFtZT86IHsgZXM/OiBzdHJpbmc7IGVuPzogc3RyaW5nOyBbbGFuZzogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG59XG5cbi8qKlxuICogUmVzdWVsdmUgZWwgbGFiZWwgbGVnaWJsZSBkZSB1biByb2wgcGFyYSBlbCBpZGlvbWEgZGFkby5cbiAqIEZhbGxiYWNrOiBkaXNwbGF5TmFtZSBlbiBvdHJvIGlkaW9tYSDihpIgcm9sZS5uYW1lIChzbmFrZV9jYXNlKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVSb2xlTGFiZWwocm9sZTogT3JnUm9sZSwgbGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGFiZWwgPSByb2xlLmRpc3BsYXlOYW1lPy5bbGFuZ10gPz8gcm9sZS5kaXNwbGF5TmFtZT8uWydlcyddID8/IHJvbGUuZGlzcGxheU5hbWU/LlsnZW4nXTtcbiAgcmV0dXJuIGxhYmVsID8/IHJvbGUubmFtZTtcbn1cblxuLyoqXG4gKiBSZXN1ZWx2ZSBlbCBsYWJlbCBkZSB1biByb2wgYSBwYXJ0aXIgZGUgdW5hIGxpc3RhIGRlIHJvbGVzIGRpc3BvbmlibGVzLlxuICogQnVzY2EgcG9yIGlkIG8gbmFtZSDihpIgdXNhIHJlc29sdmVSb2xlTGFiZWwg4oaSIGZhbGxiYWNrOiBodW1hbml6YSBlbCBuYW1lLlxuICpcbiAqIEZ1bmNpw7NuIGNhbsOzbmljYSBkZSByZXNvbHVjacOzbi4gUmVlbXBsYXphIGxvcyBrZXlNYXBzIG1hbnVhbGVzIGVuIG9yZy12aWV3IHlcbiAqIG1lbWJlci1kZXRhaWwtbW9kYWwuIEN1YnJlIHJvbGVzIGRlbCBzaXN0ZW1hIFkgcm9sZXMgY3VzdG9tIGRlIGFwcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVSb2xlTGFiZWxGcm9tTGlzdChcbiAgcm9sZUlkT3JOYW1lOiBzdHJpbmcsXG4gIHJvbGVzOiBPcmdSb2xlW10sXG4gIGxhbmc6IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgY29uc3QgZm91bmQgPSByb2xlcy5maW5kKHIgPT4gci5pZCA9PT0gcm9sZUlkT3JOYW1lIHx8IHIubmFtZSA9PT0gcm9sZUlkT3JOYW1lKTtcbiAgaWYgKGZvdW5kKSByZXR1cm4gcmVzb2x2ZVJvbGVMYWJlbChmb3VuZCwgbGFuZyk7XG4gIC8vIEh1bWFuaXphIGVsIG5vbWJyZSB0w6ljbmljbyBjb21vIMO6bHRpbW8gcmVjdXJzbyAoZWouIFwiYmluZ29fdGFxdWlsbGFcIiDihpIgXCJCaW5nbyBUYXF1aWxsYVwiKVxuICByZXR1cm4gcm9sZUlkT3JOYW1lXG4gICAgLnNwbGl0KC9bXy1dLylcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLm1hcCh3ID0+IHcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3LnNsaWNlKDEpKVxuICAgIC5qb2luKCcgJyk7XG59XG5cbi8qKlxuICogUm9sZXMgZGVsIHNpc3RlbWEgY29uIGRpc3BsYXlOYW1lIChlcy9lbikuIEVzcGVqbyBkZSBTeXN0ZW1Sb2xlTGFiZWxzIChiYWNrZW5kIEdvKS5cbiAqIEJhY2tlbmQgZXMgYXV0b3JpdGF0aXZvIOKAlCBlc3RvIGVzIHVuIHNlZWQgcGFyYSByZW5kZXJzIHByZXZpb3MgYSBsYSBjYXJnYSBkZSBsYSBBUEkuXG4gKi9cbmV4cG9ydCBjb25zdCBTWVNURU1fUk9MRV9ERUZBVUxUUzogT3JnUm9sZVtdID0gW1xuICB7XG4gICAgaWQ6ICd2aWV3ZXInLFxuICAgIG5hbWU6ICd2aWV3ZXInLFxuICAgIGlzU3lzdGVtOiB0cnVlLFxuICAgIGRpc3BsYXlOYW1lOiB7IGVzOiAnVmlzdWFsaXphZG9yJywgZW46ICdWaWV3ZXInIH0sXG4gIH0sXG4gIHsgaWQ6ICdlZGl0b3InLCBuYW1lOiAnZWRpdG9yJywgaXNTeXN0ZW06IHRydWUsIGRpc3BsYXlOYW1lOiB7IGVzOiAnRWRpdG9yJywgZW46ICdFZGl0b3InIH0gfSxcbiAge1xuICAgIGlkOiAnYWRtaW4nLFxuICAgIG5hbWU6ICdhZG1pbicsXG4gICAgaXNTeXN0ZW06IHRydWUsXG4gICAgZGlzcGxheU5hbWU6IHsgZXM6ICdBZG1pbmlzdHJhZG9yJywgZW46ICdBZG1pbmlzdHJhdG9yJyB9LFxuICB9LFxuICB7XG4gICAgaWQ6ICdiaW5nb19hZG1pbicsXG4gICAgbmFtZTogJ2JpbmdvX2FkbWluJyxcbiAgICBpc1N5c3RlbTogdHJ1ZSxcbiAgICBkaXNwbGF5TmFtZTogeyBlczogJ0FkbWluIEJpbmdvJywgZW46ICdCaW5nbyBBZG1pbicgfSxcbiAgfSxcbiAge1xuICAgIGlkOiAnYmluZ29fdGVzb3Jlcm8nLFxuICAgIG5hbWU6ICdiaW5nb190ZXNvcmVybycsXG4gICAgaXNTeXN0ZW06IHRydWUsXG4gICAgZGlzcGxheU5hbWU6IHsgZXM6ICdUZXNvcmVybycsIGVuOiAnVHJlYXN1cmVyJyB9LFxuICB9LFxuICB7XG4gICAgaWQ6ICdiaW5nb190YXF1aWxsYScsXG4gICAgbmFtZTogJ2JpbmdvX3RhcXVpbGxhJyxcbiAgICBpc1N5c3RlbTogdHJ1ZSxcbiAgICBkaXNwbGF5TmFtZTogeyBlczogJ1RhcXVpbGxhJywgZW46ICdCb3ggT2ZmaWNlJyB9LFxuICB9LFxuICB7XG4gICAgaWQ6ICdiaW5nb19vcGVyYXRvcicsXG4gICAgbmFtZTogJ2JpbmdvX29wZXJhdG9yJyxcbiAgICBpc1N5c3RlbTogdHJ1ZSxcbiAgICBkaXNwbGF5TmFtZTogeyBlczogJ09wZXJhZG9yJywgZW46ICdPcGVyYXRvcicgfSxcbiAgfSxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9yZ1JvbGVzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICByb2xlczogT3JnUm9sZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZU1lbWJlclJvbGVSZXF1ZXN0IHtcbiAgcm9sZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlTWVtYmVyUm9sZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIHJvbGVJZDogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVtYmVyIGltcG9ydCAoQURSLTAyMykg4oCUIGNyZWFjacOzbiBkZSB1c3VhcmlvcyBwb3Igb3JnLCBzaW5nbGUgKyBidWxrLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW1wb3J0T25Db25mbGljdCA9ICdhc3NpZ25Sb2xlJyB8ICdza2lwJyB8ICdlcnJvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0VXNlclJvdyB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHJvbGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0TWVtYmVyc1JlcXVlc3Qge1xuICB1c2VyczogSW1wb3J0VXNlclJvd1tdO1xuICBvbkNvbmZsaWN0PzogSW1wb3J0T25Db25mbGljdDtcbiAgc2VuZEFjdGl2YXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBJbXBvcnRSb3dTdGF0dXMgPSAnY3JlYXRlZCcgfCAnYXNzaWduZWQnIHwgJ3NraXBwZWQnIHwgJ2Vycm9yJztcblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRSb3dSZXN1bHQge1xuICBlbWFpbDogc3RyaW5nO1xuICBzdGF0dXM6IEltcG9ydFJvd1N0YXR1cztcbiAgdXNlcklkPzogc3RyaW5nO1xuICBhY3RpdmF0aW9uPzogJ3NlbnQnIHwgJ3BlbmRpbmcnO1xuICByZWFzb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0U3VtbWFyeSB7XG4gIGNyZWF0ZWQ6IG51bWJlcjtcbiAgYXNzaWduZWQ6IG51bWJlcjtcbiAgc2tpcHBlZDogbnVtYmVyO1xuICBmYWlsZWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRNZW1iZXJzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdW1tYXJ5OiBJbXBvcnRTdW1tYXJ5O1xuICByZXN1bHRzOiBJbXBvcnRSb3dSZXN1bHRbXTtcbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL29yZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5R0E7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQWEsRUFBRSxJQUFZO0lBQzFELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9GLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsWUFBb0IsRUFDcEIsS0FBZ0IsRUFDaEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDO0lBQ2hGLElBQUksS0FBSztRQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELDJGQUEyRjtJQUMzRixPQUFPLFlBQVk7U0FDaEIsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFjO0lBQzdDO1FBQ0UsRUFBRSxFQUFFLFFBQVE7UUFDWixJQUFJLEVBQUUsUUFBUTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0tBQ2xEO0lBQ0QsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUM3RjtRQUNFLEVBQUUsRUFBRSxPQUFPO1FBQ1gsSUFBSSxFQUFFLE9BQU87UUFDYixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRTtLQUMxRDtJQUNEO1FBQ0UsRUFBRSxFQUFFLGFBQWE7UUFDakIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUU7S0FDdEQ7SUFDRDtRQUNFLEVBQUUsRUFBRSxnQkFBZ0I7UUFDcEIsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRTtLQUNqRDtJQUNEO1FBQ0UsRUFBRSxFQUFFLGdCQUFnQjtRQUNwQixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFO0tBQ2xEO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0JBQWdCO1FBQ3BCLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7S0FDaEQ7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT3JnVHlwZSA9ICdQUklWQVRFJyB8ICdQVUJMSUMnIHwgJ1BFUlNPTkFMJyB8ICdCVVNJTkVTUyc7XG5leHBvcnQgdHlwZSBPcmdQbGFuID0gJ2ZyZWUnIHwgJ3BybycgfCAnZW50ZXJwcmlzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemF0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHlwZTogT3JnVHlwZTtcbiAgcGxhbjogT3JnUGxhbjtcbiAgb3duZXJJZDogc3RyaW5nO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TXlPcmdzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBvcmdhbml6YXRpb25zOiBPcmdhbml6YXRpb25bXTtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgb3JnYW5pemF0aW9uOiBPcmdhbml6YXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3JnUmVxdWVzdCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogT3JnVHlwZTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlT3JnUmVxdWVzdCB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludml0ZVVzZXJSZXF1ZXN0IHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgcm9sZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52aXRlVXNlclJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaW52aXRlVXJsOiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlYXZlT3JnUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGxlZnRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ01lbWJlciB7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcm9sZXM6IHN0cmluZ1tdO1xuICBhc3NpZ25lZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RPcmdNZW1iZXJzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBtZW1iZXJzOiBPcmdNZW1iZXJbXTtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xuICAvKiogQmFja2VuZCBTU09UIHBhcmEgbGFiZWxzIGRlIHJvbGVzIGVuIGxhIHJlc3B1ZXN0YSAoQURSLTAyNCBQaGFzZSAyKS4gKi9cbiAgcm9sZURpc3BsYXlOYW1lcz86IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlbmRpbmdJbnZpdGF0aW9uIHtcbiAgb3JnSWQ6IHN0cmluZztcbiAgb3JnTmFtZTogc3RyaW5nO1xuICByb2xlSWQ6IHN0cmluZztcbiAgaW52aXRlcklkOiBzdHJpbmc7XG4gIGludml0ZXJOYW1lOiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQZW5kaW5nSW52aXRhdGlvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGl0ZW1zOiBQZW5kaW5nSW52aXRhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2VwdEludml0YXRpb25SZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIG9yZ05hbWU6IHN0cmluZztcbiAgcm9sZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnUm9sZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIGlzU3lzdGVtPzogYm9vbGVhbjtcbiAgLyoqIE5vbWJyZSBsZWdpYmxlIHBvciBpZGlvbWEuIEJhY2tlbmQgYXV0b3JpdGF0aXZvIChBRFItMDI0KS4gbmlsIHBhcmEgcm9sZXMgY3VzdG9tLiAqL1xuICBkaXNwbGF5TmFtZT86IHsgZXM/OiBzdHJpbmc7IGVuPzogc3RyaW5nOyBbbGFuZzogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG59XG5cbi8qKlxuICogUmVzdWVsdmUgZWwgbGFiZWwgbGVnaWJsZSBkZSB1biByb2wgcGFyYSBlbCBpZGlvbWEgZGFkby5cbiAqIEZhbGxiYWNrOiBkaXNwbGF5TmFtZSBlbiBvdHJvIGlkaW9tYSDihpIgcm9sZS5uYW1lIChzbmFrZV9jYXNlKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVSb2xlTGFiZWwocm9sZTogT3JnUm9sZSwgbGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGFiZWwgPSByb2xlLmRpc3BsYXlOYW1lPy5bbGFuZ10gPz8gcm9sZS5kaXNwbGF5TmFtZT8uWydlcyddID8/IHJvbGUuZGlzcGxheU5hbWU/LlsnZW4nXTtcbiAgcmV0dXJuIGxhYmVsID8/IHJvbGUubmFtZTtcbn1cblxuLyoqXG4gKiBSZXN1ZWx2ZSBlbCBsYWJlbCBkZSB1biByb2wgYSBwYXJ0aXIgZGUgdW5hIGxpc3RhIGRlIHJvbGVzIGRpc3BvbmlibGVzLlxuICogQnVzY2EgcG9yIGlkIG8gbmFtZSDihpIgdXNhIHJlc29sdmVSb2xlTGFiZWwg4oaSIGZhbGxiYWNrOiBodW1hbml6YSBlbCBuYW1lLlxuICpcbiAqIEZ1bmNpw7NuIGNhbsOzbmljYSBkZSByZXNvbHVjacOzbi4gUmVlbXBsYXphIGxvcyBrZXlNYXBzIG1hbnVhbGVzIGVuIG9yZy12aWV3IHlcbiAqIG1lbWJlci1kZXRhaWwtbW9kYWwuIEN1YnJlIHJvbGVzIGRlbCBzaXN0ZW1hIFkgcm9sZXMgY3VzdG9tIGRlIGFwcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVSb2xlTGFiZWxGcm9tTGlzdChcbiAgcm9sZUlkT3JOYW1lOiBzdHJpbmcsXG4gIHJvbGVzOiBPcmdSb2xlW10sXG4gIGxhbmc6IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgY29uc3QgZm91bmQgPSByb2xlcy5maW5kKHIgPT4gci5pZCA9PT0gcm9sZUlkT3JOYW1lIHx8IHIubmFtZSA9PT0gcm9sZUlkT3JOYW1lKTtcbiAgaWYgKGZvdW5kKSByZXR1cm4gcmVzb2x2ZVJvbGVMYWJlbChmb3VuZCwgbGFuZyk7XG4gIC8vIEh1bWFuaXphIGVsIG5vbWJyZSB0w6ljbmljbyBjb21vIMO6bHRpbW8gcmVjdXJzbyAoZWouIFwiYmluZ29fdGFxdWlsbGFcIiDihpIgXCJCaW5nbyBUYXF1aWxsYVwiKVxuICByZXR1cm4gcm9sZUlkT3JOYW1lXG4gICAgLnNwbGl0KC9bXy1dLylcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLm1hcCh3ID0+IHcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3LnNsaWNlKDEpKVxuICAgIC5qb2luKCcgJyk7XG59XG5cbi8qKlxuICogUm9sZXMgZGVsIHNpc3RlbWEgY29uIGRpc3BsYXlOYW1lIChlcy9lbikuIEVzcGVqbyBkZSBTeXN0ZW1Sb2xlTGFiZWxzIChiYWNrZW5kIEdvKS5cbiAqIEJhY2tlbmQgZXMgYXV0b3JpdGF0aXZvIOKAlCBlc3RvIGVzIHVuIHNlZWQgcGFyYSByZW5kZXJzIHByZXZpb3MgYSBsYSBjYXJnYSBkZSBsYSBBUEkuXG4gKi9cbmV4cG9ydCBjb25zdCBTWVNURU1fUk9MRV9ERUZBVUxUUzogT3JnUm9sZVtdID0gW1xuICB7XG4gICAgaWQ6ICd2aWV3ZXInLFxuICAgIG5hbWU6ICd2aWV3ZXInLFxuICAgIGlzU3lzdGVtOiB0cnVlLFxuICAgIGRpc3BsYXlOYW1lOiB7IGVzOiAnVmlzdWFsaXphZG9yJywgZW46ICdWaWV3ZXInIH0sXG4gIH0sXG4gIHsgaWQ6ICdlZGl0b3InLCBuYW1lOiAnZWRpdG9yJywgaXNTeXN0ZW06IHRydWUsIGRpc3BsYXlOYW1lOiB7IGVzOiAnRWRpdG9yJywgZW46ICdFZGl0b3InIH0gfSxcbiAge1xuICAgIGlkOiAnYWRtaW4nLFxuICAgIG5hbWU6ICdhZG1pbicsXG4gICAgaXNTeXN0ZW06IHRydWUsXG4gICAgZGlzcGxheU5hbWU6IHsgZXM6ICdBZG1pbmlzdHJhZG9yJywgZW46ICdBZG1pbmlzdHJhdG9yJyB9LFxuICB9LFxuICB7XG4gICAgaWQ6ICdiaW5nb19hZG1pbicsXG4gICAgbmFtZTogJ2JpbmdvX2FkbWluJyxcbiAgICBpc1N5c3RlbTogdHJ1ZSxcbiAgICBkaXNwbGF5TmFtZTogeyBlczogJ0FkbWluIEJpbmdvJywgZW46ICdCaW5nbyBBZG1pbicgfSxcbiAgfSxcbiAge1xuICAgIGlkOiAnYmluZ29fdGVzb3Jlcm8nLFxuICAgIG5hbWU6ICdiaW5nb190ZXNvcmVybycsXG4gICAgaXNTeXN0ZW06IHRydWUsXG4gICAgZGlzcGxheU5hbWU6IHsgZXM6ICdUZXNvcmVybycsIGVuOiAnVHJlYXN1cmVyJyB9LFxuICB9LFxuICB7XG4gICAgaWQ6ICdiaW5nb190YXF1aWxsYScsXG4gICAgbmFtZTogJ2JpbmdvX3RhcXVpbGxhJyxcbiAgICBpc1N5c3RlbTogdHJ1ZSxcbiAgICBkaXNwbGF5TmFtZTogeyBlczogJ1RhcXVpbGxhJywgZW46ICdCb3ggT2ZmaWNlJyB9LFxuICB9LFxuICB7XG4gICAgaWQ6ICdiaW5nb19vcGVyYXRvcicsXG4gICAgbmFtZTogJ2JpbmdvX29wZXJhdG9yJyxcbiAgICBpc1N5c3RlbTogdHJ1ZSxcbiAgICBkaXNwbGF5TmFtZTogeyBlczogJ09wZXJhZG9yJywgZW46ICdPcGVyYXRvcicgfSxcbiAgfSxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9yZ1JvbGVzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICByb2xlczogT3JnUm9sZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZU1lbWJlclJvbGVSZXF1ZXN0IHtcbiAgcm9sZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlTWVtYmVyUm9sZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIHJvbGVJZDogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVtYmVyIGltcG9ydCAoQURSLTAyMykg4oCUIGNyZWFjacOzbiBkZSB1c3VhcmlvcyBwb3Igb3JnLCBzaW5nbGUgKyBidWxrLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW1wb3J0T25Db25mbGljdCA9ICdhc3NpZ25Sb2xlJyB8ICdza2lwJyB8ICdlcnJvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0VXNlclJvdyB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHJvbGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0TWVtYmVyc1JlcXVlc3Qge1xuICB1c2VyczogSW1wb3J0VXNlclJvd1tdO1xuICBvbkNvbmZsaWN0PzogSW1wb3J0T25Db25mbGljdDtcbiAgc2VuZEFjdGl2YXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBJbXBvcnRSb3dTdGF0dXMgPSAnY3JlYXRlZCcgfCAnYXNzaWduZWQnIHwgJ3NraXBwZWQnIHwgJ2Vycm9yJztcblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRSb3dSZXN1bHQge1xuICBlbWFpbDogc3RyaW5nO1xuICBzdGF0dXM6IEltcG9ydFJvd1N0YXR1cztcbiAgdXNlcklkPzogc3RyaW5nO1xuICBhY3RpdmF0aW9uPzogJ3NlbnQnIHwgJ3BlbmRpbmcnO1xuICByZWFzb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0U3VtbWFyeSB7XG4gIGNyZWF0ZWQ6IG51bWJlcjtcbiAgYXNzaWduZWQ6IG51bWJlcjtcbiAgc2tpcHBlZDogbnVtYmVyO1xuICBmYWlsZWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRNZW1iZXJzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdW1tYXJ5OiBJbXBvcnRTdW1tYXJ5O1xuICByZXN1bHRzOiBJbXBvcnRSb3dSZXN1bHRbXTtcbn1cbiJdfQ==
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.22';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4yMic7XG4iXX0=
5
+ export const VERSION = '4.0.24';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4yNCc7XG4iXX0=