vvvfs 0.0.5 → 0.0.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.
- package/README.md +10 -0
- package/esbuild.config.js +4 -6
- package/index.html +2 -0
- package/index.ts +169 -68
- package/package.json +5 -1
- package/dist/vvvfs.min.js +0 -3
package/README.md
CHANGED
|
@@ -68,6 +68,7 @@ const vvvfs = new VVVFS("vvvfs", {
|
|
|
68
68
|
```javascript
|
|
69
69
|
(async function () {
|
|
70
70
|
const file = new VVVFS.File("/home/user/Desktop/test.txt");
|
|
71
|
+
// file.options.throwError = true;
|
|
71
72
|
await file.writeText("Hello World!");
|
|
72
73
|
console.log(await file.readText());
|
|
73
74
|
await file.delete();
|
|
@@ -77,6 +78,15 @@ const vvvfs = new VVVFS("vvvfs", {
|
|
|
77
78
|
|
|
78
79
|
## 更新日志
|
|
79
80
|
|
|
81
|
+
### 0.0.7
|
|
82
|
+
|
|
83
|
+
- AI 了优化一下
|
|
84
|
+
|
|
85
|
+
### 0.0.6
|
|
86
|
+
|
|
87
|
+
- `VVVFS.File` 类中新增 `dbname` 和 `options` 属性
|
|
88
|
+
- `VVVFS` 新增 `defaultDBName` 属性
|
|
89
|
+
|
|
80
90
|
### 0.0.5
|
|
81
91
|
|
|
82
92
|
- 新增 `VVVFS.File` 类
|
package/esbuild.config.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { build } from 'esbuild';
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* 构建库
|
|
6
|
+
*/
|
|
6
7
|
build({
|
|
7
8
|
entryPoints: ['index.ts'],
|
|
8
9
|
bundle: true,
|
|
9
10
|
outfile: 'dist/vvvfs.min.js',
|
|
10
11
|
format: 'iife',
|
|
11
|
-
define: {
|
|
12
|
-
'process.env.PACKAGE_VERSION': JSON.stringify(pkg.version),
|
|
13
|
-
},
|
|
14
12
|
minify: true,
|
|
15
13
|
platform: 'browser',
|
|
16
|
-
target: ["
|
|
14
|
+
target: ["chrome72", "firefox126", "safari14", "edge79", "opera60"],
|
|
17
15
|
logLevel: 'info',
|
|
18
16
|
drop: ['console', 'debugger'],
|
|
19
17
|
}).catch(() => process.exit(1));
|
package/index.html
CHANGED
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
console.log("搜索文件", await vvvfs.search("/", "t"));
|
|
26
26
|
console.log("移动文件", await vvvfs.move("/test2.txt", "/test3.txt"));
|
|
27
27
|
console.log("删除文件", await vvvfs.delete("/test.txt"));
|
|
28
|
+
const file = new VVVFS.File("test.txt");
|
|
29
|
+
console.log("写入文件", await file.writeText("Hello World"));
|
|
28
30
|
} catch (error) {
|
|
29
31
|
console.error(error);
|
|
30
32
|
}
|
package/index.ts
CHANGED
|
@@ -59,6 +59,10 @@ class VVVFSError extends Error {
|
|
|
59
59
|
* @param path 文件路径
|
|
60
60
|
*/
|
|
61
61
|
class VVVFSFile {
|
|
62
|
+
/**
|
|
63
|
+
* 数据库名称
|
|
64
|
+
*/
|
|
65
|
+
private _dbname: string = VVVFS.defaultDBName;
|
|
62
66
|
/**
|
|
63
67
|
* 文件路径
|
|
64
68
|
*/
|
|
@@ -66,7 +70,7 @@ class VVVFSFile {
|
|
|
66
70
|
/**
|
|
67
71
|
* 虚拟文件系统实例
|
|
68
72
|
*/
|
|
69
|
-
private _vvvfs: VVVFS = new VVVFS();
|
|
73
|
+
private _vvvfs: VVVFS = new VVVFS(this._dbname);
|
|
70
74
|
/**
|
|
71
75
|
* 获取文件路径
|
|
72
76
|
*/
|
|
@@ -80,6 +84,26 @@ class VVVFSFile {
|
|
|
80
84
|
set path(path: string) {
|
|
81
85
|
this._path = joinPath(path);
|
|
82
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* 设置数据库名称
|
|
89
|
+
* @param dbname 数据库名称
|
|
90
|
+
*/
|
|
91
|
+
set dbname(dbname: string) {
|
|
92
|
+
this._dbname = dbname;
|
|
93
|
+
this._vvvfs = new VVVFS(dbname);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 获取数据库名称
|
|
97
|
+
*/
|
|
98
|
+
get dbname() {
|
|
99
|
+
return this._dbname;
|
|
100
|
+
}
|
|
101
|
+
set options(options: VVVFSOptions) {
|
|
102
|
+
this._vvvfs.options = options;
|
|
103
|
+
}
|
|
104
|
+
get options() {
|
|
105
|
+
return this._vvvfs.options;
|
|
106
|
+
}
|
|
83
107
|
/**
|
|
84
108
|
* 构造函数
|
|
85
109
|
* @param paths 文件路径
|
|
@@ -196,6 +220,7 @@ class VVVFSFile {
|
|
|
196
220
|
|
|
197
221
|
const version = packageJson.version;
|
|
198
222
|
class VVVFS {
|
|
223
|
+
static defaultDBName = "vvvfs";
|
|
199
224
|
private db: VVVFSDatabase;
|
|
200
225
|
options: VVVFSOptions;
|
|
201
226
|
/**
|
|
@@ -212,14 +237,14 @@ class VVVFS {
|
|
|
212
237
|
* @param options 配置项
|
|
213
238
|
*/
|
|
214
239
|
constructor(
|
|
215
|
-
name
|
|
240
|
+
name?: string,
|
|
216
241
|
options = {
|
|
217
242
|
throwError: false,
|
|
218
243
|
},
|
|
219
244
|
) {
|
|
220
245
|
this.options = options;
|
|
221
246
|
try {
|
|
222
|
-
this.db = new Dexie(name) as VVVFSDatabase;
|
|
247
|
+
this.db = new Dexie(name || VVVFS.defaultDBName) as VVVFSDatabase;
|
|
223
248
|
this.db.version(1).stores({
|
|
224
249
|
files: "++id, name, path, type, file, [name+path+type]",
|
|
225
250
|
});
|
|
@@ -384,22 +409,22 @@ class VVVFS {
|
|
|
384
409
|
* @param path 文件路径
|
|
385
410
|
*/
|
|
386
411
|
async createFile(path: string) {
|
|
387
|
-
|
|
412
|
+
const targetPath = joinPath(path);
|
|
413
|
+
if (await this.exists(targetPath)) {
|
|
388
414
|
console.warn("文件已存在");
|
|
389
415
|
return true;
|
|
390
416
|
}
|
|
391
417
|
try {
|
|
392
|
-
const { name, parent } = parsePath(
|
|
418
|
+
const { name, parent } = parsePath(targetPath);
|
|
393
419
|
if (!(await this.exists(parent))) {
|
|
394
420
|
await this.createDir(parent);
|
|
395
421
|
}
|
|
396
|
-
// console.log(name, parent);
|
|
397
422
|
await this.db.files.add({
|
|
398
423
|
name: name,
|
|
399
424
|
path: parent,
|
|
400
425
|
type: "file",
|
|
401
426
|
file: new File([], name, {
|
|
402
|
-
type: mime.getType(
|
|
427
|
+
type: mime.getType(targetPath) || "application/octet-stream",
|
|
403
428
|
}),
|
|
404
429
|
});
|
|
405
430
|
return true;
|
|
@@ -416,12 +441,13 @@ class VVVFS {
|
|
|
416
441
|
* @param path 目录路径
|
|
417
442
|
*/
|
|
418
443
|
async createDir(path: string) {
|
|
419
|
-
|
|
444
|
+
const targetPath = joinPath(path);
|
|
445
|
+
if (await this.exists(targetPath)) {
|
|
420
446
|
console.warn("目录已存在");
|
|
421
447
|
return true;
|
|
422
448
|
}
|
|
423
449
|
try {
|
|
424
|
-
const { name, parent } = parsePath(
|
|
450
|
+
const { name, parent } = parsePath(targetPath);
|
|
425
451
|
if (!(await this.exists(parent))) {
|
|
426
452
|
if (parent == "/") {
|
|
427
453
|
await this.db.files.add({
|
|
@@ -435,7 +461,6 @@ class VVVFS {
|
|
|
435
461
|
await this.createDir(parent);
|
|
436
462
|
}
|
|
437
463
|
}
|
|
438
|
-
console.log(name, parent);
|
|
439
464
|
await this.db.files.add({
|
|
440
465
|
name: name,
|
|
441
466
|
path: parent,
|
|
@@ -457,7 +482,8 @@ class VVVFS {
|
|
|
457
482
|
*/
|
|
458
483
|
async exists(path: string) {
|
|
459
484
|
try {
|
|
460
|
-
const
|
|
485
|
+
const targetPath = joinPath(path);
|
|
486
|
+
const { name, parent } = parsePath(targetPath);
|
|
461
487
|
return (
|
|
462
488
|
(await this.db.files
|
|
463
489
|
.where({
|
|
@@ -480,8 +506,9 @@ class VVVFS {
|
|
|
480
506
|
*/
|
|
481
507
|
async write(path: string, content: Blob) {
|
|
482
508
|
try {
|
|
483
|
-
|
|
484
|
-
|
|
509
|
+
const targetPath = joinPath(path);
|
|
510
|
+
if (!(await this.exists(targetPath))) {
|
|
511
|
+
const success = await this.createFile(targetPath);
|
|
485
512
|
if (!success) {
|
|
486
513
|
console.warn("创建文件失败");
|
|
487
514
|
if (this.options.throwError) {
|
|
@@ -490,19 +517,17 @@ class VVVFS {
|
|
|
490
517
|
return false;
|
|
491
518
|
}
|
|
492
519
|
}
|
|
493
|
-
|
|
494
|
-
console.log(name, parent);
|
|
495
|
-
if (await this.isDir(parent + "/" + name)) {
|
|
520
|
+
if (await this.isDir(targetPath)) {
|
|
496
521
|
console.warn("路径已存在");
|
|
497
522
|
if (this.options.throwError) {
|
|
498
523
|
throw new VVVFSError("Write", "路径已存在");
|
|
499
524
|
}
|
|
500
525
|
return false;
|
|
501
526
|
}
|
|
527
|
+
const { name, parent } = parsePath(targetPath);
|
|
502
528
|
const file = new File([content], name, {
|
|
503
|
-
type: mime.getType(
|
|
529
|
+
type: mime.getType(targetPath) || "application/octet-stream",
|
|
504
530
|
});
|
|
505
|
-
console.log(file);
|
|
506
531
|
const fileRecord = await this.db.files.where({ name, path: parent }).first();
|
|
507
532
|
if (fileRecord) {
|
|
508
533
|
await this.db.files.put({
|
|
@@ -568,14 +593,15 @@ class VVVFS {
|
|
|
568
593
|
*/
|
|
569
594
|
async read(path: string) {
|
|
570
595
|
try {
|
|
571
|
-
|
|
596
|
+
const targetPath = joinPath(path);
|
|
597
|
+
if (!(await this.exists(targetPath))) {
|
|
572
598
|
console.warn("文件不存在");
|
|
573
599
|
if (this.options.throwError) {
|
|
574
600
|
throw new VVVFSError("Read", "文件不存在");
|
|
575
601
|
}
|
|
576
602
|
return null;
|
|
577
603
|
}
|
|
578
|
-
const { name, parent } = parsePath(
|
|
604
|
+
const { name, parent } = parsePath(targetPath);
|
|
579
605
|
return (await this.db.files.where({ name, path: parent }).first())?.file;
|
|
580
606
|
} catch (error) {
|
|
581
607
|
console.error("读取文件失败", error);
|
|
@@ -643,7 +669,8 @@ class VVVFS {
|
|
|
643
669
|
*/
|
|
644
670
|
async isFile(path: string) {
|
|
645
671
|
try {
|
|
646
|
-
const
|
|
672
|
+
const targetPath = joinPath(path);
|
|
673
|
+
const { name, parent } = parsePath(targetPath);
|
|
647
674
|
return (await this.db.files.where({ name, path: parent, type: "file" }).count()) > 0;
|
|
648
675
|
} catch (error) {
|
|
649
676
|
console.error("判断文件类型失败", error);
|
|
@@ -659,7 +686,8 @@ class VVVFS {
|
|
|
659
686
|
*/
|
|
660
687
|
async isDir(path: string) {
|
|
661
688
|
try {
|
|
662
|
-
const
|
|
689
|
+
const targetPath = joinPath(path);
|
|
690
|
+
const { name, parent } = parsePath(targetPath);
|
|
663
691
|
return (await this.db.files.where({ path: parent, name, type: "dir" }).count()) > 0;
|
|
664
692
|
} catch (error) {
|
|
665
693
|
console.error("判断文件类型失败", error);
|
|
@@ -675,8 +703,15 @@ class VVVFS {
|
|
|
675
703
|
*/
|
|
676
704
|
async list(path: string) {
|
|
677
705
|
try {
|
|
678
|
-
const
|
|
679
|
-
|
|
706
|
+
const targetPath = joinPath(path);
|
|
707
|
+
if (!(await this.isDir(targetPath))) {
|
|
708
|
+
console.warn("路径不是目录");
|
|
709
|
+
if (this.options.throwError) {
|
|
710
|
+
throw new VVVFSError("List", "路径不是目录");
|
|
711
|
+
}
|
|
712
|
+
return [];
|
|
713
|
+
}
|
|
714
|
+
return (await this.db.files.where({ path: targetPath }).toArray())
|
|
680
715
|
.map((file) => file.name)
|
|
681
716
|
.filter((item) => item != "");
|
|
682
717
|
} catch (error) {
|
|
@@ -694,20 +729,50 @@ class VVVFS {
|
|
|
694
729
|
*/
|
|
695
730
|
async rename(path: string, newName: string) {
|
|
696
731
|
try {
|
|
697
|
-
|
|
732
|
+
const sourcePath = joinPath(path);
|
|
733
|
+
const { name, parent } = parsePath(sourcePath);
|
|
734
|
+
if (!(await this.exists(sourcePath))) {
|
|
698
735
|
console.warn("文件不存在");
|
|
699
736
|
if (this.options.throwError) {
|
|
700
737
|
throw new VVVFSError("Rename", "文件不存在");
|
|
701
738
|
}
|
|
702
739
|
return false;
|
|
703
740
|
}
|
|
704
|
-
const
|
|
705
|
-
|
|
706
|
-
|
|
741
|
+
const newPath = joinPath(parent, newName);
|
|
742
|
+
if (newPath === sourcePath) {
|
|
743
|
+
return true;
|
|
744
|
+
}
|
|
745
|
+
if (await this.exists(newPath)) {
|
|
746
|
+
console.warn("目标文件已存在");
|
|
747
|
+
if (this.options.throwError) {
|
|
748
|
+
throw new VVVFSError("Rename", "目标文件已存在");
|
|
749
|
+
}
|
|
750
|
+
return false;
|
|
751
|
+
}
|
|
752
|
+
const fileRecord = await this.db.files.where({ path: parent, name }).first();
|
|
753
|
+
if (!fileRecord) {
|
|
754
|
+
console.warn("文件记录未找到");
|
|
755
|
+
if (this.options.throwError) {
|
|
756
|
+
throw new VVVFSError("Rename", "文件记录未找到");
|
|
757
|
+
}
|
|
758
|
+
return false;
|
|
759
|
+
}
|
|
760
|
+
if (fileRecord.type === "dir") {
|
|
761
|
+
const descendants = await this.db.files
|
|
762
|
+
.filter(
|
|
763
|
+
(file) =>
|
|
764
|
+
file.path === sourcePath || file.path.startsWith(sourcePath + "/"),
|
|
765
|
+
)
|
|
766
|
+
.toArray();
|
|
767
|
+
for (const descendant of descendants) {
|
|
768
|
+
const relativePath = descendant.path.slice(sourcePath.length);
|
|
769
|
+
const updatedPath = joinPath(newPath + relativePath);
|
|
770
|
+
await this.db.files.update(descendant.id!, { path: updatedPath });
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
await this.db.files.update(fileRecord.id!, {
|
|
707
774
|
name: newName,
|
|
708
775
|
path: parent,
|
|
709
|
-
type: "file",
|
|
710
|
-
file: file!.file,
|
|
711
776
|
});
|
|
712
777
|
return true;
|
|
713
778
|
} catch (e) {
|
|
@@ -724,29 +789,30 @@ class VVVFS {
|
|
|
724
789
|
*/
|
|
725
790
|
async delete(path: string) {
|
|
726
791
|
try {
|
|
727
|
-
|
|
792
|
+
const targetPath = joinPath(path);
|
|
793
|
+
if (!(await this.exists(targetPath))) {
|
|
728
794
|
console.warn("文件不存在");
|
|
729
795
|
if (this.options.throwError) {
|
|
730
796
|
throw new VVVFSError("Delete", "文件不存在");
|
|
731
797
|
}
|
|
732
798
|
return false;
|
|
733
799
|
}
|
|
734
|
-
const { name, parent } = parsePath(
|
|
735
|
-
if (await this.isDir(
|
|
736
|
-
const files = await this.list(
|
|
800
|
+
const { name, parent } = parsePath(targetPath);
|
|
801
|
+
if (await this.isDir(targetPath)) {
|
|
802
|
+
const files = await this.list(targetPath);
|
|
737
803
|
for (const file of files) {
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
}
|
|
744
|
-
await this.delete(joinPath(parent, file));
|
|
804
|
+
await this.delete(joinPath(targetPath, file));
|
|
805
|
+
}
|
|
806
|
+
const dirRecord = await this.db.files.where({ name, path: parent, type: "dir" }).first();
|
|
807
|
+
if (dirRecord) {
|
|
808
|
+
await this.db.files.delete(dirRecord.id!);
|
|
745
809
|
}
|
|
746
810
|
return true;
|
|
747
811
|
} else {
|
|
748
|
-
const fileRecord = await this.db.files.where({ name, path: parent }).first();
|
|
749
|
-
|
|
812
|
+
const fileRecord = await this.db.files.where({ name, path: parent, type: "file" }).first();
|
|
813
|
+
if (fileRecord) {
|
|
814
|
+
await this.db.files.delete(fileRecord.id!);
|
|
815
|
+
}
|
|
750
816
|
return true;
|
|
751
817
|
}
|
|
752
818
|
} catch (e) {
|
|
@@ -764,34 +830,51 @@ class VVVFS {
|
|
|
764
830
|
*/
|
|
765
831
|
async move(path: string, newPath: string) {
|
|
766
832
|
try {
|
|
767
|
-
|
|
833
|
+
const sourcePath = joinPath(path);
|
|
834
|
+
const destinationPath = joinPath(newPath);
|
|
835
|
+
if (await this.exists(destinationPath)) {
|
|
768
836
|
console.warn("目标文件已存在");
|
|
769
837
|
if (this.options.throwError) {
|
|
770
838
|
throw new VVVFSError("Move", "目标文件已存在");
|
|
771
839
|
}
|
|
772
840
|
return false;
|
|
773
841
|
}
|
|
774
|
-
if (!(await this.exists(
|
|
842
|
+
if (!(await this.exists(sourcePath))) {
|
|
775
843
|
console.warn("源文件不存在");
|
|
776
844
|
if (this.options.throwError) {
|
|
777
845
|
throw new VVVFSError("Move", "源文件不存在");
|
|
778
846
|
}
|
|
779
847
|
return false;
|
|
780
848
|
}
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
const dirs = await this.list(path);
|
|
786
|
-
for (const dir of dirs) {
|
|
787
|
-
await this.move(path + "/" + dir, newPath + "/" + dir);
|
|
849
|
+
if (destinationPath.startsWith(sourcePath + "/")) {
|
|
850
|
+
console.warn("目标路径是源路径的子路径");
|
|
851
|
+
if (this.options.throwError) {
|
|
852
|
+
throw new VVVFSError("Move", "目标路径是源路径的子路径");
|
|
788
853
|
}
|
|
854
|
+
return false;
|
|
855
|
+
}
|
|
856
|
+
const { name, parent } = parsePath(sourcePath);
|
|
857
|
+
const { name: newName, parent: newParent } = parsePath(destinationPath);
|
|
858
|
+
if (await this.isDir(sourcePath)) {
|
|
859
|
+
await this.createDir(destinationPath);
|
|
860
|
+
const children = await this.list(sourcePath);
|
|
861
|
+
for (const child of children) {
|
|
862
|
+
await this.move(joinPath(sourcePath, child), joinPath(destinationPath, child));
|
|
863
|
+
}
|
|
864
|
+
const dirRecord = await this.db.files.where({ name, path: parent, type: "dir" }).first();
|
|
865
|
+
if (dirRecord) {
|
|
866
|
+
await this.db.files.delete(dirRecord.id!);
|
|
867
|
+
}
|
|
868
|
+
return true;
|
|
789
869
|
} else {
|
|
790
|
-
|
|
791
|
-
await this.db.files.
|
|
870
|
+
await this.createDir(newParent);
|
|
871
|
+
const fileRecord = await this.db.files.where({ name, path: parent, type: "file" }).first();
|
|
872
|
+
if (fileRecord) {
|
|
873
|
+
await this.db.files.update(fileRecord.id!, { name: newName, path: newParent });
|
|
874
|
+
return true;
|
|
875
|
+
}
|
|
876
|
+
return false;
|
|
792
877
|
}
|
|
793
|
-
await this.delete(path);
|
|
794
|
-
return true;
|
|
795
878
|
} catch (e) {
|
|
796
879
|
console.error(e);
|
|
797
880
|
if (this.options.throwError) {
|
|
@@ -807,33 +890,51 @@ class VVVFS {
|
|
|
807
890
|
*/
|
|
808
891
|
async copy(path: string, newPath: string) {
|
|
809
892
|
try {
|
|
810
|
-
|
|
893
|
+
const sourcePath = joinPath(path);
|
|
894
|
+
const destinationPath = joinPath(newPath);
|
|
895
|
+
if (await this.exists(destinationPath)) {
|
|
811
896
|
console.warn("目标文件已存在");
|
|
812
897
|
if (this.options.throwError) {
|
|
813
898
|
throw new VVVFSError("Copy", "目标文件已存在");
|
|
814
899
|
}
|
|
815
900
|
return false;
|
|
816
901
|
}
|
|
817
|
-
if (!(await this.exists(
|
|
902
|
+
if (!(await this.exists(sourcePath))) {
|
|
818
903
|
console.warn("源文件不存在");
|
|
819
904
|
if (this.options.throwError) {
|
|
820
905
|
throw new VVVFSError("Copy", "源文件不存在");
|
|
821
906
|
}
|
|
822
907
|
return false;
|
|
823
908
|
}
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
909
|
+
if (destinationPath.startsWith(sourcePath + "/")) {
|
|
910
|
+
console.warn("目标路径是源路径的子路径");
|
|
911
|
+
if (this.options.throwError) {
|
|
912
|
+
throw new VVVFSError("Copy", "目标路径是源路径的子路径");
|
|
913
|
+
}
|
|
914
|
+
return false;
|
|
915
|
+
}
|
|
916
|
+
const { name, parent } = parsePath(sourcePath);
|
|
917
|
+
const { name: newName, parent: newParent } = parsePath(destinationPath);
|
|
918
|
+
if (await this.isDir(sourcePath)) {
|
|
919
|
+
await this.createDir(destinationPath);
|
|
920
|
+
const children = await this.list(sourcePath);
|
|
921
|
+
for (const child of children) {
|
|
922
|
+
await this.copy(joinPath(sourcePath, child), joinPath(destinationPath, child));
|
|
831
923
|
}
|
|
924
|
+
return true;
|
|
832
925
|
} else {
|
|
833
|
-
const fileRecord = await this.db.files.where({ name, path: parent }).first();
|
|
834
|
-
|
|
926
|
+
const fileRecord = await this.db.files.where({ name, path: parent, type: "file" }).first();
|
|
927
|
+
if (fileRecord) {
|
|
928
|
+
await this.db.files.add({
|
|
929
|
+
name: newName,
|
|
930
|
+
path: newParent,
|
|
931
|
+
type: fileRecord.type,
|
|
932
|
+
file: fileRecord.file,
|
|
933
|
+
});
|
|
934
|
+
return true;
|
|
935
|
+
}
|
|
936
|
+
return false;
|
|
835
937
|
}
|
|
836
|
-
return true;
|
|
837
938
|
} catch (e) {
|
|
838
939
|
console.error(e);
|
|
839
940
|
if (this.options.throwError) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vvvfs",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "一个使用IndexDB实现的虚拟文件系统",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Virtual",
|
|
@@ -25,5 +25,9 @@
|
|
|
25
25
|
"dexie": "^4.3.0",
|
|
26
26
|
"esbuild": "^0.27.3",
|
|
27
27
|
"mime": "^4.1.0"
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://github.com/IFTC-XLKJ/vvvfs.git"
|
|
28
32
|
}
|
|
29
33
|
}
|
package/dist/vvvfs.min.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(()=>{var Ta=Object.create;var Bn=Object.defineProperty;var Ka=Object.getOwnPropertyDescriptor;var Oa=Object.getOwnPropertyNames;var Aa=Object.getPrototypeOf,Pa=Object.prototype.hasOwnProperty;var Ca=(B,v,m)=>v in B?Bn(B,v,{enumerable:!0,configurable:!0,writable:!0,value:m}):B[v]=m;var Ia=(B,v)=>()=>(v||B((v={exports:{}}).exports,v),v.exports);var Ra=(B,v,m,k)=>{if(v&&typeof v=="object"||typeof v=="function")for(let O of Oa(v))!Pa.call(B,O)&&O!==m&&Bn(B,O,{get:()=>v[O],enumerable:!(k=Ka(v,O))||k.enumerable});return B};var Fa=(B,v,m)=>(m=B!=null?Ta(Aa(B)):{},Ra(v||!B||!B.__esModule?Bn(m,"default",{value:B,enumerable:!0}):m,B));var Be=(B,v,m)=>Ca(B,typeof v!="symbol"?v+"":v,m);var Vi=Ia((Mn,Vn)=>{(function(B,v){typeof Mn=="object"&&typeof Vn<"u"?Vn.exports=v():typeof define=="function"&&define.amd?define(v):(B=typeof globalThis<"u"?globalThis:B||self,B.Dexie=v())})(Mn,(function(){"use strict";var B=function(e,t){return B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(n[r]=i[r])},B(e,t)};function v(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");B(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var m=function(){return m=Object.assign||function(t){for(var n,i=1,r=arguments.length;i<r;i++){n=arguments[i];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},m.apply(this,arguments)};function k(e,t,n){if(n||arguments.length===2)for(var i=0,r=t.length,a;i<r;i++)(a||!(i in t))&&(a||(a=Array.prototype.slice.call(t,0,i)),a[i]=t[i]);return e.concat(a||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var O=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,z=Object.keys,P=Array.isArray;typeof Promise<"u"&&!O.Promise&&(O.Promise=Promise);function N(e,t){return typeof t!="object"||z(t).forEach(function(n){e[n]=t[n]}),e}var H=Object.getPrototypeOf,Z={}.hasOwnProperty;function ee(e,t){return Z.call(e,t)}function Ne(e,t){typeof t=="function"&&(t=t(H(e))),(typeof Reflect>"u"?z:Reflect.ownKeys)(t).forEach(function(n){ye(e,n,t[n])})}var $n=Object.defineProperty;function ye(e,t,n,i){$n(e,t,N(n&&ee(n,"get")&&typeof n.get=="function"?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},i))}function Le(e){return{from:function(t){return e.prototype=Object.create(t.prototype),ye(e.prototype,"constructor",e),{extend:Ne.bind(null,e.prototype)}}}}var Yi=Object.getOwnPropertyDescriptor;function Un(e,t){var n=Yi(e,t),i;return n||(i=H(e))&&Un(i,t)}var Qi=[].slice;function yt(e,t,n){return Qi.call(e,t,n)}function Yn(e,t){return t(e)}function et(e){if(!e)throw new Error("Assertion Failed")}function Qn(e){O.setImmediate?setImmediate(e):setTimeout(e,0)}function Hi(e,t){return e.reduce(function(n,i,r){var a=t(i,r);return a&&(n[a[0]]=a[1]),n},{})}function de(e,t){if(typeof t=="string"&&ee(e,t))return e[t];if(!t)return e;if(typeof t!="string"){for(var n=[],i=0,r=t.length;i<r;++i){var a=de(e,t[i]);n.push(a)}return n}var o=t.indexOf(".");if(o!==-1){var s=e[t.substr(0,o)];return s==null?void 0:de(s,t.substr(o+1))}}function te(e,t,n){if(!(!e||t===void 0)&&!("isFrozen"in Object&&Object.isFrozen(e)))if(typeof t!="string"&&"length"in t){et(typeof n!="string"&&"length"in n);for(var i=0,r=t.length;i<r;++i)te(e,t[i],n[i])}else{var a=t.indexOf(".");if(a!==-1){var o=t.substr(0,a),s=t.substr(a+1);if(s==="")n===void 0?P(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n;else{var c=e[o];(!c||!ee(e,o))&&(c=e[o]={}),te(c,s,n)}}else n===void 0?P(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}function Gi(e,t){typeof t=="string"?te(e,t,void 0):"length"in t&&[].map.call(t,function(n){te(e,n,void 0)})}function Hn(e){var t={};for(var n in e)ee(e,n)&&(t[n]=e[n]);return t}var Ji=[].concat;function Gn(e){return Ji.apply([],e)}var Xi="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(Gn([8,16,32,64].map(function(e){return["Int","Uint","Float"].map(function(t){return t+e+"Array"})}))).filter(function(e){return O[e]}),Jn=new Set(Xi.map(function(e){return O[e]}));function Xn(e){var t={};for(var n in e)if(ee(e,n)){var i=e[n];t[n]=!i||typeof i!="object"||Jn.has(i.constructor)?i:Xn(i)}return t}function Zi(e){for(var t in e)if(ee(e,t))return!1;return!0}var tt=null;function De(e){tt=new WeakMap;var t=Yt(e);return tt=null,t}function Yt(e){if(!e||typeof e!="object")return e;var t=tt.get(e);if(t)return t;if(P(e)){t=[],tt.set(e,t);for(var n=0,i=e.length;n<i;++n)t.push(Yt(e[n]))}else if(Jn.has(e.constructor))t=e;else{var r=H(e);t=r===Object.prototype?{}:Object.create(r),tt.set(e,t);for(var a in e)ee(e,a)&&(t[a]=Yt(e[a]))}return t}var er={}.toString;function Qt(e){return er.call(e).slice(8,-1)}var Ht=typeof Symbol<"u"?Symbol.iterator:"@@iterator",tr=typeof Ht=="symbol"?function(e){var t;return e!=null&&(t=e[Ht])&&t.apply(e)}:function(){return null};function Te(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),n>=0}var We={};function me(e){var t,n,i,r;if(arguments.length===1){if(P(e))return e.slice();if(this===We&&typeof e=="string")return[e];if(r=tr(e)){for(n=[];i=r.next(),!i.done;)n.push(i.value);return n}if(e==null)return[e];if(t=e.length,typeof t=="number"){for(n=new Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return n}var Gt=typeof Symbol<"u"?function(e){return e[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},nr=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"],Zn=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],Jt=nr.concat(Zn),ir={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function qe(e,t){this.name=e,this.message=t}Le(qe).from(Error).extend({toString:function(){return this.name+": "+this.message}});function ei(e,t){return e+". Errors: "+Object.keys(t).map(function(n){return t[n].toString()}).filter(function(n,i,r){return r.indexOf(n)===i}).join(`
|
|
2
|
-
`)}function gt(e,t,n,i){this.failures=t,this.failedKeys=i,this.successCount=n,this.message=ei(e,t)}Le(gt).from(qe);function $e(e,t){this.name="BulkError",this.failures=Object.keys(t).map(function(n){return t[n]}),this.failuresByPos=t,this.message=ei(e,this.failures)}Le($e).from(qe);var Xt=Jt.reduce(function(e,t){return e[t]=t+"Error",e},{}),rr=qe,I=Jt.reduce(function(e,t){var n=t+"Error";function i(r,a){this.name=n,r?typeof r=="string"?(this.message="".concat(r).concat(a?`
|
|
3
|
-
`+a:""),this.inner=a||null):typeof r=="object"&&(this.message="".concat(r.name," ").concat(r.message),this.inner=r):(this.message=ir[t]||n,this.inner=null)}return Le(i).from(rr),e[t]=i,e},{});I.Syntax=SyntaxError,I.Type=TypeError,I.Range=RangeError;var ti=Zn.reduce(function(e,t){return e[t+"Error"]=I[t],e},{});function ar(e,t){if(!e||e instanceof qe||e instanceof TypeError||e instanceof SyntaxError||!e.name||!ti[e.name])return e;var n=new ti[e.name](t||e.message,e);return"stack"in e&&ye(n,"stack",{get:function(){return this.inner.stack}}),n}var xt=Jt.reduce(function(e,t){return["Syntax","Type","Range"].indexOf(t)===-1&&(e[t+"Error"]=I[t]),e},{});xt.ModifyError=gt,xt.DexieError=qe,xt.BulkError=$e;function $(){}function nt(e){return e}function or(e,t){return e==null||e===nt?t:function(n){return t(e(n))}}function Ke(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function sr(e,t){return e===$?t:function(){var n=e.apply(this,arguments);n!==void 0&&(arguments[0]=n);var i=this.onsuccess,r=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?Ke(i,this.onsuccess):i),r&&(this.onerror=this.onerror?Ke(r,this.onerror):r),a!==void 0?a:n}}function cr(e,t){return e===$?t:function(){e.apply(this,arguments);var n=this.onsuccess,i=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?Ke(n,this.onsuccess):n),i&&(this.onerror=this.onerror?Ke(i,this.onerror):i)}}function lr(e,t){return e===$?t:function(n){var i=e.apply(this,arguments);N(n,i);var r=this.onsuccess,a=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?Ke(r,this.onsuccess):r),a&&(this.onerror=this.onerror?Ke(a,this.onerror):a),i===void 0?o===void 0?void 0:o:N(i,o)}}function ur(e,t){return e===$?t:function(){return t.apply(this,arguments)===!1?!1:e.apply(this,arguments)}}function Zt(e,t){return e===$?t:function(){var n=e.apply(this,arguments);if(n&&typeof n.then=="function"){for(var i=this,r=arguments.length,a=new Array(r);r--;)a[r]=arguments[r];return n.then(function(){return t.apply(i,a)})}return t.apply(this,arguments)}}var le=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function ni(e,t){le=e}var it={},ii=100,en=typeof Promise>"u"?[]:(function(){var e=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[e,H(e),e];var t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,H(t),e]})(),ri=en[0],ai=en[1],pr=en[2],fr=ai&&ai.then,Oe=ri&&ri.constructor,tn=!!pr;function dr(){queueMicrotask(vr)}var rt=function(e,t){at.push([e,t]),wt&&(dr(),wt=!1)},nn=!0,wt=!0,Ae=[],bt=[],rn=nt,ge={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:$,pgp:!1,env:{},finalize:$},A=ge,at=[],Pe=0,_t=[];function D(e){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var t=this._PSD=A;if(typeof e!="function"){if(e!==it)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&on(this,this._value);return}this._state=null,this._value=null,++t.ref,si(this,e)}var an={get:function(){var e=A,t=St;function n(i,r){var a=this,o=!e.global&&(e!==A||t!==St),s=o&&!we(),c=new D(function(l,f){sn(a,new oi(ui(i,e,o,s),ui(r,e,o,s),l,f,e))});return this._consoleTask&&(c._consoleTask=this._consoleTask),c}return n.prototype=it,n},set:function(e){ye(this,"then",e&&e.prototype===it?an:{get:function(){return e},set:an.set})}};Ne(D.prototype,{then:an,_then:function(e,t){sn(this,new oi(null,null,e,t,A))},catch:function(e){if(arguments.length===1)return this.then(null,e);var t=arguments[0],n=arguments[1];return typeof t=="function"?this.then(null,function(i){return i instanceof t?n(i):kt(i)}):this.then(null,function(i){return i&&i.name===t?n(i):kt(i)})},finally:function(e){return this.then(function(t){return D.resolve(e()).then(function(){return t})},function(t){return D.resolve(e()).then(function(){return kt(t)})})},timeout:function(e,t){var n=this;return e<1/0?new D(function(i,r){var a=setTimeout(function(){return r(new I.Timeout(t))},e);n.then(i,r).finally(clearTimeout.bind(null,a))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&ye(D.prototype,Symbol.toStringTag,"Dexie.Promise"),ge.env=li();function oi(e,t,n,i,r){this.onFulfilled=typeof e=="function"?e:null,this.onRejected=typeof t=="function"?t:null,this.resolve=n,this.reject=i,this.psd=r}Ne(D,{all:function(){var e=me.apply(null,arguments).map(Dt);return new D(function(t,n){e.length===0&&t([]);var i=e.length;e.forEach(function(r,a){return D.resolve(r).then(function(o){e[a]=o,--i||t(e)},n)})})},resolve:function(e){if(e instanceof D)return e;if(e&&typeof e.then=="function")return new D(function(n,i){e.then(n,i)});var t=new D(it,!0,e);return t},reject:kt,race:function(){var e=me.apply(null,arguments).map(Dt);return new D(function(t,n){e.map(function(i){return D.resolve(i).then(t,n)})})},PSD:{get:function(){return A},set:function(e){return A=e}},totalEchoes:{get:function(){return St}},newPSD:xe,usePSD:Ce,scheduler:{get:function(){return rt},set:function(e){rt=e}},rejectionMapper:{get:function(){return rn},set:function(e){rn=e}},follow:function(e,t){return new D(function(n,i){return xe(function(r,a){var o=A;o.unhandleds=[],o.onunhandled=a,o.finalize=Ke(function(){var s=this;hr(function(){s.unhandleds.length===0?r():a(s.unhandleds[0])})},o.finalize),e()},t,n,i)})}}),Oe&&(Oe.allSettled&&ye(D,"allSettled",function(){var e=me.apply(null,arguments).map(Dt);return new D(function(t){e.length===0&&t([]);var n=e.length,i=new Array(n);e.forEach(function(r,a){return D.resolve(r).then(function(o){return i[a]={status:"fulfilled",value:o}},function(o){return i[a]={status:"rejected",reason:o}}).then(function(){return--n||t(i)})})})}),Oe.any&&typeof AggregateError<"u"&&ye(D,"any",function(){var e=me.apply(null,arguments).map(Dt);return new D(function(t,n){e.length===0&&n(new AggregateError([]));var i=e.length,r=new Array(i);e.forEach(function(a,o){return D.resolve(a).then(function(s){return t(s)},function(s){r[o]=s,--i||n(new AggregateError(r))})})})}),Oe.withResolvers&&(D.withResolvers=Oe.withResolvers));function si(e,t){try{t(function(n){if(e._state===null){if(n===e)throw new TypeError("A promise cannot be resolved with itself.");var i=e._lib&&Ue();n&&typeof n.then=="function"?si(e,function(r,a){n instanceof D?n._then(r,a):n.then(r,a)}):(e._state=!0,e._value=n,ci(e)),i&&Ye()}},on.bind(null,e))}catch(n){on(e,n)}}function on(e,t){if(bt.push(t),e._state===null){var n=e._lib&&Ue();t=rn(t),e._state=!1,e._value=t,yr(e),ci(e),n&&Ye()}}function ci(e){var t=e._listeners;e._listeners=[];for(var n=0,i=t.length;n<i;++n)sn(e,t[n]);var r=e._PSD;--r.ref||r.finalize(),Pe===0&&(++Pe,rt(function(){--Pe===0&&cn()},[]))}function sn(e,t){if(e._state===null){e._listeners.push(t);return}var n=e._state?t.onFulfilled:t.onRejected;if(n===null)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++Pe,rt(mr,[n,e,t])}function mr(e,t,n){try{var i,r=t._value;!t._state&&bt.length&&(bt=[]),i=le&&t._consoleTask?t._consoleTask.run(function(){return e(r)}):e(r),!t._state&&bt.indexOf(r)===-1&&gr(t),n.resolve(i)}catch(a){n.reject(a)}finally{--Pe===0&&cn(),--n.psd.ref||n.psd.finalize()}}function vr(){Ce(ge,function(){Ue()&&Ye()})}function Ue(){var e=nn;return nn=!1,wt=!1,e}function Ye(){var e,t,n;do for(;at.length>0;)for(e=at,at=[],n=e.length,t=0;t<n;++t){var i=e[t];i[0].apply(null,i[1])}while(at.length>0);nn=!0,wt=!0}function cn(){var e=Ae;Ae=[],e.forEach(function(i){i._PSD.onunhandled.call(null,i._value,i)});for(var t=_t.slice(0),n=t.length;n;)t[--n]()}function hr(e){function t(){e(),_t.splice(_t.indexOf(t),1)}_t.push(t),++Pe,rt(function(){--Pe===0&&cn()},[])}function yr(e){Ae.some(function(t){return t._value===e._value})||Ae.push(e)}function gr(e){for(var t=Ae.length;t;)if(Ae[--t]._value===e._value){Ae.splice(t,1);return}}function kt(e){return new D(it,!1,e)}function U(e,t){var n=A;return function(){var i=Ue(),r=A;try{return be(n,!0),e.apply(this,arguments)}catch(a){t&&t(a)}finally{be(r,!1),i&&Ye()}}}var G={awaits:0,echoes:0,id:0},xr=0,Et=[],jt=0,St=0,wr=0;function xe(e,t,n,i){var r=A,a=Object.create(r);a.parent=r,a.ref=0,a.global=!1,a.id=++wr,ge.env,a.env=tn?{Promise:D,PromiseProp:{value:D,configurable:!0,writable:!0},all:D.all,race:D.race,allSettled:D.allSettled,any:D.any,resolve:D.resolve,reject:D.reject}:{},t&&N(a,t),++r.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var o=Ce(a,e,n,i);return a.ref===0&&a.finalize(),o}function Qe(){return G.id||(G.id=++xr),++G.awaits,G.echoes+=ii,G.id}function we(){return G.awaits?(--G.awaits===0&&(G.id=0),G.echoes=G.awaits*ii,!0):!1}(""+fr).indexOf("[native code]")===-1&&(Qe=we=$);function Dt(e){return G.echoes&&e&&e.constructor===Oe?(Qe(),e.then(function(t){return we(),t},function(t){return we(),Q(t)})):e}function br(e){++St,(!G.echoes||--G.echoes===0)&&(G.echoes=G.awaits=G.id=0),Et.push(A),be(e,!0)}function _r(){var e=Et[Et.length-1];Et.pop(),be(e,!1)}function be(e,t){var n=A;if((t?G.echoes&&(!jt++||e!==A):jt&&(!--jt||e!==A))&&queueMicrotask(t?br.bind(null,e):_r),e!==A&&(A=e,n===ge&&(ge.env=li()),tn)){var i=ge.env.Promise,r=e.env;(n.global||e.global)&&(Object.defineProperty(O,"Promise",r.PromiseProp),i.all=r.all,i.race=r.race,i.resolve=r.resolve,i.reject=r.reject,r.allSettled&&(i.allSettled=r.allSettled),r.any&&(i.any=r.any))}}function li(){var e=O.Promise;return tn?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(O,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject}:{}}function Ce(e,t,n,i,r){var a=A;try{return be(e,!0),t(n,i,r)}finally{be(a,!1)}}function ui(e,t,n,i){return typeof e!="function"?e:function(){var r=A;n&&Qe(),be(t,!0);try{return e.apply(this,arguments)}finally{be(r,!1),i&&queueMicrotask(we)}}}function ln(e){Promise===Oe&&G.echoes===0?jt===0?e():enqueueNativeMicroTask(e):setTimeout(e,0)}var Q=D.reject;function un(e,t,n,i){if(!e.idbdb||!e._state.openComplete&&!A.letThrough&&!e._vip){if(e._state.openComplete)return Q(new I.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._state.autoOpen)return Q(new I.DatabaseClosed);e.open().catch($)}return e._state.dbReadyPromise.then(function(){return un(e,t,n,i)})}else{var r=e._createTransaction(t,n,e._dbSchema);try{r.create(),e._state.PR1398_maxLoop=3}catch(a){return a.name===Xt.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(e.close({disableAutoOpen:!1}),e.open().then(function(){return un(e,t,n,i)})):Q(a)}return r._promise(t,function(a,o){return xe(function(){return A.trans=r,i(a,o,r)})}).then(function(a){if(t==="readwrite")try{r.idbtrans.commit()}catch{}return t==="readonly"?a:r._completion.then(function(){return a})})}}var pi="4.3.0",Ie="\uFFFF",pn=-1/0,ve="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",fi="String expected.",He=[],Tt="__dbnames",fn="readonly",dn="readwrite";function Re(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var di={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Kt(e){return typeof e=="string"&&!/\./.test(e)?function(t){return t[e]===void 0&&e in t&&(t=De(t),delete t[e]),t}:function(t){return t}}function mi(){throw I.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function W(e,t){try{var n=vi(e),i=vi(t);if(n!==i)return n==="Array"?1:i==="Array"?-1:n==="binary"?1:i==="binary"?-1:n==="string"?1:i==="string"?-1:n==="Date"?1:i!=="Date"?NaN:-1;switch(n){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return Er(hi(e),hi(t));case"Array":return kr(e,t)}}catch{}return NaN}function kr(e,t){for(var n=e.length,i=t.length,r=n<i?n:i,a=0;a<r;++a){var o=W(e[a],t[a]);if(o!==0)return o}return n===i?0:n<i?-1:1}function Er(e,t){for(var n=e.length,i=t.length,r=n<i?n:i,a=0;a<r;++a)if(e[a]!==t[a])return e[a]<t[a]?-1:1;return n===i?0:n<i?-1:1}function vi(e){var t=typeof e;if(t!=="object")return t;if(ArrayBuffer.isView(e))return"binary";var n=Qt(e);return n==="ArrayBuffer"?"binary":n}function hi(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}function Ot(e,t,n){var i=e.schema.yProps;return i?(t&&n.numFailures>0&&(t=t.filter(function(r,a){return!n.failures[a]})),Promise.all(i.map(function(r){var a=r.updatesTable;return t?e.db.table(a).where("k").anyOf(t).delete():e.db.table(a).clear()})).then(function(){return n})):n}var ot=(function(){function e(t){this["@@propmod"]=t}return e.prototype.execute=function(t){var n,i=this["@@propmod"];if(i.add!==void 0){var r=i.add;if(P(r))return k(k([],P(t)?t:[],!0),r,!0).sort();if(typeof r=="number")return(Number(t)||0)+r;if(typeof r=="bigint")try{return BigInt(t)+r}catch{return BigInt(0)+r}throw new TypeError("Invalid term ".concat(r))}if(i.remove!==void 0){var a=i.remove;if(P(a))return P(t)?t.filter(function(s){return!a.includes(s)}).sort():[];if(typeof a=="number")return Number(t)-a;if(typeof a=="bigint")try{return BigInt(t)-a}catch{return BigInt(0)-a}throw new TypeError("Invalid subtrahend ".concat(a))}var o=(n=i.replacePrefix)===null||n===void 0?void 0:n[0];return o&&typeof t=="string"&&t.startsWith(o)?i.replacePrefix[1]+t.substring(o.length):t},e})();function yi(e,t){for(var n=z(t),i=n.length,r=!1,a=0;a<i;++a){var o=n[a],s=t[o],c=de(e,o);s instanceof ot?(te(e,o,s.execute(c)),r=!0):c!==s&&(te(e,o,s),r=!0)}return r}var gi=(function(){function e(){}return e.prototype._trans=function(t,n,i){var r=this._tx||A.trans,a=this.name,o=le&&typeof console<"u"&&console.createTask&&void 0;function s(f,u,y){if(!y.schema[a])throw new I.NotFound("Table "+a+" not part of transaction");return n(y.idbtrans,y)}var c=Ue();try{var l=r&&r.db._novip===this.db._novip?r===A.trans?r._promise(t,s,i):xe(function(){return r._promise(t,s,i)},{trans:r,transless:A.transless||A}):un(this.db,t,[this.name],s);return o&&(l._consoleTask=o,l=l.catch(function(f){return Q(f)})),l}finally{c&&Ye()}},e.prototype.get=function(t,n){var i=this;return t&&t.constructor===Object?this.where(t).first(n):t==null?Q(new I.Type("Invalid argument to Table.get()")):this._trans("readonly",function(r){return i.core.get({trans:r,key:t}).then(function(a){return i.hook.reading.fire(a)})}).then(n)},e.prototype.where=function(t){if(typeof t=="string")return new this.db.WhereClause(this,t);if(P(t))return new this.db.WhereClause(this,"[".concat(t.join("+"),"]"));var n=z(t);if(n.length===1)return this.where(n[0]).equals(t[n[0]]);var i=this.schema.indexes.concat(this.schema.primKey).filter(function(f){if(f.compound&&n.every(function(y){return f.keyPath.indexOf(y)>=0})){for(var u=0;u<n.length;++u)if(n.indexOf(f.keyPath[u])===-1)return!1;return!0}return!1}).sort(function(f,u){return f.keyPath.length-u.keyPath.length})[0];if(i&&this.db._maxKey!==Ie){var r=i.keyPath.slice(0,n.length);return this.where(r).equals(r.map(function(f){return t[f]}))}var a=this.schema.idxByName;function o(f,u){return W(f,u)===0}var s=n.reduce(function(f,u){var y=f[0],E=f[1],p=a[u],d=t[u];return[y||p,y||!p?Re(E,p&&p.multi?function(h){var g=de(h,u);return P(g)&&g.some(function(w){return o(d,w)})}:function(h){return o(d,de(h,u))}):E]},[null,null]),c=s[0],l=s[1];return c?this.where(c.name).equals(t[c.keyPath]).filter(l):i?this.filter(l):this.where(n).equals("")},e.prototype.filter=function(t){return this.toCollection().and(t)},e.prototype.count=function(t){return this.toCollection().count(t)},e.prototype.offset=function(t){return this.toCollection().offset(t)},e.prototype.limit=function(t){return this.toCollection().limit(t)},e.prototype.each=function(t){return this.toCollection().each(t)},e.prototype.toArray=function(t){return this.toCollection().toArray(t)},e.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},e.prototype.orderBy=function(t){return new this.db.Collection(new this.db.WhereClause(this,P(t)?"[".concat(t.join("+"),"]"):t))},e.prototype.reverse=function(){return this.toCollection().reverse()},e.prototype.mapToClass=function(t){var n=this,i=n.db,r=n.name;this.schema.mappedClass=t,t.prototype instanceof mi&&(t=(function(c){v(l,c);function l(){return c!==null&&c.apply(this,arguments)||this}return Object.defineProperty(l.prototype,"db",{get:function(){return i},enumerable:!1,configurable:!0}),l.prototype.table=function(){return r},l})(t));for(var a=new Set,o=t.prototype;o;o=H(o))Object.getOwnPropertyNames(o).forEach(function(c){return a.add(c)});var s=function(c){if(!c)return c;var l=Object.create(t.prototype);for(var f in c)if(!a.has(f))try{l[f]=c[f]}catch{}return l};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=s,this.hook("reading",s),t},e.prototype.defineClass=function(){function t(n){N(this,n)}return this.mapToClass(t)},e.prototype.add=function(t,n){var i=this,r=this.schema.primKey,a=r.auto,o=r.keyPath,s=t;return o&&a&&(s=Kt(o)(t)),this._trans("readwrite",function(c){return i.core.mutate({trans:c,type:"add",keys:n!=null?[n]:null,values:[s]})}).then(function(c){return c.numFailures?D.reject(c.failures[0]):c.lastResult}).then(function(c){if(o)try{te(t,o,c)}catch{}return c})},e.prototype.upsert=function(t,n){var i=this,r=this.schema.primKey.keyPath;return this._trans("readwrite",function(a){return i.core.get({trans:a,key:t}).then(function(o){var s=o!=null?o:{};return yi(s,n),r&&te(s,r,t),i.core.mutate({trans:a,type:"put",values:[s],keys:[t],upsert:!0,updates:{keys:[t],changeSpecs:[n]}}).then(function(c){return c.numFailures?D.reject(c.failures[0]):!!o})})})},e.prototype.update=function(t,n){if(typeof t=="object"&&!P(t)){var i=de(t,this.schema.primKey.keyPath);return i===void 0?Q(new I.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(i).modify(n)}else return this.where(":id").equals(t).modify(n)},e.prototype.put=function(t,n){var i=this,r=this.schema.primKey,a=r.auto,o=r.keyPath,s=t;return o&&a&&(s=Kt(o)(t)),this._trans("readwrite",function(c){return i.core.mutate({trans:c,type:"put",values:[s],keys:n!=null?[n]:null})}).then(function(c){return c.numFailures?D.reject(c.failures[0]):c.lastResult}).then(function(c){if(o)try{te(t,o,c)}catch{}return c})},e.prototype.delete=function(t){var n=this;return this._trans("readwrite",function(i){return n.core.mutate({trans:i,type:"delete",keys:[t]}).then(function(r){return Ot(n,[t],r)}).then(function(r){return r.numFailures?D.reject(r.failures[0]):void 0})})},e.prototype.clear=function(){var t=this;return this._trans("readwrite",function(n){return t.core.mutate({trans:n,type:"deleteRange",range:di}).then(function(i){return Ot(t,null,i)})}).then(function(n){return n.numFailures?D.reject(n.failures[0]):void 0})},e.prototype.bulkGet=function(t){var n=this;return this._trans("readonly",function(i){return n.core.getMany({keys:t,trans:i}).then(function(r){return r.map(function(a){return n.hook.reading.fire(a)})})})},e.prototype.bulkAdd=function(t,n,i){var r=this,a=Array.isArray(n)?n:void 0;i=i||(a?void 0:n);var o=i?i.allKeys:void 0;return this._trans("readwrite",function(s){var c=r.schema.primKey,l=c.auto,f=c.keyPath;if(f&&a)throw new I.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(a&&a.length!==t.length)throw new I.InvalidArgument("Arguments objects and keys must have the same length");var u=t.length,y=f&&l?t.map(Kt(f)):t;return r.core.mutate({trans:s,type:"add",keys:a,values:y,wantResults:o}).then(function(E){var p=E.numFailures,d=E.results,h=E.lastResult,g=E.failures,w=o?d:h;if(p===0)return w;throw new $e("".concat(r.name,".bulkAdd(): ").concat(p," of ").concat(u," operations failed"),g)})})},e.prototype.bulkPut=function(t,n,i){var r=this,a=Array.isArray(n)?n:void 0;i=i||(a?void 0:n);var o=i?i.allKeys:void 0;return this._trans("readwrite",function(s){var c=r.schema.primKey,l=c.auto,f=c.keyPath;if(f&&a)throw new I.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(a&&a.length!==t.length)throw new I.InvalidArgument("Arguments objects and keys must have the same length");var u=t.length,y=f&&l?t.map(Kt(f)):t;return r.core.mutate({trans:s,type:"put",keys:a,values:y,wantResults:o}).then(function(E){var p=E.numFailures,d=E.results,h=E.lastResult,g=E.failures,w=o?d:h;if(p===0)return w;throw new $e("".concat(r.name,".bulkPut(): ").concat(p," of ").concat(u," operations failed"),g)})})},e.prototype.bulkUpdate=function(t){var n=this,i=this.core,r=t.map(function(s){return s.key}),a=t.map(function(s){return s.changes}),o=[];return this._trans("readwrite",function(s){return i.getMany({trans:s,keys:r,cache:"clone"}).then(function(c){var l=[],f=[];t.forEach(function(y,E){var p=y.key,d=y.changes,h=c[E];if(h){for(var g=0,w=Object.keys(d);g<w.length;g++){var b=w[g],_=d[b];if(b===n.schema.primKey.keyPath){if(W(_,p)!==0)throw new I.Constraint("Cannot update primary key in bulkUpdate()")}else te(h,b,_)}o.push(E),l.push(p),f.push(h)}});var u=l.length;return i.mutate({trans:s,type:"put",keys:l,values:f,updates:{keys:r,changeSpecs:a}}).then(function(y){var E=y.numFailures,p=y.failures;if(E===0)return u;for(var d=0,h=Object.keys(p);d<h.length;d++){var g=h[d],w=o[Number(g)];if(w!=null){var b=p[g];delete p[g],p[w]=b}}throw new $e("".concat(n.name,".bulkUpdate(): ").concat(E," of ").concat(u," operations failed"),p)})})})},e.prototype.bulkDelete=function(t){var n=this,i=t.length;return this._trans("readwrite",function(r){return n.core.mutate({trans:r,type:"delete",keys:t}).then(function(a){return Ot(n,t,a)})}).then(function(r){var a=r.numFailures,o=r.lastResult,s=r.failures;if(a===0)return o;throw new $e("".concat(n.name,".bulkDelete(): ").concat(a," of ").concat(i," operations failed"),s)})},e})();function st(e){var t={},n=function(s,c){if(c){for(var l=arguments.length,f=new Array(l-1);--l;)f[l-1]=arguments[l];return t[s].subscribe.apply(null,f),e}else if(typeof s=="string")return t[s]};n.addEventType=a;for(var i=1,r=arguments.length;i<r;++i)a(arguments[i]);return n;function a(s,c,l){if(typeof s=="object")return o(s);c||(c=ur),l||(l=$);var f={subscribers:[],fire:l,subscribe:function(u){f.subscribers.indexOf(u)===-1&&(f.subscribers.push(u),f.fire=c(f.fire,u))},unsubscribe:function(u){f.subscribers=f.subscribers.filter(function(y){return y!==u}),f.fire=f.subscribers.reduce(c,l)}};return t[s]=n[s]=f,f}function o(s){z(s).forEach(function(c){var l=s[c];if(P(l))a(c,s[c][0],s[c][1]);else if(l==="asap")var f=a(c,nt,function(){for(var y=arguments.length,E=new Array(y);y--;)E[y]=arguments[y];f.subscribers.forEach(function(p){Qn(function(){p.apply(null,E)})})});else throw new I.InvalidArgument("Invalid event config")})}}function ct(e,t){return Le(t).from({prototype:e}),t}function jr(e){return ct(gi.prototype,function(n,i,r){this.db=e,this._tx=r,this.name=n,this.schema=i,this.hook=e._allTables[n]?e._allTables[n].hook:st(null,{creating:[sr,$],reading:[or,nt],updating:[lr,$],deleting:[cr,$]})})}function Ge(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function mn(e,t){e.filter=Re(e.filter,t)}function vn(e,t,n){var i=e.replayFilter;e.replayFilter=i?function(){return Re(i(),t())}:t,e.justLimit=n&&!i}function Sr(e,t){e.isMatch=Re(e.isMatch,t)}function At(e,t){if(e.isPrimKey)return t.primaryKey;var n=t.getIndexByKeyPath(e.index);if(!n)throw new I.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return n}function xi(e,t,n){var i=At(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir==="prev",unique:!!e.unique,query:{index:i,range:e.range}})}function Pt(e,t,n,i){var r=e.replayFilter?Re(e.filter,e.replayFilter()):e.filter;if(e.or){var a={},o=function(s,c,l){if(!r||r(c,l,function(y){return c.stop(y)},function(y){return c.fail(y)})){var f=c.primaryKey,u=""+f;u==="[object ArrayBuffer]"&&(u=""+new Uint8Array(f)),ee(a,u)||(a[u]=!0,t(s,c,l))}};return Promise.all([e.or._iterate(o,n),wi(xi(e,i,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}else return wi(xi(e,i,n),Re(e.algorithm,r),t,!e.keysOnly&&e.valueMapper)}function wi(e,t,n,i){var r=i?function(o,s,c){return n(i(o),s,c)}:n,a=U(r);return e.then(function(o){if(o)return o.start(function(){var s=function(){return o.continue()};(!t||t(o,function(c){return s=c},function(c){o.stop(c),s=$},function(c){o.fail(c),s=$}))&&a(o.value,o,function(c){return s=c}),s()})})}var Dr=(function(){function e(){}return e.prototype._read=function(t,n){var i=this._ctx;return i.error?i.table._trans(null,Q.bind(null,i.error)):i.table._trans("readonly",t).then(n)},e.prototype._write=function(t){var n=this._ctx;return n.error?n.table._trans(null,Q.bind(null,n.error)):n.table._trans("readwrite",t,"locked")},e.prototype._addAlgorithm=function(t){var n=this._ctx;n.algorithm=Re(n.algorithm,t)},e.prototype._iterate=function(t,n){return Pt(this._ctx,t,n,this._ctx.table.core)},e.prototype.clone=function(t){var n=Object.create(this.constructor.prototype),i=Object.create(this._ctx);return t&&N(i,t),n._ctx=i,n},e.prototype.raw=function(){return this._ctx.valueMapper=null,this},e.prototype.each=function(t){var n=this._ctx;return this._read(function(i){return Pt(n,t,i,n.table.core)})},e.prototype.count=function(t){var n=this;return this._read(function(i){var r=n._ctx,a=r.table.core;if(Ge(r,!0))return a.count({trans:i,query:{index:At(r,a.schema),range:r.range}}).then(function(s){return Math.min(s,r.limit)});var o=0;return Pt(r,function(){return++o,!1},i,a).then(function(){return o})}).then(t)},e.prototype.sortBy=function(t,n){var i=t.split(".").reverse(),r=i[0],a=i.length-1;function o(l,f){return f?o(l[i[f]],f-1):l[r]}var s=this._ctx.dir==="next"?1:-1;function c(l,f){var u=o(l,a),y=o(f,a);return W(u,y)*s}return this.toArray(function(l){return l.sort(c)}).then(n)},e.prototype.toArray=function(t){var n=this;return this._read(function(i){var r=n._ctx;if(r.dir==="next"&&Ge(r,!0)&&r.limit>0){var a=r.valueMapper,o=At(r,r.table.core.schema);return r.table.core.query({trans:i,limit:r.limit,values:!0,query:{index:o,range:r.range}}).then(function(c){var l=c.result;return a?l.map(a):l})}else{var s=[];return Pt(r,function(c){return s.push(c)},i,r.table.core).then(function(){return s})}},t)},e.prototype.offset=function(t){var n=this._ctx;return t<=0?this:(n.offset+=t,Ge(n)?vn(n,function(){var i=t;return function(r,a){return i===0?!0:i===1?(--i,!1):(a(function(){r.advance(i),i=0}),!1)}}):vn(n,function(){var i=t;return function(){return--i<0}}),this)},e.prototype.limit=function(t){return this._ctx.limit=Math.min(this._ctx.limit,t),vn(this._ctx,function(){var n=t;return function(i,r,a){return--n<=0&&r(a),n>=0}},!0),this},e.prototype.until=function(t,n){return mn(this._ctx,function(i,r,a){return t(i.value)?(r(a),n):!0}),this},e.prototype.first=function(t){return this.limit(1).toArray(function(n){return n[0]}).then(t)},e.prototype.last=function(t){return this.reverse().first(t)},e.prototype.filter=function(t){return mn(this._ctx,function(n){return t(n.value)}),Sr(this._ctx,t),this},e.prototype.and=function(t){return this.filter(t)},e.prototype.or=function(t){return new this.db.WhereClause(this._ctx.table,t,this)},e.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},e.prototype.desc=function(){return this.reverse()},e.prototype.eachKey=function(t){var n=this._ctx;return n.keysOnly=!n.isMatch,this.each(function(i,r){t(r.key,r)})},e.prototype.eachUniqueKey=function(t){return this._ctx.unique="unique",this.eachKey(t)},e.prototype.eachPrimaryKey=function(t){var n=this._ctx;return n.keysOnly=!n.isMatch,this.each(function(i,r){t(r.primaryKey,r)})},e.prototype.keys=function(t){var n=this._ctx;n.keysOnly=!n.isMatch;var i=[];return this.each(function(r,a){i.push(a.key)}).then(function(){return i}).then(t)},e.prototype.primaryKeys=function(t){var n=this._ctx;if(n.dir==="next"&&Ge(n,!0)&&n.limit>0)return this._read(function(r){var a=At(n,n.table.core.schema);return n.table.core.query({trans:r,values:!1,limit:n.limit,query:{index:a,range:n.range}})}).then(function(r){var a=r.result;return a}).then(t);n.keysOnly=!n.isMatch;var i=[];return this.each(function(r,a){i.push(a.primaryKey)}).then(function(){return i}).then(t)},e.prototype.uniqueKeys=function(t){return this._ctx.unique="unique",this.keys(t)},e.prototype.firstKey=function(t){return this.limit(1).keys(function(n){return n[0]}).then(t)},e.prototype.lastKey=function(t){return this.reverse().firstKey(t)},e.prototype.distinct=function(){var t=this._ctx,n=t.index&&t.table.schema.idxByName[t.index];if(!n||!n.multi)return this;var i={};return mn(this._ctx,function(r){var a=r.primaryKey.toString(),o=ee(i,a);return i[a]=!0,!o}),this},e.prototype.modify=function(t){var n=this,i=this._ctx;return this._write(function(r){var a;typeof t=="function"?a=t:a=function(g){return yi(g,t)};var o=i.table.core,s=o.schema.primaryKey,c=s.outbound,l=s.extractKey,f=200,u=n.db._options.modifyChunkSize;u&&(typeof u=="object"?f=u[o.name]||u["*"]||200:f=u);var y=[],E=0,p=[],d=function(g,w){var b=w.failures,_=w.numFailures;E+=g-_;for(var x=0,j=z(b);x<j.length;x++){var T=j[x];y.push(b[T])}},h=t===bi;return n.clone().primaryKeys().then(function(g){var w=Ge(i)&&i.limit===1/0&&(typeof t!="function"||h)&&{index:i.index,range:i.range},b=function(_){var x=Math.min(f,g.length-_),j=g.slice(_,_+x);return(h?Promise.resolve([]):o.getMany({trans:r,keys:j,cache:"immutable"})).then(function(T){var S=[],R=[],V=c?[]:null,K=h?j:[];if(!h)for(var M=0;M<x;++M){var F=T[M],q={value:De(F),primKey:g[_+M]};a.call(q,q.value,q)!==!1&&(q.value==null?K.push(g[_+M]):!c&&W(l(F),l(q.value))!==0?(K.push(g[_+M]),S.push(q.value)):(R.push(q.value),c&&V.push(g[_+M])))}return Promise.resolve(S.length>0&&o.mutate({trans:r,type:"add",values:S}).then(function(C){for(var Y in C.failures)K.splice(parseInt(Y),1);d(S.length,C)})).then(function(){return(R.length>0||w&&typeof t=="object")&&o.mutate({trans:r,type:"put",keys:V,values:R,criteria:w,changeSpec:typeof t!="function"&&t,isAdditionalChunk:_>0}).then(function(C){return d(R.length,C)})}).then(function(){return(K.length>0||w&&h)&&o.mutate({trans:r,type:"delete",keys:K,criteria:w,isAdditionalChunk:_>0}).then(function(C){return Ot(i.table,K,C)}).then(function(C){return d(K.length,C)})}).then(function(){return g.length>_+x&&b(_+f)})})};return b(0).then(function(){if(y.length>0)throw new gt("Error modifying one or more objects",y,E,p);return g.length})})})},e.prototype.delete=function(){var t=this._ctx,n=t.range;return Ge(t)&&!t.table.schema.yProps&&(t.isPrimKey||n.type===3)?this._write(function(i){var r=t.table.core.schema.primaryKey,a=n;return t.table.core.count({trans:i,query:{index:r,range:a}}).then(function(o){return t.table.core.mutate({trans:i,type:"deleteRange",range:a}).then(function(s){var c=s.failures,l=s.numFailures;if(l)throw new gt("Could not delete some values",Object.keys(c).map(function(f){return c[f]}),o-l);return o-l})})}):this.modify(bi)},e})(),bi=function(e,t){return t.value=null};function Tr(e){return ct(Dr.prototype,function(n,i){this.db=e;var r=di,a=null;if(i)try{r=i()}catch(l){a=l}var o=n._ctx,s=o.table,c=s.hook.reading.fire;this._ctx={table:s,index:o.index,isPrimKey:!o.index||s.schema.primKey.keyPath&&o.index===s.schema.primKey.name,range:r,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:a,or:o.or,valueMapper:c!==nt?c:null}})}function Kr(e,t){return e<t?-1:e===t?0:1}function Or(e,t){return e>t?-1:e===t?0:1}function re(e,t,n){var i=e instanceof ki?new e.Collection(e):e;return i._ctx.error=n?new n(t):new TypeError(t),i}function Je(e){return new e.Collection(e,function(){return _i("")}).limit(0)}function Ar(e){return e==="next"?function(t){return t.toUpperCase()}:function(t){return t.toLowerCase()}}function Pr(e){return e==="next"?function(t){return t.toLowerCase()}:function(t){return t.toUpperCase()}}function Cr(e,t,n,i,r,a){for(var o=Math.min(e.length,i.length),s=-1,c=0;c<o;++c){var l=t[c];if(l!==i[c])return r(e[c],n[c])<0?e.substr(0,c)+n[c]+n.substr(c+1):r(e[c],i[c])<0?e.substr(0,c)+i[c]+n.substr(c+1):s>=0?e.substr(0,s)+t[s]+n.substr(s+1):null;r(e[c],l)<0&&(s=c)}return o<i.length&&a==="next"?e+n.substr(e.length):o<e.length&&a==="prev"?e.substr(0,n.length):s<0?null:e.substr(0,s)+i[s]+n.substr(s+1)}function Ct(e,t,n,i){var r,a,o,s,c,l,f,u=n.length;if(!n.every(function(d){return typeof d=="string"}))return re(e,fi);function y(d){r=Ar(d),a=Pr(d),o=d==="next"?Kr:Or;var h=n.map(function(g){return{lower:a(g),upper:r(g)}}).sort(function(g,w){return o(g.lower,w.lower)});s=h.map(function(g){return g.upper}),c=h.map(function(g){return g.lower}),l=d,f=d==="next"?"":i}y("next");var E=new e.Collection(e,function(){return _e(s[0],c[u-1]+i)});E._ondirectionchange=function(d){y(d)};var p=0;return E._addAlgorithm(function(d,h,g){var w=d.key;if(typeof w!="string")return!1;var b=a(w);if(t(b,c,p))return!0;for(var _=null,x=p;x<u;++x){var j=Cr(w,b,s[x],c[x],o,l);j===null&&_===null?p=x+1:(_===null||o(_,j)>0)&&(_=j)}return h(_!==null?function(){d.continue(_+f)}:g),!1}),E}function _e(e,t,n,i){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:i}}function _i(e){return{type:1,lower:e,upper:e}}var ki=(function(){function e(){}return Object.defineProperty(e.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),e.prototype.between=function(t,n,i,r){i=i!==!1,r=r===!0;try{return this._cmp(t,n)>0||this._cmp(t,n)===0&&(i||r)&&!(i&&r)?Je(this):new this.Collection(this,function(){return _e(t,n,!i,!r)})}catch{return re(this,ve)}},e.prototype.equals=function(t){return t==null?re(this,ve):new this.Collection(this,function(){return _i(t)})},e.prototype.above=function(t){return t==null?re(this,ve):new this.Collection(this,function(){return _e(t,void 0,!0)})},e.prototype.aboveOrEqual=function(t){return t==null?re(this,ve):new this.Collection(this,function(){return _e(t,void 0,!1)})},e.prototype.below=function(t){return t==null?re(this,ve):new this.Collection(this,function(){return _e(void 0,t,!1,!0)})},e.prototype.belowOrEqual=function(t){return t==null?re(this,ve):new this.Collection(this,function(){return _e(void 0,t)})},e.prototype.startsWith=function(t){return typeof t!="string"?re(this,fi):this.between(t,t+Ie,!0,!0)},e.prototype.startsWithIgnoreCase=function(t){return t===""?this.startsWith(t):Ct(this,function(n,i){return n.indexOf(i[0])===0},[t],Ie)},e.prototype.equalsIgnoreCase=function(t){return Ct(this,function(n,i){return n===i[0]},[t],"")},e.prototype.anyOfIgnoreCase=function(){var t=me.apply(We,arguments);return t.length===0?Je(this):Ct(this,function(n,i){return i.indexOf(n)!==-1},t,"")},e.prototype.startsWithAnyOfIgnoreCase=function(){var t=me.apply(We,arguments);return t.length===0?Je(this):Ct(this,function(n,i){return i.some(function(r){return n.indexOf(r)===0})},t,Ie)},e.prototype.anyOf=function(){var t=this,n=me.apply(We,arguments),i=this._cmp;try{n.sort(i)}catch{return re(this,ve)}if(n.length===0)return Je(this);var r=new this.Collection(this,function(){return _e(n[0],n[n.length-1])});r._ondirectionchange=function(o){i=o==="next"?t._ascending:t._descending,n.sort(i)};var a=0;return r._addAlgorithm(function(o,s,c){for(var l=o.key;i(l,n[a])>0;)if(++a,a===n.length)return s(c),!1;return i(l,n[a])===0?!0:(s(function(){o.continue(n[a])}),!1)}),r},e.prototype.notEqual=function(t){return this.inAnyRange([[pn,t],[t,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},e.prototype.noneOf=function(){var t=me.apply(We,arguments);if(t.length===0)return new this.Collection(this);try{t.sort(this._ascending)}catch{return re(this,ve)}var n=t.reduce(function(i,r){return i?i.concat([[i[i.length-1][1],r]]):[[pn,r]]},null);return n.push([t[t.length-1],this.db._maxKey]),this.inAnyRange(n,{includeLowers:!1,includeUppers:!1})},e.prototype.inAnyRange=function(t,n){var i=this,r=this._cmp,a=this._ascending,o=this._descending,s=this._min,c=this._max;if(t.length===0)return Je(this);if(!t.every(function(x){return x[0]!==void 0&&x[1]!==void 0&&a(x[0],x[1])<=0}))return re(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",I.InvalidArgument);var l=!n||n.includeLowers!==!1,f=n&&n.includeUppers===!0;function u(x,j){for(var T=0,S=x.length;T<S;++T){var R=x[T];if(r(j[0],R[1])<0&&r(j[1],R[0])>0){R[0]=s(R[0],j[0]),R[1]=c(R[1],j[1]);break}}return T===S&&x.push(j),x}var y=a;function E(x,j){return y(x[0],j[0])}var p;try{p=t.reduce(u,[]),p.sort(E)}catch{return re(this,ve)}var d=0,h=f?function(x){return a(x,p[d][1])>0}:function(x){return a(x,p[d][1])>=0},g=l?function(x){return o(x,p[d][0])>0}:function(x){return o(x,p[d][0])>=0};function w(x){return!h(x)&&!g(x)}var b=h,_=new this.Collection(this,function(){return _e(p[0][0],p[p.length-1][1],!l,!f)});return _._ondirectionchange=function(x){x==="next"?(b=h,y=a):(b=g,y=o),p.sort(E)},_._addAlgorithm(function(x,j,T){for(var S=x.key;b(S);)if(++d,d===p.length)return j(T),!1;return w(S)?!0:(i._cmp(S,p[d][1])===0||i._cmp(S,p[d][0])===0||j(function(){y===a?x.continue(p[d][0]):x.continue(p[d][1])}),!1)}),_},e.prototype.startsWithAnyOf=function(){var t=me.apply(We,arguments);return t.every(function(n){return typeof n=="string"})?t.length===0?Je(this):this.inAnyRange(t.map(function(n){return[n,n+Ie]})):re(this,"startsWithAnyOf() only works with strings")},e})();function Ir(e){return ct(ki.prototype,function(n,i,r){if(this.db=e,this._ctx={table:n,index:i===":id"?null:i,or:r},this._cmp=this._ascending=W,this._descending=function(a,o){return W(o,a)},this._max=function(a,o){return W(a,o)>0?a:o},this._min=function(a,o){return W(a,o)<0?a:o},this._IDBKeyRange=e._deps.IDBKeyRange,!this._IDBKeyRange)throw new I.MissingAPI})}function ue(e){return U(function(t){return lt(t),e(t.target.error),!1})}function lt(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var ut="storagemutated",hn="x-storagemutated-1",ke=st(null,ut),Rr=(function(){function e(){}return e.prototype._lock=function(){return et(!A.global),++this._reculock,this._reculock===1&&!A.global&&(A.lockOwnerFor=this),this},e.prototype._unlock=function(){if(et(!A.global),--this._reculock===0)for(A.global||(A.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var t=this._blockedFuncs.shift();try{Ce(t[1],t[0])}catch{}}return this},e.prototype._locked=function(){return this._reculock&&A.lockOwnerFor!==this},e.prototype.create=function(t){var n=this;if(!this.mode)return this;var i=this.db.idbdb,r=this.db._state.dbOpenError;if(et(!this.idbtrans),!t&&!i)switch(r&&r.name){case"DatabaseClosedError":throw new I.DatabaseClosed(r);case"MissingAPIError":throw new I.MissingAPI(r.message,r);default:throw new I.OpenFailed(r)}if(!this.active)throw new I.TransactionInactive;return et(this._completion._state===null),t=this.idbtrans=t||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):i.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})),t.onerror=U(function(a){lt(a),n._reject(t.error)}),t.onabort=U(function(a){lt(a),n.active&&n._reject(new I.Abort(t.error)),n.active=!1,n.on("abort").fire(a)}),t.oncomplete=U(function(){n.active=!1,n._resolve(),"mutatedParts"in t&&ke.storagemutated.fire(t.mutatedParts)}),this},e.prototype._promise=function(t,n,i){var r=this;if(t==="readwrite"&&this.mode!=="readwrite")return Q(new I.ReadOnly("Transaction is readonly"));if(!this.active)return Q(new I.TransactionInactive);if(this._locked())return new D(function(o,s){r._blockedFuncs.push([function(){r._promise(t,n,i).then(o,s)},A])});if(i)return xe(function(){var o=new D(function(s,c){r._lock();var l=n(s,c,r);l&&l.then&&l.then(s,c)});return o.finally(function(){return r._unlock()}),o._lib=!0,o});var a=new D(function(o,s){var c=n(o,s,r);c&&c.then&&c.then(o,s)});return a._lib=!0,a},e.prototype._root=function(){return this.parent?this.parent._root():this},e.prototype.waitFor=function(t){var n=this._root(),i=D.resolve(t);if(n._waitingFor)n._waitingFor=n._waitingFor.then(function(){return i});else{n._waitingFor=i,n._waitingQueue=[];var r=n.idbtrans.objectStore(n.storeNames[0]);(function o(){for(++n._spinCount;n._waitingQueue.length;)n._waitingQueue.shift()();n._waitingFor&&(r.get(-1/0).onsuccess=o)})()}var a=n._waitingFor;return new D(function(o,s){i.then(function(c){return n._waitingQueue.push(U(o.bind(null,c)))},function(c){return n._waitingQueue.push(U(s.bind(null,c)))}).finally(function(){n._waitingFor===a&&(n._waitingFor=null)})})},e.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new I.Abort))},e.prototype.table=function(t){var n=this._memoizedTables||(this._memoizedTables={});if(ee(n,t))return n[t];var i=this.schema[t];if(!i)throw new I.NotFound("Table "+t+" not part of transaction");var r=new this.db.Table(t,i,this);return r.core=this.db.core.table(t),n[t]=r,r},e})();function Fr(e){return ct(Rr.prototype,function(n,i,r,a,o){var s=this;n!=="readonly"&&i.forEach(function(c){var l,f=(l=r[c])===null||l===void 0?void 0:l.yProps;f&&(i=i.concat(f.map(function(u){return u.updatesTable})))}),this.db=e,this.mode=n,this.storeNames=i,this.schema=r,this.chromeTransactionDurability=a,this.idbtrans=null,this.on=st(this,"complete","error","abort"),this.parent=o||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new D(function(c,l){s._resolve=c,s._reject=l}),this._completion.then(function(){s.active=!1,s.on.complete.fire()},function(c){var l=s.active;return s.active=!1,s.on.error.fire(c),s.parent?s.parent._reject(c):l&&s.idbtrans&&s.idbtrans.abort(),Q(c)})})}function yn(e,t,n,i,r,a,o,s){return{name:e,keyPath:t,unique:n,multi:i,auto:r,compound:a,src:(n&&!o?"&":"")+(i?"*":"")+(r?"++":"")+Ei(t),type:s}}function Ei(e){return typeof e=="string"?e:e?"["+[].join.call(e,"+")+"]":""}function gn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:Hi(n,function(i){return[i.name,i]})}}function zr(e){return e.length===1?e[0]:e}var pt=function(e){try{return e.only([[]]),pt=function(){return[[]]},[[]]}catch{return pt=function(){return Ie},Ie}};function xn(e){return e==null?function(){}:typeof e=="string"?Br(e):function(t){return de(t,e)}}function Br(e){var t=e.split(".");return t.length===1?function(n){return n[e]}:function(n){return de(n,e)}}function ji(e){return[].slice.call(e)}var Mr=0;function ft(e){return e==null?":id":typeof e=="string"?e:"[".concat(e.join("+"),"]")}function Vr(e,t,n){function i(u,y){var E=ji(u.objectStoreNames);return{schema:{name:u.name,tables:E.map(function(p){return y.objectStore(p)}).map(function(p){var d=p.keyPath,h=p.autoIncrement,g=P(d),w=d==null,b={},_={name:p.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:w,compound:g,keyPath:d,autoIncrement:h,unique:!0,extractKey:xn(d)},indexes:ji(p.indexNames).map(function(x){return p.index(x)}).map(function(x){var j=x.name,T=x.unique,S=x.multiEntry,R=x.keyPath,V=P(R),K={name:j,compound:V,keyPath:R,unique:T,multiEntry:S,extractKey:xn(R)};return b[ft(R)]=K,K}),getIndexByKeyPath:function(x){return b[ft(x)]}};return b[":id"]=_.primaryKey,d!=null&&(b[ft(d)]=_.primaryKey),_})},hasGetAll:E.length>0&&"getAll"in y.objectStore(E[0])&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}function r(u){if(u.type===3)return null;if(u.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var y=u.lower,E=u.upper,p=u.lowerOpen,d=u.upperOpen,h=y===void 0?E===void 0?null:t.upperBound(E,!!d):E===void 0?t.lowerBound(y,!!p):t.bound(y,E,!!p,!!d);return h}function a(u){var y=u.name;function E(h){var g=h.trans,w=h.type,b=h.keys,_=h.values,x=h.range;return new Promise(function(j,T){j=U(j);var S=g.objectStore(y),R=S.keyPath==null,V=w==="put"||w==="add";if(!V&&w!=="delete"&&w!=="deleteRange")throw new Error("Invalid operation type: "+w);var K=(b||_||{length:1}).length;if(b&&_&&b.length!==_.length)throw new Error("Given keys array must have same length as given values array.");if(K===0)return j({numFailures:0,failures:{},results:[],lastResult:void 0});var M,F=[],q=[],C=0,Y=function(fe){++C,lt(fe)};if(w==="deleteRange"){if(x.type===4)return j({numFailures:C,failures:q,results:[],lastResult:void 0});x.type===3?F.push(M=S.clear()):F.push(M=S.delete(r(x)))}else{var X=V?R?[_,b]:[_,null]:[b,null],pe=X[0],ne=X[1];if(V)for(var ae=0;ae<K;++ae)F.push(M=ne&&ne[ae]!==void 0?S[w](pe[ae],ne[ae]):S[w](pe[ae])),M.onerror=Y;else for(var ae=0;ae<K;++ae)F.push(M=S[w](pe[ae])),M.onerror=Y}var Se=function(fe){var vt=fe.target.result;F.forEach(function(ce,$t){return ce.error!=null&&(q[$t]=ce.error)}),j({numFailures:C,failures:q,results:w==="delete"?b:F.map(function(ce){return ce.result}),lastResult:vt})};M.onerror=function(fe){Y(fe),Se(fe)},M.onsuccess=Se})}function p(h){var g=h.trans,w=h.values,b=h.query,_=h.reverse,x=h.unique;return new Promise(function(j,T){j=U(j);var S=b.index,R=b.range,V=g.objectStore(y),K=S.isPrimaryKey?V:V.index(S.name),M=_?x?"prevunique":"prev":x?"nextunique":"next",F=w||!("openKeyCursor"in K)?K.openCursor(r(R),M):K.openKeyCursor(r(R),M);F.onerror=ue(T),F.onsuccess=U(function(q){var C=F.result;if(!C){j(null);return}C.___id=++Mr,C.done=!1;var Y=C.continue.bind(C),X=C.continuePrimaryKey;X&&(X=X.bind(C));var pe=C.advance.bind(C),ne=function(){throw new Error("Cursor not started")},ae=function(){throw new Error("Cursor not stopped")};C.trans=g,C.stop=C.continue=C.continuePrimaryKey=C.advance=ne,C.fail=U(T),C.next=function(){var Se=this,fe=1;return this.start(function(){return fe--?Se.continue():Se.stop()}).then(function(){return Se})},C.start=function(Se){var fe=new Promise(function(ce,$t){ce=U(ce),F.onerror=ue($t),C.fail=$t,C.stop=function(Da){C.stop=C.continue=C.continuePrimaryKey=C.advance=ae,ce(Da)}}),vt=function(){if(F.result)try{Se()}catch(ce){C.fail(ce)}else C.done=!0,C.start=function(){throw new Error("Cursor behind last entry")},C.stop()};return F.onsuccess=U(function(ce){F.onsuccess=vt,vt()}),C.continue=Y,C.continuePrimaryKey=X,C.advance=pe,vt(),fe},j(C)},T)})}function d(h){return function(g){return new Promise(function(w,b){w=U(w);var _=g.trans,x=g.values,j=g.limit,T=g.query,S=j===1/0?void 0:j,R=T.index,V=T.range,K=_.objectStore(y),M=R.isPrimaryKey?K:K.index(R.name),F=r(V);if(j===0)return w({result:[]});if(h){var q=x?M.getAll(F,S):M.getAllKeys(F,S);q.onsuccess=function(pe){return w({result:pe.target.result})},q.onerror=ue(b)}else{var C=0,Y=x||!("openKeyCursor"in M)?M.openCursor(F):M.openKeyCursor(F),X=[];Y.onsuccess=function(pe){var ne=Y.result;if(!ne)return w({result:X});if(X.push(x?ne.value:ne.primaryKey),++C===j)return w({result:X});ne.continue()},Y.onerror=ue(b)}})}}return{name:y,schema:u,mutate:E,getMany:function(h){var g=h.trans,w=h.keys;return new Promise(function(b,_){b=U(b);for(var x=g.objectStore(y),j=w.length,T=new Array(j),S=0,R=0,V,K=function(C){var Y=C.target;(T[Y._pos]=Y.result)!=null,++R===S&&b(T)},M=ue(_),F=0;F<j;++F){var q=w[F];q!=null&&(V=x.get(w[F]),V._pos=F,V.onsuccess=K,V.onerror=M,++S)}S===0&&b(T)})},get:function(h){var g=h.trans,w=h.key;return new Promise(function(b,_){b=U(b);var x=g.objectStore(y),j=x.get(w);j.onsuccess=function(T){return b(T.target.result)},j.onerror=ue(_)})},query:d(c),openCursor:p,count:function(h){var g=h.query,w=h.trans,b=g.index,_=g.range;return new Promise(function(x,j){var T=w.objectStore(y),S=b.isPrimaryKey?T:T.index(b.name),R=r(_),V=R?S.count(R):S.count();V.onsuccess=U(function(K){return x(K.target.result)}),V.onerror=ue(j)})}}}var o=i(e,n),s=o.schema,c=o.hasGetAll,l=s.tables.map(function(u){return a(u)}),f={};return l.forEach(function(u){return f[u.name]=u}),{stack:"dbcore",transaction:e.transaction.bind(e),table:function(u){var y=f[u];if(!y)throw new Error("Table '".concat(u,"' not found"));return f[u]},MIN_KEY:-1/0,MAX_KEY:pt(t),schema:s}}function Nr(e,t){return t.reduce(function(n,i){var r=i.create;return m(m({},n),r(n))},e)}function Lr(e,t,n,i){var r=n.IDBKeyRange;n.indexedDB;var a=Nr(Vr(t,r,i),e.dbcore);return{dbcore:a}}function It(e,t){var n=t.db,i=Lr(e._middlewares,n,e._deps,t);e.core=i.dbcore,e.tables.forEach(function(r){var a=r.name;e.core.schema.tables.some(function(o){return o.name===a})&&(r.core=e.core.table(a),e[a]instanceof e.Table&&(e[a].core=r.core))})}function Rt(e,t,n,i){n.forEach(function(r){var a=i[r];t.forEach(function(o){var s=Un(o,r);(!s||"value"in s&&s.value===void 0)&&(o===e.Transaction.prototype||o instanceof e.Transaction?ye(o,r,{get:function(){return this.table(r)},set:function(c){$n(this,r,{value:c,writable:!0,configurable:!0,enumerable:!0})}}):o[r]=new e.Table(r,a))})})}function wn(e,t){t.forEach(function(n){for(var i in n)n[i]instanceof e.Table&&delete n[i]})}function Wr(e,t){return e._cfg.version-t._cfg.version}function qr(e,t,n,i){var r=e._dbSchema;n.objectStoreNames.contains("$meta")&&!r.$meta&&(r.$meta=gn("$meta",Di("")[0],[]),e._storeNames.push("$meta"));var a=e._createTransaction("readwrite",e._storeNames,r);a.create(n),a._completion.catch(i);var o=a._reject.bind(a),s=A.transless||A;xe(function(){if(A.trans=a,A.transless=s,t===0)z(r).forEach(function(c){_n(n,c,r[c].primKey,r[c].indexes)}),It(e,n),D.follow(function(){return e.on.populate.fire(a)}).catch(o);else return It(e,n),Ur(e,a,t).then(function(c){return Yr(e,c,a,n)}).catch(o)})}function $r(e,t){Si(e._dbSchema,t),t.db.version%10===0&&!t.objectStoreNames.contains("$meta")&&t.db.createObjectStore("$meta").add(Math.ceil(t.db.version/10-1),"version");var n=zt(e,e.idbdb,t);Bt(e,e._dbSchema,t);for(var i=bn(n,e._dbSchema),r=function(l){if(l.change.length||l.recreate)return{value:void 0};var f=t.objectStore(l.name);l.add.forEach(function(u){Ft(f,u)})},a=0,o=i.change;a<o.length;a++){var s=o[a],c=r(s);if(typeof c=="object")return c.value}}function Ur(e,t,n){return t.storeNames.includes("$meta")?t.table("$meta").get("version").then(function(i){return i!=null?i:n}):D.resolve(n)}function Yr(e,t,n,i){var r=[],a=e._versions,o=e._dbSchema=zt(e,e.idbdb,i),s=a.filter(function(l){return l._cfg.version>=t});if(s.length===0)return D.resolve();s.forEach(function(l){r.push(function(){var f=o,u=l._cfg.dbschema;Bt(e,f,i),Bt(e,u,i),o=e._dbSchema=u;var y=bn(f,u);y.add.forEach(function(w){_n(i,w[0],w[1].primKey,w[1].indexes)}),y.change.forEach(function(w){if(w.recreate)throw new I.Upgrade("Not yet support for changing primary key");var b=i.objectStore(w.name);w.add.forEach(function(_){return Ft(b,_)}),w.change.forEach(function(_){b.deleteIndex(_.name),Ft(b,_)}),w.del.forEach(function(_){return b.deleteIndex(_)})});var E=l._cfg.contentUpgrade;if(E&&l._cfg.version>t){It(e,i),n._memoizedTables={};var p=Hn(u);y.del.forEach(function(w){p[w]=f[w]}),wn(e,[e.Transaction.prototype]),Rt(e,[e.Transaction.prototype],z(p),p),n.schema=p;var d=Gt(E);d&&Qe();var h,g=D.follow(function(){if(h=E(n),h&&d){var w=we.bind(null,null);h.then(w,w)}});return h&&typeof h.then=="function"?D.resolve(h):g.then(function(){return h})}}),r.push(function(f){var u=l._cfg.dbschema;Qr(u,f),wn(e,[e.Transaction.prototype]),Rt(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}),r.push(function(f){e.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(e.idbdb.version/10)===l._cfg.version?(e.idbdb.deleteObjectStore("$meta"),delete e._dbSchema.$meta,e._storeNames=e._storeNames.filter(function(u){return u!=="$meta"})):f.objectStore("$meta").put(l._cfg.version,"version"))})});function c(){return r.length?D.resolve(r.shift()(n.idbtrans)).then(c):D.resolve()}return c().then(function(){Si(o,i)})}function bn(e,t){var n={del:[],add:[],change:[]},i;for(i in e)t[i]||n.del.push(i);for(i in t){var r=e[i],a=t[i];if(!r)n.add.push([i,a]);else{var o={name:i,def:a,recreate:!1,del:[],add:[],change:[]};if(""+(r.primKey.keyPath||"")!=""+(a.primKey.keyPath||"")||r.primKey.auto!==a.primKey.auto)o.recreate=!0,n.change.push(o);else{var s=r.idxByName,c=a.idxByName,l=void 0;for(l in s)c[l]||o.del.push(l);for(l in c){var f=s[l],u=c[l];f?f.src!==u.src&&o.change.push(u):o.add.push(u)}(o.del.length>0||o.add.length>0||o.change.length>0)&&n.change.push(o)}}}return n}function _n(e,t,n,i){var r=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return i.forEach(function(a){return Ft(r,a)}),r}function Si(e,t){z(e).forEach(function(n){t.db.objectStoreNames.contains(n)||_n(t,n,e[n].primKey,e[n].indexes)})}function Qr(e,t){[].slice.call(t.db.objectStoreNames).forEach(function(n){return e[n]==null&&t.db.deleteObjectStore(n)})}function Ft(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function zt(e,t,n){var i={},r=yt(t.objectStoreNames,0);return r.forEach(function(a){for(var o=n.objectStore(a),s=o.keyPath,c=yn(Ei(s),s||"",!0,!1,!!o.autoIncrement,s&&typeof s!="string",!0),l=[],f=0;f<o.indexNames.length;++f){var u=o.index(o.indexNames[f]);s=u.keyPath;var y=yn(u.name,s,!!u.unique,!!u.multiEntry,!1,s&&typeof s!="string",!1);l.push(y)}i[a]=gn(a,c,l)}),i}function Hr(e,t,n){e.verno=t.version/10;var i=e._dbSchema=zt(e,t,n);e._storeNames=yt(t.objectStoreNames,0),Rt(e,[e._allTables],z(i),i)}function Gr(e,t){var n=zt(e,e.idbdb,t),i=bn(n,e._dbSchema);return!(i.add.length||i.change.some(function(r){return r.add.length||r.change.length}))}function Bt(e,t,n){for(var i=n.db.objectStoreNames,r=0;r<i.length;++r){var a=i[r],o=n.objectStore(a);e._hasGetAll="getAll"in o;for(var s=0;s<o.indexNames.length;++s){var c=o.indexNames[s],l=o.index(c).keyPath,f=typeof l=="string"?l:"["+yt(l).join("+")+"]";if(t[a]){var u=t[a].idxByName[f];u&&(u.name=c,delete t[a].idxByName[f],t[a].idxByName[c]=u)}}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&O.WorkerGlobalScope&&O instanceof O.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}function Di(e){return e.split(",").map(function(t,n){var i,r=t.split(":"),a=(i=r[1])===null||i===void 0?void 0:i.trim();t=r[0].trim();var o=t.replace(/([&*]|\+\+)/g,""),s=/^\[/.test(o)?o.match(/^\[(.*)\]$/)[1].split("+"):o;return yn(o,s||null,/\&/.test(t),/\*/.test(t),/\+\+/.test(t),P(s),n===0,a)})}var Jr=(function(){function e(){}return e.prototype._createTableSchema=function(t,n,i){return gn(t,n,i)},e.prototype._parseIndexSyntax=function(t){return Di(t)},e.prototype._parseStoresSpec=function(t,n){var i=this;z(t).forEach(function(r){if(t[r]!==null){var a=i._parseIndexSyntax(t[r]),o=a.shift();if(!o)throw new I.Schema("Invalid schema for table "+r+": "+t[r]);if(o.unique=!0,o.multi)throw new I.Schema("Primary key cannot be multiEntry*");a.forEach(function(c){if(c.auto)throw new I.Schema("Only primary key can be marked as autoIncrement (++)");if(!c.keyPath)throw new I.Schema("Index must have a name and cannot be an empty string")});var s=i._createTableSchema(r,o,a);n[r]=s}})},e.prototype.stores=function(t){var n=this.db;this._cfg.storesSource=this._cfg.storesSource?N(this._cfg.storesSource,t):t;var i=n._versions,r={},a={};return i.forEach(function(o){N(r,o._cfg.storesSource),a=o._cfg.dbschema={},o._parseStoresSpec(r,a)}),n._dbSchema=a,wn(n,[n._allTables,n,n.Transaction.prototype]),Rt(n,[n._allTables,n,n.Transaction.prototype,this._cfg.tables],z(a),a),n._storeNames=z(a),this},e.prototype.upgrade=function(t){return this._cfg.contentUpgrade=Zt(this._cfg.contentUpgrade||$,t),this},e})();function Xr(e){return ct(Jr.prototype,function(n){this.db=e,this._cfg={version:n,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}function kn(e,t){var n=e._dbNamesDB;return n||(n=e._dbNamesDB=new he(Tt,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:"name"})),n.table("dbnames")}function En(e){return e&&typeof e.databases=="function"}function Zr(e){var t=e.indexedDB,n=e.IDBKeyRange;return En(t)?Promise.resolve(t.databases()).then(function(i){return i.map(function(r){return r.name}).filter(function(r){return r!==Tt})}):kn(t,n).toCollection().primaryKeys()}function ea(e,t){var n=e.indexedDB,i=e.IDBKeyRange;!En(n)&&t!==Tt&&kn(n,i).put({name:t}).catch($)}function ta(e,t){var n=e.indexedDB,i=e.IDBKeyRange;!En(n)&&t!==Tt&&kn(n,i).delete(t).catch($)}function jn(e){return xe(function(){return A.letThrough=!0,e()})}function na(){var e=!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent);if(!e||!indexedDB.databases)return Promise.resolve();var t;return new Promise(function(n){var i=function(){return indexedDB.databases().finally(n)};t=setInterval(i,100),i()}).finally(function(){return clearInterval(t)})}var Sn;function Dn(e){return!("from"in e)}var J=function(e,t){if(this)N(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0});else{var n=new J;return e&&"d"in e&&N(n,e),n}};Ne(J.prototype,(Sn={add:function(e){return mt(this,e),this},addKey:function(e){return dt(this,e,e),this},addKeys:function(e){var t=this;return e.forEach(function(n){return dt(t,n,n)}),this},hasKey:function(e){var t=Mt(this).next(e).value;return t&&W(t.from,e)<=0&&W(t.to,e)>=0}},Sn[Ht]=function(){return Mt(this)},Sn));function dt(e,t,n){var i=W(t,n);if(!isNaN(i)){if(i>0)throw RangeError();if(Dn(e))return N(e,{from:t,to:n,d:1});var r=e.l,a=e.r;if(W(n,e.from)<0)return r?dt(r,t,n):e.l={from:t,to:n,d:1,l:null,r:null},Ki(e);if(W(t,e.to)>0)return a?dt(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},Ki(e);W(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),W(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);var o=!e.r;r&&!e.l&&mt(e,r),a&&o&&mt(e,a)}}function mt(e,t){function n(i,r){var a=r.from,o=r.to,s=r.l,c=r.r;dt(i,a,o),s&&n(i,s),c&&n(i,c)}Dn(t)||n(e,t)}function Ti(e,t){var n=Mt(t),i=n.next();if(i.done)return!1;for(var r=i.value,a=Mt(e),o=a.next(r.from),s=o.value;!i.done&&!o.done;){if(W(s.from,r.to)<=0&&W(s.to,r.from)>=0)return!0;W(r.from,s.from)<0?r=(i=n.next(s.from)).value:s=(o=a.next(r.from)).value}return!1}function Mt(e){var t=Dn(e)?null:{s:0,n:e};return{next:function(n){for(var i=arguments.length>0;t;)switch(t.s){case 0:if(t.s=1,i)for(;t.n.l&&W(n,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!i||W(n,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function Ki(e){var t,n,i=(((t=e.r)===null||t===void 0?void 0:t.d)||0)-(((n=e.l)===null||n===void 0?void 0:n.d)||0),r=i>1?"r":i<-1?"l":"";if(r){var a=r==="r"?"l":"r",o=m({},e),s=e[r];e.from=s.from,e.to=s.to,e[r]=s[r],o[r]=s[a],e[a]=o,o.d=Oi(o)}e.d=Oi(e)}function Oi(e){var t=e.r,n=e.l;return(t?n?Math.max(t.d,n.d):t.d:n?n.d:0)+1}function Vt(e,t){return z(t).forEach(function(n){e[n]?mt(e[n],t[n]):e[n]=Xn(t[n])}),e}function Tn(e,t){return e.all||t.all||Object.keys(e).some(function(n){return t[n]&&Ti(t[n],e[n])})}var Fe={},Kn={},On=!1;function Nt(e,t){Vt(Kn,e),On||(On=!0,setTimeout(function(){On=!1;var n=Kn;Kn={},An(n,!1)},0))}function An(e,t){t===void 0&&(t=!1);var n=new Set;if(e.all)for(var i=0,r=Object.values(Fe);i<r.length;i++){var a=r[i];Ai(a,e,n,t)}else for(var o in e){var s=/^idb\:\/\/(.*)\/(.*)\//.exec(o);if(s){var c=s[1],l=s[2],a=Fe["idb://".concat(c,"/").concat(l)];a&&Ai(a,e,n,t)}}n.forEach(function(f){return f()})}function Ai(e,t,n,i){for(var r=[],a=0,o=Object.entries(e.queries.query);a<o.length;a++){for(var s=o[a],c=s[0],l=s[1],f=[],u=0,y=l;u<y.length;u++){var E=y[u];Tn(t,E.obsSet)?E.subscribers.forEach(function(g){return n.add(g)}):i&&f.push(E)}i&&r.push([c,f])}if(i)for(var p=0,d=r;p<d.length;p++){var h=d[p],c=h[0],f=h[1];e.queries.query[c]=f}}function ia(e){var t=e._state,n=e._deps.indexedDB;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then(function(){return t.dbOpenError?Q(t.dbOpenError):e});t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;var i=t.openCanceller,r=Math.round(e.verno*10),a=!1;function o(){if(t.openCanceller!==i)throw new I.DatabaseClosed("db.open() was cancelled")}var s=t.dbReadyResolve,c=null,l=!1,f=function(){return new D(function(u,y){if(o(),!n)throw new I.MissingAPI;var E=e.name,p=t.autoSchema||!r?n.open(E):n.open(E,r);if(!p)throw new I.MissingAPI;p.onerror=ue(y),p.onblocked=U(e._fireOnBlocked),p.onupgradeneeded=U(function(d){if(c=p.transaction,t.autoSchema&&!e._options.allowEmptyDB){p.onerror=lt,c.abort(),p.result.close();var h=n.deleteDatabase(E);h.onsuccess=h.onerror=U(function(){y(new I.NoSuchDatabase("Database ".concat(E," doesnt exist")))})}else{c.onerror=ue(y);var g=d.oldVersion>Math.pow(2,62)?0:d.oldVersion;l=g<1,e.idbdb=p.result,a&&$r(e,c),qr(e,g/10,c,y)}},y),p.onsuccess=U(function(){c=null;var d=e.idbdb=p.result,h=yt(d.objectStoreNames);if(h.length>0)try{var g=d.transaction(zr(h),"readonly");if(t.autoSchema)Hr(e,d,g);else if(Bt(e,e._dbSchema,g),!Gr(e,g)&&!a)return d.close(),r=d.version+1,a=!0,u(f());It(e,g)}catch{}He.push(e),d.onversionchange=U(function(w){t.vcFired=!0,e.on("versionchange").fire(w)}),d.onclose=U(function(){e.close({disableAutoOpen:!1})}),l&&ea(e._deps,E),u()},y)}).catch(function(u){switch(u==null?void 0:u.name){case"UnknownError":if(t.PR1398_maxLoop>0)return t.PR1398_maxLoop--,f();break;case"VersionError":if(r>0)return r=0,f();break}return D.reject(u)})};return D.race([i,(typeof navigator>"u"?D.resolve():na()).then(f)]).then(function(){return o(),t.onReadyBeingFired=[],D.resolve(jn(function(){return e.on.ready.fire(e.vip)})).then(function u(){if(t.onReadyBeingFired.length>0){var y=t.onReadyBeingFired.reduce(Zt,$);return t.onReadyBeingFired=[],D.resolve(jn(function(){return y(e.vip)})).then(u)}})}).finally(function(){t.openCanceller===i&&(t.onReadyBeingFired=null,t.isBeingOpened=!1)}).catch(function(u){t.dbOpenError=u;try{c&&c.abort()}catch{}return i===t.openCanceller&&e._close(),Q(u)}).finally(function(){t.openComplete=!0,s()}).then(function(){if(l){var u={};e.tables.forEach(function(y){y.schema.indexes.forEach(function(E){E.name&&(u["idb://".concat(e.name,"/").concat(y.name,"/").concat(E.name)]=new J(-1/0,[[[]]]))}),u["idb://".concat(e.name,"/").concat(y.name,"/")]=u["idb://".concat(e.name,"/").concat(y.name,"/:dels")]=new J(-1/0,[[[]]])}),ke(ut).fire(u),An(u,!0)}return e})}function Pn(e){var t=function(o){return e.next(o)},n=function(o){return e.throw(o)},i=a(t),r=a(n);function a(o){return function(s){var c=o(s),l=c.value;return c.done?l:!l||typeof l.then!="function"?P(l)?Promise.all(l).then(i,r):i(l):l.then(i,r)}}return a(t)()}function ra(e,t,n){var i=arguments.length;if(i<2)throw new I.InvalidArgument("Too few arguments");for(var r=new Array(i-1);--i;)r[i-1]=arguments[i];n=r.pop();var a=Gn(r);return[e,a,n]}function Pi(e,t,n,i,r){return D.resolve().then(function(){var a=A.transless||A,o=e._createTransaction(t,n,e._dbSchema,i);o.explicit=!0;var s={trans:o,transless:a};if(i)o.idbtrans=i.idbtrans;else try{o.create(),o.idbtrans._explicit=!0,e._state.PR1398_maxLoop=3}catch(u){return u.name===Xt.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(e.close({disableAutoOpen:!1}),e.open().then(function(){return Pi(e,t,n,null,r)})):Q(u)}var c=Gt(r);c&&Qe();var l,f=D.follow(function(){if(l=r.call(o,o),l)if(c){var u=we.bind(null,null);l.then(u,u)}else typeof l.next=="function"&&typeof l.throw=="function"&&(l=Pn(l))},s);return(l&&typeof l.then=="function"?D.resolve(l).then(function(u){return o.active?u:Q(new I.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):f.then(function(){return l})).then(function(u){return i&&o._resolve(),o._completion.then(function(){return u})}).catch(function(u){return o._reject(u),Q(u)})})}function Lt(e,t,n){for(var i=P(e)?e.slice():[e],r=0;r<n;++r)i.push(t);return i}function aa(e){return m(m({},e),{table:function(t){var n=e.table(t),i=n.schema,r={},a=[];function o(d,h,g){var w=ft(d),b=r[w]=r[w]||[],_=d==null?0:typeof d=="string"?1:d.length,x=h>0,j=m(m({},g),{name:x?"".concat(w,"(virtual-from:").concat(g.name,")"):g.name,lowLevelIndex:g,isVirtual:x,keyTail:h,keyLength:_,extractKey:xn(d),unique:!x&&g.unique});if(b.push(j),j.isPrimaryKey||a.push(j),_>1){var T=_===2?d[0]:d.slice(0,_-1);o(T,h+1,g)}return b.sort(function(S,R){return S.keyTail-R.keyTail}),j}var s=o(i.primaryKey.keyPath,0,i.primaryKey);r[":id"]=[s];for(var c=0,l=i.indexes;c<l.length;c++){var f=l[c];o(f.keyPath,0,f)}function u(d){var h=r[ft(d)];return h&&h[0]}function y(d,h){return{type:d.type===1?2:d.type,lower:Lt(d.lower,d.lowerOpen?e.MAX_KEY:e.MIN_KEY,h),lowerOpen:!0,upper:Lt(d.upper,d.upperOpen?e.MIN_KEY:e.MAX_KEY,h),upperOpen:!0}}function E(d){var h=d.query.index;return h.isVirtual?m(m({},d),{query:{index:h.lowLevelIndex,range:y(d.query.range,h.keyTail)}}):d}var p=m(m({},n),{schema:m(m({},i),{primaryKey:s,indexes:a,getIndexByKeyPath:u}),count:function(d){return n.count(E(d))},query:function(d){return n.query(E(d))},openCursor:function(d){var h=d.query.index,g=h.keyTail,w=h.isVirtual,b=h.keyLength;if(!w)return n.openCursor(d);function _(x){function j(S){S!=null?x.continue(Lt(S,d.reverse?e.MAX_KEY:e.MIN_KEY,g)):d.unique?x.continue(x.key.slice(0,b).concat(d.reverse?e.MIN_KEY:e.MAX_KEY,g)):x.continue()}var T=Object.create(x,{continue:{value:j},continuePrimaryKey:{value:function(S,R){x.continuePrimaryKey(Lt(S,e.MAX_KEY,g),R)}},primaryKey:{get:function(){return x.primaryKey}},key:{get:function(){var S=x.key;return b===1?S[0]:S.slice(0,b)}},value:{get:function(){return x.value}}});return T}return n.openCursor(E(d)).then(function(x){return x&&_(x)})}});return p}})}var oa={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:aa};function Cn(e,t,n,i){return n=n||{},i=i||"",z(e).forEach(function(r){if(!ee(t,r))n[i+r]=void 0;else{var a=e[r],o=t[r];if(typeof a=="object"&&typeof o=="object"&&a&&o){var s=Qt(a),c=Qt(o);s!==c?n[i+r]=t[r]:s==="Object"?Cn(a,o,n,i+r+"."):a!==o&&(n[i+r]=t[r])}else a!==o&&(n[i+r]=t[r])}}),z(t).forEach(function(r){ee(e,r)||(n[i+r]=t[r])}),n}function In(e,t){return t.type==="delete"?t.keys:t.keys||t.values.map(e.extractKey)}var sa={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(e){return m(m({},e),{table:function(t){var n=e.table(t),i=n.schema.primaryKey,r=m(m({},n),{mutate:function(a){var o=A.trans,s=o.table(t).hook,c=s.deleting,l=s.creating,f=s.updating;switch(a.type){case"add":if(l.fire===$)break;return o._promise("readwrite",function(){return u(a)},!0);case"put":if(l.fire===$&&f.fire===$)break;return o._promise("readwrite",function(){return u(a)},!0);case"delete":if(c.fire===$)break;return o._promise("readwrite",function(){return u(a)},!0);case"deleteRange":if(c.fire===$)break;return o._promise("readwrite",function(){return y(a)},!0)}return n.mutate(a);function u(p){var d=A.trans,h=p.keys||In(i,p);if(!h)throw new Error("Keys missing");return p=p.type==="add"||p.type==="put"?m(m({},p),{keys:h}):m({},p),p.type!=="delete"&&(p.values=k([],p.values,!0)),p.keys&&(p.keys=k([],p.keys,!0)),ca(n,p,h).then(function(g){var w=h.map(function(b,_){var x=g[_],j={onerror:null,onsuccess:null};if(p.type==="delete")c.fire.call(j,b,x,d);else if(p.type==="add"||x===void 0){var T=l.fire.call(j,b,p.values[_],d);b==null&&T!=null&&(b=T,p.keys[_]=b,i.outbound||te(p.values[_],i.keyPath,b))}else{var S=Cn(x,p.values[_]),R=f.fire.call(j,S,b,x,d);if(R){var V=p.values[_];Object.keys(R).forEach(function(K){ee(V,K)?V[K]=R[K]:te(V,K,R[K])})}}return j});return n.mutate(p).then(function(b){for(var _=b.failures,x=b.results,j=b.numFailures,T=b.lastResult,S=0;S<h.length;++S){var R=x?x[S]:h[S],V=w[S];R==null?V.onerror&&V.onerror(_[S]):V.onsuccess&&V.onsuccess(p.type==="put"&&g[S]?p.values[S]:R)}return{failures:_,results:x,numFailures:j,lastResult:T}}).catch(function(b){return w.forEach(function(_){return _.onerror&&_.onerror(b)}),Promise.reject(b)})})}function y(p){return E(p.trans,p.range,1e4)}function E(p,d,h){return n.query({trans:p,values:!1,query:{index:i,range:d},limit:h}).then(function(g){var w=g.result;return u({type:"delete",keys:w,trans:p}).then(function(b){return b.numFailures>0?Promise.reject(b.failures[0]):w.length<h?{failures:[],numFailures:0,lastResult:void 0}:E(p,m(m({},d),{lower:w[w.length-1],lowerOpen:!0}),h)})})}}});return r}})}};function ca(e,t,n){return t.type==="add"?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:"immutable"})}function Ci(e,t,n){try{if(!t||t.keys.length<e.length)return null;for(var i=[],r=0,a=0;r<t.keys.length&&a<e.length;++r)W(t.keys[r],e[a])===0&&(i.push(n?De(t.values[r]):t.values[r]),++a);return i.length===e.length?i:null}catch{return null}}var la={stack:"dbcore",level:-1,create:function(e){return{table:function(t){var n=e.table(t);return m(m({},n),{getMany:function(i){if(!i.cache)return n.getMany(i);var r=Ci(i.keys,i.trans._cache,i.cache==="clone");return r?D.resolve(r):n.getMany(i).then(function(a){return i.trans._cache={keys:i.keys,values:i.cache==="clone"?De(a):a},a})},mutate:function(i){return i.type!=="add"&&(i.trans._cache=null),n.mutate(i)}})}}}};function Ii(e,t){return e.trans.mode==="readonly"&&!!e.subscr&&!e.trans.explicit&&e.trans.db._options.cache!=="disabled"&&!t.schema.primaryKey.outbound}function Ri(e,t){switch(e){case"query":return t.values&&!t.unique;case"get":return!1;case"getMany":return!1;case"count":return!1;case"openCursor":return!1}}var ua={stack:"dbcore",level:0,name:"Observability",create:function(e){var t=e.schema.name,n=new J(e.MIN_KEY,e.MAX_KEY);return m(m({},e),{transaction:function(i,r,a){if(A.subscr&&r!=="readonly")throw new I.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(A.querier));return e.transaction(i,r,a)},table:function(i){var r=e.table(i),a=r.schema,o=a.primaryKey,s=a.indexes,c=o.extractKey,l=o.outbound,f=o.autoIncrement&&s.filter(function(p){return p.compound&&p.keyPath.includes(o.keyPath)}),u=m(m({},r),{mutate:function(p){var d,h,g=p.trans,w=p.mutatedParts||(p.mutatedParts={}),b=function(F){var q="idb://".concat(t,"/").concat(i,"/").concat(F);return w[q]||(w[q]=new J)},_=b(""),x=b(":dels"),j=p.type,T=p.type==="deleteRange"?[p.range]:p.type==="delete"?[p.keys]:p.values.length<50?[In(o,p).filter(function(F){return F}),p.values]:[],S=T[0],R=T[1],V=p.trans._cache;if(P(S)){_.addKeys(S);var K=j==="delete"||S.length===R.length?Ci(S,V):null;K||x.addKeys(S),(K||R)&&pa(b,a,K,R)}else if(S){var M={from:(d=S.lower)!==null&&d!==void 0?d:e.MIN_KEY,to:(h=S.upper)!==null&&h!==void 0?h:e.MAX_KEY};x.add(M),_.add(M)}else _.add(n),x.add(n),a.indexes.forEach(function(F){return b(F.name).add(n)});return r.mutate(p).then(function(F){return S&&(p.type==="add"||p.type==="put")&&(_.addKeys(F.results),f&&f.forEach(function(q){for(var C=p.values.map(function(ne){return q.extractKey(ne)}),Y=q.keyPath.findIndex(function(ne){return ne===o.keyPath}),X=0,pe=F.results.length;X<pe;++X)C[X][Y]=F.results[X];b(q.name).addKeys(C)})),g.mutatedParts=Vt(g.mutatedParts||{},w),F})}}),y=function(p){var d,h,g=p.query,w=g.index,b=g.range;return[w,new J((d=b.lower)!==null&&d!==void 0?d:e.MIN_KEY,(h=b.upper)!==null&&h!==void 0?h:e.MAX_KEY)]},E={get:function(p){return[o,new J(p.key)]},getMany:function(p){return[o,new J().addKeys(p.keys)]},count:y,query:y,openCursor:y};return z(E).forEach(function(p){u[p]=function(d){var h=A.subscr,g=!!h,w=Ii(A,r)&&Ri(p,d),b=w?d.obsSet={}:h;if(g){var _=function(K){var M="idb://".concat(t,"/").concat(i,"/").concat(K);return b[M]||(b[M]=new J)},x=_(""),j=_(":dels"),T=E[p](d),S=T[0],R=T[1];if(p==="query"&&S.isPrimaryKey&&!d.values?j.add(R):_(S.name||"").add(R),!S.isPrimaryKey)if(p==="count")j.add(n);else{var V=p==="query"&&l&&d.values&&r.query(m(m({},d),{values:!1}));return r[p].apply(this,arguments).then(function(K){if(p==="query"){if(l&&d.values)return V.then(function(C){var Y=C.result;return x.addKeys(Y),K});var M=d.values?K.result.map(c):K.result;d.values?x.addKeys(M):j.addKeys(M)}else if(p==="openCursor"){var F=K,q=d.values;return F&&Object.create(F,{key:{get:function(){return j.addKey(F.primaryKey),F.key}},primaryKey:{get:function(){var C=F.primaryKey;return j.addKey(C),C}},value:{get:function(){return q&&x.addKey(F.primaryKey),F.value}}})}return K})}}return r[p].apply(this,arguments)}}),u}})}};function pa(e,t,n,i){function r(a){var o=e(a.name||"");function s(l){return l!=null?a.extractKey(l):null}var c=function(l){return a.multiEntry&&P(l)?l.forEach(function(f){return o.addKey(f)}):o.addKey(l)};(n||i).forEach(function(l,f){var u=n&&s(n[f]),y=i&&s(i[f]);W(u,y)!==0&&(u!=null&&c(u),y!=null&&c(y))})}t.indexes.forEach(r)}function Fi(e,t,n){if(n.numFailures===0)return t;if(t.type==="deleteRange")return null;var i=t.keys?t.keys.length:"values"in t&&t.values?t.values.length:1;if(n.numFailures===i)return null;var r=m({},t);return P(r.keys)&&(r.keys=r.keys.filter(function(a,o){return!(o in n.failures)})),"values"in r&&P(r.values)&&(r.values=r.values.filter(function(a,o){return!(o in n.failures)})),r}function fa(e,t){return t.lower===void 0?!0:t.lowerOpen?W(e,t.lower)>0:W(e,t.lower)>=0}function da(e,t){return t.upper===void 0?!0:t.upperOpen?W(e,t.upper)<0:W(e,t.upper)<=0}function Rn(e,t){return fa(e,t)&&da(e,t)}function zi(e,t,n,i,r,a){if(!n||n.length===0)return e;var o=t.query.index,s=o.multiEntry,c=t.query.range,l=i.schema.primaryKey,f=l.extractKey,u=o.extractKey,y=(o.lowLevelIndex||o).extractKey,E=n.reduce(function(p,d){var h=p,g=[];if(d.type==="add"||d.type==="put")for(var w=new J,b=d.values.length-1;b>=0;--b){var _=d.values[b],x=f(_);if(!w.hasKey(x)){var j=u(_);(s&&P(j)?j.some(function(K){return Rn(K,c)}):Rn(j,c))&&(w.addKey(x),g.push(_))}}switch(d.type){case"add":{var T=new J().addKeys(t.values?p.map(function(K){return f(K)}):p);h=p.concat(t.values?g.filter(function(K){var M=f(K);return T.hasKey(M)?!1:(T.addKey(M),!0)}):g.map(function(K){return f(K)}).filter(function(K){return T.hasKey(K)?!1:(T.addKey(K),!0)}));break}case"put":{var S=new J().addKeys(d.values.map(function(K){return f(K)}));h=p.filter(function(K){return!S.hasKey(t.values?f(K):K)}).concat(t.values?g:g.map(function(K){return f(K)}));break}case"delete":var R=new J().addKeys(d.keys);h=p.filter(function(K){return!R.hasKey(t.values?f(K):K)});break;case"deleteRange":var V=d.range;h=p.filter(function(K){return!Rn(f(K),V)});break}return h},e);return E===e?e:(E.sort(function(p,d){return W(y(p),y(d))||W(f(p),f(d))}),t.limit&&t.limit<1/0&&(E.length>t.limit?E.length=t.limit:e.length===t.limit&&E.length<t.limit&&(r.dirty=!0)),a?Object.freeze(E):E)}function Bi(e,t){return W(e.lower,t.lower)===0&&W(e.upper,t.upper)===0&&!!e.lowerOpen==!!t.lowerOpen&&!!e.upperOpen==!!t.upperOpen}function ma(e,t,n,i){if(e===void 0)return t!==void 0?-1:0;if(t===void 0)return 1;var r=W(e,t);if(r===0){if(n&&i)return 0;if(n)return 1;if(i)return-1}return r}function va(e,t,n,i){if(e===void 0)return t!==void 0?1:0;if(t===void 0)return-1;var r=W(e,t);if(r===0){if(n&&i)return 0;if(n)return-1;if(i)return 1}return r}function ha(e,t){return ma(e.lower,t.lower,e.lowerOpen,t.lowerOpen)<=0&&va(e.upper,t.upper,e.upperOpen,t.upperOpen)>=0}function ya(e,t,n,i){var r=Fe["idb://".concat(e,"/").concat(t)];if(!r)return[];var a=r.queries[n];if(!a)return[null,!1,r,null];var o=i.query?i.query.index.name:null,s=a[o||""];if(!s)return[null,!1,r,null];switch(n){case"query":var c=s.find(function(u){return u.req.limit===i.limit&&u.req.values===i.values&&Bi(u.req.query.range,i.query.range)});if(c)return[c,!0,r,s];var l=s.find(function(u){var y="limit"in u.req?u.req.limit:1/0;return y>=i.limit&&(i.values?u.req.values:!0)&&ha(u.req.query.range,i.query.range)});return[l,!1,r,s];case"count":var f=s.find(function(u){return Bi(u.req.query.range,i.query.range)});return[f,!!f,r,s]}}function ga(e,t,n,i){e.subscribers.add(n),i.addEventListener("abort",function(){e.subscribers.delete(n),e.subscribers.size===0&&xa(e,t)})}function xa(e,t){setTimeout(function(){e.subscribers.size===0&&Te(t,e)},3e3)}var wa={stack:"dbcore",level:0,name:"Cache",create:function(e){var t=e.schema.name,n=m(m({},e),{transaction:function(i,r,a){var o=e.transaction(i,r,a);if(r==="readwrite"){var s=new AbortController,c=s.signal,l=function(f){return function(){if(s.abort(),r==="readwrite"){for(var u=new Set,y=0,E=i;y<E.length;y++){var p=E[y],d=Fe["idb://".concat(t,"/").concat(p)];if(d){var h=e.table(p),g=d.optimisticOps.filter(function(q){return q.trans===o});if(o._explicit&&f&&o.mutatedParts)for(var w=0,b=Object.values(d.queries.query);w<b.length;w++)for(var _=b[w],x=0,j=_.slice();x<j.length;x++){var T=j[x];Tn(T.obsSet,o.mutatedParts)&&(Te(_,T),T.subscribers.forEach(function(q){return u.add(q)}))}else if(g.length>0){d.optimisticOps=d.optimisticOps.filter(function(q){return q.trans!==o});for(var S=0,R=Object.values(d.queries.query);S<R.length;S++)for(var _=R[S],V=0,K=_.slice();V<K.length;V++){var T=K[V];if(T.res!=null&&o.mutatedParts)if(f&&!T.dirty){var M=Object.isFrozen(T.res),F=zi(T.res,T.req,g,h,T,M);T.dirty?(Te(_,T),T.subscribers.forEach(function(Y){return u.add(Y)})):F!==T.res&&(T.res=F,T.promise=D.resolve({result:F}))}else T.dirty&&Te(_,T),T.subscribers.forEach(function(Y){return u.add(Y)})}}}}u.forEach(function(q){return q()})}}};o.addEventListener("abort",l(!1),{signal:c}),o.addEventListener("error",l(!1),{signal:c}),o.addEventListener("complete",l(!0),{signal:c})}return o},table:function(i){var r=e.table(i),a=r.schema.primaryKey,o=m(m({},r),{mutate:function(s){var c=A.trans;if(a.outbound||c.db._options.cache==="disabled"||c.explicit||c.idbtrans.mode!=="readwrite")return r.mutate(s);var l=Fe["idb://".concat(t,"/").concat(i)];if(!l)return r.mutate(s);var f=r.mutate(s);return(s.type==="add"||s.type==="put")&&(s.values.length>=50||In(a,s).some(function(u){return u==null}))?f.then(function(u){var y=m(m({},s),{values:s.values.map(function(p,d){var h;if(u.failures[d])return p;var g=!((h=a.keyPath)===null||h===void 0)&&h.includes(".")?De(p):m({},p);return te(g,a.keyPath,u.results[d]),g})}),E=Fi(l,y,u);l.optimisticOps.push(E),queueMicrotask(function(){return s.mutatedParts&&Nt(s.mutatedParts)})}):(l.optimisticOps.push(s),s.mutatedParts&&Nt(s.mutatedParts),f.then(function(u){if(u.numFailures>0){Te(l.optimisticOps,s);var y=Fi(l,s,u);y&&l.optimisticOps.push(y),s.mutatedParts&&Nt(s.mutatedParts)}}),f.catch(function(){Te(l.optimisticOps,s),s.mutatedParts&&Nt(s.mutatedParts)})),f},query:function(s){var c;if(!Ii(A,r)||!Ri("query",s))return r.query(s);var l=((c=A.trans)===null||c===void 0?void 0:c.db._options.cache)==="immutable",f=A,u=f.requery,y=f.signal,E=ya(t,i,"query",s),p=E[0],d=E[1],h=E[2],g=E[3];if(p&&d)p.obsSet=s.obsSet;else{var w=r.query(s).then(function(b){var _=b.result;if(p&&(p.res=_),l){for(var x=0,j=_.length;x<j;++x)Object.freeze(_[x]);Object.freeze(_)}else b.result=De(_);return b}).catch(function(b){return g&&p&&Te(g,p),Promise.reject(b)});p={obsSet:s.obsSet,promise:w,subscribers:new Set,type:"query",req:s,dirty:!1},g?g.push(p):(g=[p],h||(h=Fe["idb://".concat(t,"/").concat(i)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}}),h.queries.query[s.query.index.name||""]=g)}return ga(p,g,u,y),p.promise.then(function(b){return{result:zi(b.result,s,h==null?void 0:h.optimisticOps,r,p,l)}})}});return o}});return n}};function Wt(e,t){return new Proxy(e,{get:function(n,i,r){return i==="db"?t:Reflect.get(n,i,r)}})}var he=(function(){function e(t,n){var i=this;this._middlewares={},this.verno=0;var r=e.dependencies;this._options=n=m({addons:e.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange,cache:"cloned"},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};var a=n.addons;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;var o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:$,dbReadyPromise:null,cancelOpen:$,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:n.autoOpen};o.dbReadyPromise=new D(function(c){o.dbReadyResolve=c}),o.openCanceller=new D(function(c,l){o.cancelOpen=l}),this._state=o,this.name=t,this.on=st(this,"populate","blocked","versionchange","close",{ready:[Zt,$]}),this.once=function(c,l){var f=function(){for(var u=[],y=0;y<arguments.length;y++)u[y]=arguments[y];i.on(c).unsubscribe(f),l.apply(i,u)};return i.on(c,f)},this.on.ready.subscribe=Yn(this.on.ready.subscribe,function(c){return function(l,f){e.vip(function(){var u=i._state;if(u.openComplete)u.dbOpenError||D.resolve().then(l),f&&c(l);else if(u.onReadyBeingFired)u.onReadyBeingFired.push(l),f&&c(l);else{c(l);var y=i;f||c(function E(){y.on.ready.unsubscribe(l),y.on.ready.unsubscribe(E)})}})}}),this.Collection=Tr(this),this.Table=jr(this),this.Transaction=Fr(this),this.Version=Xr(this),this.WhereClause=Ir(this),this.on("versionchange",function(c){c.newVersion>0,i.close({disableAutoOpen:!1})}),this.on("blocked",function(c){!c.newVersion||c.newVersion<c.oldVersion}),this._maxKey=pt(n.IDBKeyRange),this._createTransaction=function(c,l,f,u){return new i.Transaction(c,l,f,i._options.chromeTransactionDurability,u)},this._fireOnBlocked=function(c){i.on("blocked").fire(c),He.filter(function(l){return l.name===i.name&&l!==i&&!l._state.vcFired}).map(function(l){return l.on("versionchange").fire(c)})},this.use(la),this.use(wa),this.use(ua),this.use(oa),this.use(sa);var s=new Proxy(this,{get:function(c,l,f){if(l==="_vip")return!0;if(l==="table")return function(y){return Wt(i.table(y),s)};var u=Reflect.get(c,l,f);return u instanceof gi?Wt(u,s):l==="tables"?u.map(function(y){return Wt(y,s)}):l==="_createTransaction"?function(){var y=u.apply(this,arguments);return Wt(y,s)}:u}});this.vip=s,a.forEach(function(c){return c(i)})}return e.prototype.version=function(t){if(isNaN(t)||t<.1)throw new I.Type("Given version is not a positive number");if(t=Math.round(t*10)/10,this.idbdb||this._state.isBeingOpened)throw new I.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,t);var n=this._versions,i=n.filter(function(r){return r._cfg.version===t})[0];return i||(i=new this.Version(t),n.push(i),n.sort(Wr),i.stores({}),this._state.autoSchema=!1,i)},e.prototype._whenReady=function(t){var n=this;return this.idbdb&&(this._state.openComplete||A.letThrough||this._vip)?t():new D(function(i,r){if(n._state.openComplete)return r(new I.DatabaseClosed(n._state.dbOpenError));if(!n._state.isBeingOpened){if(!n._state.autoOpen){r(new I.DatabaseClosed);return}n.open().catch($)}n._state.dbReadyPromise.then(i,r)}).then(t)},e.prototype.use=function(t){var n=t.stack,i=t.create,r=t.level,a=t.name;a&&this.unuse({stack:n,name:a});var o=this._middlewares[n]||(this._middlewares[n]=[]);return o.push({stack:n,create:i,level:r==null?10:r,name:a}),o.sort(function(s,c){return s.level-c.level}),this},e.prototype.unuse=function(t){var n=t.stack,i=t.name,r=t.create;return n&&this._middlewares[n]&&(this._middlewares[n]=this._middlewares[n].filter(function(a){return r?a.create!==r:i?a.name!==i:!1})),this},e.prototype.open=function(){var t=this;return Ce(ge,function(){return ia(t)})},e.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var t=this._state,n=He.indexOf(this);if(n>=0&&He.splice(n,1),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}t.isBeingOpened||(t.dbReadyPromise=new D(function(i){t.dbReadyResolve=i}),t.openCanceller=new D(function(i,r){t.cancelOpen=r}))},e.prototype.close=function(t){var n=t===void 0?{disableAutoOpen:!0}:t,i=n.disableAutoOpen,r=this._state;i?(r.isBeingOpened&&r.cancelOpen(new I.DatabaseClosed),this._close(),r.autoOpen=!1,r.dbOpenError=new I.DatabaseClosed):(this._close(),r.autoOpen=this._options.autoOpen||r.isBeingOpened,r.openComplete=!1,r.dbOpenError=null)},e.prototype.delete=function(t){var n=this;t===void 0&&(t={disableAutoOpen:!0});var i=arguments.length>0&&typeof arguments[0]!="object",r=this._state;return new D(function(a,o){var s=function(){n.close(t);var c=n._deps.indexedDB.deleteDatabase(n.name);c.onsuccess=U(function(){ta(n._deps,n.name),a()}),c.onerror=ue(o),c.onblocked=n._fireOnBlocked};if(i)throw new I.InvalidArgument("Invalid closeOptions argument to db.delete()");r.isBeingOpened?r.dbReadyPromise.then(s):s()})},e.prototype.backendDB=function(){return this.idbdb},e.prototype.isOpen=function(){return this.idbdb!==null},e.prototype.hasBeenClosed=function(){var t=this._state.dbOpenError;return t&&t.name==="DatabaseClosed"},e.prototype.hasFailed=function(){return this._state.dbOpenError!==null},e.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(e.prototype,"tables",{get:function(){var t=this;return z(this._allTables).map(function(n){return t._allTables[n]})},enumerable:!1,configurable:!0}),e.prototype.transaction=function(){var t=ra.apply(this,arguments);return this._transaction.apply(this,t)},e.prototype._transaction=function(t,n,i){var r=this,a=A.trans;(!a||a.db!==this||t.indexOf("!")!==-1)&&(a=null);var o=t.indexOf("?")!==-1;t=t.replace("!","").replace("?","");var s,c;try{if(c=n.map(function(f){var u=f instanceof r.Table?f.name:f;if(typeof u!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return u}),t=="r"||t===fn)s=fn;else if(t=="rw"||t==dn)s=dn;else throw new I.InvalidArgument("Invalid transaction mode: "+t);if(a){if(a.mode===fn&&s===dn)if(o)a=null;else throw new I.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");a&&c.forEach(function(f){if(a&&a.storeNames.indexOf(f)===-1)if(o)a=null;else throw new I.SubTransaction("Table "+f+" not included in parent transaction.")}),o&&a&&!a.active&&(a=null)}}catch(f){return a?a._promise(null,function(u,y){y(f)}):Q(f)}var l=Pi.bind(null,this,s,c,a,i);return a?a._promise(s,l,"lock"):A.trans?Ce(A.transless,function(){return r._whenReady(l)}):this._whenReady(l)},e.prototype.table=function(t){if(!ee(this._allTables,t))throw new I.InvalidTable("Table ".concat(t," does not exist"));return this._allTables[t]},e})(),ba=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",_a=(function(){function e(t){this._subscribe=t}return e.prototype.subscribe=function(t,n,i){return this._subscribe(!t||typeof t=="function"?{next:t,error:n,complete:i}:t)},e.prototype[ba]=function(){return this},e})(),qt;try{qt={indexedDB:O.indexedDB||O.mozIndexedDB||O.webkitIndexedDB||O.msIndexedDB,IDBKeyRange:O.IDBKeyRange||O.webkitIDBKeyRange}}catch{qt={indexedDB:null,IDBKeyRange:null}}function Mi(e){var t=!1,n,i=new _a(function(r){var a=Gt(e);function o(g){var w=Ue();try{a&&Qe();var b=xe(e,g);return a&&(b=b.finally(we)),b}finally{w&&Ye()}}var s=!1,c,l={},f={},u={get closed(){return s},unsubscribe:function(){s||(s=!0,c&&c.abort(),y&&ke.storagemutated.unsubscribe(d))}};r.start&&r.start(u);var y=!1,E=function(){return ln(h)};function p(){return Tn(f,l)}var d=function(g){Vt(l,g),p()&&E()},h=function(){if(!(s||!qt.indexedDB)){l={};var g={};c&&c.abort(),c=new AbortController;var w={subscr:g,signal:c.signal,requery:E,querier:e,trans:null},b=o(w);Promise.resolve(b).then(function(_){t=!0,n=_,!(s||w.signal.aborted)&&(l={},f=g,!Zi(f)&&!y&&(ke(ut,d),y=!0),ln(function(){return!s&&r.next&&r.next(_)}))},function(_){t=!1,["DatabaseClosedError","AbortError"].includes(_==null?void 0:_.name)||s||ln(function(){s||r.error&&r.error(_)})})}};return setTimeout(E,0),u});return i.hasValue=function(){return t},i.getValue=function(){return n},i}var ze=he;Ne(ze,m(m({},xt),{delete:function(e){var t=new ze(e,{addons:[]});return t.delete()},exists:function(e){return new ze(e,{addons:[]}).open().then(function(t){return t.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(e){try{return Zr(ze.dependencies).then(e)}catch{return Q(new I.MissingAPI)}},defineClass:function(){function e(t){N(this,t)}return e},ignoreTransaction:function(e){return A.trans?Ce(A.transless,e):e()},vip:jn,async:function(e){return function(){try{var t=Pn(e.apply(this,arguments));return!t||typeof t.then!="function"?D.resolve(t):t}catch(n){return Q(n)}}},spawn:function(e,t,n){try{var i=Pn(e.apply(n,t||[]));return!i||typeof i.then!="function"?D.resolve(i):i}catch(r){return Q(r)}},currentTransaction:{get:function(){return A.trans||null}},waitFor:function(e,t){var n=D.resolve(typeof e=="function"?ze.ignoreTransaction(e):e).timeout(t||6e4);return A.trans?A.trans.waitFor(n):n},Promise:D,debug:{get:function(){return le},set:function(e){ni(e)}},derive:Le,extend:N,props:Ne,override:Yn,Events:st,on:ke,liveQuery:Mi,extendObservabilitySet:Vt,getByKeyPath:de,setByKeyPath:te,delByKeyPath:Gi,shallowClone:Hn,deepClone:De,getObjectDiff:Cn,cmp:W,asap:Qn,minKey:pn,addons:[],connections:He,errnames:Xt,dependencies:qt,cache:Fe,semVer:pi,version:pi.split(".").map(function(e){return parseInt(e)}).reduce(function(e,t,n){return e+t/Math.pow(10,n*2)})})),ze.maxKey=pt(ze.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(ke(ut,function(e){if(!Ee){var t;t=new CustomEvent(hn,{detail:e}),Ee=!0,dispatchEvent(t),Ee=!1}}),addEventListener(hn,function(e){var t=e.detail;Ee||Fn(t)}));function Fn(e){var t=Ee;try{Ee=!0,ke.storagemutated.fire(e),An(e,!0)}finally{Ee=t}}var Ee=!1,je,zn=function(){};typeof BroadcastChannel<"u"&&(zn=function(){je=new BroadcastChannel(hn),je.onmessage=function(e){return e.data&&Fn(e.data)}},zn(),typeof je.unref=="function"&&je.unref(),ke(ut,function(e){Ee||je.postMessage(e)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(e){if(!he.disableBfCache&&e.persisted){je==null||je.close();for(var t=0,n=He;t<n.length;t++){var i=n[t];i.close({disableAutoOpen:!1})}}}),addEventListener("pageshow",function(e){!he.disableBfCache&&e.persisted&&(zn(),Fn({all:new J(-1/0,[[]])}))}));function ka(e){return new ot({add:e})}function Ea(e){return new ot({remove:e})}function ja(e,t){return new ot({replacePrefix:[e,t]})}D.rejectionMapper=ar,ni(le);var Sa=Object.freeze({__proto__:null,Dexie:he,Entity:mi,PropModification:ot,RangeSet:J,add:ka,cmp:W,default:he,liveQuery:Mi,mergeRanges:mt,rangesOverlap:Ti,remove:Ea,replacePrefix:ja});return m(he,Sa,{default:he}),he}))});var Ut=Fa(Vi(),1),Ni=Symbol.for("Dexie"),Xe=globalThis[Ni]||(globalThis[Ni]=Ut.default);if(Ut.default.semVer!==Xe.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${Ut.default.semVer} and ${Xe.semVer}`);var{liveQuery:Va,mergeRanges:Na,rangesOverlap:La,RangeSet:Wa,cmp:qa,Entity:$a,PropModification:Ua,replacePrefix:Ya,add:Qa,remove:Ha,DexieYProvider:Ga}=Xe;var Li={name:"vvvfs",version:"0.0.4",description:"\u4E00\u4E2A\u4F7F\u7528IndexDB\u5B9E\u73B0\u7684\u865A\u62DF\u6587\u4EF6\u7CFB\u7EDF",keywords:["Virtual","File","System","IFTC","VV","File","System","vfs","fs"],license:"MIT",author:"IFTC",type:"module",main:"index.js",scripts:{test:'echo "Error: no test specified" && exit 1',build:"node esbuild.config.js"},dependencies:{dexie:"^4.3.0",esbuild:"^0.27.3",mime:"^4.1.0"}};var Wi={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.autodesk.fbx":["fbx"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dcmp+xml":["dcmp"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.slides":["ggs"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.drawing":["gdraw"],"application/vnd.google-apps.form":["gform"],"application/vnd.google-apps.jam":["gjam"],"application/vnd.google-apps.map":["gmap"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.script":["gscript"],"application/vnd.google-apps.site":["gsite"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.gov.sk.xmldatacontainer+xml":["xdcf"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-visio.viewer":["vdx"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.nato.bindingdataobject+xml":["bdo"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.procrate.brushset":["brushset"],"application/vnd.procreate.brush":["brush"],"application/vnd.procreate.dream":["drm"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw","vsdx","vtx"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blender":["blend"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-compressed":["*rar"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-ipynb+json":["ipynb"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zip-compressed":["*zip"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.blockfact.facti":["facti"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-adobe-dng":["dng"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.bary":["bary"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["*mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(Wi);var qi=Wi;var $i={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze($i);var Ui=$i;var oe=function(B,v,m,k){if(m==="a"&&!k)throw new TypeError("Private accessor was defined without a getter");if(typeof v=="function"?B!==v||!k:!v.has(B))throw new TypeError("Cannot read private member from an object whose class did not declare it");return m==="m"?k:m==="a"?k.call(B):k?k.value:v.get(B)},Ze,ht,Me,Nn=class{constructor(...v){Ze.set(this,new Map),ht.set(this,new Map),Me.set(this,new Map);for(let m of v)this.define(m)}define(v,m=!1){for(let[k,O]of Object.entries(v)){k=k.toLowerCase(),O=O.map(N=>N.toLowerCase()),oe(this,Me,"f").has(k)||oe(this,Me,"f").set(k,new Set);let z=oe(this,Me,"f").get(k),P=!0;for(let N of O){let H=N.startsWith("*");if(N=H?N.slice(1):N,z==null||z.add(N),P&&oe(this,ht,"f").set(k,N),P=!1,H)continue;let Z=oe(this,Ze,"f").get(N);if(Z&&Z!=k&&!m)throw new Error(`"${k} -> ${N}" conflicts with "${Z} -> ${N}". Pass \`force=true\` to override this definition.`);oe(this,Ze,"f").set(N,k)}}return this}getType(v){var P;if(typeof v!="string")return null;let m=v.replace(new RegExp("^.*[/\\\\]","s"),"").toLowerCase(),k=m.replace(new RegExp("^.*\\.","s"),"").toLowerCase(),O=m.length<v.length;return!(k.length<m.length-1)&&O?null:(P=oe(this,Ze,"f").get(k))!=null?P:null}getExtension(v){var m,k;return typeof v!="string"?null:(v=(m=v==null?void 0:v.split)==null?void 0:m.call(v,";")[0],(k=v&&oe(this,ht,"f").get(v.trim().toLowerCase()))!=null?k:null)}getAllExtensions(v){var m;return typeof v!="string"?null:(m=oe(this,Me,"f").get(v.toLowerCase()))!=null?m:null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let v of oe(this,Me,"f").values())Object.freeze(v);return this}_getTestState(){return{types:oe(this,Ze,"f"),extensions:oe(this,ht,"f")}}};Ze=new WeakMap,ht=new WeakMap,Me=new WeakMap;var Ln=Nn;var Wn=new Ln(Ui,qi)._freeze();var L=class extends Error{constructor(v,m){super(m),this.name="VVVFS"+v+"Error"}},qn=class{constructor(...v){Be(this,"_path");Be(this,"_vvvfs",new Ve);this._path=se(...v)}get path(){return this._path}set path(v){this._path=se(v)}async read(){return await this._vvvfs.read(this._path)}async readText(){return await this._vvvfs.readText(this._path)}async readJSON(){return await this._vvvfs.readJson(this._path)}async write(v){return await this._vvvfs.write(this._path,v)}async writeText(v){return await this._vvvfs.writeText(this._path,v)}async writeJSON(v,m=!0){return await this._vvvfs.writeJson(this._path,v,m)}async createFile(){return await this._vvvfs.createFile(this._path)}async createDir(){return await this._vvvfs.createDir(this._path)}async delete(){return await this._vvvfs.delete(this._path)}async exists(){return await this._vvvfs.exists(this._path)}async isFile(){return await this._vvvfs.isFile(this._path)}async isDir(){return await this._vvvfs.isDir(this._path)}async list(){return await this._vvvfs.list(this._path)}async rename(v){return await this._vvvfs.rename(this._path,v)}async move(v){return await this._vvvfs.move(this._path,v)}async copy(v){return await this._vvvfs.copy(this._path,v)}async search(v){return await this._vvvfs.search(this._path,v)}},Ba=Li.version,Ve=class{constructor(v="vvvfs",m={throwError:!1}){Be(this,"db");Be(this,"options");this.options=m;try{this.db=new Xe(v),this.db.version(1).stores({files:"++id, name, path, type, file, [name+path+type]"})}catch{throw new L("CreateDatabase","\u521B\u5EFA\u6570\u636E\u5E93\u5931\u8D25")}}async init(v){let m=[{name:"root",path:"/",type:"dir",file:new File([],"root")},{name:"boot",path:"/",type:"dir",file:new File([],"boot")},{name:"bin",path:"/",type:"dir",file:new File([],"bin")},{name:"dev",path:"/",type:"dir",file:new File([],"dev")},{name:"etc",path:"/",type:"dir",file:new File([],"etc")},{name:"home",path:"/",type:"dir",file:new File([],"home")},{name:v||"root",path:"/home",type:"dir",file:new File([],"home")},{name:"lib",path:"/",type:"dir",file:new File([],"lib")},{name:"lib64",path:"/",type:"dir",file:new File([],"lib64")},{name:"media",path:"/",type:"dir",file:new File([],"media")},{name:"mnt",path:"/",type:"dir",file:new File([],"mnt")},{name:"opt",path:"/",type:"dir",file:new File([],"opt")},{name:"proc",path:"/",type:"dir",file:new File([],"proc")},{name:"run",path:"/",type:"dir",file:new File([],"run")},{name:"sbin",path:"/",type:"dir",file:new File([],"sbin")},{name:"srv",path:"/",type:"dir",file:new File([],"srv")},{name:"sys",path:"/",type:"dir",file:new File([],"sys")},{name:"tmp",path:"/",type:"dir",file:new File([],"tmp")},{name:"usr",path:"/",type:"dir",file:new File([],"usr")},{name:"var",path:"/",type:"dir",file:new File([],"var")}];try{for(let k of m)await this.db.files.put(k)}catch(k){throw new L("InitFiles","\u521D\u59CB\u5316\u6587\u4EF6\u5931\u8D25"+k)}}async reset(){try{await this.db.delete(),this.db=new Xe(this.db.name),this.db.version(1).stores({files:"++id, name, path, type, file, [name+path+type]"})}catch(v){throw new L("ResetDatabase","\u91CD\u7F6E\u6570\u636E\u5E93\u5931\u8D25"+v)}}async createFile(v){if(await this.exists(v))return!0;try{let{name:m,parent:k}=ie(v);return await this.exists(k)||await this.createDir(k),await this.db.files.add({name:m,path:k,type:"file",file:new File([],m,{type:Wn.getType(v)||"application/octet-stream"})}),!0}catch(m){if(this.options.throwError)throw new L("CreateFile","\u521B\u5EFA\u6587\u4EF6\u5931\u8D25"+m);return!1}}async createDir(v){if(await this.exists(v))return!0;try{let{name:m,parent:k}=ie(v);if(!await this.exists(k))if(k=="/"){if(await this.db.files.add({name:"",path:"/",type:"dir",file:new File([],"")}),m=="")return!0}else await this.createDir(k);return await this.db.files.add({name:m,path:k,type:"dir",file:new File([],m)}),!0}catch(m){if(this.options.throwError)throw new L("CreateDir","\u521B\u5EFA\u76EE\u5F55\u5931\u8D25"+m);return!1}}async exists(v){try{let{name:m,parent:k}=ie(v);return await this.db.files.where({name:m,path:k}).count()>0}catch(m){if(this.options.throwError)throw new L("Exists","\u5224\u65AD\u6587\u4EF6\u662F\u5426\u5B58\u5728\u5931\u8D25"+m);return!1}}async write(v,m){try{if(!await this.exists(v)&&!await this.createFile(v)){if(this.options.throwError)throw new L("Write","\u521B\u5EFA\u6587\u4EF6\u5931\u8D25");return!1}let{name:k,parent:O}=ie(v);if(await this.isDir(O+"/"+k)){if(this.options.throwError)throw new L("Write","\u8DEF\u5F84\u5DF2\u5B58\u5728");return!1}let z=new File([m],k,{type:Wn.getType(v)||"application/octet-stream"}),P=await this.db.files.where({name:k,path:O}).first();if(P)return await this.db.files.put({...P,file:z}),!0;if(this.options.throwError)throw new L("Write","\u6587\u4EF6\u8BB0\u5F55\u672A\u627E\u5230\uFF0C\u65E0\u6CD5\u5199\u5165\u5185\u5BB9");return!1}catch(k){if(this.options.throwError)throw new L("Write","\u5199\u5165\u6587\u4EF6\u5931\u8D25"+k);return!1}}async writeText(v,m){try{let k=new Blob([m],{type:"text/plain"});return await this.write(v,k)}catch(k){if(this.options.throwError)throw new L("Write","\u5199\u5165\u6587\u4EF6\u5931\u8D25"+k);return!1}}async writeJson(v,m,k=!0){try{return await this.writeText(v,JSON.stringify(m,null,k?4:void 0))}catch(O){if(this.options.throwError)throw new L("Write","\u5199\u5165\u6587\u4EF6\u5931\u8D25"+O);return!1}}async read(v){var m;try{if(!await this.exists(v)){if(this.options.throwError)throw new L("Read","\u6587\u4EF6\u4E0D\u5B58\u5728");return null}let{name:k,parent:O}=ie(v);return(m=await this.db.files.where({name:k,path:O}).first())==null?void 0:m.file}catch(k){if(this.options.throwError)throw new L("Read","\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25"+k);return null}}async readText(v){try{let m=await this.read(v);if(m)return await m.text();if(this.options.throwError)throw new L("Read","\u6587\u4EF6\u4E0D\u5B58\u5728");return null}catch(m){if(this.options.throwError)throw new L("Read","\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25"+m);return null}}async readJson(v){try{let m=await this.readText(v);if(m)try{return JSON.parse(m)}catch(k){if(this.options.throwError)throw new L("Read","\u89E3\u6790JSON\u5931\u8D25"+k);return null}else return null}catch(m){if(this.options.throwError)throw new L("Read","\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25"+m);return null}}async isFile(v){try{let{name:m,parent:k}=ie(v);return await this.db.files.where({name:m,path:k,type:"file"}).count()>0}catch(m){if(this.options.throwError)throw new L("IsFile","\u5224\u65AD\u6587\u4EF6\u7C7B\u578B\u5931\u8D25"+m);return!1}}async isDir(v){try{let{name:m,parent:k}=ie(v);return await this.db.files.where({path:k,name:m,type:"dir"}).count()>0}catch(m){if(this.options.throwError)throw new L("IsDir","\u5224\u65AD\u6587\u4EF6\u7C7B\u578B\u5931\u8D25"+m);return!1}}async list(v){try{let{name:m,parent:k}=ie(v);return(await this.db.files.where({path:k}).toArray()).map(O=>O.name).filter(O=>O!="")}catch(m){if(this.options.throwError)throw new L("List","\u5217\u51FA\u76EE\u5F55\u4E0B\u7684\u6587\u4EF6\u5931\u8D25"+m);return[]}}async rename(v,m){try{if(!await this.exists(v)){if(this.options.throwError)throw new L("Rename","\u6587\u4EF6\u4E0D\u5B58\u5728");return!1}let{name:k,parent:O}=ie(v),z=await this.db.files.get({path:v,name:k});return await this.db.files.put({name:m,path:O,type:"file",file:z.file}),!0}catch(k){if(this.options.throwError)throw new L("Rename","\u91CD\u547D\u540D\u6587\u4EF6\u5931\u8D25"+k);return!1}}async delete(v){try{if(!await this.exists(v)){if(this.options.throwError)throw new L("Delete","\u6587\u4EF6\u4E0D\u5B58\u5728");return!1}let{name:m,parent:k}=ie(v);if(await this.isDir(v)){let O=await this.list(v);for(let z of O){if(await this.isDir(se(v,z))){let P=await this.db.files.where({name:m,path:k}).first();await this.db.files.delete(P.id)}await this.delete(se(k,z))}return!0}else{let O=await this.db.files.where({name:m,path:k}).first();return await this.db.files.delete(O.id),!0}}catch(m){if(this.options.throwError)throw new L("Delete","\u5220\u9664\u6587\u4EF6\u5931\u8D25"+m);return!1}}async move(v,m){try{if(await this.exists(m)){if(this.options.throwError)throw new L("Move","\u76EE\u6807\u6587\u4EF6\u5DF2\u5B58\u5728");return!1}if(!await this.exists(v)){if(this.options.throwError)throw new L("Move","\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728");return!1}let{name:k,parent:O}=ie(v),{name:z,parent:P}=ie(m);if(await this.createDir(P),await this.isDir(v)){let N=await this.list(v);for(let H of N)await this.move(v+"/"+H,m+"/"+H)}else{let N=await this.db.files.where({name:k,path:O}).first();await this.db.files.update(N.id,{name:z,path:P})}return await this.delete(v),!0}catch(k){if(this.options.throwError)throw new L("Move","\u79FB\u52A8\u6587\u4EF6\u5931\u8D25"+k);return!1}}async copy(v,m){try{if(await this.exists(m)){if(this.options.throwError)throw new L("Copy","\u76EE\u6807\u6587\u4EF6\u5DF2\u5B58\u5728");return!1}if(!await this.exists(v)){if(this.options.throwError)throw new L("Copy","\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728");return!1}let{name:k,parent:O}=ie(v),{name:z,parent:P}=ie(m);if(await this.createDir(P),await this.isDir(v)){let N=await this.list(v);for(let H of N)await this.move(v+"/"+H,m+"/"+H)}else{let N=await this.db.files.where({name:k,path:O}).first();await this.db.files.update(N.id,{name:z,path:P})}return!0}catch(k){if(this.options.throwError)throw new L("Copy","\u590D\u5236\u6587\u4EF6\u5931\u8D25"+k);return!1}}async search(v,m){try{if(!await this.isDir(v)){if(this.options.throwError)throw new L("Search","\u57FA\u7840\u8DEF\u5F84\u4E0D\u662F\u76EE\u5F55");return null}let k=this,O=await this.list(v);return await z(v,O);async function z(P,N){let H=[];for(let Z of N)Z!=""&&(await k.isDir(se(P,Z))?(Z.includes(m)&&H.push(se(P,Z)+"/"),H.push(...await z(se(P,Z),await k.list(se(P,Z))))):await k.isFile(se(P,Z))&&Z.includes(m)&&H.push(se(P,Z)));return H}}catch(k){if(this.options.throwError)throw new L("Search","\u641C\u7D22\u6587\u4EF6\u5931\u8D25"+k);return null}}};Be(Ve,"version"),Be(Ve,"File",qn);function ie(B){B=se(B);let v=B.split("/"),m=[];for(let z=0;z<v.length;z++){if(v[z].length>255)throw new L("ParsePath","\u6587\u4EF6\u540D\u8FC7\u957F");v[z]&&m.push(v[z])}let k=m.pop()||"",O="/"+m.join("/");if(se(O,k).length>4096)throw new L("ParsePath","\u6587\u4EF6\u8DEF\u5F84\u8FC7\u957F");return{name:k,parent:O}}function se(...B){let v=B.map(P=>String(P)).filter(P=>P.length>0);if(v.length===0)return".";let m=v[0].startsWith("/"),k=v.join("/").split("/"),O=[];for(let P of k)P===""||P==="."||(P===".."?O.length>0&&O[O.length-1]!==".."?O.pop():m||O.push(".."):O.push(P));let z=O.join("/");return m&&(z="/"+z),z.startsWith("/")?z:"/"+z||(m?"/":".")}Object.defineProperty(Ve,"version",{value:Ba,writable:!1,enumerable:!0,configurable:!1});globalThis.VVVFS=Ve;})();
|