@gmod/tabix 3.0.5 → 3.1.1
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/CHANGELOG.md +4 -10
- package/README.md +0 -1
- package/dist/chunk.d.ts +1 -1
- package/dist/chunk.js +1 -1
- package/dist/chunk.js.map +1 -1
- package/dist/csi.d.ts +3 -7
- package/dist/csi.js +2 -25
- package/dist/csi.js.map +1 -1
- package/dist/indexFile.d.ts +6 -2
- package/dist/indexFile.js +24 -2
- package/dist/indexFile.js.map +1 -1
- package/dist/tabix-bundle.js +1 -1
- package/dist/tabixIndexedFile.d.ts +7 -1
- package/dist/tabixIndexedFile.js +83 -75
- package/dist/tabixIndexedFile.js.map +1 -1
- package/dist/tbi.d.ts +1 -5
- package/dist/tbi.js +5 -29
- package/dist/tbi.js.map +1 -1
- package/dist/util.js +9 -9
- package/dist/util.js.map +1 -1
- package/esm/chunk.d.ts +1 -1
- package/esm/chunk.js +1 -1
- package/esm/chunk.js.map +1 -1
- package/esm/csi.d.ts +3 -7
- package/esm/csi.js +2 -25
- package/esm/csi.js.map +1 -1
- package/esm/indexFile.d.ts +6 -2
- package/esm/indexFile.js +24 -2
- package/esm/indexFile.js.map +1 -1
- package/esm/tabixIndexedFile.d.ts +7 -1
- package/esm/tabixIndexedFile.js +83 -75
- package/esm/tabixIndexedFile.js.map +1 -1
- package/esm/tbi.d.ts +1 -5
- package/esm/tbi.js +5 -29
- package/esm/tbi.js.map +1 -1
- package/esm/util.js +9 -9
- package/esm/util.js.map +1 -1
- package/package.json +8 -8
- package/src/chunk.ts +1 -1
- package/src/csi.ts +2 -29
- package/src/indexFile.ts +28 -3
- package/src/tabixIndexedFile.ts +127 -81
- package/src/tbi.ts +12 -38
- package/src/util.ts +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,27 +1,21 @@
|
|
|
1
|
-
## [3.
|
|
1
|
+
## [3.1.1](https://github.com/GMOD/tabix-js/compare/v3.1.0...v3.1.1) (2025-11-19)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# [3.1.0](https://github.com/GMOD/tabix-js/compare/v3.0.5...v3.1.0) (2025-10-01)
|
|
6
6
|
|
|
7
|
+
## [3.0.5](https://github.com/GMOD/tabix-js/compare/v3.0.4...v3.0.5) (2025-05-26)
|
|
7
8
|
|
|
9
|
+
## [3.0.4](https://github.com/GMOD/tabix-js/compare/v3.0.3...v3.0.4) (2025-05-13)
|
|
8
10
|
|
|
9
11
|
## [3.0.3](https://github.com/GMOD/tabix-js/compare/v3.0.2...v3.0.3) (2025-05-13)
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
13
|
## [3.0.2](https://github.com/GMOD/tabix-js/compare/v3.0.1...v3.0.2) (2025-04-30)
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
15
|
## [3.0.1](https://github.com/GMOD/tabix-js/compare/v3.0.0...v3.0.1) (2025-04-30)
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
|
|
21
17
|
# [3.0.0](https://github.com/GMOD/tabix-js/compare/v2.0.5...v3.0.0) (2025-04-30)
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
|
|
25
19
|
## [2.0.5](https://github.com/GMOD/tabix-js/compare/v2.0.4...v2.0.5) (2025-03-18)
|
|
26
20
|
|
|
27
21
|
## [2.0.4](https://github.com/GMOD/tabix-js/compare/v2.0.3...v2.0.4) (2024-12-18)
|
package/README.md
CHANGED
|
@@ -179,7 +179,6 @@ console.log(lines)
|
|
|
179
179
|
|
|
180
180
|
- `args`
|
|
181
181
|
**[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 
|
|
182
|
-
|
|
183
182
|
- `args.path`
|
|
184
183
|
**[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** 
|
|
185
184
|
- `args.filehandle` **filehandle?** 
|
package/dist/chunk.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export default class Chunk {
|
|
|
4
4
|
maxv: VirtualOffset;
|
|
5
5
|
bin: number;
|
|
6
6
|
_fetchedSize?: number;
|
|
7
|
-
constructor(minv: VirtualOffset, maxv: VirtualOffset, bin: number, fetchedSize?:
|
|
7
|
+
constructor(minv: VirtualOffset, maxv: VirtualOffset, bin: number, fetchedSize?: number);
|
|
8
8
|
toUniqueString(): string;
|
|
9
9
|
toString(): string;
|
|
10
10
|
compareTo(b: Chunk): number;
|
package/dist/chunk.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
// little class representing a chunk in the index
|
|
4
4
|
class Chunk {
|
|
5
|
-
constructor(minv, maxv, bin, fetchedSize
|
|
5
|
+
constructor(minv, maxv, bin, fetchedSize) {
|
|
6
6
|
this.minv = minv;
|
|
7
7
|
this.maxv = maxv;
|
|
8
8
|
this.bin = bin;
|
package/dist/chunk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":";;AAEA,iDAAiD;AACjD,MAAqB,KAAK;IAMxB,YACE,IAAmB,EACnB,IAAmB,EACnB,GAAW,EACX,
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":";;AAEA,iDAAiD;AACjD,MAAqB,KAAK;IAMxB,YACE,IAAmB,EACnB,IAAmB,EACnB,GAAW,EACX,WAAoB;QAEpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,SAC/B,IAAI,CAAC,GACP,iBAAiB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAA;IACxC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,CAAQ;QAChB,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CACjB,CAAA;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,YAAY,CAAA;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;IACtE,CAAC;CACF;AA1CD,wBA0CC"}
|
package/dist/csi.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export default class CSI extends IndexFile {
|
|
|
12
12
|
refIdToName: string[];
|
|
13
13
|
refNameToId: Record<string, number>;
|
|
14
14
|
skipLines: number;
|
|
15
|
-
metaChar: string |
|
|
15
|
+
metaChar: string | undefined;
|
|
16
16
|
columnNumbers: {
|
|
17
17
|
ref: number;
|
|
18
18
|
start: number;
|
|
@@ -21,10 +21,6 @@ export default class CSI extends IndexFile {
|
|
|
21
21
|
format: string;
|
|
22
22
|
coordinateType: string;
|
|
23
23
|
};
|
|
24
|
-
_parseNameBytes(namesBytes: Uint8Array): {
|
|
25
|
-
refNameToId: Record<string, number>;
|
|
26
|
-
refIdToName: string[];
|
|
27
|
-
};
|
|
28
24
|
_parse(opts?: Options): Promise<{
|
|
29
25
|
csi: boolean;
|
|
30
26
|
refCount: number;
|
|
@@ -43,7 +39,7 @@ export default class CSI extends IndexFile {
|
|
|
43
39
|
refIdToName: string[];
|
|
44
40
|
refNameToId: Record<string, number>;
|
|
45
41
|
skipLines: number;
|
|
46
|
-
metaChar: string |
|
|
42
|
+
metaChar: string | undefined;
|
|
47
43
|
columnNumbers: {
|
|
48
44
|
ref: number;
|
|
49
45
|
start: number;
|
|
@@ -68,7 +64,7 @@ export default class CSI extends IndexFile {
|
|
|
68
64
|
maxRefLength: number;
|
|
69
65
|
refIdToName: never[];
|
|
70
66
|
refNameToId: {};
|
|
71
|
-
metaChar:
|
|
67
|
+
metaChar: undefined;
|
|
72
68
|
columnNumbers: {
|
|
73
69
|
ref: number;
|
|
74
70
|
start: number;
|
package/dist/csi.js
CHANGED
|
@@ -95,7 +95,7 @@ class CSI extends indexFile_ts_1.default {
|
|
|
95
95
|
end: dataView.getInt32(offset + 12, true),
|
|
96
96
|
};
|
|
97
97
|
const metaValue = dataView.getInt32(offset + 16, true);
|
|
98
|
-
const metaChar = metaValue ? String.fromCharCode(metaValue) :
|
|
98
|
+
const metaChar = metaValue ? String.fromCharCode(metaValue) : undefined;
|
|
99
99
|
const skipLines = dataView.getInt32(offset + 20, true);
|
|
100
100
|
const nameSectionLength = dataView.getInt32(offset + 24, true);
|
|
101
101
|
const { refIdToName, refNameToId } = this._parseNameBytes(bytes.subarray(offset + 28, offset + 28 + nameSectionLength));
|
|
@@ -109,29 +109,6 @@ class CSI extends indexFile_ts_1.default {
|
|
|
109
109
|
coordinateType,
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
|
-
_parseNameBytes(namesBytes) {
|
|
113
|
-
let currRefId = 0;
|
|
114
|
-
let currNameStart = 0;
|
|
115
|
-
const refIdToName = [];
|
|
116
|
-
const refNameToId = {};
|
|
117
|
-
const decoder = new TextDecoder('utf8');
|
|
118
|
-
for (let i = 0; i < namesBytes.length; i += 1) {
|
|
119
|
-
if (!namesBytes[i]) {
|
|
120
|
-
if (currNameStart < i) {
|
|
121
|
-
const refName = this.renameRefSeq(decoder.decode(namesBytes.subarray(currNameStart, i)));
|
|
122
|
-
refIdToName[currRefId] = refName;
|
|
123
|
-
refNameToId[refName] = currRefId;
|
|
124
|
-
}
|
|
125
|
-
currNameStart = i + 1;
|
|
126
|
-
currRefId += 1;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return {
|
|
130
|
-
refNameToId,
|
|
131
|
-
refIdToName,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
// fetch and parse the index
|
|
135
112
|
async _parse(opts = {}) {
|
|
136
113
|
const bytes = await (0, bgzf_filehandle_1.unzip)(await this.filehandle.readFile(opts));
|
|
137
114
|
const dataView = new DataView(bytes.buffer);
|
|
@@ -156,7 +133,7 @@ class CSI extends indexFile_ts_1.default {
|
|
|
156
133
|
: {
|
|
157
134
|
refIdToName: [],
|
|
158
135
|
refNameToId: {},
|
|
159
|
-
metaChar:
|
|
136
|
+
metaChar: undefined,
|
|
160
137
|
columnNumbers: { ref: 0, start: 1, end: 2 },
|
|
161
138
|
coordinateType: 'zero-based-half-open',
|
|
162
139
|
format: 'generic',
|
package/dist/csi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA6C;AAE7C,0DAA8B;AAC9B,kEAAmD;AACnD,uCAAmD;AACnD,uCAA0C;AAC1C,uEAA6D;AAE7D,MAAM,UAAU,GAAG,QAAQ,CAAA,CAAC,QAAQ;AACpC,MAAM,UAAU,GAAG,QAAQ,CAAA,CAAC,QAAQ;AAEpC,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;CACT,CAAA;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,IAAY;IACvC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAA;AACxB,CAAC;AACD,SAAS,MAAM,CAAC,GAAW,EAAE,IAAY;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,MAAqB,GAAI,SAAQ,sBAAS;IAIxC,YAAY,IAAS;QACnB,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;IACnB,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAgB,EAAE;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,SAAS,CAAA;QACxB,CAAC;QACD,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED,YAAY,CAAC,KAAiB,EAAE,MAAc;QAC5C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACnD,MAAM,cAAc,GAClB,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAA;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,WAAW,GAAG,GAAG,CAAc,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAA;QACrE,CAAC;QACD,MAAM,aAAa,GAAG;YACpB,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC;YACxC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC;YAC1C,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC;SAC1C,CAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":"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"}
|
package/dist/indexFile.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface Options {
|
|
|
7
7
|
export interface IndexData {
|
|
8
8
|
refNameToId: Record<string, number>;
|
|
9
9
|
refIdToName: string[];
|
|
10
|
-
metaChar: string |
|
|
10
|
+
metaChar: string | undefined;
|
|
11
11
|
columnNumbers: {
|
|
12
12
|
ref: number;
|
|
13
13
|
start: number;
|
|
@@ -31,7 +31,7 @@ export default abstract class IndexFile {
|
|
|
31
31
|
[key: string]: any;
|
|
32
32
|
refNameToId: Record<string, number>;
|
|
33
33
|
refIdToName: string[];
|
|
34
|
-
metaChar: string |
|
|
34
|
+
metaChar: string | undefined;
|
|
35
35
|
columnNumbers: {
|
|
36
36
|
ref: number;
|
|
37
37
|
start: number;
|
|
@@ -44,4 +44,8 @@ export default abstract class IndexFile {
|
|
|
44
44
|
_findFirstData(currentFdl: VirtualOffset | undefined, virtualOffset: VirtualOffset): VirtualOffset;
|
|
45
45
|
parse(opts?: Options): Promise<IndexData>;
|
|
46
46
|
hasRefSeq(seqId: number, opts?: Options): Promise<boolean>;
|
|
47
|
+
_parseNameBytes(namesBytes: Uint8Array): {
|
|
48
|
+
refNameToId: Record<string, number>;
|
|
49
|
+
refIdToName: string[];
|
|
50
|
+
};
|
|
47
51
|
}
|
package/dist/indexFile.js
CHANGED
|
@@ -21,9 +21,9 @@ class IndexFile {
|
|
|
21
21
|
}
|
|
22
22
|
async parse(opts = {}) {
|
|
23
23
|
if (!this.parseP) {
|
|
24
|
-
this.parseP = this._parse(opts).catch((
|
|
24
|
+
this.parseP = this._parse(opts).catch((error) => {
|
|
25
25
|
this.parseP = undefined;
|
|
26
|
-
throw
|
|
26
|
+
throw error;
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
return this.parseP;
|
|
@@ -32,6 +32,28 @@ class IndexFile {
|
|
|
32
32
|
const idx = await this.parse(opts);
|
|
33
33
|
return !!idx.indices[seqId]?.binIndex;
|
|
34
34
|
}
|
|
35
|
+
_parseNameBytes(namesBytes) {
|
|
36
|
+
let currRefId = 0;
|
|
37
|
+
let currNameStart = 0;
|
|
38
|
+
const refIdToName = [];
|
|
39
|
+
const refNameToId = {};
|
|
40
|
+
const decoder = new TextDecoder('utf8');
|
|
41
|
+
for (let i = 0; i < namesBytes.length; i += 1) {
|
|
42
|
+
if (!namesBytes[i]) {
|
|
43
|
+
if (currNameStart < i) {
|
|
44
|
+
const refName = this.renameRefSeq(decoder.decode(namesBytes.subarray(currNameStart, i)));
|
|
45
|
+
refIdToName[currRefId] = refName;
|
|
46
|
+
refNameToId[refName] = currRefId;
|
|
47
|
+
}
|
|
48
|
+
currNameStart = i + 1;
|
|
49
|
+
currRefId += 1;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
refNameToId,
|
|
54
|
+
refIdToName,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
35
57
|
}
|
|
36
58
|
exports.default = IndexFile;
|
|
37
59
|
//# sourceMappingURL=indexFile.js.map
|
package/dist/indexFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;AAmBA,MAA8B,SAAS;IAKrC,YAAY,EACV,UAAU,EACV,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIjC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;IACnC,CAAC;IAMM,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE;QACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IASD,cAAc,CACZ,UAAqC,EACrC,aAA4B;QAE5B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,UAAU,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,aAAa,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;AAmBA,MAA8B,SAAS;IAKrC,YAAY,EACV,UAAU,EACV,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIjC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;IACnC,CAAC;IAMM,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE;QACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IASD,cAAc,CACZ,UAAqC,EACrC,aAA4B;QAE5B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,UAAU,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,aAAa,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACvD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;gBACvB,MAAM,KAAK,CAAA;YACb,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAgB,EAAE;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;IACvC,CAAC;IAED,eAAe,CAAC,UAAsB;QACpC,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,MAAM,WAAW,GAAa,EAAE,CAAA;QAChC,MAAM,WAAW,GAA2B,EAAE,CAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAC/B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CACtD,CAAA;oBACD,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;oBAChC,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;gBAClC,CAAC;gBACD,aAAa,GAAG,CAAC,GAAG,CAAC,CAAA;gBACrB,SAAS,IAAI,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QACD,OAAO;YACL,WAAW;YACX,WAAW;SACZ,CAAA;IACH,CAAC;CACF;AApFD,4BAoFC"}
|