@firestitch/file
Advanced tools
Comparing version 12.17.4 to 12.18.0
@@ -8,5 +8,6 @@ import { Observable } from 'rxjs'; | ||
private _validate; | ||
private _transformHeic; | ||
private _transform; | ||
private _applyTransforms; | ||
private _transformImage; | ||
private _generateTransformConfig; | ||
} |
@@ -1,2 +0,2 @@ | ||
import { FsFileProcessConfig } from "../interfaces"; | ||
import { FsFileProcessConfig } from '../interfaces'; | ||
export declare class FileProcessConfig { | ||
@@ -10,2 +10,3 @@ private _maxWidth; | ||
private _orientate; | ||
private _heic; | ||
constructor(config?: FsFileProcessConfig); | ||
@@ -12,0 +13,0 @@ set maxWidth(value: number); |
@@ -17,2 +17,4 @@ import { FsApiFile } from '@firestitch/api'; | ||
constructor(obj?: File | Blob | string | FsApiFile, filename?: string); | ||
private _init; | ||
private _getExtensionMime; | ||
get imageWidth(): Promise<number>; | ||
@@ -27,4 +29,4 @@ get imageHeight(): Promise<number>; | ||
get file(): File; | ||
set file(value: File); | ||
get name(): string; | ||
set file(value: File); | ||
set name(name: string); | ||
@@ -31,0 +33,0 @@ get imageInfo(): Promise<{ |
@@ -27,2 +27,3 @@ import { ElementRef, EventEmitter } from '@angular/core'; | ||
* Initialize service for target element | ||
* | ||
* @param el | ||
@@ -38,2 +39,3 @@ */ | ||
* Check if file mimetype or extention is acceptable by @accept field | ||
* | ||
* @param targetType | ||
@@ -43,10 +45,11 @@ * @param targetExt | ||
*/ | ||
private checkAcceptableTypes; | ||
private _checkAcceptableTypes; | ||
/** | ||
* Parset and store acceptable types for feature filter | ||
* | ||
* @param types | ||
*/ | ||
private parseAcceptTypes; | ||
private _parseAcceptTypes; | ||
static ɵfac: i0.ɵɵFactoryDeclaration<InputProcessorService, [{ optional: true; }]>; | ||
static ɵprov: i0.ɵɵInjectableDeclaration<InputProcessorService>; | ||
} |
import { forkJoin, from, Observable, of, throwError } from 'rxjs'; | ||
import { catchError, switchMap } from 'rxjs/operators'; | ||
import { catchError, map, switchMap } from 'rxjs/operators'; | ||
import * as FileAPI from 'fileapi'; | ||
import heic2any from 'heic2any'; | ||
import { toInteger } from 'lodash-es'; | ||
import { FileProcessConfig } from '../models'; | ||
import { FileProcessConfig, FsFile } from '../models'; | ||
export class FileProcessor { | ||
processFile(fsFile, config) { | ||
const processConfig = config instanceof FileProcessConfig ? config : new FileProcessConfig(config); | ||
return (fsFile.imageProcess ? | ||
this._applyTransforms(fsFile, processConfig) : | ||
of(fsFile)) | ||
.pipe(switchMap((fsFile) => this._validate(fsFile, processConfig))); | ||
return this._transform(fsFile, processConfig) | ||
.pipe(switchMap((item) => this._validate(item, processConfig))); | ||
} | ||
@@ -21,3 +20,3 @@ processFiles(fsFiles, config) { | ||
})))) | ||
.pipe(switchMap((fsFiles) => { | ||
.pipe(switchMap((result) => { | ||
if (errors.length) { | ||
@@ -28,3 +27,3 @@ const error = errors | ||
...accum, | ||
item.error | ||
item.error, | ||
]; | ||
@@ -37,3 +36,3 @@ }, []) | ||
...accum, | ||
item.code | ||
item.code, | ||
]; | ||
@@ -44,3 +43,3 @@ }, []) | ||
} | ||
return of(fsFiles); | ||
return of(result); | ||
})); | ||
@@ -63,3 +62,22 @@ } | ||
} | ||
_transformHeic(fsFile) { | ||
if (fsFile.extension === 'heic' && fsFile.file instanceof Blob) { | ||
return from(heic2any({ blob: fsFile.file })) | ||
.pipe(map((blob) => { | ||
var _a; | ||
const ext = ((_a = blob.type) === null || _a === void 0 ? void 0 : _a.split('/')) || []; | ||
const name = fsFile.name.replace(/heic$/i, ext[1] || 'jpg'); | ||
return new FsFile(blob, name); | ||
})); | ||
} | ||
return of(fsFile); | ||
} | ||
_transform(fsFile, processConfig) { | ||
return this._transformHeic(fsFile) | ||
.pipe(switchMap((response) => this._transformImage(response, processConfig))); | ||
} | ||
_transformImage(fsFile, processConfig) { | ||
if (fsFile.imageProcess) { | ||
return of(fsFile); | ||
} | ||
if (!processConfig.orientate && | ||
@@ -83,3 +101,3 @@ !processConfig.maxWidth && | ||
const canvas = images[0]; | ||
const type = (processConfig.format) ? 'image/' + processConfig.format : fsFile.type; | ||
const type = (processConfig.format) ? `image/${processConfig.format}` : fsFile.type; | ||
canvas.toBlob((blob) => { | ||
@@ -98,5 +116,2 @@ fsFile.file = new File([blob], fsFile.file.name, { type: fsFile.type }); | ||
} | ||
_applyTransforms(fsFile, processConfig) { | ||
return this._transform(fsFile, processConfig); | ||
} | ||
_generateTransformConfig(file, config) { | ||
@@ -108,6 +123,6 @@ return { | ||
// Quality for result image | ||
quality: config.quality || 1 | ||
quality: config.quality || 1, | ||
}; | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NsYXNzZXMvZmlsZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBVSxNQUFNLFdBQVcsQ0FBQztBQUd0RCxNQUFNLE9BQU8sYUFBYTtJQUVqQixXQUFXLENBQUMsTUFBYyxFQUFFLE1BQStDO1FBQ2hGLE1BQU0sYUFBYSxHQUFHLE1BQU0sWUFBWSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5HLE9BQU8sQ0FDTCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzlDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FDYjthQUNFLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQzdELENBQUM7SUFDTixDQUFDO0lBRU0sWUFBWSxDQUFDLE9BQWlCLEVBQUUsTUFBK0M7UUFDcEYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sUUFBUSxDQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQzthQUNyRCxJQUFJLENBQ0gsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQ0Y7YUFDRSxJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNqQixNQUFNLEtBQUssR0FBRyxNQUFNO3FCQUNqQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7b0JBQ3RCLE9BQU87d0JBQ0wsR0FBRyxLQUFLO3dCQUNSLElBQUksQ0FBQyxLQUFLO3FCQUNYLENBQUM7Z0JBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQztxQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWQsTUFBTSxJQUFJLEdBQUcsTUFBTTtxQkFDaEIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO29CQUN0QixPQUFPO3dCQUNMLEdBQUcsS0FBSzt3QkFDUixJQUFJLENBQUMsSUFBSTtxQkFDVixDQUFDO2dCQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7cUJBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVkLE9BQU8sVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNwRDtZQUVELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQWMsRUFBRSxhQUFnQztRQUNoRSxJQUFJLGFBQWEsQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUMxQixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUNwRCxPQUFPLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsYUFBYSxDQUFDLFNBQVMsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO2lCQUMxRztnQkFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbEQsT0FBTyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLGFBQWEsQ0FBQyxRQUFRLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztpQkFDdkc7Z0JBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNMO1FBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxNQUFjLEVBQUUsYUFBZ0M7UUFDakUsSUFDRSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQ3hCLENBQUMsYUFBYSxDQUFDLFFBQVE7WUFDdkIsQ0FBQyxhQUFhLENBQUMsU0FBUztZQUN4QixhQUFhLENBQUMsT0FBTyxLQUFLLENBQUMsRUFDM0I7WUFDQSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuQjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDekIsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxXQUFXLENBQUEsRUFBRTtnQkFDMUIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkI7WUFFRCxPQUFPLElBQUksVUFBVSxDQUFTLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBRTdFLGtEQUFrRDtnQkFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ3JCLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsQ0FBQyxlQUFlLENBQUMsRUFDakIsYUFBYSxDQUFDLFNBQVMsRUFDdkIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQ2QsNEJBQTRCO29CQUM1QixJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDckIsTUFBTSxNQUFNLEdBQXNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDNUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUVwRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7NEJBQ3JCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzs0QkFDeEUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUN0QixDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDakM7eUJBQU07d0JBQ0wsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDckI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBYyxFQUFFLGFBQWdDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLHdCQUF3QixDQUFDLElBQUksRUFBRSxNQUF5QjtRQUM5RCxPQUFPO1lBQ0wsU0FBUztZQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFFM0IsMkJBQTJCO1lBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUM7U0FDN0IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcmtKb2luLCBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgKiBhcyBGaWxlQVBJIGZyb20gJ2ZpbGVhcGknO1xuaW1wb3J0IHsgdG9JbnRlZ2VyIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgRnNGaWxlUHJvY2Vzc0NvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRmlsZVByb2Nlc3NDb25maWcsIEZzRmlsZSB9IGZyb20gJy4uL21vZGVscyc7XG5cblxuZXhwb3J0IGNsYXNzIEZpbGVQcm9jZXNzb3Ige1xuXG4gIHB1YmxpYyBwcm9jZXNzRmlsZShmc0ZpbGU6IEZzRmlsZSwgY29uZmlnOiBGaWxlUHJvY2Vzc0NvbmZpZyB8IEZzRmlsZVByb2Nlc3NDb25maWcpOiBPYnNlcnZhYmxlPEZzRmlsZT4ge1xuICAgIGNvbnN0IHByb2Nlc3NDb25maWcgPSBjb25maWcgaW5zdGFuY2VvZiBGaWxlUHJvY2Vzc0NvbmZpZyA/IGNvbmZpZyA6IG5ldyBGaWxlUHJvY2Vzc0NvbmZpZyhjb25maWcpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGZzRmlsZS5pbWFnZVByb2Nlc3MgP1xuICAgICAgICB0aGlzLl9hcHBseVRyYW5zZm9ybXMoZnNGaWxlLCBwcm9jZXNzQ29uZmlnKSA6XG4gICAgICAgIG9mKGZzRmlsZSlcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChmc0ZpbGUpID0+IHRoaXMuX3ZhbGlkYXRlKGZzRmlsZSwgcHJvY2Vzc0NvbmZpZykpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NGaWxlcyhmc0ZpbGVzOiBGc0ZpbGVbXSwgY29uZmlnOiBGaWxlUHJvY2Vzc0NvbmZpZyB8IEZzRmlsZVByb2Nlc3NDb25maWcpOiBPYnNlcnZhYmxlPEZzRmlsZVtdPiB7XG4gICAgY29uc3QgZXJyb3JzID0gW107XG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgZnNGaWxlcy5tYXAoKGZzRmlsZSkgPT4gdGhpcy5wcm9jZXNzRmlsZShmc0ZpbGUsIGNvbmZpZylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGZzRmlsZXMpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBlcnJvcnNcbiAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICAgICAgICBpdGVtLmVycm9yXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgfSwgW10pXG4gICAgICAgICAgICAgIC5qb2luKCcsICcpO1xuXG4gICAgICAgICAgICBjb25zdCBjb2RlID0gZXJyb3JzXG4gICAgICAgICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgICAgICAgaXRlbS5jb2RlXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgfSwgW10pXG4gICAgICAgICAgICAgIC5qb2luKCcsICcpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih7IGVycm9yLCBjb2RlLCBtZXNzYWdlOiBlcnJvciB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2YoZnNGaWxlcyk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsaWRhdGUoZnNGaWxlOiBGc0ZpbGUsIHByb2Nlc3NDb25maWc6IEZpbGVQcm9jZXNzQ29uZmlnKTogT2JzZXJ2YWJsZTxGc0ZpbGU+IHtcbiAgICBpZiAocHJvY2Vzc0NvbmZpZy5taW5IZWlnaHQgfHwgcHJvY2Vzc0NvbmZpZy5taW5XaWR0aCkge1xuICAgICAgcmV0dXJuIGZyb20oZnNGaWxlLmltYWdlSW5mbylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGF0YS5oZWlnaHQgPCB0b0ludGVnZXIocHJvY2Vzc0NvbmZpZy5taW5IZWlnaHQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHsgZXJyb3I6IGBIZWlnaHQgbXVzdCBiZSBhdCBsZWFzdCAke3Byb2Nlc3NDb25maWcubWluSGVpZ2h0fXB4LmAsIGNvZGU6ICdtaW5IZWlnaHQnIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZGF0YS53aWR0aCA8IHRvSW50ZWdlcihwcm9jZXNzQ29uZmlnLm1pbldpZHRoKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih7IGVycm9yOiBgV2lkdGggbXVzdCBiZSBhdCBsZWFzdCAke3Byb2Nlc3NDb25maWcubWluV2lkdGh9cHguYCwgY29kZTogJ21pbldpZHRoJyB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9mKGZzRmlsZSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKGZzRmlsZSk7XG4gIH1cblxuICBwcml2YXRlIF90cmFuc2Zvcm0oZnNGaWxlOiBGc0ZpbGUsIHByb2Nlc3NDb25maWc6IEZpbGVQcm9jZXNzQ29uZmlnKTogT2JzZXJ2YWJsZTxGc0ZpbGU+IHtcbiAgICBpZiAoXG4gICAgICAhcHJvY2Vzc0NvbmZpZy5vcmllbnRhdGUgJiZcbiAgICAgICFwcm9jZXNzQ29uZmlnLm1heFdpZHRoICYmXG4gICAgICAhcHJvY2Vzc0NvbmZpZy5tYXhIZWlnaHQgJiZcbiAgICAgIHByb2Nlc3NDb25maWcucXVhbGl0eSA9PT0gMVxuICAgICkge1xuICAgICAgcmV0dXJuIG9mKGZzRmlsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyb20oZnNGaWxlLmV4aWZJbmZvKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoZXhpZkluZm86IGFueSkgPT4ge1xuICAgICAgICAgIGlmICghZXhpZkluZm8/Lk9yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZnNGaWxlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8RnNGaWxlPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybUNvbmZpZyA9IHRoaXMuX2dlbmVyYXRlVHJhbnNmb3JtQ29uZmlnKGZzRmlsZSwgcHJvY2Vzc0NvbmZpZyk7XG5cbiAgICAgICAgICAgIC8vIFRyYW5zZm9ybSBpbWFnZSBieSBvcHRpb25zIGFuZCByb3RhdGUgaWYgbmVlZGVkXG4gICAgICAgICAgICBGaWxlQVBJLkltYWdlLnRyYW5zZm9ybShcbiAgICAgICAgICAgICAgZnNGaWxlLmZpbGUsXG4gICAgICAgICAgICAgIFt0cmFuc2Zvcm1Db25maWddLFxuICAgICAgICAgICAgICBwcm9jZXNzQ29uZmlnLm9yaWVudGF0ZSxcbiAgICAgICAgICAgICAgKGVyciwgaW1hZ2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gUHJvY2VzcyB0cmFuc2Zvcm1lZCBmaWxlc1xuICAgICAgICAgICAgICAgIGlmICghZXJyICYmIGltYWdlc1swXSkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IGltYWdlc1swXTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSAocHJvY2Vzc0NvbmZpZy5mb3JtYXQpID8gJ2ltYWdlLycgKyBwcm9jZXNzQ29uZmlnLmZvcm1hdCA6IGZzRmlsZS50eXBlO1xuXG4gICAgICAgICAgICAgICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZzRmlsZS5maWxlID0gbmV3IEZpbGUoW2Jsb2JdLCBmc0ZpbGUuZmlsZS5uYW1lLCB7IHR5cGU6IGZzRmlsZS50eXBlIH0pO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZzRmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICB9LCB0eXBlLCBwcm9jZXNzQ29uZmlnLnF1YWxpdHkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlUcmFuc2Zvcm1zKGZzRmlsZTogRnNGaWxlLCBwcm9jZXNzQ29uZmlnOiBGaWxlUHJvY2Vzc0NvbmZpZyk6IE9ic2VydmFibGU8RnNGaWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zZm9ybShmc0ZpbGUsIHByb2Nlc3NDb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2VuZXJhdGVUcmFuc2Zvcm1Db25maWcoZmlsZSwgY29uZmlnOiBGaWxlUHJvY2Vzc0NvbmZpZykge1xuICAgIHJldHVybiB7XG4gICAgICAvLyBSZXNpemVcbiAgICAgIG1heFdpZHRoOiBjb25maWcubWF4V2lkdGgsXG4gICAgICBtYXhIZWlnaHQ6IGNvbmZpZy5tYXhIZWlnaHQsXG5cbiAgICAgIC8vIFF1YWxpdHkgZm9yIHJlc3VsdCBpbWFnZVxuICAgICAgcXVhbGl0eTogY29uZmlnLnF1YWxpdHkgfHwgMVxuICAgIH07XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NsYXNzZXMvZmlsZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RCxNQUFNLE9BQU8sYUFBYTtJQUVqQixXQUFXLENBQUMsTUFBYyxFQUFFLE1BQStDO1FBQ2hGLE1BQU0sYUFBYSxHQUFHLE1BQU0sWUFBWSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5HLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDO2FBQzFDLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDTixDQUFDO0lBRU0sWUFBWSxDQUFDLE9BQWlCLEVBQUUsTUFBK0M7UUFDcEYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLE9BQU8sUUFBUSxDQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQzthQUNyRCxJQUFJLENBQ0gsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVuQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQ0Y7YUFDRSxJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNqQixNQUFNLEtBQUssR0FBRyxNQUFNO3FCQUNqQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7b0JBQ3RCLE9BQU87d0JBQ0wsR0FBRyxLQUFLO3dCQUNSLElBQUksQ0FBQyxLQUFLO3FCQUNYLENBQUM7Z0JBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQztxQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWQsTUFBTSxJQUFJLEdBQUcsTUFBTTtxQkFDaEIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO29CQUN0QixPQUFPO3dCQUNMLEdBQUcsS0FBSzt3QkFDUixJQUFJLENBQUMsSUFBSTtxQkFDVixDQUFDO2dCQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7cUJBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVkLE9BQU8sVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNwRDtZQUVELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQWMsRUFBRSxhQUFnQztRQUNoRSxJQUFJLGFBQWEsQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUMxQixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUNwRCxPQUFPLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsYUFBYSxDQUFDLFNBQVMsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO2lCQUMxRztnQkFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbEQsT0FBTyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLGFBQWEsQ0FBQyxRQUFRLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztpQkFDdkc7Z0JBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNMO1FBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUdPLGNBQWMsQ0FBQyxNQUFjO1FBQ25DLElBQUcsTUFBTSxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksWUFBWSxJQUFJLEVBQUU7WUFDN0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUN6QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUU7O2dCQUNqQixNQUFNLEdBQUcsR0FBRyxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFJLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztnQkFFNUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNMO1FBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxNQUFjLEVBQUUsYUFBZ0M7UUFDakUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQzthQUMvQixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUN0RSxDQUFDO0lBQ04sQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFjLEVBQUUsYUFBZ0M7UUFDdEUsSUFBRyxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25CO1FBRUQsSUFDRSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQ3hCLENBQUMsYUFBYSxDQUFDLFFBQVE7WUFDdkIsQ0FBQyxhQUFhLENBQUMsU0FBUztZQUN4QixhQUFhLENBQUMsT0FBTyxLQUFLLENBQUMsRUFDM0I7WUFDQSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuQjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDekIsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxXQUFXLENBQUEsRUFBRTtnQkFDMUIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkI7WUFFRCxPQUFPLElBQUksVUFBVSxDQUFTLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBRTdFLGtEQUFrRDtnQkFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ3JCLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsQ0FBQyxlQUFlLENBQUMsRUFDakIsYUFBYSxDQUFDLFNBQVMsRUFDdkIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQ2QsNEJBQTRCO29CQUM1QixJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDckIsTUFBTSxNQUFNLEdBQXNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDNUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUV0RixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7NEJBQ3JCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzs0QkFDeEUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUN0QixDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDakM7eUJBQU07d0JBQ0wsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDckI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU8sd0JBQXdCLENBQUMsSUFBSSxFQUFFLE1BQXlCO1FBQzlELE9BQU87WUFDTCxTQUFTO1lBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUUzQiwyQkFBMkI7WUFDM0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQztTQUM3QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ya0pvaW4sIGZyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0ICogYXMgRmlsZUFQSSBmcm9tICdmaWxlYXBpJztcbmltcG9ydCBoZWljMmFueSBmcm9tICdoZWljMmFueSc7XG5pbXBvcnQgeyB0b0ludGVnZXIgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBGc0ZpbGVQcm9jZXNzQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGaWxlUHJvY2Vzc0NvbmZpZywgRnNGaWxlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuXG5leHBvcnQgY2xhc3MgRmlsZVByb2Nlc3NvciB7XG5cbiAgcHVibGljIHByb2Nlc3NGaWxlKGZzRmlsZTogRnNGaWxlLCBjb25maWc6IEZpbGVQcm9jZXNzQ29uZmlnIHwgRnNGaWxlUHJvY2Vzc0NvbmZpZyk6IE9ic2VydmFibGU8RnNGaWxlPiB7XG4gICAgY29uc3QgcHJvY2Vzc0NvbmZpZyA9IGNvbmZpZyBpbnN0YW5jZW9mIEZpbGVQcm9jZXNzQ29uZmlnID8gY29uZmlnIDogbmV3IEZpbGVQcm9jZXNzQ29uZmlnKGNvbmZpZyk7XG5cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtKGZzRmlsZSwgcHJvY2Vzc0NvbmZpZylcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGl0ZW0pID0+IHRoaXMuX3ZhbGlkYXRlKGl0ZW0sIHByb2Nlc3NDb25maWcpKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0ZpbGVzKGZzRmlsZXM6IEZzRmlsZVtdLCBjb25maWc6IEZpbGVQcm9jZXNzQ29uZmlnIHwgRnNGaWxlUHJvY2Vzc0NvbmZpZyk6IE9ic2VydmFibGU8RnNGaWxlW10+IHtcbiAgICBjb25zdCBlcnJvcnMgPSBbXTtcblxuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGZzRmlsZXMubWFwKChmc0ZpbGUpID0+IHRoaXMucHJvY2Vzc0ZpbGUoZnNGaWxlLCBjb25maWcpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaChlcnJvcik7XG5cbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yID0gZXJyb3JzXG4gICAgICAgICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgICAgICAgaXRlbS5lcnJvcixcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICB9LCBbXSlcbiAgICAgICAgICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvZGUgPSBlcnJvcnNcbiAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICAgICAgICBpdGVtLmNvZGUsXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgfSwgW10pXG4gICAgICAgICAgICAgIC5qb2luKCcsICcpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih7IGVycm9yLCBjb2RlLCBtZXNzYWdlOiBlcnJvciB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2YocmVzdWx0KTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsaWRhdGUoZnNGaWxlOiBGc0ZpbGUsIHByb2Nlc3NDb25maWc6IEZpbGVQcm9jZXNzQ29uZmlnKTogT2JzZXJ2YWJsZTxGc0ZpbGU+IHtcbiAgICBpZiAocHJvY2Vzc0NvbmZpZy5taW5IZWlnaHQgfHwgcHJvY2Vzc0NvbmZpZy5taW5XaWR0aCkge1xuICAgICAgcmV0dXJuIGZyb20oZnNGaWxlLmltYWdlSW5mbylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGF0YS5oZWlnaHQgPCB0b0ludGVnZXIocHJvY2Vzc0NvbmZpZy5taW5IZWlnaHQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHsgZXJyb3I6IGBIZWlnaHQgbXVzdCBiZSBhdCBsZWFzdCAke3Byb2Nlc3NDb25maWcubWluSGVpZ2h0fXB4LmAsIGNvZGU6ICdtaW5IZWlnaHQnIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZGF0YS53aWR0aCA8IHRvSW50ZWdlcihwcm9jZXNzQ29uZmlnLm1pbldpZHRoKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih7IGVycm9yOiBgV2lkdGggbXVzdCBiZSBhdCBsZWFzdCAke3Byb2Nlc3NDb25maWcubWluV2lkdGh9cHguYCwgY29kZTogJ21pbldpZHRoJyB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9mKGZzRmlsZSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKGZzRmlsZSk7XG4gIH1cblxuXG4gIHByaXZhdGUgX3RyYW5zZm9ybUhlaWMoZnNGaWxlOiBGc0ZpbGUpOiBPYnNlcnZhYmxlPEZzRmlsZT4ge1xuICAgIGlmKGZzRmlsZS5leHRlbnNpb24gPT09ICdoZWljJyAmJiBmc0ZpbGUuZmlsZSBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICAgIHJldHVybiBmcm9tKGhlaWMyYW55KHsgYmxvYjogZnNGaWxlLmZpbGUgfSkpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYmxvYjogQmxvYikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gYmxvYi50eXBlPy5zcGxpdCgnLycpIHx8IFtdO1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGZzRmlsZS5uYW1lLnJlcGxhY2UoL2hlaWMkL2ksIGV4dFsxXSB8fCAnanBnJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXcgRnNGaWxlKGJsb2IsIG5hbWUpO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBvZihmc0ZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtKGZzRmlsZTogRnNGaWxlLCBwcm9jZXNzQ29uZmlnOiBGaWxlUHJvY2Vzc0NvbmZpZyk6IE9ic2VydmFibGU8RnNGaWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zZm9ybUhlaWMoZnNGaWxlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2UpPT4gdGhpcy5fdHJhbnNmb3JtSW1hZ2UocmVzcG9uc2UsIHByb2Nlc3NDb25maWcpKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF90cmFuc2Zvcm1JbWFnZShmc0ZpbGU6IEZzRmlsZSwgcHJvY2Vzc0NvbmZpZzogRmlsZVByb2Nlc3NDb25maWcpOiBPYnNlcnZhYmxlPEZzRmlsZT4ge1xuICAgIGlmKGZzRmlsZS5pbWFnZVByb2Nlc3MpIHtcbiAgICAgIHJldHVybiBvZihmc0ZpbGUpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFwcm9jZXNzQ29uZmlnLm9yaWVudGF0ZSAmJlxuICAgICAgIXByb2Nlc3NDb25maWcubWF4V2lkdGggJiZcbiAgICAgICFwcm9jZXNzQ29uZmlnLm1heEhlaWdodCAmJlxuICAgICAgcHJvY2Vzc0NvbmZpZy5xdWFsaXR5ID09PSAxXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2YoZnNGaWxlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJvbShmc0ZpbGUuZXhpZkluZm8pXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChleGlmSW5mbzogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKCFleGlmSW5mbz8uT3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBvZihmc0ZpbGUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxGc0ZpbGU+KChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtQ29uZmlnID0gdGhpcy5fZ2VuZXJhdGVUcmFuc2Zvcm1Db25maWcoZnNGaWxlLCBwcm9jZXNzQ29uZmlnKTtcblxuICAgICAgICAgICAgLy8gVHJhbnNmb3JtIGltYWdlIGJ5IG9wdGlvbnMgYW5kIHJvdGF0ZSBpZiBuZWVkZWRcbiAgICAgICAgICAgIEZpbGVBUEkuSW1hZ2UudHJhbnNmb3JtKFxuICAgICAgICAgICAgICBmc0ZpbGUuZmlsZSxcbiAgICAgICAgICAgICAgW3RyYW5zZm9ybUNvbmZpZ10sXG4gICAgICAgICAgICAgIHByb2Nlc3NDb25maWcub3JpZW50YXRlLFxuICAgICAgICAgICAgICAoZXJyLCBpbWFnZXMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBQcm9jZXNzIHRyYW5zZm9ybWVkIGZpbGVzXG4gICAgICAgICAgICAgICAgaWYgKCFlcnIgJiYgaW1hZ2VzWzBdKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gaW1hZ2VzWzBdO1xuICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IChwcm9jZXNzQ29uZmlnLmZvcm1hdCkgPyBgaW1hZ2UvJHsgIHByb2Nlc3NDb25maWcuZm9ybWF0fWAgOiBmc0ZpbGUudHlwZTtcblxuICAgICAgICAgICAgICAgICAgY2FudmFzLnRvQmxvYigoYmxvYikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmc0ZpbGUuZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgZnNGaWxlLmZpbGUubmFtZSwgeyB0eXBlOiBmc0ZpbGUudHlwZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmc0ZpbGUpO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgfSwgdHlwZSwgcHJvY2Vzc0NvbmZpZy5xdWFsaXR5KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZW5lcmF0ZVRyYW5zZm9ybUNvbmZpZyhmaWxlLCBjb25maWc6IEZpbGVQcm9jZXNzQ29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIFJlc2l6ZVxuICAgICAgbWF4V2lkdGg6IGNvbmZpZy5tYXhXaWR0aCxcbiAgICAgIG1heEhlaWdodDogY29uZmlnLm1heEhlaWdodCxcblxuICAgICAgLy8gUXVhbGl0eSBmb3IgcmVzdWx0IGltYWdlXG4gICAgICBxdWFsaXR5OiBjb25maWcucXVhbGl0eSB8fCAxLFxuICAgIH07XG4gIH1cbn1cbiJdfQ== |
@@ -245,2 +245,2 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, EventEmitter, Inject, Input, Optional, Output, QueryList, TemplateRef, ViewChild, forwardRef, } from '@angular/core'; | ||
}] } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZzLWZpbGUtcGlja2VyL2ZzLWZpbGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mcy1maWxlLXBpY2tlci9mcy1maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxFQUFFLGlCQUFpQixHQUNqQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7QUFxQmpGLE1BQU0sT0FBTyxxQkFDWCxTQUFRLHVCQUF1QjtJQThGL0IsWUFDcUQsYUFBYSxFQUN4RCxNQUF5QjtRQUVqQyxLQUFLLEVBQUUs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c0JBQXZCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFFbUIsR0FBRztzQkFBM0IsS0FBSzt1QkFBQyxLQUFLO2dCQUljLElBQUk7c0JBQTdCLEtBQUs7dUJBQUMsTUFBTTtnQkFtQk4sTUFBTTtzQkFEWixLQUFLO2dCQUtLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBVUssWUFBWTtzQkFEdEIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVNXLE1BQU07c0JBQXRCLE1BQU07Z0JBQ1UsTUFBTTtzQkFBdEIsTUFBTTtnQkFDVSxRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLCBBc3luY1ZhbGlkYXRvciwgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZzQXBpRmlsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2FwaSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNGaWxlUGlja2VyU2VsZWN0RGlyZWN0aXZlLCBGc0ZpbGVQcmV2aWV3QWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGc0ZpbGVMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZnMtZmlsZS1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRlNfRklMRV9NT0RVTEVfQ09ORklHIH0gZnJvbSAnLi4vLi4vaW5qZWN0b3JzL2ZpbGUtY29uZmlnLmluamVjdG9yJztcbmltcG9ydCB7IEZzRmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9mcy1maWxlJztcbmltcG9ydCB7IEZzRmlsZURyYWdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZnMtZmlsZS1kcmFnLWJhc2UvZnMtZmlsZS1kcmFnLWJhc2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZzLWZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnMtZmlsZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNGaWxlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBGc0ZpbGVQaWNrZXJDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbGVQaWNrZXJDb21wb25lbnRcbiAgZXh0ZW5kcyBGc0ZpbGVEcmFnQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFzeW5jVmFsaWRhdG9yLCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpXG4gIHB1YmxpYyBmaWxlSW5wdXQ6IGFueTtcblxuICBAQ29udGVudENoaWxkcmVuKEZzRmlsZUxhYmVsRGlyZWN0aXZlKVxuICBwdWJsaWMgbGFiZWxzOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgQENvbnRlbnRDaGlsZChGc0ZpbGVQaWNrZXJTZWxlY3REaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgcHVibGljIGZpbGVQaWNrZXJTZWxlY3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkcmVuKEZzRmlsZVByZXZpZXdBY3Rpb25EaXJlY3RpdmUpXG4gIHB1YmxpYyBwcmV2aWV3QWN0aW9uczogUXVlcnlMaXN0PEZzRmlsZVByZXZpZXdBY3Rpb25EaXJlY3RpdmU+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5XaWR0aCA9IDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5IZWlnaHQgPSAwO1xuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VXaWR0aDtcbiAgQElucHV0KCkgcHVibGljIGltYWdlSGVpZ2h0O1xuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VRdWFsaXR5O1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93RmlsZW5hbWUgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dEb3dubG9hZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dSZXVwbG9hZCA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dSZW1vdmUgPSBmYWxzZTtcblxuICBASW5wdXQoJ3VybCcpIHB1YmxpYyBzZXQgdXJsKHVybCkge1xuICAgIHRoaXMuZmlsZSA9IHVybCA/IG5ldyBGc0ZpbGUodXJsKSA6IG51bGw7XG4gIH1cblxuICBASW5wdXQoJ2ZpbGUnKSBwdWJsaWMgc2V0IGZpbGUoZmlsZTogRnNGaWxlIHwgRnNBcGlGaWxlIHwgc3RyaW5nKSB7XG4gICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBGc0FwaUZpbGUpIHtcbiAgICAgIHRoaXMuX2ZpbGUgPSBuZXcgRnNGaWxlKGZpbGUpO1xuICAgIH0gZWxzZSBpZiAoZmlsZSBpbnN0YW5jZW9mIEZzRmlsZSkge1xuICAgICAgdGhpcy5fZmlsZSA9IGZpbGU7XG4gICAgfSBlbHNlIGlmIChmaWxlKSB7XG4gICAgICB0aGlzLl9maWxlID0gbmV3IEZzRmlsZShmaWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZmlsZSA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5wcmV2aWV3RmlsZSA9IHRoaXMuX2ZpbGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbGUoKTogRnNGaWxlIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY2NlcHQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZSkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcHJldmlld1dpZHRoKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLl9wcmV2aWV3V2lkdGggPSBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSA/IGAke3ZhbHVlfXB4YCA6IHZhbHVlPy50b1N0cmluZygpIHx8ICcnO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmV2aWV3V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpZXdXaWR0aDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcHJldmlld0hlaWdodCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgdGhpcy5fcHJldmlld0hlaWdodCA9IE51bWJlci5pc0ludGVnZXIodmFsdWUpID8gYCR7dmFsdWV9cHhgIDogdmFsdWU/LnRvU3RyaW5nKCkgfHwgJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByZXZpZXdIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpZXdIZWlnaHQ7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBkb3dubG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8RnNGaWxlPigpO1xuXG5cbiAgcHVibGljIGluc3RydWN0aW9uID0gJ0RyYWcgJiBEcm9wIHlvdXIgZmlsZSBvciB1c2UgdGhlIGJ1dHRvbiBiZWxvdyc7XG4gIHB1YmxpYyBwcmV2aWV3RmlsZTogRnNGaWxlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX3ByZXZpZXdXaWR0aCA9ICcxNTBweCc7XG4gIHByaXZhdGUgX2ZpbGU6IEZzRmlsZTtcbiAgcHJpdmF0ZSBfcHJldmlld0hlaWdodCA9ICcxNTBweCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19GSUxFX01PRFVMRV9DT05GSUcpIHByaXZhdGUgX21vZHVsZUNvbmZpZyxcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2U6IGFueSA9ICgpID0+IHtcbiAgICAvL1xuICB9O1xuXG4gIHB1YmxpYyBvblRvdWNoOiBhbnkgPSAoKSA9PiB7XG4gICAgLy9cbiAgfTtcblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbik6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLl9tb2R1bGVDb25maWcpIHtcbiAgICAgIGlmICh0aGlzLmFsbG93RG93bmxvYWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmFsbG93RG93bmxvYWQgPSB0aGlzLl9tb2R1bGVDb25maWcuYWxsb3dEb3dubG9hZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuYWxsb3dSZW1vdmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmFsbG93UmVtb3ZlID0gdGhpcy5fbW9kdWxlQ29uZmlnLmFsbG93UmVtb3ZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IG51bGwge1xuICAgIGlmICh0aGlzLmZpbGU/LnR5cGVJbWFnZSAmJiAodGhpcy5taW5XaWR0aCB8fCB0aGlzLm1pbkhlaWdodCkpIHtcbiAgICAgIC8vIGlmKHRoaXMuZmlsZS5pbWFnZVdpZHRoIDwgdGhpcy5taW5XaWR0aCkge1xuICAgICAgLy8gICByZXR1cm4geyBtaW5XaWR0aDogYE1pbmltdW0gd2lkdGggJHt0aGlzLm1pbldpZHRofXB4YCB9O1xuICAgICAgLy8gfVxuXG4gICAgICAvLyBpZih0aGlzLmZpbGUuaW1hZ2VIZWlnaHQgPCB0aGlzLm1pbkhlaWdodCkge1xuICAgICAgLy8gICByZXR1cm4geyBtaW5XaWR0aDogYE1pbmltdW0gaGVpZ2h0ICR7dGhpcy5taW5IZWlnaHR9cHhgIH07XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByZXZpZXdQZXJjZW50KCkge1xuICAgIHJldHVybiBTdHJpbmcodGhpcy5fcHJldmlld1dpZHRoKS5tYXRjaCgvJS8pO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZSA9IG51bGw7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZShmaWxlKTogdm9pZCB7XG4gICAgdGhpcy5maWxlID0gZmlsZTtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RGaWxlUHJldmlldyhmc0ZpbGVzOiBGc0ZpbGVbXSkge1xuICAgIHRoaXMucHJldmlld0ZpbGUgPSBmc0ZpbGVzWzBdO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEZpbGUoZnNGaWxlOiBGc0ZpbGUpIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuZmlsZSA9IGZzRmlsZTtcbiAgICAgIHRoaXMub25DaGFuZ2UoZnNGaWxlKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdC5lbWl0KGZzRmlsZSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRmlsZSgpIHtcbiAgICB0aGlzLmZpbGUgPSBudWxsO1xuICAgIHRoaXMucHJldmlld0ZpbGUgPSBudWxsO1xuICAgIHRoaXMucmVtb3ZlLmVtaXQodGhpcy5maWxlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICB9XG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGV2ZW50OiB7IGV2ZW50OiBNb3VzZUV2ZW50IH0pIHtcbiAgICBldmVudC5ldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZENsaWNrZWQoZXZlbnQ6IHsgZXZlbnQ6IE1vdXNlRXZlbnQgfSkge1xuICAgIGV2ZW50LmV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuZG93bmxvYWQub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgZXZlbnQuZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZG93bmxvYWQuZW1pdCh0aGlzLmZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iLCI8ZnMtbGFiZWwtZmllbGRcbiAgICBjbGFzcz1cImZzLWZvcm0td3JhcHBlclwiXG4gICAgW25nQ2xhc3NdPVwieyAncGVyY2VudC1wcmV2aWV3JzogcHJldmlld1BlcmNlbnQgfVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWw7IGVsc2UgbGFiZWxDb250ZW50XCI+XG4gICAgPGZzLWxhYmVsIGNsYXNzPVwiZnMtZm9ybS1sYWJlbFwiPnt7bGFiZWx9fTwvZnMtbGFiZWw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2xhYmVsQ29udGVudD5cbiAgICA8ZnMtbGFiZWwgKm5nSWY9XCJsYWJlbHMubGVuZ3RoXCIgY2xhc3M9XCJmcy1mb3JtLWxhYmVsXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZnNGaWxlTGFiZWxdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZnMtbGFiZWw+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxmcy1maWxlXG4gICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdEZpbGUoJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0UHJldmlld3MpPVwic2VsZWN0RmlsZVByZXZpZXcoJGV2ZW50KVwiXG4gICAgICBbaW1hZ2VXaWR0aF09XCJpbWFnZVdpZHRoXCJcbiAgICAgIFtpbWFnZUhlaWdodF09XCJpbWFnZUhlaWdodFwiXG4gICAgICBbaW1hZ2VRdWFsaXR5XT1cImltYWdlUXVhbGl0eVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIndyYXBcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJldmlld1dpZHRoXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJwcmV2aWV3SGVpZ2h0XCI+XG4gICAgICA8ZnMtZmlsZS1wcmV2aWV3XG4gICAgICAgICAgY2xhc3M9XCJwcmV2aWV3XCJcbiAgICAgICAgICAqbmdJZj1cInByZXZpZXdGaWxlOyBlbHNlIHByZXZpZXdcIlxuICAgICAgICAgIChyZW1vdmUpPVwicmVtb3ZlRmlsZSgpXCJcbiAgICAgICAgICBbZmlsZV09XCJwcmV2aWV3RmlsZVwiXG4gICAgICAgICAgW3ByZXZpZXdBY3Rpb25zXT1cInByZXZpZXdBY3Rpb25zLnRvQXJyYXkoKVwiXG4gICAgICAgICAgW3Nob3dGaWxlbmFtZV09XCJzaG93RmlsZW5hbWVcIlxuICAgICAgICAgIFtwcmV2aWV3SGVpZ2h0XT1cIm51bGxcIlxuICAgICAgICAgIFtwcmV2aWV3V2lkdGhdPVwibnVsbFwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dSZW1vdmVcIlxuICAgICAgICAgICAgZnMtZmlsZS1wcmV2aWV3LWFjdGlvblxuICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wLXJpZ2h0XCJcbiAgICAgICAgICAgIGFjdGlvbj1cInJlbW92ZVwiXG4gICAgICAgICAgICB0b29sdGlwPVwiUmVtb3ZlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAqbmdJZj1cImFsbG93UmV1cGxvYWRcIlxuICAgICAgICAgICAgZnMtZmlsZS1wcmV2aWV3LWFjdGlvblxuICAgICAgICAgICAgYWN0aW9uPVwicmV1cGxvYWRcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCJcbiAgICAgICAgICAgIHRvb2x0aXA9XCJSZXVwbG9hZFwiPlxuICAgICAgICAgIDxtYXQtaWNvbj51cGxvYWQ8L21hdC1pY29uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIGZzLWZpbGUtcHJldmlldy1hY3Rpb25cbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgIGFjdGlvbj1cImRvd25sb2FkXCJcbiAgICAgICAgICAgIHRvb2x0aXA9XCJEb3dubG9hZFwiXG4gICAgICAgICAgICBbaGlkZV09XCIhKGFsbG93RG93bmxvYWQgJiYgKChkb3dubG9hZC5vYnNlcnZlcnMubGVuZ3RoICYmIGZpbGUpIHx8IGZpbGU/LnVybCkpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZENsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIFtocmVmXT1cInByZXZpZXdGaWxlLnVybFwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICBjbGFzcz1cImRvd25sb2FkXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+ZG93bmxvYWQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZnMtZmlsZS1wcmV2aWV3PlxuXG4gICAgICA8bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWxlUGlja2VyU2VsZWN0VGVtcGxhdGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZpbGVQaWNrZXJTZWxlY3RUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmaWxlUGlja2VyU2VsZWN0VGVtcGxhdGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+dXBsb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnN0cnVjdGlvblwiPnt7aW5zdHJ1Y3Rpb259fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1yYWlzZWQtYnV0dG9uXCI+VXBsb2FkPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9mcy1maWxlPlxuICA8ZnMtbGFiZWwtbWVzc2FnZSBjbGFzcz1cImZzLWZvcm0tbWVzc2FnZVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZnMtZm9ybS1oaW50XCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZnNGaWxlSGludF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZnNGaWxlTWVzc2FnZUxhYmVsXVwiPjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIDwvZnMtbGFiZWwtbWVzc2FnZT5cbjwvZnMtbGFiZWwtZmllbGQ+XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZzLWZpbGUtcGlja2VyL2ZzLWZpbGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mcy1maWxlLXBpY2tlci9mcy1maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxFQUFFLGlCQUFpQixHQUNqQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7QUFxQmpGLE1BQU0sT0FBTyxxQkFDWCxTQUFRLHVCQUF1QjtJQTZGL0IsWUFDcUQsYUFBYSxFQUN4RCxNQUF5QjtRQUVqQyxLQUFLLEVBQUUs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c0JBQXZCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFFbUIsR0FBRztzQkFBM0IsS0FBSzt1QkFBQyxLQUFLO2dCQUljLElBQUk7c0JBQTdCLEtBQUs7dUJBQUMsTUFBTTtnQkFtQk4sTUFBTTtzQkFEWixLQUFLO2dCQUtLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBVUssWUFBWTtzQkFEdEIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVNXLE1BQU07c0JBQXRCLE1BQU07Z0JBQ1UsTUFBTTtzQkFBdEIsTUFBTTtnQkFDVSxRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLCBBc3luY1ZhbGlkYXRvciwgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZzQXBpRmlsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2FwaSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNGaWxlUGlja2VyU2VsZWN0RGlyZWN0aXZlLCBGc0ZpbGVQcmV2aWV3QWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGc0ZpbGVMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZnMtZmlsZS1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRlNfRklMRV9NT0RVTEVfQ09ORklHIH0gZnJvbSAnLi4vLi4vaW5qZWN0b3JzL2ZpbGUtY29uZmlnLmluamVjdG9yJztcbmltcG9ydCB7IEZzRmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9mcy1maWxlJztcbmltcG9ydCB7IEZzRmlsZURyYWdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZnMtZmlsZS1kcmFnLWJhc2UvZnMtZmlsZS1kcmFnLWJhc2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZzLWZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnMtZmlsZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNGaWxlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBGc0ZpbGVQaWNrZXJDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbGVQaWNrZXJDb21wb25lbnRcbiAgZXh0ZW5kcyBGc0ZpbGVEcmFnQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFzeW5jVmFsaWRhdG9yLCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpXG4gIHB1YmxpYyBmaWxlSW5wdXQ6IGFueTtcblxuICBAQ29udGVudENoaWxkcmVuKEZzRmlsZUxhYmVsRGlyZWN0aXZlKVxuICBwdWJsaWMgbGFiZWxzOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgQENvbnRlbnRDaGlsZChGc0ZpbGVQaWNrZXJTZWxlY3REaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgcHVibGljIGZpbGVQaWNrZXJTZWxlY3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkcmVuKEZzRmlsZVByZXZpZXdBY3Rpb25EaXJlY3RpdmUpXG4gIHB1YmxpYyBwcmV2aWV3QWN0aW9uczogUXVlcnlMaXN0PEZzRmlsZVByZXZpZXdBY3Rpb25EaXJlY3RpdmU+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5XaWR0aCA9IDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5IZWlnaHQgPSAwO1xuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VXaWR0aDtcbiAgQElucHV0KCkgcHVibGljIGltYWdlSGVpZ2h0O1xuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VRdWFsaXR5O1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93RmlsZW5hbWUgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dEb3dubG9hZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dSZXVwbG9hZCA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dSZW1vdmUgPSBmYWxzZTtcblxuICBASW5wdXQoJ3VybCcpIHB1YmxpYyBzZXQgdXJsKHVybCkge1xuICAgIHRoaXMuZmlsZSA9IHVybCA/IG5ldyBGc0ZpbGUodXJsKSA6IG51bGw7XG4gIH1cblxuICBASW5wdXQoJ2ZpbGUnKSBwdWJsaWMgc2V0IGZpbGUoZmlsZTogRnNGaWxlIHwgRnNBcGlGaWxlIHwgc3RyaW5nKSB7XG4gICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBGc0FwaUZpbGUpIHtcbiAgICAgIHRoaXMuX2ZpbGUgPSBuZXcgRnNGaWxlKGZpbGUpO1xuICAgIH0gZWxzZSBpZiAoZmlsZSBpbnN0YW5jZW9mIEZzRmlsZSkge1xuICAgICAgdGhpcy5fZmlsZSA9IGZpbGU7XG4gICAgfSBlbHNlIGlmIChmaWxlKSB7XG4gICAgICB0aGlzLl9maWxlID0gbmV3IEZzRmlsZShmaWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZmlsZSA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5wcmV2aWV3RmlsZSA9IHRoaXMuX2ZpbGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbGUoKTogRnNGaWxlIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY2NlcHQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZSkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcHJldmlld1dpZHRoKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLl9wcmV2aWV3V2lkdGggPSBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSA/IGAke3ZhbHVlfXB4YCA6IHZhbHVlPy50b1N0cmluZygpIHx8ICcnO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmV2aWV3V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpZXdXaWR0aDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcHJldmlld0hlaWdodCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgdGhpcy5fcHJldmlld0hlaWdodCA9IE51bWJlci5pc0ludGVnZXIodmFsdWUpID8gYCR7dmFsdWV9cHhgIDogdmFsdWU/LnRvU3RyaW5nKCkgfHwgJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByZXZpZXdIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpZXdIZWlnaHQ7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBkb3dubG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8RnNGaWxlPigpO1xuXG4gIHB1YmxpYyBpbnN0cnVjdGlvbiA9ICdEcmFnICYgRHJvcCB5b3VyIGZpbGUgb3IgdXNlIHRoZSBidXR0b24gYmVsb3cnO1xuICBwdWJsaWMgcHJldmlld0ZpbGU6IEZzRmlsZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9wcmV2aWV3V2lkdGggPSAnMTUwcHgnO1xuICBwcml2YXRlIF9maWxlOiBGc0ZpbGU7XG4gIHByaXZhdGUgX3ByZXZpZXdIZWlnaHQgPSAnMTUwcHgnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfRklMRV9NT0RVTEVfQ09ORklHKSBwcml2YXRlIF9tb2R1bGVDb25maWcsXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7XG4gICAgLy9cbiAgfTtcblxuICBwdWJsaWMgb25Ub3VjaDogYW55ID0gKCkgPT4ge1xuICAgIC8vXG4gIH07XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm4pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm4pOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5fbW9kdWxlQ29uZmlnKSB7XG4gICAgICBpZiAodGhpcy5hbGxvd0Rvd25sb2FkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5hbGxvd0Rvd25sb2FkID0gdGhpcy5fbW9kdWxlQ29uZmlnLmFsbG93RG93bmxvYWQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmFsbG93UmVtb3ZlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5hbGxvd1JlbW92ZSA9IHRoaXMuX21vZHVsZUNvbmZpZy5hbGxvd1JlbW92ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gfCBudWxsIHtcbiAgICBpZiAodGhpcy5maWxlPy50eXBlSW1hZ2UgJiYgKHRoaXMubWluV2lkdGggfHwgdGhpcy5taW5IZWlnaHQpKSB7XG4gICAgICAvLyBpZih0aGlzLmZpbGUuaW1hZ2VXaWR0aCA8IHRoaXMubWluV2lkdGgpIHtcbiAgICAgIC8vICAgcmV0dXJuIHsgbWluV2lkdGg6IGBNaW5pbXVtIHdpZHRoICR7dGhpcy5taW5XaWR0aH1weGAgfTtcbiAgICAgIC8vIH1cblxuICAgICAgLy8gaWYodGhpcy5maWxlLmltYWdlSGVpZ2h0IDwgdGhpcy5taW5IZWlnaHQpIHtcbiAgICAgIC8vICAgcmV0dXJuIHsgbWluV2lkdGg6IGBNaW5pbXVtIGhlaWdodCAke3RoaXMubWluSGVpZ2h0fXB4YCB9O1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmV2aWV3UGVyY2VudCgpIHtcbiAgICByZXR1cm4gU3RyaW5nKHRoaXMuX3ByZXZpZXdXaWR0aCkubWF0Y2goLyUvKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGUgPSBudWxsO1xuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUoZmlsZSk6IHZvaWQge1xuICAgIHRoaXMuZmlsZSA9IGZpbGU7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RmlsZVByZXZpZXcoZnNGaWxlczogRnNGaWxlW10pIHtcbiAgICB0aGlzLnByZXZpZXdGaWxlID0gZnNGaWxlc1swXTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RGaWxlKGZzRmlsZTogRnNGaWxlKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLmZpbGUgPSBmc0ZpbGU7XG4gICAgICB0aGlzLm9uQ2hhbmdlKGZzRmlsZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3QuZW1pdChmc0ZpbGUpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUZpbGUoKSB7XG4gICAgdGhpcy5maWxlID0gbnVsbDtcbiAgICB0aGlzLnByZXZpZXdGaWxlID0gbnVsbDtcbiAgICB0aGlzLnJlbW92ZS5lbWl0KHRoaXMuZmlsZSk7XG4gICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25DbGljayhldmVudDogeyBldmVudDogTW91c2VFdmVudCB9KSB7XG4gICAgZXZlbnQuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRDbGlja2VkKGV2ZW50OiB7IGV2ZW50OiBNb3VzZUV2ZW50IH0pIHtcbiAgICBldmVudC5ldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmRvd25sb2FkLm9ic2VydmVycy5sZW5ndGgpIHtcbiAgICAgIGV2ZW50LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmRvd25sb2FkLmVtaXQodGhpcy5maWxlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuIiwiPGZzLWxhYmVsLWZpZWxkXG4gICAgY2xhc3M9XCJmcy1mb3JtLXdyYXBwZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3BlcmNlbnQtcHJldmlldyc6IHByZXZpZXdQZXJjZW50IH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsOyBlbHNlIGxhYmVsQ29udGVudFwiPlxuICAgIDxmcy1sYWJlbCBjbGFzcz1cImZzLWZvcm0tbGFiZWxcIj57e2xhYmVsfX08L2ZzLWxhYmVsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNsYWJlbENvbnRlbnQ+XG4gICAgPGZzLWxhYmVsICpuZ0lmPVwibGFiZWxzLmxlbmd0aFwiIGNsYXNzPVwiZnMtZm9ybS1sYWJlbFwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZzRmlsZUxhYmVsXVwiPjwvbmctY29udGVudD5cbiAgICA8L2ZzLWxhYmVsPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZnMtZmlsZVxuICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3RGaWxlKCRldmVudClcIlxuICAgICAgKHNlbGVjdFByZXZpZXdzKT1cInNlbGVjdEZpbGVQcmV2aWV3KCRldmVudClcIlxuICAgICAgW2ltYWdlV2lkdGhdPVwiaW1hZ2VXaWR0aFwiXG4gICAgICBbaW1hZ2VIZWlnaHRdPVwiaW1hZ2VIZWlnaHRcIlxuICAgICAgW2ltYWdlUXVhbGl0eV09XCJpbWFnZVF1YWxpdHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3cmFwXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cInByZXZpZXdXaWR0aFwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwicHJldmlld0hlaWdodFwiPlxuICAgICAgPGZzLWZpbGUtcHJldmlld1xuICAgICAgICAgIGNsYXNzPVwicHJldmlld1wiXG4gICAgICAgICAgKm5nSWY9XCJwcmV2aWV3RmlsZTsgZWxzZSBwcmV2aWV3XCJcbiAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUZpbGUoKVwiXG4gICAgICAgICAgW2ZpbGVdPVwicHJldmlld0ZpbGVcIlxuICAgICAgICAgIFtwcmV2aWV3QWN0aW9uc109XCJwcmV2aWV3QWN0aW9ucy50b0FycmF5KClcIlxuICAgICAgICAgIFtzaG93RmlsZW5hbWVdPVwic2hvd0ZpbGVuYW1lXCJcbiAgICAgICAgICBbcHJldmlld0hlaWdodF09XCJudWxsXCJcbiAgICAgICAgICBbcHJldmlld1dpZHRoXT1cIm51bGxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAqbmdJZj1cImFsbG93UmVtb3ZlXCJcbiAgICAgICAgICAgIGZzLWZpbGUtcHJldmlldy1hY3Rpb25cbiAgICAgICAgICAgIHBsYWNlbWVudD1cInRvcC1yaWdodFwiXG4gICAgICAgICAgICBhY3Rpb249XCJyZW1vdmVcIlxuICAgICAgICAgICAgdG9vbHRpcD1cIlJlbW92ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJhbGxvd1JldXBsb2FkXCJcbiAgICAgICAgICAgIGZzLWZpbGUtcHJldmlldy1hY3Rpb25cbiAgICAgICAgICAgIGFjdGlvbj1cInJldXBsb2FkXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICB0b29sdGlwPVwiUmV1cGxvYWRcIj5cbiAgICAgICAgICA8bWF0LWljb24+dXBsb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBmcy1maWxlLXByZXZpZXctYWN0aW9uXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICBhY3Rpb249XCJkb3dubG9hZFwiXG4gICAgICAgICAgICB0b29sdGlwPVwiRG93bmxvYWRcIlxuICAgICAgICAgICAgW2hpZGVdPVwiIShhbGxvd0Rvd25sb2FkICYmICgoZG93bmxvYWQub2JzZXJ2ZXJzLmxlbmd0aCAmJiBmaWxlKSB8fCBmaWxlPy51cmwpKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgICBbaHJlZl09XCJwcmV2aWV3RmlsZS51cmxcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb3dubG9hZFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2ZzLWZpbGUtcHJldmlldz5cblxuICAgICAgPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZVBpY2tlclNlbGVjdFRlbXBsYXRlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmaWxlUGlja2VyU2VsZWN0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZmlsZVBpY2tlclNlbGVjdFRlbXBsYXRlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnVwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zdHJ1Y3Rpb25cIj57e2luc3RydWN0aW9ufX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtcmFpc2VkLWJ1dHRvblwiPlVwbG9hZDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZnMtZmlsZT5cbiAgPGZzLWxhYmVsLW1lc3NhZ2UgY2xhc3M9XCJmcy1mb3JtLW1lc3NhZ2VcIj5cbiAgICA8c3BhbiBjbGFzcz1cImZzLWZvcm0taGludFwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZzRmlsZUhpbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZzRmlsZU1lc3NhZ2VMYWJlbF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9zcGFuPlxuICA8L2ZzLWxhYmVsLW1lc3NhZ2U+XG48L2ZzLWxhYmVsLWZpZWxkPlxuIl19 |
@@ -84,3 +84,3 @@ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core'; | ||
FsFilePreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsFilePreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); | ||
FsFilePreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FsFilePreviewComponent, selector: "fs-file-preview", inputs: { previewActions: "previewActions", showFilename: "showFilename", previewWidth: "previewWidth", previewHeight: "previewHeight", file: "file", url: "url", index: "index", showActionOn: "showActionOn" }, outputs: { remove: "remove" }, queries: [{ propertyName: "childrenPreviewActions", predicate: FsFilePreviewActionDirective }], usesOnChanges: true, ngImport: i0, template: "<div\n [style.width.px]=\"previewWidth\"\n [style.height.px]=\"previewHeight\"\n class=\"preview-container\"\n [ngClass]=\"{ \n 'has-actions': (childrenPreviewActions.length !== 0 || previewActions.length !== 0), \n 'type-image': typeImage,\n 'loaded': loaded,\n 'show-action-always': showActionOn === 'always'\n }\">\n <!-- Image container -->\n <ng-container \n *ngIf=\"typeImage; else nonImage\">\n <ng-container *ngIf=\"(file | fsFileSrc | async) as src\">\n <img \n [src]=\"src\" \n (load)=\"previewLoaded()\">\n </ng-container>\n \n <ng-container *ngIf=\"!loaded\">\n <div class=\"loader\"></div>\n </ng-container>\n </ng-container>\n\n <!-- Non image container -->\n <ng-template #nonImage>\n <div class=\"file-details\">\n <div class=\"file-icon\">\n <div \n class=\"file-ext\"\n [style.fontSize]=\"extensionFontSize + 'px'\">\n {{file.extension}}\n </div>\n <mat-icon \n [style.width]=\"iconDim + 'px'\" \n [style.height]=\"iconDim + 'px'\"\n [style.fontSize]=\"iconDim + 'px'\">insert_drive_file</mat-icon>\n </div>\n <ng-container *ngIf=\"showFilename && file.name\">\n <a \n class=\"file-name\" \n [matTooltip]=\"file.name\">\n {{file.name}}\n </a>\n </ng-container>\n </div>\n </ng-template>\n\n <div class=\"actions\">\n <ng-container *ngFor=\"let previewAction of previewActions\">\n <ng-container \n [ngTemplateOutlet]=\"previewActionTmpl\" \n [ngTemplateOutletContext]=\"{ previewAction: previewAction }\">\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let previewAction of childrenPreviewActions\">\n <ng-container \n [ngTemplateOutlet]=\"previewActionTmpl\" \n [ngTemplateOutletContext]=\"{ previewAction: previewAction }\">\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"spinner\">\n <mat-spinner *ngIf=\"file.progress\" [diameter]=\"30\"></mat-spinner>\n </div>\n <ng-content></ng-content>\n</div>\n\n<ng-template #previewActionTmpl let-previewAction=\"previewAction\">\n <ng-container *ngIf=\"!previewAction.hide\">\n <div\n class=\"action mat-mini-fab mat-primary\" \n [class]=\"previewAction.placement\"\n [matTooltip]=\"previewAction.tooltip\"\n (click)=\"callAction($event, previewAction)\">\n <span class=\"mat-button-wrapper\">\n <ng-template [ngTemplateOutlet]=\"previewAction.templateRef\"></ng-template>\n </span>\n </div>\n </ng-container>\n</ng-template>", styles: [":host{border:1px #efefef solid;display:inline-block;position:relative;vertical-align:top;overflow:hidden;border-radius:3px}:host .file-details{flex-direction:column;display:flex;padding:5px;min-width:0}:host .file-details .file-icon{position:relative;display:flex;justify-content:center}:host .file-details .file-ext{font-weight:bold;text-align:center;text-transform:uppercase;font-size:20px;position:absolute;width:100%;bottom:25%;color:#fff}:host .file-details mat-icon{color:#ccc}:host .file-details .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px;font-size:75%;text-align:center;width:100%;color:inherit;box-sizing:border-box}:host .preview-container.show-action-always .actions .action.top-left,:host .preview-container:hover .actions .action.top-left,:host .preview-container:focus .actions .action.top-left{top:8px;left:8px}:host .preview-container.show-action-always .actions .action.top-right,:host .preview-container:hover .actions .action.top-right,:host .preview-container:focus .actions .action.top-right{top:8px;right:8px}:host .preview-container.show-action-always .actions .action.bottom-left,:host .preview-container:hover .actions .action.bottom-left,:host .preview-container:focus .actions .action.bottom-left{bottom:8px;left:8px}:host .preview-container.show-action-always .actions .action.bottom-right,:host .preview-container:hover .actions .action.bottom-right,:host .preview-container:focus .actions .action.bottom-right{bottom:8px;right:8px}:host .preview-container{overflow:hidden;box-sizing:border-box;margin:auto;display:flex;align-items:center;flex-grow:1;height:100%;justify-content:center}:host .preview-container.type-image{background-image:linear-gradient(to right,rgba(255,255,255,.75),rgba(255,255,255,.75)),linear-gradient(to right,black 50%,white 50%),linear-gradient(to bottom,black 50%,white 50%);background-blend-mode:normal,difference,normal;background-size:20px 20px}:host .preview-container.type-image:not(.loaded){background:none}:host .preview-container.type-image:not(.loaded) .actions{display:none}:host .preview-container.loaded img{opacity:1}@media only screen and (max-width: 767.98px){:host .actions{display:block}}:host .actions .action.top-left{top:8px;left:8px}:host .actions .action.top-right{top:8px;right:8px}:host .actions .action.bottom-left{bottom:8px;left:8px}:host .actions .action.bottom-right{bottom:8px;right:8px}@media only screen and (min-width: 768px){:host .actions .action.top-left,:host .actions .action.top-right,:host .actions .action.bottom-left,:host .actions .action.bottom-right{transition:top .3s,bottom .3s,left .3s,right .3s}:host .actions .action.top-left{top:-50px;left:-50px}:host .actions .action.top-right{top:-50px;right:-50px}:host .actions .action.bottom-left{bottom:-50px;left:-50px}:host .actions .action.bottom-right{bottom:-50px;right:-50px}}:host .actions .action{position:absolute;cursor:pointer}:host .actions .action.hide{display:none}:host:hover .actions,:host:focus .actions{display:block}:host img{display:block;transform:translateZ(.1px);object-position:top;object-fit:cover;width:100%;height:100%}:host .mat-button-wrapper{padding:0;line-height:15px!important}:host .spinner{position:absolute;top:50%;left:50%;margin-left:-25%;margin-top:-25%}img{opacity:0}.loader{height:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:70px;aspect-ratio:1/1}.loader:after{content:\" \";display:block;width:100%;height:100%;border-radius:50%;border:6px solid #ccc;border-color:#ccc transparent #ccc transparent;animation:lds-dual-ring 1.2s linear infinite;box-sizing:border-box}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i3.AsyncPipe, "fsFileSrc": i5.FsFileSrcPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush }); | ||
FsFilePreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FsFilePreviewComponent, selector: "fs-file-preview", inputs: { previewActions: "previewActions", showFilename: "showFilename", previewWidth: "previewWidth", previewHeight: "previewHeight", file: "file", url: "url", index: "index", showActionOn: "showActionOn" }, outputs: { remove: "remove" }, queries: [{ propertyName: "childrenPreviewActions", predicate: FsFilePreviewActionDirective }], usesOnChanges: true, ngImport: i0, template: "<div\n [style.width.px]=\"previewWidth\"\n [style.height.px]=\"previewHeight\"\n class=\"preview-container\"\n [ngClass]=\"{ \n 'has-actions': (childrenPreviewActions.length !== 0 || previewActions.length !== 0), \n 'type-image': typeImage,\n 'loaded': loaded,\n 'show-action-always': showActionOn === 'always'\n }\">\n <!-- Image container -->\n <ng-container \n *ngIf=\"typeImage; else nonImage\">\n <ng-container *ngIf=\"(file | fsFileSrc | async) as src\">\n <img \n [src]=\"src\" \n (load)=\"previewLoaded()\"\n (error)=\"previewError()\">\n </ng-container>\n \n <ng-container *ngIf=\"!loaded\">\n <div class=\"loader\"></div>\n </ng-container>\n </ng-container>\n\n <!-- Non image container -->\n <ng-template #nonImage>\n <div class=\"file-details\">\n <div class=\"file-icon\">\n <div \n class=\"file-ext\"\n [style.fontSize]=\"extensionFontSize + 'px'\">\n {{file.extension}}\n </div>\n <mat-icon \n [style.width]=\"iconDim + 'px'\" \n [style.height]=\"iconDim + 'px'\"\n [style.fontSize]=\"iconDim + 'px'\">insert_drive_file</mat-icon>\n </div>\n <ng-container *ngIf=\"showFilename && file.name\">\n <a \n class=\"file-name\" \n [matTooltip]=\"file.name\">\n {{file.name}}\n </a>\n </ng-container>\n </div>\n </ng-template>\n\n <div class=\"actions\">\n <ng-container *ngFor=\"let previewAction of previewActions\">\n <ng-container \n [ngTemplateOutlet]=\"previewActionTmpl\" \n [ngTemplateOutletContext]=\"{ previewAction: previewAction }\">\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let previewAction of childrenPreviewActions\">\n <ng-container \n [ngTemplateOutlet]=\"previewActionTmpl\" \n [ngTemplateOutletContext]=\"{ previewAction: previewAction }\">\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"spinner\">\n <mat-spinner *ngIf=\"file.progress\" [diameter]=\"30\"></mat-spinner>\n </div>\n <ng-content></ng-content>\n</div>\n\n<ng-template #previewActionTmpl let-previewAction=\"previewAction\">\n <ng-container *ngIf=\"!previewAction.hide\">\n <div\n class=\"action mat-mini-fab mat-primary\" \n [class]=\"previewAction.placement\"\n [matTooltip]=\"previewAction.tooltip\"\n (click)=\"callAction($event, previewAction)\">\n <span class=\"mat-button-wrapper\">\n <ng-template [ngTemplateOutlet]=\"previewAction.templateRef\"></ng-template>\n </span>\n </div>\n </ng-container>\n</ng-template>", styles: [":host{border:1px #efefef solid;display:inline-block;position:relative;vertical-align:top;overflow:hidden;border-radius:3px}:host .file-details{flex-direction:column;display:flex;padding:5px;min-width:0}:host .file-details .file-icon{position:relative;display:flex;justify-content:center}:host .file-details .file-ext{font-weight:bold;text-align:center;text-transform:uppercase;font-size:20px;position:absolute;width:100%;bottom:25%;color:#fff}:host .file-details mat-icon{color:#ccc}:host .file-details .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px;font-size:75%;text-align:center;width:100%;color:inherit;box-sizing:border-box}:host .preview-container.show-action-always .actions .action.top-left,:host .preview-container:hover .actions .action.top-left,:host .preview-container:focus .actions .action.top-left{top:8px;left:8px}:host .preview-container.show-action-always .actions .action.top-right,:host .preview-container:hover .actions .action.top-right,:host .preview-container:focus .actions .action.top-right{top:8px;right:8px}:host .preview-container.show-action-always .actions .action.bottom-left,:host .preview-container:hover .actions .action.bottom-left,:host .preview-container:focus .actions .action.bottom-left{bottom:8px;left:8px}:host .preview-container.show-action-always .actions .action.bottom-right,:host .preview-container:hover .actions .action.bottom-right,:host .preview-container:focus .actions .action.bottom-right{bottom:8px;right:8px}:host .preview-container{overflow:hidden;box-sizing:border-box;margin:auto;display:flex;align-items:center;flex-grow:1;height:100%;justify-content:center}:host .preview-container.type-image{background-image:linear-gradient(to right,rgba(255,255,255,.75),rgba(255,255,255,.75)),linear-gradient(to right,black 50%,white 50%),linear-gradient(to bottom,black 50%,white 50%);background-blend-mode:normal,difference,normal;background-size:20px 20px}:host .preview-container.type-image:not(.loaded){background:none}:host .preview-container.type-image:not(.loaded) .actions{display:none}:host .preview-container.loaded img{opacity:1}@media only screen and (max-width: 767.98px){:host .actions{display:block}}:host .actions .action.top-left{top:8px;left:8px}:host .actions .action.top-right{top:8px;right:8px}:host .actions .action.bottom-left{bottom:8px;left:8px}:host .actions .action.bottom-right{bottom:8px;right:8px}@media only screen and (min-width: 768px){:host .actions .action.top-left,:host .actions .action.top-right,:host .actions .action.bottom-left,:host .actions .action.bottom-right{transition:top .3s,bottom .3s,left .3s,right .3s}:host .actions .action.top-left{top:-50px;left:-50px}:host .actions .action.top-right{top:-50px;right:-50px}:host .actions .action.bottom-left{bottom:-50px;left:-50px}:host .actions .action.bottom-right{bottom:-50px;right:-50px}}:host .actions .action{position:absolute;cursor:pointer}:host .actions .action.hide{display:none}:host:hover .actions,:host:focus .actions{display:block}:host img{display:block;transform:translateZ(.1px);object-position:top;object-fit:cover;width:100%;height:100%}:host .mat-button-wrapper{padding:0;line-height:15px!important}:host .spinner{position:absolute;top:50%;left:50%;margin-left:-25%;margin-top:-25%}img{opacity:0}.loader{height:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:70px;aspect-ratio:1/1}.loader:after{content:\" \";display:block;width:100%;height:100%;border-radius:50%;border:6px solid #ccc;border-color:#ccc transparent #ccc transparent;animation:lds-dual-ring 1.2s linear infinite;box-sizing:border-box}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i3.AsyncPipe, "fsFileSrc": i5.FsFileSrcPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush }); | ||
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsFilePreviewComponent, decorators: [{ | ||
@@ -116,2 +116,2 @@ type: Component, | ||
}] } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mcy1maWxlLXByZXZpZXcvZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mcy1maWxlLXByZXZpZXcvZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBU3RDLE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFXa0IsbUJBQWMsR0FBbUMsRUFBRSxDQUFDO1FBQ3BELGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBQzNCLGtCQUFhLEdBQVcsR0FBRyxDQUFDO1FBSTVCLGlCQUFZLEdBQXVCLE9BQU8sQ0FBQztRQUUxQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFFM0UsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBRyxHQUFHLENBQUM7UUFDZCxzQkFBaUIsR0FBRyxFQUFFLENBQUM7S0F5RS9CO0lBdkVDLElBQVcsU0FBUzs7UUFDbEIsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsU0FBUyxNQUFJLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsTUFBTSxDQUFBLENBQUM7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LE9BQU8sRUFBRTt3QkFDWixNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzt3QkFDbkIsTUFBTTtxQkFDUDtpQkFDRjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEExRlUsc0JBQXNCO3dHQUF0QixzQkFBc0IsK1VBRWhCLDRCQUE0QixrREM1Qi9DLHduRkFpRmM7NEZEdkRELHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUlRLHNCQUFzQjtzQkFENUIsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBRzdCLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFVyxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgRnNGaWxlUHJldmlld0FjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgRnNGaWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWxlLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbGVQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRnNGaWxlUHJldmlld0FjdGlvbkRpcmVjdGl2ZSlcbiAgcHVibGljIGNoaWxkcmVuUHJldmlld0FjdGlvbnM6IFF1ZXJ5TGlzdDxGc0ZpbGVQcmV2aWV3QWN0aW9uRGlyZWN0aXZlPjtcblxuICBASW5wdXQoKSBwdWJsaWMgcHJldmlld0FjdGlvbnM6IEZzRmlsZVByZXZpZXdBY3Rpb25EaXJlY3RpdmVbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0ZpbGVuYW1lID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHByZXZpZXdXaWR0aDogbnVtYmVyID0gMTUwO1xuICBASW5wdXQoKSBwdWJsaWMgcHJldmlld0hlaWdodDogbnVtYmVyID0gMTUwO1xuICBASW5wdXQoKSBwdWJsaWMgZmlsZTogRnNGaWxlO1xuICBASW5wdXQoKSBwdWJsaWMgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbmRleDogbnVtYmVyO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0FjdGlvbk9uOiAnaG92ZXInIHwgJ2Fsd2F5cycgPSAnaG92ZXInO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBNb3VzZUV2ZW50OyBmaWxlOiBGc0ZpbGUgfT4oKTtcblxuICBwdWJsaWMgbG9hZGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpY29uRGltID0gMTAwO1xuICBwdWJsaWMgZXh0ZW5zaW9uRm9udFNpemUgPSAyMDtcblxuICBwdWJsaWMgZ2V0IHR5cGVJbWFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWxlPy50eXBlSW1hZ2UgJiYgdGhpcy5maWxlPy5leGlzdHM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXJsKSB7XG4gICAgICB0aGlzLmZpbGUgPSBuZXcgRnNGaWxlKHRoaXMudXJsKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXZpZXdIZWlnaHQgPSB0aGlzLnByZXZpZXdIZWlnaHQgfHwgMTUwO1xuICAgIHRoaXMucHJldmlld1dpZHRoID0gdGhpcy5wcmV2aWV3V2lkdGggfHwgMTUwO1xuXG4gICAgY29uc3QgaWNvbkRpbSA9IHRoaXMucHJldmlld1dpZHRoICogLjc7XG4gICAgaWYgKGljb25EaW0gPCAxMDApIHtcbiAgICAgIHRoaXMuaWNvbkRpbSA9IGljb25EaW07XG4gICAgICB0aGlzLmV4dGVuc2lvbkZvbnRTaXplID0gdGhpcy5leHRlbnNpb25Gb250U2l6ZSAqIChpY29uRGltIC8gMTAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmZpbGUpIHtcbiAgICAgIHRoaXMubG9hZGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLl9jbGVhbkFjdGlvbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2aWV3TG9hZGVkKCkge1xuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2aWV3RXJyb3IoKSB7XG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNhbGxBY3Rpb24oJGV2ZW50OiBNb3VzZUV2ZW50LCBwcmV2aWV3QWN0aW9uOiBGc0ZpbGVQcmV2aWV3QWN0aW9uRGlyZWN0aXZlKSB7XG4gICAgaWYgKHByZXZpZXdBY3Rpb24uY2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICBwcmV2aWV3QWN0aW9uLmNsaWNrLmVtaXQoeyBldmVudDogJGV2ZW50LCBmaWxlOiB0aGlzLmZpbGUsIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cblxuICAgIGlmIChwcmV2aWV3QWN0aW9uLmFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICAgIHRoaXMucmVtb3ZlLmVtaXQoeyBldmVudDogJGV2ZW50LCBmaWxlOiB0aGlzLmZpbGUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2xlYW5BY3Rpb25zKCkge1xuICAgIHRoaXMucHJldmlld0FjdGlvbnNcbiAgICAgIC5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbi5mb3JUeXBlcykge1xuICAgICAgICAgIC8vIHNhdmUgb3JpZ2luYWwgdHlwZVxuICAgICAgICAgIGNvbnN0IFtvcmlnaW5hbEZpbGVUeXBlLCBvcmlnaW5hbENvbnRlbnRUeXBlXSA9IHRoaXMuZmlsZS50eXBlLnNwbGl0KCcvJyk7XG4gICAgICAgICAgY29uc3QgdHlwZXM6IGFueSA9IGlzQXJyYXkoYWN0aW9uLmZvclR5cGVzKSA/IGFjdGlvbi5mb3JUeXBlcyA6IFthY3Rpb24uZm9yVHlwZXNdO1xuXG4gICAgICAgICAgLy8gTG9va2luZyBmb3IgYWxsb3dlZCB0eXBlXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0eXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgW2ZpbGVUeXBlLCBjb250ZW50VHlwZV0gPSB0eXBlc1tpXS5zcGxpdCgnLycpO1xuICAgICAgICAgICAgY29uc3QgYWxsb3dlZCA9IGZpbGVUeXBlID09PSBvcmlnaW5hbEZpbGVUeXBlICYmIChjb250ZW50VHlwZSA9PT0gb3JpZ2luYWxDb250ZW50VHlwZSB8fCBjb250ZW50VHlwZSA9PT0gJyonKTtcblxuICAgICAgICAgICAgaWYgKCFhbGxvd2VkKSB7XG4gICAgICAgICAgICAgIGFjdGlvbi5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJwcmV2aWV3V2lkdGhcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwicHJldmlld0hlaWdodFwiXG4gICAgY2xhc3M9XCJwcmV2aWV3LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwieyBcbiAgICAgICdoYXMtYWN0aW9ucyc6IChjaGlsZHJlblByZXZpZXdBY3Rpb25zLmxlbmd0aCAhPT0gMCB8fCBwcmV2aWV3QWN0aW9ucy5sZW5ndGggIT09IDApLCAgXG4gICAgICAndHlwZS1pbWFnZSc6IHR5cGVJbWFnZSxcbiAgICAgICdsb2FkZWQnOiBsb2FkZWQsXG4gICAgICAnc2hvdy1hY3Rpb24tYWx3YXlzJzogc2hvd0FjdGlvbk9uID09PSAnYWx3YXlzJ1xuICAgIH1cIj5cbiAgPCEtLSBJbWFnZSBjb250YWluZXIgLS0+XG4gIDxuZy1jb250YWluZXIgXG4gICAgICAqbmdJZj1cInR5cGVJbWFnZTsgZWxzZSBub25JbWFnZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZmlsZSB8IGZzRmlsZVNyYyB8IGFzeW5jKSBhcyBzcmNcIj5cbiAgICAgIDxpbWcgXG4gICAgICAgIFtzcmNdPVwic3JjXCIgXG4gICAgICAgIChsb2FkKT1cInByZXZpZXdMb2FkZWQoKVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkZXJcIj48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBOb24gaW1hZ2UgY29udGFpbmVyIC0tPlxuICA8bmctdGVtcGxhdGUgI25vbkltYWdlPlxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRldGFpbHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWljb25cIj5cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1leHRcIlxuICAgICAgICAgICAgW3N0eWxlLmZvbnRTaXplXT1cImV4dGVuc2lvbkZvbnRTaXplICsgJ3B4J1wiPlxuICAgICAgICAgIHt7ZmlsZS5leHRlbnNpb259fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1pY29uIFxuICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJpY29uRGltICsgJ3B4J1wiIFxuICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaWNvbkRpbSArICdweCdcIlxuICAgICAgICAgIFtzdHlsZS5mb250U2l6ZV09XCJpY29uRGltICsgJ3B4J1wiPmluc2VydF9kcml2ZV9maWxlPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWxlbmFtZSAmJiBmaWxlLm5hbWVcIj5cbiAgICAgICAgPGEgXG4gICAgICAgICAgICBjbGFzcz1cImZpbGUtbmFtZVwiIFxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZmlsZS5uYW1lXCI+XG4gICAgICAgICAge3tmaWxlLm5hbWV9fVxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByZXZpZXdBY3Rpb24gb2YgcHJldmlld0FjdGlvbnNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInByZXZpZXdBY3Rpb25UbXBsXCIgXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHByZXZpZXdBY3Rpb246IHByZXZpZXdBY3Rpb24gfVwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJldmlld0FjdGlvbiBvZiBjaGlsZHJlblByZXZpZXdBY3Rpb25zXCI+XG4gICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2aWV3QWN0aW9uVG1wbFwiIFxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBwcmV2aWV3QWN0aW9uOiBwcmV2aWV3QWN0aW9uIH1cIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxuICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImZpbGUucHJvZ3Jlc3NcIiBbZGlhbWV0ZXJdPVwiMzBcIj48L21hdC1zcGlubmVyPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJldmlld0FjdGlvblRtcGwgbGV0LXByZXZpZXdBY3Rpb249XCJwcmV2aWV3QWN0aW9uXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcHJldmlld0FjdGlvbi5oaWRlXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFjdGlvbiBtYXQtbWluaS1mYWIgbWF0LXByaW1hcnlcIiAgICAgIFxuICAgICAgICBbY2xhc3NdPVwicHJldmlld0FjdGlvbi5wbGFjZW1lbnRcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmV2aWV3QWN0aW9uLnRvb2x0aXBcIlxuICAgICAgICAoY2xpY2spPVwiY2FsbEFjdGlvbigkZXZlbnQsIHByZXZpZXdBY3Rpb24pXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdC1idXR0b24td3JhcHBlclwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJldmlld0FjdGlvbi50ZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mcy1maWxlLXByZXZpZXcvZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mcy1maWxlLXByZXZpZXcvZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBU3RDLE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFXa0IsbUJBQWMsR0FBbUMsRUFBRSxDQUFDO1FBQ3BELGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBQzNCLGtCQUFhLEdBQVcsR0FBRyxDQUFDO1FBSTVCLGlCQUFZLEdBQXVCLE9BQU8sQ0FBQztRQUUxQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFFM0UsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBRyxHQUFHLENBQUM7UUFDZCxzQkFBaUIsR0FBRyxFQUFFLENBQUM7S0F5RS9CO0lBdkVDLElBQVcsU0FBUzs7UUFDbEIsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsU0FBUyxNQUFJLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsTUFBTSxDQUFBLENBQUM7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LE9BQU8sRUFBRTt3QkFDWixNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzt3QkFDbkIsTUFBTTtxQkFDUDtpQkFDRjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEExRlUsc0JBQXNCO3dHQUF0QixzQkFBc0IsK1VBRWhCLDRCQUE0QixrREM1Qi9DLDRwRkFrRmM7NEZEeERELHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUlRLHNCQUFzQjtzQkFENUIsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBRzdCLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFVyxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgRnNGaWxlUHJldmlld0FjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgRnNGaWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWxlLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnMtZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbGVQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRnNGaWxlUHJldmlld0FjdGlvbkRpcmVjdGl2ZSlcbiAgcHVibGljIGNoaWxkcmVuUHJldmlld0FjdGlvbnM6IFF1ZXJ5TGlzdDxGc0ZpbGVQcmV2aWV3QWN0aW9uRGlyZWN0aXZlPjtcblxuICBASW5wdXQoKSBwdWJsaWMgcHJldmlld0FjdGlvbnM6IEZzRmlsZVByZXZpZXdBY3Rpb25EaXJlY3RpdmVbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0ZpbGVuYW1lID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHByZXZpZXdXaWR0aDogbnVtYmVyID0gMTUwO1xuICBASW5wdXQoKSBwdWJsaWMgcHJldmlld0hlaWdodDogbnVtYmVyID0gMTUwO1xuICBASW5wdXQoKSBwdWJsaWMgZmlsZTogRnNGaWxlO1xuICBASW5wdXQoKSBwdWJsaWMgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbmRleDogbnVtYmVyO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0FjdGlvbk9uOiAnaG92ZXInIHwgJ2Fsd2F5cycgPSAnaG92ZXInO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBNb3VzZUV2ZW50OyBmaWxlOiBGc0ZpbGUgfT4oKTtcblxuICBwdWJsaWMgbG9hZGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpY29uRGltID0gMTAwO1xuICBwdWJsaWMgZXh0ZW5zaW9uRm9udFNpemUgPSAyMDtcblxuICBwdWJsaWMgZ2V0IHR5cGVJbWFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWxlPy50eXBlSW1hZ2UgJiYgdGhpcy5maWxlPy5leGlzdHM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXJsKSB7XG4gICAgICB0aGlzLmZpbGUgPSBuZXcgRnNGaWxlKHRoaXMudXJsKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXZpZXdIZWlnaHQgPSB0aGlzLnByZXZpZXdIZWlnaHQgfHwgMTUwO1xuICAgIHRoaXMucHJldmlld1dpZHRoID0gdGhpcy5wcmV2aWV3V2lkdGggfHwgMTUwO1xuXG4gICAgY29uc3QgaWNvbkRpbSA9IHRoaXMucHJldmlld1dpZHRoICogLjc7XG4gICAgaWYgKGljb25EaW0gPCAxMDApIHtcbiAgICAgIHRoaXMuaWNvbkRpbSA9IGljb25EaW07XG4gICAgICB0aGlzLmV4dGVuc2lvbkZvbnRTaXplID0gdGhpcy5leHRlbnNpb25Gb250U2l6ZSAqIChpY29uRGltIC8gMTAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmZpbGUpIHtcbiAgICAgIHRoaXMubG9hZGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLl9jbGVhbkFjdGlvbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2aWV3TG9hZGVkKCkge1xuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2aWV3RXJyb3IoKSB7XG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNhbGxBY3Rpb24oJGV2ZW50OiBNb3VzZUV2ZW50LCBwcmV2aWV3QWN0aW9uOiBGc0ZpbGVQcmV2aWV3QWN0aW9uRGlyZWN0aXZlKSB7XG4gICAgaWYgKHByZXZpZXdBY3Rpb24uY2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICBwcmV2aWV3QWN0aW9uLmNsaWNrLmVtaXQoeyBldmVudDogJGV2ZW50LCBmaWxlOiB0aGlzLmZpbGUsIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cblxuICAgIGlmIChwcmV2aWV3QWN0aW9uLmFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICAgIHRoaXMucmVtb3ZlLmVtaXQoeyBldmVudDogJGV2ZW50LCBmaWxlOiB0aGlzLmZpbGUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2xlYW5BY3Rpb25zKCkge1xuICAgIHRoaXMucHJldmlld0FjdGlvbnNcbiAgICAgIC5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbi5mb3JUeXBlcykge1xuICAgICAgICAgIC8vIHNhdmUgb3JpZ2luYWwgdHlwZVxuICAgICAgICAgIGNvbnN0IFtvcmlnaW5hbEZpbGVUeXBlLCBvcmlnaW5hbENvbnRlbnRUeXBlXSA9IHRoaXMuZmlsZS50eXBlLnNwbGl0KCcvJyk7XG4gICAgICAgICAgY29uc3QgdHlwZXM6IGFueSA9IGlzQXJyYXkoYWN0aW9uLmZvclR5cGVzKSA/IGFjdGlvbi5mb3JUeXBlcyA6IFthY3Rpb24uZm9yVHlwZXNdO1xuXG4gICAgICAgICAgLy8gTG9va2luZyBmb3IgYWxsb3dlZCB0eXBlXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0eXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgW2ZpbGVUeXBlLCBjb250ZW50VHlwZV0gPSB0eXBlc1tpXS5zcGxpdCgnLycpO1xuICAgICAgICAgICAgY29uc3QgYWxsb3dlZCA9IGZpbGVUeXBlID09PSBvcmlnaW5hbEZpbGVUeXBlICYmIChjb250ZW50VHlwZSA9PT0gb3JpZ2luYWxDb250ZW50VHlwZSB8fCBjb250ZW50VHlwZSA9PT0gJyonKTtcblxuICAgICAgICAgICAgaWYgKCFhbGxvd2VkKSB7XG4gICAgICAgICAgICAgIGFjdGlvbi5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJwcmV2aWV3V2lkdGhcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwicHJldmlld0hlaWdodFwiXG4gICAgY2xhc3M9XCJwcmV2aWV3LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwieyBcbiAgICAgICdoYXMtYWN0aW9ucyc6IChjaGlsZHJlblByZXZpZXdBY3Rpb25zLmxlbmd0aCAhPT0gMCB8fCBwcmV2aWV3QWN0aW9ucy5sZW5ndGggIT09IDApLCAgXG4gICAgICAndHlwZS1pbWFnZSc6IHR5cGVJbWFnZSxcbiAgICAgICdsb2FkZWQnOiBsb2FkZWQsXG4gICAgICAnc2hvdy1hY3Rpb24tYWx3YXlzJzogc2hvd0FjdGlvbk9uID09PSAnYWx3YXlzJ1xuICAgIH1cIj5cbiAgPCEtLSBJbWFnZSBjb250YWluZXIgLS0+XG4gIDxuZy1jb250YWluZXIgXG4gICAgICAqbmdJZj1cInR5cGVJbWFnZTsgZWxzZSBub25JbWFnZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZmlsZSB8IGZzRmlsZVNyYyB8IGFzeW5jKSBhcyBzcmNcIj5cbiAgICAgIDxpbWcgXG4gICAgICAgIFtzcmNdPVwic3JjXCIgXG4gICAgICAgIChsb2FkKT1cInByZXZpZXdMb2FkZWQoKVwiXG4gICAgICAgIChlcnJvcik9XCJwcmV2aWV3RXJyb3IoKVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkZXJcIj48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBOb24gaW1hZ2UgY29udGFpbmVyIC0tPlxuICA8bmctdGVtcGxhdGUgI25vbkltYWdlPlxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRldGFpbHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWljb25cIj5cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1leHRcIlxuICAgICAgICAgICAgW3N0eWxlLmZvbnRTaXplXT1cImV4dGVuc2lvbkZvbnRTaXplICsgJ3B4J1wiPlxuICAgICAgICAgIHt7ZmlsZS5leHRlbnNpb259fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1pY29uIFxuICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJpY29uRGltICsgJ3B4J1wiIFxuICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaWNvbkRpbSArICdweCdcIlxuICAgICAgICAgIFtzdHlsZS5mb250U2l6ZV09XCJpY29uRGltICsgJ3B4J1wiPmluc2VydF9kcml2ZV9maWxlPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWxlbmFtZSAmJiBmaWxlLm5hbWVcIj5cbiAgICAgICAgPGEgXG4gICAgICAgICAgICBjbGFzcz1cImZpbGUtbmFtZVwiIFxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZmlsZS5uYW1lXCI+XG4gICAgICAgICAge3tmaWxlLm5hbWV9fVxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByZXZpZXdBY3Rpb24gb2YgcHJldmlld0FjdGlvbnNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInByZXZpZXdBY3Rpb25UbXBsXCIgXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHByZXZpZXdBY3Rpb246IHByZXZpZXdBY3Rpb24gfVwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJldmlld0FjdGlvbiBvZiBjaGlsZHJlblByZXZpZXdBY3Rpb25zXCI+XG4gICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2aWV3QWN0aW9uVG1wbFwiIFxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBwcmV2aWV3QWN0aW9uOiBwcmV2aWV3QWN0aW9uIH1cIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxuICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImZpbGUucHJvZ3Jlc3NcIiBbZGlhbWV0ZXJdPVwiMzBcIj48L21hdC1zcGlubmVyPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJldmlld0FjdGlvblRtcGwgbGV0LXByZXZpZXdBY3Rpb249XCJwcmV2aWV3QWN0aW9uXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcHJldmlld0FjdGlvbi5oaWRlXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFjdGlvbiBtYXQtbWluaS1mYWIgbWF0LXByaW1hcnlcIiAgICAgIFxuICAgICAgICBbY2xhc3NdPVwicHJldmlld0FjdGlvbi5wbGFjZW1lbnRcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmV2aWV3QWN0aW9uLnRvb2x0aXBcIlxuICAgICAgICAoY2xpY2spPVwiY2FsbEFjdGlvbigkZXZlbnQsIHByZXZpZXdBY3Rpb24pXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdC1idXR0b24td3JhcHBlclwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJldmlld0FjdGlvbi50ZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT4iXX0= |
@@ -6,2 +6,3 @@ export class FileProcessConfig { | ||
this._orientate = true; | ||
this._heic = false; | ||
this.maxWidth = config.maxWidth; | ||
@@ -15,3 +16,3 @@ this.maxHeight = config.maxHeight; | ||
set maxWidth(value) { | ||
if (value !== void 0) { | ||
if (value !== undefined) { | ||
this._maxWidth = +value; | ||
@@ -24,3 +25,3 @@ } | ||
set maxHeight(value) { | ||
if (value !== void 0) { | ||
if (value !== undefined) { | ||
this._maxHeight = +value; | ||
@@ -68,2 +69,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcm9jZXNzLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZpbGUtcHJvY2Vzcy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGlCQUFpQjtJQVU1QixZQUFZLFNBQThCLEVBQUU7O1FBTnBDLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFJckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUd4QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQUEsTUFBTSxDQUFDLFNBQVMsbUNBQUksSUFBSSxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQUs7UUFDdkIsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLFNBQVMsQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsS0FBVTtRQUMzQixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsTUFBTSxDQUFDLEtBQW9CO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxTQUFTLENBQUMsS0FBSztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxTQUFTLENBQUMsS0FBSztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGc0ZpbGVQcm9jZXNzQ29uZmlnIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcblxuXG5leHBvcnQgY2xhc3MgRmlsZVByb2Nlc3NDb25maWcge1xuXG4gIHByaXZhdGUgX21heFdpZHRoOiBudW1iZXI7XG4gIHByaXZhdGUgX21heEhlaWdodDogbnVtYmVyO1xuICBwcml2YXRlIF9xdWFsaXR5OiBudW1iZXIgPSAxO1xuICBwcml2YXRlIF9mb3JtYXQ6ICdwbmcnIHwgJ2pwZyc7XG4gIHByaXZhdGUgX21pbldpZHRoOiBudW1iZXI7XG4gIHByaXZhdGUgX21pbkhlaWdodDogbnVtYmVyO1xuICBwcml2YXRlIF9vcmllbnRhdGUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRnNGaWxlUHJvY2Vzc0NvbmZpZyA9IHt9KSB7XG4gICAgdGhpcy5tYXhXaWR0aCA9IGNvbmZpZy5tYXhXaWR0aDtcbiAgICB0aGlzLm1heEhlaWdodCA9IGNvbmZpZy5tYXhIZWlnaHQ7XG4gICAgdGhpcy5mb3JtYXQgPSBjb25maWcuZm9ybWF0O1xuICAgIHRoaXMub3JpZW50YXRlID0gY29uZmlnLm9yaWVudGF0ZSA/PyB0cnVlO1xuICAgIHRoaXMubWluV2lkdGggPSBjb25maWcubWluV2lkdGg7XG4gICAgdGhpcy5taW5IZWlnaHQgPSBjb25maWcubWluSGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHNldCBtYXhXaWR0aCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdm9pZCAwKSB7XG4gICAgICB0aGlzLl9tYXhXaWR0aCA9ICt2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLl9tYXhXaWR0aDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbWF4SGVpZ2h0KHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlICE9PSB2b2lkIDApIHtcbiAgICAgIHRoaXMuX21heEhlaWdodCA9ICt2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHNldCBxdWFsaXR5KHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCB2YWwgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICBpZiAoIWlzTmFOKHZhbCkpIHtcbiAgICAgIHRoaXMuX3F1YWxpdHkgPSB2YWw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBxdWFsaXR5KCkge1xuICAgIHJldHVybiB0aGlzLl9xdWFsaXR5O1xuICB9XG5cbiAgcHVibGljIHNldCBmb3JtYXQodmFsdWU6ICdqcGcnIHwgJ3BuZycpIHtcbiAgICBpZiAoWydqcGcnLCAncG5nJ10uaW5kZXhPZih2YWx1ZSkgPiAtMSkge1xuICAgICAgdGhpcy5fZm9ybWF0ID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1hdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICB9XG5cbiAgcHVibGljIGdldCBvcmllbnRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29yaWVudGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgb3JpZW50YXRlKHZhbHVlKSB7XG4gICAgdGhpcy5fb3JpZW50YXRlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IG1pbldpZHRoKHZhbHVlKSB7XG4gICAgdGhpcy5fbWluV2lkdGggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWluV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21pbldpZHRoO1xuICB9XG5cbiAgcHVibGljIHNldCBtaW5IZWlnaHQodmFsdWUpIHtcbiAgICB0aGlzLl9taW5IZWlnaHQgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWluSGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLl9taW5IZWlnaHQ7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcm9jZXNzLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZpbGUtcHJvY2Vzcy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUFZLFNBQThCLEVBQUU7O1FBUHBDLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFJckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBR3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsU0FBUyxtQ0FBSSxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsS0FBSztRQUN2QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLFNBQVMsQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLEtBQVU7UUFDM0IsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE1BQU0sQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsU0FBUyxDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsU0FBUyxDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnNGaWxlUHJvY2Vzc0NvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5cbmV4cG9ydCBjbGFzcyBGaWxlUHJvY2Vzc0NvbmZpZyB7XG5cbiAgcHJpdmF0ZSBfbWF4V2lkdGg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfbWF4SGVpZ2h0OiBudW1iZXI7XG4gIHByaXZhdGUgX3F1YWxpdHk6IG51bWJlciA9IDE7XG4gIHByaXZhdGUgX2Zvcm1hdDogJ3BuZycgfCAnanBnJztcbiAgcHJpdmF0ZSBfbWluV2lkdGg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfbWluSGVpZ2h0OiBudW1iZXI7XG4gIHByaXZhdGUgX29yaWVudGF0ZSA9IHRydWU7XG4gIHByaXZhdGUgX2hlaWMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEZzRmlsZVByb2Nlc3NDb25maWcgPSB7fSkge1xuICAgIHRoaXMubWF4V2lkdGggPSBjb25maWcubWF4V2lkdGg7XG4gICAgdGhpcy5tYXhIZWlnaHQgPSBjb25maWcubWF4SGVpZ2h0O1xuICAgIHRoaXMuZm9ybWF0ID0gY29uZmlnLmZvcm1hdDtcbiAgICB0aGlzLm9yaWVudGF0ZSA9IGNvbmZpZy5vcmllbnRhdGUgPz8gdHJ1ZTtcbiAgICB0aGlzLm1pbldpZHRoID0gY29uZmlnLm1pbldpZHRoO1xuICAgIHRoaXMubWluSGVpZ2h0ID0gY29uZmlnLm1pbkhlaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbWF4V2lkdGgodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fbWF4V2lkdGggPSArdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4V2lkdGg7XG4gIH1cblxuICBwdWJsaWMgc2V0IG1heEhlaWdodCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9tYXhIZWlnaHQgPSArdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtYXhIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21heEhlaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcXVhbGl0eSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgaWYgKCFpc05hTih2YWwpKSB7XG4gICAgICB0aGlzLl9xdWFsaXR5ID0gdmFsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVhbGl0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVhbGl0eTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZm9ybWF0KHZhbHVlOiAnanBnJyB8ICdwbmcnKSB7XG4gICAgaWYgKFsnanBnJywgJ3BuZyddLmluZGV4T2YodmFsdWUpID4gLTEpIHtcbiAgICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9yaWVudGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fb3JpZW50YXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBvcmllbnRhdGUodmFsdWUpIHtcbiAgICB0aGlzLl9vcmllbnRhdGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbWluV2lkdGgodmFsdWUpIHtcbiAgICB0aGlzLl9taW5XaWR0aCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBtaW5XaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWluV2lkdGg7XG4gIH1cblxuICBwdWJsaWMgc2V0IG1pbkhlaWdodCh2YWx1ZSkge1xuICAgIHRoaXMuX21pbkhlaWdodCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBtaW5IZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21pbkhlaWdodDtcbiAgfVxufVxuIl19 |
import { FsApiFile } from '@firestitch/api'; | ||
import * as EXIF from '@firestitch/exif-js'; | ||
import * as FileAPI from 'fileapi'; | ||
import { Observable, of } from 'rxjs'; | ||
import { catchError, map, switchMap, tap } from 'rxjs/operators'; | ||
import * as FileAPI from 'fileapi'; | ||
export class FsFile { | ||
@@ -11,36 +11,39 @@ constructor(obj, filename) { | ||
this._fileExists = false; | ||
this._init(obj, filename); | ||
this._checkIfFileExists(); | ||
} | ||
_init(obj, filename) { | ||
if (obj instanceof File) { | ||
this.file = obj; | ||
return this.file = obj; | ||
} | ||
else { | ||
let type; | ||
let fileBlob = []; | ||
if (obj instanceof Blob) { | ||
fileBlob = [obj]; | ||
if (obj.type) { | ||
type = obj.type; | ||
if (!filename) { | ||
filename = 'file.' + obj.type.split('/').pop(); | ||
} | ||
let type; | ||
let fileBlob = []; | ||
if (obj instanceof Blob) { | ||
fileBlob = [obj]; | ||
if (obj.type) { | ||
type = obj.type; | ||
if (!filename) { | ||
filename = `file.${obj.type.split('/').pop()}`; | ||
} | ||
} | ||
else if (typeof obj === 'string') { | ||
const url = new URL(obj); | ||
filename = filename || url.pathname.split('/').pop(); | ||
this.url = url.href; | ||
} | ||
else if (obj instanceof FsApiFile) { | ||
this._apiFile = obj; | ||
filename = filename || this._apiFile.name; | ||
} | ||
if (filename) { | ||
const match = filename.toLowerCase().match(/([^\.]+)$/); | ||
this.extension = match ? match[1] : ''; | ||
const mime = this.extension.match(/(jpe?g|png|gif|tiff?|bmp|svg)/) ? 'image' : 'application'; | ||
type = mime + '/' + this.extension; | ||
} | ||
this.file = new File(fileBlob, filename, { type }); | ||
} | ||
this._checkIfFileExists(); | ||
else if (typeof obj === 'string') { | ||
const url = new URL(obj); | ||
filename = filename || url.pathname.split('/').pop(); | ||
this.url = url.href; | ||
} | ||
else if (obj instanceof FsApiFile) { | ||
this._apiFile = obj; | ||
filename = filename || this._apiFile.name; | ||
} | ||
if (filename) { | ||
const match = filename.toLowerCase().match(/([^\.]+)$/); | ||
this.extension = match ? match[1] : ''; | ||
type = `${this._getExtensionMime()}/${this.extension}`; | ||
} | ||
this.file = new File(fileBlob, filename, { type }); | ||
} | ||
_getExtensionMime() { | ||
return this.extension.match(/(jpe?g|png|gif|tiff?|bmp|svg|heic)/) ? 'image' : 'application'; | ||
} | ||
get imageWidth() { | ||
@@ -88,5 +91,2 @@ return new Promise((resolve, reject) => { | ||
} | ||
get name() { | ||
return this._name; | ||
} | ||
set file(value) { | ||
@@ -99,2 +99,5 @@ this._file = value; | ||
} | ||
get name() { | ||
return this._name; | ||
} | ||
set name(name) { | ||
@@ -162,3 +165,3 @@ this._name = name; | ||
this.file; | ||
var link = document.createElement('a'); | ||
const link = document.createElement('a'); | ||
link.href = href; | ||
@@ -178,3 +181,3 @@ link.download = this.name; | ||
imageWidth: this.imageWidth, | ||
imageHeight: this.imageHeight | ||
imageHeight: this.imageHeight, | ||
}; | ||
@@ -186,2 +189,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZzLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxJQUFJLE1BQU0scUJBQXFCLENBQUM7QUFFNUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFRLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pFLE1BQU0sT0FBTyxNQUFNO0lBaUJqQixZQUFZLEdBQWdDLEVBQUUsUUFBaUI7UUFmeEQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBS1IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFPMUIsSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQztZQUNULElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUVsQixJQUFJLEdBQUcsWUFBWSxJQUFJLEVBQUU7Z0JBQ3ZCLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVqQixJQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUU7b0JBQ1gsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7b0JBRWhCLElBQUcsQ0FBQyxRQUFRLEVBQUU7d0JBQ1osUUFBUSxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztxQkFDaEQ7aUJBQ0Y7YUFFRjtpQkFBTSxJQUFHLE9B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QUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFBO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZzQXBpRmlsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2FwaSc7XG5pbXBvcnQgKiBhcyBFWElGIGZyb20gJ0BmaXJlc3RpdGNoL2V4aWYtanMnO1xuXG5pbXBvcnQgKiBhcyBGaWxlQVBJIGZyb20gJ2ZpbGVhcGknO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuZXhwb3J0IGNsYXNzIEZzRmlsZSB7XG5cbiAgcHVibGljIHByb2dyZXNzID0gZmFsc2U7XG4gIHB1YmxpYyByb3RhdGU6IG51bWJlcjtcbiAgcHVibGljIGV4dGVuc2lvbjogc3RyaW5nO1xuICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuICBwdWJsaWMgdXJsID0gJyc7XG4gIHB1YmxpYyBzaXplOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfZmlsZTogYW55O1xuICBwcml2YXRlIF9uYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2ZpbGVFeGlzdHMgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaW1hZ2VXaWR0aDogbnVtYmVyO1xuICBwcml2YXRlIF9pbWFnZUhlaWdodDogbnVtYmVyO1xuICBwcml2YXRlIF9leGlmSW5mbzogYW55OyAgXG4gIHByaXZhdGUgX2FwaUZpbGU6IEZzQXBpRmlsZTtcblxuICBjb25zdHJ1Y3RvcihvYmo/OiBGaWxlfEJsb2J8c3RyaW5nfEZzQXBpRmlsZSwgZmlsZW5hbWU/OiBzdHJpbmcpIHsgICAgXG4gICAgaWYgKG9iaiBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgIHRoaXMuZmlsZSA9IG9iajtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHR5cGU7XG4gICAgICBsZXQgZmlsZUJsb2IgPSBbXTtcblxuICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICAgICAgZmlsZUJsb2IgPSBbb2JqXTtcblxuICAgICAgICBpZihvYmoudHlwZSkge1xuICAgICAgICAgIHR5cGUgPSBvYmoudHlwZTtcblxuICAgICAgICAgIGlmKCFmaWxlbmFtZSkge1xuICAgICAgICAgICAgZmlsZW5hbWUgPSAnZmlsZS4nICsgb2JqLnR5cGUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIGlmKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob2JqKTtcbiAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZSB8fCB1cmwucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgICAgICAgdGhpcy51cmwgPSB1cmwuaHJlZjtcbiAgICAgIH0gZWxzZSBpZiAob2JqIGluc3RhbmNlb2YgRnNBcGlGaWxlKSB7XG4gICAgICAgIHRoaXMuX2FwaUZpbGUgPSBvYmo7XG4gICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUgfHwgdGhpcy5fYXBpRmlsZS5uYW1lO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmlsZW5hbWUpIHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBmaWxlbmFtZS50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oW15cXC5dKykkLyk7XG4gICAgICAgIHRoaXMuZXh0ZW5zaW9uID0gbWF0Y2ggPyBtYXRjaFsxXSA6ICcnO1xuXG4gICAgICAgIGNvbnN0IG1pbWUgPSB0aGlzLmV4dGVuc2lvbi5tYXRjaCgvKGpwZT9nfHBuZ3xnaWZ8dGlmZj98Ym1wfHN2ZykvKSA/ICdpbWFnZScgOiAnYXBwbGljYXRpb24nO1xuICAgICAgICB0eXBlID0gbWltZSArICcvJyArIHRoaXMuZXh0ZW5zaW9uO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZpbGUgPSBuZXcgRmlsZShmaWxlQmxvYiwgZmlsZW5hbWUsIHsgdHlwZSB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGVja0lmRmlsZUV4aXN0cygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZVdpZHRoKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuaW1hZ2VJbmZvXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShkYXRhLmV4aWYpO1xuICAgICAgICB9LCByZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZUhlaWdodCgpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmltYWdlSW5mb1xuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoZGF0YS5oZWlnaHQpO1xuICAgICAgICB9LCByZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBleGlmSW5mbygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmltYWdlSW5mb1xuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoZGF0YS5leGlmKTtcbiAgICAgICAgfSwgcmVqZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHlwZUltYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUubWF0Y2goL15pbWFnZS8pICE9PSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlU3ZnKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUubWF0Y2goL1xcL3N2Zy8pO1xuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZVByb2Nlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZUltYWdlICYmICF0aGlzLnR5cGVTdmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFwaUZpbGUoKTogRnNBcGlGaWxlIHtcbiAgICByZXR1cm4gdGhpcy5fYXBpRmlsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhpc3RzKCkge1xuICAgIHJldHVybiB0aGlzLl9maWxlRXhpc3RzO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWxlKCkge1xuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG5cbiAgcHVibGljIHNldCBmaWxlKHZhbHVlOiBGaWxlKSB7XG4gICAgdGhpcy5fZmlsZSA9IHZhbHVlO1xuICAgIHRoaXMuc2l6ZSA9IHZhbHVlLnNpemU7XG4gICAgdGhpcy50eXBlID0gdmFsdWUudHlwZTtcbiAgICB0aGlzLm5hbWUgPSB2YWx1ZS5uYW1lO1xuICAgIHRoaXMuX2NoZWNrSWZGaWxlRXhpc3RzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IG5hbWUobmFtZSkge1xuICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgIGNvbnN0IHBhcnRzID0gU3RyaW5nKG5hbWUpLnNwbGl0KCcuJyk7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuZXh0ZW5zaW9uID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZUluZm8oKTogUHJvbWlzZTx7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyBleGlmOiBhbnkgfT4ge1xuICAgIGlmICghdGhpcy50eXBlSW1hZ2UgfHwgdGhpcy5fZXhpZkluZm8pIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICB3aWR0aDogdGhpcy5faW1hZ2VXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLl9pbWFnZUhlaWdodCxcbiAgICAgICAgZXhpZjogdGhpcy5fZXhpZkluZm8sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlmJCA9IG5ldyBPYnNlcnZhYmxlPGFueT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICBjb25zdCBmciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBmci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aWYgPSBFWElGLnJlYWRGcm9tQmluYXJ5RmlsZShmci5yZXN1bHQpO1xuICAgICAgICBpZihleGlmKSB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChleGlmKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdGYWlsZWQgdG8gcmVhZCBmcm9tIGJpbmFyeSBmaWxlJyk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGZyLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKGZyLmVycm9yKTtcbiAgICAgIH1cblxuICAgICAgZnIucmVhZEFzQXJyYXlCdWZmZXIodGhpcy5maWxlKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRpbXMkID0gbmV3IE9ic2VydmFibGU8YW55Pigob2JzZXJ2ZXIpID0+IHtcbiAgICAgIEZpbGVBUEkuZ2V0SW5mbyh0aGlzLmZpbGUsIChlcnIsIGluZm8pID0+IHtcbiAgICAgICAgaWYgKCFlcnIpIHtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KGluZm8pO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTsgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBvZih0cnVlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBkaW1zJFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFwKChkaW1zKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pbWFnZVdpZHRoID0gZGltcy53aWR0aDtcbiAgICAgICAgICAgIHRoaXMuX2ltYWdlSGVpZ2h0ID0gZGltcy5oZWlnaHQ7XG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih0cnVlKSksXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gZXhpZiRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRhcCgoZXhpZikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9leGlmSW5mbyA9IGV4aWYgfHwge307XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YodHJ1ZSkpLFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKCgpID0+ICh7XG4gICAgICAgICAgd2lkdGg6IHRoaXMuX2ltYWdlV2lkdGgsXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLl9pbWFnZUhlaWdodCxcbiAgICAgICAgICBleGlmOiB0aGlzLl9leGlmSW5mbyxcbiAgICAgICAgfSkpLFxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGRvd25sb2FkKCkge1xuICAgIGNvbnN0IGhyZWYgPSB0aGlzLmZpbGUgaW5zdGFuY2VvZiBGaWxlID9cbiAgICAgIFVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5maWxlKSA6XG4gICAgICB0aGlzLmZpbGU7XG5cbiAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsgXG4gICAgbGluay5ocmVmID0gaHJlZjtcbiAgICBsaW5rLmRvd25sb2FkID0gdGhpcy5uYW1lO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7IFxuICAgIGxpbmsuY2xpY2soKTtcbiAgICBsaW5rLnJlbW92ZSgpO1xuICB9XG5cbiAgcHVibGljIHRvT2JqZWN0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLl9uYW1lLFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgc2l6ZTogdGhpcy5zaXplLFxuICAgICAgcHJvZ3Jlc3M6IHRoaXMucHJvZ3Jlc3MsXG4gICAgICBleHRlbnNpb246IHRoaXMuZXh0ZW5zaW9uLFxuICAgICAgaW1hZ2VXaWR0aDogdGhpcy5pbWFnZVdpZHRoLFxuICAgICAgaW1hZ2VIZWlnaHQ6IHRoaXMuaW1hZ2VIZWlnaHRcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0lmRmlsZUV4aXN0cygpIHtcbiAgICB0aGlzLl9maWxlRXhpc3RzID0gISF0aGlzLnVybCB8fCAhIXRoaXMuc2l6ZSB8fCAhIXRoaXMuYXBpRmlsZTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZzLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxJQUFJLE1BQU0scUJBQXFCLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpFLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBR25DLE1BQU0sT0FBTyxNQUFNO0lBaUJqQixZQUFZLEdBQWdDLEVBQUUsUUFBaUI7UUFmeEQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBS1IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFPMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLEtBQUssQ0FBQyxHQUFnQyxFQUFFLFFBQWlCO1FBQy9ELElBQUksR0FBRyxZQUFZLElBQUksRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFO1lBQ3ZCLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWpCLElBQUcsR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDWCxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFFaEIsSUFBRyxDQUFDLFFB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LENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFWixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZzQXBpRmlsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2FwaSc7XG5pbXBvcnQgKiBhcyBFWElGIGZyb20gJ0BmaXJlc3RpdGNoL2V4aWYtanMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0ICogYXMgRmlsZUFQSSBmcm9tICdmaWxlYXBpJztcblxuXG5leHBvcnQgY2xhc3MgRnNGaWxlIHtcblxuICBwdWJsaWMgcHJvZ3Jlc3MgPSBmYWxzZTtcbiAgcHVibGljIHJvdGF0ZTogbnVtYmVyO1xuICBwdWJsaWMgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gIHB1YmxpYyB0eXBlOiBzdHJpbmc7XG4gIHB1YmxpYyB1cmwgPSAnJztcbiAgcHVibGljIHNpemU6IG51bWJlcjtcblxuICBwcml2YXRlIF9maWxlOiBhbnk7XG4gIHByaXZhdGUgX25hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfZmlsZUV4aXN0cyA9IGZhbHNlO1xuICBwcml2YXRlIF9pbWFnZVdpZHRoOiBudW1iZXI7XG4gIHByaXZhdGUgX2ltYWdlSGVpZ2h0OiBudW1iZXI7XG4gIHByaXZhdGUgX2V4aWZJbmZvOiBhbnk7XG4gIHByaXZhdGUgX2FwaUZpbGU6IEZzQXBpRmlsZTtcblxuICBjb25zdHJ1Y3RvcihvYmo/OiBGaWxlfEJsb2J8c3RyaW5nfEZzQXBpRmlsZSwgZmlsZW5hbWU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pbml0KG9iaiwgZmlsZW5hbWUpO1xuICAgIHRoaXMuX2NoZWNrSWZGaWxlRXhpc3RzKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0KG9iaj86IEZpbGV8QmxvYnxzdHJpbmd8RnNBcGlGaWxlLCBmaWxlbmFtZT86IHN0cmluZykge1xuICAgIGlmIChvYmogaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWxlID0gb2JqO1xuICAgIH1cblxuICAgIGxldCB0eXBlO1xuICAgIGxldCBmaWxlQmxvYiA9IFtdO1xuICAgIGlmIChvYmogaW5zdGFuY2VvZiBCbG9iKSB7XG4gICAgICBmaWxlQmxvYiA9IFtvYmpdO1xuXG4gICAgICBpZihvYmoudHlwZSkge1xuICAgICAgICB0eXBlID0gb2JqLnR5cGU7XG5cbiAgICAgICAgaWYoIWZpbGVuYW1lKSB7XG4gICAgICAgICAgZmlsZW5hbWUgPSBgZmlsZS4keyAgb2JqLnR5cGUuc3BsaXQoJy8nKS5wb3AoKX1gO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9IGVsc2UgaWYodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob2JqKTtcbiAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUgfHwgdXJsLnBhdGhuYW1lLnNwbGl0KCcvJykucG9wKCk7XG4gICAgICB0aGlzLnVybCA9IHVybC5ocmVmO1xuICAgIH0gZWxzZSBpZiAob2JqIGluc3RhbmNlb2YgRnNBcGlGaWxlKSB7XG4gICAgICB0aGlzLl9hcGlGaWxlID0gb2JqO1xuICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZSB8fCB0aGlzLl9hcGlGaWxlLm5hbWU7XG4gICAgfVxuXG4gICAgaWYgKGZpbGVuYW1lKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IGZpbGVuYW1lLnRvTG93ZXJDYXNlKCkubWF0Y2goLyhbXlxcLl0rKSQvKTtcbiAgICAgIHRoaXMuZXh0ZW5zaW9uID0gbWF0Y2ggPyBtYXRjaFsxXSA6ICcnO1xuICAgICAgdHlwZSA9IGAke3RoaXMuX2dldEV4dGVuc2lvbk1pbWUoKX0vJHt0aGlzLmV4dGVuc2lvbn1gO1xuICAgIH1cblxuICAgIHRoaXMuZmlsZSA9IG5ldyBGaWxlKGZpbGVCbG9iLCBmaWxlbmFtZSwgeyB0eXBlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXh0ZW5zaW9uTWltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbnNpb24ubWF0Y2goLyhqcGU/Z3xwbmd8Z2lmfHRpZmY/fGJtcHxzdmd8aGVpYykvKSA/ICdpbWFnZScgOiAnYXBwbGljYXRpb24nO1xuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZVdpZHRoKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuaW1hZ2VJbmZvXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShkYXRhLmV4aWYpO1xuICAgICAgICB9LCByZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZUhlaWdodCgpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmltYWdlSW5mb1xuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoZGF0YS5oZWlnaHQpO1xuICAgICAgICB9LCByZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBleGlmSW5mbygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmltYWdlSW5mb1xuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoZGF0YS5leGlmKTtcbiAgICAgICAgfSwgcmVqZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHlwZUltYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUubWF0Y2goL15pbWFnZS8pICE9PSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlU3ZnKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUubWF0Y2goL1xcL3N2Zy8pO1xuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZVByb2Nlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZUltYWdlICYmICF0aGlzLnR5cGVTdmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFwaUZpbGUoKTogRnNBcGlGaWxlIHtcbiAgICByZXR1cm4gdGhpcy5fYXBpRmlsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhpc3RzKCkge1xuICAgIHJldHVybiB0aGlzLl9maWxlRXhpc3RzO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWxlKCkge1xuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG5cbiAgcHVibGljIHNldCBmaWxlKHZhbHVlOiBGaWxlKSB7XG4gICAgdGhpcy5fZmlsZSA9IHZhbHVlO1xuICAgIHRoaXMuc2l6ZSA9IHZhbHVlLnNpemU7XG4gICAgdGhpcy50eXBlID0gdmFsdWUudHlwZTtcbiAgICB0aGlzLm5hbWUgPSB2YWx1ZS5uYW1lO1xuICAgIHRoaXMuX2NoZWNrSWZGaWxlRXhpc3RzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IG5hbWUobmFtZSkge1xuICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgIGNvbnN0IHBhcnRzID0gU3RyaW5nKG5hbWUpLnNwbGl0KCcuJyk7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuZXh0ZW5zaW9uID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpbWFnZUluZm8oKTogUHJvbWlzZTx7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyBleGlmOiBhbnkgfT4ge1xuICAgIGlmICghdGhpcy50eXBlSW1hZ2UgfHwgdGhpcy5fZXhpZkluZm8pIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICB3aWR0aDogdGhpcy5faW1hZ2VXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLl9pbWFnZUhlaWdodCxcbiAgICAgICAgZXhpZjogdGhpcy5fZXhpZkluZm8sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlmJCA9IG5ldyBPYnNlcnZhYmxlPGFueT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICBjb25zdCBmciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBmci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aWYgPSBFWElGLnJlYWRGcm9tQmluYXJ5RmlsZShmci5yZXN1bHQpO1xuICAgICAgICBpZihleGlmKSB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChleGlmKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdGYWlsZWQgdG8gcmVhZCBmcm9tIGJpbmFyeSBmaWxlJyk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGZyLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKGZyLmVycm9yKTtcbiAgICAgIH07XG5cbiAgICAgIGZyLnJlYWRBc0FycmF5QnVmZmVyKHRoaXMuZmlsZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBkaW1zJCA9IG5ldyBPYnNlcnZhYmxlPGFueT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICBGaWxlQVBJLmdldEluZm8odGhpcy5maWxlLCAoZXJyLCBpbmZvKSA9PiB7XG4gICAgICAgIGlmICghZXJyKSB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChpbmZvKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9mKHRydWUpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IGRpbXMkXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGRpbXMpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5faW1hZ2VXaWR0aCA9IGRpbXMud2lkdGg7XG4gICAgICAgICAgICAgIHRoaXMuX2ltYWdlSGVpZ2h0ID0gZGltcy5oZWlnaHQ7XG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih0cnVlKSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IGV4aWYkXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGV4aWYpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fZXhpZkluZm8gPSBleGlmIHx8IHt9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHRydWUpKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBtYXAoKCkgPT4gKHtcbiAgICAgICAgICB3aWR0aDogdGhpcy5faW1hZ2VXaWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IHRoaXMuX2ltYWdlSGVpZ2h0LFxuICAgICAgICAgIGV4aWY6IHRoaXMuX2V4aWZJbmZvLFxuICAgICAgICB9KSksXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWQoKSB7XG4gICAgY29uc3QgaHJlZiA9IHRoaXMuZmlsZSBpbnN0YW5jZW9mIEZpbGUgP1xuICAgICAgVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLmZpbGUpIDpcbiAgICAgIHRoaXMuZmlsZTtcblxuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gaHJlZjtcbiAgICBsaW5rLmRvd25sb2FkID0gdGhpcy5uYW1lO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgbGluay5jbGljaygpO1xuICAgIGxpbmsucmVtb3ZlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9PYmplY3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMuX25hbWUsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBzaXplOiB0aGlzLnNpemUsXG4gICAgICBwcm9ncmVzczogdGhpcy5wcm9ncmVzcyxcbiAgICAgIGV4dGVuc2lvbjogdGhpcy5leHRlbnNpb24sXG4gICAgICBpbWFnZVdpZHRoOiB0aGlzLmltYWdlV2lkdGgsXG4gICAgICBpbWFnZUhlaWdodDogdGhpcy5pbWFnZUhlaWdodCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tJZkZpbGVFeGlzdHMoKSB7XG4gICAgdGhpcy5fZmlsZUV4aXN0cyA9ICEhdGhpcy51cmwgfHwgISF0aGlzLnNpemUgfHwgISF0aGlzLmFwaUZpbGU7XG4gIH1cbn1cbiJdfQ== |
@@ -30,3 +30,3 @@ import { EventEmitter, Inject, Injectable, Optional } from '@angular/core'; | ||
this._acceptableExts.clear(); | ||
this.parseAcceptTypes(value); | ||
this._parseAcceptTypes(value); | ||
this._accept = [ | ||
@@ -38,3 +38,3 @@ ...Array.from(this._acceptableTypes) | ||
...Array.from(values) | ||
.map((value) => `${key}/${value}`), | ||
.map((item) => `${key}/${item}`), | ||
]; | ||
@@ -50,2 +50,3 @@ }, []), | ||
* Initialize service for target element | ||
* | ||
* @param el | ||
@@ -97,3 +98,3 @@ */ | ||
...this._clickInterceptors || [], | ||
new ClickInterceptor() | ||
new ClickInterceptor(), | ||
]; | ||
@@ -122,4 +123,4 @@ const interceptorChain = interceptors.reduceRight((next, interceptor) => new FileClickHandler(next, interceptor), null); | ||
} | ||
ext = (ext + '').toLowerCase(); | ||
const acceptableFile = this.checkAcceptableTypes(file.type, ext); | ||
ext = (`${ext}`).toLowerCase(); | ||
const acceptableFile = this._checkAcceptableTypes(file.type, ext); | ||
if (!acceptableFile) { | ||
@@ -142,2 +143,3 @@ declinedFiles.push(file); | ||
* Check if file mimetype or extention is acceptable by @accept field | ||
* | ||
* @param targetType | ||
@@ -147,3 +149,3 @@ * @param targetExt | ||
*/ | ||
checkAcceptableTypes(targetType, targetExt) { | ||
_checkAcceptableTypes(targetType, targetExt) { | ||
targetType = targetType.trim(); | ||
@@ -159,5 +161,6 @@ const [type, ext] = targetType.split('/'); | ||
* Parset and store acceptable types for feature filter | ||
* | ||
* @param types | ||
*/ | ||
parseAcceptTypes(value) { | ||
_parseAcceptTypes(value) { | ||
let types = []; | ||
@@ -214,2 +217,2 @@ if (typeof value === 'string') { | ||
}] }]; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcHJvY2Vzc29yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2lucHV0LXByb2Nlc3Nvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQXdCLE1BQU0sWUFBWSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUluQyxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUN5RCxrQkFBMEM7UUFBMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QjtRQWY1RixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFFBQUcsR0FBZ0MsSUFBSSxDQUFDO1FBR3hDLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDL0MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUIsWUFBTyxHQUFHLEdBQUcsQ0FBQztRQUNkLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzVCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUk1QyxDQUFDO0lBRUwsSUFBVyxNQUFNO1FBQ2Ys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QXJCLHFCQUFxQjtrQkFEakMsVUFBVTs7MEJBb0JOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0ICogYXMgRmlsZUFQSSBmcm9tICdmaWxlYXBpJztcbmltcG9ydCB7IEZpbGVDbGlja0hhbmRsZXIsIEZpbGVDbGlja0ludGVyY2VwdG9yIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBDbGlja0ludGVyY2VwdG9yIH0gZnJvbSAnLi4vY2xhc3Nlcy9jbGljay1pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBGU19GSUxFX0NMSUNLX0lOVEVSQ0VQVE9SIH0gZnJvbSAnLi4vaW5qZWN0b3JzJztcbmltcG9ydCB7IEZzRmlsZSB9IGZyb20gJy4uL21vZGVscyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElucHV0UHJvY2Vzc29yU2VydmljZSB7XG5cbiAgcHVibGljIGNvbnRhaW5lckVsOiBhbnk7XG4gIHB1YmxpYyBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50O1xuICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcbiAgcHVibGljIGFwaTogJ2h0bWw1JyB8ICdhbnknIHwgJ2NvcmRvdmEnID0gbnVsbDtcbiAgcHVibGljIGNhcHR1cmU6ICdjYW1lcmEnIHwgJ2xpYnJhcnknO1xuICBwdWJsaWMgZGlzYWJsZWQ7XG4gIHB1YmxpYyBhbGxvd0NsaWNrID0gdHJ1ZTtcbiAgcHVibGljIGFsbG93RHJvcCA9IHRydWU7XG4gIHB1YmxpYyBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZzRmlsZSB8IEZzRmlsZVtdPigpO1xuICBwdWJsaWMgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIF9hY2NlcHQgPSAnKic7XG4gIHByaXZhdGUgX2FjY2VwdGFibGVUeXBlcyA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBfYWNjZXB0YWJsZUV4dHMgPSBuZXcgU2V0KCk7XG4gIHByaXZhdGUgX2RlY2xpbmVkRmlsZXMkID0gbmV3IFN1YmplY3Q8RmlsZVtdPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfRklMRV9DTElDS19JTlRFUkNFUFRPUikgcHJpdmF0ZSBfY2xpY2tJbnRlcmNlcHRvcnM6IEZpbGVDbGlja0ludGVyY2VwdG9yW10sXG4gICkgeyB9XG5cbiAgcHVibGljIGdldCBhY2NlcHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjY2VwdDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWNjZXB0KHZhbHVlKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSB8fCAnKic7XG4gICAgdGhpcy5fYWNjZXB0YWJsZVR5cGVzLmNsZWFyKCk7XG4gICAgdGhpcy5fYWNjZXB0YWJsZUV4dHMuY2xlYXIoKTtcbiAgICB0aGlzLnBhcnNlQWNjZXB0VHlwZXModmFsdWUpO1xuXG4gICAgdGhpcy5fYWNjZXB0ID0gW1xuICAgICAgLi4uQXJyYXkuZnJvbSh0aGlzLl9hY2NlcHRhYmxlVHlwZXMpXG4gICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBba2V5LCB2YWx1ZXNdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh2YWx1ZXMpXG4gICAgICAgICAgICAgIC5tYXAoKHZhbHVlKSA9PiBgJHtrZXl9LyR7dmFsdWV9YCksXG4gICAgICAgICAgXTtcbiAgICAgICAgfSwgW10pLFxuICAgICAgLi4uQXJyYXkuZnJvbSh0aGlzLl9hY2NlcHRhYmxlRXh0cykudmFsdWVzKCksXG4gICAgXS5qb2luKCcsJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlY2xpbmVkRmlsZXMkKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWNsaW5lZEZpbGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHNlcnZpY2UgZm9yIHRhcmdldCBlbGVtZW50XG4gICAqIEBwYXJhbSBlbFxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVySW5wdXQoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAoIWVsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlucHV0RWwgPSBlbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgRmlsZUFQSS5ldmVudC5vbih0aGlzLmlucHV0RWwsICdjaGFuZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICghdGhpcy5hbGxvd0NsaWNrKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZXMgPSBGaWxlQVBJLmdldEZpbGVzKGV2ZW50KTtcblxuICAgICAgaWYgKGZpbGVzKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsZXMoZmlsZXMpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmlucHV0RWwudmFsdWUgPSBudWxsO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyRHJvcChlbDogRWxlbWVudFJlZikge1xuICAgIGlmICghZWwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuY29udGFpbmVyRWwgPSBlbC5uYXRpdmVFbGVtZW50O1xuICAgIEZpbGVBUEkuZXZlbnQub24odGhpcy5jb250YWluZXJFbCwgJ2Ryb3AnLCAoZXZlbnQpID0+IHtcblxuICAgICAgaWYgKCF0aGlzLmFsbG93RHJvcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVzID0gRmlsZUFQSS5nZXRGaWxlcyhldmVudCk7XG5cbiAgICAgIGlmIChmaWxlcykge1xuICAgICAgICB0aGlzLnNlbGVjdEZpbGVzKGZpbGVzKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gbnVsbDtcblxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyTGFiZWwoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAoIWVsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBGaWxlQVBJLmV2ZW50Lm9uKGVsLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFsbG93Q2xpY2spIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgdGhpcy5jbGlja2VkLm5leHQoZXZlbnQpO1xuXG4gICAgICAgIGNvbnN0IGludGVyY2VwdG9yczogRmlsZUNsaWNrSW50ZXJjZXB0b3JbXSA9IFtcbiAgICAgICAgICAuLi50aGlzLl9jbGlja0ludGVyY2VwdG9ycyB8fCBbXSxcbiAgICAgICAgICBuZXcgQ2xpY2tJbnRlcmNlcHRvcigpXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgaW50ZXJjZXB0b3JDaGFpbjogRmlsZUNsaWNrSGFuZGxlciA9IGludGVyY2VwdG9ycy5yZWR1Y2VSaWdodChcbiAgICAgICAgICAobmV4dDogRmlsZUNsaWNrSGFuZGxlciwgaW50ZXJjZXB0b3I6IEZpbGVDbGlja0ludGVyY2VwdG9yKSA9PiBuZXcgRmlsZUNsaWNrSGFuZGxlcihuZXh0LCBpbnRlcmNlcHRvciksIG51bGwpO1xuXG4gICAgICAgIGludGVyY2VwdG9yQ2hhaW4uaGFuZGxlKGV2ZW50LCB0aGlzKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FjY2VwdFZpZGVvKCkge1xuICAgIHJldHVybiB0aGlzLmFjY2VwdC5tYXRjaCgvdmlkZW8vaSkgfHwgdGhpcy5hY2NlcHQgPT09ICcqJztcbiAgfVxuXG4gIHB1YmxpYyBpc0FjY2VwdEltYWdlKCkge1xuICAgIHJldHVybiB0aGlzLmFjY2VwdC5tYXRjaCgvaW1hZ2UvaSkgfHwgdGhpcy5hY2NlcHQgPT09ICcqJztcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgY29uc3QgZGVjbGluZWRGaWxlcyA9IFtdO1xuICAgIGNvbnN0IGZzRmlsZXMgPSBmaWxlc1xuICAgICAgLm1hcCgoZmlsZSkgPT4gbmV3IEZzRmlsZShmaWxlKSlcbiAgICAgIC5maWx0ZXIoKGZpbGUpID0+IHtcbiAgICAgICAgY29uc3QgbmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJyk7XG4gICAgICAgIGxldCBleHQ7XG4gICAgICAgIGlmIChuYW1lUGFydHMgJiYgQXJyYXkuaXNBcnJheShuYW1lUGFydHMpKSB7XG4gICAgICAgICAgZXh0ID0gbmFtZVBhcnRzW25hbWVQYXJ0cy5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV4dCA9IChleHQgKyAnJykudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgYWNjZXB0YWJsZUZpbGUgPSB0aGlzLmNoZWNrQWNjZXB0YWJsZVR5cGVzKGZpbGUudHlwZSwgZXh0KTtcblxuICAgICAgICBpZiAoIWFjY2VwdGFibGVGaWxlKSB7XG4gICAgICAgICAgZGVjbGluZWRGaWxlcy5wdXNoKGZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjY2VwdGFibGVGaWxlO1xuICAgICAgfSk7XG5cbiAgICBpZiAoZGVjbGluZWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9kZWNsaW5lZEZpbGVzJC5uZXh0KGRlY2xpbmVkRmlsZXMpO1xuICAgIH1cblxuICAgIGlmIChmaWxlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuc2VsZWN0LmVtaXQoZnNGaWxlc1swXSk7XG4gICAgfSBlbHNlIGlmIChmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNlbGVjdC5lbWl0KGZzRmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBmaWxlIG1pbWV0eXBlIG9yIGV4dGVudGlvbiBpcyBhY2NlcHRhYmxlIGJ5IEBhY2NlcHQgZmllbGRcbiAgICogQHBhcmFtIHRhcmdldFR5cGVcbiAgICogQHBhcmFtIHRhcmdldEV4dFxuICAgKiBAcmV0dXJucyBib29sZWFuXG4gICAqL1xuICBwcml2YXRlIGNoZWNrQWNjZXB0YWJsZVR5cGVzKHRhcmdldFR5cGUsIHRhcmdldEV4dCkge1xuICAgIHRhcmdldFR5cGUgPSB0YXJnZXRUeXBlLnRyaW0oKTtcbiAgICBjb25zdCBbdHlwZSwgZXh0XSA9IHRhcmdldFR5cGUuc3BsaXQoJy8nKTtcbiAgICBjb25zdCBhY2NlcHRhYmxlVHlwZSA9IHRoaXMuX2FjY2VwdGFibGVUeXBlcy5nZXQodHlwZSk7XG5cbiAgICByZXR1cm4gdGhpcy5hY2NlcHQgPT09ICcqJ1xuICAgICAgfHwgdGhpcy5hY2NlcHQgPT09ICcqLyonXG4gICAgICB8fCAoISFhY2NlcHRhYmxlVHlwZSAmJiAoYWNjZXB0YWJsZVR5cGUuaGFzKCcqJykgfHwgYWNjZXB0YWJsZVR5cGUuaGFzKGV4dCkpKVxuICAgICAgfHwgdGhpcy5fYWNjZXB0YWJsZUV4dHMuaGFzKGAuJHt0YXJnZXRFeHR9YCk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2V0IGFuZCBzdG9yZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBmZWF0dXJlIGZpbHRlclxuICAgKiBAcGFyYW0gdHlwZXNcbiAgICovXG4gIHByaXZhdGUgcGFyc2VBY2NlcHRUeXBlcyh2YWx1ZSkge1xuICAgIGxldCB0eXBlcyA9IFtdO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0eXBlcyA9IHZhbHVlLnNwbGl0KC9bLDtdLyk7XG4gICAgfVxuXG4gICAgaWYgKCF0eXBlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0eXBlcyA9IHR5cGVzXG4gICAgICAubWFwKCh0eXBlKSA9PiB0eXBlLnRyaW0oKSk7XG5cbiAgICB0eXBlcy5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgICBpZiAocGFydCA9PT0gJyonKSB7XG4gICAgICAgIHRoaXMuX2FjY2VwdGFibGVFeHRzLmFkZCgnKicpO1xuICAgICAgfSBlbHNlIGlmIChwYXJ0LmluZGV4T2YoJy8nKSAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgW3R5cGUsIGV4dF0gPSBwYXJ0LnNwbGl0KCcvJyk7XG4gICAgICAgIGlmICh0aGlzLl9hY2NlcHRhYmxlVHlwZXMuaGFzKHR5cGUpKSB7XG4gICAgICAgICAgY29uc3QgZXhpc3RlZFR5cGUgPSB0aGlzLl9hY2NlcHRhYmxlVHlwZXMuZ2V0KHR5cGUpO1xuXG4gICAgICAgICAgaWYgKCFleGlzdGVkVHlwZS5oYXMoZXh0KSkge1xuICAgICAgICAgICAgZXhpc3RlZFR5cGUuYWRkKGV4dCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgdGhpcy5fYWNjZXB0YWJsZVR5cGVzLnNldCh0eXBlLCBleHRlbnNpb25zKTtcbiAgICAgICAgICBleHRlbnNpb25zLmFkZChleHQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHBhcnQuaW5kZXhPZignLicpICE9PSAtMSkge1xuICAgICAgICBwYXJ0ID0gcGFydC5yZXBsYWNlKC9eXFwqLywgJycpO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2VwdGFibGVFeHRzLmhhcyhwYXJ0KSkge1xuICAgICAgICAgIHRoaXMuX2FjY2VwdGFibGVFeHRzLmFkZChwYXJ0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwYXJ0Lm1hdGNoKC9bYS16MC05XXszLDR9L2kpKSB7XG4gICAgICAgIGlmICghdGhpcy5fYWNjZXB0YWJsZUV4dHMuaGFzKHBhcnQpKSB7XG4gICAgICAgICAgdGhpcy5fYWNjZXB0YWJsZUV4dHMuYWRkKGAuJHtwYXJ0fWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcHJvY2Vzc29yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2lucHV0LXByb2Nlc3Nvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQXdCLE1BQU0sWUFBWSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUluQyxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUN5RCxrQkFBMEM7UUFBMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QjtRQWY1RixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFFBQUcsR0FBZ0MsSUFBSSxDQUFDO1FBR3hDLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDL0MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUIsWUFBTyxHQUFHLEdBQUcsQ0FBQztRQUNkLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzVCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUk1QyxDQUFDO0lBRUwsSUFBVyxNQUFNO1FBQ2Ys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NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVTs7MEJBb0JOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0ICogYXMgRmlsZUFQSSBmcm9tICdmaWxlYXBpJztcblxuaW1wb3J0IHsgRmlsZUNsaWNrSGFuZGxlciwgRmlsZUNsaWNrSW50ZXJjZXB0b3IgfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IENsaWNrSW50ZXJjZXB0b3IgfSBmcm9tICcuLi9jbGFzc2VzL2NsaWNrLWludGVyY2VwdG9yJztcbmltcG9ydCB7IEZTX0ZJTEVfQ0xJQ0tfSU5URVJDRVBUT1IgfSBmcm9tICcuLi9pbmplY3RvcnMnO1xuaW1wb3J0IHsgRnNGaWxlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW5wdXRQcm9jZXNzb3JTZXJ2aWNlIHtcblxuICBwdWJsaWMgY29udGFpbmVyRWw6IGFueTtcbiAgcHVibGljIGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuICBwdWJsaWMgYXBpOiAnaHRtbDUnIHwgJ2FueScgfCAnY29yZG92YScgPSBudWxsO1xuICBwdWJsaWMgY2FwdHVyZTogJ2NhbWVyYScgfCAnbGlicmFyeSc7XG4gIHB1YmxpYyBkaXNhYmxlZDtcbiAgcHVibGljIGFsbG93Q2xpY2sgPSB0cnVlO1xuICBwdWJsaWMgYWxsb3dEcm9wID0gdHJ1ZTtcbiAgcHVibGljIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RnNGaWxlIHwgRnNGaWxlW10+KCk7XG4gIHB1YmxpYyBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX2FjY2VwdCA9ICcqJztcbiAgcHJpdmF0ZSBfYWNjZXB0YWJsZVR5cGVzID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIF9hY2NlcHRhYmxlRXh0cyA9IG5ldyBTZXQoKTtcbiAgcHJpdmF0ZSBfZGVjbGluZWRGaWxlcyQgPSBuZXcgU3ViamVjdDxGaWxlW10+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19GSUxFX0NMSUNLX0lOVEVSQ0VQVE9SKSBwcml2YXRlIF9jbGlja0ludGVyY2VwdG9yczogRmlsZUNsaWNrSW50ZXJjZXB0b3JbXSxcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0IGFjY2VwdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWNjZXB0O1xuICB9XG5cbiAgcHVibGljIHNldCBhY2NlcHQodmFsdWUpIHtcbiAgICB2YWx1ZSA9IHZhbHVlIHx8ICcqJztcbiAgICB0aGlzLl9hY2NlcHRhYmxlVHlwZXMuY2xlYXIoKTtcbiAgICB0aGlzLl9hY2NlcHRhYmxlRXh0cy5jbGVhcigpO1xuICAgIHRoaXMuX3BhcnNlQWNjZXB0VHlwZXModmFsdWUpO1xuXG4gICAgdGhpcy5fYWNjZXB0ID0gW1xuICAgICAgLi4uQXJyYXkuZnJvbSh0aGlzLl9hY2NlcHRhYmxlVHlwZXMpXG4gICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBba2V5LCB2YWx1ZXNdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh2YWx1ZXMpXG4gICAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IGAke2tleX0vJHtpdGVtfWApLFxuICAgICAgICAgIF07XG4gICAgICAgIH0sIFtdKSxcbiAgICAgIC4uLkFycmF5LmZyb20odGhpcy5fYWNjZXB0YWJsZUV4dHMpLnZhbHVlcygpLFxuICAgIF0uam9pbignLCcpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWNsaW5lZEZpbGVzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVjbGluZWRGaWxlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBzZXJ2aWNlIGZvciB0YXJnZXQgZWxlbWVudFxuICAgKlxuICAgKiBAcGFyYW0gZWxcbiAgICovXG4gIHB1YmxpYyByZWdpc3RlcklucHV0KGVsOiBFbGVtZW50UmVmKSB7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRFbCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBGaWxlQVBJLmV2ZW50Lm9uKHRoaXMuaW5wdXRFbCwgJ2NoYW5nZScsIChldmVudCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFsbG93Q2xpY2spIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWxlcyA9IEZpbGVBUEkuZ2V0RmlsZXMoZXZlbnQpO1xuXG4gICAgICBpZiAoZmlsZXMpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGaWxlcyhmaWxlcyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5wdXRFbC52YWx1ZSA9IG51bGw7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJEcm9wKGVsOiBFbGVtZW50UmVmKSB7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29udGFpbmVyRWwgPSBlbC5uYXRpdmVFbGVtZW50O1xuICAgIEZpbGVBUEkuZXZlbnQub24odGhpcy5jb250YWluZXJFbCwgJ2Ryb3AnLCAoZXZlbnQpID0+IHtcblxuICAgICAgaWYgKCF0aGlzLmFsbG93RHJvcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVzID0gRmlsZUFQSS5nZXRGaWxlcyhldmVudCk7XG5cbiAgICAgIGlmIChmaWxlcykge1xuICAgICAgICB0aGlzLnNlbGVjdEZpbGVzKGZpbGVzKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gbnVsbDtcblxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyTGFiZWwoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAoIWVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgRmlsZUFQSS5ldmVudC5vbihlbC5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICghdGhpcy5hbGxvd0NsaWNrKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgIHRoaXMuY2xpY2tlZC5uZXh0KGV2ZW50KTtcblxuICAgICAgICBjb25zdCBpbnRlcmNlcHRvcnM6IEZpbGVDbGlja0ludGVyY2VwdG9yW10gPSBbXG4gICAgICAgICAgLi4udGhpcy5fY2xpY2tJbnRlcmNlcHRvcnMgfHwgW10sXG4gICAgICAgICAgbmV3IENsaWNrSW50ZXJjZXB0b3IoKSxcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBpbnRlcmNlcHRvckNoYWluOiBGaWxlQ2xpY2tIYW5kbGVyID0gaW50ZXJjZXB0b3JzLnJlZHVjZVJpZ2h0KFxuICAgICAgICAgIChuZXh0OiBGaWxlQ2xpY2tIYW5kbGVyLCBpbnRlcmNlcHRvcjogRmlsZUNsaWNrSW50ZXJjZXB0b3IpID0+IG5ldyBGaWxlQ2xpY2tIYW5kbGVyKG5leHQsIGludGVyY2VwdG9yKSwgbnVsbCk7XG5cbiAgICAgICAgaW50ZXJjZXB0b3JDaGFpbi5oYW5kbGUoZXZlbnQsIHRoaXMpXG4gICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGlzQWNjZXB0VmlkZW8oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWNjZXB0Lm1hdGNoKC92aWRlby9pKSB8fCB0aGlzLmFjY2VwdCA9PT0gJyonO1xuICB9XG5cbiAgcHVibGljIGlzQWNjZXB0SW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWNjZXB0Lm1hdGNoKC9pbWFnZS9pKSB8fCB0aGlzLmFjY2VwdCA9PT0gJyonO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEZpbGVzKGZpbGVzOiBGaWxlW10pIHtcbiAgICBjb25zdCBkZWNsaW5lZEZpbGVzID0gW107XG4gICAgY29uc3QgZnNGaWxlcyA9IGZpbGVzXG4gICAgICAubWFwKChmaWxlKSA9PiBuZXcgRnNGaWxlKGZpbGUpKVxuICAgICAgLmZpbHRlcigoZmlsZSkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKTtcbiAgICAgICAgbGV0IGV4dDtcbiAgICAgICAgaWYgKG5hbWVQYXJ0cyAmJiBBcnJheS5pc0FycmF5KG5hbWVQYXJ0cykpIHtcbiAgICAgICAgICBleHQgPSBuYW1lUGFydHNbbmFtZVBhcnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICB9XG5cbiAgICAgICAgZXh0ID0gKGAke2V4dCAgfWApLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGFjY2VwdGFibGVGaWxlID0gdGhpcy5fY2hlY2tBY2NlcHRhYmxlVHlwZXMoZmlsZS50eXBlLCBleHQpO1xuXG4gICAgICAgIGlmICghYWNjZXB0YWJsZUZpbGUpIHtcbiAgICAgICAgICBkZWNsaW5lZEZpbGVzLnB1c2goZmlsZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjZXB0YWJsZUZpbGU7XG4gICAgICB9KTtcblxuICAgIGlmIChkZWNsaW5lZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX2RlY2xpbmVkRmlsZXMkLm5leHQoZGVjbGluZWRGaWxlcyk7XG4gICAgfVxuXG4gICAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5zZWxlY3QuZW1pdChmc0ZpbGVzWzBdKTtcbiAgICB9IGVsc2UgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0LmVtaXQoZnNGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGZpbGUgbWltZXR5cGUgb3IgZXh0ZW50aW9uIGlzIGFjY2VwdGFibGUgYnkgQGFjY2VwdCBmaWVsZFxuICAgKlxuICAgKiBAcGFyYW0gdGFyZ2V0VHlwZVxuICAgKiBAcGFyYW0gdGFyZ2V0RXh0XG4gICAqIEByZXR1cm5zIGJvb2xlYW5cbiAgICovXG4gIHByaXZhdGUgX2NoZWNrQWNjZXB0YWJsZVR5cGVzKHRhcmdldFR5cGUsIHRhcmdldEV4dCkge1xuICAgIHRhcmdldFR5cGUgPSB0YXJnZXRUeXBlLnRyaW0oKTtcbiAgICBjb25zdCBbdHlwZSwgZXh0XSA9IHRhcmdldFR5cGUuc3BsaXQoJy8nKTtcbiAgICBjb25zdCBhY2NlcHRhYmxlVHlwZSA9IHRoaXMuX2FjY2VwdGFibGVUeXBlcy5nZXQodHlwZSk7XG5cbiAgICByZXR1cm4gdGhpcy5hY2NlcHQgPT09ICcqJ1xuICAgICAgfHwgdGhpcy5hY2NlcHQgPT09ICcqLyonXG4gICAgICB8fCAoISFhY2NlcHRhYmxlVHlwZSAmJiAoYWNjZXB0YWJsZVR5cGUuaGFzKCcqJykgfHwgYWNjZXB0YWJsZVR5cGUuaGFzKGV4dCkpKVxuICAgICAgfHwgdGhpcy5fYWNjZXB0YWJsZUV4dHMuaGFzKGAuJHt0YXJnZXRFeHR9YCk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2V0IGFuZCBzdG9yZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBmZWF0dXJlIGZpbHRlclxuICAgKlxuICAgKiBAcGFyYW0gdHlwZXNcbiAgICovXG4gIHByaXZhdGUgX3BhcnNlQWNjZXB0VHlwZXModmFsdWUpIHtcbiAgICBsZXQgdHlwZXMgPSBbXTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdHlwZXMgPSB2YWx1ZS5zcGxpdCgvWyw7XS8pO1xuICAgIH1cblxuICAgIGlmICghdHlwZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHlwZXMgPSB0eXBlc1xuICAgICAgLm1hcCgodHlwZSkgPT4gdHlwZS50cmltKCkpO1xuXG4gICAgdHlwZXMuZm9yRWFjaCgocGFydCkgPT4ge1xuICAgICAgaWYgKHBhcnQgPT09ICcqJykge1xuICAgICAgICB0aGlzLl9hY2NlcHRhYmxlRXh0cy5hZGQoJyonKTtcbiAgICAgIH0gZWxzZSBpZiAocGFydC5pbmRleE9mKCcvJykgIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IFt0eXBlLCBleHRdID0gcGFydC5zcGxpdCgnLycpO1xuICAgICAgICBpZiAodGhpcy5fYWNjZXB0YWJsZVR5cGVzLmhhcyh0eXBlKSkge1xuICAgICAgICAgIGNvbnN0IGV4aXN0ZWRUeXBlID0gdGhpcy5fYWNjZXB0YWJsZVR5cGVzLmdldCh0eXBlKTtcblxuICAgICAgICAgIGlmICghZXhpc3RlZFR5cGUuaGFzKGV4dCkpIHtcbiAgICAgICAgICAgIGV4aXN0ZWRUeXBlLmFkZChleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBleHRlbnNpb25zID0gbmV3IFNldCgpO1xuICAgICAgICAgIHRoaXMuX2FjY2VwdGFibGVUeXBlcy5zZXQodHlwZSwgZXh0ZW5zaW9ucyk7XG4gICAgICAgICAgZXh0ZW5zaW9ucy5hZGQoZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwYXJ0LmluZGV4T2YoJy4nKSAhPT0gLTEpIHtcbiAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgvXlxcKi8sICcnKTtcbiAgICAgICAgaWYgKCF0aGlzLl9hY2NlcHRhYmxlRXh0cy5oYXMocGFydCkpIHtcbiAgICAgICAgICB0aGlzLl9hY2NlcHRhYmxlRXh0cy5hZGQocGFydCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocGFydC5tYXRjaCgvW2EtejAtOV17Myw0fS9pKSkge1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2VwdGFibGVFeHRzLmhhcyhwYXJ0KSkge1xuICAgICAgICAgIHRoaXMuX2FjY2VwdGFibGVFeHRzLmFkZChgLiR7cGFydH1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0= |
{ | ||
"name": "@firestitch/file", | ||
"version": "12.17.4", | ||
"version": "12.18.0", | ||
"repository": { | ||
@@ -25,2 +25,3 @@ "type": "git", | ||
"fileapi": "^2.1.1", | ||
"heic2any": "^0.0.4", | ||
"tslib": "^2.0.0" | ||
@@ -27,0 +28,0 @@ }, |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
801961
6575
5
+ Addedheic2any@^0.0.4
+ Addedheic2any@0.0.4(transitive)