@elderbyte/ngx-starter 18.1.0-beta → 18.1.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.
@@ -39,13 +39,7 @@ export class ElderFileSelectDirective {
39
39
  this.logger.warn('showOpenFilePicker or showDirectoryPicker is not supported for this browser, falling back to legacy file picker');
40
40
  this._legacyInput.createFileSelect();
41
41
  this._legacyInput.filesSelected.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
42
- next: multiFileChange => {
43
- this.elderFileSelectChange.next(multiFileChange);
44
- const file = multiFileChange[0]?.file;
45
- if (file) {
46
- this.elderSingleFileSelectChange.next(file);
47
- }
48
- }
42
+ next: multiFileChange => this.pushFileChanges(multiFileChange)
49
43
  });
50
44
  }
51
45
  }
@@ -119,12 +113,12 @@ export class ElderFileSelectDirective {
119
113
  onClick(event) {
120
114
  if (!this._useDirectoryPicker && FileSystemApi.isFileSystemSupported()) {
121
115
  this.openFilePicker(this._filePickerOptions).subscribe({
122
- next: fileList => this.elderFileSelectChange.next(fileList)
116
+ next: multiFileChange => this.pushFileChanges(multiFileChange)
123
117
  });
124
118
  }
125
119
  else if (this._useDirectoryPicker && FileSystemApi.isDirectoryPickerSupported()) {
126
120
  this.openDirectoryPicker(this._directoryPickerOptions).subscribe({
127
- next: fileList => this.elderFileSelectChange.next(fileList)
121
+ next: multiFileChange => this.pushFileChanges(multiFileChange)
128
122
  });
129
123
  }
130
124
  else {
@@ -136,6 +130,13 @@ export class ElderFileSelectDirective {
136
130
  * Private methods *
137
131
  * *
138
132
  **************************************************************************/
133
+ pushFileChanges(multiFileChange) {
134
+ this.elderFileSelectChange.next(multiFileChange);
135
+ const file = multiFileChange[0]?.file;
136
+ if (file) {
137
+ this.elderSingleFileSelectChange.next(file);
138
+ }
139
+ }
139
140
  openFilePicker(pickerOpts) {
140
141
  return FileSystemApi.openFilePicker(pickerOpts).pipe(switchMap(files => combineLatest(files.map(file => FileEntry.ofFileHandle(file)))));
141
142
  }
@@ -165,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
165
166
  type: HostListener,
166
167
  args: ['click', ['$event']]
167
168
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLXNlbGVjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsYUFBYSxFQUlkLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBYyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7O0FBTzlELE1BQU0sT0FBTyx3QkFBd0I7SUFxQm5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxVQUFzQjtRQUZ0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBNUJoQzs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztR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Q0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCwgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4vbGlzdGluZy9maWxlLWVudHJ5JztcbmltcG9ydCB7RWxkZXJGaWxlU2VsZWN0SW5wdXR9IGZyb20gJy4vZWxkZXItZmlsZS1zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHtcbiAgRmlsZVN5c3RlbUFwaSxcbiAgRmlsZVN5c3RlbURpcmVjdG9yeVBpY2tlck9wdGlvbnMsXG4gIEZpbGVTeXN0ZW1GaWxlUGlja2VyT3B0aW9ucyxcbiAgRmlsZVN5c3RlbUZpbGVQaWNrZXJUeXBlT3B0aW9uc1xufSBmcm9tICcuL2ZpbGUtc3lzdGVtLWFwaSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbGVMaXN0aW5nU3lzdGVtSGFuZGxlfSBmcm9tICcuL2xpc3RpbmcvZmlsZS1saXN0aW5nLXN5c3RlbS1oYW5kbGUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJGaWxlU2VsZWN0XScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJGaWxlU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVsZGVyRmlsZVNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbGRlclNpbmdsZUZpbGVTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XG5cbiAgcHJpdmF0ZSBfbGVnYWN5SW5wdXQ6IEVsZGVyRmlsZVNlbGVjdElucHV0O1xuICBwcml2YXRlIF9maWxlUGlja2VyT3B0aW9uczogRmlsZVN5c3RlbUZpbGVQaWNrZXJPcHRpb25zO1xuICBwcml2YXRlIF9kaXJlY3RvcnlQaWNrZXJPcHRpb25zOiBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucztcbiAgcHJpdmF0ZSBfdXNlRGlyZWN0b3J5UGlja2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICkge1xuICAgIHRoaXMuX2xlZ2FjeUlucHV0ID0gbmV3IEVsZGVyRmlsZVNlbGVjdElucHV0KHRoaXMucmVuZGVyZXIsIHRoaXMuZWwpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghRmlsZVN5c3RlbUFwaS5pc0ZpbGVTeXN0ZW1TdXBwb3J0ZWQoKSB8fCAhRmlsZVN5c3RlbUFwaS5pc0RpcmVjdG9yeVBpY2tlclN1cHBvcnRlZCgpKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdzaG93T3BlbkZpbGVQaWNrZXIgb3Igc2hvd0RpcmVjdG9yeVBpY2tlciBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGJyb3dzZXIsIGZhbGxpbmcgYmFjayB0byBsZWdhY3kgZmlsZSBwaWNrZXInKTtcbiAgICAgIHRoaXMuX2xlZ2FjeUlucHV0LmNyZWF0ZUZpbGVTZWxlY3QoKTtcbiAgICAgIHRoaXMuX2xlZ2FjeUlucHV0LmZpbGVzU2VsZWN0ZWQucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogbXVsdGlGaWxlQ2hhbmdlID0+IHtcbiAgICAgICAgICB0aGlzLmVsZGVyRmlsZVNlbGVjdENoYW5nZS5uZXh0KG11bHRpRmlsZUNoYW5nZSk7XG4gICAgICAgICAgY29uc3QgZmlsZSA9IG11bHRpRmlsZUNoYW5nZVswXT8uZmlsZTtcbiAgICAgICAgICBpZihmaWxlKXtcbiAgICAgICAgICAgIHRoaXMuZWxkZXJTaW5nbGVGaWxlU2VsZWN0Q2hhbmdlLm5leHQoZmlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbGVnYWN5SW5wdXQucmVtb3ZlRmlsZVNlbGVjdCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbGRlckZpbGVTZWxlY3QodmFsdWU6IHN0cmluZykge1xuXG4gICAgdGhpcy5fZmlsZVBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBleGNsdWRlQWNjZXB0QWxsT3B0aW9uczogdHJ1ZSxcbiAgICAgIGlkOiB0aGlzLl9maWxlUGlja2VyT3B0aW9ucz8uaWQsXG4gICAgICBtdWx0aXBsZTogdGhpcy5fZmlsZVBpY2tlck9wdGlvbnM/Lm11bHRpcGxlLFxuICAgICAgc3RhcnRJbjogdGhpcy5fZmlsZVBpY2tlck9wdGlvbnM/LnN0YXJ0SW4sXG4gICAgICB0eXBlczogW3RoaXMuYnVpbGRUeXBlT3B0aW9uKHZhbHVlKV1cbiAgICB9O1xuXG4gICAgdGhpcy5fbGVnYWN5SW5wdXQuZWxkZXJGaWxlU2VsZWN0ID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVHlwZU9wdGlvbih2YWx1ZTogc3RyaW5nKTogRmlsZVN5c3RlbUZpbGVQaWNrZXJUeXBlT3B0aW9ucyB7XG4gICAgaWYgKHRoaXMuaXNGaWxlRXh0ZW5zaW9uKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWNjZXB0OiB7XG4gICAgICAgICAgJyovKic6IHZhbHVlLnRyaW0oKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc01pbWVUeXBlKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWNjZXB0OiB7W3ZhbHVlXTogW119XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNGaWxlRXh0ZW5zaW9uKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoL14oXFwuXFx3KykoLCA/XFwuXFx3KykqJC8pO1xuICAgIHJldHVybiByZWdleC50ZXN0KGlucHV0KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNaW1lVHlwZShpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKC9eLitcXC8uKyQvKTtcbiAgICByZXR1cm4gcmVnZXgudGVzdChpbnB1dCk7XG4gIH1cblxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZWxkZXJGaWxlU2VsZWN0TXVsdGlwbGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuXG4gICAgdGhpcy5fZmlsZVBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBleGNsdWRlQWNjZXB0QWxsT3B0aW9uczogdGhpcy5fZmlsZVBpY2tlck9wdGlvbnM/LmV4Y2x1ZGVBY2NlcHRBbGxPcHRpb25zLFxuICAgICAgaWQ6IHRoaXMuX2ZpbGVQaWNrZXJPcHRpb25zPy5pZCxcbiAgICAgIG11bHRpcGxlOiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpLFxuICAgICAgc3RhcnRJbjogdGhpcy5fZmlsZVBpY2tlck9wdGlvbnM/LnN0YXJ0SW4sXG4gICAgICB0eXBlczogdGhpcy5fZmlsZVBpY2tlck9wdGlvbnM/LnR5cGVzXG4gICAgfTtcblxuICAgIHRoaXMuX2xlZ2FjeUlucHV0LmVsZGVyRmlsZVNlbGVjdE11bHRpcGxlID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3cgdGhlIHVzZXIgdG8gc2VsZWN0IGEgZGlyZWN0b3J5LiBBbGwgZmlsZXMgdGhhdCBhcmUgcmVjdXJzaXZlbHkgY29udGFpbmVkIGFyZSBzZWxlY3RlZC5cbiAgICogSG93ZXZlciwgdGhlIHVzZXIgd2lsbCBubyBsb25nZXIgYmUgYWJsZSB0byBzZWxlY3QgaW5kaXZpZHVhbCBmaWxlcyBpZiB0aGlzIGlzIGVuYWJsZWQuXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbGRlckZpbGVTZWxlY3REaXJlY3RvcnkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3VzZURpcmVjdG9yeVBpY2tlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5fbGVnYWN5SW5wdXQuZWxkZXJGaWxlU2VsZWN0RGlyZWN0b3J5ID0gdmFsdWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3VzZURpcmVjdG9yeVBpY2tlciAmJiBGaWxlU3lzdGVtQXBpLmlzRmlsZVN5c3RlbVN1cHBvcnRlZCgpKSB7XG4gICAgICB0aGlzLm9wZW5GaWxlUGlja2VyKHRoaXMuX2ZpbGVQaWNrZXJPcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiBmaWxlTGlzdCA9PiB0aGlzLmVsZGVyRmlsZVNlbGVjdENoYW5nZS5uZXh0KGZpbGVMaXN0KVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl91c2VEaXJlY3RvcnlQaWNrZXIgJiYgRmlsZVN5c3RlbUFwaS5pc0RpcmVjdG9yeVBpY2tlclN1cHBvcnRlZCgpKSB7XG4gICAgICB0aGlzLm9wZW5EaXJlY3RvcnlQaWNrZXIodGhpcy5fZGlyZWN0b3J5UGlja2VyT3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogZmlsZUxpc3QgPT4gdGhpcy5lbGRlckZpbGVTZWxlY3RDaGFuZ2UubmV4dChmaWxlTGlzdClcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9sZWdhY3lJbnB1dC5vcGVuRmlsZVNlbGVjdERpYWxvZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvcGVuRmlsZVBpY2tlcihwaWNrZXJPcHRzOiBGaWxlU3lzdGVtRmlsZVBpY2tlck9wdGlvbnMpOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgcmV0dXJuIEZpbGVTeXN0ZW1BcGkub3BlbkZpbGVQaWNrZXIocGlja2VyT3B0cykucGlwZShcbiAgICAgIHN3aXRjaE1hcChmaWxlcyA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KGZpbGVzLm1hcChmaWxlID0+IEZpbGVFbnRyeS5vZkZpbGVIYW5kbGUoZmlsZSkpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRpcmVjdG9yeVBpY2tlcihwaWNrZXJPcHRzOiBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsZUVudHJ5W10+IHtcbiAgICByZXR1cm4gRmlsZVN5c3RlbUFwaS5vcGVuRGlyZWN0b3J5UGlja2VyKHBpY2tlck9wdHMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZGlyID0+IEZpbGVMaXN0aW5nU3lzdGVtSGFuZGxlLmxpc3RGaWxlcyhkaXIpKVxuICAgICk7XG4gIH1cblxufVxuXG5cblxuIl19
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLXNlbGVjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsYUFBYSxFQUlkLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBYyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7O0FBTzlELE1BQU0sT0FBTyx3QkFBd0I7SUFxQm5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxVQUFzQjtRQUZ0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBNUJoQzs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztR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c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCwgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4vbGlzdGluZy9maWxlLWVudHJ5JztcbmltcG9ydCB7RWxkZXJGaWxlU2VsZWN0SW5wdXR9IGZyb20gJy4vZWxkZXItZmlsZS1zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHtcbiAgRmlsZVN5c3RlbUFwaSxcbiAgRmlsZVN5c3RlbURpcmVjdG9yeVBpY2tlck9wdGlvbnMsXG4gIEZpbGVTeXN0ZW1GaWxlUGlja2VyT3B0aW9ucyxcbiAgRmlsZVN5c3RlbUZpbGVQaWNrZXJUeXBlT3B0aW9uc1xufSBmcm9tICcuL2ZpbGUtc3lzdGVtLWFwaSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbGVMaXN0aW5nU3lzdGVtSGFuZGxlfSBmcm9tICcuL2xpc3RpbmcvZmlsZS1saXN0aW5nLXN5c3RlbS1oYW5kbGUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJGaWxlU2VsZWN0XScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJGaWxlU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVsZGVyRmlsZVNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbGRlclNpbmdsZUZpbGVTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XG5cbiAgcHJpdmF0ZSBfbGVnYWN5SW5wdXQ6IEVsZGVyRmlsZVNlbGVjdElucHV0O1xuICBwcml2YXRlIF9maWxlUGlja2VyT3B0aW9uczogRmlsZVN5c3RlbUZpbGVQaWNrZXJPcHRpb25zO1xuICBwcml2YXRlIF9kaXJlY3RvcnlQaWNrZXJPcHRpb25zOiBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucztcbiAgcHJpdmF0ZSBfdXNlRGlyZWN0b3J5UGlja2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICkge1xuICAgIHRoaXMuX2xlZ2FjeUlucHV0ID0gbmV3IEVsZGVyRmlsZVNlbGVjdElucHV0KHRoaXMucmVuZGVyZXIsIHRoaXMuZWwpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghRmlsZVN5c3RlbUFwaS5pc0ZpbGVTeXN0ZW1TdXBwb3J0ZWQoKSB8fCAhRmlsZVN5c3RlbUFwaS5pc0RpcmVjdG9yeVBpY2tlclN1cHBvcnRlZCgpKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdzaG93T3BlbkZpbGVQaWNrZXIgb3Igc2hvd0RpcmVjdG9yeVBpY2tlciBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGJyb3dzZXIsIGZhbGxpbmcgYmFjayB0byBsZWdhY3kgZmlsZSBwaWNrZXInKTtcbiAgICAgIHRoaXMuX2xlZ2FjeUlucHV0LmNyZWF0ZUZpbGVTZWxlY3QoKTtcbiAgICAgIHRoaXMuX2xlZ2FjeUlucHV0LmZpbGVzU2VsZWN0ZWQucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogbXVsdGlGaWxlQ2hhbmdlID0+IHRoaXMucHVzaEZpbGVDaGFuZ2VzKG11bHRpRmlsZUNoYW5nZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9sZWdhY3lJbnB1dC5yZW1vdmVGaWxlU2VsZWN0KCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVsZGVyRmlsZVNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG5cbiAgICB0aGlzLl9maWxlUGlja2VyT3B0aW9ucyA9IHtcbiAgICAgIGV4Y2x1ZGVBY2NlcHRBbGxPcHRpb25zOiB0cnVlLFxuICAgICAgaWQ6IHRoaXMuX2ZpbGVQaWNrZXJPcHRpb25zPy5pZCxcbiAgICAgIG11bHRpcGxlOiB0aGlzLl9maWxlUGlja2VyT3B0aW9ucz8ubXVsdGlwbGUsXG4gICAgICBzdGFydEluOiB0aGlzLl9maWxlUGlja2VyT3B0aW9ucz8uc3RhcnRJbixcbiAgICAgIHR5cGVzOiBbdGhpcy5idWlsZFR5cGVPcHRpb24odmFsdWUpXVxuICAgIH07XG5cbiAgICB0aGlzLl9sZWdhY3lJbnB1dC5lbGRlckZpbGVTZWxlY3QgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUeXBlT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiBGaWxlU3lzdGVtRmlsZVBpY2tlclR5cGVPcHRpb25zIHtcbiAgICBpZiAodGhpcy5pc0ZpbGVFeHRlbnNpb24odmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NlcHQ6IHtcbiAgICAgICAgICAnKi8qJzogdmFsdWUudHJpbSgpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTWltZVR5cGUodmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NlcHQ6IHtbdmFsdWVdOiBbXX1cbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0ZpbGVFeHRlbnNpb24oaW5wdXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgvXihcXC5cXHcrKSgsID9cXC5cXHcrKSokLyk7XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoaW5wdXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc01pbWVUeXBlKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoL14uK1xcLy4rJC8pO1xuICAgIHJldHVybiByZWdleC50ZXN0KGlucHV0KTtcbiAgfVxuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbGRlckZpbGVTZWxlY3RNdWx0aXBsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG5cbiAgICB0aGlzLl9maWxlUGlja2VyT3B0aW9ucyA9IHtcbiAgICAgIGV4Y2x1ZGVBY2NlcHRBbGxPcHRpb25zOiB0aGlzLl9maWxlUGlja2VyT3B0aW9ucz8uZXhjbHVkZUFjY2VwdEFsbE9wdGlvbnMsXG4gICAgICBpZDogdGhpcy5fZmlsZVBpY2tlck9wdGlvbnM/LmlkLFxuICAgICAgbXVsdGlwbGU6IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSksXG4gICAgICBzdGFydEluOiB0aGlzLl9maWxlUGlja2VyT3B0aW9ucz8uc3RhcnRJbixcbiAgICAgIHR5cGVzOiB0aGlzLl9maWxlUGlja2VyT3B0aW9ucz8udHlwZXNcbiAgICB9O1xuXG4gICAgdGhpcy5fbGVnYWN5SW5wdXQuZWxkZXJGaWxlU2VsZWN0TXVsdGlwbGUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgdXNlciB0byBzZWxlY3QgYSBkaXJlY3RvcnkuIEFsbCBmaWxlcyB0aGF0IGFyZSByZWN1cnNpdmVseSBjb250YWluZWQgYXJlIHNlbGVjdGVkLlxuICAgKiBIb3dldmVyLCB0aGUgdXNlciB3aWxsIG5vIGxvbmdlciBiZSBhYmxlIHRvIHNlbGVjdCBpbmRpdmlkdWFsIGZpbGVzIGlmIHRoaXMgaXMgZW5hYmxlZC5cbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVsZGVyRmlsZVNlbGVjdERpcmVjdG9yeSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fdXNlRGlyZWN0b3J5UGlja2VyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLl9sZWdhY3lJbnB1dC5lbGRlckZpbGVTZWxlY3REaXJlY3RvcnkgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdXNlRGlyZWN0b3J5UGlja2VyICYmIEZpbGVTeXN0ZW1BcGkuaXNGaWxlU3lzdGVtU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRoaXMub3BlbkZpbGVQaWNrZXIodGhpcy5fZmlsZVBpY2tlck9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IG11bHRpRmlsZUNoYW5nZSA9PiB0aGlzLnB1c2hGaWxlQ2hhbmdlcyhtdWx0aUZpbGVDaGFuZ2UpXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3VzZURpcmVjdG9yeVBpY2tlciAmJiBGaWxlU3lzdGVtQXBpLmlzRGlyZWN0b3J5UGlja2VyU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRoaXMub3BlbkRpcmVjdG9yeVBpY2tlcih0aGlzLl9kaXJlY3RvcnlQaWNrZXJPcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiBtdWx0aUZpbGVDaGFuZ2UgPT4gdGhpcy5wdXNoRmlsZUNoYW5nZXMobXVsdGlGaWxlQ2hhbmdlKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xlZ2FjeUlucHV0Lm9wZW5GaWxlU2VsZWN0RGlhbG9nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBwdXNoRmlsZUNoYW5nZXMobXVsdGlGaWxlQ2hhbmdlOiBGaWxlRW50cnlbXSk6IHZvaWQge1xuICAgIHRoaXMuZWxkZXJGaWxlU2VsZWN0Q2hhbmdlLm5leHQobXVsdGlGaWxlQ2hhbmdlKTtcbiAgICBjb25zdCBmaWxlID0gbXVsdGlGaWxlQ2hhbmdlWzBdPy5maWxlO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICB0aGlzLmVsZGVyU2luZ2xlRmlsZVNlbGVjdENoYW5nZS5uZXh0KGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuRmlsZVBpY2tlcihwaWNrZXJPcHRzOiBGaWxlU3lzdGVtRmlsZVBpY2tlck9wdGlvbnMpOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgcmV0dXJuIEZpbGVTeXN0ZW1BcGkub3BlbkZpbGVQaWNrZXIocGlja2VyT3B0cykucGlwZShcbiAgICAgIHN3aXRjaE1hcChmaWxlcyA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KGZpbGVzLm1hcChmaWxlID0+IEZpbGVFbnRyeS5vZkZpbGVIYW5kbGUoZmlsZSkpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRpcmVjdG9yeVBpY2tlcihwaWNrZXJPcHRzOiBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsZUVudHJ5W10+IHtcbiAgICByZXR1cm4gRmlsZVN5c3RlbUFwaS5vcGVuRGlyZWN0b3J5UGlja2VyKHBpY2tlck9wdHMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZGlyID0+IEZpbGVMaXN0aW5nU3lzdGVtSGFuZGxlLmxpc3RGaWxlcyhkaXIpKVxuICAgICk7XG4gIH1cblxufVxuXG5cblxuIl19
@@ -19,6 +19,10 @@ export class FileSystemApi {
19
19
  // @ts-ignore
20
20
  return transferItem.getAsFileSystemHandle !== undefined;
21
21
  }
22
+ /**
23
+ * Returns an FileSystemHandle Observable of the given DataTransferItem. The FileSystemHandle can only be accessed in the `dragstart`
24
+ * or `drop` event. Otherwise, it will return null!
25
+ */
22
26
  static getAsFileSystemHandle(transferItem) {
23
27
  // @ts-ignore
24
28
  return from(transferItem.getAsFileSystemHandle());
@@ -71,7 +75,11 @@ export class FileSystemApi {
71
75
  }
72
76
  const relativeParents$ = from(rootDirectory.resolve(fileOrDirHandle));
73
77
  return relativeParents$.pipe(map(parents => {
78
+ // path/to/folder/file.jpg
74
79
  const path = parents;
80
+ // root/path/to/folder/file.jpg
81
+ path.unshift(rootDirectory.name);
82
+ // root/path/to/folder
75
83
  path.pop();
76
84
  return path.join('/');
77
85
  }));
@@ -85,4 +93,4 @@ export class FileSystemApi {
85
93
  return handles;
86
94
  }
87
95
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zeXN0ZW0tYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9maWxlLXN5c3RlbS1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWlEbkM7Ozs7NEVBSTRFO0FBRTVFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBRXhCOzs7O2dGQUk0RTtJQUVyRSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsWUFBOEI7UUFDM0UsYUFBYTtRQUNiLE9BQU8sWUFBWSxDQUFDLHFCQUFxQixLQUFLLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFlBQThCO1FBQ2hFLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsTUFBTSxDQUFDLHFCQUFxQjtRQUNqQyxPQUFPLG9CQUFvQixJQUFJLE1BQU0sQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUF1QztRQUNsRSxJQUFJLENBQUM7WUFDSCxhQUFhO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQywwQkFBMEI7UUFDdEMsT0FBTyxxQkFBcUIsSUFBSSxNQUFNLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUE0QztRQUM1RSxJQUFJLENBQUM7WUFDSCxhQUFhO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxTQUFvQztRQUN4RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUMvQixlQUFpQyxFQUNqQyxhQUF5QztRQUd6QyxJQUFJLGFBQWEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUMxQixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWixNQUFNLElBQUksR0FBRyxPQUFPLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxTQUFvQztRQUNwRixNQUFNLE9BQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ3ZDLGFBQWE7UUFDYixJQUFJLEtBQUssRUFBRSxNQUFNLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUM5QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Zyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIEZpbGUgUGlja2VyIE9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlU3lzdGVtRmlsZVBpY2tlck9wdGlvbnMge1xuICAvKipcbiAgICpcbiAgICogYGBgXG4gICAqICAgdHlwZXM6IFtcbiAgICogICAgIHtcbiAgICogICAgICAgZGVzY3JpcHRpb246IFwiSW1hZ2VzXCIsXG4gICAqICAgICAgIGFjY2VwdDoge1xuICAgKiAgICAgICAgIFwiaW1hZ2UvKlwiOiBbXCIucG5nXCIsIFwiLmdpZlwiLCBcIi5qcGVnXCIsIFwiLmpwZ1wiXSxcbiAgICogICAgICAgfSxcbiAgICogICAgIH0sXG4gICAqICAgXSxcbiAgICogICBleGNsdWRlQWNjZXB0QWxsT3B0aW9uOiB0cnVlLFxuICAgKiAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICogYGBgXG4gICAqL1xuICBleGNsdWRlQWNjZXB0QWxsT3B0aW9ucz86IGJvb2xlYW4sXG4gIGlkPzogc3RyaW5nLFxuICBtdWx0aXBsZT86IGJvb2xlYW4sXG4gIHN0YXJ0SW4/OiBGaWxlU3lzdGVtSGFuZGxlIHwgJ2Rlc2t0b3AnIHwgJ2RvY3VtZW50cycgfCAnZG93bmxvYWRzJyB8ICdtdXNpYycgfCAncGljdHVyZXMnIHwgJ3ZpZGVvcycsXG4gIHR5cGVzPzogRmlsZVN5c3RlbUZpbGVQaWNrZXJUeXBlT3B0aW9uc1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVN5c3RlbUZpbGVQaWNrZXJUeXBlT3B0aW9ucyB7XG4gIGFjY2VwdDogUmVjb3JkPHN0cmluZyxzdHJpbmdbXT4sXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIERpcmVjdG9yeSBQaWNrZXIgT3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nLFxuICBtb2RlPzogc3RyaW5nLFxuICBzdGFydEluPzogRmlsZVN5c3RlbUhhbmRsZSB8ICdkZXNrdG9wJyB8ICdkb2N1bWVudHMnIHwgJ2Rvd25sb2FkcycgfCAnbXVzaWMnIHwgJ3BpY3R1cmVzJyB8ICd2aWRlb3MnXG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogRmlsZVN5c3RlbSBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEhvbGRzIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBvZiB0aGUgYnJvd3NlciBgRmlsZSBTeXN0ZW0gQVBJYC4gTm8gdHlwZXNjcmlwdCBsaW50IGNoZWNrc1xuICogYXJlIHBlcmZvcm1lZCBoZXJlIVxuICovXG5leHBvcnQgY2xhc3MgRmlsZVN5c3RlbUFwaSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIERhdGFUcmFuc2Zlckl0ZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc0dldEFzRmlsZVN5c3RlbUhhbmRsZVN1cHBvcnRlZCh0cmFuc2Zlckl0ZW06IERhdGFUcmFuc2Zlckl0ZW0pOiBib29sZWFuIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIHRyYW5zZmVySXRlbS5nZXRBc0ZpbGVTeXN0ZW1IYW5kbGUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0QXNGaWxlU3lzdGVtSGFuZGxlKHRyYW5zZmVySXRlbTogRGF0YVRyYW5zZmVySXRlbSk6IE9ic2VydmFibGU8RmlsZVN5c3RlbUhhbmRsZT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZnJvbSh0cmFuc2Zlckl0ZW0uZ2V0QXNGaWxlU3lzdGVtSGFuZGxlKCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpbGUgUGlja2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc0ZpbGVTeXN0ZW1TdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICdzaG93T3BlbkZpbGVQaWNrZXInIGluIHdpbmRvdztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb3BlbkZpbGVQaWNrZXIocGlja2VyT3B0czogRmlsZVN5c3RlbUZpbGVQaWNrZXJPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWxlU3lzdGVtRmlsZUhhbmRsZVtdPiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBmcm9tKHdpbmRvdy5zaG93T3BlbkZpbGVQaWNrZXIocGlja2VyT3B0cykpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIERpcmVjdG9yeSBQaWNrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc0RpcmVjdG9yeVBpY2tlclN1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gJ3Nob3dEaXJlY3RvcnlQaWNrZXInIGluIHdpbmRvdztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb3BlbkRpcmVjdG9yeVBpY2tlcihwaWNrZXJPcHRzOiBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gZnJvbSh3aW5kb3cuc2hvd0RpcmVjdG9yeVBpY2tlcihwaWNrZXJPcHRzKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGUpKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGdldEhhbmRsZXNGcm9tRGlyZWN0b3J5KGRpckhhbmRsZTogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZSk6IE9ic2VydmFibGU8RmlsZVN5c3RlbUhhbmRsZVtdPiB7XG4gICAgcmV0dXJuIGZyb20oRmlsZVN5c3RlbUFwaS5nZXRIYW5kbGVzRnJvbURpcmVjdG9yeUFzeW5jKGRpckhhbmRsZSkpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBidWlsZFJlbGF0aXZlUGFyZW50KFxuICAgIGZpbGVPckRpckhhbmRsZTogRmlsZVN5c3RlbUhhbmRsZSxcbiAgICByb290RGlyZWN0b3J5PzogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZVxuICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuXG4gICAgaWYgKHJvb3REaXJlY3RvcnkgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxhdGl2ZVBhcmVudHMkID0gZnJvbShyb290RGlyZWN0b3J5LnJlc29sdmUoZmlsZU9yRGlySGFuZGxlKSk7XG4gICAgcmV0dXJuIHJlbGF0aXZlUGFyZW50cyQucGlwZShcbiAgICAgIG1hcChwYXJlbnRzID0+IHtcbiAgICAgICAgY29uc3QgcGF0aCA9IHBhcmVudHM7XG4gICAgICAgIHBhdGgucG9wKCk7XG4gICAgICAgIHJldHVybiBwYXRoLmpvaW4oJy8nKTtcbiAgICAgIH1cbiAgICApKVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgZ2V0SGFuZGxlc0Zyb21EaXJlY3RvcnlBc3luYyhkaXJIYW5kbGU6IEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGUpOiBQcm9taXNlPEZpbGVTeXN0ZW1IYW5kbGVbXT4ge1xuICAgIGNvbnN0IGhhbmRsZXM6IEZpbGVTeXN0ZW1IYW5kbGVbXSA9IFtdO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBmb3IgYXdhaXQgKGNvbnN0IGhhbmRsZSBvZiBkaXJIYW5kbGUudmFsdWVzKCkpIHtcbiAgICAgIGhhbmRsZXMucHVzaChoYW5kbGUpO1xuICAgIH1cbiAgICByZXR1cm4gaGFuZGxlcztcbiAgfVxufVxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zeXN0ZW0tYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9maWxlLXN5c3RlbS1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWlEbkM7Ozs7NEVBSTRFO0FBRTVFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBRXhCOzs7O2dGQUk0RTtJQUVyRSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsWUFBOEI7UUFDM0UsYUFBYTtRQUNiLE9BQU8sWUFBWSxDQUFDLHFCQUFxQixLQUFLLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUFDLFlBQThCO1FBQ2hFLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsTUFBTSxDQUFDLHFCQUFxQjtRQUNqQyxPQUFPLG9CQUFvQixJQUFJLE1BQU0sQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUF1QztRQUNsRSxJQUFJLENBQUM7WUFDSCxhQUFhO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQywwQkFBMEI7UUFDdEMsT0FBTyxxQkFBcUIsSUFBSSxNQUFNLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUE0QztRQUM1RSxJQUFJLENBQUM7WUFDSCxhQUFhO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxTQUFvQztRQUN4RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUMvQixlQUFpQyxFQUNqQyxhQUF5QztRQUd6QyxJQUFJLGFBQWEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUMxQixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWiwwQkFBMEI7WUFDMUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDO1lBRXJCLCtCQUErQjtZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVqQyxzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxTQUFvQztRQUNwRixNQUFNLE9BQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ3ZDLGFBQWE7UUFDYixJQUFJLEtBQUssRUFBRSxNQUFNLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUM5QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Zyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIEZpbGUgUGlja2VyIE9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlU3lzdGVtRmlsZVBpY2tlck9wdGlvbnMge1xuICAvKipcbiAgICpcbiAgICogYGBgXG4gICAqICAgdHlwZXM6IFtcbiAgICogICAgIHtcbiAgICogICAgICAgZGVzY3JpcHRpb246IFwiSW1hZ2VzXCIsXG4gICAqICAgICAgIGFjY2VwdDoge1xuICAgKiAgICAgICAgIFwiaW1hZ2UvKlwiOiBbXCIucG5nXCIsIFwiLmdpZlwiLCBcIi5qcGVnXCIsIFwiLmpwZ1wiXSxcbiAgICogICAgICAgfSxcbiAgICogICAgIH0sXG4gICAqICAgXSxcbiAgICogICBleGNsdWRlQWNjZXB0QWxsT3B0aW9uOiB0cnVlLFxuICAgKiAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICogYGBgXG4gICAqL1xuICBleGNsdWRlQWNjZXB0QWxsT3B0aW9ucz86IGJvb2xlYW4sXG4gIGlkPzogc3RyaW5nLFxuICBtdWx0aXBsZT86IGJvb2xlYW4sXG4gIHN0YXJ0SW4/OiBGaWxlU3lzdGVtSGFuZGxlIHwgJ2Rlc2t0b3AnIHwgJ2RvY3VtZW50cycgfCAnZG93bmxvYWRzJyB8ICdtdXNpYycgfCAncGljdHVyZXMnIHwgJ3ZpZGVvcycsXG4gIHR5cGVzPzogRmlsZVN5c3RlbUZpbGVQaWNrZXJUeXBlT3B0aW9uc1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVN5c3RlbUZpbGVQaWNrZXJUeXBlT3B0aW9ucyB7XG4gIGFjY2VwdDogUmVjb3JkPHN0cmluZyxzdHJpbmdbXT4sXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIERpcmVjdG9yeSBQaWNrZXIgT3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nLFxuICBtb2RlPzogc3RyaW5nLFxuICBzdGFydEluPzogRmlsZVN5c3RlbUhhbmRsZSB8ICdkZXNrdG9wJyB8ICdkb2N1bWVudHMnIHwgJ2Rvd25sb2FkcycgfCAnbXVzaWMnIHwgJ3BpY3R1cmVzJyB8ICd2aWRlb3MnXG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogRmlsZVN5c3RlbSBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEhvbGRzIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBvZiB0aGUgYnJvd3NlciBgRmlsZSBTeXN0ZW0gQVBJYC4gTm8gdHlwZXNjcmlwdCBsaW50IGNoZWNrc1xuICogYXJlIHBlcmZvcm1lZCBoZXJlIVxuICovXG5leHBvcnQgY2xhc3MgRmlsZVN5c3RlbUFwaSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIERhdGFUcmFuc2Zlckl0ZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc0dldEFzRmlsZVN5c3RlbUhhbmRsZVN1cHBvcnRlZCh0cmFuc2Zlckl0ZW06IERhdGFUcmFuc2Zlckl0ZW0pOiBib29sZWFuIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIHRyYW5zZmVySXRlbS5nZXRBc0ZpbGVTeXN0ZW1IYW5kbGUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEZpbGVTeXN0ZW1IYW5kbGUgT2JzZXJ2YWJsZSBvZiB0aGUgZ2l2ZW4gRGF0YVRyYW5zZmVySXRlbS4gVGhlIEZpbGVTeXN0ZW1IYW5kbGUgY2FuIG9ubHkgYmUgYWNjZXNzZWQgaW4gdGhlIGBkcmFnc3RhcnRgXG4gICAqIG9yIGBkcm9wYCBldmVudC4gT3RoZXJ3aXNlLCBpdCB3aWxsIHJldHVybiBudWxsIVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRBc0ZpbGVTeXN0ZW1IYW5kbGUodHJhbnNmZXJJdGVtOiBEYXRhVHJhbnNmZXJJdGVtKTogT2JzZXJ2YWJsZTxGaWxlU3lzdGVtSGFuZGxlIHwgbnVsbD4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZnJvbSh0cmFuc2Zlckl0ZW0uZ2V0QXNGaWxlU3lzdGVtSGFuZGxlKCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpbGUgUGlja2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc0ZpbGVTeXN0ZW1TdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICdzaG93T3BlbkZpbGVQaWNrZXInIGluIHdpbmRvdztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb3BlbkZpbGVQaWNrZXIocGlja2VyT3B0czogRmlsZVN5c3RlbUZpbGVQaWNrZXJPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWxlU3lzdGVtRmlsZUhhbmRsZVtdPiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBmcm9tKHdpbmRvdy5zaG93T3BlbkZpbGVQaWNrZXIocGlja2VyT3B0cykpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIERpcmVjdG9yeSBQaWNrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc0RpcmVjdG9yeVBpY2tlclN1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gJ3Nob3dEaXJlY3RvcnlQaWNrZXInIGluIHdpbmRvdztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb3BlbkRpcmVjdG9yeVBpY2tlcihwaWNrZXJPcHRzOiBGaWxlU3lzdGVtRGlyZWN0b3J5UGlja2VyT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gZnJvbSh3aW5kb3cuc2hvd0RpcmVjdG9yeVBpY2tlcihwaWNrZXJPcHRzKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGUpKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGdldEhhbmRsZXNGcm9tRGlyZWN0b3J5KGRpckhhbmRsZTogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZSk6IE9ic2VydmFibGU8RmlsZVN5c3RlbUhhbmRsZVtdPiB7XG4gICAgcmV0dXJuIGZyb20oRmlsZVN5c3RlbUFwaS5nZXRIYW5kbGVzRnJvbURpcmVjdG9yeUFzeW5jKGRpckhhbmRsZSkpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBidWlsZFJlbGF0aXZlUGFyZW50KFxuICAgIGZpbGVPckRpckhhbmRsZTogRmlsZVN5c3RlbUhhbmRsZSxcbiAgICByb290RGlyZWN0b3J5PzogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZVxuICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuXG4gICAgaWYgKHJvb3REaXJlY3RvcnkgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxhdGl2ZVBhcmVudHMkID0gZnJvbShyb290RGlyZWN0b3J5LnJlc29sdmUoZmlsZU9yRGlySGFuZGxlKSk7XG4gICAgcmV0dXJuIHJlbGF0aXZlUGFyZW50cyQucGlwZShcbiAgICAgIG1hcChwYXJlbnRzID0+IHtcbiAgICAgICAgLy8gcGF0aC90by9mb2xkZXIvZmlsZS5qcGdcbiAgICAgICAgY29uc3QgcGF0aCA9IHBhcmVudHM7XG5cbiAgICAgICAgLy8gcm9vdC9wYXRoL3RvL2ZvbGRlci9maWxlLmpwZ1xuICAgICAgICBwYXRoLnVuc2hpZnQocm9vdERpcmVjdG9yeS5uYW1lKTtcblxuICAgICAgICAvLyByb290L3BhdGgvdG8vZm9sZGVyXG4gICAgICAgIHBhdGgucG9wKCk7XG4gICAgICAgIHJldHVybiBwYXRoLmpvaW4oJy8nKTtcbiAgICAgIH1cbiAgICApKVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgZ2V0SGFuZGxlc0Zyb21EaXJlY3RvcnlBc3luYyhkaXJIYW5kbGU6IEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGUpOiBQcm9taXNlPEZpbGVTeXN0ZW1IYW5kbGVbXT4ge1xuICAgIGNvbnN0IGhhbmRsZXM6IEZpbGVTeXN0ZW1IYW5kbGVbXSA9IFtdO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBmb3IgYXdhaXQgKGNvbnN0IGhhbmRsZSBvZiBkaXJIYW5kbGUudmFsdWVzKCkpIHtcbiAgICAgIGhhbmRsZXMucHVzaChoYW5kbGUpO1xuICAgIH1cbiAgICByZXR1cm4gaGFuZGxlcztcbiAgfVxufVxuIl19
@@ -30,15 +30,18 @@ export class FileListingRx {
30
30
  **************************************************************************/
31
31
  resolveTransferItem(transferItem) {
32
32
  if (FileSystemApi.isGetAsFileSystemHandleSupported(transferItem)) {
33
- return FileSystemApi.getAsFileSystemHandle(transferItem).pipe(switchMap(handle => FileListingSystemHandle.listFiles(handle)));
33
+ return FileSystemApi.getAsFileSystemHandle(transferItem).pipe(switchMap(handle => handle ? FileListingSystemHandle.listFiles(handle) : this.legacyFileListing(transferItem)));
34
34
  }
35
+ return this.legacyFileListing(transferItem);
36
+ }
37
+ legacyFileListing(transferItem) {
35
38
  const entry = transferItem.webkitGetAsEntry();
36
39
  if (entry) {
37
40
  return FileListingWebkit.listFilesRecursive(entry);
38
41
  }
39
- return this.legacyFileListing(transferItem);
42
+ return this.fallbackFileListing(transferItem);
40
43
  }
41
- legacyFileListing(transferItem) {
44
+ fallbackFileListing(transferItem) {
42
45
  const itemAsFile = transferItem.getAsFile();
43
46
  if (itemAsFile) {
44
47
  return of([FileEntry.ofFile(itemAsFile)]);
@@ -58,4 +61,4 @@ export class FileListingRx {
58
61
  }
59
62
  }
60
63
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saXN0aW5nLXJ4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9saXN0aW5nL2ZpbGUtbGlzdGluZy1yeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUltQixRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBK0R4RSxDQUFDO2FBakV3QixhQUFRLEdBQUcsSUFBSSxhQUFhLEVBQUUsQUFBdEIsQ0FBdUI7SUFJdEQ7Ozs7Z0ZBSTRFO0lBRXJFLFVBQVUsQ0FBQyxnQkFBc0M7UUFDdEQsTUFBTSxHQUFHLEdBQThCLEVBQUUsQ0FBQztRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNsQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsbUJBQW1CLENBQUMsWUFBOEI7UUFFeEQsSUFBSSxhQUFhLENBQUMsZ0NBQWdDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxPQUFPLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNqQix1QkFBdUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDN0MsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFOUMsQ0FBQztJQUdPLGlCQUFpQixDQUFDLFlBQThCO1FBQ3RELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksWUFBWSxDQUFDLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxFQUFFLENBQUM7b0JBQ1IsU0FBUyxDQUFDLE1BQU0sQ0FDZCxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO3dCQUNmLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSTtxQkFDeEIsQ0FBQyxDQUNIO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxZQUFZLENBQUMsQ0FBQztnQkFDbEUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB6aXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4vZmlsZS1lbnRyeSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0ZpbGVMaXN0aW5nV2Via2l0fSBmcm9tICcuL2ZpbGUtbGlzdGluZy13ZWJraXQnO1xuaW1wb3J0IHtGaWxlTGlzdGluZ1N5c3RlbUhhbmRsZX0gZnJvbSAnLi9maWxlLWxpc3Rpbmctc3lzdGVtLWhhbmRsZSc7XG5pbXBvcnQge0ZpbGVTeXN0ZW1BcGl9IGZyb20gJy4uL2ZpbGUtc3lzdGVtLWFwaSc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlTGlzdGluZ1J4IHtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOU1RBTkNFID0gbmV3IEZpbGVMaXN0aW5nUngoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRvRmlsZUxpc3QodHJhbnNmZXJJdGVtTGlzdDogRGF0YVRyYW5zZmVySXRlbUxpc3QpOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgY29uc3Qgb2JzOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPltdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0cmFuc2Zlckl0ZW1MaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0cmFuc2Zlckl0ZW0gPSB0cmFuc2Zlckl0ZW1MaXN0W2ldO1xuICAgICAgb2JzLnB1c2godGhpcy5yZXNvbHZlVHJhbnNmZXJJdGVtKHRyYW5zZmVySXRlbSkpO1xuICAgIH1cbiAgICByZXR1cm4gemlwKG9icykucGlwZShcbiAgICAgIG1hcChmaWxlcyA9PiBmaWxlcy5mbGF0KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVzb2x2ZVRyYW5zZmVySXRlbSh0cmFuc2Zlckl0ZW06IERhdGFUcmFuc2Zlckl0ZW0pOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG5cbiAgICBpZiAoRmlsZVN5c3RlbUFwaS5pc0dldEFzRmlsZVN5c3RlbUhhbmRsZVN1cHBvcnRlZCh0cmFuc2Zlckl0ZW0pKSB7XG4gICAgICByZXR1cm4gRmlsZVN5c3RlbUFwaS5nZXRBc0ZpbGVTeXN0ZW1IYW5kbGUodHJhbnNmZXJJdGVtKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoaGFuZGxlID0+XG4gICAgICAgICAgRmlsZUxpc3RpbmdTeXN0ZW1IYW5kbGUubGlzdEZpbGVzKGhhbmRsZSkpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGVudHJ5ID0gdHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKTtcbiAgICBpZiAoZW50cnkpIHtcbiAgICAgIHJldHVybiBGaWxlTGlzdGluZ1dlYmtpdC5saXN0RmlsZXNSZWN1cnNpdmUoZW50cnkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxlZ2FjeUZpbGVMaXN0aW5nKHRyYW5zZmVySXRlbSk7XG5cbiAgfVxuXG5cbiAgcHJpdmF0ZSBsZWdhY3lGaWxlTGlzdGluZyh0cmFuc2Zlckl0ZW06IERhdGFUcmFuc2Zlckl0ZW0pOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgY29uc3QgaXRlbUFzRmlsZSA9IHRyYW5zZmVySXRlbS5nZXRBc0ZpbGUoKTtcbiAgICBpZiAoaXRlbUFzRmlsZSkge1xuICAgICAgcmV0dXJuIG9mKFtGaWxlRW50cnkub2ZGaWxlKGl0ZW1Bc0ZpbGUpXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0cmFuc2Zlckl0ZW0ua2luZCA9PSAnZmlsZScpIHtcbiAgICAgICAgcmV0dXJuIG9mKFtcbiAgICAgICAgICBGaWxlRW50cnkub2ZGaWxlKFxuICAgICAgICAgICAgbmV3IEZpbGUoW10sICcnLCB7XG4gICAgICAgICAgICAgIHR5cGU6IHRyYW5zZmVySXRlbS50eXBlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZy53YXJuKCdDb3VsZCBub3QgaGFuZGxlIERhdGFUcmFuc2Zlckl0ZW0hJywgdHJhbnNmZXJJdGVtKTtcbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saXN0aW5nLXJ4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9saXN0aW5nL2ZpbGUtbGlzdGluZy1yeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUltQixRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBK0R4RSxDQUFDO2FBakV3QixhQUFRLEdBQUcsSUFBSSxhQUFhLEVBQUUsQUFBdEIsQ0FBdUI7SUFJdEQ7Ozs7Z0ZBSTRFO0lBRXJFLFVBQVUsQ0FBQyxnQkFBc0M7UUFDdEQsTUFBTSxHQUFHLEdBQThCLEVBQUUsQ0FBQztRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNsQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsbUJBQW1CLENBQUMsWUFBOEI7UUFFeEQsSUFBSSxhQUFhLENBQUMsZ0NBQWdDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxPQUFPLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDL0csQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBR08saUJBQWlCLENBQUMsWUFBOEI7UUFDdEQsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8saUJBQWlCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUE4QjtRQUN4RCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLFlBQVksQ0FBQyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDO29CQUNSLFNBQVMsQ0FBQyxNQUFNLENBQ2QsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTt3QkFDZixJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7cUJBQ3hCLENBQUMsQ0FDSDtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ2xFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgemlwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsZUVudHJ5fSBmcm9tICcuL2ZpbGUtZW50cnknO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtGaWxlTGlzdGluZ1dlYmtpdH0gZnJvbSAnLi9maWxlLWxpc3Rpbmctd2Via2l0JztcbmltcG9ydCB7RmlsZUxpc3RpbmdTeXN0ZW1IYW5kbGV9IGZyb20gJy4vZmlsZS1saXN0aW5nLXN5c3RlbS1oYW5kbGUnO1xuaW1wb3J0IHtGaWxlU3lzdGVtQXBpfSBmcm9tICcuLi9maWxlLXN5c3RlbS1hcGknO1xuXG5leHBvcnQgY2xhc3MgRmlsZUxpc3RpbmdSeCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTlNUQU5DRSA9IG5ldyBGaWxlTGlzdGluZ1J4KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0b0ZpbGVMaXN0KHRyYW5zZmVySXRlbUxpc3Q6IERhdGFUcmFuc2Zlckl0ZW1MaXN0KTogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT4ge1xuICAgIGNvbnN0IG9iczogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT5bXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHJhbnNmZXJJdGVtTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdHJhbnNmZXJJdGVtID0gdHJhbnNmZXJJdGVtTGlzdFtpXTtcbiAgICAgIG9icy5wdXNoKHRoaXMucmVzb2x2ZVRyYW5zZmVySXRlbSh0cmFuc2Zlckl0ZW0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHppcChvYnMpLnBpcGUoXG4gICAgICBtYXAoZmlsZXMgPT4gZmlsZXMuZmxhdCgpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc29sdmVUcmFuc2Zlckl0ZW0odHJhbnNmZXJJdGVtOiBEYXRhVHJhbnNmZXJJdGVtKTogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT4ge1xuXG4gICAgaWYgKEZpbGVTeXN0ZW1BcGkuaXNHZXRBc0ZpbGVTeXN0ZW1IYW5kbGVTdXBwb3J0ZWQodHJhbnNmZXJJdGVtKSkge1xuICAgICAgcmV0dXJuIEZpbGVTeXN0ZW1BcGkuZ2V0QXNGaWxlU3lzdGVtSGFuZGxlKHRyYW5zZmVySXRlbSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGhhbmRsZSA9PiBoYW5kbGUgPyBGaWxlTGlzdGluZ1N5c3RlbUhhbmRsZS5saXN0RmlsZXMoaGFuZGxlKSA6IHRoaXMubGVnYWN5RmlsZUxpc3RpbmcodHJhbnNmZXJJdGVtKSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxlZ2FjeUZpbGVMaXN0aW5nKHRyYW5zZmVySXRlbSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGVnYWN5RmlsZUxpc3RpbmcodHJhbnNmZXJJdGVtOiBEYXRhVHJhbnNmZXJJdGVtKTogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT4ge1xuICAgIGNvbnN0IGVudHJ5ID0gdHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKTtcbiAgICBpZiAoZW50cnkpIHtcbiAgICAgIHJldHVybiBGaWxlTGlzdGluZ1dlYmtpdC5saXN0RmlsZXNSZWN1cnNpdmUoZW50cnkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mYWxsYmFja0ZpbGVMaXN0aW5nKHRyYW5zZmVySXRlbSk7XG4gIH1cblxuICBwcml2YXRlIGZhbGxiYWNrRmlsZUxpc3RpbmcodHJhbnNmZXJJdGVtOiBEYXRhVHJhbnNmZXJJdGVtKTogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT4ge1xuICAgIGNvbnN0IGl0ZW1Bc0ZpbGUgPSB0cmFuc2Zlckl0ZW0uZ2V0QXNGaWxlKCk7XG4gICAgaWYgKGl0ZW1Bc0ZpbGUpIHtcbiAgICAgIHJldHVybiBvZihbRmlsZUVudHJ5Lm9mRmlsZShpdGVtQXNGaWxlKV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHJhbnNmZXJJdGVtLmtpbmQgPT0gJ2ZpbGUnKSB7XG4gICAgICAgIHJldHVybiBvZihbXG4gICAgICAgICAgRmlsZUVudHJ5Lm9mRmlsZShcbiAgICAgICAgICAgIG5ldyBGaWxlKFtdLCAnJywge1xuICAgICAgICAgICAgICB0eXBlOiB0cmFuc2Zlckl0ZW0udHlwZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2cud2FybignQ291bGQgbm90IGhhbmRsZSBEYXRhVHJhbnNmZXJJdGVtIScsIHRyYW5zZmVySXRlbSk7XG4gICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -9734,6 +9734,10 @@ class FileSystemApi {
9734
9734
  // @ts-ignore
9735
9735
  return transferItem.getAsFileSystemHandle !== undefined;
9736
9736
  }
9737
+ /**
9738
+ * Returns an FileSystemHandle Observable of the given DataTransferItem. The FileSystemHandle can only be accessed in the `dragstart`
9739
+ * or `drop` event. Otherwise, it will return null!
9740
+ */
9737
9741
  static getAsFileSystemHandle(transferItem) {
9738
9742
  // @ts-ignore
9739
9743
  return from(transferItem.getAsFileSystemHandle());
@@ -9786,7 +9790,11 @@ class FileSystemApi {
9786
9790
  }
9787
9791
  const relativeParents$ = from(rootDirectory.resolve(fileOrDirHandle));
9788
9792
  return relativeParents$.pipe(map(parents => {
9793
+ // path/to/folder/file.jpg
9789
9794
  const path = parents;
9795
+ // root/path/to/folder/file.jpg
9796
+ path.unshift(rootDirectory.name);
9797
+ // root/path/to/folder
9790
9798
  path.pop();
9791
9799
  return path.join('/');
9792
9800
  }));
@@ -10066,13 +10074,7 @@ class ElderFileSelectDirective {
10066
10074
  this.logger.warn('showOpenFilePicker or showDirectoryPicker is not supported for this browser, falling back to legacy file picker');
10067
10075
  this._legacyInput.createFileSelect();
10068
10076
  this._legacyInput.filesSelected.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
10069
- next: multiFileChange => {
10070
- this.elderFileSelectChange.next(multiFileChange);
10071
- const file = multiFileChange[0]?.file;
10072
- if (file) {
10073
- this.elderSingleFileSelectChange.next(file);
10074
- }
10075
- }
10077
+ next: multiFileChange => this.pushFileChanges(multiFileChange)
10076
10078
  });
10077
10079
  }
10078
10080
  }
@@ -10146,12 +10148,12 @@ class ElderFileSelectDirective {
10146
10148
  onClick(event) {
10147
10149
  if (!this._useDirectoryPicker && FileSystemApi.isFileSystemSupported()) {
10148
10150
  this.openFilePicker(this._filePickerOptions).subscribe({
10149
- next: fileList => this.elderFileSelectChange.next(fileList)
10151
+ next: multiFileChange => this.pushFileChanges(multiFileChange)
10150
10152
  });
10151
10153
  }
10152
10154
  else if (this._useDirectoryPicker && FileSystemApi.isDirectoryPickerSupported()) {
10153
10155
  this.openDirectoryPicker(this._directoryPickerOptions).subscribe({
10154
- next: fileList => this.elderFileSelectChange.next(fileList)
10156
+ next: multiFileChange => this.pushFileChanges(multiFileChange)
10155
10157
  });
10156
10158
  }
10157
10159
  else {
@@ -10163,6 +10165,13 @@ class ElderFileSelectDirective {
10163
10165
  * Private methods *
10164
10166
  * *
10165
10167
  **************************************************************************/
10168
+ pushFileChanges(multiFileChange) {
10169
+ this.elderFileSelectChange.next(multiFileChange);
10170
+ const file = multiFileChange[0]?.file;
10171
+ if (file) {
10172
+ this.elderSingleFileSelectChange.next(file);
10173
+ }
10174
+ }
10166
10175
  openFilePicker(pickerOpts) {
10167
10176
  return FileSystemApi.openFilePicker(pickerOpts).pipe(switchMap(files => combineLatest(files.map(file => FileEntry.ofFileHandle(file)))));
10168
10177
  }
@@ -10397,15 +10406,18 @@ class FileListingRx {
10397
10406
  **************************************************************************/
10398
10407
  resolveTransferItem(transferItem) {
10399
10408
  if (FileSystemApi.isGetAsFileSystemHandleSupported(transferItem)) {
10400
- return FileSystemApi.getAsFileSystemHandle(transferItem).pipe(switchMap(handle => FileListingSystemHandle.listFiles(handle)));
10409
+ return FileSystemApi.getAsFileSystemHandle(transferItem).pipe(switchMap(handle => handle ? FileListingSystemHandle.listFiles(handle) : this.legacyFileListing(transferItem)));
10401
10410
  }
10411
+ return this.legacyFileListing(transferItem);
10412
+ }
10413
+ legacyFileListing(transferItem) {
10402
10414
  const entry = transferItem.webkitGetAsEntry();
10403
10415
  if (entry) {
10404
10416
  return FileListingWebkit.listFilesRecursive(entry);
10405
10417
  }
10406
- return this.legacyFileListing(transferItem);
10418
+ return this.fallbackFileListing(transferItem);
10407
10419
  }
10408
- legacyFileListing(transferItem) {
10420
+ fallbackFileListing(transferItem) {
10409
10421
  const itemAsFile = transferItem.getAsFile();
10410
10422
  if (itemAsFile) {
10411
10423
  return of([FileEntry.ofFile(itemAsFile)]);