@sd-angular/core 0.0.905 → 0.0.906

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.
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const SETTING_CONFIG = new InjectionToken('setting.configuration');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NldHRpbmcvIiwic291cmNlcyI6WyJzcmMvbGliL3NldHRpbmcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQThCL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkU2V0dGluZ09wdGlvbjxUID0gYW55PiB7XHJcbiAgdHlwZT86ICdzZXNzaW9uJyB8ICdzZXJ2ZXInO1xyXG4gIGRlZmF1bHQ/OiBUO1xyXG4gIGFyZ3M/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkU2V0dGluZzxUID0gYW55PiB7XHJcbiAgZ2V0OiAoKSA9PiBQcm9taXNlPFQ+O1xyXG4gIHNldDogKGRhdGE6IFQpID0+IFByb21pc2U8dm9pZD47XHJcbiAgaGFzOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xyXG4gIHJlbW92ZTogKCkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICBzdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8VD47XHJcbiAgb2JzZXJ2ZXI6IE9ic2VydmFibGU8VD47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNldHRpbmdDb25maWd1cmF0aW9uIHtcclxuICBjb252ZXJ0S2V5PzogKGtleTogc3RyaW5nKSA9PiBzdHJpbmc7XHJcbiAgc2V0PzogKGtleTogc3RyaW5nLCB2YWx1ZTogeyBkYXRhOiBhbnksIGNyZWF0ZWRPbjogRGF0ZSB9LCBhcmdzPzogU2RTZXR0aW5nT3B0aW9uKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gIGdldD86IChrZXk6IHN0cmluZywgYXJncz86IFNkU2V0dGluZ09wdGlvbikgPT4gUHJvbWlzZTx7XHJcbiAgICBkYXRhOiBhbnksXHJcbiAgICBjcmVhdGVkT246IERhdGVcclxuICB9PjtcclxuICByZW1vdmU/OiAoa2V5OiBzdHJpbmcsIGFyZ3M/OiBTZFNldHRpbmdPcHRpb24pID0+IFByb21pc2U8dm9pZD47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBTRVRUSU5HX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJU2V0dGluZ0NvbmZpZ3VyYXRpb24+KCdzZXR0aW5nLmNvbmZpZ3VyYXRpb24nKTtcclxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NldHRpbmcvIiwic291cmNlcyI6WyJzcmMvbGliL3NldHRpbmcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQThCL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZFNldHRpbmdPcHRpb248VCA9IGFueT4ge1xyXG4gIHR5cGU/OiAnc2Vzc2lvbicgfCAnc2VydmVyJztcclxuICBkZWZhdWx0PzogVDtcclxuICBhcmdzPzoge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZFNldHRpbmc8VCA9IGFueT4ge1xyXG4gIGdldDogKCkgPT4gUHJvbWlzZTxUPjtcclxuICBzZXQ6IChkYXRhOiBUKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gIGhhczogKCkgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuICByZW1vdmU6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgc3ViamVjdDogU3ViamVjdDxUPjtcclxuICBvYnNlcnZlcjogT2JzZXJ2YWJsZTxUPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU2V0dGluZ0NvbmZpZ3VyYXRpb24ge1xyXG4gIGNvbnZlcnRLZXk/OiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZztcclxuICBzZXQ/OiAoa2V5OiBzdHJpbmcsIHZhbHVlOiB7IGRhdGE6IGFueSwgY3JlYXRlZE9uOiBEYXRlIH0sIGFyZ3M/OiBTZFNldHRpbmdPcHRpb24pID0+IFByb21pc2U8dm9pZD47XHJcbiAgZ2V0PzogKGtleTogc3RyaW5nLCBhcmdzPzogU2RTZXR0aW5nT3B0aW9uKSA9PiBQcm9taXNlPHtcclxuICAgIGRhdGE6IGFueSxcclxuICAgIGNyZWF0ZWRPbjogRGF0ZVxyXG4gIH0+O1xyXG4gIHJlbW92ZT86IChrZXk6IHN0cmluZywgYXJncz86IFNkU2V0dGluZ09wdGlvbikgPT4gUHJvbWlzZTx2b2lkPjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFNFVFRJTkdfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPElTZXR0aW5nQ29uZmlndXJhdGlvbj4oJ3NldHRpbmcuY29uZmlndXJhdGlvbicpO1xyXG4iXX0=
@@ -3,8 +3,8 @@ import { __awaiter, __classPrivateFieldGet } from "tslib";
3
3
  import { Optional } from '@angular/core';
4
4
  import { Injectable, Inject } from '@angular/core';
5
5
  import hash from 'object-hash';
6
- import { BehaviorSubject } from 'rxjs';
7
- import { switchMap } from 'rxjs/operators';
6
+ import { Subject } from 'rxjs';
7
+ import { startWith, switchMap } from 'rxjs/operators';
8
8
  import { SETTING_CONFIG } from './setting.model';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "./setting.model";
@@ -169,7 +169,7 @@ export class SdSettingService {
169
169
  }
170
170
  }
171
171
  if (!__classPrivateFieldGet(this, _subject)[hashKey]) {
172
- __classPrivateFieldGet(this, _subject)[hashKey] = new BehaviorSubject(option === null || option === void 0 ? void 0 : option.default);
172
+ __classPrivateFieldGet(this, _subject)[hashKey] = new Subject();
173
173
  }
174
174
  const get = __classPrivateFieldGet(this, _get).call(this, hashKey, option);
175
175
  const set = __classPrivateFieldGet(this, _set).call(this, hashKey, option);
@@ -181,7 +181,7 @@ export class SdSettingService {
181
181
  has,
182
182
  remove,
183
183
  subject: __classPrivateFieldGet(this, _subject)[hashKey],
184
- observer: __classPrivateFieldGet(this, _subject)[hashKey].pipe(switchMap(get))
184
+ observer: __classPrivateFieldGet(this, _subject)[hashKey].pipe(startWith(option === null || option === void 0 ? void 0 : option.default), switchMap(get))
185
185
  };
186
186
  }
187
187
  }
@@ -195,4 +195,4 @@ SdSettingService.decorators = [
195
195
  SdSettingService.ctorParameters = () => [
196
196
  { type: undefined, decorators: [{ type: Inject, args: [SETTING_CONFIG,] }, { type: Optional }] }
197
197
  ];
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvc2V0dGluZy8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2V0dGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQWEsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBcUQsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBS3BHLE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFBd0QsYUFBb0M7UUFBcEMsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBWDVGLGlCQUtJLEVBQUUsRUFBQztRQUVQLG1CQUVJLEVBQUUsRUFBQztRQStDUCxlQUFPLENBQVUsR0FBVyxFQUFFLE1BQTJCLEVBQXNCLEVBQUU7WUFDL0UsT0FBTyxHQUFTLEVBQUU7O2dCQUNoQixJQUFJLEtBQUssR0FBRyxxQ0FBWSxHQUFHLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJLE1BQUssU0FBUyxFQUFFO29CQUM5QixJQUFJO3dCQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDakQ7b0JBQUMsV0FBTTt3QkFDTixLQUFLLEdBQUcsU0FBUyxDQUFDO3FCQUNuQjtpQkFDRjtxQkFBTSxJQUFJLENBQUEsTUFBTSxhQUFOLE1BQU0s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RUFBRSxNQUFNO2FBQ25COzs7NENBYWMsTUFBTSxTQUFDLGNBQWMsY0FBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTRVRUSU5HX0NPTkZJRywgSVNldHRpbmdDb25maWd1cmF0aW9uLCBTZFNldHRpbmdPcHRpb24sIFNkU2V0dGluZyB9IGZyb20gJy4vc2V0dGluZy5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFNldHRpbmdTZXJ2aWNlIHtcclxuICAjY2FjaGU6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IHtcclxuICAgICAgZGF0YTogYW55LFxyXG4gICAgICBjcmVhdGVkT246IERhdGVcclxuICAgIH1cclxuICB9ID0ge307XHJcblxyXG4gICNzdWJqZWN0OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuICB9ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoU0VUVElOR19DT05GSUcpIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlndXJhdGlvbjogSVNldHRpbmdDb25maWd1cmF0aW9uKSB7IH1cclxuXHJcbiAgY3JlYXRlPFQgPSBhbnk+KGtleTogc3RyaW5nIHwgb2JqZWN0LCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb248VD4pOiBTZFNldHRpbmc8VD4ge1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdLZXkgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICAgIGxldCBoYXNoS2V5OiBzdHJpbmcgPSBudWxsO1xyXG4gICAgaWYgKHR5cGVvZiAoa2V5KSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaGFzaEtleSA9IGtleTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIChrZXkpID09PSAnb2JqZWN0Jykge1xyXG4gICAgICBoYXNoS2V5ID0gaGFzaChrZXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleScpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbj8uY29udmVydEtleSkge1xyXG4gICAgICBoYXNoS2V5ID0gdGhpcy5jb25maWd1cmF0aW9uLmNvbnZlcnRLZXkoaGFzaEtleSk7XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2VydmVyJykge1xyXG4gICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uZ2V0KSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgaW5pdCBzZXR0aW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kIGdldCBmb3IgdHlwZSBzZXJ2ZXInKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uc2V0KSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgaW5pdCBzZXR0aW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kIHNldCBmb3IgdHlwZSBzZXJ2ZXInKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8ucmVtb3ZlKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgaW5pdCBzZXR0aW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kIHJlbW92ZSBmb3IgdHlwZSBzZXJ2ZXInKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLiNzdWJqZWN0W2hhc2hLZXldKSB7XHJcbiAgICAgIHRoaXMuI3N1YmplY3RbaGFzaEtleV0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4ob3B0aW9uPy5kZWZhdWx0KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGdldCA9IHRoaXMuI2dldDxUPihoYXNoS2V5LCBvcHRpb24pO1xyXG4gICAgY29uc3Qgc2V0ID0gdGhpcy4jc2V0PFQ+KGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICBjb25zdCBoYXMgPSB0aGlzLiNoYXMoaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGNvbnN0IHJlbW92ZSA9IHRoaXMuI3JlbW92ZShoYXNoS2V5LCBvcHRpb24pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZ2V0LFxyXG4gICAgICBzZXQsXHJcbiAgICAgIGhhcyxcclxuICAgICAgcmVtb3ZlLFxyXG4gICAgICBzdWJqZWN0OiB0aGlzLiNzdWJqZWN0W2hhc2hLZXldLFxyXG4gICAgICBvYnNlcnZlcjogdGhpcy4jc3ViamVjdFtoYXNoS2V5XS5waXBlKHN3aXRjaE1hcChnZXQpKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNnZXQgPSA8VCA9IGFueT4oa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbjxUPik6ICgoKSA9PiBQcm9taXNlPFQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICBsZXQgY2FjaGUgPSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY2FjaGUgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uPy50eXBlID09PSAnc2VydmVyJykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjYWNoZSA9IGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbj8uZ2V0KGtleSwgb3B0aW9uKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY2FjaGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpO1xyXG4gICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgY2FjaGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICghY2FjaGUpIHtcclxuICAgICAgICByZXR1cm4gb3B0aW9uPy5kZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNhY2hlLmRhdGEpKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjc2V0ID0gPFQgPSBhbnk+KGtleTogc3RyaW5nLCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb248VD4pOiAoKGRhdGE6IFQpID0+IFByb21pc2U8dm9pZD4pID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoZGF0YTogVCkgPT4ge1xyXG4gICAgICB0aGlzLiNjYWNoZVtrZXldID0ge1xyXG4gICAgICAgIGRhdGE6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpLFxyXG4gICAgICAgIGNyZWF0ZWRPbjogbmV3IERhdGUoKVxyXG4gICAgICB9O1xyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuI2NhY2hlW2tleV0pKTtcclxuICAgICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbj8udHlwZSA9PT0gJ3NlcnZlcicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uPy5zZXQoa2V5LCB0aGlzLiNjYWNoZVtrZXldKTtcclxuICAgICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuI2NhY2hlW2tleV0pKTtcclxuICAgICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2hhcyA9IChrZXk6IHN0cmluZywgb3B0aW9uPzogU2RTZXR0aW5nT3B0aW9uKTogKCgpID0+IFByb21pc2U8Ym9vbGVhbj4pID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGxldCBjYWNoZSA9IHRoaXMuI2NhY2hlW2tleV07XHJcbiAgICAgIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjYWNoZSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXJ2ZXInKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uPy5nZXQoa2V5LCBvcHRpb24pO1xyXG4gICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgY2FjaGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjYWNoZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFjYWNoZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjcmVtb3ZlID0gKGtleTogc3RyaW5nLCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb24pOiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbj8udHlwZSA9PT0gJ3NlcnZlcicpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbj8ucmVtb3ZlKGtleSwgb3B0aW9uKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLiNzdWJqZWN0W2tleV0ubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvc2V0dGluZy8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2V0dGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQXFELE1BQU0saUJBQWlCLENBQUM7OztBQUtwRyxNQUFNLE9BQU8sZ0JBQWdCO0lBWTNCLFlBQXdELGFBQW9DO1FBQXBDLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQVg1RixpQkFLSSxFQUFFLEVBQUM7UUFFUCxtQkFFSSxFQUFFLEVBQUM7UUErQ1AsZUFBTyxDQUFVLEdBQVcsRUFBRSxNQUEyQixFQUFzQixFQUFFO1lBQy9FLE9BQU8sR0FBUyxFQUFFOztnQkFDaEIsSUFBSSxLQUFLLEdBQUcscUNBQVksR0FBRyxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxNQUFLLFNBQVMsRUFBRTtvQkFDOUIsSUFBSTt3QkFDRixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ2pEO29CQUFDLFdBQU07d0JBQ04sS0FBSyxHQUFHLFNBQVMsQ0FBQztxQkFDbkI7aUJBQ0Y7cUJBQU0sSUFBSSxDQUFBLE1BQU0s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MURGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQWFjLE1BQU0sU0FBQyxjQUFjLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNFVFRJTkdfQ09ORklHLCBJU2V0dGluZ0NvbmZpZ3VyYXRpb24sIFNkU2V0dGluZ09wdGlvbiwgU2RTZXR0aW5nIH0gZnJvbSAnLi9zZXR0aW5nLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU2V0dGluZ1NlcnZpY2Uge1xyXG4gICNjYWNoZToge1xyXG4gICAgW2tleTogc3RyaW5nXToge1xyXG4gICAgICBkYXRhOiBhbnksXHJcbiAgICAgIGNyZWF0ZWRPbjogRGF0ZVxyXG4gICAgfVxyXG4gIH0gPSB7fTtcclxuXHJcbiAgI3N1YmplY3Q6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IFN1YmplY3Q8YW55PjtcclxuICB9ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoU0VUVElOR19DT05GSUcpIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlndXJhdGlvbjogSVNldHRpbmdDb25maWd1cmF0aW9uKSB7IH1cclxuXHJcbiAgY3JlYXRlPFQgPSBhbnk+KGtleTogc3RyaW5nIHwgb2JqZWN0LCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb248VD4pOiBTZFNldHRpbmc8VD4ge1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdLZXkgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICAgIGxldCBoYXNoS2V5OiBzdHJpbmcgPSBudWxsO1xyXG4gICAgaWYgKHR5cGVvZiAoa2V5KSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaGFzaEtleSA9IGtleTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIChrZXkpID09PSAnb2JqZWN0Jykge1xyXG4gICAgICBoYXNoS2V5ID0gaGFzaChrZXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleScpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbj8uY29udmVydEtleSkge1xyXG4gICAgICBoYXNoS2V5ID0gdGhpcy5jb25maWd1cmF0aW9uLmNvbnZlcnRLZXkoaGFzaEtleSk7XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2VydmVyJykge1xyXG4gICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uZ2V0KSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgaW5pdCBzZXR0aW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kIGdldCBmb3IgdHlwZSBzZXJ2ZXInKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uc2V0KSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgaW5pdCBzZXR0aW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kIHNldCBmb3IgdHlwZSBzZXJ2ZXInKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8ucmVtb3ZlKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgaW5pdCBzZXR0aW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kIHJlbW92ZSBmb3IgdHlwZSBzZXJ2ZXInKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLiNzdWJqZWN0W2hhc2hLZXldKSB7XHJcbiAgICAgIHRoaXMuI3N1YmplY3RbaGFzaEtleV0gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBnZXQgPSB0aGlzLiNnZXQ8VD4oaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGNvbnN0IHNldCA9IHRoaXMuI3NldDxUPihoYXNoS2V5LCBvcHRpb24pO1xyXG4gICAgY29uc3QgaGFzID0gdGhpcy4jaGFzKGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICBjb25zdCByZW1vdmUgPSB0aGlzLiNyZW1vdmUoaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGdldCxcclxuICAgICAgc2V0LFxyXG4gICAgICBoYXMsXHJcbiAgICAgIHJlbW92ZSxcclxuICAgICAgc3ViamVjdDogdGhpcy4jc3ViamVjdFtoYXNoS2V5XSxcclxuICAgICAgb2JzZXJ2ZXI6IHRoaXMuI3N1YmplY3RbaGFzaEtleV0ucGlwZShzdGFydFdpdGgob3B0aW9uPy5kZWZhdWx0KSwgc3dpdGNoTWFwKGdldCkpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2dldCA9IDxUID0gYW55PihrZXk6IHN0cmluZywgb3B0aW9uPzogU2RTZXR0aW5nT3B0aW9uPFQ+KTogKCgpID0+IFByb21pc2U8VD4pID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGxldCBjYWNoZSA9IHRoaXMuI2NhY2hlW2tleV07XHJcbiAgICAgIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjYWNoZSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXJ2ZXInKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uPy5nZXQoa2V5LCBvcHRpb24pO1xyXG4gICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgY2FjaGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjYWNoZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFjYWNoZSkge1xyXG4gICAgICAgIHJldHVybiBvcHRpb24/LmRlZmF1bHQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY2FjaGUuZGF0YSkpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNzZXQgPSA8VCA9IGFueT4oa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbjxUPik6ICgoZGF0YTogVCkgPT4gUHJvbWlzZTx2b2lkPikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jIChkYXRhOiBUKSA9PiB7XHJcbiAgICAgIHRoaXMuI2NhY2hlW2tleV0gPSB7XHJcbiAgICAgICAgZGF0YTogSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSksXHJcbiAgICAgICAgY3JlYXRlZE9uOiBuZXcgRGF0ZSgpXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy4jY2FjaGVba2V5XSkpO1xyXG4gICAgICAgICAgdGhpcy4jc3ViamVjdFtrZXldLm5leHQodGhpcy4jY2FjaGVba2V5XS5kYXRhKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uPy50eXBlID09PSAnc2VydmVyJykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb24/LnNldChrZXksIHRoaXMuI2NhY2hlW2tleV0pO1xyXG4gICAgICAgICAgdGhpcy4jc3ViamVjdFtrZXldLm5leHQodGhpcy4jY2FjaGVba2V5XS5kYXRhKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy4jY2FjaGVba2V5XSkpO1xyXG4gICAgICAgICAgdGhpcy4jc3ViamVjdFtrZXldLm5leHQodGhpcy4jY2FjaGVba2V5XS5kYXRhKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjaGFzID0gKGtleTogc3RyaW5nLCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb24pOiAoKCkgPT4gUHJvbWlzZTxib29sZWFuPikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgbGV0IGNhY2hlID0gdGhpcy4jY2FjaGVba2V5XTtcclxuICAgICAgaWYgKG9wdGlvbj8udHlwZSA9PT0gJ3Nlc3Npb24nKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGtleSkpO1xyXG4gICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgY2FjaGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbj8udHlwZSA9PT0gJ3NlcnZlcicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY2FjaGUgPSBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb24/LmdldChrZXksIG9wdGlvbik7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNhY2hlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNyZW1vdmUgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbik6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAob3B0aW9uPy50eXBlID09PSAnc2VydmVyJykge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uPy5yZW1vdmUoa2V5LCBvcHRpb24pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -8,7 +8,7 @@ import { v4 } from 'uuid';
8
8
  import { Subject, Subscription, isObservable } from 'rxjs';
9
9
  import { SdNotifyService } from '@sd-angular/core/notify';
10
10
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
11
- import { startWith, switchMap, debounceTime, map } from 'rxjs/operators';
11
+ import { startWith, debounceTime, map, switchMap } from 'rxjs/operators';
12
12
  import hash from 'object-hash';
13
13
  import { SdSettingService } from '@sd-angular/core/setting';
14
14
  import { DeviceDetectorService } from 'ngx-device-detector';
@@ -723,7 +723,7 @@ SdPopupExport.propDecorators = {
723
723
  _gridOption: [{ type: Input, args: ['gridOption',] }]
724
724
  };
725
725
 
726
- var _COLUMNS, _cache, _getKey, _default, _get, _set, _remove;
726
+ var _COLUMNS, _cache, _getKey, _default, _load, _get, _set, _remove;
727
727
  class SdGridConfigurationService {
728
728
  constructor(settingService, gridMaterialConfiguration) {
729
729
  this.settingService = settingService;
@@ -737,20 +737,19 @@ class SdGridConfigurationService {
737
737
  this.init = (key, gridOption) => {
738
738
  if (!__classPrivateFieldGet(this, _cache)[key]) {
739
739
  const subject = new Subject();
740
- const get = __classPrivateFieldGet(this, _get).call(this, gridOption);
741
- const set = (configuration) => {
742
- configuration = __classPrivateFieldGet(this, _set).call(this, gridOption, configuration);
743
- subject.next(Object.assign({}, configuration));
744
- return configuration;
745
- };
746
740
  __classPrivateFieldGet(this, _cache)[key] = {
747
- get,
748
- set,
741
+ load: __classPrivateFieldGet(this, _load).call(this, gridOption, subject),
742
+ get: __classPrivateFieldGet(this, _get).call(this, gridOption),
743
+ set: (configuration) => {
744
+ configuration = __classPrivateFieldGet(this, _set).call(this, gridOption, configuration);
745
+ subject.next(Object.assign({}, configuration));
746
+ return configuration;
747
+ },
749
748
  remove: () => {
750
749
  __classPrivateFieldGet(this, _remove).call(this, gridOption);
751
750
  subject.next(__classPrivateFieldGet(this, _default).call(this, gridOption));
752
751
  },
753
- observer: subject.pipe(switchMap(__classPrivateFieldGet(this, _get).call(this, gridOption)))
752
+ observer: subject
754
753
  };
755
754
  }
756
755
  return __classPrivateFieldGet(this, _cache)[key];
@@ -782,6 +781,13 @@ class SdGridConfigurationService {
782
781
  columns
783
782
  };
784
783
  });
784
+ _load.set(this, (gridOption, subject) => {
785
+ return () => __awaiter(this, void 0, void 0, function* () {
786
+ const get = __classPrivateFieldGet(this, _get).call(this, gridOption);
787
+ const configuration = yield get();
788
+ subject.next(Object.assign({}, configuration));
789
+ });
790
+ });
785
791
  _get.set(this, (gridOption) => {
786
792
  return () => __awaiter(this, void 0, void 0, function* () {
787
793
  const key = __classPrivateFieldGet(this, _getKey).call(this, gridOption);
@@ -1041,7 +1047,7 @@ class SdGridConfigurationService {
1041
1047
  };
1042
1048
  }
1043
1049
  }
1044
- _COLUMNS = new WeakMap(), _cache = new WeakMap(), _getKey = new WeakMap(), _default = new WeakMap(), _get = new WeakMap(), _set = new WeakMap(), _remove = new WeakMap();
1050
+ _COLUMNS = new WeakMap(), _cache = new WeakMap(), _getKey = new WeakMap(), _default = new WeakMap(), _load = new WeakMap(), _get = new WeakMap(), _set = new WeakMap(), _remove = new WeakMap();
1045
1051
  SdGridConfigurationService.decorators = [
1046
1052
  { type: Injectable }
1047
1053
  ];
@@ -1105,7 +1111,7 @@ SdGridService.ctorParameters = () => [
1105
1111
  { type: SdUtilityService }
1106
1112
  ];
1107
1113
 
1108
- var _paginator, _sort, _subscription$1, _optionChanges, _initCellDef, _initFilterDef, _initFooterDef, _filterExportInfo, _initConfiguration, _filterLocal, _getFilter, _load, _render, _exportedItems, _allColumns, _allExportedColumns, _onExport, _updateSelectedItems;
1114
+ var _paginator, _sort, _subscription$1, _optionChanges, _initCellDef, _initFilterDef, _initFooterDef, _filterExportInfo, _initConfiguration, _filterLocal, _getFilter, _load$1, _render, _exportedItems, _allColumns, _allExportedColumns, _onExport, _updateSelectedItems;
1109
1115
  class SdGridMaterial {
1110
1116
  constructor(ref, configuration, gridConfigurationService, exportService, notifyService, translateService, gridService) {
1111
1117
  this.ref = ref;
@@ -1303,7 +1309,7 @@ class SdGridMaterial {
1303
1309
  pageSize: ((_j = __classPrivateFieldGet(this, _paginator)) === null || _j === void 0 ? void 0 : _j.pageSize) || ((_l = (_k = this.gridOption) === null || _k === void 0 ? void 0 : _k.paginate) === null || _l === void 0 ? void 0 : _l.pageSize) || 50
1304
1310
  });
1305
1311
  });
1306
- _load.set(this, (filterReq) => __awaiter(this, void 0, void 0, function* () {
1312
+ _load$1.set(this, (filterReq) => __awaiter(this, void 0, void 0, function* () {
1307
1313
  this.isLoading = true;
1308
1314
  try {
1309
1315
  if (this.gridOption.type === 'server') {
@@ -1343,7 +1349,7 @@ class SdGridMaterial {
1343
1349
  __classPrivateFieldGet(this, _updateSelectedItems).call(this);
1344
1350
  }));
1345
1351
  this.reload = () => __awaiter(this, void 0, void 0, function* () {
1346
- const data = yield __classPrivateFieldGet(this, _load).call(this, __classPrivateFieldGet(this, _getFilter).call(this));
1352
+ const data = yield __classPrivateFieldGet(this, _load$1).call(this, __classPrivateFieldGet(this, _getFilter).call(this));
1347
1353
  __classPrivateFieldGet(this, _render).call(this, data);
1348
1354
  });
1349
1355
  _exportedItems.set(this, (pageNumber = 0, pageSize = 10000) => __awaiter(this, void 0, void 0, function* () {
@@ -1667,7 +1673,7 @@ class SdGridMaterial {
1667
1673
  __classPrivateFieldGet(this, _subscription$1).add(gridFilter.filterChange.pipe(debounceTime(200), map(() => {
1668
1674
  __classPrivateFieldGet(this, _paginator).pageIndex = 0;
1669
1675
  return __classPrivateFieldGet(this, _getFilter).call(this);
1670
- }), switchMap(__classPrivateFieldGet(this, _load))).subscribe(__classPrivateFieldGet(this, _render)));
1676
+ }), switchMap(__classPrivateFieldGet(this, _load$1))).subscribe(__classPrivateFieldGet(this, _render)));
1671
1677
  }
1672
1678
  }
1673
1679
  set option(option) {
@@ -1689,13 +1695,13 @@ class SdGridMaterial {
1689
1695
  set paginator(paginator) {
1690
1696
  if (paginator && __classPrivateFieldGet(this, _paginator) !== paginator) {
1691
1697
  __classPrivateFieldSet(this, _paginator, paginator);
1692
- __classPrivateFieldGet(this, _subscription$1).add(paginator.page.pipe(debounceTime(200), map(__classPrivateFieldGet(this, _getFilter)), switchMap(__classPrivateFieldGet(this, _load))).subscribe(__classPrivateFieldGet(this, _render)));
1698
+ __classPrivateFieldGet(this, _subscription$1).add(paginator.page.pipe(debounceTime(200), map(__classPrivateFieldGet(this, _getFilter)), switchMap(__classPrivateFieldGet(this, _load$1))).subscribe(__classPrivateFieldGet(this, _render)));
1693
1699
  }
1694
1700
  }
1695
1701
  set sort(sort) {
1696
1702
  if (sort && __classPrivateFieldGet(this, _sort) !== sort) {
1697
1703
  __classPrivateFieldSet(this, _sort, sort);
1698
- __classPrivateFieldGet(this, _subscription$1).add(sort.sortChange.pipe(debounceTime(200), map(__classPrivateFieldGet(this, _getFilter)), switchMap(__classPrivateFieldGet(this, _load))).subscribe(__classPrivateFieldGet(this, _render)));
1704
+ __classPrivateFieldGet(this, _subscription$1).add(sort.sortChange.pipe(debounceTime(200), map(__classPrivateFieldGet(this, _getFilter)), switchMap(__classPrivateFieldGet(this, _load$1))).subscribe(__classPrivateFieldGet(this, _render)));
1699
1705
  }
1700
1706
  }
1701
1707
  ngOnInit() {
@@ -1705,7 +1711,7 @@ class SdGridMaterial {
1705
1711
  __classPrivateFieldGet(this, _subscription$1).add(this.sdCellDefs.changes.pipe(startWith([])).subscribe(__classPrivateFieldGet(this, _initCellDef)));
1706
1712
  __classPrivateFieldGet(this, _subscription$1).add(this.sdFooterDefs.changes.pipe(startWith([])).subscribe(__classPrivateFieldGet(this, _initFooterDef)));
1707
1713
  __classPrivateFieldGet(this, _subscription$1).add(this.sdFilterDefs.changes.pipe(startWith([])).subscribe(__classPrivateFieldGet(this, _initFilterDef)));
1708
- __classPrivateFieldGet(this, _subscription$1).add(__classPrivateFieldGet(this, _optionChanges).pipe(startWith({}), debounceTime(200), map(__classPrivateFieldGet(this, _getFilter)), switchMap(__classPrivateFieldGet(this, _load))).subscribe(__classPrivateFieldGet(this, _render)));
1714
+ __classPrivateFieldGet(this, _subscription$1).add(__classPrivateFieldGet(this, _optionChanges).pipe(startWith({}), debounceTime(200), map(__classPrivateFieldGet(this, _getFilter)), switchMap(__classPrivateFieldGet(this, _load$1))).subscribe(__classPrivateFieldGet(this, _render)));
1709
1715
  this.ref.detectChanges();
1710
1716
  }
1711
1717
  ngOnDestroy() {
@@ -1715,7 +1721,7 @@ class SdGridMaterial {
1715
1721
  moveItemInArray(columns, event.previousIndex, event.currentIndex);
1716
1722
  }
1717
1723
  }
1718
- _paginator = new WeakMap(), _sort = new WeakMap(), _subscription$1 = new WeakMap(), _optionChanges = new WeakMap(), _initCellDef = new WeakMap(), _initFilterDef = new WeakMap(), _initFooterDef = new WeakMap(), _filterExportInfo = new WeakMap(), _initConfiguration = new WeakMap(), _filterLocal = new WeakMap(), _getFilter = new WeakMap(), _load = new WeakMap(), _render = new WeakMap(), _exportedItems = new WeakMap(), _allColumns = new WeakMap(), _allExportedColumns = new WeakMap(), _onExport = new WeakMap(), _updateSelectedItems = new WeakMap();
1724
+ _paginator = new WeakMap(), _sort = new WeakMap(), _subscription$1 = new WeakMap(), _optionChanges = new WeakMap(), _initCellDef = new WeakMap(), _initFilterDef = new WeakMap(), _initFooterDef = new WeakMap(), _filterExportInfo = new WeakMap(), _initConfiguration = new WeakMap(), _filterLocal = new WeakMap(), _getFilter = new WeakMap(), _load$1 = new WeakMap(), _render = new WeakMap(), _exportedItems = new WeakMap(), _allColumns = new WeakMap(), _allExportedColumns = new WeakMap(), _onExport = new WeakMap(), _updateSelectedItems = new WeakMap();
1719
1725
  SdGridMaterial.decorators = [
1720
1726
  { type: Component, args: [{
1721
1727
  selector: 'sd-grid-material',