@koobiq/components 18.38.1 → 18.39.0

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.
@@ -500,6 +500,16 @@
500
500
  .layout-#{$indent}-left-#{$name} {
501
501
  #{$indent}-left: $value !important;
502
502
  }
503
+
504
+ .layout-#{$indent}-vertical-#{$name} {
505
+ #{$indent}-top: $value !important;
506
+ #{$indent}-bottom: $value !important;
507
+ }
508
+
509
+ .layout-#{$indent}-horizontal-#{$name} {
510
+ #{$indent}-left: $value !important;
511
+ #{$indent}-right: $value !important;
512
+ }
503
513
  }
504
514
 
505
515
  .layout-#{$indent}-no-top {
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('18.38.1+sha-5d52114');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzE4LjM4LjErc2hhLTVkNTIxMTQnKTtcbiJdfQ==
2
+ export const VERSION = new Version('18.39.0+sha-b6fbad1');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzE4LjM5LjArc2hhLWI2ZmJhZDEnKTtcbiJdfQ==
@@ -159,7 +159,7 @@ export class KbqFilterBar {
159
159
  </div>
160
160
 
161
161
  <div class="kbq-filter-bar__right">
162
- <ng-content select="kbq-filter-search, [kbq-filter-search]" />
162
+ <ng-content select="kbq-filter-search, [kbq-filter-search], kbq-search-expandable" />
163
163
 
164
164
  <ng-content select="kbq-filter-refresher, [kbq-filter-refresher]" />
165
165
  </div>
@@ -179,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
179
179
  </div>
180
180
 
181
181
  <div class="kbq-filter-bar__right">
182
- <ng-content select="kbq-filter-search, [kbq-filter-search]" />
182
+ <ng-content select="kbq-filter-search, [kbq-filter-search], kbq-search-expandable" />
183
183
 
184
184
  <ng-content select="kbq-filter-refresher, [kbq-filter-refresher]" />
185
185
  </div>
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
210
210
  }], onClosePipe: [{
211
211
  type: Output
212
212
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUNILDRCQUE0QixFQUM1QixvQ0FBb0MsRUFJdkMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBOEIxQyxNQUFNLE9BQU8sWUFBWTtJQXFCckIsd0NBQXdDO0lBQ3hDLElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBdUI7UUFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBRW5DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENB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XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtCUV9MT0NBTEVfU0VSVklDRSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURpdmlkZXJNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZGl2aWRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIEtCUV9GSUxURVJfQkFSX0NPTkZJR1VSQVRJT04sXG4gICAgS0JRX0ZJTFRFUl9CQVJfREVGQVVMVF9DT05GSUdVUkFUSU9OLFxuICAgIEticUZpbHRlcixcbiAgICBLYnFQaXBlLFxuICAgIEticVBpcGVUZW1wbGF0ZVxufSBmcm9tICcuL2ZpbHRlci1iYXIudHlwZXMnO1xuaW1wb3J0IHsgS2JxRmlsdGVyUmVzZXQgfSBmcm9tICcuL2ZpbHRlci1yZXNldCc7XG5pbXBvcnQgeyBLYnFGaWx0ZXJzIH0gZnJvbSAnLi9maWx0ZXJzJztcbmltcG9ydCB7IGdldElkIH0gZnJvbSAnLi9waXBlcy9iYXNlLXBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZpbHRlci1iYXIsIFtrYnEtZmlsdGVyLWJhcl0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtZmlsdGVyLWJhcl9fbGVmdFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWZpbHRlcnNcIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtcGlwZS1hZGRcIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtZmlsdGVyLXJlc2V0XCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImticS1maWx0ZXItYmFyX19yaWdodFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWZpbHRlci1zZWFyY2gsIFtrYnEtZmlsdGVyLXNlYXJjaF1cIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtZmlsdGVyLXJlZnJlc2hlciwgW2ticS1maWx0ZXItcmVmcmVzaGVyXVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJ2ZpbHRlci1iYXIuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW0ticURpdmlkZXJNb2R1bGVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZmlsdGVyLWJhcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUZpbHRlckJhciB7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgcmVhZG9ubHkgZXh0ZXJuYWxDb25maWd1cmF0aW9uID0gaW5qZWN0KEtCUV9GSUxURVJfQkFSX0NPTkZJR1VSQVRJT04sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICBjb25maWd1cmF0aW9uO1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBAQ29udGVudENoaWxkKEticUZpbHRlcnMpIGZpbHRlcnM6IEticUZpbHRlcnM7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBAQ29udGVudENoaWxkKEticUZpbHRlclJlc2V0KSBmaWx0ZXJSZXNldDogS2JxRmlsdGVyUmVzZXQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIHNwZWNpYWwgbG9naWMgdGhhdCB1bnNlbGVjdCBhbGwgaXRlbXMgd2hlbiBhbGwgc2VsZWN0ZWQgYmVjYXVzZSBcImFsbCBzZWxlY3RlZCA9IG5vdGhpbmcgc2VsZWN0ZWRcIi5cbiAgICAgKiBEZWZhdWx0IGlzIHRydWVcbiAgICAgKiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzZWxlY3RlZEFsbEVxdWFsc1NlbGVjdGVkTm90aGluZzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogRmlsdGVyIHRoYXQgaXMgY3VycmVudGx5IHNlbGVjdGVkICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZmlsdGVyKCk6IEticUZpbHRlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyO1xuICAgIH1cblxuICAgIHNldCBmaWx0ZXIodmFsdWU6IEticUZpbHRlciB8IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlciA9PT0gdmFsdWUpIHJldHVybjtcblxuICAgICAgICB0aGlzLl9maWx0ZXIgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2ZpbHRlcjogS2JxRmlsdGVyIHwgbnVsbDtcblxuICAgIC8qKiBBbiBhcnJheSBvZiB0ZW1wbGF0ZXMgdGhhdCBhcmUgdXNlZCB3aGVuIGFkZGluZyBhIHBpcGUuIEFsc28gY29udGFpbnMgbGlzdHMgb2Ygb3B0aW9ucyB0byBzZWxlY3QgKHZhbHVlcykuICovXG4gICAgQElucHV0KClcbiAgICBnZXQgcGlwZVRlbXBsYXRlcygpOiBLYnFQaXBlVGVtcGxhdGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZXM7XG4gICAgfVxuXG4gICAgc2V0IHBpcGVUZW1wbGF0ZXModmFsdWU6IEticVBpcGVUZW1wbGF0ZVtdKSB7XG4gICAgICAgIHRoaXMuX3RlbXBsYXRlcyA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuaW50ZXJuYWxUZW1wbGF0ZXNDaGFuZ2VzLm5leHQodGhpcy5fdGVtcGxhdGVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF90ZW1wbGF0ZXM6IEticVBpcGVUZW1wbGF0ZVtdID0gW107XG4gICAgLyoqXG4gICAgICogRXZlbnQgdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgcmF3IHZhbHVlIG9mIHRoZSBmaWx0ZXIgY2hhbmdlcy4gVGhpcyBpcyBoZXJlIHByaW1hcmlseVxuICAgICAqIHRvIGZhY2lsaXRhdGUgdGhlIHR3by13YXkgYmluZGluZyBmb3IgdGhlIGBmaWx0ZXJgIGlucHV0LlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXIgfCBudWxsPigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSB2YWx1ZSBvZiB0aGUgcGlwZSBjaGFuZ2VzLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvbkNoYW5nZVBpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPEticVBpcGU+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIHBpcGUgZGVsZXRlZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25SZW1vdmVQaXBlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFQaXBlPigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBwaXBlIGNsZWFyZWQuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uQ2xlYXJQaXBlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFQaXBlPigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBzZWxlY3Qgb3IgbXVsdGlzZWxlY3QgcGlwZSBjbG9zZWQuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uQ2xvc2VQaXBlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFQaXBlPigpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgZmlsdGVyIGlzIHNhdmVkIGFuZCBjaGFuZ2VkICovXG4gICAgZ2V0IGlzU2F2ZWRBbmRDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhdmVkICYmIHRoaXMuaXNDaGFuZ2VkO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IGZpbHRlciBpcyBzYXZlZCAqL1xuICAgIGdldCBpc1NhdmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbHRlcj8uc2F2ZWQ7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgZmlsdGVyIGlzIGNoYW5nZWQgKi9cbiAgICBnZXQgaXNDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbHRlcj8uY2hhbmdlZDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgY3VycmVudCBmaWx0ZXIgaXMgcmVhZG9ubHkgKi9cbiAgICBnZXQgaXNSZWFkT25seSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWx0ZXI/LnJlYWRvbmx5O1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IGZpbHRlciBpcyBkaXNhYmxlZCAqL1xuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbHRlcj8uZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlZEZpbHRlcjogS2JxRmlsdGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgZmlsdGVyIGlzIHJlc2V0LiAqL1xuICAgIHJlYWRvbmx5IG9uUmVzZXRGaWx0ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICAvKiogYWxsIGNoYW5nZXMgKi9cbiAgICByZWFkb25seSBjaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICAgIC8qKiBpbnRlcm5hbCBmaWx0ZXIgY2hhbmdlcyAqL1xuICAgIHJlYWRvbmx5IGludGVybmFsRmlsdGVyQ2hhbmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8S2JxRmlsdGVyIHwgbnVsbD4obnVsbCk7XG4gICAgLyoqIGludGVybmFsIGNoYW5nZXMgaW4gdGVtcGxhdGVzICovXG4gICAgcmVhZG9ubHkgaW50ZXJuYWxUZW1wbGF0ZXNDaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxLYnFQaXBlVGVtcGxhdGVbXSB8IG51bGw+KG51bGwpO1xuICAgIC8qKiB0aGlzIHN1YmplY3QgbmVlZCBmb3Igb3BlbnMgcGlwZSBhZnRlciBhZGRpbmdcbiAgICAgKiBAZG9jcy1wcml2YXRlICovXG4gICAgcmVhZG9ubHkgb3BlblBpcGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxGaWx0ZXJDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9maWx0ZXIgPSBmaWx0ZXI7XG5cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXIpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMudXBkYXRlTG9jYWxlUGFyYW1zKTtcblxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5pbml0RGVmYXVsdFBhcmFtcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgbWVyZ2UodGhpcy5vbkNoYW5nZVBpcGUsIHRoaXMub25SZW1vdmVQaXBlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2VkUGlwZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5jaGFuZ2VkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGdpdmUgb3V0IGZha2UgZGF0YS4gRGF0YSB3aWxsIGJlIHN5bmNocm9uaXplZCBhZnRlciBwaXBlIGNsb3NpbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIucGlwZXMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGlwZSkgPT4gZ2V0SWQocGlwZSkgPT09IGdldElkKGNoYW5nZWRQaXBlKSAmJiBwaXBlLnZhbHVlICE9PSBjaGFuZ2VkUGlwZS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHsgLi4udGhpcy5maWx0ZXIgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLnBpcGVzID0gZmlsdGVyLnBpcGVzLm1hcCgocGlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRJZChwaXBlKSA9PT0gZ2V0SWQoY2hhbmdlZFBpcGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjaGFuZ2VkUGlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KGZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKHRoaXMuZmlsdGVyQ2hhbmdlLCB0aGlzLm9uQ2hhbmdlUGlwZSwgdGhpcy5vblJlbW92ZVBpcGUsIHRoaXMuaW50ZXJuYWxGaWx0ZXJDaGFuZ2VzKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogUmVtb3ZlIHBpcGUgZnJvbSBjdXJyZW50IGZpbHRlciBhbmQgZW1pdCBldmVudCAqL1xuICAgIHJlbW92ZVBpcGUocGlwZTogS2JxUGlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlcj8ucGlwZXMuc3BsaWNlKHRoaXMuZmlsdGVyPy5waXBlcy5pbmRleE9mKHBpcGUpLCAxKTtcblxuICAgICAgICB0aGlzLm9uUmVtb3ZlUGlwZS5uZXh0KHBpcGUpO1xuICAgICAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBTYXZlIGN1cnJlbnQgc3RhdGUgb2YgZmlsdGVyICovXG4gICAgc2F2ZUZpbHRlclN0YXRlKGZpbHRlcj86IEticUZpbHRlcikge1xuICAgICAgICB0aGlzLnNhdmVkRmlsdGVyID0gc3RydWN0dXJlZENsb25lKGZpbHRlciA/PyB0aGlzLmZpbHRlcik7XG4gICAgfVxuXG4gICAgLyoqIFJlc3RvcmUgcHJldmlvdXNseSBzYXZlZCBmaWx0ZXIgc3RhdGUgKi9cbiAgICByZXN0b3JlRmlsdGVyU3RhdGUoZmlsdGVyPzogS2JxRmlsdGVyKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyID0gc3RydWN0dXJlZENsb25lKGZpbHRlciA/PyB0aGlzLnNhdmVkRmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRoZSBmaWx0ZXIgc3RhdGUgXCJjaGFuZ2VkXCIgdG8gZmFsc2UgKi9cbiAgICByZXNldEZpbHRlckNoYW5nZWRTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXIhLmNoYW5nZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxvY2FsZVBhcmFtcyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5leHRlcm5hbENvbmZpZ3VyYXRpb24gfHwgdGhpcy5sb2NhbGVTZXJ2aWNlPy5nZXRQYXJhbXMoJ2ZpbHRlckJhcicpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaW5pdERlZmF1bHRQYXJhbXMoKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IEtCUV9GSUxURVJfQkFSX0RFRkFVTFRfQ09ORklHVVJBVElPTjtcbiAgICB9XG59XG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUNILDRCQUE0QixFQUM1QixvQ0FBb0MsRUFJdkMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBOEIxQyxNQUFNLE9BQU8sWUFBWTtJQXFCckIsd0NBQXdDO0lBQ3hDLElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBdUI7UUFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBRW5DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUlELGlIQUFpSDtJQUNqSCxJQUNJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFrQkQsc0RBQXNEO0lBQ3RELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsSUFBSSxPQUFPO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxJQUFJLFNBQVM7UUFDVCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLElBQUksVUFBVTtRQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsSUFBSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQWdCRDtRQXZHQSxvQkFBb0I7UUFDRCxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxvQkFBb0I7UUFDRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpFLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBUzFGOzs7YUFHSztRQUNtQyxxQ0FBZ0MsR0FBWSxJQUFJLENBQUM7UUE4QmpGLGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBQzNDOzs7O1dBSUc7UUFDZ0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUN2RSwrREFBK0Q7UUFDNUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzlELGtEQUFrRDtRQUMvQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUQsa0RBQWtEO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3RCx1RUFBdUU7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBMkJyRCxnQkFBVyxHQUFxQixJQUFJLENBQUM7UUFFN0MscURBQXFEO1FBQzVDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0Qsa0JBQWtCO1FBQ1QsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELDhCQUE4QjtRQUNyQiwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsSUFBSSxDQUFDLENBQUM7UUFDN0Usb0NBQW9DO1FBQzNCLDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUEyQixJQUFJLENBQUMsQ0FBQztRQUN4RjsyQkFDbUI7UUFDVixhQUFRLEdBQUcsSUFBSSxlQUFlLENBQXlCLElBQUksQ0FBQyxDQUFDO1FBMkU5RCx1QkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFOUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQztRQTVFRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUV0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2FBQzFCLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFFM0IsMkVBQTJFO2dCQUMzRSxJQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDbEIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsS0FBSyxDQUNuRixFQUNILENBQUM7b0JBQ0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFFbEMsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNyQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQzs0QkFDckMsT0FBTyxXQUFXLENBQUM7d0JBQ3ZCLENBQUM7d0JBRUQsT0FBTyxJQUFJLENBQUM7b0JBQ2hCLENBQUMsQ0FBQyxDQUFDO29CQUVILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRVAsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQzthQUNyRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMxQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQscURBQXFEO0lBQ3JELFVBQVUsQ0FBQyxJQUFhO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLGVBQWUsQ0FBQyxNQUFrQjtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsa0JBQWtCLENBQUMsTUFBa0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsOENBQThDO0lBQzlDLHVCQUF1QjtRQUNuQixJQUFJLENBQUMsTUFBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQVFPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLG9DQUFvQyxDQUFDO0lBQzlELENBQUM7a0lBekxRLFlBQVk7c0hBQVosWUFBWSx5TEFtQkQsZ0JBQWdCLCtUQVJ0QixVQUFVLDhFQUVWLGNBQWMsZ0RBdENsQjs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCxtMkhBSVMsZ0JBQWdCOzs0RkFLakIsWUFBWTtrQkE1QnhCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtDQUFrQyxZQUNsQzs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLGdCQUFnQixDQUFDLFFBQ3JCO3dCQUNGLEtBQUssRUFBRSxnQkFBZ0I7cUJBQzFCO3dEQWF5QixPQUFPO3NCQUFoQyxZQUFZO3VCQUFDLFVBQVU7Z0JBRU0sV0FBVztzQkFBeEMsWUFBWTt1QkFBQyxjQUFjO2dCQU1ZLGdDQUFnQztzQkFBdkUsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJbEMsTUFBTTtzQkFEVCxLQUFLO2dCQWlCRixhQUFhO3NCQURoQixLQUFLO2dCQWlCYSxZQUFZO3NCQUE5QixNQUFNO2dCQUVZLFlBQVk7c0JBQTlCLE1BQU07Z0JBRVksWUFBWTtzQkFBOUIsTUFBTTtnQkFFWSxXQUFXO3NCQUE3QixNQUFNO2dCQUVZLFdBQVc7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtCUV9MT0NBTEVfU0VSVklDRSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURpdmlkZXJNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZGl2aWRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIEtCUV9GSUxURVJfQkFSX0NPTkZJR1VSQVRJT04sXG4gICAgS0JRX0ZJTFRFUl9CQVJfREVGQVVMVF9DT05GSUdVUkFUSU9OLFxuICAgIEticUZpbHRlcixcbiAgICBLYnFQaXBlLFxuICAgIEticVBpcGVUZW1wbGF0ZVxufSBmcm9tICcuL2ZpbHRlci1iYXIudHlwZXMnO1xuaW1wb3J0IHsgS2JxRmlsdGVyUmVzZXQgfSBmcm9tICcuL2ZpbHRlci1yZXNldCc7XG5pbXBvcnQgeyBLYnFGaWx0ZXJzIH0gZnJvbSAnLi9maWx0ZXJzJztcbmltcG9ydCB7IGdldElkIH0gZnJvbSAnLi9waXBlcy9iYXNlLXBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZpbHRlci1iYXIsIFtrYnEtZmlsdGVyLWJhcl0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtZmlsdGVyLWJhcl9fbGVmdFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWZpbHRlcnNcIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtcGlwZS1hZGRcIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtZmlsdGVyLXJlc2V0XCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImticS1maWx0ZXItYmFyX19yaWdodFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWZpbHRlci1zZWFyY2gsIFtrYnEtZmlsdGVyLXNlYXJjaF0sIGticS1zZWFyY2gtZXhwYW5kYWJsZVwiIC8+XG5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1maWx0ZXItcmVmcmVzaGVyLCBba2JxLWZpbHRlci1yZWZyZXNoZXJdXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnZmlsdGVyLWJhci5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbS2JxRGl2aWRlck1vZHVsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1maWx0ZXItYmFyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRmlsdGVyQmFyIHtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9jYWxlU2VydmljZSA9IGluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICByZWFkb25seSBleHRlcm5hbENvbmZpZ3VyYXRpb24gPSBpbmplY3QoS0JRX0ZJTFRFUl9CQVJfQ09ORklHVVJBVElPTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIGNvbmZpZ3VyYXRpb247XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIEBDb250ZW50Q2hpbGQoS2JxRmlsdGVycykgZmlsdGVyczogS2JxRmlsdGVycztcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIEBDb250ZW50Q2hpbGQoS2JxRmlsdGVyUmVzZXQpIGZpbHRlclJlc2V0OiBLYnFGaWx0ZXJSZXNldDtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgc3BlY2lhbCBsb2dpYyB0aGF0IHVuc2VsZWN0IGFsbCBpdGVtcyB3aGVuIGFsbCBzZWxlY3RlZCBiZWNhdXNlIFwiYWxsIHNlbGVjdGVkID0gbm90aGluZyBzZWxlY3RlZFwiLlxuICAgICAqIERlZmF1bHQgaXMgdHJ1ZVxuICAgICAqICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNlbGVjdGVkQWxsRXF1YWxzU2VsZWN0ZWROb3RoaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBGaWx0ZXIgdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBmaWx0ZXIoKTogS2JxRmlsdGVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXI7XG4gICAgfVxuXG4gICAgc2V0IGZpbHRlcih2YWx1ZTogS2JxRmlsdGVyIHwgbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5fZmlsdGVyID09PSB2YWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuX2ZpbHRlciA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZmlsdGVyOiBLYnFGaWx0ZXIgfCBudWxsO1xuXG4gICAgLyoqIEFuIGFycmF5IG9mIHRlbXBsYXRlcyB0aGF0IGFyZSB1c2VkIHdoZW4gYWRkaW5nIGEgcGlwZS4gQWxzbyBjb250YWlucyBsaXN0cyBvZiBvcHRpb25zIHRvIHNlbGVjdCAodmFsdWVzKS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBwaXBlVGVtcGxhdGVzKCk6IEticVBpcGVUZW1wbGF0ZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlcztcbiAgICB9XG5cbiAgICBzZXQgcGlwZVRlbXBsYXRlcyh2YWx1ZTogS2JxUGlwZVRlbXBsYXRlW10pIHtcbiAgICAgICAgdGhpcy5fdGVtcGxhdGVzID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5pbnRlcm5hbFRlbXBsYXRlc0NoYW5nZXMubmV4dCh0aGlzLl90ZW1wbGF0ZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RlbXBsYXRlczogS2JxUGlwZVRlbXBsYXRlW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBFdmVudCB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSByYXcgdmFsdWUgb2YgdGhlIGZpbHRlciBjaGFuZ2VzLiBUaGlzIGlzIGhlcmUgcHJpbWFyaWx5XG4gICAgICogdG8gZmFjaWxpdGF0ZSB0aGUgdHdvLXdheSBiaW5kaW5nIGZvciB0aGUgYGZpbHRlcmAgaW5wdXQuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEticUZpbHRlciB8IG51bGw+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIHZhbHVlIG9mIHRoZSBwaXBlIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uQ2hhbmdlUGlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxUGlwZT4oKTtcbiAgICAvKiogRXZlbnQgdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgcGlwZSBkZWxldGVkLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblJlbW92ZVBpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPEticVBpcGU+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIHBpcGUgY2xlYXJlZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25DbGVhclBpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPEticVBpcGU+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIHNlbGVjdCBvciBtdWx0aXNlbGVjdCBwaXBlIGNsb3NlZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25DbG9zZVBpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPEticVBpcGU+KCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgY3VycmVudCBmaWx0ZXIgaXMgc2F2ZWQgYW5kIGNoYW5nZWQgKi9cbiAgICBnZXQgaXNTYXZlZEFuZENoYW5nZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2F2ZWQgJiYgdGhpcy5pc0NoYW5nZWQ7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgZmlsdGVyIGlzIHNhdmVkICovXG4gICAgZ2V0IGlzU2F2ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmlsdGVyPy5zYXZlZDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgY3VycmVudCBmaWx0ZXIgaXMgY2hhbmdlZCAqL1xuICAgIGdldCBpc0NoYW5nZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmlsdGVyPy5jaGFuZ2VkO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IGZpbHRlciBpcyByZWFkb25seSAqL1xuICAgIGdldCBpc1JlYWRPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbHRlcj8ucmVhZG9ubHk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgZmlsdGVyIGlzIGRpc2FibGVkICovXG4gICAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmlsdGVyPy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVkRmlsdGVyOiBLYnFGaWx0ZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBFdmVudCB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBmaWx0ZXIgaXMgcmVzZXQuICovXG4gICAgcmVhZG9ubHkgb25SZXNldEZpbHRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBhbGwgY2hhbmdlcyAqL1xuICAgIHJlYWRvbmx5IGNoYW5nZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG4gICAgLyoqIGludGVybmFsIGZpbHRlciBjaGFuZ2VzICovXG4gICAgcmVhZG9ubHkgaW50ZXJuYWxGaWx0ZXJDaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxLYnFGaWx0ZXIgfCBudWxsPihudWxsKTtcbiAgICAvKiogaW50ZXJuYWwgY2hhbmdlcyBpbiB0ZW1wbGF0ZXMgKi9cbiAgICByZWFkb25seSBpbnRlcm5hbFRlbXBsYXRlc0NoYW5nZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEticVBpcGVUZW1wbGF0ZVtdIHwgbnVsbD4obnVsbCk7XG4gICAgLyoqIHRoaXMgc3ViamVjdCBuZWVkIGZvciBvcGVucyBwaXBlIGFmdGVyIGFkZGluZ1xuICAgICAqIEBkb2NzLXByaXZhdGUgKi9cbiAgICByZWFkb25seSBvcGVuUGlwZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbEZpbHRlckNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlciA9IGZpbHRlcjtcblxuICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUodGhpcy51cGRhdGVMb2NhbGVQYXJhbXMpO1xuXG4gICAgICAgIGlmICghdGhpcy5sb2NhbGVTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXREZWZhdWx0UGFyYW1zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBtZXJnZSh0aGlzLm9uQ2hhbmdlUGlwZSwgdGhpcy5vblJlbW92ZVBpcGUpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZWRQaXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLmNoYW5nZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gZ2l2ZSBvdXQgZmFrZSBkYXRhLiBEYXRhIHdpbGwgYmUgc3luY2hyb25pemVkIGFmdGVyIHBpcGUgY2xvc2luZ1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5waXBlcy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwaXBlKSA9PiBnZXRJZChwaXBlKSA9PT0gZ2V0SWQoY2hhbmdlZFBpcGUpICYmIHBpcGUudmFsdWUgIT09IGNoYW5nZWRQaXBlLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0geyAuLi50aGlzLmZpbHRlciB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIucGlwZXMgPSBmaWx0ZXIucGlwZXMubWFwKChwaXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldElkKHBpcGUpID09PSBnZXRJZChjaGFuZ2VkUGlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoYW5nZWRQaXBlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwaXBlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoZmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5maWx0ZXJDaGFuZ2UsIHRoaXMub25DaGFuZ2VQaXBlLCB0aGlzLm9uUmVtb3ZlUGlwZSwgdGhpcy5pbnRlcm5hbEZpbHRlckNoYW5nZXMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBSZW1vdmUgcGlwZSBmcm9tIGN1cnJlbnQgZmlsdGVyIGFuZCBlbWl0IGV2ZW50ICovXG4gICAgcmVtb3ZlUGlwZShwaXBlOiBLYnFQaXBlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyPy5waXBlcy5zcGxpY2UodGhpcy5maWx0ZXI/LnBpcGVzLmluZGV4T2YocGlwZSksIDEpO1xuXG4gICAgICAgIHRoaXMub25SZW1vdmVQaXBlLm5leHQocGlwZSk7XG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIFNhdmUgY3VycmVudCBzdGF0ZSBvZiBmaWx0ZXIgKi9cbiAgICBzYXZlRmlsdGVyU3RhdGUoZmlsdGVyPzogS2JxRmlsdGVyKSB7XG4gICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmUoZmlsdGVyID8/IHRoaXMuZmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKiogUmVzdG9yZSBwcmV2aW91c2x5IHNhdmVkIGZpbHRlciBzdGF0ZSAqL1xuICAgIHJlc3RvcmVGaWx0ZXJTdGF0ZShmaWx0ZXI/OiBLYnFGaWx0ZXIpIHtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmUoZmlsdGVyID8/IHRoaXMuc2F2ZWRGaWx0ZXIpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGhlIGZpbHRlciBzdGF0ZSBcImNoYW5nZWRcIiB0byBmYWxzZSAqL1xuICAgIHJlc2V0RmlsdGVyQ2hhbmdlZFN0YXRlKCkge1xuICAgICAgICB0aGlzLmZpbHRlciEuY2hhbmdlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTG9jYWxlUGFyYW1zID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLmV4dGVybmFsQ29uZmlndXJhdGlvbiB8fCB0aGlzLmxvY2FsZVNlcnZpY2U/LmdldFBhcmFtcygnZmlsdGVyQmFyJyk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpbml0RGVmYXVsdFBhcmFtcygpIHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gS0JRX0ZJTFRFUl9CQVJfREVGQVVMVF9DT05GSUdVUkFUSU9OO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Output, ViewChild, ViewEncapsulation } from '@angular/core';
1
+ import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, EventEmitter, inject, input, numberAttribute, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
3
  import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
4
4
  import { KbqButton, KbqButtonModule } from '@koobiq/components/button';
@@ -7,6 +7,8 @@ import { KbqFormFieldModule } from '@koobiq/components/form-field';
7
7
  import { KbqIconModule } from '@koobiq/components/icon';
8
8
  import { KbqInput, KbqInputModule } from '@koobiq/components/input';
9
9
  import { KbqToolTipModule, KbqTooltipTrigger } from '@koobiq/components/tooltip';
10
+ import { debounceTime, distinctUntilChanged } from 'rxjs';
11
+ import { filter } from 'rxjs/operators';
10
12
  import { KbqFilterBar } from './filter-bar';
11
13
  import * as i0 from "@angular/core";
12
14
  import * as i1 from "@koobiq/components/button";
@@ -15,28 +17,46 @@ import * as i3 from "@koobiq/components/icon";
15
17
  import * as i4 from "@koobiq/components/form-field";
16
18
  import * as i5 from "@koobiq/components/input";
17
19
  import * as i6 from "@angular/forms";
20
+ export const defaultOnSearchTimeout = 0;
18
21
  export class KbqFilterBarSearch {
19
- /** localized data
20
- * @docs-private */
21
- get localeData() {
22
- return this.filterBar.configuration.search;
23
- }
24
22
  constructor() {
25
23
  /** KbqFilterBar instance */
26
24
  this.filterBar = inject(KbqFilterBar);
27
25
  this.changeDetectorRef = inject(ChangeDetectorRef);
26
+ this.destroyRef = inject(DestroyRef);
28
27
  /** control for search */
29
28
  this.searchControl = new UntypedFormControl();
30
29
  /** Whether the search active */
31
30
  this.isSearchActive = false;
31
+ /**
32
+ /** Timeout in milliseconds for emit event. The default value is taken from defaultOnSearchTimeout
33
+ * @default 0
34
+ */
35
+ this.onSearchTimeout = input(defaultOnSearchTimeout, { transform: numberAttribute });
36
+ /** Emit event by enter or not. Default is false */
37
+ this.emitValueByEnter = input(false, { transform: booleanAttribute });
38
+ /** Value of the field after initialization */
39
+ this.initialValue = input();
32
40
  /** event that is generated whenever a user performs a search. */
33
41
  this.onSearch = new EventEmitter();
34
42
  /** @docs-private */
35
43
  this.onReset = () => {
36
44
  this.changeDetectorRef.markForCheck();
37
45
  };
38
- this.searchControl.valueChanges.subscribe(this.onSearch);
39
- this.filterBar.filterReset?.onResetFilter.pipe(takeUntilDestroyed()).subscribe(this.onReset);
46
+ }
47
+ /** localized data
48
+ * @docs-private */
49
+ get localeData() {
50
+ return this.filterBar.configuration.search;
51
+ }
52
+ ngAfterViewInit() {
53
+ this.filterBar.filterReset?.onResetFilter.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(this.onReset);
54
+ if (this.initialValue()) {
55
+ this.searchControl.setValue(this.initialValue(), { emitEvent: false });
56
+ }
57
+ this.searchControl.valueChanges
58
+ .pipe(distinctUntilChanged(), filter(() => !this.emitValueByEnter()), debounceTime(this.onSearchTimeout()), takeUntilDestroyed(this.destroyRef))
59
+ .subscribe(this.onSearch);
40
60
  }
41
61
  openSearch() {
42
62
  this.isSearchActive = true;
@@ -55,6 +75,12 @@ export class KbqFilterBarSearch {
55
75
  this.tooltip.hide();
56
76
  }
57
77
  /** @docs-private */
78
+ onEnter() {
79
+ if (this.emitValueByEnter()) {
80
+ this.onSearch.emit(this.searchControl.value);
81
+ }
82
+ }
83
+ /** @docs-private */
58
84
  onClear() {
59
85
  this.isSearchActive = false;
60
86
  setTimeout(() => {
@@ -63,7 +89,7 @@ export class KbqFilterBarSearch {
63
89
  });
64
90
  }
65
91
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFilterBarSearch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KbqFilterBarSearch, isStandalone: true, selector: "kbq-filter-search, [kbq-filter-search]", outputs: { onSearch: "onSearch" }, host: { classAttribute: "kbq-filter-search" }, viewQueries: [{ propertyName: "input", first: true, predicate: KbqInput, descendants: true }, { propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "tooltip", first: true, predicate: KbqTooltipTrigger, descendants: true }], ngImport: i0, template: `
92
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: KbqFilterBarSearch, isStandalone: true, selector: "kbq-filter-search, [kbq-filter-search]", inputs: { onSearchTimeout: { classPropertyName: "onSearchTimeout", publicName: "onSearchTimeout", isSignal: true, isRequired: false, transformFunction: null }, emitValueByEnter: { classPropertyName: "emitValueByEnter", publicName: "emitValueByEnter", isSignal: true, isRequired: false, transformFunction: null }, initialValue: { classPropertyName: "initialValue", publicName: "initialValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSearch: "onSearch" }, host: { classAttribute: "kbq-filter-search" }, viewQueries: [{ propertyName: "input", first: true, predicate: KbqInput, descendants: true }, { propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "tooltip", first: true, predicate: KbqTooltipTrigger, descendants: true }], ngImport: i0, template: `
67
93
  <button
68
94
  kbq-button
69
95
  [class.kbq-filter_hidden]="isSearchActive"
@@ -85,6 +111,7 @@ export class KbqFilterBarSearch {
85
111
  placeholder="{{ localeData.placeholder }}"
86
112
  (blur)="onBlur()"
87
113
  (keydown.escape)="onEscape()"
114
+ (keydown.enter)="onEnter()"
88
115
  />
89
116
 
90
117
  <kbq-cleaner (click)="onClear()" />
@@ -115,6 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
115
142
  placeholder="{{ localeData.placeholder }}"
116
143
  (blur)="onBlur()"
117
144
  (keydown.escape)="onEscape()"
145
+ (keydown.enter)="onEnter()"
118
146
  />
119
147
 
120
148
  <kbq-cleaner (click)="onClear()" />
@@ -130,7 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
130
158
  ], host: {
131
159
  class: 'kbq-filter-search'
132
160
  }, styles: [".kbq-filter-search{display:flex;align-items:start}.kbq-filter-search .kbq-form-field{width:260px}.kbq-filter-search .kbq-filter_hidden{display:none}\n"] }]
133
- }], ctorParameters: () => [], propDecorators: { input: [{
161
+ }], propDecorators: { input: [{
134
162
  type: ViewChild,
135
163
  args: [KbqInput]
136
164
  }], button: [{
@@ -142,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
142
170
  }], onSearch: [{
143
171
  type: Output
144
172
  }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFnRDVDLE1BQU0sT0FBTyxrQkFBa0I7SUFlM0I7dUJBQ21CO0lBQ25CLElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUFLRDtRQXZCQSw0QkFBNEI7UUFDWCxjQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pDLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBTS9ELHlCQUF5QjtRQUN6QixrQkFBYSxHQUF1QixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFN0QsZ0NBQWdDO1FBQ2hDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBUWhDLGlFQUFpRTtRQUM5QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQXlDekQsb0JBQW9CO1FBQ3BCLFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDO1FBekNFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixNQUFNO1FBQ0YsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRXJDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLE9BQU87UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVwQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztrSUE3RFEsa0JBQWtCO3NIQUFsQixrQkFBa0IsMk5BS2hCLFFBQVEseUVBQ1IsU0FBUywwRUFDVCxpQkFBaUIsZ0RBbERsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EwQlQsK05BS0csZ0JBQWdCLDhCQUNoQixlQUFlLCtOQUNmLGdCQUFnQiwyZEFDaEIsYUFBYSwySUFDYixrQkFBa0IsOHdCQUNsQixjQUFjLGdQQUNkLG1CQUFtQjs7NEZBTWQsa0JBQWtCO2tCQTlDOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sd0NBQXdDLFlBQ3hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBCVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxtQkFBbUI7cUJBQ3RCLFFBQ0s7d0JBQ0YsS0FBSyxFQUFFLG1CQUFtQjtxQkFDN0I7d0RBTzRCLEtBQUs7c0JBQWpDLFNBQVM7dUJBQUMsUUFBUTtnQkFDVyxNQUFNO3NCQUFuQyxTQUFTO3VCQUFDLFNBQVM7Z0JBQ2tCLE9BQU87c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQWVULFFBQVE7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLYnFCdXR0b24sIEticUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgS2JxRGl2aWRlck1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kaXZpZGVyJztcbmltcG9ydCB7IEticUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEticUljb25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFJbnB1dCwgS2JxSW5wdXRNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaW5wdXQnO1xuaW1wb3J0IHsgS2JxVG9vbFRpcE1vZHVsZSwgS2JxVG9vbHRpcFRyaWdnZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBLYnFGaWx0ZXJCYXIgfSBmcm9tICcuL2ZpbHRlci1iYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZpbHRlci1zZWFyY2gsIFtrYnEtZmlsdGVyLXNlYXJjaF0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGticS1idXR0b25cbiAgICAgICAgICAgIFtjbGFzcy5rYnEtZmlsdGVyX2hpZGRlbl09XCJpc1NlYXJjaEFjdGl2ZVwiXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2NvbnRyYXN0J1wiXG4gICAgICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICBrYnFUb29sdGlwPVwie3sgbG9jYWxlRGF0YS50b29sdGlwIH19XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VhcmNoKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1tYWduaWZ5aW5nLWdsYXNzXzE2XCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8a2JxLWZvcm0tZmllbGQgW2NsYXNzLmticS1maWx0ZXJfaGlkZGVuXT1cIiFpc1NlYXJjaEFjdGl2ZVwiPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtbWFnbmlmeWluZy1nbGFzc18xNlwiIGticVByZWZpeD48L2k+XG5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBsb2NhbGVEYXRhLnBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlKClcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPGticS1jbGVhbmVyIChjbGljayk9XCJvbkNsZWFyKClcIiAvPlxuICAgICAgICA8L2ticS1mb3JtLWZpZWxkPlxuICAgIGAsXG4gICAgc3R5bGVVcmw6ICdmaWx0ZXItc2VhcmNoLnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLYnFEaXZpZGVyTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticVRvb2xUaXBNb2R1bGUsXG4gICAgICAgIEticUljb25Nb2R1bGUsXG4gICAgICAgIEticUZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgS2JxSW5wdXRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZmlsdGVyLXNlYXJjaCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUZpbHRlckJhclNlYXJjaCB7XG4gICAgLyoqIEticUZpbHRlckJhciBpbnN0YW5jZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBAVmlld0NoaWxkKEticUlucHV0KSBwcml2YXRlIGlucHV0OiBLYnFJbnB1dDtcbiAgICBAVmlld0NoaWxkKEticUJ1dHRvbikgcHJpdmF0ZSBidXR0b246IEticUJ1dHRvbjtcbiAgICBAVmlld0NoaWxkKEticVRvb2x0aXBUcmlnZ2VyKSBwcml2YXRlIHRvb2x0aXA6IEticVRvb2x0aXBUcmlnZ2VyO1xuXG4gICAgLyoqIGNvbnRyb2wgZm9yIHNlYXJjaCAqL1xuICAgIHNlYXJjaENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBzZWFyY2ggYWN0aXZlICovXG4gICAgaXNTZWFyY2hBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBsb2NhbGl6ZWQgZGF0YVxuICAgICAqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBnZXQgbG9jYWxlRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyQmFyLmNvbmZpZ3VyYXRpb24uc2VhcmNoO1xuICAgIH1cblxuICAgIC8qKiBldmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciBhIHVzZXIgcGVyZm9ybXMgYSBzZWFyY2guICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGhpcy5vblNlYXJjaCk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyUmVzZXQ/Lm9uUmVzZXRGaWx0ZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMub25SZXNldCk7XG4gICAgfVxuXG4gICAgb3BlblNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlucHV0LmZvY3VzKCkpO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hDb250cm9sLnZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5vbkVzY2FwZSgpO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25Fc2NhcGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hBY3RpdmUgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmJ1dHRvbi5mb2N1c1ZpYUtleWJvYXJkKCk7XG5cbiAgICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIG9uQ2xlYXIoKSB7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hBY3RpdmUgPSBmYWxzZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzKCk7XG5cbiAgICAgICAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25SZXNldCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xufVxuIl19
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBRTVDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQztB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akQsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsT0FBTztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXBCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO2tJQTVGUSxrQkFBa0I7c0hBQWxCLGtCQUFrQixtcUJBTWhCLFFBQVEseUVBQ1IsU0FBUywwRUFDVCxpQkFBaUIsZ0RBcERsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMkJULCtOQUtHLGdCQUFnQiw4QkFDaEIsZUFBZSwrTkFDZixnQkFBZ0IsMmRBQ2hCLGFBQWEsMklBQ2Isa0JBQWtCLDh3QkFDbEIsY0FBYyxnUEFDZCxtQkFBbUI7OzRGQU1kLGtCQUFrQjtrQkEvQzlCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLHdDQUF3QyxZQUN4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMkJULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNMLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG1CQUFtQjtxQkFDdEIsUUFDSzt3QkFDRixLQUFLLEVBQUUsbUJBQW1CO3FCQUM3Qjs4QkFRNEIsS0FBSztzQkFBakMsU0FBUzt1QkFBQyxRQUFRO2dCQUNXLE1BQU07c0JBQW5DLFNBQVM7dUJBQUMsU0FBUztnQkFDa0IsT0FBTztzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBMkJULFFBQVE7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2JxQnV0dG9uLCBLYnFCdXR0b25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEticURpdmlkZXJNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZGl2aWRlcic7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBLYnFJY29uTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgS2JxSW5wdXQsIEticUlucHV0TW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2lucHV0JztcbmltcG9ydCB7IEticVRvb2xUaXBNb2R1bGUsIEticVRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyIH0gZnJvbSAnLi9maWx0ZXItYmFyJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRPblNlYXJjaFRpbWVvdXQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZpbHRlci1zZWFyY2gsIFtrYnEtZmlsdGVyLXNlYXJjaF0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGticS1idXR0b25cbiAgICAgICAgICAgIFtjbGFzcy5rYnEtZmlsdGVyX2hpZGRlbl09XCJpc1NlYXJjaEFjdGl2ZVwiXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2NvbnRyYXN0J1wiXG4gICAgICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICBrYnFUb29sdGlwPVwie3sgbG9jYWxlRGF0YS50b29sdGlwIH19XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VhcmNoKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1tYWduaWZ5aW5nLWdsYXNzXzE2XCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8a2JxLWZvcm0tZmllbGQgW2NsYXNzLmticS1maWx0ZXJfaGlkZGVuXT1cIiFpc1NlYXJjaEFjdGl2ZVwiPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtbWFnbmlmeWluZy1nbGFzc18xNlwiIGticVByZWZpeD48L2k+XG5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBsb2NhbGVEYXRhLnBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlKClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoKVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8a2JxLWNsZWFuZXIgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiIC8+XG4gICAgICAgIDwva2JxLWZvcm0tZmllbGQ+XG4gICAgYCxcbiAgICBzdHlsZVVybDogJ2ZpbHRlci1zZWFyY2guc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEticURpdmlkZXJNb2R1bGUsXG4gICAgICAgIEticUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgS2JxVG9vbFRpcE1vZHVsZSxcbiAgICAgICAgS2JxSWNvbk1vZHVsZSxcbiAgICAgICAgS2JxRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBLYnFJbnB1dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1maWx0ZXItc2VhcmNoJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRmlsdGVyQmFyU2VhcmNoIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEticUZpbHRlckJhciBpbnN0YW5jZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgQFZpZXdDaGlsZChLYnFJbnB1dCkgcHJpdmF0ZSBpbnB1dDogS2JxSW5wdXQ7XG4gICAgQFZpZXdDaGlsZChLYnFCdXR0b24pIHByaXZhdGUgYnV0dG9uOiBLYnFCdXR0b247XG4gICAgQFZpZXdDaGlsZChLYnFUb29sdGlwVHJpZ2dlcikgcHJpdmF0ZSB0b29sdGlwOiBLYnFUb29sdGlwVHJpZ2dlcjtcblxuICAgIC8qKiBjb250cm9sIGZvciBzZWFyY2ggKi9cbiAgICBzZWFyY2hDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgc2VhcmNoIGFjdGl2ZSAqL1xuICAgIGlzU2VhcmNoQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogbG9jYWxpemVkIGRhdGFcbiAgICAgKiBAZG9jcy1wcml2YXRlICovXG4gICAgZ2V0IGxvY2FsZURhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckJhci5jb25maWd1cmF0aW9uLnNlYXJjaDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAvKiogVGltZW91dCBpbiBtaWxsaXNlY29uZHMgZm9yIGVtaXQgZXZlbnQuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHRha2VuIGZyb20gZGVmYXVsdE9uU2VhcmNoVGltZW91dFxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICByZWFkb25seSBvblNlYXJjaFRpbWVvdXQgPSBpbnB1dChkZWZhdWx0T25TZWFyY2hUaW1lb3V0LCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqIEVtaXQgZXZlbnQgYnkgZW50ZXIgb3Igbm90LiBEZWZhdWx0IGlzIGZhbHNlICovXG4gICAgcmVhZG9ubHkgZW1pdFZhbHVlQnlFbnRlciA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKiBWYWx1ZSBvZiB0aGUgZmllbGQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gKi9cbiAgICByZWFkb25seSBpbml0aWFsVmFsdWUgPSBpbnB1dCgpO1xuXG4gICAgLyoqIGV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIGEgdXNlciBwZXJmb3JtcyBhIHNlYXJjaC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyUmVzZXQ/Lm9uUmVzZXRGaWx0ZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKHRoaXMub25SZXNldCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmluaXRpYWxWYWx1ZSgpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5lbWl0VmFsdWVCeUVudGVyKCkpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLm9uU2VhcmNoVGltZW91dCgpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLm9uU2VhcmNoKTtcbiAgICB9XG5cbiAgICBvcGVuU2VhcmNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2VhcmNoQWN0aXZlID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5wdXQuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpIHJldHVybjtcblxuICAgICAgICB0aGlzLm9uRXNjYXBlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvbkVzY2FwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzVmlhS2V5Ym9hcmQoKTtcblxuICAgICAgICB0aGlzLnRvb2x0aXAuaGlkZSgpO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25FbnRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZW1pdFZhbHVlQnlFbnRlcigpKSB7XG4gICAgICAgICAgICB0aGlzLm9uU2VhcmNoLmVtaXQodGhpcy5zZWFyY2hDb250cm9sLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25DbGVhcigpIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b24uZm9jdXMoKTtcblxuICAgICAgICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvblJlc2V0ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG59XG4iXX0=