@gloww/gloww 14.0.0-beta.5 → 14.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -99,10 +99,19 @@ export class FoldersComponent {
|
|
|
99
99
|
const byteString = content;
|
|
100
100
|
const arrayBuffer = new ArrayBuffer(byteString.length);
|
|
101
101
|
const int8Array = new Uint8Array(arrayBuffer);
|
|
102
|
+
let j = 0;
|
|
102
103
|
for (let i = 0; i < byteString.length; i++) {
|
|
103
|
-
|
|
104
|
+
let chr = byteString.charCodeAt(i);
|
|
105
|
+
if (chr <= 255) {
|
|
106
|
+
int8Array[j++] = chr;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.log(`${chr}:${Math.floor(chr / 255)},${chr % 255}`);
|
|
110
|
+
int8Array[j++] = Math.floor(chr / 255);
|
|
111
|
+
int8Array[j++] = chr % 255;
|
|
112
|
+
}
|
|
104
113
|
}
|
|
105
|
-
const blob = new Blob([int8Array], { type: 'text/plain' });
|
|
114
|
+
const blob = new Blob([int8Array], { type: 'text/plain;charset=UTF-8;' });
|
|
106
115
|
return blob;
|
|
107
116
|
}
|
|
108
117
|
isEditable(filename) {
|
|
@@ -177,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
177
186
|
type: Component,
|
|
178
187
|
args: [{ selector: 'gloww-folders', template: "<h1>\r\n <i class=\"fal fa-folder\" size=\"40px\"></i> /{{currentDir}}\r\n <i class=\"fal fa-level-up\" [routerLink]=\"getRouterLink()\" *ngIf=\"currentDir\"></i>\r\n</h1>\r\n<div *ngIf=\"directoryContent else Spinner\">\r\n <i class=\"fal fa-folder-plus\" (click)=\"addFolder()\" size=\"30px\"></i>\r\n <ul>\r\n <li *ngFor=\"let d of directoryContent.directories\">\r\n <i class=\"fal fa-folder\"></i><a [routerLink]=\"getRouterLink(d)\">{{d}}</a>\r\n </li>\r\n </ul>\r\n <i class=\"fal fa-file-plus\" (click)=\"addFile()\" size=\"30px\"></i>\r\n <i class=\"fal fa-file-upload\" (click)=\"addFileUpload()\" size=\"30px\"></i>\r\n <ul>\r\n <li *ngFor=\"let f of directoryContent.files\">\r\n <a (click)=\"Edit(f)\" href=\"javascript:void(0);\" *ngIf=\"isEditable(f); else notEditable\">\r\n <i class=\"fal fa-file\"></i> {{f}}\r\n </a>\r\n <ng-template #notEditable>\r\n <i class=\"fal fa-file fa-disabled\"></i> <a (click)=\"downloadFile(f)\" target=\"_blank\" href=\"javascript:void(0);\">{{f}}</a>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</div>\r\n<ng-template #Spinner>\r\n <mat-spinner></mat-spinner>\r\n</ng-template>", styles: ["ul{list-style:none}.fa-disabled{opacity:.6;cursor:not-allowed}i{margin:5px;height:20px}\n"] }]
|
|
179
188
|
}], ctorParameters: function () { return [{ type: i1.FolderService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.MatDialog }]; } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL0NvbXBvbmVudHMvZm9sZGVycy9mb2xkZXJzL2ZvbGRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2xvd3cvc3JjL2xpYi9Db21wb25lbnRzL2ZvbGRlcnMvZm9sZGVycy9mb2xkZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQU9yRSxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQW9CLGFBQTRCLEVBQVUsTUFBYyxFQUFVLEtBQXFCLEVBQVUsTUFBaUI7UUFDaEksc0dBQXNHO1FBRHBGLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUdoSSxJQUFJLENB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QyxJQUFJLENBQUMsRUFBRTtZQUN2RixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxJQUFTLEVBQUUsSUFBWTtRQUNuQyxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksT0FBTyxHQUFHLENBQUMsTUFBTSxJQUFJLFdBQVcsRUFBRTtZQUMxRCxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7OzZHQTVMVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixxRENqQjdCLHN2Q0EwQmM7MkZEVEQsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnRUeXBlLCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEaXJlY3RvcnlDb250ZW50LCBGb2xkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vU2VydmljZXMvZm9sZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRNb2RlbCwgUHJvbXB0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcHJvbXB0L3Byb21wdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWREb2NDb21wb25lbnQgfSBmcm9tICcuLi8uLi91cGxvYWQtZG9jL3VwbG9hZC1kb2MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vZmlsZS1lZGl0L2ZpbGUtZWRpdC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnbG93dy1mb2xkZXJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9sZGVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9sZGVycy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb2xkZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcblxyXG4gIGN1cnJlbnREaXI6IHN0cmluZztcclxuICBkaXJlY3RvcnlDb250ZW50OiBEaXJlY3RvcnlDb250ZW50O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb2xkZXJTZXJ2aWNlOiBGb2xkZXJTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge1xyXG4gICAgLy9mbG93U2VydmljZS5nZXREaXJlY3RvcnlDb250ZW50KHJvdXRlLnNuYXBzaG90LnBhcmFtcy5pZCkuc3Vic2NyaWJlKHIgPT4gdGhpcy5kaXJlY3RvcnlDb250ZW50ID0gcik7XHJcblxyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIGNvbnN0IHVybFBhcnRzID0gZXZlbnQudXJsLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50RGlyID0gdXJsUGFydHMuc2xpY2UoMikuam9pbihcIi9cIik7XHJcbiAgICAgICAgdGhpcy5kaXJlY3RvcnlDb250ZW50ID0gbnVsbDtcclxuICAgICAgICBmb2xkZXJTZXJ2aWNlLmdldERpcmVjdG9yeUNvbnRlbnQodGhpcy5jdXJyZW50RGlyKS5zdWJzY3JpYmUociA9PiB0aGlzLmRpcmVjdG9yeUNvbnRlbnQgPSByKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgYWRkRm9sZGVyKCkge1xyXG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG5cclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gbmV3IFByb21wdE1vZGVsKFwiTmV3IEZvbGRlclwiLCBcIlBsZWFzZSBnaXZlIHRoZSBuYW1lIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlXCIsIFwiXCIsIHRydWUpO1xyXG5cclxuICAgIHRoaXMuZGlhbG9nLm9wZW4oUHJvbXB0Q29tcG9uZW50LCBkaWFsb2dDb25maWcpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGZvbGRlciA9PiB7XHJcbiAgICAgIGlmIChmb2xkZXIpIHtcclxuICAgICAgICB0aGlzLmZvbGRlclNlcnZpY2UucG9zdERpcmVjdG9yeUNvbnRlbnQodGhpcy5jdXJyZW50RGlyICsgJy8nICsgZm9sZGVyKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0aGlzLmdldFJvdXRlckxpbmsoZm9sZGVyKSksXHJcbiAgICAgICAgICAgIGVycm9yID0+IGFsZXJ0KGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhZGRGaWxlKCkge1xyXG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG5cclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gbmV3IFByb21wdE1vZGVsKFwiTmV3IEZpbGVcIiwgXCJQbGVhc2UgZ2l2ZSB0aGUgbmFtZSBvZiB0aGUgdGV4dCBmaWxlIHRvIGNyZWF0ZVwiLCBcIlwiLCB0cnVlKTtcclxuXHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByb21wdENvbXBvbmVudCwgZGlhbG9nQ29uZmlnKS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShmaWxlTmFtZSA9PiB7XHJcbiAgICAgIGlmIChmaWxlTmFtZSkge1xyXG4gICAgICAgIHRoaXMuRWRpdChmaWxlTmFtZSk7XHJcbiAgICAgICAgdGhpcy5kaXJlY3RvcnlDb250ZW50ID0gbnVsbDtcclxuICAgICAgICB0aGlzLmZvbGRlclNlcnZpY2UuZ2V0RGlyZWN0b3J5Q29udGVudCh0aGlzLmN1cnJlbnREaXIpLnN1YnNjcmliZShyID0+IHRoaXMuZGlyZWN0b3J5Q29udGVudCA9IHIpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFkZEZpbGVVcGxvYWQoKSB7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcblxyXG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbiA9IGZhbHNlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7IGFjY2VwdE1pbWU6ICdpbWFnZS8qJywgbXVsdGlwbGU6IHRydWUsIGFsbG93QWx0RmlsZU5hbWU6IHRydWUgfTtcclxuXHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFVwbG9hZERvY0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShmaWxlcyA9PiB7XHJcbiAgICAgIGlmIChmaWxlcykge1xyXG4gICAgICAgIGZpbGVzLmZvckVhY2goZmlsZSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZS5kYXRhKTtcclxuICAgICAgICAgIHRoaXMuVXBsb2FkRmlsZSh0aGlzLmN1cnJlbnREaXIgKyBcIi9cIiArIGZpbGUuZmlsZU5hbWUsIGZvcm1EYXRhKTtcclxuICAgICAgICAgIHRoaXMuZGlyZWN0b3J5Q29udGVudCA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmZvbGRlclNlcnZpY2UuZ2V0RGlyZWN0b3J5Q29udGVudCh0aGlzLmN1cnJlbnREaXIpLnN1YnNjcmliZShyID0+IHRoaXMuZGlyZWN0b3J5Q29udGVudCA9IHIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0Um91dGVyTGluayhkaXJlY3Rvcnk/OiBzdHJpbmcpIHtcclxuICAgIGlmICghdGhpcy5jdXJyZW50RGlyKSB7XHJcbiAgICAgIHJldHVybiBbJy9mb2xkZXJzJywgZGlyZWN0b3J5XTtcclxuICAgIH1cclxuICAgIGlmICghZGlyZWN0b3J5KSB7XHJcbiAgICAgIGxldCByZXMgPSBbJy9mb2xkZXJzJywgLi4udGhpcy5jdXJyZW50RGlyLnNwbGl0KFwiL1wiKV07XHJcbiAgICAgIHJlcy5wb3AoKTtcclxuICAgICAgcmV0dXJuIHJlcztcclxuICAgIH1cclxuICAgIHJldHVybiBbJy9mb2xkZXJzJywgLi4udGhpcy5jdXJyZW50RGlyLnNwbGl0KFwiL1wiKSwgZGlyZWN0b3J5XVxyXG4gIH1cclxuICBnZXRIcmVmKGY6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnREaXIpIHtcclxuICAgICAgcmV0dXJuIFsnL0Zsb3dNZ210JywgJ2ZvbGRlcnMnLCBmXS5qb2luKCcvJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFsnL0Zsb3dNZ210JywgJ2ZvbGRlcnMnLCAuLi50aGlzLmN1cnJlbnREaXIuc3BsaXQoXCIvXCIpLCBmXS5qb2luKCcvJyk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGRhdGFVUkl0b0Jsb2IoY29udGVudCkge1xyXG4gICAgY29uc3QgYnl0ZVN0cmluZyA9IGNvbnRlbnQ7XHJcbiAgICBjb25zdCBhcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihieXRlU3RyaW5nLmxlbmd0aCk7XHJcbiAgICBjb25zdCBpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcik7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVTdHJpbmcubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaW50OEFycmF5W2ldID0gYnl0ZVN0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtpbnQ4QXJyYXldLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KTtcclxuICAgIHJldHVybiBibG9iO1xyXG4gIH1cclxuXHJcbiAgaXNFZGl0YWJsZShmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlsZW5hbWUubWF0Y2goL1xcLih0eHR8anN8anNvbnx0c3xjc3xjc3N8c2Nzc3x4bWx8aHRtbHxodG18ZXhwfHNofHB3c2gpJC9pZykgIT0gbnVsbDtcclxuICB9XHJcblxyXG4gIFVwbG9hZEZpbGUoZmlsZU5hbWU6IHN0cmluZywgZm9ybURhdGE6IEZvcm1EYXRhKSB7XHJcbiAgICB0aGlzLmZvbGRlclNlcnZpY2UucG9zdEZpbGVDb250ZW50KGZpbGVOYW1lLCBmb3JtRGF0YSkucGlwZShcclxuICAgICAgbWFwKGV2ZW50ID0+IHtcclxuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcclxuICAgICAgICAgICAgLy9maWxlLnByb2dyZXNzID0gTWF0aC5yb3VuZChldmVudC5sb2FkZWQgKiAxMDAgLyBldmVudC50b3RhbCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgICAgICByZXR1cm4gZXZlbnQuYm9keTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAvL2ZpbGUuaW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBvZihgJHtmaWxlTmFtZX0gdXBsb2FkIGZhaWxlZC5gKTtcclxuICAgICAgfSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgKGV2ZW50KSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIC8vb2JqLkxvZ28gPSBldmVudC5Mb2dvO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIEVkaXQoZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG5cclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuXHJcbiAgICBsZXQgY29udGVudDogc3RyaW5nO1xyXG4gICAgdGhpcy5mb2xkZXJTZXJ2aWNlLmdldEZpbGVDb250ZW50KHRoaXMuY3VycmVudERpciArICcvJyArIGZpbGVOYW1lKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0geyBwYXRoOiB0aGlzLmN1cnJlbnREaXIgKyAnLycgKyBmaWxlTmFtZSwgY29udGVudDogYyB9O1xyXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKEZpbGVFZGl0Q29tcG9uZW50LCBkaWFsb2dDb25maWcpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICAgICAgY29uc3QgaW1hZ2VOYW1lID0gZmlsZU5hbWU7XHJcbiAgICAgICAgICBjb25zdCBpbWFnZUJsb2IgPSB0aGlzLmRhdGFVUkl0b0Jsb2IoZGF0YS5jb250ZW50KTtcclxuICAgICAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbaW1hZ2VCbG9iXSwgaW1hZ2VOYW1lLCB7IHR5cGU6ICd0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTg7JyB9KTtcclxuICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xyXG4gICAgICAgICAgdGhpcy5VcGxvYWRGaWxlKHRoaXMuY3VycmVudERpciArICcvJyArIGZpbGVOYW1lLCBmb3JtRGF0YSk7XHJcbiAgICAgICAgICAvL2ZpbGUuaW5Qcm9ncmVzcyA9IHRydWU7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLypcclxudGhpcy5odHRwLmdldChgJHtlbnZpcm9ubWVudC5hcGlVcmx9YCwge1xyXG4gIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJywgaGVhZGVyczogaGVhZGVyc1xyXG59XHJcbikuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHRoaXMuZG93bkxvYWRGaWxlKHJlc3BvbnNlLCBcImFwcGxpY2F0aW9uL21zLWV4Y2VsXCIpKTsqL1xyXG5cclxuICBkb3dubG9hZEZpbGUoZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb2xkZXJTZXJ2aWNlLmdldEZpbGVDb250ZW50QmxvYih0aGlzLmN1cnJlbnREaXIgKyAnLycgKyBmaWxlTmFtZSkuc3Vic2NyaWJlKGJsb2IgPT4ge1xyXG4gICAgICB0aGlzLmRvd25Mb2FkRmlsZTIoYmxvYiwgYmxvYi50eXBlKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIGlzIHVzZSB0byBkb3dubG9hZCBmaWxlLlxyXG4gICAqIEBwYXJhbSBkYXRhIC0gQXJyYXkgQnVmZmVyIGRhdGFcclxuICAgKiBAcGFyYW0gdHlwZSAtIHR5cGUgb2YgdGhlIGRvY3VtZW50LlxyXG4gICAqL1xyXG4gIGRvd25Mb2FkRmlsZTIoZGF0YTogYW55LCB0eXBlOiBzdHJpbmcpIHtcclxuICAgIGxldCBibG9iID0gbmV3IEJsb2IoW2RhdGFdLCB7IHR5cGU6IHR5cGUgfSk7XHJcbiAgICBsZXQgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBsZXQgcHdhID0gd2luZG93Lm9wZW4odXJsKTtcclxuICAgIGlmICghcHdhIHx8IHB3YS5jbG9zZWQgfHwgdHlwZW9mIHB3YS5jbG9zZWQgPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgYWxlcnQoJ1BsZWFzZSBkaXNhYmxlIHlvdXIgUG9wLXVwIGJsb2NrZXIgYW5kIHRyeSBhZ2Fpbi4nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxoMT5cclxuICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZvbGRlclwiIHNpemU9XCI0MHB4XCI+PC9pPiAve3tjdXJyZW50RGlyfX1cclxuICAgIDxpIGNsYXNzPVwiZmFsIGZhLWxldmVsLXVwXCIgW3JvdXRlckxpbmtdPVwiZ2V0Um91dGVyTGluaygpXCIgKm5nSWY9XCJjdXJyZW50RGlyXCI+PC9pPlxyXG48L2gxPlxyXG48ZGl2ICpuZ0lmPVwiZGlyZWN0b3J5Q29udGVudCBlbHNlIFNwaW5uZXJcIj5cclxuICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZvbGRlci1wbHVzXCIgKGNsaWNrKT1cImFkZEZvbGRlcigpXCIgc2l6ZT1cIjMwcHhcIj48L2k+XHJcbiAgICA8dWw+XHJcbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBkIG9mIGRpcmVjdG9yeUNvbnRlbnQuZGlyZWN0b3JpZXNcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtZm9sZGVyXCI+PC9pPjxhIFtyb3V0ZXJMaW5rXT1cImdldFJvdXRlckxpbmsoZClcIj57e2R9fTwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZpbGUtcGx1c1wiIChjbGljayk9XCJhZGRGaWxlKClcIiBzaXplPVwiMzBweFwiPjwvaT5cclxuICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZpbGUtdXBsb2FkXCIgKGNsaWNrKT1cImFkZEZpbGVVcGxvYWQoKVwiIHNpemU9XCIzMHB4XCI+PC9pPlxyXG4gICAgPHVsPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZiBvZiBkaXJlY3RvcnlDb250ZW50LmZpbGVzXCI+XHJcbiAgICAgICAgICAgIDxhIChjbGljayk9XCJFZGl0KGYpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiAqbmdJZj1cImlzRWRpdGFibGUoZik7IGVsc2Ugbm90RWRpdGFibGVcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZpbGVcIj48L2k+IHt7Zn19XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RFZGl0YWJsZT5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZpbGUgZmEtZGlzYWJsZWRcIj48L2k+IDxhIChjbGljayk9XCJkb3dubG9hZEZpbGUoZilcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPnt7Zn19PC9hPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNTcGlubmVyPlxyXG4gICAgPG1hdC1zcGlubmVyPjwvbWF0LXNwaW5uZXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL0NvbXBvbmVudHMvZm9sZGVycy9mb2xkZXJzL2ZvbGRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2xvd3cvc3JjL2xpYi9Db21wb25lbnRzL2ZvbGRlcnMvZm9sZGVycy9mb2xkZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQU9yRSxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQW9CLGFBQTRCLEVBQVUsTUFBYyxFQUFVLEtBQXFCLEVBQVUsTUFBaUI7UUFDaEksc0dBQXNHO1FBRHBGLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUdoSSxJQUFJLENB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N0Isc3ZDQTBCYzsyRkRURCxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudFR5cGUsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERpcmVjdG9yeUNvbnRlbnQsIEZvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy9mb2xkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdE1vZGVsLCBQcm9tcHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wcm9tcHQvcHJvbXB0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZERvY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3VwbG9hZC1kb2MvdXBsb2FkLWRvYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZUVkaXRDb21wb25lbnQgfSBmcm9tICcuLi9maWxlLWVkaXQvZmlsZS1lZGl0LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dsb3d3LWZvbGRlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb2xkZXJzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb2xkZXJzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvbGRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHJcbiAgY3VycmVudERpcjogc3RyaW5nO1xyXG4gIGRpcmVjdG9yeUNvbnRlbnQ6IERpcmVjdG9yeUNvbnRlbnQ7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvbGRlclNlcnZpY2U6IEZvbGRlclNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcbiAgICAvL2Zsb3dTZXJ2aWNlLmdldERpcmVjdG9yeUNvbnRlbnQocm91dGUuc25hcHNob3QucGFyYW1zLmlkKS5zdWJzY3JpYmUociA9PiB0aGlzLmRpcmVjdG9yeUNvbnRlbnQgPSByKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgY29uc3QgdXJsUGFydHMgPSBldmVudC51cmwuc3BsaXQoJy8nKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnREaXIgPSB1cmxQYXJ0cy5zbGljZSgyKS5qb2luKFwiL1wiKTtcclxuICAgICAgICB0aGlzLmRpcmVjdG9yeUNvbnRlbnQgPSBudWxsO1xyXG4gICAgICAgIGZvbGRlclNlcnZpY2UuZ2V0RGlyZWN0b3J5Q29udGVudCh0aGlzLmN1cnJlbnREaXIpLnN1YnNjcmliZShyID0+IHRoaXMuZGlyZWN0b3J5Q29udGVudCA9IHIpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBhZGRGb2xkZXIoKSB7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcblxyXG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbiA9IGZhbHNlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSBuZXcgUHJvbXB0TW9kZWwoXCJOZXcgRm9sZGVyXCIsIFwiUGxlYXNlIGdpdmUgdGhlIG5hbWUgb2YgdGhlIGZvbGRlciB0byBjcmVhdGVcIiwgXCJcIiwgdHJ1ZSk7XHJcblxyXG4gICAgdGhpcy5kaWFsb2cub3BlbihQcm9tcHRDb21wb25lbnQsIGRpYWxvZ0NvbmZpZykuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoZm9sZGVyID0+IHtcclxuICAgICAgaWYgKGZvbGRlcikge1xyXG4gICAgICAgIHRoaXMuZm9sZGVyU2VydmljZS5wb3N0RGlyZWN0b3J5Q29udGVudCh0aGlzLmN1cnJlbnREaXIgKyAnLycgKyBmb2xkZXIpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHRoaXMuZ2V0Um91dGVyTGluayhmb2xkZXIpKSxcclxuICAgICAgICAgICAgZXJyb3IgPT4gYWxlcnQoZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFkZEZpbGUoKSB7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcblxyXG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbiA9IGZhbHNlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSBuZXcgUHJvbXB0TW9kZWwoXCJOZXcgRmlsZVwiLCBcIlBsZWFzZSBnaXZlIHRoZSBuYW1lIG9mIHRoZSB0ZXh0IGZpbGUgdG8gY3JlYXRlXCIsIFwiXCIsIHRydWUpO1xyXG5cclxuICAgIHRoaXMuZGlhbG9nLm9wZW4oUHJvbXB0Q29tcG9uZW50LCBkaWFsb2dDb25maWcpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGZpbGVOYW1lID0+IHtcclxuICAgICAgaWYgKGZpbGVOYW1lKSB7XHJcbiAgICAgICAgdGhpcy5FZGl0KGZpbGVOYW1lKTtcclxuICAgICAgICB0aGlzLmRpcmVjdG9yeUNvbnRlbnQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZm9sZGVyU2VydmljZS5nZXREaXJlY3RvcnlDb250ZW50KHRoaXMuY3VycmVudERpcikuc3Vic2NyaWJlKHIgPT4gdGhpcy5kaXJlY3RvcnlDb250ZW50ID0gcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkRmlsZVVwbG9hZCgpIHtcclxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuXHJcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uID0gZmFsc2U7XHJcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IHsgYWNjZXB0TWltZTogJ2ltYWdlLyonLCBtdWx0aXBsZTogdHJ1ZSwgYWxsb3dBbHRGaWxlTmFtZTogdHJ1ZSB9O1xyXG5cclxuICAgIHRoaXMuZGlhbG9nLm9wZW4oVXBsb2FkRG9jQ29tcG9uZW50LCBkaWFsb2dDb25maWcpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGZpbGVzID0+IHtcclxuICAgICAgaWYgKGZpbGVzKSB7XHJcbiAgICAgICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcclxuICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlLmRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5VcGxvYWRGaWxlKHRoaXMuY3VycmVudERpciArIFwiL1wiICsgZmlsZS5maWxlTmFtZSwgZm9ybURhdGEpO1xyXG4gICAgICAgICAgdGhpcy5kaXJlY3RvcnlDb250ZW50ID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuZm9sZGVyU2VydmljZS5nZXREaXJlY3RvcnlDb250ZW50KHRoaXMuY3VycmVudERpcikuc3Vic2NyaWJlKHIgPT4gdGhpcy5kaXJlY3RvcnlDb250ZW50ID0gcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRSb3V0ZXJMaW5rKGRpcmVjdG9yeT86IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnREaXIpIHtcclxuICAgICAgcmV0dXJuIFsnL2ZvbGRlcnMnLCBkaXJlY3RvcnldO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkaXJlY3RvcnkpIHtcclxuICAgICAgbGV0IHJlcyA9IFsnL2ZvbGRlcnMnLCAuLi50aGlzLmN1cnJlbnREaXIuc3BsaXQoXCIvXCIpXTtcclxuICAgICAgcmVzLnBvcCgpO1xyXG4gICAgICByZXR1cm4gcmVzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFsnL2ZvbGRlcnMnLCAuLi50aGlzLmN1cnJlbnREaXIuc3BsaXQoXCIvXCIpLCBkaXJlY3RvcnldXHJcbiAgfVxyXG4gIGdldEhyZWYoZjogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXRoaXMuY3VycmVudERpcikge1xyXG4gICAgICByZXR1cm4gWycvRmxvd01nbXQnLCAnZm9sZGVycycsIGZdLmpvaW4oJy8nKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gWycvRmxvd01nbXQnLCAnZm9sZGVycycsIC4uLnRoaXMuY3VycmVudERpci5zcGxpdChcIi9cIiksIGZdLmpvaW4oJy8nKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZGF0YVVSSXRvQmxvYihjb250ZW50KSB7XHJcbiAgICBjb25zdCBieXRlU3RyaW5nID0gY29udGVudDtcclxuICAgIGNvbnN0IGFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVTdHJpbmcubGVuZ3RoKTtcclxuICAgIGNvbnN0IGludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKTtcclxuICAgIGxldCBqID0gMDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZVN0cmluZy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgY2hyID0gYnl0ZVN0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICBpZiAoY2hyIDw9IDI1NSkge1xyXG4gICAgICAgIGludDhBcnJheVtqKytdID0gY2hyO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGAke2Nocn06JHtNYXRoLmZsb29yKGNociAvIDI1NSl9LCR7Y2hyICUgMjU1fWApXHJcbiAgICAgICAgaW50OEFycmF5W2orK10gPSBNYXRoLmZsb29yKGNociAvIDI1NSk7XHJcbiAgICAgICAgaW50OEFycmF5W2orK10gPSBjaHIgJSAyNTU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbaW50OEFycmF5XSwgeyB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PVVURi04OycgfSk7XHJcbiAgICByZXR1cm4gYmxvYjtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZpbGVuYW1lLm1hdGNoKC9cXC4odHh0fGpzfGpzb258dHN8Y3N8Y3NzfHNjc3N8eG1sfGh0bWx8aHRtfGV4cHxzaHxwd3NoKSQvaWcpICE9IG51bGw7XHJcbiAgfVxyXG5cclxuICBVcGxvYWRGaWxlKGZpbGVOYW1lOiBzdHJpbmcsIGZvcm1EYXRhOiBGb3JtRGF0YSkge1xyXG4gICAgdGhpcy5mb2xkZXJTZXJ2aWNlLnBvc3RGaWxlQ29udGVudChmaWxlTmFtZSwgZm9ybURhdGEpLnBpcGUoXHJcbiAgICAgIG1hcChldmVudCA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XHJcbiAgICAgICAgICAgIC8vZmlsZS5wcm9ncmVzcyA9IE1hdGgucm91bmQoZXZlbnQubG9hZGVkICogMTAwIC8gZXZlbnQudG90YWwpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcclxuICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmJvZHk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgLy9maWxlLmluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4gb2YoYCR7ZmlsZU5hbWV9IHVwbG9hZCBmYWlsZWQuYCk7XHJcbiAgICAgIH0pKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIChldmVudCkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAvL29iai5Mb2dvID0gZXZlbnQuTG9nbztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBFZGl0KGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuXHJcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uID0gZmFsc2U7XHJcblxyXG4gICAgbGV0IGNvbnRlbnQ6IHN0cmluZztcclxuICAgIHRoaXMuZm9sZGVyU2VydmljZS5nZXRGaWxlQ29udGVudCh0aGlzLmN1cnJlbnREaXIgKyAnLycgKyBmaWxlTmFtZSkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICBkaWFsb2dDb25maWcuZGF0YSA9IHsgcGF0aDogdGhpcy5jdXJyZW50RGlyICsgJy8nICsgZmlsZU5hbWUsIGNvbnRlbnQ6IGMgfTtcclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihGaWxlRWRpdENvbXBvbmVudCwgZGlhbG9nQ29uZmlnKS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgICAgIGNvbnN0IGltYWdlTmFtZSA9IGZpbGVOYW1lO1xyXG4gICAgICAgICAgY29uc3QgaW1hZ2VCbG9iID0gdGhpcy5kYXRhVVJJdG9CbG9iKGRhdGEuY29udGVudCk7XHJcbiAgICAgICAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2ltYWdlQmxvYl0sIGltYWdlTmFtZSwgeyB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PVVURi04OycgfSk7XHJcbiAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcclxuICAgICAgICAgIHRoaXMuVXBsb2FkRmlsZSh0aGlzLmN1cnJlbnREaXIgKyAnLycgKyBmaWxlTmFtZSwgZm9ybURhdGEpO1xyXG4gICAgICAgICAgLy9maWxlLmluUHJvZ3Jlc3MgPSB0cnVlO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbnRoaXMuaHR0cC5nZXQoYCR7ZW52aXJvbm1lbnQuYXBpVXJsfWAsIHtcclxuICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsIGhlYWRlcnM6IGhlYWRlcnNcclxufVxyXG4pLnN1YnNjcmliZShyZXNwb25zZSA9PiB0aGlzLmRvd25Mb2FkRmlsZShyZXNwb25zZSwgXCJhcHBsaWNhdGlvbi9tcy1leGNlbFwiKSk7Ki9cclxuXHJcbiAgZG93bmxvYWRGaWxlKGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9sZGVyU2VydmljZS5nZXRGaWxlQ29udGVudEJsb2IodGhpcy5jdXJyZW50RGlyICsgJy8nICsgZmlsZU5hbWUpLnN1YnNjcmliZShibG9iID0+IHtcclxuICAgICAgdGhpcy5kb3duTG9hZEZpbGUyKGJsb2IsIGJsb2IudHlwZSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBpcyB1c2UgdG8gZG93bmxvYWQgZmlsZS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIEFycmF5IEJ1ZmZlciBkYXRhXHJcbiAgICogQHBhcmFtIHR5cGUgLSB0eXBlIG9mIHRoZSBkb2N1bWVudC5cclxuICAgKi9cclxuICBkb3duTG9hZEZpbGUyKGRhdGE6IGFueSwgdHlwZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgYmxvYiA9IG5ldyBCbG9iKFtkYXRhXSwgeyB0eXBlOiB0eXBlIH0pO1xyXG4gICAgbGV0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgbGV0IHB3YSA9IHdpbmRvdy5vcGVuKHVybCk7XHJcbiAgICBpZiAoIXB3YSB8fCBwd2EuY2xvc2VkIHx8IHR5cGVvZiBwd2EuY2xvc2VkID09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGFsZXJ0KCdQbGVhc2UgZGlzYWJsZSB5b3VyIFBvcC11cCBibG9ja2VyIGFuZCB0cnkgYWdhaW4uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8aDE+XHJcbiAgICA8aSBjbGFzcz1cImZhbCBmYS1mb2xkZXJcIiBzaXplPVwiNDBweFwiPjwvaT4gL3t7Y3VycmVudERpcn19XHJcbiAgICA8aSBjbGFzcz1cImZhbCBmYS1sZXZlbC11cFwiIFtyb3V0ZXJMaW5rXT1cImdldFJvdXRlckxpbmsoKVwiICpuZ0lmPVwiY3VycmVudERpclwiPjwvaT5cclxuPC9oMT5cclxuPGRpdiAqbmdJZj1cImRpcmVjdG9yeUNvbnRlbnQgZWxzZSBTcGlubmVyXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhbCBmYS1mb2xkZXItcGx1c1wiIChjbGljayk9XCJhZGRGb2xkZXIoKVwiIHNpemU9XCIzMHB4XCI+PC9pPlxyXG4gICAgPHVsPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZCBvZiBkaXJlY3RvcnlDb250ZW50LmRpcmVjdG9yaWVzXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZvbGRlclwiPjwvaT48YSBbcm91dGVyTGlua109XCJnZXRSb3V0ZXJMaW5rKGQpXCI+e3tkfX08L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgICA8aSBjbGFzcz1cImZhbCBmYS1maWxlLXBsdXNcIiAoY2xpY2spPVwiYWRkRmlsZSgpXCIgc2l6ZT1cIjMwcHhcIj48L2k+XHJcbiAgICA8aSBjbGFzcz1cImZhbCBmYS1maWxlLXVwbG9hZFwiIChjbGljayk9XCJhZGRGaWxlVXBsb2FkKClcIiBzaXplPVwiMzBweFwiPjwvaT5cclxuICAgIDx1bD5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGYgb2YgZGlyZWN0b3J5Q29udGVudC5maWxlc1wiPlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwiRWRpdChmKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgKm5nSWY9XCJpc0VkaXRhYmxlKGYpOyBlbHNlIG5vdEVkaXRhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1maWxlXCI+PC9pPiB7e2Z9fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90RWRpdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1maWxlIGZhLWRpc2FibGVkXCI+PC9pPiA8YSAoY2xpY2spPVwiZG93bmxvYWRGaWxlKGYpXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57e2Z9fTwvYT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjU3Bpbm5lcj5cclxuICAgIDxtYXQtc3Bpbm5lcj48L21hdC1zcGlubmVyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
package/fesm2015/gloww-gloww.mjs
CHANGED
|
@@ -3020,10 +3020,19 @@ class FoldersComponent {
|
|
|
3020
3020
|
const byteString = content;
|
|
3021
3021
|
const arrayBuffer = new ArrayBuffer(byteString.length);
|
|
3022
3022
|
const int8Array = new Uint8Array(arrayBuffer);
|
|
3023
|
+
let j = 0;
|
|
3023
3024
|
for (let i = 0; i < byteString.length; i++) {
|
|
3024
|
-
|
|
3025
|
+
let chr = byteString.charCodeAt(i);
|
|
3026
|
+
if (chr <= 255) {
|
|
3027
|
+
int8Array[j++] = chr;
|
|
3028
|
+
}
|
|
3029
|
+
else {
|
|
3030
|
+
console.log(`${chr}:${Math.floor(chr / 255)},${chr % 255}`);
|
|
3031
|
+
int8Array[j++] = Math.floor(chr / 255);
|
|
3032
|
+
int8Array[j++] = chr % 255;
|
|
3033
|
+
}
|
|
3025
3034
|
}
|
|
3026
|
-
const blob = new Blob([int8Array], { type: 'text/plain' });
|
|
3035
|
+
const blob = new Blob([int8Array], { type: 'text/plain;charset=UTF-8;' });
|
|
3027
3036
|
return blob;
|
|
3028
3037
|
}
|
|
3029
3038
|
isEditable(filename) {
|