@wavemaker/app-ng-runtime 11.9.0-next.27470 → 11.9.0-next.27476

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.
@@ -2251,7 +2251,7 @@
2251
2251
  * As this widget implements ControlValueAccessor, manually updating the ngModel (or modelByKey) is necessary to ensure correct form behavior.
2252
2252
  * */
2253
2253
  const datasetSubscription = this.dataset$.subscribe(() => {
2254
- if (i1$1.isIos()) {
2254
+ if (i1$1.isIos() || i1$1.isSafari()) {
2255
2255
  if (this.datavalue) {
2256
2256
  const selectedItem = this.datasetItems.find(item => item.selected);
2257
2257
  if (!selectedItem) {
@@ -2331,7 +2331,7 @@
2331
2331
  */
2332
2332
  checkForFloatingLabel($event) {
2333
2333
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
2334
- if (!this.placeholder && i1$1.isIos()) {
2334
+ if (!this.placeholder && (i1$1.isIos() || i1$1.isSafari())) {
2335
2335
  this.removePlaceholderOption();
2336
2336
  }
2337
2337
  if (captionEl.length > 0) {
@@ -1,6 +1,6 @@
1
1
  import { Component, ElementRef, Inject, Injector, Optional, ViewChild } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { DataSource, isIos, removeAttr, setAttr } from '@wm/core';
3
+ import { DataSource, isIos, removeAttr, setAttr, isSafari } from '@wm/core';
4
4
  import { provideAs, provideAsWidgetRef, styler } from '@wm/components/base';
5
5
  import { DatasetAwareFormComponent } from '../dataset-aware-form.component';
6
6
  import { registerProps } from './select.props';
@@ -69,7 +69,7 @@ export class SelectComponent extends DatasetAwareFormComponent {
69
69
  * As this widget implements ControlValueAccessor, manually updating the ngModel (or modelByKey) is necessary to ensure correct form behavior.
70
70
  * */
71
71
  const datasetSubscription = this.dataset$.subscribe(() => {
72
- if (isIos()) {
72
+ if (isIos() || isSafari()) {
73
73
  if (this.datavalue) {
74
74
  const selectedItem = this.datasetItems.find(item => item.selected);
75
75
  if (!selectedItem) {
@@ -149,7 +149,7 @@ export class SelectComponent extends DatasetAwareFormComponent {
149
149
  */
150
150
  checkForFloatingLabel($event) {
151
151
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
152
- if (!this.placeholder && isIos()) {
152
+ if (!this.placeholder && (isIos() || isSafari())) {
153
153
  this.removePlaceholderOption();
154
154
  }
155
155
  if (captionEl.length > 0) {
@@ -230,4 +230,4 @@ export class SelectComponent extends DatasetAwareFormComponent {
230
230
  args: ['select', { static: true, read: ElementRef }]
231
231
  }] }); })();
232
232
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 20 }); })();
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztJQ3FCakMsNEJBSVU7OztJQUROLEFBREEsQUFEQSxtQ0FBa0IsOEJBQ1EsOEJBQ0E7OztJQUxsQyxtQ0FDMkI7SUFDdkIsZ0dBSUM7SUFDTCxpQkFBVzs7O0lBTlAsdUNBQXNCO0lBQ0csY0FBaUI7SUFBakIsMENBQWlCOzs7SUFIbEQsNkJBQThCO0lBQzFCLHlGQUMyQjs7OztJQURJLGNBQWM7SUFBZCw0Q0FBYzs7O0lBVzdDLDRCQUlVOzs7SUFETixBQURBLEFBREEsbUNBQWtCLDhCQUNRLDhCQUNBOzs7SUFKbEMsNkJBQStC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cG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0YVNvdXJjZSwgaXNJb3MsIHJlbW92ZUF0dHIsIHNldEF0dHJ9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7cHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlcn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQge0RhdGFzZXRBd2FyZUZvcm1Db21wb25lbnR9IGZyb20gJy4uL2RhdGFzZXQtYXdhcmUtZm9ybS5jb21wb25lbnQnO1xuXG5pbXBvcnQge3JlZ2lzdGVyUHJvcHN9IGZyb20gJy4vc2VsZWN0LnByb3BzJztcblxuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tc2VsZWN0JywgaG9zdENsYXNzOiAnYXBwLXNlbGVjdC13cmFwcGVyJ307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd20tc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKFNlbGVjdENvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXMoU2VsZWN0Q29tcG9uZW50LCBOR19WQUxJREFUT1JTLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFNlbGVjdENvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIHB1YmxpYyBuYXZzZWFyY2hiYXI6IGFueTtcbiAgICBwdWJsaWMgY2xhc3M6IGFueTtcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyB0YWJpbmRleDogYW55O1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGF1dG9mb2N1czogYm9vbGVhbjtcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBwdWJsaWMgc2hvcnRjdXRrZXk6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIHNlbGVjdEVsOiBFbGVtZW50UmVmO1xuXG4gICAgc2V0IGRhdGFzb3VyY2UoZHMpIHtcbiAgICAgICAgaWYgKGRzICYmIGRzLmV4ZWN1dGUgJiYgZHMuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5JU19CT1VORF9UT19MT0NBTEUpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGF2YWx1ZSA9IGRzLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX0RFRkFVTFRfTE9DQUxFKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgICAgIHRoaXMuYWNjZXB0c0FycmF5ID0gdHJ1ZTtcblxuICAgICAgICAvKlxuICAgICAgICAqIFdoZW4gdGhlIGRhdGFzZXQgZm9yIGEgc2VsZWN0IGVsZW1lbnQgaXMgdXBkYXRlZCBhbmQgbm8gbG9uZ2VyIGluY2x1ZGVzIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHZhbHVlOlxuICAgICAgICAqIFRoZSBzZWxlY3QgZWxlbWVudCBiZWNvbWVzIGVtcHR5LCBhbmQgdGhlIG5nTW9kZWwgdmFsdWUgaXMgdXBkYXRlZCB0byByZWZsZWN0IHRoaXMgY2hhbmdlLlxuICAgICAgICAqIEhvd2V2ZXIsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IHRyaWdnZXJlZCwgcHJldmVudGluZyB0aGUgZm9ybSBjb250cm9sIGZyb20gcmVjb2duaXppbmcgdGhlIHVwZGF0ZSBhbmQgYXBwbHlpbmcgbmVjZXNzYXJ5IHZhbGlkYXRpb25zLlxuICAgICAgICAqIEFzIHRoaXMgd2lkZ2V0IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIG1hbnVhbGx5IHVwZGF0aW5nIHRoZSBuZ01vZGVsIChvciBtb2RlbEJ5S2V5KSBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIGNvcnJlY3QgZm9ybSBiZWhhdmlvci5cbiAgICAgICAgKiAqL1xuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhc2V0JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYoaXNJb3MoKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGF2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLmRhdGFzZXRJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgZXZlbnQgaXMgcmVnaXN0ZXJlZCBmcm9tIHRoZSB0ZW1wbGF0ZSwgUHJldmVudCB0aGUgZnJhbWV3b3JrIGZyb20gcmVnaXN0ZXJpbmcgb25lIG1vcmUgZXZlbnRcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBldmVudENhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFbJ2JsdXInLCAnY2hhbmdlJ10uaW5jbHVkZXMoZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gKHRoaXMgYXMgYW55KS5wcmV2RGF0YXZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpICB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCAga2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICBpZihrZXkgPT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBORzE1IHVwZ3JhZGUgbmctaW52YWxpZCBjbGFzcyBpcyBhZGRlZCBldmVuIHRoZSBmaWVsZCBpcyB2YWxpZCwgc28gd2UgYXJlIHJlbW92aW5nIHRoZSBuZy1pbnZhbGlkIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgY29uc3QgaXNOZ1VudG91Y2hlZFZhbGlkID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKVxuICAgICAgICAgICAgICAgIGlmKGlzTmdVbnRvdWNoZWRWYWxpZCAmJiBudi5pbmNsdWRlcygnbmctdW50b3VjaGVkJykgJiYgbnYuaW5jbHVkZXMoJ25nLWludmFsaWQnKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKSAmJiB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbmctaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICAgKG52ID09PSB0cnVlKSA/IHNldEF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCAncmVhZG9ubHknKSA6IHJlbW92ZUF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknKSA7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBjYXB0aW9uIGZsb2F0aW5nIGlzIGVuYWJsZWQgYW5kIHBsYWNlaG9sZGVyIGlzIGdpdmVuLCBkbyBub3Qgc2hvdyBwbGFjZWhvbGRlciB1bnRpbCB1c2VyIGZvY3VzZXMgb24gdGhlIGZpZWxkXG4gICAgICogV2hlbiBmb2N1c2VkIGFkZCB0aGUgcGxhY2Vob2xkZXIgdG8gdGhlIG9wdGlvbiB3aGljaCBpcyBzZWxlY3RlZFxuICAgICAqIE9uIGJsdXIsIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIgYW5kIGRvIG5vdCBhbmltYXRlIHRoZSBsYWJlbFxuICAgICAqIEBwYXJhbSAkZXZlbnQgZXZlbnQgcmVjZWl2ZWQgd2lsbCBiZSBlaXRoZXIgYSBibHVyIG9yIGZvY3VzIGV2ZW50XG4gICAgICovXG4gICAgY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudCkge1xuICAgICAgICBjb25zdCBjYXB0aW9uRWwgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuY2xvc2VzdCgnLmFwcC1jb21wb3NpdGUtd2lkZ2V0LmNhcHRpb24tZmxvYXRpbmcnKTtcbiAgICAgICAgaWYoIXRoaXMucGxhY2Vob2xkZXIgJiYgaXNJb3MoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVQbGFjZWhvbGRlck9wdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYXB0aW9uRWwubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJPcHRpb24gPSB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI3BsYWNlaG9sZGVyT3B0aW9uJyk7XG4gICAgICAgICAgICBpZiAoJGV2ZW50LnR5cGUgPT09ICdtb3VzZWRvd24nICYmICghdGhpcy5kYXRhdmFsdWUgfHwgKHRoaXMuZGF0YXZhbHVlICYmICQodGhpcy5zZWxlY3RFbCkuZmluZCgnc2VsZWN0IG9wdGlvbjpzZWxlY3RlZCcpLnRleHQoKSA9PT0gJycgJiYgdGhpcy5wbGFjZWhvbGRlcikpKSB7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlck9wdGlvbi50ZXh0Q29udGVudCA9IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5kYXRhdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyT3B0aW9uLnRleHRDb250ZW50ID0gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhcHRpb25FbC5yZW1vdmVDbGFzcygnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKlxuICAgICogUmVtb3ZpbmcgdGhlIHBsYWNlaG9sZGVyIG9wdGlvbiBpZiBubyBwbGFjZWhvbGRlciBpcyBwcm92aWRlZC5cbiAgICAqIEluIGh0bWwgd2UgYXJlIGhpZGluZyB0aGUgcGxhY2Vob2xkZXIgb3B0aW9uIHVzaW5nIGNzcyBidXQgaW4gQXBwbGUgZGV2aWNlcyBhbmQgc2FmYXJpIG9wdGlvbiBpcyBzaG93aW5nLlxuICAgICogU3R5bGVzIGFyZSBub3QgYWxsb3dlZCBvbiBvcHRpb24gdGFnIGluIGlvcyBzYWZhcmlcbiAgICAqIEFmdGVyIHJlbW92aW5nIHRoZSBvcHRpb24sIGlmIG5vIGRhdGF2YWx1ZSBpcyBwcmVzZW50IGFuZCBuYXRpdmUgc2VsZWN0IGVsZW1lbnQgc2V0cyB2YWx1ZSB0byB0aGUgZmlyc3Qgb3B0aW9uIGJ5IGRlZmF1bHQsIHNvIHdlIGFyZSBzZXR0aW5nIGl0IHRvIGVtcHR5XG4gICAgKiAqL1xuICAgIHByaXZhdGUgcmVtb3ZlUGxhY2Vob2xkZXJPcHRpb24oKSB7XG4gICAgICAgIGNvbnN0IGhpZGRlbkVsZSA9ICQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50KS5maW5kKCcjcGxhY2Vob2xkZXJPcHRpb24nKTtcbiAgICAgICAgaWYgKGhpZGRlbkVsZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGhpZGRlbkVsZS5yZW1vdmUoKTtcbiAgICAgICAgICAgIGlmKCF0aGlzLmRhdGF2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPCEtLVVwZGF0ZWQgZm9jdXMgd2l0aCBtb3VzZWRvd24gZXZlbnQuIElPUyBkZXZpY2VzIG5vdCBhbGxvdyB1cGRhdGUgb2Ygb3B0aW9uIHZhbHVlIGFmdGVyIG9wZW5pbmcgZHJvcGRvd24tLT5cbjxzZWxlY3QgI3NlbGVjdFxuICAgICAgICBmb2N1cy10YXJnZXRcbiAgICAgICAgW25nQ2xhc3NdPVwiWydhcHAtc2VsZWN0IGZvcm0tY29udHJvbCcsIGNsYXNzXVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgIFthdHRyLmFjY2Vzc2tleV09XCJzaG9ydGN1dGtleVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwibW9kZWxCeUtleVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwiY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJpbnZva2VPblRvdWNoZWQoJGV2ZW50KTsgY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudClcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCI+XG5cbiAgICAgICAgPG9wdGlvbiBzZWxlY3RlZFxuICAgICAgICAgICAgICAgIHZhbHVlPVwidW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGlkPVwicGxhY2Vob2xkZXJPcHRpb25cIlxuICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiIXBsYWNlaG9sZGVyXCI+PC9vcHRpb24+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBieVwiPlxuICAgICAgICA8b3B0Z3JvdXAgKm5nRm9yPVwibGV0IGdyb3VwT2JqIG9mIGdyb3VwZWREYXRhXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cE9iai5rZXlcIj5cbiAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBPYmouZGF0YTtcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgID48L29wdGlvbj5cbiAgICAgICAgPC9vcHRncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBieVwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFzZXRJdGVtc1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICA+PC9vcHRpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3NlbGVjdD5cbiJdfQ==
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzFFLE9BQU8sRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7SUNxQmpDLDRCQUlVOzs7SUFETixBQURBLEFBREEsbUNBQWtCLDhCQUNRLDhCQUNBOzs7SUFMbEMsbUNBQzJCO0lBQ3ZCLGdHQUlDO0lBQ0wsaUJBQVc7OztJQU5QLHVDQUFzQjtJQUNHLGNBQWlCO0lBQWpCLDBDQUFpQjs7O0lBSGxELDZCQUE4QjtJQUMxQix5RkFDMkI7Ozs7SUFESSxjQUFjO0lBQWQsNENBQWM7OztJQVc3Qyw0QkFJVTs7O0lBRE4sQUFEQSxBQURBLG1DQUFrQiw4QkFDUSw4QkFDQTs7O0lB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ZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0YVNvdXJjZSwgaXNJb3MsIHJlbW92ZUF0dHIsIHNldEF0dHIsIGlzU2FmYXJpfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge3Byb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXJ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50fSBmcm9tICcuLi9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50JztcblxuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL3NlbGVjdC5wcm9wcyc7XG5cbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLXNlbGVjdCcsIGhvc3RDbGFzczogJ2FwcC1zZWxlY3Qtd3JhcHBlcid9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3dtLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhTZWxlY3RDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKFNlbGVjdENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihTZWxlY3RDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwdWJsaWMgbmF2c2VhcmNoYmFyOiBhbnk7XG4gICAgcHVibGljIGNsYXNzOiBhbnk7XG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgdGFiaW5kZXg6IGFueTtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW47XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgYXJpYWxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHNob3J0Y3V0a2V5OiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBzZWxlY3RFbDogRWxlbWVudFJlZjtcblxuICAgIHNldCBkYXRhc291cmNlKGRzKSB7XG4gICAgICAgIGlmIChkcyAmJiBkcy5leGVjdXRlICYmIGRzLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uSVNfQk9VTkRfVE9fTE9DQUxFKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhdmFsdWUgPSBkcy5leGVjdXRlKERhdGFTb3VyY2UuT3BlcmF0aW9uLkdFVF9ERUZBVUxUX0xPQ0FMRSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICB0aGlzLmFjY2VwdHNBcnJheSA9IHRydWU7XG5cbiAgICAgICAgLypcbiAgICAgICAgKiBXaGVuIHRoZSBkYXRhc2V0IGZvciBhIHNlbGVjdCBlbGVtZW50IGlzIHVwZGF0ZWQgYW5kIG5vIGxvbmdlciBpbmNsdWRlcyB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCB2YWx1ZTpcbiAgICAgICAgKiBUaGUgc2VsZWN0IGVsZW1lbnQgYmVjb21lcyBlbXB0eSwgYW5kIHRoZSBuZ01vZGVsIHZhbHVlIGlzIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS5cbiAgICAgICAgKiBIb3dldmVyLCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCB0cmlnZ2VyZWQsIHByZXZlbnRpbmcgdGhlIGZvcm0gY29udHJvbCBmcm9tIHJlY29nbml6aW5nIHRoZSB1cGRhdGUgYW5kIGFwcGx5aW5nIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucy5cbiAgICAgICAgKiBBcyB0aGlzIHdpZGdldCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBtYW51YWxseSB1cGRhdGluZyB0aGUgbmdNb2RlbCAob3IgbW9kZWxCeUtleSkgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBjb3JyZWN0IGZvcm0gYmVoYXZpb3IuXG4gICAgICAgICogKi9cbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXNldCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmKGlzSW9zKCkgfHwgaXNTYWZhcmkoKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGF2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLmRhdGFzZXRJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgZXZlbnQgaXMgcmVnaXN0ZXJlZCBmcm9tIHRoZSB0ZW1wbGF0ZSwgUHJldmVudCB0aGUgZnJhbWV3b3JrIGZyb20gcmVnaXN0ZXJpbmcgb25lIG1vcmUgZXZlbnRcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBldmVudENhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFbJ2JsdXInLCAnY2hhbmdlJ10uaW5jbHVkZXMoZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gKHRoaXMgYXMgYW55KS5wcmV2RGF0YXZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpICB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCAga2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICBpZihrZXkgPT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBORzE1IHVwZ3JhZGUgbmctaW52YWxpZCBjbGFzcyBpcyBhZGRlZCBldmVuIHRoZSBmaWVsZCBpcyB2YWxpZCwgc28gd2UgYXJlIHJlbW92aW5nIHRoZSBuZy1pbnZhbGlkIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgY29uc3QgaXNOZ1VudG91Y2hlZFZhbGlkID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKVxuICAgICAgICAgICAgICAgIGlmKGlzTmdVbnRvdWNoZWRWYWxpZCAmJiBudi5pbmNsdWRlcygnbmctdW50b3VjaGVkJykgJiYgbnYuaW5jbHVkZXMoJ25nLWludmFsaWQnKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKSAmJiB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbmctaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICAgKG52ID09PSB0cnVlKSA/IHNldEF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCAncmVhZG9ubHknKSA6IHJlbW92ZUF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknKSA7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBjYXB0aW9uIGZsb2F0aW5nIGlzIGVuYWJsZWQgYW5kIHBsYWNlaG9sZGVyIGlzIGdpdmVuLCBkbyBub3Qgc2hvdyBwbGFjZWhvbGRlciB1bnRpbCB1c2VyIGZvY3VzZXMgb24gdGhlIGZpZWxkXG4gICAgICogV2hlbiBmb2N1c2VkIGFkZCB0aGUgcGxhY2Vob2xkZXIgdG8gdGhlIG9wdGlvbiB3aGljaCBpcyBzZWxlY3RlZFxuICAgICAqIE9uIGJsdXIsIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIgYW5kIGRvIG5vdCBhbmltYXRlIHRoZSBsYWJlbFxuICAgICAqIEBwYXJhbSAkZXZlbnQgZXZlbnQgcmVjZWl2ZWQgd2lsbCBiZSBlaXRoZXIgYSBibHVyIG9yIGZvY3VzIGV2ZW50XG4gICAgICovXG4gICAgY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudCkge1xuICAgICAgICBjb25zdCBjYXB0aW9uRWwgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuY2xvc2VzdCgnLmFwcC1jb21wb3NpdGUtd2lkZ2V0LmNhcHRpb24tZmxvYXRpbmcnKTtcbiAgICAgICAgaWYoIXRoaXMucGxhY2Vob2xkZXIgJiYgKGlzSW9zKCkgfHwgaXNTYWZhcmkoKSkpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlUGxhY2Vob2xkZXJPcHRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FwdGlvbkVsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyT3B0aW9uID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwbGFjZWhvbGRlck9wdGlvbicpO1xuICAgICAgICAgICAgaWYgKCRldmVudC50eXBlID09PSAnbW91c2Vkb3duJyAmJiAoIXRoaXMuZGF0YXZhbHVlIHx8ICh0aGlzLmRhdGF2YWx1ZSAmJiAkKHRoaXMuc2VsZWN0RWwpLmZpbmQoJ3NlbGVjdCBvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCkgPT09ICcnICYmIHRoaXMucGxhY2Vob2xkZXIpKSkge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJPcHRpb24udGV4dENvbnRlbnQgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGF0YXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlck9wdGlvbi50ZXh0Q29udGVudCA9ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXB0aW9uRWwucmVtb3ZlQ2xhc3MoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAqIFJlbW92aW5nIHRoZSBwbGFjZWhvbGRlciBvcHRpb24gaWYgbm8gcGxhY2Vob2xkZXIgaXMgcHJvdmlkZWQuXG4gICAgKiBJbiBodG1sIHdlIGFyZSBoaWRpbmcgdGhlIHBsYWNlaG9sZGVyIG9wdGlvbiB1c2luZyBjc3MgYnV0IGluIEFwcGxlIGRldmljZXMgYW5kIHNhZmFyaSBvcHRpb24gaXMgc2hvd2luZy5cbiAgICAqIFN0eWxlcyBhcmUgbm90IGFsbG93ZWQgb24gb3B0aW9uIHRhZyBpbiBpb3Mgc2FmYXJpXG4gICAgKiBBZnRlciByZW1vdmluZyB0aGUgb3B0aW9uLCBpZiBubyBkYXRhdmFsdWUgaXMgcHJlc2VudCBhbmQgbmF0aXZlIHNlbGVjdCBlbGVtZW50IHNldHMgdmFsdWUgdG8gdGhlIGZpcnN0IG9wdGlvbiBieSBkZWZhdWx0LCBzbyB3ZSBhcmUgc2V0dGluZyBpdCB0byBlbXB0eVxuICAgICogKi9cbiAgICBwcml2YXRlIHJlbW92ZVBsYWNlaG9sZGVyT3B0aW9uKCkge1xuICAgICAgICBjb25zdCBoaWRkZW5FbGUgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuZmluZCgnI3BsYWNlaG9sZGVyT3B0aW9uJyk7XG4gICAgICAgIGlmIChoaWRkZW5FbGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBoaWRkZW5FbGUucmVtb3ZlKCk7XG4gICAgICAgICAgICBpZighdGhpcy5kYXRhdmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjwhLS1VcGRhdGVkIGZvY3VzIHdpdGggbW91c2Vkb3duIGV2ZW50LiBJT1MgZGV2aWNlcyBub3QgYWxsb3cgdXBkYXRlIG9mIG9wdGlvbiB2YWx1ZSBhZnRlciBvcGVuaW5nIGRyb3Bkb3duLS0+XG48c2VsZWN0ICNzZWxlY3RcbiAgICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgIFtuZ0NsYXNzXT1cIlsnYXBwLXNlbGVjdCBmb3JtLWNvbnRyb2wnLCBjbGFzc11cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsQnlLZXlcIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAobW91c2Vkb3duKT1cImNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaW52b2tlT25Ub3VjaGVkKCRldmVudCk7IGNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhbGFiZWxcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB2YWx1ZT1cInVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBpZD1cInBsYWNlaG9sZGVyT3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFwbGFjZWhvbGRlclwiPjwvb3B0aW9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwYnlcIj5cbiAgICAgICAgPG9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cE9iaiBvZiBncm91cGVkRGF0YVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiZ3JvdXBPYmoua2V5XCI+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwT2JqLmRhdGE7XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICA+PC9vcHRpb24+XG4gICAgICAgIDwvb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWdyb3VwYnlcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhc2V0SXRlbXNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCJcbiAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgPjwvb3B0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zZWxlY3Q+XG4iXX0=
@@ -9,7 +9,7 @@ import { IMaskDirective, IMaskModule } from 'angular-imask';
9
9
  import * as i2 from '@wm/components/base';
10
10
  import { PROP_STRING, PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, register, DISPLAY_TYPE, StylableComponent, styler, provideAsWidgetRef, APPLY_STYLES_TYPE, WidgetConfig, registerFormWidget, provideAs, extractDataAsArray, ToDatePipe, ALLFIELDS, convertDataToObject, getOrderedDataset, transformDataWithKeys, transformFormData, getUniqObjsByDataField, groupData, handleHeaderClick, toggleAllHeaders, WidgetRef, INPUTMODE, TrailingZeroDecimalPipe, WmComponentsModule } from '@wm/components/base';
11
11
  import * as i1$1 from '@wm/core';
12
- import { DataSource, FormWidgetType, isDefined, toggleClass, AppDefaults, $appDigest, debounce as debounce$1, noop, isEqualWithFields, toBoolean, setListClass, switchClass, addForIdAttributes, addClass, AbstractI18nService, isIos, setAttr, removeAttr, setCSS } from '@wm/core';
12
+ import { DataSource, FormWidgetType, isDefined, toggleClass, AppDefaults, $appDigest, debounce as debounce$1, noop, isEqualWithFields, toBoolean, setListClass, switchClass, addForIdAttributes, addClass, AbstractI18nService, isIos, isSafari, setAttr, removeAttr, setCSS } from '@wm/core';
13
13
  import { has, set, isArray, debounce, toString, find, isNull, isObject, isEqual, isEmpty, forEach, includes, isString, get, isUndefined, round, toArray, intersection, findIndex } from 'lodash-es';
14
14
  import { Subject } from 'rxjs';
15
15
  import { __param, __metadata, __decorate } from 'tslib';
@@ -2237,7 +2237,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2237
2237
  * As this widget implements ControlValueAccessor, manually updating the ngModel (or modelByKey) is necessary to ensure correct form behavior.
2238
2238
  * */
2239
2239
  const datasetSubscription = this.dataset$.subscribe(() => {
2240
- if (isIos()) {
2240
+ if (isIos() || isSafari()) {
2241
2241
  if (this.datavalue) {
2242
2242
  const selectedItem = this.datasetItems.find(item => item.selected);
2243
2243
  if (!selectedItem) {
@@ -2317,7 +2317,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2317
2317
  */
2318
2318
  checkForFloatingLabel($event) {
2319
2319
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
2320
- if (!this.placeholder && isIos()) {
2320
+ if (!this.placeholder && (isIos() || isSafari())) {
2321
2321
  this.removePlaceholderOption();
2322
2322
  }
2323
2323
  if (captionEl.length > 0) {