@alauda/ui 6.5.4-beta.43 → 6.5.4-beta.44

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.
@@ -94,7 +94,7 @@ export class AutoCompleteDirective extends BaseTooltip {
94
94
  this.unsubscribe$.complete();
95
95
  }
96
96
  onFocus() {
97
- if (this.suggestionTrigger === 'auto') {
97
+ if (this.suggestionTrigger === 'auto' && !this.isCreated) {
98
98
  super.onFocus();
99
99
  }
100
100
  }
@@ -156,10 +156,6 @@ export class AutoCompleteDirective extends BaseTooltip {
156
156
  this.autoFocusFirstSuggestion();
157
157
  }
158
158
  autoFocusFirstSuggestion() {
159
- const focusedSuggestion = this.autocomplete.suggestions.find(suggestion => suggestion.focused && suggestion.visible);
160
- if (focusedSuggestion) {
161
- return;
162
- }
163
159
  const selectedSuggestion = this.autocomplete.suggestions.find(suggestion => suggestion.selected);
164
160
  if (selectedSuggestion) {
165
161
  this.resetFocusedSuggestion(selectedSuggestion);
@@ -286,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
286
282
  type: Input,
287
283
  args: ['auiAutocompleteInnerSelector']
288
284
  }] } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixJQUFJLEVBQ0osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGVBQWUsRUFFZixPQUFPLEVBQ1AsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxvQkFBb0IsR0FDckIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQWMxQyxNQUFNLE9BQU8scUJBQ1gsU0FBUSxXQUFnQztJQXdFeEMsWUFDRSxPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsS0FBbUMsRUFDbkMsUUFBbUIsRUFDbkIsR0FBc0IsRUFDdEIsTUFBYyxFQUdHLFNBQW9CO1FBRXJDLEtBQUssQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFGOUMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQWxEdkMsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO1FBRzlCLHNCQUFpQixHQUFxQixNQUFNLENBQUM7UUFLcEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHekMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFdEMsOERBQThEO1FBRTlELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFL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QUMseUJBQXlCO2dCQUtqQyxTQUFTO3NCQURSLEtBQUs7dUJBQUMsMEJBQTBCOztBQWdRbkMsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHFCQUFxQjtJQVJ0RTs7UUFVVyxrQkFBYSxHQUFHLGdCQUFnQixDQUFDO0tBQzNDOzt3SEFIWSwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0Q0FBNEM7b0JBQ3RELFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLEtBQUs7cUJBQ3BCO2lCQUNGOzhCQUdVLGFBQWE7c0JBRHJCLEtBQUs7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGZyb21FdmVudCxcbiAgbWVyZ2UsXG4gIHRha2VVbnRpbCxcbiAgZGVib3VuY2VUaW1lLFxuICBzdGFydFdpdGgsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZVRvb2x0aXAsIFRvb2x0aXBUcmlnZ2VyLCBUb29sdGlwVHlwZSB9IGZyb20gJy4uL3Rvb2x0aXAnO1xuaW1wb3J0IHsgc2Nyb2xsSW50b1ZpZXcgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVDb250ZXh0LCBTdWdnZXN0aW9uRmlsdGVyRm4gfSBmcm9tICcuL2F1dG9jb21wbGV0ZS50eXBlcyc7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zdWdnZXN0aW9uL3N1Z2dlc3Rpb24uY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbYXVpQXV0b2NvbXBsZXRlXSx0ZXh0YXJlYVthdWlBdXRvY29tcGxldGVdJyxcbiAgZXhwb3J0QXM6ICdhdWlBdXRvY29tcGxldGUnLFxuICBpbnB1dHM6IFsnY2xhc3M6YXVpQXV0b2NvbXBsZXRlQ2xhc3MnXSxcbiAgaG9zdDoge1xuICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Db21wbGV0ZURpcmVjdGl2ZVxuICBleHRlbmRzIEJhc2VUb29sdGlwPEF1dG9Db21wbGV0ZUNvbnRleHQ+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXRcbntcbiAgQElucHV0KCdhdWlBdXRvY29tcGxldGUnKVxuICBnZXQgYXV0b2NvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGU7XG4gIH1cblxuICBzZXQgYXV0b2NvbXBsZXRlKHZhbCkge1xuICAgIGlmICh2YWwgPT09IHRoaXMuX2F1dG9jb21wbGV0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YWwuZGlyZWN0aXZlJCQubmV4dCh0aGlzKTtcbiAgICB0aGlzLl9hdXRvY29tcGxldGUgPSB2YWw7XG4gICAgdGhpcy5jb250ZW50ID0gdmFsLnRlbXBsYXRlO1xuICB9XG5cbiAgQElucHV0KCdhdWlBdXRvY29tcGxldGVGaWx0ZXJGbicpXG4gIEBJbnB1dCgpXG4gIGdldCBmaWx0ZXJGbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyRm47XG4gIH1cblxuICBzZXQgZmlsdGVyRm4odmFsKSB7XG4gICAgaWYgKHZhbCAhPT0gdGhpcy5fZmlsdGVyRm4pIHtcbiAgICAgIHRoaXMuX2ZpbHRlckZuID0gdmFsO1xuICAgICAgdGhpcy5maWx0ZXJGbiQkLm5leHQodmFsKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZURlZmF1bHRGaXJzdFN1Z2dlc3Rpb24nKVxuICBkZWZhdWx0Rmlyc3RTdWdnZXN0aW9uID0gdHJ1ZTtcblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZVRyaWdnZXInKVxuICBzdWdnZXN0aW9uVHJpZ2dlcjogJ2F1dG8nIHwgJ2lucHV0JyA9ICdhdXRvJztcblxuICBkZWNsYXJlIGlubmVyU2VsZWN0b3I6IHN0cmluZztcblxuICBAT3V0cHV0KCdhdWlBdXRvY29tcGxldGVTaG93JylcbiAgb3ZlcnJpZGUgc2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCdhdWlBdXRvY29tcGxldGVIaWRlJylcbiAgb3ZlcnJpZGUgaGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCdhdWlBdXRvY29tcGxldGVTZWxlY3RlZCcpXG4gIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLy8gV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHVwZGF0ZSBpbnB1dCB2YWx1ZSBhZnRlciBzZWxlY3Rpb25cbiAgQElucHV0KCdhdWlBdXRvY29tcGxldGVBdXRvUGF0Y2gnKVxuICBhdXRvUGF0Y2ggPSB0cnVlO1xuXG4gIHByaXZhdGUgX2F1dG9jb21wbGV0ZTogQXV0b2NvbXBsZXRlQ29tcG9uZW50O1xuICBwcml2YXRlIGZvY3VzZWRTdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRWYWx1ZSQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJGbiQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWdnZXN0aW9uRmlsdGVyRm4+KFxuICAgIHRoaXMuZmlsdGVyRm4sXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlucHV0VmFsdWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmlucHV0VmFsdWUkJFxuICAgIC5hc09ic2VydmFibGUoKVxuICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIGZpbHRlckZuJDogT2JzZXJ2YWJsZTxTdWdnZXN0aW9uRmlsdGVyRm4+ID0gdGhpcy5maWx0ZXJGbiQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGdldCBpbnB1dCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICByZXR1cm4gdGhpcy5pbm5lclNlbGVjdG9yID8gZWwucXVlcnlTZWxlY3Rvcih0aGlzLmlubmVyU2VsZWN0b3IpIDogZWw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVybGF5OiBPdmVybGF5LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEhvc3QoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIHN1cGVyKG92ZXJsYXksIHZpZXdDb250YWluZXJSZWYsIGVsUmVmLCByZW5kZXJlciwgY2RyLCBuZ1pvbmUpO1xuICAgIHRoaXMudHlwZSA9IFRvb2x0aXBUeXBlLlBsYWluO1xuICAgIHRoaXMudHJpZ2dlciA9IFRvb2x0aXBUcmlnZ2VyLk1hbnVhbDtcbiAgICB0aGlzLnBvc2l0aW9uID0gJ2JvdHRvbSBzdGFydCc7XG4gICAgdGhpcy5oaWRlT25DbGljayA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3cuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU3VnZ2VzdGlvbnNDb250ZXh0KCk7XG4gICAgfSk7XG4gICAgdGhpcy5oaWRlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZFN1Z2dlc3Rpb24oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMubmdDb250cm9sLnN0YXR1cyksIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdHVzID09PSAnRElTQUJMRUQnO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0O1xuXG4gICAgbWVyZ2UoXG4gICAgICBmcm9tRXZlbnQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKSxcbiAgICAgIGZyb21FdmVudChpbnB1dCwgJ2ZvY3VzJyksXG4gICAgKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDApLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRm9jdXMoKSk7XG5cbiAgICBmcm9tRXZlbnQoaW5wdXQsICdibHVyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25CbHVyKCkpO1xuXG4gICAgZnJvbUV2ZW50KGlucHV0LCAnaW5wdXQnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXYgPT4gdGhpcy5vbklucHV0KGV2KSk7XG5cbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oaW5wdXQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ID0+IHRoaXMub25LZXlEb3duKGV2KSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uRm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuc3VnZ2VzdGlvblRyaWdnZXIgPT09ICdhdXRvJykge1xuICAgICAgc3VwZXIub25Gb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQodmFsdWUpO1xuICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIHRoaXMuZm9jdXNTdWdnZXN0aW9uRGlyKCdkb3duJyk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLmZvY3VzU3VnZ2VzdGlvbkRpcigndXAnKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZE9wdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmRpc3Bvc2VUb29sdGlwKCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTdWdnZXN0aW9uc0NvbnRleHQoKSB7XG4gICAgdGhpcy5jb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5jb250ZXh0LFxuICAgICAgd2lkdGg6IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArICdweCcsXG4gICAgfTtcbiAgfVxuXG4gIG9uU3VnZ2VzdGlvbkNsaWNrKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBsZXQgaXNBcnJDdHJsID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5hdXRvUGF0Y2gpIHtcbiAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICBjb25zdCB7IGNvbnRyb2wgfSA9IHRoaXMubmdDb250cm9sO1xuICAgICAgICBpc0FyckN0cmwgPSBBcnJheS5pc0FycmF5KGNvbnRyb2wudmFsdWUpO1xuICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoaXNBcnJDdHJsID8gWy4uLmNvbnRyb2wudmFsdWUsIHZhbHVlXSA6IHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmlucHV0VmFsdWUkJC5uZXh0KGlzQXJyQ3RybCA/ICcnIDogdmFsdWUpO1xuXG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmRpc3Bvc2VUb29sdGlwKCk7XG4gIH1cblxuICBvdmVycmlkZSBjcmVhdGVUb29sdGlwKCkge1xuICAgIHN1cGVyLmNyZWF0ZVRvb2x0aXAoKTtcbiAgICB0aGlzLmF1dG9Gb2N1c0ZpcnN0U3VnZ2VzdGlvbigpO1xuICB9XG5cbiAgYXV0b0ZvY3VzRmlyc3RTdWdnZXN0aW9uKCkge1xuICAgIGNvbnN0IGZvY3VzZWRTdWdnZXN0aW9uID0gdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbnMuZmluZChcbiAgICAgIHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi5mb2N1c2VkICYmIHN1Z2dlc3Rpb24udmlzaWJsZSxcbiAgICApO1xuICAgIGlmIChmb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RlZFN1Z2dlc3Rpb24gPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maW5kKFxuICAgICAgc3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uLnNlbGVjdGVkLFxuICAgICk7XG4gICAgaWYgKHNlbGVjdGVkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRTdWdnZXN0aW9uKHNlbGVjdGVkU3VnZ2VzdGlvbik7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbFRvU3VnZ2VzdGlvbihzZWxlY3RlZFN1Z2dlc3Rpb24pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24pIHtcbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbiA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbmQoXG4gICAgICAgIHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi52aXNpYmxlICYmICFzdWdnZXN0aW9uLmRpc2FibGVkLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbihmaXJzdEZvY3VzYWJsZVN1Z2dlc3Rpb24pO1xuICAgICAgaWYgKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbikge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNTdWdnZXN0aW9uRGlyKGRpcjogJ2Rvd24nIHwgJ3VwJykge1xuICAgIGlmICghdGhpcy5pc0NyZWF0ZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlU3VnZ2VzdGlvbnMgPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maWx0ZXIoXG4gICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24udmlzaWJsZSAmJiAhc3VnZ2VzdGlvbi5kaXNhYmxlZCxcbiAgICApO1xuICAgIGlmICh2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0ZXAgPSBkaXIgPT09ICdkb3duJyA/IDEgOiAtMTtcbiAgICBsZXQgaSA9IHZpc2libGVTdWdnZXN0aW9ucy5pbmRleE9mKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICAgIGkgPSBpICsgc3RlcDtcbiAgICBpZiAoaSA+PSB2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoKSB7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2UgaWYgKGkgPCAwKSB7XG4gICAgICBpID0gdmlzaWJsZVN1Z2dlc3Rpb25zLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbih2aXNpYmxlU3VnZ2VzdGlvbnNbaV0pO1xuICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvY3VzZWRTdWdnZXN0aW9uKFxuICAgIGZvY3VzZWRTdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50ID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uYmx1cigpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWRTdWdnZXN0aW9uID0gZm9jdXNlZFN1Z2dlc3Rpb247XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvU3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25MaXN0UmVmKSB7XG4gICAgICBzY3JvbGxJbnRvVmlldyhcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbkxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgc3VnZ2VzdGlvbi5lbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0Rm9jdXNlZE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5vblN1Z2dlc3Rpb25DbGljayh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJGbihpbnB1dFZhbHVlOiBzdHJpbmcsIHN1Z2dlc3Rpb246IHN0cmluZykge1xuICAgIHJldHVybiBzdWdnZXN0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWU/LnRvTG93ZXJDYXNlKCkgPz8gJycpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlBdXRvY29tcGxldGVdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKScsXG4gIGV4cG9ydEFzOiAnYXVpQXV0b2NvbXBsZXRlJyxcbiAgaW5wdXRzOiBbJ2NsYXNzOmF1aUF1dG9jb21wbGV0ZUNsYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21BdXRvQ29tcGxldGVEaXJlY3RpdmUgZXh0ZW5kcyBBdXRvQ29tcGxldGVEaXJlY3RpdmUge1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUlubmVyU2VsZWN0b3InKVxuICBvdmVycmlkZSBpbm5lclNlbGVjdG9yID0gJ2lucHV0LHRleHRhcmVhJztcbn1cbiJdfQ==
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixJQUFJLEVBQ0osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGVBQWUsRUFFZixPQUFPLEVBQ1AsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxvQkFBb0IsR0FDckIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQWMxQyxNQUFNLE9BQU8scUJBQ1gsU0FBUSxXQUFnQztJQXdFeEMsWUFDRSxPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsS0FBbUMsRUFDbkMsUUFBbUIsRUFDbkIsR0FBc0IsRUFDdEIsTUFBYyxFQUdHLFNBQW9CO1FBRXJDLEtBQUssQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFGOUMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQWxEdkMsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO1FBRzlCLHNCQUFpQixHQUFxQixNQUFNLENBQUM7UUFLcEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHekMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFdEMsOERBQThEO1FBRTlELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFLQSxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FDL0MsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1FBRWUsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXBELGdCQUFXLEdBQXVCLElBQUksQ0FBQyxZQUFZO2FBQ2hELFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFFaEMsY0FBUyxHQUFtQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBbUJ6RSxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFyRkQsSUFDSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxHQUFHO1FBQ2xCLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBQ0QsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUVJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQUc7UUFDZCxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQXVDRCxJQUFJLEtBQUs7UUFDUCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQW9CRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWTtpQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQ2xDLFNBQVMsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMvQjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUwsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhO2lCQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDcEUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sS0FBSyxVQUFVLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFUSxlQUFlO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFekIsS0FBSyxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsRUFDNUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDMUI7YUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO2FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVsQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQzthQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckMsU0FBUyxDQUFnQixLQUFLLEVBQUUsU0FBUyxDQUFDO2FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRVEsV0FBVztRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVRLE9BQU87UUFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixNQUFNLEtBQUssR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDNUIsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2pCLEtBQUssV0FBVztnQkFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDeEI7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJO1NBQ25ELENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ25DLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuRTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDMUI7U0FDRjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLGFBQWE7UUFDcEIsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzNELFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FDbEMsQ0FBQztRQUNGLElBQUksa0JBQWtCLEVBQUU7WUFDdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDaEQscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDdEMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2pFLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQ3pELENBQUM7WUFDRixJQUFJLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN0RCxJQUFJLHdCQUF3QixFQUFFO2dCQUM1QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUNwRCxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsR0FBa0I7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUNELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUM3RCxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUN6RCxDQUFDO1FBQ0YsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25DLE9BQU87U0FDUjtRQUNELE1BQU0sSUFBSSxHQUFHLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNELENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsTUFBTSxFQUFFO1lBQ2xDLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDUDthQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQixDQUFDLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sc0JBQXNCLENBQzVCLG9CQUF5QyxJQUFJO1FBRTdDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsVUFBK0I7UUFDeEQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZDLGNBQWMsQ0FDWixJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFDakQsVUFBVSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQy9CLENBQUM7U0FDSDtJQUNILENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsVUFBa0IsRUFBRSxVQUFrQjtRQUN0RCxPQUFPLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7O2tIQWhTVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLEtBQUs7cUJBQ3BCO2lCQUNGOzswQkFpRkksUUFBUTs7MEJBQ1IsSUFBSTs0Q0E1RUgsWUFBWTtzQkFEZixLQUFLO3VCQUFDLGlCQUFpQjtnQkFnQnBCLFFBQVE7c0JBRlgsS0FBSzt1QkFBQyx5QkFBeUI7O3NCQUMvQixLQUFLO2dCQWFOLHNCQUFzQjtzQkFEckIsS0FBSzt1QkFBQyx1Q0FBdUM7Z0JBSTlDLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBTXRCLElBQUk7c0JBRFosTUFBTTt1QkFBQyxxQkFBcUI7Z0JBSXBCLElBQUk7c0JBRFosTUFBTTt1QkFBQyxxQkFBcUI7Z0JBSTdCLFFBQVE7c0JBRFAsTUFBTTt1QkFBQyx5QkFBeUI7Z0JBS2pDLFNBQVM7c0JBRFIsS0FBSzt1QkFBQywwQkFBMEI7O0FBMFBuQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEscUJBQXFCO0lBUnRFOztRQVVXLGtCQUFhLEdBQUcsZ0JBQWdCLENBQUM7S0FDM0M7O3dIQUhZLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBUnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRDQUE0QztvQkFDdEQsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsTUFBTSxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3RDLElBQUksRUFBRTt3QkFDSixZQUFZLEVBQUUsS0FBSztxQkFDcEI7aUJBQ0Y7OEJBR1UsYUFBYTtzQkFEckIsS0FBSzt1QkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgZnJvbUV2ZW50LFxuICBtZXJnZSxcbiAgdGFrZVVudGlsLFxuICBkZWJvdW5jZVRpbWUsXG4gIHN0YXJ0V2l0aCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlVG9vbHRpcCwgVG9vbHRpcFRyaWdnZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBzY3JvbGxJbnRvVmlldyB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZUNvbnRleHQsIFN1Z2dlc3Rpb25GaWx0ZXJGbiB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLnR5cGVzJztcbmltcG9ydCB7IFN1Z2dlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3N1Z2dlc3Rpb24vc3VnZ2VzdGlvbi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFthdWlBdXRvY29tcGxldGVdLHRleHRhcmVhW2F1aUF1dG9jb21wbGV0ZV0nLFxuICBleHBvcnRBczogJ2F1aUF1dG9jb21wbGV0ZScsXG4gIGlucHV0czogWydjbGFzczphdWlBdXRvY29tcGxldGVDbGFzcyddLFxuICBob3N0OiB7XG4gICAgYXV0b2NvbXBsZXRlOiAnb2ZmJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlRGlyZWN0aXZlXG4gIGV4dGVuZHMgQmFzZVRvb2x0aXA8QXV0b0NvbXBsZXRlQ29udGV4dD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZScpXG4gIGdldCBhdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZTtcbiAgfVxuXG4gIHNldCBhdXRvY29tcGxldGUodmFsKSB7XG4gICAgaWYgKHZhbCA9PT0gdGhpcy5fYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhbC5kaXJlY3RpdmUkJC5uZXh0KHRoaXMpO1xuICAgIHRoaXMuX2F1dG9jb21wbGV0ZSA9IHZhbDtcbiAgICB0aGlzLmNvbnRlbnQgPSB2YWwudGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUZpbHRlckZuJylcbiAgQElucHV0KClcbiAgZ2V0IGZpbHRlckZuKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJGbjtcbiAgfVxuXG4gIHNldCBmaWx0ZXJGbih2YWwpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLl9maWx0ZXJGbikge1xuICAgICAgdGhpcy5fZmlsdGVyRm4gPSB2YWw7XG4gICAgICB0aGlzLmZpbHRlckZuJCQubmV4dCh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlRGVmYXVsdEZpcnN0U3VnZ2VzdGlvbicpXG4gIGRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlVHJpZ2dlcicpXG4gIHN1Z2dlc3Rpb25UcmlnZ2VyOiAnYXV0bycgfCAnaW5wdXQnID0gJ2F1dG8nO1xuXG4gIGRlY2xhcmUgaW5uZXJTZWxlY3Rvcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNob3cnKVxuICBvdmVycmlkZSBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZUhpZGUnKVxuICBvdmVycmlkZSBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNlbGVjdGVkJylcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgdXBkYXRlIGlucHV0IHZhbHVlIGFmdGVyIHNlbGVjdGlvblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUF1dG9QYXRjaCcpXG4gIGF1dG9QYXRjaCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlOiBBdXRvY29tcGxldGVDb21wb25lbnQ7XG4gIHByaXZhdGUgZm9jdXNlZFN1Z2dlc3Rpb246IFN1Z2dlc3Rpb25Db21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFZhbHVlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlckZuJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN1Z2dlc3Rpb25GaWx0ZXJGbj4oXG4gICAgdGhpcy5maWx0ZXJGbixcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgaW5wdXRWYWx1ZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuaW5wdXRWYWx1ZSQkXG4gICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgZmlsdGVyRm4kOiBPYnNlcnZhYmxlPFN1Z2dlc3Rpb25GaWx0ZXJGbj4gPSB0aGlzLmZpbHRlckZuJCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZ2V0IGlucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiB0aGlzLmlubmVyU2VsZWN0b3IgPyBlbC5xdWVyeVNlbGVjdG9yKHRoaXMuaW5uZXJTZWxlY3RvcikgOiBlbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBlbFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASG9zdCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7XG4gICAgc3VwZXIob3ZlcmxheSwgdmlld0NvbnRhaW5lclJlZiwgZWxSZWYsIHJlbmRlcmVyLCBjZHIsIG5nWm9uZSk7XG4gICAgdGhpcy50eXBlID0gVG9vbHRpcFR5cGUuUGxhaW47XG4gICAgdGhpcy50cmlnZ2VyID0gVG9vbHRpcFRyaWdnZXIuTWFudWFsO1xuICAgIHRoaXMucG9zaXRpb24gPSAnYm90dG9tIHN0YXJ0JztcbiAgICB0aGlzLmhpZGVPbkNsaWNrID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvdy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTdWdnZXN0aW9uc0NvbnRleHQoKTtcbiAgICB9KTtcbiAgICB0aGlzLmhpZGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbigpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlJCQubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZShzdGFydFdpdGgodGhpcy5uZ0NvbnRyb2wuc3RhdHVzKSwgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBzdGF0dXMgPT09ICdESVNBQkxFRCc7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQ7XG5cbiAgICBtZXJnZShcbiAgICAgIGZyb21FdmVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLFxuICAgICAgZnJvbUV2ZW50KGlucHV0LCAnZm9jdXMnKSxcbiAgICApXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMCksIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Gb2N1cygpKTtcblxuICAgIGZyb21FdmVudChpbnB1dCwgJ2JsdXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkJsdXIoKSk7XG5cbiAgICBmcm9tRXZlbnQoaW5wdXQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZShldiA9PiB0aGlzLm9uSW5wdXQoZXYpKTtcblxuICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50PihpbnB1dCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXYgPT4gdGhpcy5vbktleURvd24oZXYpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25Gb2N1cygpIHtcbiAgICBpZiAodGhpcy5zdWdnZXN0aW9uVHJpZ2dlciA9PT0gJ2F1dG8nICYmICF0aGlzLmlzQ3JlYXRlZCkge1xuICAgICAgc3VwZXIub25Gb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQodmFsdWUpO1xuICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIHRoaXMuZm9jdXNTdWdnZXN0aW9uRGlyKCdkb3duJyk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLmZvY3VzU3VnZ2VzdGlvbkRpcigndXAnKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZE9wdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmRpc3Bvc2VUb29sdGlwKCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTdWdnZXN0aW9uc0NvbnRleHQoKSB7XG4gICAgdGhpcy5jb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5jb250ZXh0LFxuICAgICAgd2lkdGg6IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArICdweCcsXG4gICAgfTtcbiAgfVxuXG4gIG9uU3VnZ2VzdGlvbkNsaWNrKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBsZXQgaXNBcnJDdHJsID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5hdXRvUGF0Y2gpIHtcbiAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICBjb25zdCB7IGNvbnRyb2wgfSA9IHRoaXMubmdDb250cm9sO1xuICAgICAgICBpc0FyckN0cmwgPSBBcnJheS5pc0FycmF5KGNvbnRyb2wudmFsdWUpO1xuICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoaXNBcnJDdHJsID8gWy4uLmNvbnRyb2wudmFsdWUsIHZhbHVlXSA6IHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmlucHV0VmFsdWUkJC5uZXh0KGlzQXJyQ3RybCA/ICcnIDogdmFsdWUpO1xuXG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmRpc3Bvc2VUb29sdGlwKCk7XG4gIH1cblxuICBvdmVycmlkZSBjcmVhdGVUb29sdGlwKCkge1xuICAgIHN1cGVyLmNyZWF0ZVRvb2x0aXAoKTtcbiAgICB0aGlzLmF1dG9Gb2N1c0ZpcnN0U3VnZ2VzdGlvbigpO1xuICB9XG5cbiAgYXV0b0ZvY3VzRmlyc3RTdWdnZXN0aW9uKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkU3VnZ2VzdGlvbiA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbmQoXG4gICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24uc2VsZWN0ZWQsXG4gICAgKTtcbiAgICBpZiAoc2VsZWN0ZWRTdWdnZXN0aW9uKSB7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZFN1Z2dlc3Rpb24oc2VsZWN0ZWRTdWdnZXN0aW9uKTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKHNlbGVjdGVkU3VnZ2VzdGlvbik7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVmYXVsdEZpcnN0U3VnZ2VzdGlvbikge1xuICAgICAgY29uc3QgZmlyc3RGb2N1c2FibGVTdWdnZXN0aW9uID0gdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbnMuZmluZChcbiAgICAgICAgc3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uLnZpc2libGUgJiYgIXN1Z2dlc3Rpb24uZGlzYWJsZWQsXG4gICAgICApO1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRTdWdnZXN0aW9uKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbik7XG4gICAgICBpZiAoZmlyc3RGb2N1c2FibGVTdWdnZXN0aW9uKSB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zY3JvbGxUb1N1Z2dlc3Rpb24oZmlyc3RGb2N1c2FibGVTdWdnZXN0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1N1Z2dlc3Rpb25EaXIoZGlyOiAnZG93bicgfCAndXAnKSB7XG4gICAgaWYgKCF0aGlzLmlzQ3JlYXRlZCkge1xuICAgICAgdGhpcy5jcmVhdGVUb29sdGlwKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZpc2libGVTdWdnZXN0aW9ucyA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbHRlcihcbiAgICAgIHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi52aXNpYmxlICYmICFzdWdnZXN0aW9uLmRpc2FibGVkLFxuICAgICk7XG4gICAgaWYgKHZpc2libGVTdWdnZXN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RlcCA9IGRpciA9PT0gJ2Rvd24nID8gMSA6IC0xO1xuICAgIGxldCBpID0gdmlzaWJsZVN1Z2dlc3Rpb25zLmluZGV4T2YodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbik7XG4gICAgaSA9IGkgKyBzdGVwO1xuICAgIGlmIChpID49IHZpc2libGVTdWdnZXN0aW9ucy5sZW5ndGgpIHtcbiAgICAgIGkgPSAwO1xuICAgIH0gZWxzZSBpZiAoaSA8IDApIHtcbiAgICAgIGkgPSB2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgdGhpcy5yZXNldEZvY3VzZWRTdWdnZXN0aW9uKHZpc2libGVTdWdnZXN0aW9uc1tpXSk7XG4gICAgdGhpcy5zY3JvbGxUb1N1Z2dlc3Rpb24odGhpcy5mb2N1c2VkU3VnZ2VzdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9jdXNlZFN1Z2dlc3Rpb24oXG4gICAgZm9jdXNlZFN1Z2dlc3Rpb246IFN1Z2dlc3Rpb25Db21wb25lbnQgPSBudWxsLFxuICApIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5mb2N1c2VkU3VnZ2VzdGlvbi5ibHVyKCk7XG4gICAgfVxuICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24gPSBmb2N1c2VkU3VnZ2VzdGlvbjtcbiAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5mb2N1c2VkU3VnZ2VzdGlvbi5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsVG9TdWdnZXN0aW9uKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb25Db21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbkxpc3RSZWYpIHtcbiAgICAgIHNjcm9sbEludG9WaWV3KFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9uTGlzdFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICBzdWdnZXN0aW9uLmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RGb2N1c2VkT3B0aW9uKCkge1xuICAgIGlmICh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uKSB7XG4gICAgICB0aGlzLm9uU3VnZ2VzdGlvbkNsaWNrKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24udmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbHRlckZuKGlucHV0VmFsdWU6IHN0cmluZywgc3VnZ2VzdGlvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN1Z2dlc3Rpb24/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXRWYWx1ZT8udG9Mb3dlckNhc2UoKSA/PyAnJyk7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aUF1dG9jb21wbGV0ZV06bm90KGlucHV0KTpub3QodGV4dGFyZWEpJyxcbiAgZXhwb3J0QXM6ICdhdWlBdXRvY29tcGxldGUnLFxuICBpbnB1dHM6IFsnY2xhc3M6YXVpQXV0b2NvbXBsZXRlQ2xhc3MnXSxcbiAgaG9zdDoge1xuICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUF1dG9Db21wbGV0ZURpcmVjdGl2ZSBleHRlbmRzIEF1dG9Db21wbGV0ZURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlSW5uZXJTZWxlY3RvcicpXG4gIG92ZXJyaWRlIGlubmVyU2VsZWN0b3IgPSAnaW5wdXQsdGV4dGFyZWEnO1xufVxuIl19
@@ -1913,7 +1913,7 @@ class AutoCompleteDirective extends BaseTooltip {
1913
1913
  this.unsubscribe$.complete();
1914
1914
  }
1915
1915
  onFocus() {
1916
- if (this.suggestionTrigger === 'auto') {
1916
+ if (this.suggestionTrigger === 'auto' && !this.isCreated) {
1917
1917
  super.onFocus();
1918
1918
  }
1919
1919
  }
@@ -1972,10 +1972,6 @@ class AutoCompleteDirective extends BaseTooltip {
1972
1972
  this.autoFocusFirstSuggestion();
1973
1973
  }
1974
1974
  autoFocusFirstSuggestion() {
1975
- const focusedSuggestion = this.autocomplete.suggestions.find(suggestion => suggestion.focused && suggestion.visible);
1976
- if (focusedSuggestion) {
1977
- return;
1978
- }
1979
1975
  const selectedSuggestion = this.autocomplete.suggestions.find(suggestion => suggestion.selected);
1980
1976
  if (selectedSuggestion) {
1981
1977
  this.resetFocusedSuggestion(selectedSuggestion);