nuxeo-development-framework 5.6.9 → 5.7.1

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.
@@ -67,16 +67,13 @@ export class TranslationService {
67
67
  * @param fallback Language code to fall back to if the first one was unavailable
68
68
  */
69
69
  loadTranslation(lang, fallback) {
70
- let clientTranslation;
71
70
  if (lang === Lang.Arabic) {
72
71
  this.renderer.addClass(document.body, 'rtl');
73
72
  this.isArabic.next(true);
74
- clientTranslation = __classPrivateFieldGet(this, _TranslationService_instances, "a", _TranslationService_ClientTranslationFiles_get).arFile;
75
73
  }
76
74
  else {
77
75
  this.renderer.removeClass(document.body, 'rtl');
78
76
  this.isArabic.next(false);
79
- clientTranslation = __classPrivateFieldGet(this, _TranslationService_instances, "a", _TranslationService_ClientTranslationFiles_get).enFile;
80
77
  }
81
78
  const arabicFile$ = this.getOrCreateTranslationFile('ar');
82
79
  const englishFile$ = this.getOrCreateTranslationFile('en');
@@ -84,7 +81,6 @@ export class TranslationService {
84
81
  arabicFile$,
85
82
  englishFile$,
86
83
  this.translate.getTranslation(lang),
87
- clientTranslation
88
84
  ]).subscribe((res) => {
89
85
  this.arabicFile = res[0];
90
86
  this.englishFile = res[1];
@@ -92,7 +88,7 @@ export class TranslationService {
92
88
  let ArorEnFile = lang === 'en'
93
89
  ? JSON.parse(res[1].properties['note:note'])
94
90
  : JSON.parse(res[0].properties['note:note']);
95
- this.translate.setTranslation(this.translate.currentLang, Object.assign(Object.assign({}, (res[3] || {})), ArorEnFile), true);
91
+ this.translate.setTranslation(this.translate.currentLang, Object.assign(Object.assign({}, (__classPrivateFieldGet(this, _TranslationService_instances, "a", _TranslationService_ClientTranslationFiles_get)[lang] || {})), ArorEnFile), true);
96
92
  this.onTranslationChanged(lang);
97
93
  }, () => {
98
94
  if (fallback && fallback !== lang) {
@@ -184,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
184
180
  type: Inject,
185
181
  args: [TRANSLATION_PROVIDER]
186
182
  }] }]; } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdqRCxPQUFPLEVBQTBCLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFHaEcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ3BELDRDQUE0QyxDQUM3QyxDQUFDO0FBVUYsTUFBTSxPQUFPLGtCQUFrQjtJQVc3QixZQUNTLFNBQTJCLEVBQzFCLGVBQWlDLEVBQ2pDLFlBQWdDLEVBQ2hDLHNCQUE4QyxFQUM5QyxTQUEyQixFQUMzQixZQUEwQixFQUNILFdBQVcsRUFDQSxTQUFnQztRQVBuRSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDSCxnQkFBVyxHQUFYLFdBQVcsQ0FBQTs7UUFWNUMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBWXZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckksSUFBSSxDQUFDLFlBQVksR0FBMkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckMsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMzRDtTQUNGO1FBQ0Qsc0JBQXNCO2FBQ25CLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1lBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtnQkFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUN2RDtxQkFBTTtvQkFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDeEM7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxPQUFlLEVBQUUsRUFBRSxPQUFlLEVBQUU7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBS0Q7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsUUFBaUI7UUFDN0MsSUFBSSxpQkFBa0QsQ0FBQztRQUN2RCxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsaUJBQWlCLEdBQUcsdUJBQUEsSUFBSSxxRkFBd0IsQ0FBQyxNQUFNLENBQUE7U0FDeEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsaUJBQWlCLEdBQUcsdUJBQUEsSUFBSSxxRkFBd0IsQ0FBQyxNQUFNLENBQUE7U0FDeEQ7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELFFBQVEsQ0FBQztZQUNQLFdBQVc7WUFDWCxZQUFZO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ25DLGlCQUFpQjtTQUNsQixDQUFDLENBQUMsU0FBUyxDQUNWLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixJQUFJLFVBQVUsR0FDWixJQUFJLEtBQUssSUFBSTtnQkFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxrQ0FDckIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUssVUFBVSxHQUNsQyxJQUFJLENBQ0wsQ0FBQztZQUVGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxRQUFRLElBQUksUUFBUSxLQUFLLElBQUksRUFBRTtnQkFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLElBQVk7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDdEMsSUFBSSxFQUFFLElBQUk7WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7U0FDN0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsSUFBWTtRQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUNELEdBQTJCLEVBQzNCLGlCQUEwQjtRQUUxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FDTCxHQUEyQixFQUMzQixpQkFBMEI7UUFFMUIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQUk7UUFDN0IsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsK0JBQStCLEVBQUU7WUFDOUYsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtTQUNyRSxDQUFDO2FBQ0QsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQzFCLE9BQU8sQ0FBQztZQUNQLE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsR0FBRzthQUNoQjtTQUNGLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDcEMsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzFCLFVBQVUsRUFBRTthQUNaLE9BQU8sQ0FBQztZQUNQLFVBQVUsRUFBRSxHQUFHO1NBQ2hCLENBQUM7YUFDRCxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUN2QixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OztJQXJJQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQywwQkFBMEIsQ0FBQztBQUNoRSxDQUFDO2dIQS9EVSxrQkFBa0Isc05Ba0JuQixhQUFhLGFBQ0Qsb0JBQW9CO29IQW5CL0Isa0JBQWtCLGNBRmpCLE1BQU07NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBbUJJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24vYXBwLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL2VudW1zL2xhbmd1YWdlLmVudW0nO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2NhbFN0b3JhZy9sb2NhbC1zdG9yYWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLCBVc2VyUHJlZmVyZW5jZVZhbHVlcyB9IGZyb20gJy4uL3VzZXIvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBUUkFOU0xBVElPTl9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcclxuICAnSW5qZWN0aW9uIHRva2VuIGZvciB0cmFuc2xhdGlvbiBwcm92aWRlcnMuJ1xyXG4pO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvblByb3ZpZGVyIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc291cmNlOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblNlcnZpY2Uge1xyXG4gIHB1YmxpYyBhcmFiaWNGaWxlO1xyXG4gIHB1YmxpYyBlbmdsaXNoRmlsZTtcclxuICBkZWZhdWx0TGFuZzogc3RyaW5nO1xyXG4gIHVzZXJMYW5nOiBzdHJpbmc7XHJcbiAgY3VzdG9tTG9hZGVyOiBUcmFuc2xhdGVMb2FkZXJTZXJ2aWNlO1xyXG4gIGxhbmc6IHN0cmluZztcclxuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcbiAgaXNBcmFiaWMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBpc0FyYWJpYyQgPSB0aGlzLmlzQXJhYmljLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHRyYW5zbGF0aW9uQXBpTmFtZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcclxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRSQU5TTEFUSU9OX1BST1ZJREVSKSBwcm92aWRlcnM6IFRyYW5zbGF0aW9uUHJvdmlkZXJbXVxyXG4gICkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbkFwaU5hbWUgPSB0aGlzLmFwcENvbmZpZy5teUNvbmZpZ3VyYXRpb25bJ3RyYW5zbGF0aW9uQXBpJ10gPyB0aGlzLmFwcENvbmZpZy5teUNvbmZpZ3VyYXRpb25bJ3RyYW5zbGF0aW9uQXBpJ10gOiBudWxsO1xyXG4gICAgdGhpcy5jdXN0b21Mb2FkZXIgPSA8VHJhbnNsYXRlTG9hZGVyU2VydmljZT50aGlzLnRyYW5zbGF0ZS5jdXJyZW50TG9hZGVyO1xyXG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuXHJcbiAgICB0aGlzLmRlZmF1bHRMYW5nID0gJ2VuJztcclxuICAgIHRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyh0aGlzLmRlZmF1bHRMYW5nKTtcclxuICAgIHRoaXMuY3VzdG9tTG9hZGVyLnNldERlZmF1bHRMYW5nKHRoaXMuZGVmYXVsdExhbmcpO1xyXG5cclxuICAgIGlmIChwcm92aWRlcnMgJiYgcHJvdmlkZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiBwcm92aWRlcnMpIHtcclxuICAgICAgICB0aGlzLmFkZFRyYW5zbGF0aW9uRm9sZGVyKHByb3ZpZGVyLm5hbWUsIHByb3ZpZGVyLnNvdXJjZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcclxuICAgICAgLnNlbGVjdChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZSkgPT4ge1xyXG4gICAgICAgIGlmIChsb2NhbGUpIHtcclxuICAgICAgICAgIHRoaXMudXNlckxhbmcgPSBsb2NhbGUuc3BsaXQoJy0nKVswXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50KSB7XHJcbiAgICAgICAgICBpZiAodGhpcy51c2VyTGFuZykge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRUcmFuc2xhdGlvbih0aGlzLnVzZXJMYW5nLCB0aGlzLmRlZmF1bHRMYW5nKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9uKHRoaXMuZGVmYXVsdExhbmcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIGEgbmV3IGZvbGRlciBvZiB0cmFuc2xhdGlvbiBzb3VyY2UgZmlsZXMuXHJcbiAgICogQHBhcmFtIG5hbWUgTmFtZSBmb3IgdGhlIHRyYW5zbGF0aW9uIHByb3ZpZGVyXHJcbiAgICogQHBhcmFtIHBhdGggUGF0aCB0byB0aGUgZm9sZGVyXHJcbiAgICovXHJcbiAgYWRkVHJhbnNsYXRpb25Gb2xkZXIobmFtZTogc3RyaW5nID0gJycsIHBhdGg6IHN0cmluZyA9ICcnKSB7XHJcbiAgICBpZiAoIXRoaXMuY3VzdG9tTG9hZGVyLnByb3ZpZGVyUmVnaXN0ZXJlZChuYW1lKSkge1xyXG4gICAgICB0aGlzLmN1c3RvbUxvYWRlci5yZWdpc3RlclByb3ZpZGVyKG5hbWUsIHBhdGgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0ICNDbGllbnRUcmFuc2xhdGlvbkZpbGVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclByZWZlcmVuY2VzU2VydmljZS5jbGllbnRDdXN0b21UcmFuc2xhdGVGaWxlcztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogTG9hZHMgYSB0cmFuc2xhdGlvbiBmaWxlLlxyXG4gICAqIEBwYXJhbSBsYW5nIExhbmd1YWdlIGNvZGUgZm9yIHRoZSBsYW5ndWFnZSB0byBsb2FkXHJcbiAgICogQHBhcmFtIGZhbGxiYWNrIExhbmd1YWdlIGNvZGUgdG8gZmFsbCBiYWNrIHRvIGlmIHRoZSBmaXJzdCBvbmUgd2FzIHVuYXZhaWxhYmxlXHJcbiAgICovXHJcbiAgbG9hZFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZywgZmFsbGJhY2s/OiBzdHJpbmcpIHtcclxuICAgIGxldCBjbGllbnRUcmFuc2xhdGlvbjogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcclxuICAgIGlmIChsYW5nID09PSBMYW5nLkFyYWJpYykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksICdydGwnKTtcclxuICAgICAgdGhpcy5pc0FyYWJpYy5uZXh0KHRydWUpO1xyXG4gICAgICBjbGllbnRUcmFuc2xhdGlvbiA9IHRoaXMuI0NsaWVudFRyYW5zbGF0aW9uRmlsZXMuYXJGaWxlXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICdydGwnKTtcclxuICAgICAgdGhpcy5pc0FyYWJpYy5uZXh0KGZhbHNlKTtcclxuICAgICAgY2xpZW50VHJhbnNsYXRpb24gPSB0aGlzLiNDbGllbnRUcmFuc2xhdGlvbkZpbGVzLmVuRmlsZVxyXG4gICAgfVxyXG4gICAgY29uc3QgYXJhYmljRmlsZSQgPSB0aGlzLmdldE9yQ3JlYXRlVHJhbnNsYXRpb25GaWxlKCdhcicpO1xyXG4gICAgY29uc3QgZW5nbGlzaEZpbGUkID0gdGhpcy5nZXRPckNyZWF0ZVRyYW5zbGF0aW9uRmlsZSgnZW4nKTtcclxuXHJcbiAgICBmb3JrSm9pbihbXHJcbiAgICAgIGFyYWJpY0ZpbGUkLFxyXG4gICAgICBlbmdsaXNoRmlsZSQsXHJcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldFRyYW5zbGF0aW9uKGxhbmcpLFxyXG4gICAgICBjbGllbnRUcmFuc2xhdGlvblxyXG4gICAgXSkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmFyYWJpY0ZpbGUgPSByZXNbMF07XHJcbiAgICAgICAgdGhpcy5lbmdsaXNoRmlsZSA9IHJlc1sxXTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZyk7XHJcbiAgICAgICAgbGV0IEFyb3JFbkZpbGUgPVxyXG4gICAgICAgICAgbGFuZyA9PT0gJ2VuJ1xyXG4gICAgICAgICAgICA/IEpTT04ucGFyc2UocmVzWzFdLnByb3BlcnRpZXNbJ25vdGU6bm90ZSddKVxyXG4gICAgICAgICAgICA6IEpTT04ucGFyc2UocmVzWzBdLnByb3BlcnRpZXNbJ25vdGU6bm90ZSddKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXRUcmFuc2xhdGlvbihcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nLFxyXG4gICAgICAgICAgeyAuLi4ocmVzWzNdIHx8IHt9KSwgLi4uQXJvckVuRmlsZSB9LFxyXG4gICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZWQobGFuZyk7XHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAoZmFsbGJhY2sgJiYgZmFsbGJhY2sgIT09IGxhbmcpIHtcclxuICAgICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9uKGZhbGxiYWNrKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VycyBhIG5vdGlmaWNhdGlvbiBjYWxsYmFjayB3aGVuIHRoZSB0cmFuc2xhdGlvbiBsYW5ndWFnZSBjaGFuZ2VzLlxyXG4gICAqIEBwYXJhbSBsYW5nIFRoZSBuZXcgbGFuZ3VhZ2UgY29kZVxyXG4gICAqL1xyXG4gIG9uVHJhbnNsYXRpb25DaGFuZ2VkKGxhbmc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25UcmFuc2xhdGlvbkNoYW5nZS5uZXh0KHtcclxuICAgICAgbGFuZzogbGFuZyxcclxuICAgICAgdHJhbnNsYXRpb25zOiB0aGlzLmN1c3RvbUxvYWRlci5nZXRGdWxsVHJhbnNsYXRpb25KU09OKGxhbmcpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0YXJnZXQgbGFuZ3VhZ2UgZm9yIHRyYW5zbGF0aW9ucy5cclxuICAgKiBAcGFyYW0gbGFuZyBDb2RlIG5hbWUgZm9yIHRoZSBsYW5ndWFnZVxyXG4gICAqIEByZXR1cm5zIFRyYW5zbGF0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSBsYW5ndWFnZVxyXG4gICAqL1xyXG4gIHVzZShsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5jdXN0b21Mb2FkZXIuaW5pdChsYW5nKTtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSB0cmFuc2xhdGlvbiBmb3IgdGhlIHN1cHBsaWVkIGtleS5cclxuICAgKiBAcGFyYW0ga2V5IEtleSB0byB0cmFuc2xhdGVcclxuICAgKiBAcGFyYW0gaW50ZXJwb2xhdGVQYXJhbXMgU3RyaW5nKHMpIHRvIGJlIGludGVycG9sYXRlZCBpbnRvIHRoZSBtYWluIG1lc3NhZ2VcclxuICAgKiBAcmV0dXJucyBUcmFuc2xhdGVkIHRleHRcclxuICAgKi9cclxuICBnZXQoXHJcbiAgICBrZXk6IHN0cmluZyB8IEFycmF5PHN0cmluZz4sXHJcbiAgICBpbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxyXG4gICk6IE9ic2VydmFibGU8c3RyaW5nIHwgYW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGtleSwgaW50ZXJwb2xhdGVQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlyZWN0bHkgcmV0dXJucyB0aGUgdHJhbnNsYXRpb24gZm9yIHRoZSBzdXBwbGllZCBrZXkuXHJcbiAgICogQHBhcmFtIGtleSBLZXkgdG8gdHJhbnNsYXRlXHJcbiAgICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zIFN0cmluZyhzKSB0byBiZSBpbnRlcnBvbGF0ZWQgaW50byB0aGUgbWFpbiBtZXNzYWdlXHJcbiAgICogQHJldHVybnMgVHJhbnNsYXRlZCB0ZXh0XHJcbiAgICovXHJcbiAgaW5zdGFudChcclxuICAgIGtleTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPixcclxuICAgIGludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XHJcbiAgKTogc3RyaW5nIHwgYW55IHtcclxuICAgIHJldHVybiBrZXkgPyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGtleSwgaW50ZXJwb2xhdGVQYXJhbXMpIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXRPckNyZWF0ZVRyYW5zbGF0aW9uRmlsZShsYW5nKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKHRoaXMudHJhbnNsYXRpb25BcGlOYW1lID8gdGhpcy50cmFuc2xhdGlvbkFwaU5hbWUgOiAnQUNfVUFfVHJhbnNsYXRpb25fR2V0T3JDcmVhdGUnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5wYXJhbXMoeyBsYW5ndWFnZTogbGFuZyB9KVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHVwZGF0ZVRyYW5zbGF0aW9uRmlsZShkb2MsIHBhcmFtcyA9IHt9KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnVwZGF0ZShkb2MsIHBhcmFtcylcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdqRCxPQUFPLEVBQTBCLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFHaEcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ3BELDRDQUE0QyxDQUM3QyxDQUFDO0FBVUYsTUFBTSxPQUFPLGtCQUFrQjtJQVc3QixZQUNTLFNBQTJCLEVBQzFCLGVBQWlDLEVBQ2pDLFlBQWdDLEVBQ2hDLHNCQUE4QyxFQUM5QyxTQUEyQixFQUMzQixZQUEwQixFQUNILFdBQVcsRUFDQSxTQUFnQztRQVBuRSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDSCxnQkFBVyxHQUFYLFdBQVcsQ0FBQTs7UUFWNUMsYUFBUSxHQUFHLElBQUks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LENBQ0wsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QscUJBQXFCLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ3BDLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixVQUFVLEVBQUU7YUFDWixPQUFPLENBQUM7WUFDUCxVQUFVLEVBQUUsR0FBRztTQUNoQixDQUFDO2FBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FDdkIsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7SUFoSUMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsMEJBQTBCLENBQUM7QUFDaEUsQ0FBQztnSEEvRFUsa0JBQWtCLHNOQWtCbkIsYUFBYSxhQUNELG9CQUFvQjtvSEFuQi9CLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW1CSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9uL2FwcC1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9lbnVtcy9sYW5ndWFnZS5lbnVtJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxTdG9yYWcvbG9jYWwtc3RvcmFnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU2VydmljZSwgVXNlclByZWZlcmVuY2VWYWx1ZXMgfSBmcm9tICcuLi91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS1sb2FkZXIuc2VydmljZSc7XHJcblxyXG5leHBvcnQgY29uc3QgVFJBTlNMQVRJT05fUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXHJcbiAgJ0luamVjdGlvbiB0b2tlbiBmb3IgdHJhbnNsYXRpb24gcHJvdmlkZXJzLidcclxuKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRpb25Qcm92aWRlciB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHNvdXJjZTogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25TZXJ2aWNlIHtcclxuICBwdWJsaWMgYXJhYmljRmlsZTtcclxuICBwdWJsaWMgZW5nbGlzaEZpbGU7XHJcbiAgZGVmYXVsdExhbmc6IHN0cmluZztcclxuICB1c2VyTGFuZzogc3RyaW5nO1xyXG4gIGN1c3RvbUxvYWRlcjogVHJhbnNsYXRlTG9hZGVyU2VydmljZTtcclxuICBsYW5nOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG4gIGlzQXJhYmljID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgaXNBcmFiaWMkID0gdGhpcy5pc0FyYWJpYy5hc09ic2VydmFibGUoKTtcclxuICB0cmFuc2xhdGlvbkFwaU5hbWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXHJcbiAgICBwcml2YXRlIGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50LFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUUkFOU0xBVElPTl9QUk9WSURFUikgcHJvdmlkZXJzOiBUcmFuc2xhdGlvblByb3ZpZGVyW11cclxuICApIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25BcGlOYW1lID0gdGhpcy5hcHBDb25maWcubXlDb25maWd1cmF0aW9uWyd0cmFuc2xhdGlvbkFwaSddID8gdGhpcy5hcHBDb25maWcubXlDb25maWd1cmF0aW9uWyd0cmFuc2xhdGlvbkFwaSddIDogbnVsbDtcclxuICAgIHRoaXMuY3VzdG9tTG9hZGVyID0gPFRyYW5zbGF0ZUxvYWRlclNlcnZpY2U+dGhpcy50cmFuc2xhdGUuY3VycmVudExvYWRlcjtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcblxyXG4gICAgdGhpcy5kZWZhdWx0TGFuZyA9ICdlbic7XHJcbiAgICB0cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcodGhpcy5kZWZhdWx0TGFuZyk7XHJcbiAgICB0aGlzLmN1c3RvbUxvYWRlci5zZXREZWZhdWx0TGFuZyh0aGlzLmRlZmF1bHRMYW5nKTtcclxuXHJcbiAgICBpZiAocHJvdmlkZXJzICYmIHByb3ZpZGVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgcHJvdmlkZXJzKSB7XHJcbiAgICAgICAgdGhpcy5hZGRUcmFuc2xhdGlvbkZvbGRlcihwcm92aWRlci5uYW1lLCBwcm92aWRlci5zb3VyY2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlXHJcbiAgICAgIC5zZWxlY3QoVXNlclByZWZlcmVuY2VWYWx1ZXMuTG9jYWxlKVxyXG4gICAgICAuc3Vic2NyaWJlKChsb2NhbGUpID0+IHtcclxuICAgICAgICBpZiAobG9jYWxlKSB7XHJcbiAgICAgICAgICB0aGlzLnVzZXJMYW5nID0gbG9jYWxlLnNwbGl0KCctJylbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMudXNlckxhbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkVHJhbnNsYXRpb24odGhpcy51c2VyTGFuZywgdGhpcy5kZWZhdWx0TGFuZyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRUcmFuc2xhdGlvbih0aGlzLmRlZmF1bHRMYW5nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIG5ldyBmb2xkZXIgb2YgdHJhbnNsYXRpb24gc291cmNlIGZpbGVzLlxyXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgZm9yIHRoZSB0cmFuc2xhdGlvbiBwcm92aWRlclxyXG4gICAqIEBwYXJhbSBwYXRoIFBhdGggdG8gdGhlIGZvbGRlclxyXG4gICAqL1xyXG4gIGFkZFRyYW5zbGF0aW9uRm9sZGVyKG5hbWU6IHN0cmluZyA9ICcnLCBwYXRoOiBzdHJpbmcgPSAnJykge1xyXG4gICAgaWYgKCF0aGlzLmN1c3RvbUxvYWRlci5wcm92aWRlclJlZ2lzdGVyZWQobmFtZSkpIHtcclxuICAgICAgdGhpcy5jdXN0b21Mb2FkZXIucmVnaXN0ZXJQcm92aWRlcihuYW1lLCBwYXRoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCAjQ2xpZW50VHJhbnNsYXRpb25GaWxlcygpIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2UuY2xpZW50Q3VzdG9tVHJhbnNsYXRlRmlsZXM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIExvYWRzIGEgdHJhbnNsYXRpb24gZmlsZS5cclxuICAgKiBAcGFyYW0gbGFuZyBMYW5ndWFnZSBjb2RlIGZvciB0aGUgbGFuZ3VhZ2UgdG8gbG9hZFxyXG4gICAqIEBwYXJhbSBmYWxsYmFjayBMYW5ndWFnZSBjb2RlIHRvIGZhbGwgYmFjayB0byBpZiB0aGUgZmlyc3Qgb25lIHdhcyB1bmF2YWlsYWJsZVxyXG4gICAqL1xyXG4gIGxvYWRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcsIGZhbGxiYWNrPzogc3RyaW5nKSB7XHJcbiAgICBpZiAobGFuZyA9PT0gTGFuZy5BcmFiaWMpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAncnRsJyk7XHJcbiAgICAgIHRoaXMuaXNBcmFiaWMubmV4dCh0cnVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ3J0bCcpO1xyXG4gICAgICB0aGlzLmlzQXJhYmljLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXJhYmljRmlsZSQgPSB0aGlzLmdldE9yQ3JlYXRlVHJhbnNsYXRpb25GaWxlKCdhcicpO1xyXG4gICAgY29uc3QgZW5nbGlzaEZpbGUkID0gdGhpcy5nZXRPckNyZWF0ZVRyYW5zbGF0aW9uRmlsZSgnZW4nKTtcclxuXHJcbiAgICBmb3JrSm9pbihbXHJcbiAgICAgIGFyYWJpY0ZpbGUkLFxyXG4gICAgICBlbmdsaXNoRmlsZSQsXHJcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldFRyYW5zbGF0aW9uKGxhbmcpLFxyXG4gICAgXSkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmFyYWJpY0ZpbGUgPSByZXNbMF07XHJcbiAgICAgICAgdGhpcy5lbmdsaXNoRmlsZSA9IHJlc1sxXTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZyk7XHJcbiAgICAgICAgbGV0IEFyb3JFbkZpbGUgPVxyXG4gICAgICAgICAgbGFuZyA9PT0gJ2VuJ1xyXG4gICAgICAgICAgICA/IEpTT04ucGFyc2UocmVzWzFdLnByb3BlcnRpZXNbJ25vdGU6bm90ZSddKVxyXG4gICAgICAgICAgICA6IEpTT04ucGFyc2UocmVzWzBdLnByb3BlcnRpZXNbJ25vdGU6bm90ZSddKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXRUcmFuc2xhdGlvbihcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nLFxyXG4gICAgICAgICAgeyAuLi4odGhpcy4jQ2xpZW50VHJhbnNsYXRpb25GaWxlc1tsYW5nXSB8fCB7fSksIC4uLkFyb3JFbkZpbGUgfSxcclxuICAgICAgICAgIHRydWVcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZWQobGFuZyk7XHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAoZmFsbGJhY2sgJiYgZmFsbGJhY2sgIT09IGxhbmcpIHtcclxuICAgICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9uKGZhbGxiYWNrKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VycyBhIG5vdGlmaWNhdGlvbiBjYWxsYmFjayB3aGVuIHRoZSB0cmFuc2xhdGlvbiBsYW5ndWFnZSBjaGFuZ2VzLlxyXG4gICAqIEBwYXJhbSBsYW5nIFRoZSBuZXcgbGFuZ3VhZ2UgY29kZVxyXG4gICAqL1xyXG4gIG9uVHJhbnNsYXRpb25DaGFuZ2VkKGxhbmc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25UcmFuc2xhdGlvbkNoYW5nZS5uZXh0KHtcclxuICAgICAgbGFuZzogbGFuZyxcclxuICAgICAgdHJhbnNsYXRpb25zOiB0aGlzLmN1c3RvbUxvYWRlci5nZXRGdWxsVHJhbnNsYXRpb25KU09OKGxhbmcpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0YXJnZXQgbGFuZ3VhZ2UgZm9yIHRyYW5zbGF0aW9ucy5cclxuICAgKiBAcGFyYW0gbGFuZyBDb2RlIG5hbWUgZm9yIHRoZSBsYW5ndWFnZVxyXG4gICAqIEByZXR1cm5zIFRyYW5zbGF0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSBsYW5ndWFnZVxyXG4gICAqL1xyXG4gIHVzZShsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5jdXN0b21Mb2FkZXIuaW5pdChsYW5nKTtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSB0cmFuc2xhdGlvbiBmb3IgdGhlIHN1cHBsaWVkIGtleS5cclxuICAgKiBAcGFyYW0ga2V5IEtleSB0byB0cmFuc2xhdGVcclxuICAgKiBAcGFyYW0gaW50ZXJwb2xhdGVQYXJhbXMgU3RyaW5nKHMpIHRvIGJlIGludGVycG9sYXRlZCBpbnRvIHRoZSBtYWluIG1lc3NhZ2VcclxuICAgKiBAcmV0dXJucyBUcmFuc2xhdGVkIHRleHRcclxuICAgKi9cclxuICBnZXQoXHJcbiAgICBrZXk6IHN0cmluZyB8IEFycmF5PHN0cmluZz4sXHJcbiAgICBpbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxyXG4gICk6IE9ic2VydmFibGU8c3RyaW5nIHwgYW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGtleSwgaW50ZXJwb2xhdGVQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlyZWN0bHkgcmV0dXJucyB0aGUgdHJhbnNsYXRpb24gZm9yIHRoZSBzdXBwbGllZCBrZXkuXHJcbiAgICogQHBhcmFtIGtleSBLZXkgdG8gdHJhbnNsYXRlXHJcbiAgICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zIFN0cmluZyhzKSB0byBiZSBpbnRlcnBvbGF0ZWQgaW50byB0aGUgbWFpbiBtZXNzYWdlXHJcbiAgICogQHJldHVybnMgVHJhbnNsYXRlZCB0ZXh0XHJcbiAgICovXHJcbiAgaW5zdGFudChcclxuICAgIGtleTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPixcclxuICAgIGludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XHJcbiAgKTogc3RyaW5nIHwgYW55IHtcclxuICAgIHJldHVybiBrZXkgPyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGtleSwgaW50ZXJwb2xhdGVQYXJhbXMpIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXRPckNyZWF0ZVRyYW5zbGF0aW9uRmlsZShsYW5nKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKHRoaXMudHJhbnNsYXRpb25BcGlOYW1lID8gdGhpcy50cmFuc2xhdGlvbkFwaU5hbWUgOiAnQUNfVUFfVHJhbnNsYXRpb25fR2V0T3JDcmVhdGUnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5wYXJhbXMoeyBsYW5ndWFnZTogbGFuZyB9KVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHVwZGF0ZVRyYW5zbGF0aW9uRmlsZShkb2MsIHBhcmFtcyA9IHt9KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnVwZGF0ZShkb2MsIHBhcmFtcylcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  var _UserPreferencesService_instances, _UserPreferencesService_encrypt, _UserPreferencesService_decrypt, _UserPreferencesService_encryptKey_get, _UserPreferencesService_enableEncryption_get;
2
2
  import { __awaiter, __classPrivateFieldGet } from "tslib";
3
3
  import { Injectable } from '@angular/core';
4
- import { BehaviorSubject, of } from 'rxjs';
4
+ import { BehaviorSubject } from 'rxjs';
5
5
  import { distinctUntilChanged, map } from 'rxjs/operators';
6
6
  import CryptoJS from 'crypto-js';
7
7
  import { EnvManager } from '../../env';
@@ -24,7 +24,7 @@ export class UserPreferencesService {
24
24
  expandedSidenav: true
25
25
  };
26
26
  this.userPreferenceStatus = this.defaults;
27
- this.clientCustomTranslateFiles = { arFile: of({}), enFile: of({}) };
27
+ this.clientCustomTranslateFiles = { ar: {}, en: {} };
28
28
  this.onChangeSubject = new BehaviorSubject(this.userPreferenceStatus);
29
29
  this.onChange = this.onChangeSubject.asObservable();
30
30
  }
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
169
169
  providedIn: 'root'
170
170
  }]
171
171
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.LocalStoragService }]; } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBR25FLE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBQ3ZDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUU1QixNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQy9CLHlDQUFpQixDQUFBO0lBQ2pCLGlFQUF5QyxDQUFBO0FBQzFDLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBS0QsTUFBTSxPQUFPLHNCQUFzQjtJQVVsQyxZQUFtQixTQUEyQixFQUFVLE9BQTJCO1FBQWhFLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7O1FBVG5GLGFBQVEsR0FBRztZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osZUFBZSxFQUFFLElBQUk7U0FDckIsQ0FBQztRQUVNLHlCQUFvQixHQUFRLElBQUksQ0FBQyxRQUFRLENBQUM7UUFHbEQsK0JBQTBCLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztR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dCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnU2VydmljZSB9IGZyb20gJy4uL2xvY2FsU3RvcmFnL2xvY2FsLXN0b3JhZy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCBDcnlwdG9KUyBmcm9tICdjcnlwdG8tanMnO1xyXG5pbXBvcnQgeyBFbnZNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vZW52JztcclxuY29uc3QgRU5DUllQVF9LRVkgPSAnX25kZl8nO1xyXG5cclxuZXhwb3J0IGVudW0gVXNlclByZWZlcmVuY2VWYWx1ZXMge1xyXG5cdExvY2FsZSA9ICdsb2NhbGUnLFxyXG5cdEV4cGFuZGVkU2lkZU5hdlN0YXR1cyA9ICdleHBhbmRlZFNpZGVuYXYnXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2Uge1xyXG5cdGRlZmF1bHRzID0ge1xyXG5cdFx0bG9jYWxlOiAnZW4nLFxyXG5cdFx0ZXhwYW5kZWRTaWRlbmF2OiB0cnVlXHJcblx0fTtcclxuXHJcblx0cHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVN0YXR1czogYW55ID0gdGhpcy5kZWZhdWx0cztcclxuXHRwcml2YXRlIG9uQ2hhbmdlU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT47XHJcblx0b25DaGFuZ2U6IE9ic2VydmFibGU8YW55PjtcclxuXHRjbGllbnRDdXN0b21UcmFuc2xhdGVGaWxlcyA9IHsgYXJGaWxlOiBvZih7fSksIGVuRmlsZTogb2Yoe30pIH07XHJcblx0Y29uc3RydWN0b3IocHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlOiBMb2NhbFN0b3JhZ1NlcnZpY2UpIHtcclxuXHRcdHRoaXMub25DaGFuZ2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLnVzZXJQcmVmZXJlbmNlU3RhdHVzKTtcclxuXHRcdHRoaXMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdFVzZXJQcmVmZXJlbmNlU3RhdHVzKCkge1xyXG5cdFx0dGhpcy5pbml0VXNlckxhbmd1YWdlKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFzeW5jIGluaXRVc2VyTGFuZ3VhZ2UoKSB7XHJcblx0XHRpZiAodGhpcy5sb2NhbGUpIHtcclxuXHRcdFx0Y29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGUgfHwgdGhpcy5nZXREZWZhdWx0TG9jYWxlKCk7XHJcblxyXG5cdFx0XHR0aGlzLnNldChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUsIGxvY2FsZSk7XHJcblx0XHRcdHRoaXMuc2V0KCd0ZXh0T3JpZW50YXRpb24nLCAoYXdhaXQgdGhpcy5nZXRMYW5ndWFnZUJ5S2V5KGxvY2FsZSkpLmRpciB8fCAnbHRyJyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZSB8fCB0aGlzLmdldERlZmF1bHRMb2NhbGUoKTtcclxuXHJcblx0XHRcdHRoaXMuc2V0V2l0aG91dFN0b3JlKFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSwgbG9jYWxlKTtcclxuXHRcdFx0dGhpcy5zZXRXaXRob3V0U3RvcmUoJ3RleHRPcmllbnRhdGlvbicsIChhd2FpdCB0aGlzLmdldExhbmd1YWdlQnlLZXkobG9jYWxlKSkuZGlyIHx8ICdsdHInKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgdXAgYSBjYWxsYmFjayB0byBub3RpZnkgd2hlbiBhIHByb3BlcnR5IGhhcyBjaGFuZ2VkLlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gd2F0Y2hcclxuXHQgKiBAcmV0dXJucyBOb3RpZmljYXRpb24gY2FsbGJhY2tcclxuXHQgKi9cclxuXHRzZWxlY3QocHJvcGVydHk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5vbkNoYW5nZS5waXBlKFxyXG5cdFx0XHRtYXAoKHVzZXJQcmVmZXJlbmNlU3RhdHVzKSA9PiB1c2VyUHJlZmVyZW5jZVN0YXR1c1twcm9wZXJ0eV0pLFxyXG5cdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXHJcblx0ICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XHJcblx0ICogQHBhcmFtIGRlZmF1bHRWYWx1ZSBEZWZhdWx0IHRvIHJldHVybiBpZiB0aGUgcHJvcGVydHkgaXMgbm90IGZvdW5kXHJcblx0ICogQHJldHVybnMgUHJlZmVyZW5jZSBwcm9wZXJ0eVxyXG5cdCAqL1xyXG5cdGdldChwcm9wZXJ0eTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcsIHdpdGhvdXRVc2VyPzogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRjb25zdCBrZXkgPSB3aXRob3V0VXNlciA/IHByb3BlcnR5IDogdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSk7XHJcblx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG5cdFx0XHRyZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMuI2RlY3J5cHQodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXHJcblx0ICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XHJcblx0ICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XHJcblx0ICovXHJcblx0c2V0KHByb3BlcnR5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHdpdGhvdXRVc2VyPzogYm9vbGVhbikge1xyXG5cdFx0aWYgKCFwcm9wZXJ0eSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnN0b3JhZ2Uuc2V0SXRlbSh3aXRob3V0VXNlciA/IHByb3BlcnR5IDogdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSksIHRoaXMuI2VuY3J5cHQodmFsdWUpKTtcclxuXHRcdHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXNbcHJvcGVydHldID0gdmFsdWU7XHJcblx0XHR0aGlzLm9uQ2hhbmdlU3ViamVjdC5uZXh0KHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXMpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXHJcblx0ICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XHJcblx0ICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XHJcblx0ICovXHJcblx0c2V0V2l0aG91dFN0b3JlKHByb3BlcnR5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICghcHJvcGVydHkpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1c1twcm9wZXJ0eV0gPSB2YWx1ZTtcclxuXHRcdHRoaXMub25DaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1cyk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiBhbiBpdGVtIGlzIHByZXNlbnQgaW4gdGhlIHN0b3JhZ2VcclxuXHQgKiBAcGFyYW0gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHlcclxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBpdGVtIGlzIHByZXNlbnQsIGZhbHNlIG90aGVyd2lzZVxyXG5cdCAqL1xyXG5cdGhhc0l0ZW0ocHJvcGVydHk6IHN0cmluZywgd2l0aG91dFVzZXI/OiBib29sZWFuKTogYm9vbGVhbiB7XHJcblx0XHRpZiAoIXByb3BlcnR5KSB7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnN0b3JhZ2UuaGFzSXRlbSh3aXRob3V0VXNlciA/IHByb3BlcnR5IDogdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyB0aGUgYWN0aXZlIHN0b3JhZ2UgcHJlZml4IGZvciBwcmVmZXJlbmNlcy5cclxuXHQgKiBAcmV0dXJucyBTdG9yYWdlIHByZWZpeFxyXG5cdCAqL1xyXG5cdGdldFN0b3JhZ2VQcmVmaXgoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnVVNFUl9QUk9GSUxFJykgfHwgJ0dVRVNUJztcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgdGhlIGFjdGl2ZSBzdG9yYWdlIHByZWZpeCBmb3IgcHJlZmVyZW5jZXMuXHJcblx0ICogQHBhcmFtIHZhbHVlIE5hbWUgb2YgdGhlIHByZWZpeFxyXG5cdCAqL1xyXG5cdHNldFN0b3JhZ2VQcmVmaXgodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5zdG9yYWdlLnNldEl0ZW0oJ1VTRVJfUFJPRklMRScsIHZhbHVlIHx8ICdHVUVTVCcpO1xyXG5cdFx0dGhpcy5pbml0VXNlclByZWZlcmVuY2VTdGF0dXMoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgdGhlIGZ1bGwgcHJvcGVydHkga2V5IHdpdGggcHJlZml4LlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgbmFtZVxyXG5cdCAqIEByZXR1cm5zIFByb3BlcnR5IGtleVxyXG5cdCAqL1xyXG5cdGdldFByb3BlcnR5S2V5KHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIGAke3RoaXMuZ2V0U3RvcmFnZVByZWZpeCgpfV9fJHtwcm9wZXJ0eX1gO1xyXG5cdH1cclxuXHJcblx0LyoqIEN1cnJlbnQgbG9jYWxlIHNldHRpbmcuICovXHJcblx0Z2V0IGxvY2FsZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSk7XHJcblx0fVxyXG5cclxuXHRzZXQgbG9jYWxlKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuc2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSwgdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyB0aGUgZGVmYXVsdCBsb2NhbGUuXHJcblx0ICogQHJldHVybnMgRGVmYXVsdCBsb2NhbGUgbGFuZ3VhZ2UgY29kZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXREZWZhdWx0TG9jYWxlKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckN1bHR1cmVMYW5nKCkgfHwgJ2VuJztcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgYXN5bmMgZ2V0TGFuZ3VhZ2VCeUtleShrZXk6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgdHJhbnNsYXRpb24gPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZS5nZXRUcmFuc2xhdGlvbihrZXkpLnRvUHJvbWlzZSgpO1xyXG5cdFx0cmV0dXJuIHRyYW5zbGF0aW9uO1xyXG5cdH1cclxuXHJcblx0I2VuY3J5cHQobWVzc2FnZTogc3RyaW5nKSB7XHJcblx0XHRpZiAoIW1lc3NhZ2UgfHwgIXRoaXMuI2VuYWJsZUVuY3J5cHRpb24pIHJldHVybiBtZXNzYWdlO1xyXG5cclxuXHRcdHJldHVybiBDcnlwdG9KUy5BRVMuZW5jcnlwdChtZXNzYWdlLCB0aGlzLiNlbmNyeXB0S2V5KS50b1N0cmluZygpO1xyXG5cdH1cclxuXHQjZGVjcnlwdChjaXBoZXJ0ZXh0OiBzdHJpbmcpIHtcclxuXHRcdGlmICghY2lwaGVydGV4dCB8fCAhdGhpcy4jZW5hYmxlRW5jcnlwdGlvbikgcmV0dXJuIGNpcGhlcnRleHQ7XHJcblxyXG5cdFx0Y29uc3QgYnl0ZXMgPSBDcnlwdG9KUy5BRVMuZGVjcnlwdChjaXBoZXJ0ZXh0LCB0aGlzLiNlbmNyeXB0S2V5KTtcclxuXHRcdHJldHVybiBieXRlcy50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XHJcblx0fVxyXG5cdGdldCAjZW5jcnlwdEtleSgpIHtcclxuXHRcdHJldHVybiBFbnZNYW5hZ2VyLmVudmlyb25tZW50LmVuY3J5cHRLZXkgfHwgRU5DUllQVF9LRVk7XHJcblx0fVxyXG5cdGdldCAjZW5hYmxlRW5jcnlwdGlvbigpIHtcclxuXHRcdHJldHVybiBFbnZNYW5hZ2VyLmVudmlyb25tZW50LmVuYWJsZUVuY3J5cHRpb24gPT0gJ1lFUycgfHwgZmFsc2U7XHJcblx0fVxyXG59XHJcbiJdfQ==
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLGVBQWUsRUFBTSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkUsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFDdkMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDO0FBRTVCLE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDL0IseUNBQWlCLENBQUE7SUFDakIsaUVBQXlDLENBQUE7QUFDMUMsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0I7QUFTRCxNQUFNLE9BQU8sc0JBQXNCO0lBVWxDLFlBQW1CLFNBQTJCLEVBQVUsT0FBMkI7UUFBaEUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFvQjs7UUFUbkYsYUFBUSxHQUFHO1lBQ1YsTUFBTSxFQUFFLElBQUk7WUFDWixlQUFlLEVBQUUsSUFBSTtTQUNyQixDQUFDO1FBRU0seUJBQW9CLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUdsRCwrQkFBMEIsR0FBMkIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUV2RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRU8sd0JBQXdCO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFYSxnQkFBZ0I7O1lBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFFdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQzthQUNoRjtpQkFBTTtnQkFDTixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUV0RCxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDO2FBQzVGO1FBQ0YsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxRQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDN0Qsb0JBQW9CLEVBQUUsQ0FDdEIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEdBQUcsQ0FBQyxRQUFnQixFQUFFLFlBQXFCLEVBQUUsV0FBcUI7UUFDakUsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDMUMsT0FBTyxZQUFZLENBQUM7U0FDcEI7UUFDRCxPQUFPLHVCQUFBLElBQUksMEVBQVMsTUFBYixJQUFJLEVBQVUsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsUUFBZ0IsRUFBRSxLQUFVLEVBQUUsV0FBcUI7UUFDdEQsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNkLE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLHVCQUFBLElBQUksMEVBQVMsTUFBYixJQUFJLEVBQVUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLFFBQWdCLEVBQUUsS0FBVTtRQUMzQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2QsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxRQUFnQixFQUFFLFdBQXFCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZCxPQUFPLEtBQUssQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0I7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxDQUFDLFFBQWdCO1FBQzlCLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLElBQUksQ0FBQztJQUN2RCxDQUFDO0lBRWEsZ0JBQWdCLENBQUMsR0FBVzs7WUFDekMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6RSxPQUFPLFdBQVcsQ0FBQztRQUNwQixDQUFDO0tBQUE7OzhIQUVRLE9BQWU7SUFDdkIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLHVCQUFBLElBQUksdUZBQWtCO1FBQUUsT0FBTyxPQUFPLENBQUM7SUFFeEQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsdUJBQUEsSUFBSSxpRkFBWSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDbkUsQ0FBQyw2RUFDUSxVQUFrQjtJQUMxQixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsdUJBQUEsSUFBSSx1RkFBa0I7UUFBRSxPQUFPLFVBQVUsQ0FBQztJQUU5RCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsdUJBQUEsSUFBSSxpRkFBWSxDQUFDLENBQUM7SUFDakUsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUMsQ0FBQztJQUVBLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDO0FBQ3pELENBQUM7SUFFQSxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQztBQUNsRSxDQUFDO29IQW5LVyxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQUZ0QixNQUFNOzRGQUVOLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnU2VydmljZSB9IGZyb20gJy4uL2xvY2FsU3RvcmFnL2xvY2FsLXN0b3JhZy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCBDcnlwdG9KUyBmcm9tICdjcnlwdG8tanMnO1xyXG5pbXBvcnQgeyBFbnZNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vZW52JztcclxuY29uc3QgRU5DUllQVF9LRVkgPSAnX25kZl8nO1xyXG5cclxuZXhwb3J0IGVudW0gVXNlclByZWZlcmVuY2VWYWx1ZXMge1xyXG5cdExvY2FsZSA9ICdsb2NhbGUnLFxyXG5cdEV4cGFuZGVkU2lkZU5hdlN0YXR1cyA9ICdleHBhbmRlZFNpZGVuYXYnXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENsaWVudFRyYW5zbGF0aW9uRmlsZXMgPSB7XHJcblx0YXI6IFJlY29yZDxzdHJpbmcsIGFueT4sXHJcblx0ZW46IFJlY29yZDxzdHJpbmcsIGFueT5cclxufVxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIHtcclxuXHRkZWZhdWx0cyA9IHtcclxuXHRcdGxvY2FsZTogJ2VuJyxcclxuXHRcdGV4cGFuZGVkU2lkZW5hdjogdHJ1ZVxyXG5cdH07XHJcblxyXG5cdHByaXZhdGUgdXNlclByZWZlcmVuY2VTdGF0dXM6IGFueSA9IHRoaXMuZGVmYXVsdHM7XHJcblx0cHJpdmF0ZSBvbkNoYW5nZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+O1xyXG5cdG9uQ2hhbmdlOiBPYnNlcnZhYmxlPGFueT47XHJcblx0Y2xpZW50Q3VzdG9tVHJhbnNsYXRlRmlsZXM6IENsaWVudFRyYW5zbGF0aW9uRmlsZXMgPSB7IGFyOiB7fSwgZW46IHt9IH07XHJcblx0Y29uc3RydWN0b3IocHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlOiBMb2NhbFN0b3JhZ1NlcnZpY2UpIHtcclxuXHRcdHRoaXMub25DaGFuZ2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLnVzZXJQcmVmZXJlbmNlU3RhdHVzKTtcclxuXHRcdHRoaXMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdFVzZXJQcmVmZXJlbmNlU3RhdHVzKCkge1xyXG5cdFx0dGhpcy5pbml0VXNlckxhbmd1YWdlKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFzeW5jIGluaXRVc2VyTGFuZ3VhZ2UoKSB7XHJcblx0XHRpZiAodGhpcy5sb2NhbGUpIHtcclxuXHRcdFx0Y29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGUgfHwgdGhpcy5nZXREZWZhdWx0TG9jYWxlKCk7XHJcblxyXG5cdFx0XHR0aGlzLnNldChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUsIGxvY2FsZSk7XHJcblx0XHRcdHRoaXMuc2V0KCd0ZXh0T3JpZW50YXRpb24nLCAoYXdhaXQgdGhpcy5nZXRMYW5ndWFnZUJ5S2V5KGxvY2FsZSkpLmRpciB8fCAnbHRyJyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZSB8fCB0aGlzLmdldERlZmF1bHRMb2NhbGUoKTtcclxuXHJcblx0XHRcdHRoaXMuc2V0V2l0aG91dFN0b3JlKFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSwgbG9jYWxlKTtcclxuXHRcdFx0dGhpcy5zZXRXaXRob3V0U3RvcmUoJ3RleHRPcmllbnRhdGlvbicsIChhd2FpdCB0aGlzLmdldExhbmd1YWdlQnlLZXkobG9jYWxlKSkuZGlyIHx8ICdsdHInKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgdXAgYSBjYWxsYmFjayB0byBub3RpZnkgd2hlbiBhIHByb3BlcnR5IGhhcyBjaGFuZ2VkLlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gd2F0Y2hcclxuXHQgKiBAcmV0dXJucyBOb3RpZmljYXRpb24gY2FsbGJhY2tcclxuXHQgKi9cclxuXHRzZWxlY3QocHJvcGVydHk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5vbkNoYW5nZS5waXBlKFxyXG5cdFx0XHRtYXAoKHVzZXJQcmVmZXJlbmNlU3RhdHVzKSA9PiB1c2VyUHJlZmVyZW5jZVN0YXR1c1twcm9wZXJ0eV0pLFxyXG5cdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXHJcblx0ICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XHJcblx0ICogQHBhcmFtIGRlZmF1bHRWYWx1ZSBEZWZhdWx0IHRvIHJldHVybiBpZiB0aGUgcHJvcGVydHkgaXMgbm90IGZvdW5kXHJcblx0ICogQHJldHVybnMgUHJlZmVyZW5jZSBwcm9wZXJ0eVxyXG5cdCAqL1xyXG5cdGdldChwcm9wZXJ0eTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcsIHdpdGhvdXRVc2VyPzogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRjb25zdCBrZXkgPSB3aXRob3V0VXNlciA/IHByb3BlcnR5IDogdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSk7XHJcblx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG5cdFx0XHRyZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMuI2RlY3J5cHQodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXHJcblx0ICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XHJcblx0ICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XHJcblx0ICovXHJcblx0c2V0KHByb3BlcnR5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHdpdGhvdXRVc2VyPzogYm9vbGVhbikge1xyXG5cdFx0aWYgKCFwcm9wZXJ0eSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnN0b3JhZ2Uuc2V0SXRlbSh3aXRob3V0VXNlciA/IHByb3BlcnR5IDogdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSksIHRoaXMuI2VuY3J5cHQodmFsdWUpKTtcclxuXHRcdHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXNbcHJvcGVydHldID0gdmFsdWU7XHJcblx0XHR0aGlzLm9uQ2hhbmdlU3ViamVjdC5uZXh0KHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXMpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXHJcblx0ICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XHJcblx0ICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XHJcblx0ICovXHJcblx0c2V0V2l0aG91dFN0b3JlKHByb3BlcnR5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICghcHJvcGVydHkpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1c1twcm9wZXJ0eV0gPSB2YWx1ZTtcclxuXHRcdHRoaXMub25DaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1cyk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiBhbiBpdGVtIGlzIHByZXNlbnQgaW4gdGhlIHN0b3JhZ2VcclxuXHQgKiBAcGFyYW0gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHlcclxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBpdGVtIGlzIHByZXNlbnQsIGZhbHNlIG90aGVyd2lzZVxyXG5cdCAqL1xyXG5cdGhhc0l0ZW0ocHJvcGVydHk6IHN0cmluZywgd2l0aG91dFVzZXI/OiBib29sZWFuKTogYm9vbGVhbiB7XHJcblx0XHRpZiAoIXByb3BlcnR5KSB7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnN0b3JhZ2UuaGFzSXRlbSh3aXRob3V0VXNlciA/IHByb3BlcnR5IDogdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyB0aGUgYWN0aXZlIHN0b3JhZ2UgcHJlZml4IGZvciBwcmVmZXJlbmNlcy5cclxuXHQgKiBAcmV0dXJucyBTdG9yYWdlIHByZWZpeFxyXG5cdCAqL1xyXG5cdGdldFN0b3JhZ2VQcmVmaXgoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnVVNFUl9QUk9GSUxFJykgfHwgJ0dVRVNUJztcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgdGhlIGFjdGl2ZSBzdG9yYWdlIHByZWZpeCBmb3IgcHJlZmVyZW5jZXMuXHJcblx0ICogQHBhcmFtIHZhbHVlIE5hbWUgb2YgdGhlIHByZWZpeFxyXG5cdCAqL1xyXG5cdHNldFN0b3JhZ2VQcmVmaXgodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5zdG9yYWdlLnNldEl0ZW0oJ1VTRVJfUFJPRklMRScsIHZhbHVlIHx8ICdHVUVTVCcpO1xyXG5cdFx0dGhpcy5pbml0VXNlclByZWZlcmVuY2VTdGF0dXMoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgdGhlIGZ1bGwgcHJvcGVydHkga2V5IHdpdGggcHJlZml4LlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgbmFtZVxyXG5cdCAqIEByZXR1cm5zIFByb3BlcnR5IGtleVxyXG5cdCAqL1xyXG5cdGdldFByb3BlcnR5S2V5KHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIGAke3RoaXMuZ2V0U3RvcmFnZVByZWZpeCgpfV9fJHtwcm9wZXJ0eX1gO1xyXG5cdH1cclxuXHJcblx0LyoqIEN1cnJlbnQgbG9jYWxlIHNldHRpbmcuICovXHJcblx0Z2V0IGxvY2FsZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSk7XHJcblx0fVxyXG5cclxuXHRzZXQgbG9jYWxlKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuc2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSwgdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyB0aGUgZGVmYXVsdCBsb2NhbGUuXHJcblx0ICogQHJldHVybnMgRGVmYXVsdCBsb2NhbGUgbGFuZ3VhZ2UgY29kZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXREZWZhdWx0TG9jYWxlKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckN1bHR1cmVMYW5nKCkgfHwgJ2VuJztcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgYXN5bmMgZ2V0TGFuZ3VhZ2VCeUtleShrZXk6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgdHJhbnNsYXRpb24gPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZS5nZXRUcmFuc2xhdGlvbihrZXkpLnRvUHJvbWlzZSgpO1xyXG5cdFx0cmV0dXJuIHRyYW5zbGF0aW9uO1xyXG5cdH1cclxuXHJcblx0I2VuY3J5cHQobWVzc2FnZTogc3RyaW5nKSB7XHJcblx0XHRpZiAoIW1lc3NhZ2UgfHwgIXRoaXMuI2VuYWJsZUVuY3J5cHRpb24pIHJldHVybiBtZXNzYWdlO1xyXG5cclxuXHRcdHJldHVybiBDcnlwdG9KUy5BRVMuZW5jcnlwdChtZXNzYWdlLCB0aGlzLiNlbmNyeXB0S2V5KS50b1N0cmluZygpO1xyXG5cdH1cclxuXHQjZGVjcnlwdChjaXBoZXJ0ZXh0OiBzdHJpbmcpIHtcclxuXHRcdGlmICghY2lwaGVydGV4dCB8fCAhdGhpcy4jZW5hYmxlRW5jcnlwdGlvbikgcmV0dXJuIGNpcGhlcnRleHQ7XHJcblxyXG5cdFx0Y29uc3QgYnl0ZXMgPSBDcnlwdG9KUy5BRVMuZGVjcnlwdChjaXBoZXJ0ZXh0LCB0aGlzLiNlbmNyeXB0S2V5KTtcclxuXHRcdHJldHVybiBieXRlcy50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XHJcblx0fVxyXG5cdGdldCAjZW5jcnlwdEtleSgpIHtcclxuXHRcdHJldHVybiBFbnZNYW5hZ2VyLmVudmlyb25tZW50LmVuY3J5cHRLZXkgfHwgRU5DUllQVF9LRVk7XHJcblx0fVxyXG5cdGdldCAjZW5hYmxlRW5jcnlwdGlvbigpIHtcclxuXHRcdHJldHVybiBFbnZNYW5hZ2VyLmVudmlyb25tZW50LmVuYWJsZUVuY3J5cHRpb24gPT0gJ1lFUycgfHwgZmFsc2U7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -12,7 +12,7 @@ import { ActivatedRoute, Router, RouterModule, RoutesRecognized } from '@angular
12
12
  import * as i1 from '@ngx-translate/core';
13
13
  import { TranslateService, TranslateModule, TranslateStore, TranslateLoader } from '@ngx-translate/core';
14
14
  import { map, distinctUntilChanged, takeUntil, catchError, take, tap, switchMap, first, delay, retry, expand, last, debounceTime, filter as filter$1, finalize, startWith, mergeMap, toArray, reduce, concatMap } from 'rxjs/operators';
15
- import { of, BehaviorSubject, Subject, ReplaySubject, iif, combineLatest, Observable, from, forkJoin, isObservable, pipe, EMPTY, concat, fromEvent, interval, throwError } from 'rxjs';
15
+ import { BehaviorSubject, Subject, ReplaySubject, iif, of, combineLatest, Observable, from, forkJoin, isObservable, pipe, EMPTY, concat, fromEvent, interval, throwError } from 'rxjs';
16
16
  import { trigger, state, style, transition, animate, AUTO_STYLE, animation, useAnimation } from '@angular/animations';
17
17
  import * as i1$1 from 'ngx-toastr';
18
18
  import { Toast, ToastrModule } from 'ngx-toastr';
@@ -345,7 +345,7 @@ class UserPreferencesService {
345
345
  expandedSidenav: true
346
346
  };
347
347
  this.userPreferenceStatus = this.defaults;
348
- this.clientCustomTranslateFiles = { arFile: of({}), enFile: of({}) };
348
+ this.clientCustomTranslateFiles = { ar: {}, en: {} };
349
349
  this.onChangeSubject = new BehaviorSubject(this.userPreferenceStatus);
350
350
  this.onChange = this.onChangeSubject.asObservable();
351
351
  }
@@ -1145,16 +1145,13 @@ class TranslationService {
1145
1145
  * @param fallback Language code to fall back to if the first one was unavailable
1146
1146
  */
1147
1147
  loadTranslation(lang, fallback) {
1148
- let clientTranslation;
1149
1148
  if (lang === Lang.Arabic) {
1150
1149
  this.renderer.addClass(document.body, 'rtl');
1151
1150
  this.isArabic.next(true);
1152
- clientTranslation = __classPrivateFieldGet(this, _TranslationService_instances, "a", _TranslationService_ClientTranslationFiles_get).arFile;
1153
1151
  }
1154
1152
  else {
1155
1153
  this.renderer.removeClass(document.body, 'rtl');
1156
1154
  this.isArabic.next(false);
1157
- clientTranslation = __classPrivateFieldGet(this, _TranslationService_instances, "a", _TranslationService_ClientTranslationFiles_get).enFile;
1158
1155
  }
1159
1156
  const arabicFile$ = this.getOrCreateTranslationFile('ar');
1160
1157
  const englishFile$ = this.getOrCreateTranslationFile('en');
@@ -1162,7 +1159,6 @@ class TranslationService {
1162
1159
  arabicFile$,
1163
1160
  englishFile$,
1164
1161
  this.translate.getTranslation(lang),
1165
- clientTranslation
1166
1162
  ]).subscribe((res) => {
1167
1163
  this.arabicFile = res[0];
1168
1164
  this.englishFile = res[1];
@@ -1170,7 +1166,7 @@ class TranslationService {
1170
1166
  let ArorEnFile = lang === 'en'
1171
1167
  ? JSON.parse(res[1].properties['note:note'])
1172
1168
  : JSON.parse(res[0].properties['note:note']);
1173
- this.translate.setTranslation(this.translate.currentLang, Object.assign(Object.assign({}, (res[3] || {})), ArorEnFile), true);
1169
+ this.translate.setTranslation(this.translate.currentLang, Object.assign(Object.assign({}, (__classPrivateFieldGet(this, _TranslationService_instances, "a", _TranslationService_ClientTranslationFiles_get)[lang] || {})), ArorEnFile), true);
1174
1170
  this.onTranslationChanged(lang);
1175
1171
  }, () => {
1176
1172
  if (fallback && fallback !== lang) {
@@ -16953,7 +16949,7 @@ class BaseAggregationField extends BaseSelector {
16953
16949
  this.sourceState$ = this._sourceState.asObservable().pipe(filter$1((data) => !!(data === null || data === void 0 ? void 0 : data.fieldConfig) && !!data.aggregation));
16954
16950
  this.renderOptions$ = this.sourceState$.pipe(map((data) => { var _a, _b; return (_b = (_a = data.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.options; }), filter$1(Boolean));
16955
16951
  this._optionsSub = new BehaviorSubject([]);
16956
- this.options$ = this.sourceState$.pipe(switchMap((res) => this._aggregationService.prepareAggregationFiled(res)), filter$1((data) => !!(data === null || data === void 0 ? void 0 : data.length)), tap((options) => {
16952
+ this.options$ = this.sourceState$.pipe(switchMap((res) => this._aggregationService.prepareAggregationFiled(res)), tap((options) => {
16957
16953
  this._optionsSub.next(options);
16958
16954
  }));
16959
16955
  }
@@ -18761,9 +18757,9 @@ class BaseField extends BaseCustomValueAccessor {
18761
18757
  return;
18762
18758
  }
18763
18759
  Object.keys(changes).forEach((key) => {
18764
- this._componentRef.instance[key] = changes[key].currentValue;
18760
+ this._componentRef.instance[key] = ___default.cloneDeep(changes[key].currentValue);
18765
18761
  });
18766
- this._componentRef.changeDetectorRef.markForCheck();
18762
+ this._componentRef.changeDetectorRef.detectChanges();
18767
18763
  }
18768
18764
  ngOnDestroy() {
18769
18765
  if (this._componentRef) {
@@ -18860,7 +18856,7 @@ class AggregationFieldComponent extends BaseField {
18860
18856
  [AGGREGATION_FIELD_TYPES.switch]: this._prepareField.bind(this),
18861
18857
  [AGGREGATION_FIELD_TYPES.autocomplete]: this._prepareField.bind(this),
18862
18858
  [AGGREGATION_FIELD_TYPES.dateList]: this._prepareField.bind(this),
18863
- [AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this),
18859
+ [AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this)
18864
18860
  };
18865
18861
  }
18866
18862
  ngOnInit() {
@@ -18872,9 +18868,11 @@ class AggregationFieldComponent extends BaseField {
18872
18868
  (_d = (_c = this.handlers)[componentType]) === null || _d === void 0 ? void 0 : _d.call(_c);
18873
18869
  }
18874
18870
  }
18871
+ ngOnChanges(changes) {
18872
+ super.ngOnChanges(changes);
18873
+ }
18875
18874
  _prepareField() {
18876
- const instance = this._componentRef
18877
- .instance;
18875
+ const instance = this._componentRef.instance;
18878
18876
  instance.aggregation = this.aggregation;
18879
18877
  instance.fieldConfig = this.fieldConfig;
18880
18878
  if (this.contentTemplate) {
@@ -18887,14 +18885,14 @@ AggregationFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
18887
18885
  {
18888
18886
  provide: NG_VALUE_ACCESSOR,
18889
18887
  useExisting: forwardRef(() => AggregationFieldComponent),
18890
- multi: true,
18888
+ multi: true
18891
18889
  },
18892
18890
  {
18893
18891
  provide: NG_VALIDATORS,
18894
18892
  useExisting: forwardRef(() => AggregationFieldComponent),
18895
- multi: true,
18896
- },
18897
- ], usesInheritance: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
18893
+ multi: true
18894
+ }
18895
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
18898
18896
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, decorators: [{
18899
18897
  type: Component,
18900
18898
  args: [{
@@ -18906,17 +18904,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
18906
18904
  {
18907
18905
  provide: NG_VALUE_ACCESSOR,
18908
18906
  useExisting: forwardRef(() => AggregationFieldComponent),
18909
- multi: true,
18907
+ multi: true
18910
18908
  },
18911
18909
  {
18912
18910
  provide: NG_VALIDATORS,
18913
18911
  useExisting: forwardRef(() => AggregationFieldComponent),
18914
- multi: true,
18915
- },
18912
+ multi: true
18913
+ }
18916
18914
  ],
18917
18915
  host: {
18918
- '[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' ",
18919
- },
18916
+ '[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' "
18917
+ }
18920
18918
  }]
18921
18919
  }], propDecorators: { aggregation: [{
18922
18920
  type: Input
@@ -44237,7 +44235,8 @@ class NdfReportsComponent extends DestroySubject {
44237
44235
  this.isPanelOpened = false;
44238
44236
  this.isLoadingResult = false;
44239
44237
  this.isExpanded = false;
44240
- this.activeQuery = {};
44238
+ // activeQuery: Record<string, any> = {};
44239
+ this._activeQuerySub = new BehaviorSubject(null);
44241
44240
  this._activeFiltersQuerySub = new ReplaySubject();
44242
44241
  this.activeFiltersQuery$ = this._activeFiltersQuerySub.asObservable();
44243
44242
  this._configSubject = new BehaviorSubject(null);
@@ -44259,6 +44258,10 @@ class NdfReportsComponent extends DestroySubject {
44259
44258
  this.direction = res.lang === 'ar' ? 'rtl' : 'ltr';
44260
44259
  });
44261
44260
  }
44261
+ get activeQuery() {
44262
+ var _a;
44263
+ return (_a = this._activeQuerySub.getValue()) === null || _a === void 0 ? void 0 : _a.current;
44264
+ }
44262
44265
  get showDetails() {
44263
44266
  return !!this._reportDetailsSubject.getValue();
44264
44267
  }
@@ -44440,23 +44443,59 @@ class NdfReportsComponent extends DestroySubject {
44440
44443
  };
44441
44444
  }
44442
44445
  _updateActiveQuery(query) {
44443
- this.activeQuery = query;
44446
+ this._activeQuerySub.next({
44447
+ previous: this.activeQuery,
44448
+ current: query
44449
+ });
44444
44450
  this._activeFiltersQuerySub.next({
44445
44451
  query,
44446
44452
  emitEvent: false
44447
44453
  });
44448
44454
  }
44449
44455
  _prepareAggregations(aggregations) {
44450
- var _a;
44456
+ var _a, _b, _c;
44451
44457
  if (this._isConfigChanged && this.aggregations) {
44452
44458
  this.aggregations = null;
44453
44459
  }
44454
- if (this.aggregations && ((_a = this.config.filters) === null || _a === void 0 ? void 0 : _a.reloadStrategy) === 'never') {
44460
+ const reloadStrategy = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.reload) === null || _c === void 0 ? void 0 : _c.strategy;
44461
+ if (this.aggregations && reloadStrategy === 'never') {
44455
44462
  return;
44456
44463
  }
44457
- this.aggregations = aggregations;
44464
+ if (this.aggregations && reloadStrategy === 'onChange') {
44465
+ if (this._shouldReloadOnChange()) {
44466
+ this._updateAggregations(aggregations);
44467
+ }
44468
+ return;
44469
+ }
44470
+ this._updateAggregations(aggregations);
44458
44471
  this._isConfigChanged = false;
44459
44472
  }
44473
+ _shouldReloadOnChange() {
44474
+ var _a, _b, _c, _d, _e, _f;
44475
+ if (((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.reload) === null || _c === void 0 ? void 0 : _c.strategy) !== 'onChange') {
44476
+ return false;
44477
+ }
44478
+ const triggerFields = (_f = (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.filters) === null || _e === void 0 ? void 0 : _e.reload) === null || _f === void 0 ? void 0 : _f.triggerFields;
44479
+ if (!Array.isArray(triggerFields)) {
44480
+ return false;
44481
+ }
44482
+ const validFields = triggerFields.filter(Boolean);
44483
+ if (!validFields.length) {
44484
+ return false;
44485
+ }
44486
+ const activatedQuery = this._activeQuerySub.getValue();
44487
+ const currentValue = (activatedQuery === null || activatedQuery === void 0 ? void 0 : activatedQuery.current) || {};
44488
+ const previousValue = (activatedQuery === null || activatedQuery === void 0 ? void 0 : activatedQuery.previous) || {};
44489
+ const changedKeys = this._getChangedKeys(previousValue, currentValue);
44490
+ return validFields.some((field) => changedKeys.includes(field));
44491
+ }
44492
+ _getChangedKeys(previous, current) {
44493
+ const allKeys = ___default.union(___default.keys(previous), ___default.keys(current));
44494
+ return allKeys.filter((key) => !___default.isEqual(previous[key], current[key]));
44495
+ }
44496
+ _updateAggregations(aggregations) {
44497
+ this.aggregations = ___default.cloneDeep(aggregations);
44498
+ }
44460
44499
  _checkConfigChange(value) {
44461
44500
  const { activeQuery } = value, config = __rest(value, ["activeQuery"]);
44462
44501
  const _a = this._configSubject.getValue() || {}, { activeQuery: aq } = _a, currentConfig = __rest(_a, ["activeQuery"]);