@ruvector/ruvllm 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -21
- package/dist/cjs/engine.d.ts +6 -4
- package/dist/cjs/engine.d.ts.map +1 -1
- package/dist/cjs/engine.js +72 -21
- package/dist/cjs/native.d.ts +17 -8
- package/dist/cjs/native.d.ts.map +1 -1
- package/dist/cjs/native.js +1 -1
- package/dist/cjs/types.d.ts +11 -2
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +1 -1
- package/dist/esm/benchmarks/index.d.ts +5 -5
- package/dist/esm/benchmarks/index.js +5 -5
- package/dist/esm/benchmarks/model-comparison.d.ts +2 -2
- package/dist/esm/benchmarks/model-comparison.js +2 -2
- package/dist/esm/contrastive.d.ts +1 -1
- package/dist/esm/engine.d.ts +6 -4
- package/dist/esm/engine.d.ts.map +1 -1
- package/dist/esm/engine.js +73 -22
- package/dist/esm/export.d.ts +2 -2
- package/dist/esm/federated.d.ts +1 -1
- package/dist/esm/federated.js +1 -1
- package/dist/esm/index.d.ts +16 -16
- package/dist/esm/index.js +16 -16
- package/dist/esm/lora.d.ts +1 -1
- package/dist/esm/native.d.ts +17 -8
- package/dist/esm/native.d.ts.map +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/session.d.ts +1 -1
- package/dist/esm/simd.js +1 -1
- package/dist/esm/sona.d.ts +1 -1
- package/dist/esm/sona.js +1 -1
- package/dist/esm/streaming.d.ts +1 -1
- package/dist/esm/training.d.ts +3 -3
- package/dist/esm/training.js +2 -2
- package/dist/esm/types.d.ts +11 -2
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -1
- package/package.json +4 -2
- package/scripts/fix-esm-extensions.mjs +181 -0
- package/scripts/smoke-esm.mjs +82 -0
package/README.md
CHANGED
|
@@ -24,23 +24,23 @@ import { RuvLLM, RuvLLMConfig } from '@ruvector/ruvllm';
|
|
|
24
24
|
const llm = new RuvLLM();
|
|
25
25
|
|
|
26
26
|
// Or with custom configuration
|
|
27
|
-
const llm = new RuvLLM({
|
|
28
|
-
modelPath: './models/ruvltra-small-q4km.gguf',
|
|
29
|
-
sonaEnabled: true,
|
|
30
|
-
flashAttention: true,
|
|
31
|
-
maxTokens: 256,
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// Generate text
|
|
35
|
-
const response = await llm.query('Explain quantum computing');
|
|
36
|
-
console.log(response.text);
|
|
27
|
+
const llm = new RuvLLM({ embeddingDim: 384, learningEnabled: true });
|
|
37
28
|
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
// Routing, memory and embeddings
|
|
30
|
+
const decision = llm.route('Explain quantum computing');
|
|
31
|
+
llm.addMemory('RuvLLM routes queries with FastGRNN', { source: 'docs' });
|
|
32
|
+
const hits = llm.searchMemory('how are queries routed?', 3);
|
|
33
|
+
const vec = llm.embed('Explain quantum computing');
|
|
42
34
|
```
|
|
43
35
|
|
|
36
|
+
> **Text generation.** This package does not load model files (`modelPath` is
|
|
37
|
+
> ignored), and the native engine has no language-model weights, so the text
|
|
38
|
+
> returned by `generate()` and `query()` is not model output. The first such
|
|
39
|
+
> call emits a `RUVLLM_NO_LANGUAGE_MODEL` warning; pass `{ strict: true }` to
|
|
40
|
+
> throw instead. For GGUF inference, run the CLI (`ruvllm serve <model>`, with
|
|
41
|
+
> `--strict` to exit if the model fails to load) or any OpenAI-compatible
|
|
42
|
+
> server, and call it over HTTP.
|
|
43
|
+
|
|
44
44
|
## What's New in v2.5
|
|
45
45
|
|
|
46
46
|
| Feature | Description |
|
|
@@ -106,14 +106,20 @@ ruvllm eval --model ./models/model.gguf --subset lite --max-tasks 50
|
|
|
106
106
|
class RuvLLM {
|
|
107
107
|
constructor(config?: RuvLLMConfig);
|
|
108
108
|
|
|
109
|
-
//
|
|
110
|
-
query(
|
|
109
|
+
// Routed query; text is not model output (see "Text generation" above)
|
|
110
|
+
query(text: string, config?: GenerationConfig): QueryResponse;
|
|
111
|
+
|
|
112
|
+
// Text from the native engine; not model output (see above)
|
|
113
|
+
generate(prompt: string, config?: GenerationConfig): string;
|
|
111
114
|
|
|
112
|
-
//
|
|
113
|
-
|
|
115
|
+
// Routing, memory and embeddings
|
|
116
|
+
route(text: string): RoutingDecision;
|
|
117
|
+
addMemory(content: string, metadata?: Record<string, unknown>): MemoryId;
|
|
118
|
+
searchMemory(text: string, k?: number): MemoryResult[];
|
|
119
|
+
embed(text: string): Embedding;
|
|
114
120
|
|
|
115
|
-
//
|
|
116
|
-
|
|
121
|
+
// Not in this package: loadModel(), stream() (streaming lives in
|
|
122
|
+
// StreamingGenerator), mistral-rs backends. Use the ruvllm CLI for GGUF.
|
|
117
123
|
|
|
118
124
|
// Get SONA learning stats
|
|
119
125
|
sonaStats(): SonaStats | null;
|
|
@@ -127,7 +133,8 @@ class RuvLLM {
|
|
|
127
133
|
|
|
128
134
|
```typescript
|
|
129
135
|
interface RuvLLMConfig {
|
|
130
|
-
modelPath?: string; //
|
|
136
|
+
modelPath?: string; // Not supported: ignored with a RUVLLM_UNSUPPORTED_OPTION warning
|
|
137
|
+
strict?: boolean; // Throw instead of warning about placeholder text (default: false)
|
|
131
138
|
sonaEnabled?: boolean; // Enable SONA learning (default: true)
|
|
132
139
|
flashAttention?: boolean; // Use Flash Attention 2 (default: true)
|
|
133
140
|
maxTokens?: number; // Max generation tokens (default: 256)
|
package/dist/cjs/engine.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* RuvLLM Engine - Main orchestrator for self-learning LLM
|
|
3
3
|
*/
|
|
4
|
-
import { RuvLLMConfig, GenerationConfig, QueryResponse, RoutingDecision, MemoryResult, RuvLLMStats, Feedback, Embedding, BatchQueryRequest, BatchQueryResponse } from './types';
|
|
4
|
+
import { RuvLLMConfig, GenerationConfig, QueryResponse, RoutingDecision, MemoryResult, MemoryId, RuvLLMStats, Feedback, Embedding, BatchQueryRequest, BatchQueryResponse } from './types';
|
|
5
5
|
/**
|
|
6
6
|
* RuvLLM - Self-learning LLM orchestrator
|
|
7
7
|
*
|
|
@@ -37,8 +37,10 @@ export declare class RuvLLM {
|
|
|
37
37
|
/**
|
|
38
38
|
* Generate text with SIMD-optimized inference
|
|
39
39
|
*
|
|
40
|
-
* Note:
|
|
41
|
-
*
|
|
40
|
+
* Note: the native engine has no language-model weights, so its text is
|
|
41
|
+
* not model output; the first call emits a `RUVLLM_NO_LANGUAGE_MODEL`
|
|
42
|
+
* warning (or throws with `strict: true`). Without the native module this
|
|
43
|
+
* returns an informational message.
|
|
42
44
|
*/
|
|
43
45
|
generate(prompt: string, config?: GenerationConfig): string;
|
|
44
46
|
/**
|
|
@@ -52,7 +54,7 @@ export declare class RuvLLM {
|
|
|
52
54
|
/**
|
|
53
55
|
* Add content to memory
|
|
54
56
|
*/
|
|
55
|
-
addMemory(content: string, metadata?: Record<string, unknown>):
|
|
57
|
+
addMemory(content: string, metadata?: Record<string, unknown>): MemoryId;
|
|
56
58
|
/**
|
|
57
59
|
* Provide feedback for learning
|
|
58
60
|
*/
|
package/dist/cjs/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AA+DjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,aAAa,CAInB;IAEF;;OAEG;gBACS,MAAM,CAAC,EAAE,YAAY;IAwBjC;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,aAAa;IA6B7D;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM;IA0B3D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAsBpC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,SAAK,GAAG,YAAY,EAAE;IAmClD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAexE;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;IAO/B;;OAEG;IACH,KAAK,IAAI,WAAW;IA8BpB;;OAEG;IACH,UAAU,IAAI,MAAM;IAOpB;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAmB9B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IA6BhD;;OAEG;IACH,OAAO,IAAI,OAAO;IAOlB;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAO5B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,kBAAkB;IAS1D;;OAEG;IACH,cAAc,IAAI,OAAO;CAG1B"}
|
package/dist/cjs/engine.js
CHANGED
|
@@ -36,6 +36,24 @@ function toNativeGenConfig(config) {
|
|
|
36
36
|
repetition_penalty: config.repetitionPenalty,
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
+
const warned = new Set();
|
|
40
|
+
/** Warn once per process (or throw when `strict`). */
|
|
41
|
+
function notice(code, message, strict) {
|
|
42
|
+
if (strict)
|
|
43
|
+
throw new Error(`${code}: ${message}`);
|
|
44
|
+
if (warned.has(code))
|
|
45
|
+
return;
|
|
46
|
+
warned.add(code);
|
|
47
|
+
const g = globalThis;
|
|
48
|
+
if (typeof g.process?.emitWarning === 'function')
|
|
49
|
+
g.process.emitWarning(message, { code });
|
|
50
|
+
else
|
|
51
|
+
g.console?.warn?.(`${code}: ${message}`);
|
|
52
|
+
}
|
|
53
|
+
const NO_LM_MESSAGE = 'the native RuvLLM engine has no language-model weights, so generate()/query() text is ' +
|
|
54
|
+
'not model output. For GGUF inference use the ruvllm CLI (`ruvllm serve <model> --strict`) ' +
|
|
55
|
+
'or another OpenAI-compatible server. Routing, memory and embeddings are unaffected. ' +
|
|
56
|
+
'Pass { strict: true } to throw instead.';
|
|
39
57
|
/**
|
|
40
58
|
* RuvLLM - Self-learning LLM orchestrator
|
|
41
59
|
*
|
|
@@ -69,6 +87,13 @@ class RuvLLM {
|
|
|
69
87
|
queryCount: 0,
|
|
70
88
|
};
|
|
71
89
|
this.config = config ?? {};
|
|
90
|
+
const extra = this.config;
|
|
91
|
+
for (const key of ['modelPath', 'backend']) {
|
|
92
|
+
if (extra[key] !== undefined) {
|
|
93
|
+
notice('RUVLLM_UNSUPPORTED_OPTION', `\`${key}\` is not supported by @ruvector/ruvllm and is ignored: this package does not ` +
|
|
94
|
+
'load model files. For GGUF inference use the ruvllm CLI (`ruvllm serve <model> --strict`).', this.config.strict);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
72
97
|
const mod = (0, native_1.getNativeModule)();
|
|
73
98
|
if (mod) {
|
|
74
99
|
try {
|
|
@@ -84,14 +109,18 @@ class RuvLLM {
|
|
|
84
109
|
*/
|
|
85
110
|
query(text, config) {
|
|
86
111
|
if (this.native) {
|
|
112
|
+
notice('RUVLLM_NO_LANGUAGE_MODEL', NO_LM_MESSAGE, this.config.strict);
|
|
87
113
|
const result = this.native.query(text, toNativeGenConfig(config));
|
|
114
|
+
// napi-rs camelCases Rust field names on the way out, so the native
|
|
115
|
+
// object carries `contextSize`/`latencyMs`/`requestId`. The snake_case
|
|
116
|
+
// reads are kept as a fallback for older native builds.
|
|
88
117
|
return {
|
|
89
118
|
text: result.text,
|
|
90
119
|
confidence: result.confidence,
|
|
91
120
|
model: result.model,
|
|
92
|
-
contextSize: result.context_size,
|
|
93
|
-
latencyMs: result.latency_ms,
|
|
94
|
-
requestId: result.request_id,
|
|
121
|
+
contextSize: result.contextSize ?? result.context_size,
|
|
122
|
+
latencyMs: result.latencyMs ?? result.latency_ms,
|
|
123
|
+
requestId: result.requestId ?? result.request_id,
|
|
95
124
|
};
|
|
96
125
|
}
|
|
97
126
|
// Fallback implementation
|
|
@@ -108,11 +137,14 @@ class RuvLLM {
|
|
|
108
137
|
/**
|
|
109
138
|
* Generate text with SIMD-optimized inference
|
|
110
139
|
*
|
|
111
|
-
* Note:
|
|
112
|
-
*
|
|
140
|
+
* Note: the native engine has no language-model weights, so its text is
|
|
141
|
+
* not model output; the first call emits a `RUVLLM_NO_LANGUAGE_MODEL`
|
|
142
|
+
* warning (or throws with `strict: true`). Without the native module this
|
|
143
|
+
* returns an informational message.
|
|
113
144
|
*/
|
|
114
145
|
generate(prompt, config) {
|
|
115
146
|
if (this.native) {
|
|
147
|
+
notice('RUVLLM_NO_LANGUAGE_MODEL', NO_LM_MESSAGE, this.config.strict);
|
|
116
148
|
return this.native.generate(prompt, toNativeGenConfig(config));
|
|
117
149
|
}
|
|
118
150
|
// Fallback - provide helpful message instead of garbled output
|
|
@@ -141,9 +173,9 @@ This fallback provides routing, memory, and embedding features but not full text
|
|
|
141
173
|
const result = this.native.route(text);
|
|
142
174
|
return {
|
|
143
175
|
model: result.model,
|
|
144
|
-
contextSize: result.context_size,
|
|
176
|
+
contextSize: result.contextSize ?? result.context_size,
|
|
145
177
|
temperature: result.temperature,
|
|
146
|
-
topP: result.top_p,
|
|
178
|
+
topP: result.topP ?? result.top_p,
|
|
147
179
|
confidence: result.confidence,
|
|
148
180
|
};
|
|
149
181
|
}
|
|
@@ -162,12 +194,24 @@ This fallback provides routing, memory, and embedding features but not full text
|
|
|
162
194
|
searchMemory(text, k = 10) {
|
|
163
195
|
if (this.native) {
|
|
164
196
|
const results = this.native.searchMemory(text, k);
|
|
165
|
-
return results.map(r =>
|
|
166
|
-
|
|
167
|
-
score
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
197
|
+
return results.map(r => {
|
|
198
|
+
// The native side reports `distance` (smaller is closer). MemoryResult
|
|
199
|
+
// documents `score` as a similarity, so convert rather than passing a
|
|
200
|
+
// distance through under a similarity's name. Older builds that already
|
|
201
|
+
// emit `score` are used as-is.
|
|
202
|
+
const anyR = r;
|
|
203
|
+
const score = typeof anyR.score === 'number'
|
|
204
|
+
? anyR.score
|
|
205
|
+
: typeof anyR.distance === 'number'
|
|
206
|
+
? 1 / (1 + Math.max(0, anyR.distance))
|
|
207
|
+
: 0;
|
|
208
|
+
return {
|
|
209
|
+
id: r.id,
|
|
210
|
+
score,
|
|
211
|
+
content: r.content,
|
|
212
|
+
metadata: JSON.parse(r.metadata || '{}'),
|
|
213
|
+
};
|
|
214
|
+
});
|
|
171
215
|
}
|
|
172
216
|
// Fallback - simple search
|
|
173
217
|
return Array.from(this.fallbackState.memory.entries())
|
|
@@ -213,12 +257,15 @@ This fallback provides routing, memory, and embedding features but not full text
|
|
|
213
257
|
// Map native stats (snake_case) to TypeScript interface (camelCase)
|
|
214
258
|
// Handle both old and new field names for backward compatibility
|
|
215
259
|
return {
|
|
216
|
-
totalQueries: s.total_queries ?? 0,
|
|
217
|
-
memoryNodes: s.memory_nodes ?? 0,
|
|
218
|
-
patternsLearned: s.
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
260
|
+
totalQueries: s.totalQueries ?? s.total_queries ?? 0,
|
|
261
|
+
memoryNodes: s.memoryNodes ?? s.memory_nodes ?? 0,
|
|
262
|
+
patternsLearned: s.trainingSteps ??
|
|
263
|
+
s.patterns_learned ??
|
|
264
|
+
s.training_steps ??
|
|
265
|
+
0,
|
|
266
|
+
avgLatencyMs: s.avgLatencyMs ?? s.avg_latency_ms ?? 0,
|
|
267
|
+
cacheHitRate: s.cacheHitRate ?? s.cache_hit_rate ?? 0,
|
|
268
|
+
routerAccuracy: s.routerAccuracy ?? s.router_accuracy ?? 0.5,
|
|
222
269
|
};
|
|
223
270
|
}
|
|
224
271
|
// Fallback
|
|
@@ -263,7 +310,11 @@ This fallback provides routing, memory, and embedding features but not full text
|
|
|
263
310
|
*/
|
|
264
311
|
similarity(text1, text2) {
|
|
265
312
|
if (this.native) {
|
|
266
|
-
|
|
313
|
+
// f32 accumulation can land just outside the mathematical range — an
|
|
314
|
+
// identical pair measures 1.0000001 — which turns Math.acos(sim) into
|
|
315
|
+
// NaN downstream. Cosine similarity is defined on [-1, 1], so clamp.
|
|
316
|
+
const raw = this.native.similarity(text1, text2);
|
|
317
|
+
return Math.min(1, Math.max(-1, raw));
|
|
267
318
|
}
|
|
268
319
|
// Fallback - cosine similarity
|
|
269
320
|
const emb1 = this.embed(text1);
|
|
@@ -318,4 +369,4 @@ This fallback provides routing, memory, and embedding features but not full text
|
|
|
318
369
|
}
|
|
319
370
|
}
|
|
320
371
|
exports.RuvLLM = RuvLLM;
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VuZ2luZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQWVILHFDQUtrQjtBQUVsQjs7R0FFRztBQUNILFNBQVMsY0FBYyxDQUFDLE1BQXFCO0lBQzNDLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFOUIsT0FBTztRQUNMLGFBQWEsRUFBRSxNQUFNLENBQUMsWUFBWTtRQUNsQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsZUFBZTtRQUN6QyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDcEIsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtRQUMvQyxjQUFjLEVBQUUsTUFBTSxDQUFDLFlBQVk7UUFDbkMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGVBQWU7UUFDeEMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtRQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVM7S0FDN0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsTUFBeUI7SUFDbEQsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUU5QixPQUFPO1FBQ0wsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTO1FBQzVCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDbEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ2xCLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7S0FDN0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQWEsTUFBTTtJQVdqQjs7T0FFRztJQUNILFlBQVksTUFBcUI7UUFiekIsV0FBTSxHQUF3QixJQUFJLENBQUM7UUFHM0MseURBQXlEO1FBQ2pELGtCQUFhLEdBQUc7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OztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxPQUEwQjtRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPO1lBQ0wsU0FBUztZQUNULGNBQWMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSztTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBblNELHdCQW1TQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnV2TExNIEVuZ2luZSAtIE1haW4gb3JjaGVzdHJhdG9yIGZvciBzZWxmLWxlYXJuaW5nIExMTVxuICovXG5cbmltcG9ydCB7XG4gIFJ1dkxMTUNvbmZpZyxcbiAgR2VuZXJhdGlvbkNvbmZpZyxcbiAgUXVlcnlSZXNwb25zZSxcbiAgUm91dGluZ0RlY2lzaW9uLFxuICBNZW1vcnlSZXN1bHQsXG4gIFJ1dkxMTVN0YXRzLFxuICBGZWVkYmFjayxcbiAgRW1iZWRkaW5nLFxuICBCYXRjaFF1ZXJ5UmVxdWVzdCxcbiAgQmF0Y2hRdWVyeVJlc3BvbnNlLFxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmF0aXZlTW9kdWxlLFxuICBOYXRpdmVFbmdpbmUsXG4gIE5hdGl2ZUNvbmZpZyxcbiAgTmF0aXZlR2VuQ29uZmlnLFxufSBmcm9tICcuL25hdGl2ZSc7XG5cbi8qKlxuICogQ29udmVydCBKUyBjb25maWcgdG8gbmF0aXZlIGNvbmZpZyBmb3JtYXRcbiAqL1xuZnVuY3Rpb24gdG9OYXRpdmVDb25maWcoY29uZmlnPzogUnV2TExNQ29uZmlnKTogTmF0aXZlQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFjb25maWcpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIHtcbiAgICBlbWJlZGRpbmdfZGltOiBjb25maWcuZW1iZWRkaW5nRGltLFxuICAgIHJvdXRlcl9oaWRkZW5fZGltOiBjb25maWcucm91dGVySGlkZGVuRGltLFxuICAgIGhuc3dfbTogY29uZmlnLmhuc3dNLFxuICAgIGhuc3dfZWZfY29uc3RydWN0aW9uOiBjb25maWcuaG5zd0VmQ29uc3RydWN0aW9uLFxuICAgIGhuc3dfZWZfc2VhcmNoOiBjb25maWcuaG5zd0VmU2VhcmNoLFxuICAgIGxlYXJuaW5nX2VuYWJsZWQ6IGNvbmZpZy5sZWFybmluZ0VuYWJsZWQsXG4gICAgcXVhbGl0eV90aHJlc2hvbGQ6IGNvbmZpZy5xdWFsaXR5VGhyZXNob2xkLFxuICAgIGV3Y19sYW1iZGE6IGNvbmZpZy5ld2NMYW1iZGEsXG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydCBKUyBnZW5lcmF0aW9uIGNvbmZpZyB0byBuYXRpdmUgZm9ybWF0XG4gKi9cbmZ1bmN0aW9uIHRvTmF0aXZlR2VuQ29uZmlnKGNvbmZpZz86IEdlbmVyYXRpb25Db25maWcpOiBOYXRpdmVHZW5Db25maWcgfCB1bmRlZmluZWQge1xuICBpZiAoIWNvbmZpZykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICByZXR1cm4ge1xuICAgIG1heF90b2tlbnM6IGNvbmZpZy5tYXhUb2tlbnMsXG4gICAgdGVtcGVyYXR1cmU6IGNvbmZpZy50ZW1wZXJhdHVyZSxcbiAgICB0b3BfcDogY29uZmlnLnRvcFAsXG4gICAgdG9wX2s6IGNvbmZpZy50b3BLLFxuICAgIHJlcGV0aXRpb25fcGVuYWx0eTogY29uZmlnLnJlcGV0aXRpb25QZW5hbHR5LFxuICB9O1xufVxuXG4vKipcbiAqIFJ1dkxMTSAtIFNlbGYtbGVhcm5pbmcgTExNIG9yY2hlc3RyYXRvclxuICpcbiAqIENvbWJpbmVzIFNPTkEgYWRhcHRpdmUgbGVhcm5pbmcgd2l0aCBITlNXIG1lbW9yeSxcbiAqIEZhc3RHUk5OIHJvdXRpbmcsIGFuZCBTSU1ELW9wdGltaXplZCBpbmZlcmVuY2UuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IFJ1dkxMTSB9IGZyb20gJ0BydXZlY3Rvci9ydXZsbG0nO1xuICpcbiAqIGNvbnN0IGxsbSA9IG5ldyBSdXZMTE0oeyBlbWJlZGRpbmdEaW06IDc2OCB9KTtcbiAqXG4gKiAvLyBRdWVyeSB3aXRoIGF1dG9tYXRpYyByb3V0aW5nXG4gKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IGxsbS5xdWVyeSgnV2hhdCBpcyBtYWNoaW5lIGxlYXJuaW5nPycpO1xuICogY29uc29sZS5sb2cocmVzcG9uc2UudGV4dCk7XG4gKlxuICogLy8gUHJvdmlkZSBmZWVkYmFjayBmb3IgbGVhcm5pbmdcbiAqIGxsbS5mZWVkYmFjayh7IHJlcXVlc3RJZDogcmVzcG9uc2UucmVxdWVzdElkLCByYXRpbmc6IDUgfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFJ1dkxMTSB7XG4gIHByaXZhdGUgbmF0aXZlOiBOYXRpdmVFbmdpbmUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjb25maWc6IFJ1dkxMTUNvbmZpZztcblxuICAvLyBGYWxsYmFjayBzdGF0ZSBmb3Igd2hlbiBuYXRpdmUgbW9kdWxlIGlzIG5vdCBhdmFpbGFibGVcbiAgcHJpdmF0ZSBmYWxsYmFja1N0YXRlID0ge1xuICAgIG1lbW9yeTogbmV3IE1hcDxudW1iZXIsIHsgY29udGVudDogc3RyaW5nOyBlbWJlZGRpbmc6IG51bWJlcltdOyBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfT4oKSxcbiAgICBuZXh0SWQ6IDEsXG4gICAgcXVlcnlDb3VudDogMCxcbiAgfTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IFJ1dkxMTSBpbnN0YW5jZVxuICAgKi9cbiAgY29uc3RydWN0b3IoY29uZmlnPzogUnV2TExNQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWcgPz8ge307XG5cbiAgICBjb25zdCBtb2QgPSBnZXROYXRpdmVNb2R1bGUoKTtcbiAgICBpZiAobW9kKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5ldyBtb2QuUnV2TExNRW5naW5lKHRvTmF0aXZlQ29uZmlnKGNvbmZpZykpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIFNpbGVudGx5IGZhbGwgYmFjayB0byBKUyBpbXBsZW1lbnRhdGlvblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBRdWVyeSB0aGUgTExNIHdpdGggYXV0b21hdGljIHJvdXRpbmdcbiAgICovXG4gIHF1ZXJ5KHRleHQ6IHN0cmluZywgY29uZmlnPzogR2VuZXJhdGlvbkNvbmZpZyk6IFF1ZXJ5UmVzcG9uc2Uge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5uYXRpdmUucXVlcnkodGV4dCwgdG9OYXRpdmVHZW5Db25maWcoY29uZmlnKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0ZXh0OiByZXN1bHQudGV4dCxcbiAgICAgICAgY29uZmlkZW5jZTogcmVzdWx0LmNvbmZpZGVuY2UsXG4gICAgICAgIG1vZGVsOiByZXN1bHQubW9kZWwsXG4gICAgICAgIGNvbnRleHRTaXplOiByZXN1bHQuY29udGV4dF9zaXplLFxuICAgICAgICBsYXRlbmN5TXM6IHJlc3VsdC5sYXRlbmN5X21zLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlc3VsdC5yZXF1ZXN0X2lkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayBpbXBsZW1lbnRhdGlvblxuICAgIHRoaXMuZmFsbGJhY2tTdGF0ZS5xdWVyeUNvdW50Kys7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IGBbRmFsbGJhY2tdIFJlc3BvbnNlIHRvOiAke3RleHQuc2xpY2UoMCwgNTApfS4uLmAsXG4gICAgICBjb25maWRlbmNlOiAwLjUsXG4gICAgICBtb2RlbDogJ2ZhbGxiYWNrJyxcbiAgICAgIGNvbnRleHRTaXplOiA1MTIsXG4gICAgICBsYXRlbmN5TXM6IDEuMCxcbiAgICAgIHJlcXVlc3RJZDogYGZiLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKX1gLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGV4dCB3aXRoIFNJTUQtb3B0aW1pemVkIGluZmVyZW5jZVxuICAgKlxuICAgKiBOb3RlOiBJZiBubyB0cmFpbmVkIG1vZGVsIGlzIGxvYWRlZCAoZGVtbyBtb2RlKSwgcmV0dXJucyBhbiBpbmZvcm1hdGlvbmFsXG4gICAqIG1lc3NhZ2UgaW5zdGVhZCBvZiBnYXJibGVkIG91dHB1dC5cbiAgICovXG4gIGdlbmVyYXRlKHByb21wdDogc3RyaW5nLCBjb25maWc/OiBHZW5lcmF0aW9uQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5uYXRpdmUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZW5lcmF0ZShwcm9tcHQsIHRvTmF0aXZlR2VuQ29uZmlnKGNvbmZpZykpO1xuICAgIH1cblxuICAgIC8vIEZhbGxiYWNrIC0gcHJvdmlkZSBoZWxwZnVsIG1lc3NhZ2UgaW5zdGVhZCBvZiBnYXJibGVkIG91dHB1dFxuICAgIGNvbnN0IG1heFRva2VucyA9IGNvbmZpZz8ubWF4VG9rZW5zID8/IDI1NjtcbiAgICBjb25zdCB0ZW1wID0gY29uZmlnPy50ZW1wZXJhdHVyZSA/PyAwLjc7XG4gICAgY29uc3QgdG9wUCA9IGNvbmZpZz8udG9wUCA/PyAwLjk7XG5cbiAgICByZXR1cm4gYFtSdXZMTE0gSmF2YVNjcmlwdCBGYWxsYmFjayBNb2RlXVxuTm8gbmF0aXZlIFNJTUQgbW9kdWxlIGxvYWRlZC4gUnVubmluZyBpbiBKYXZhU2NyaXB0IGZhbGxiYWNrIG1vZGUuXG5cbllvdXIgcHJvbXB0OiBcIiR7cHJvbXB0LnNsaWNlKDAsIDEwMCl9JHtwcm9tcHQubGVuZ3RoID4gMTAwID8gJy4uLicgOiAnJ31cIlxuXG5UbyBlbmFibGUgbmF0aXZlIFNJTUQgaW5mZXJlbmNlOlxuMS4gSW5zdGFsbCB0aGUgbmF0aXZlIGJpbmRpbmdzOiBucG0gaW5zdGFsbCBAcnV2ZWN0b3IvcnV2bGxtLSR7cHJvY2Vzcy5wbGF0Zm9ybX0tJHtwcm9jZXNzLmFyY2h9XG4yLiBPciBsb2FkIGEgR0dVRiBtb2RlbCBmaWxlXG4zLiBPciBjb25uZWN0IHRvIGFuIGV4dGVybmFsIExMTSBBUElcblxuQ29uZmlnOiB0ZW1wPSR7dGVtcC50b0ZpeGVkKDIpfSwgdG9wX3A9JHt0b3BQLnRvRml4ZWQoMil9LCBtYXhfdG9rZW5zPSR7bWF4VG9rZW5zfVxuXG5UaGlzIGZhbGxiYWNrIHByb3ZpZGVzIHJvdXRpbmcsIG1lbW9yeSwgYW5kIGVtYmVkZGluZyBmZWF0dXJlcyBidXQgbm90IGZ1bGwgdGV4dCBnZW5lcmF0aW9uLmA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHJvdXRpbmcgZGVjaXNpb24gZm9yIGEgcXVlcnlcbiAgICovXG4gIHJvdXRlKHRleHQ6IHN0cmluZyk6IFJvdXRpbmdEZWNpc2lvbiB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLm5hdGl2ZS5yb3V0ZSh0ZXh0KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGVsOiByZXN1bHQubW9kZWwgYXMgYW55LFxuICAgICAgICBjb250ZXh0U2l6ZTogcmVzdWx0LmNvbnRleHRfc2l6ZSxcbiAgICAgICAgdGVtcGVyYXR1cmU6IHJlc3VsdC50ZW1wZXJhdHVyZSxcbiAgICAgICAgdG9wUDogcmVzdWx0LnRvcF9wLFxuICAgICAgICBjb25maWRlbmNlOiByZXN1bHQuY29uZmlkZW5jZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2tcbiAgICByZXR1cm4ge1xuICAgICAgbW9kZWw6ICdNNzAwJyxcbiAgICAgIGNvbnRleHRTaXplOiA1MTIsXG4gICAgICB0ZW1wZXJhdHVyZTogMC43LFxuICAgICAgdG9wUDogMC45LFxuICAgICAgY29uZmlkZW5jZTogMC41LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIG1lbW9yeSBmb3Igc2ltaWxhciBjb250ZW50XG4gICAqL1xuICBzZWFyY2hNZW1vcnkodGV4dDogc3RyaW5nLCBrID0gMTApOiBNZW1vcnlSZXN1bHRbXSB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5uYXRpdmUuc2VhcmNoTWVtb3J5KHRleHQsIGspO1xuICAgICAgcmV0dXJuIHJlc3VsdHMubWFwKHIgPT4gKHtcbiAgICAgICAgaWQ6IHIuaWQsXG4gICAgICAgIHNjb3JlOiByLnNjb3JlLFxuICAgICAgICBjb250ZW50OiByLmNvbnRlbnQsXG4gICAgICAgIG1ldGFkYXRhOiBKU09OLnBhcnNlKHIubWV0YWRhdGEgfHwgJ3t9JyksXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2sgLSBzaW1wbGUgc2VhcmNoXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5mYWxsYmFja1N0YXRlLm1lbW9yeS5lbnRyaWVzKCkpXG4gICAgICAuc2xpY2UoMCwgaylcbiAgICAgIC5tYXAoKFtpZCwgZGF0YV0pID0+ICh7XG4gICAgICAgIGlkLFxuICAgICAgICBzY29yZTogMC41LFxuICAgICAgICBjb250ZW50OiBkYXRhLmNvbnRlbnQsXG4gICAgICAgIG1ldGFkYXRhOiBkYXRhLm1ldGFkYXRhLFxuICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBjb250ZW50IHRvIG1lbW9yeVxuICAgKi9cbiAgYWRkTWVtb3J5KGNvbnRlbnQ6IHN0cmluZywgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICByZXR1cm4gdGhpcy5uYXRpdmUuYWRkTWVtb3J5KGNvbnRlbnQsIG1ldGFkYXRhID8gSlNPTi5zdHJpbmdpZnkobWV0YWRhdGEpIDogdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFja1xuICAgIGNvbnN0IGlkID0gdGhpcy5mYWxsYmFja1N0YXRlLm5leHRJZCsrO1xuICAgIHRoaXMuZmFsbGJhY2tTdGF0ZS5tZW1vcnkuc2V0KGlkLCB7XG4gICAgICBjb250ZW50LFxuICAgICAgZW1iZWRkaW5nOiB0aGlzLmVtYmVkKGNvbnRlbnQpLFxuICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhID8/IHt9LFxuICAgIH0pO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlIGZlZWRiYWNrIGZvciBsZWFybmluZ1xuICAgKi9cbiAgZmVlZGJhY2soZmI6IEZlZWRiYWNrKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZmVlZGJhY2soZmIucmVxdWVzdElkLCBmYi5yYXRpbmcsIGZiLmNvcnJlY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGVuZ2luZSBzdGF0aXN0aWNzXG4gICAqL1xuICBzdGF0cygpOiBSdXZMTE1TdGF0cyB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICBjb25zdCBzID0gdGhpcy5uYXRpdmUuc3RhdHMoKTtcbiAgICAgIC8vIE1hcCBuYXRpdmUgc3RhdHMgKHNuYWtlX2Nhc2UpIHRvIFR5cGVTY3JpcHQgaW50ZXJmYWNlIChjYW1lbENhc2UpXG4gICAgICAvLyBIYW5kbGUgYm90aCBvbGQgYW5kIG5ldyBmaWVsZCBuYW1lcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdG90YWxRdWVyaWVzOiBzLnRvdGFsX3F1ZXJpZXMgPz8gMCxcbiAgICAgICAgbWVtb3J5Tm9kZXM6IHMubWVtb3J5X25vZGVzID8/IDAsXG4gICAgICAgIHBhdHRlcm5zTGVhcm5lZDogcy5wYXR0ZXJuc19sZWFybmVkID8/IChzIGFzIGFueSkudHJhaW5pbmdfc3RlcHMgPz8gMCxcbiAgICAgICAgYXZnTGF0ZW5jeU1zOiBzLmF2Z19sYXRlbmN5X21zID8/IDAsXG4gICAgICAgIGNhY2hlSGl0UmF0ZTogcy5jYWNoZV9oaXRfcmF0ZSA/PyAwLFxuICAgICAgICByb3V0ZXJBY2N1cmFjeTogcy5yb3V0ZXJfYWNjdXJhY3kgPz8gMC41LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFja1xuICAgIHJldHVybiB7XG4gICAgICB0b3RhbFF1ZXJpZXM6IHRoaXMuZmFsbGJhY2tTdGF0ZS5xdWVyeUNvdW50LFxuICAgICAgbWVtb3J5Tm9kZXM6IHRoaXMuZmFsbGJhY2tTdGF0ZS5tZW1vcnkuc2l6ZSxcbiAgICAgIHBhdHRlcm5zTGVhcm5lZDogMCxcbiAgICAgIGF2Z0xhdGVuY3lNczogMS4wLFxuICAgICAgY2FjaGVIaXRSYXRlOiAwLjAsXG4gICAgICByb3V0ZXJBY2N1cmFjeTogMC41LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRm9yY2Ugcm91dGVyIGxlYXJuaW5nIGN5Y2xlXG4gICAqL1xuICBmb3JjZUxlYXJuKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZm9yY2VMZWFybigpO1xuICAgIH1cbiAgICByZXR1cm4gJ0xlYXJuaW5nIG5vdCBhdmFpbGFibGUgaW4gZmFsbGJhY2sgbW9kZSc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGVtYmVkZGluZyBmb3IgdGV4dFxuICAgKi9cbiAgZW1iZWQodGV4dDogc3RyaW5nKTogRW1iZWRkaW5nIHtcbiAgICBpZiAodGhpcy5uYXRpdmUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5lbWJlZCh0ZXh0KTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayAtIHNpbXBsZSBoYXNoLWJhc2VkIGVtYmVkZGluZ1xuICAgIGNvbnN0IGRpbSA9IHRoaXMuY29uZmlnLmVtYmVkZGluZ0RpbSA/PyA3Njg7XG4gICAgY29uc3QgZW1iZWRkaW5nID0gbmV3IEFycmF5KGRpbSkuZmlsbCgwKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGV4dC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaWR4ID0gKHRleHQuY2hhckNvZGVBdChpKSAqIChpICsgMSkpICUgZGltO1xuICAgICAgZW1iZWRkaW5nW2lkeF0gKz0gMC4xO1xuICAgIH1cblxuICAgIC8vIE5vcm1hbGl6ZVxuICAgIGNvbnN0IG5vcm0gPSBNYXRoLnNxcnQoZW1iZWRkaW5nLnJlZHVjZSgoc3VtLCB4KSA9PiBzdW0gKyB4ICogeCwgMCkpIHx8IDE7XG4gICAgcmV0dXJuIGVtYmVkZGluZy5tYXAoeCA9PiB4IC8gbm9ybSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZSBzaW1pbGFyaXR5IGJldHdlZW4gdHdvIHRleHRzXG4gICAqL1xuICBzaW1pbGFyaXR5KHRleHQxOiBzdHJpbmcsIHRleHQyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnNpbWlsYXJpdHkodGV4dDEsIHRleHQyKTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayAtIGNvc2luZSBzaW1pbGFyaXR5XG4gICAgY29uc3QgZW1iMSA9IHRoaXMuZW1iZWQodGV4dDEpO1xuICAgIGNvbnN0IGVtYjIgPSB0aGlzLmVtYmVkKHRleHQyKTtcblxuICAgIGxldCBkb3QgPSAwO1xuICAgIGxldCBub3JtMSA9IDA7XG4gICAgbGV0IG5vcm0yID0gMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZW1iMS5sZW5ndGg7IGkrKykge1xuICAgICAgZG90ICs9IGVtYjFbaV0gKiBlbWIyW2ldO1xuICAgICAgbm9ybTEgKz0gZW1iMVtpXSAqIGVtYjFbaV07XG4gICAgICBub3JtMiArPSBlbWIyW2ldICogZW1iMltpXTtcbiAgICB9XG5cbiAgICBjb25zdCBkZW5vbSA9IE1hdGguc3FydChub3JtMSkgKiBNYXRoLnNxcnQobm9ybTIpO1xuICAgIGNvbnN0IHNpbWlsYXJpdHkgPSBkZW5vbSA+IDAgPyBkb3QgLyBkZW5vbSA6IDA7XG4gICAgLy8gQ2xhbXAgdG8gWzAsIDFdIHRvIGhhbmRsZSBmbG9hdGluZyBwb2ludCBlcnJvcnNcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgc2ltaWxhcml0eSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIFNJTUQgaXMgYXZhaWxhYmxlXG4gICAqL1xuICBoYXNTaW1kKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmhhc1NpbWQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBTSU1EIGNhcGFiaWxpdGllc1xuICAgKi9cbiAgc2ltZENhcGFiaWxpdGllcygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICByZXR1cm4gdGhpcy5uYXRpdmUuc2ltZENhcGFiaWxpdGllcygpO1xuICAgIH1cbiAgICByZXR1cm4gWydTY2FsYXIgKGZhbGxiYWNrKSddO1xuICB9XG5cbiAgLyoqXG4gICAqIEJhdGNoIHF1ZXJ5IG11bHRpcGxlIHByb21wdHNcbiAgICovXG4gIGJhdGNoUXVlcnkocmVxdWVzdDogQmF0Y2hRdWVyeVJlcXVlc3QpOiBCYXRjaFF1ZXJ5UmVzcG9uc2Uge1xuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCByZXNwb25zZXMgPSByZXF1ZXN0LnF1ZXJpZXMubWFwKHEgPT4gdGhpcy5xdWVyeShxLCByZXF1ZXN0LmNvbmZpZykpO1xuICAgIHJldHVybiB7XG4gICAgICByZXNwb25zZXMsXG4gICAgICB0b3RhbExhdGVuY3lNczogRGF0ZS5ub3coKSAtIHN0YXJ0LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbmF0aXZlIG1vZHVsZSBpcyBsb2FkZWRcbiAgICovXG4gIGlzTmF0aXZlTG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZSAhPT0gbnVsbDtcbiAgfVxufVxuIl19
|
|
372
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VuZ2luZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQWdCSCxxQ0FLa0I7QUFFbEI7O0dBRUc7QUFDSCxTQUFTLGNBQWMsQ0FBQyxNQUFxQjtJQUMzQyxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRTlCLE9BQU87UUFDTCxhQUFhLEVBQUUsTUFBTSxDQUFDLFlBQVk7UUFDbEMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGVBQWU7UUFDekMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ3BCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7UUFDL0MsY0FBYyxFQUFFLE1BQU0sQ0FBQyxZQUFZO1FBQ25DLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxlQUFlO1FBQ3hDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDMUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTO0tBQzdCLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE1BQXlCO0lBQ2xELElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFOUIsT0FBTztRQUNMLFVBQVUsRUFBRSxNQUFNLENBQUMsU0FBUztRQUM1QixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDL0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ2xCLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSTtRQUNsQixrQkFBa0IsRUFBRSxNQUFNLENBQUMsaUJBQWlCO0tBQzdDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUVqQyxzREFBc0Q7QUFDdEQsU0FBUyxNQUFNLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxNQUEyQjtJQUN4RSxJQUFJLE1BQU07UUFBRSxNQUFNLElB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O1lBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsT0FBMEI7UUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTztZQUNMLFNBQVM7WUFDVCxjQUFjLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUs7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQTFVRCx3QkEwVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJ1dkxMTSBFbmdpbmUgLSBNYWluIG9yY2hlc3RyYXRvciBmb3Igc2VsZi1sZWFybmluZyBMTE1cbiAqL1xuXG5pbXBvcnQge1xuICBSdXZMTE1Db25maWcsXG4gIEdlbmVyYXRpb25Db25maWcsXG4gIFF1ZXJ5UmVzcG9uc2UsXG4gIFJvdXRpbmdEZWNpc2lvbixcbiAgTWVtb3J5UmVzdWx0LFxuICBNZW1vcnlJZCxcbiAgUnV2TExNU3RhdHMsXG4gIEZlZWRiYWNrLFxuICBFbWJlZGRpbmcsXG4gIEJhdGNoUXVlcnlSZXF1ZXN0LFxuICBCYXRjaFF1ZXJ5UmVzcG9uc2UsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5pbXBvcnQge1xuICBnZXROYXRpdmVNb2R1bGUsXG4gIE5hdGl2ZUVuZ2luZSxcbiAgTmF0aXZlQ29uZmlnLFxuICBOYXRpdmVHZW5Db25maWcsXG59IGZyb20gJy4vbmF0aXZlJztcblxuLyoqXG4gKiBDb252ZXJ0IEpTIGNvbmZpZyB0byBuYXRpdmUgY29uZmlnIGZvcm1hdFxuICovXG5mdW5jdGlvbiB0b05hdGl2ZUNvbmZpZyhjb25maWc/OiBSdXZMTE1Db25maWcpOiBOYXRpdmVDb25maWcgfCB1bmRlZmluZWQge1xuICBpZiAoIWNvbmZpZykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICByZXR1cm4ge1xuICAgIGVtYmVkZGluZ19kaW06IGNvbmZpZy5lbWJlZGRpbmdEaW0sXG4gICAgcm91dGVyX2hpZGRlbl9kaW06IGNvbmZpZy5yb3V0ZXJIaWRkZW5EaW0sXG4gICAgaG5zd19tOiBjb25maWcuaG5zd00sXG4gICAgaG5zd19lZl9jb25zdHJ1Y3Rpb246IGNvbmZpZy5obnN3RWZDb25zdHJ1Y3Rpb24sXG4gICAgaG5zd19lZl9zZWFyY2g6IGNvbmZpZy5obnN3RWZTZWFyY2gsXG4gICAgbGVhcm5pbmdfZW5hYmxlZDogY29uZmlnLmxlYXJuaW5nRW5hYmxlZCxcbiAgICBxdWFsaXR5X3RocmVzaG9sZDogY29uZmlnLnF1YWxpdHlUaHJlc2hvbGQsXG4gICAgZXdjX2xhbWJkYTogY29uZmlnLmV3Y0xhbWJkYSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IEpTIGdlbmVyYXRpb24gY29uZmlnIHRvIG5hdGl2ZSBmb3JtYXRcbiAqL1xuZnVuY3Rpb24gdG9OYXRpdmVHZW5Db25maWcoY29uZmlnPzogR2VuZXJhdGlvbkNvbmZpZyk6IE5hdGl2ZUdlbkNvbmZpZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghY29uZmlnKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIHJldHVybiB7XG4gICAgbWF4X3Rva2VuczogY29uZmlnLm1heFRva2VucyxcbiAgICB0ZW1wZXJhdHVyZTogY29uZmlnLnRlbXBlcmF0dXJlLFxuICAgIHRvcF9wOiBjb25maWcudG9wUCxcbiAgICB0b3BfazogY29uZmlnLnRvcEssXG4gICAgcmVwZXRpdGlvbl9wZW5hbHR5OiBjb25maWcucmVwZXRpdGlvblBlbmFsdHksXG4gIH07XG59XG5cbmNvbnN0IHdhcm5lZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4vKiogV2FybiBvbmNlIHBlciBwcm9jZXNzIChvciB0aHJvdyB3aGVuIGBzdHJpY3RgKS4gKi9cbmZ1bmN0aW9uIG5vdGljZShjb2RlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgc3RyaWN0OiBib29sZWFuIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gIGlmIChzdHJpY3QpIHRocm93IG5ldyBFcnJvcihgJHtjb2RlfTogJHttZXNzYWdlfWApO1xuICBpZiAod2FybmVkLmhhcyhjb2RlKSkgcmV0dXJuO1xuICB3YXJuZWQuYWRkKGNvZGUpO1xuICBjb25zdCBnID0gZ2xvYmFsVGhpcyBhcyB1bmtub3duIGFzIHtcbiAgICBwcm9jZXNzPzogeyBlbWl0V2FybmluZz86IChtOiBzdHJpbmcsIG8/OiB7IGNvZGU/OiBzdHJpbmcgfSkgPT4gdm9pZCB9O1xuICAgIGNvbnNvbGU/OiB7IHdhcm4/OiAobTogc3RyaW5nKSA9PiB2b2lkIH07XG4gIH07XG4gIGlmICh0eXBlb2YgZy5wcm9jZXNzPy5lbWl0V2FybmluZyA9PT0gJ2Z1bmN0aW9uJykgZy5wcm9jZXNzLmVtaXRXYXJuaW5nKG1lc3NhZ2UsIHsgY29kZSB9KTtcbiAgZWxzZSBnLmNvbnNvbGU/Lndhcm4/LihgJHtjb2RlfTogJHttZXNzYWdlfWApO1xufVxuXG5jb25zdCBOT19MTV9NRVNTQUdFID1cbiAgJ3RoZSBuYXRpdmUgUnV2TExNIGVuZ2luZSBoYXMgbm8gbGFuZ3VhZ2UtbW9kZWwgd2VpZ2h0cywgc28gZ2VuZXJhdGUoKS9xdWVyeSgpIHRleHQgaXMgJyArXG4gICdub3QgbW9kZWwgb3V0cHV0LiBGb3IgR0dVRiBpbmZlcmVuY2UgdXNlIHRoZSBydXZsbG0gQ0xJIChgcnV2bGxtIHNlcnZlIDxtb2RlbD4gLS1zdHJpY3RgKSAnICtcbiAgJ29yIGFub3RoZXIgT3BlbkFJLWNvbXBhdGlibGUgc2VydmVyLiBSb3V0aW5nLCBtZW1vcnkgYW5kIGVtYmVkZGluZ3MgYXJlIHVuYWZmZWN0ZWQuICcgK1xuICAnUGFzcyB7IHN0cmljdDogdHJ1ZSB9IHRvIHRocm93IGluc3RlYWQuJztcblxuLyoqXG4gKiBSdXZMTE0gLSBTZWxmLWxlYXJuaW5nIExMTSBvcmNoZXN0cmF0b3JcbiAqXG4gKiBDb21iaW5lcyBTT05BIGFkYXB0aXZlIGxlYXJuaW5nIHdpdGggSE5TVyBtZW1vcnksXG4gKiBGYXN0R1JOTiByb3V0aW5nLCBhbmQgU0lNRC1vcHRpbWl6ZWQgaW5mZXJlbmNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBSdXZMTE0gfSBmcm9tICdAcnV2ZWN0b3IvcnV2bGxtJztcbiAqXG4gKiBjb25zdCBsbG0gPSBuZXcgUnV2TExNKHsgZW1iZWRkaW5nRGltOiA3NjggfSk7XG4gKlxuICogLy8gUXVlcnkgd2l0aCBhdXRvbWF0aWMgcm91dGluZ1xuICogY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBsbG0ucXVlcnkoJ1doYXQgaXMgbWFjaGluZSBsZWFybmluZz8nKTtcbiAqIGNvbnNvbGUubG9nKHJlc3BvbnNlLnRleHQpO1xuICpcbiAqIC8vIFByb3ZpZGUgZmVlZGJhY2sgZm9yIGxlYXJuaW5nXG4gKiBsbG0uZmVlZGJhY2soeyByZXF1ZXN0SWQ6IHJlc3BvbnNlLnJlcXVlc3RJZCwgcmF0aW5nOiA1IH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBSdXZMTE0ge1xuICBwcml2YXRlIG5hdGl2ZTogTmF0aXZlRW5naW5lIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29uZmlnOiBSdXZMTE1Db25maWc7XG5cbiAgLy8gRmFsbGJhY2sgc3RhdGUgZm9yIHdoZW4gbmF0aXZlIG1vZHVsZSBpcyBub3QgYXZhaWxhYmxlXG4gIHByaXZhdGUgZmFsbGJhY2tTdGF0ZSA9IHtcbiAgICBtZW1vcnk6IG5ldyBNYXA8bnVtYmVyLCB7IGNvbnRlbnQ6IHN0cmluZzsgZW1iZWRkaW5nOiBudW1iZXJbXTsgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0+KCksXG4gICAgbmV4dElkOiAxLFxuICAgIHF1ZXJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBSdXZMTE0gaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IFJ1dkxMTUNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnID8/IHt9O1xuICAgIGNvbnN0IGV4dHJhID0gdGhpcy5jb25maWcgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgZm9yIChjb25zdCBrZXkgb2YgWydtb2RlbFBhdGgnLCAnYmFja2VuZCddKSB7XG4gICAgICBpZiAoZXh0cmFba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5vdGljZShcbiAgICAgICAgICAnUlVWTExNX1VOU1VQUE9SVEVEX09QVElPTicsXG4gICAgICAgICAgYFxcYCR7a2V5fVxcYCBpcyBub3Qgc3VwcG9ydGVkIGJ5IEBydXZlY3Rvci9ydXZsbG0gYW5kIGlzIGlnbm9yZWQ6IHRoaXMgcGFja2FnZSBkb2VzIG5vdCBgICtcbiAgICAgICAgICAgICdsb2FkIG1vZGVsIGZpbGVzLiBGb3IgR0dVRiBpbmZlcmVuY2UgdXNlIHRoZSBydXZsbG0gQ0xJIChgcnV2bGxtIHNlcnZlIDxtb2RlbD4gLS1zdHJpY3RgKS4nLFxuICAgICAgICAgIHRoaXMuY29uZmlnLnN0cmljdCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtb2QgPSBnZXROYXRpdmVNb2R1bGUoKTtcbiAgICBpZiAobW9kKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5ldyBtb2QuUnV2TExNRW5naW5lKHRvTmF0aXZlQ29uZmlnKGNvbmZpZykpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIFNpbGVudGx5IGZhbGwgYmFjayB0byBKUyBpbXBsZW1lbnRhdGlvblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBRdWVyeSB0aGUgTExNIHdpdGggYXV0b21hdGljIHJvdXRpbmdcbiAgICovXG4gIHF1ZXJ5KHRleHQ6IHN0cmluZywgY29uZmlnPzogR2VuZXJhdGlvbkNvbmZpZyk6IFF1ZXJ5UmVzcG9uc2Uge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgbm90aWNlKCdSVVZMTE1fTk9fTEFOR1VBR0VfTU9ERUwnLCBOT19MTV9NRVNTQUdFLCB0aGlzLmNvbmZpZy5zdHJpY3QpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5uYXRpdmUucXVlcnkodGV4dCwgdG9OYXRpdmVHZW5Db25maWcoY29uZmlnKSk7XG4gICAgICAvLyBuYXBpLXJzIGNhbWVsQ2FzZXMgUnVzdCBmaWVsZCBuYW1lcyBvbiB0aGUgd2F5IG91dCwgc28gdGhlIG5hdGl2ZVxuICAgICAgLy8gb2JqZWN0IGNhcnJpZXMgYGNvbnRleHRTaXplYC9gbGF0ZW5jeU1zYC9gcmVxdWVzdElkYC4gVGhlIHNuYWtlX2Nhc2VcbiAgICAgIC8vIHJlYWRzIGFyZSBrZXB0IGFzIGEgZmFsbGJhY2sgZm9yIG9sZGVyIG5hdGl2ZSBidWlsZHMuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0ZXh0OiByZXN1bHQudGV4dCxcbiAgICAgICAgY29uZmlkZW5jZTogcmVzdWx0LmNvbmZpZGVuY2UsXG4gICAgICAgIG1vZGVsOiByZXN1bHQubW9kZWwsXG4gICAgICAgIGNvbnRleHRTaXplOiByZXN1bHQuY29udGV4dFNpemUgPz8gcmVzdWx0LmNvbnRleHRfc2l6ZSxcbiAgICAgICAgbGF0ZW5jeU1zOiByZXN1bHQubGF0ZW5jeU1zID8/IHJlc3VsdC5sYXRlbmN5X21zLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlc3VsdC5yZXF1ZXN0SWQgPz8gcmVzdWx0LnJlcXVlc3RfaWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIEZhbGxiYWNrIGltcGxlbWVudGF0aW9uXG4gICAgdGhpcy5mYWxsYmFja1N0YXRlLnF1ZXJ5Q291bnQrKztcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogYFtGYWxsYmFja10gUmVzcG9uc2UgdG86ICR7dGV4dC5zbGljZSgwLCA1MCl9Li4uYCxcbiAgICAgIGNvbmZpZGVuY2U6IDAuNSxcbiAgICAgIG1vZGVsOiAnZmFsbGJhY2snLFxuICAgICAgY29udGV4dFNpemU6IDUxMixcbiAgICAgIGxhdGVuY3lNczogMS4wLFxuICAgICAgcmVxdWVzdElkOiBgZmItJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpfWAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0ZXh0IHdpdGggU0lNRC1vcHRpbWl6ZWQgaW5mZXJlbmNlXG4gICAqXG4gICAqIE5vdGU6IHRoZSBuYXRpdmUgZW5naW5lIGhhcyBubyBsYW5ndWFnZS1tb2RlbCB3ZWlnaHRzLCBzbyBpdHMgdGV4dCBpc1xuICAgKiBub3QgbW9kZWwgb3V0cHV0OyB0aGUgZmlyc3QgY2FsbCBlbWl0cyBhIGBSVVZMTE1fTk9fTEFOR1VBR0VfTU9ERUxgXG4gICAqIHdhcm5pbmcgKG9yIHRocm93cyB3aXRoIGBzdHJpY3Q6IHRydWVgKS4gV2l0aG91dCB0aGUgbmF0aXZlIG1vZHVsZSB0aGlzXG4gICAqIHJldHVybnMgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlLlxuICAgKi9cbiAgZ2VuZXJhdGUocHJvbXB0OiBzdHJpbmcsIGNvbmZpZz86IEdlbmVyYXRpb25Db25maWcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgbm90aWNlKCdSVVZMTE1fTk9fTEFOR1VBR0VfTU9ERUwnLCBOT19MTV9NRVNTQUdFLCB0aGlzLmNvbmZpZy5zdHJpY3QpO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdlbmVyYXRlKHByb21wdCwgdG9OYXRpdmVHZW5Db25maWcoY29uZmlnKSk7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2sgLSBwcm92aWRlIGhlbHBmdWwgbWVzc2FnZSBpbnN0ZWFkIG9mIGdhcmJsZWQgb3V0cHV0XG4gICAgY29uc3QgbWF4VG9rZW5zID0gY29uZmlnPy5tYXhUb2tlbnMgPz8gMjU2O1xuICAgIGNvbnN0IHRlbXAgPSBjb25maWc/LnRlbXBlcmF0dXJlID8/IDAuNztcbiAgICBjb25zdCB0b3BQID0gY29uZmlnPy50b3BQID8/IDAuOTtcblxuICAgIHJldHVybiBgW1J1dkxMTSBKYXZhU2NyaXB0IEZhbGxiYWNrIE1vZGVdXG5ObyBuYXRpdmUgU0lNRCBtb2R1bGUgbG9hZGVkLiBSdW5uaW5nIGluIEphdmFTY3JpcHQgZmFsbGJhY2sgbW9kZS5cblxuWW91ciBwcm9tcHQ6IFwiJHtwcm9tcHQuc2xpY2UoMCwgMTAwKX0ke3Byb21wdC5sZW5ndGggPiAxMDAgPyAnLi4uJyA6ICcnfVwiXG5cblRvIGVuYWJsZSBuYXRpdmUgU0lNRCBpbmZlcmVuY2U6XG4xLiBJbnN0YWxsIHRoZSBuYXRpdmUgYmluZGluZ3M6IG5wbSBpbnN0YWxsIEBydXZlY3Rvci9ydXZsbG0tJHtwcm9jZXNzLnBsYXRmb3JtfS0ke3Byb2Nlc3MuYXJjaH1cbjIuIE9yIGxvYWQgYSBHR1VGIG1vZGVsIGZpbGVcbjMuIE9yIGNvbm5lY3QgdG8gYW4gZXh0ZXJuYWwgTExNIEFQSVxuXG5Db25maWc6IHRlbXA9JHt0ZW1wLnRvRml4ZWQoMil9LCB0b3BfcD0ke3RvcFAudG9GaXhlZCgyKX0sIG1heF90b2tlbnM9JHttYXhUb2tlbnN9XG5cblRoaXMgZmFsbGJhY2sgcHJvdmlkZXMgcm91dGluZywgbWVtb3J5LCBhbmQgZW1iZWRkaW5nIGZlYXR1cmVzIGJ1dCBub3QgZnVsbCB0ZXh0IGdlbmVyYXRpb24uYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcm91dGluZyBkZWNpc2lvbiBmb3IgYSBxdWVyeVxuICAgKi9cbiAgcm91dGUodGV4dDogc3RyaW5nKTogUm91dGluZ0RlY2lzaW9uIHtcbiAgICBpZiAodGhpcy5uYXRpdmUpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMubmF0aXZlLnJvdXRlKHRleHQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZWw6IHJlc3VsdC5tb2RlbCBhcyBhbnksXG4gICAgICAgIGNvbnRleHRTaXplOiByZXN1bHQuY29udGV4dFNpemUgPz8gcmVzdWx0LmNvbnRleHRfc2l6ZSxcbiAgICAgICAgdGVtcGVyYXR1cmU6IHJlc3VsdC50ZW1wZXJhdHVyZSxcbiAgICAgICAgdG9wUDogcmVzdWx0LnRvcFAgPz8gcmVzdWx0LnRvcF9wLFxuICAgICAgICBjb25maWRlbmNlOiByZXN1bHQuY29uZmlkZW5jZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2tcbiAgICByZXR1cm4ge1xuICAgICAgbW9kZWw6ICdNNzAwJyxcbiAgICAgIGNvbnRleHRTaXplOiA1MTIsXG4gICAgICB0ZW1wZXJhdHVyZTogMC43LFxuICAgICAgdG9wUDogMC45LFxuICAgICAgY29uZmlkZW5jZTogMC41LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIG1lbW9yeSBmb3Igc2ltaWxhciBjb250ZW50XG4gICAqL1xuICBzZWFyY2hNZW1vcnkodGV4dDogc3RyaW5nLCBrID0gMTApOiBNZW1vcnlSZXN1bHRbXSB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5uYXRpdmUuc2VhcmNoTWVtb3J5KHRleHQsIGspO1xuICAgICAgcmV0dXJuIHJlc3VsdHMubWFwKHIgPT4ge1xuICAgICAgICAvLyBUaGUgbmF0aXZlIHNpZGUgcmVwb3J0cyBgZGlzdGFuY2VgIChzbWFsbGVyIGlzIGNsb3NlcikuIE1lbW9yeVJlc3VsdFxuICAgICAgICAvLyBkb2N1bWVudHMgYHNjb3JlYCBhcyBhIHNpbWlsYXJpdHksIHNvIGNvbnZlcnQgcmF0aGVyIHRoYW4gcGFzc2luZyBhXG4gICAgICAgIC8vIGRpc3RhbmNlIHRocm91Z2ggdW5kZXIgYSBzaW1pbGFyaXR5J3MgbmFtZS4gT2xkZXIgYnVpbGRzIHRoYXQgYWxyZWFkeVxuICAgICAgICAvLyBlbWl0IGBzY29yZWAgYXJlIHVzZWQgYXMtaXMuXG4gICAgICAgIGNvbnN0IGFueVIgPSByIGFzIGFueTtcbiAgICAgICAgY29uc3Qgc2NvcmUgPVxuICAgICAgICAgIHR5cGVvZiBhbnlSLnNjb3JlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyBhbnlSLnNjb3JlXG4gICAgICAgICAgICA6IHR5cGVvZiBhbnlSLmRpc3RhbmNlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICA/IDEgLyAoMSArIE1hdGgubWF4KDAsIGFueVIuZGlzdGFuY2UpKVxuICAgICAgICAgICAgICA6IDA7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IHIuaWQsXG4gICAgICAgICAgc2NvcmUsXG4gICAgICAgICAgY29udGVudDogci5jb250ZW50LFxuICAgICAgICAgIG1ldGFkYXRhOiBKU09OLnBhcnNlKHIubWV0YWRhdGEgfHwgJ3t9JyksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayAtIHNpbXBsZSBzZWFyY2hcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZhbGxiYWNrU3RhdGUubWVtb3J5LmVudHJpZXMoKSlcbiAgICAgIC5zbGljZSgwLCBrKVxuICAgICAgLm1hcCgoW2lkLCBkYXRhXSkgPT4gKHtcbiAgICAgICAgaWQsXG4gICAgICAgIHNjb3JlOiAwLjUsXG4gICAgICAgIGNvbnRlbnQ6IGRhdGEuY29udGVudCxcbiAgICAgICAgbWV0YWRhdGE6IGRhdGEubWV0YWRhdGEsXG4gICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGNvbnRlbnQgdG8gbWVtb3J5XG4gICAqL1xuICBhZGRNZW1vcnkoY29udGVudDogc3RyaW5nLCBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogTWVtb3J5SWQge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmFkZE1lbW9yeShjb250ZW50LCBtZXRhZGF0YSA/IEpTT04uc3RyaW5naWZ5KG1ldGFkYXRhKSA6IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2tcbiAgICBjb25zdCBpZCA9IHRoaXMuZmFsbGJhY2tTdGF0ZS5uZXh0SWQrKztcbiAgICB0aGlzLmZhbGxiYWNrU3RhdGUubWVtb3J5LnNldChpZCwge1xuICAgICAgY29udGVudCxcbiAgICAgIGVtYmVkZGluZzogdGhpcy5lbWJlZChjb250ZW50KSxcbiAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSA/PyB7fSxcbiAgICB9KTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZSBmZWVkYmFjayBmb3IgbGVhcm5pbmdcbiAgICovXG4gIGZlZWRiYWNrKGZiOiBGZWVkYmFjayk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmZlZWRiYWNrKGZiLnJlcXVlc3RJZCwgZmIucmF0aW5nLCBmYi5jb3JyZWN0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBlbmdpbmUgc3RhdGlzdGljc1xuICAgKi9cbiAgc3RhdHMoKTogUnV2TExNU3RhdHMge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgY29uc3QgcyA9IHRoaXMubmF0aXZlLnN0YXRzKCk7XG4gICAgICAvLyBNYXAgbmF0aXZlIHN0YXRzIChzbmFrZV9jYXNlKSB0byBUeXBlU2NyaXB0IGludGVyZmFjZSAoY2FtZWxDYXNlKVxuICAgICAgLy8gSGFuZGxlIGJvdGggb2xkIGFuZCBuZXcgZmllbGQgbmFtZXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvdGFsUXVlcmllczogKHMgYXMgYW55KS50b3RhbFF1ZXJpZXMgPz8gcy50b3RhbF9xdWVyaWVzID8/IDAsXG4gICAgICAgIG1lbW9yeU5vZGVzOiAocyBhcyBhbnkpLm1lbW9yeU5vZGVzID8/IHMubWVtb3J5X25vZGVzID8/IDAsXG4gICAgICAgIHBhdHRlcm5zTGVhcm5lZDpcbiAgICAgICAgICAocyBhcyBhbnkpLnRyYWluaW5nU3RlcHMgPz9cbiAgICAgICAgICBzLnBhdHRlcm5zX2xlYXJuZWQgPz9cbiAgICAgICAgICAocyBhcyBhbnkpLnRyYWluaW5nX3N0ZXBzID8/XG4gICAgICAgICAgMCxcbiAgICAgICAgYXZnTGF0ZW5jeU1zOiAocyBhcyBhbnkpLmF2Z0xhdGVuY3lNcyA/PyBzLmF2Z19sYXRlbmN5X21zID8/IDAsXG4gICAgICAgIGNhY2hlSGl0UmF0ZTogKHMgYXMgYW55KS5jYWNoZUhpdFJhdGUgPz8gcy5jYWNoZV9oaXRfcmF0ZSA/PyAwLFxuICAgICAgICByb3V0ZXJBY2N1cmFjeTogKHMgYXMgYW55KS5yb3V0ZXJBY2N1cmFjeSA/PyBzLnJvdXRlcl9hY2N1cmFjeSA/PyAwLjUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIEZhbGxiYWNrXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvdGFsUXVlcmllczogdGhpcy5mYWxsYmFja1N0YXRlLnF1ZXJ5Q291bnQsXG4gICAgICBtZW1vcnlOb2RlczogdGhpcy5mYWxsYmFja1N0YXRlLm1lbW9yeS5zaXplLFxuICAgICAgcGF0dGVybnNMZWFybmVkOiAwLFxuICAgICAgYXZnTGF0ZW5jeU1zOiAxLjAsXG4gICAgICBjYWNoZUhpdFJhdGU6IDAuMCxcbiAgICAgIHJvdXRlckFjY3VyYWN5OiAwLjUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JjZSByb3V0ZXIgbGVhcm5pbmcgY3ljbGVcbiAgICovXG4gIGZvcmNlTGVhcm4oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5uYXRpdmUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5mb3JjZUxlYXJuKCk7XG4gICAgfVxuICAgIHJldHVybiAnTGVhcm5pbmcgbm90IGF2YWlsYWJsZSBpbiBmYWxsYmFjayBtb2RlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZW1iZWRkaW5nIGZvciB0ZXh0XG4gICAqL1xuICBlbWJlZCh0ZXh0OiBzdHJpbmcpOiBFbWJlZGRpbmcge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmVtYmVkKHRleHQpO1xuICAgIH1cblxuICAgIC8vIEZhbGxiYWNrIC0gc2ltcGxlIGhhc2gtYmFzZWQgZW1iZWRkaW5nXG4gICAgY29uc3QgZGltID0gdGhpcy5jb25maWcuZW1iZWRkaW5nRGltID8/IDc2ODtcbiAgICBjb25zdCBlbWJlZGRpbmcgPSBuZXcgQXJyYXkoZGltKS5maWxsKDApO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpZHggPSAodGV4dC5jaGFyQ29kZUF0KGkpICogKGkgKyAxKSkgJSBkaW07XG4gICAgICBlbWJlZGRpbmdbaWR4XSArPSAwLjE7XG4gICAgfVxuXG4gICAgLy8gTm9ybWFsaXplXG4gICAgY29uc3Qgbm9ybSA9IE1hdGguc3FydChlbWJlZGRpbmcucmVkdWNlKChzdW0sIHgpID0+IHN1bSArIHggKiB4LCAwKSkgfHwgMTtcbiAgICByZXR1cm4gZW1iZWRkaW5nLm1hcCh4ID0+IHggLyBub3JtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlIHNpbWlsYXJpdHkgYmV0d2VlbiB0d28gdGV4dHNcbiAgICovXG4gIHNpbWlsYXJpdHkodGV4dDE6IHN0cmluZywgdGV4dDI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubmF0aXZlKSB7XG4gICAgICAvLyBmMzIgYWNjdW11bGF0aW9uIGNhbiBsYW5kIGp1c3Qgb3V0c2lkZSB0aGUgbWF0aGVtYXRpY2FsIHJhbmdlIOKAlCBhblxuICAgICAgLy8gaWRlbnRpY2FsIHBhaXIgbWVhc3VyZXMgMS4wMDAwMDAxIOKAlCB3aGljaCB0dXJucyBNYXRoLmFjb3Moc2ltKSBpbnRvXG4gICAgICAvLyBOYU4gZG93bnN0cmVhbS4gQ29zaW5lIHNpbWlsYXJpdHkgaXMgZGVmaW5lZCBvbiBbLTEsIDFdLCBzbyBjbGFtcC5cbiAgICAgIGNvbnN0IHJhdyA9IHRoaXMubmF0aXZlLnNpbWlsYXJpdHkodGV4dDEsIHRleHQyKTtcbiAgICAgIHJldHVybiBNYXRoLm1pbigxLCBNYXRoLm1heCgtMSwgcmF3KSk7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2sgLSBjb3NpbmUgc2ltaWxhcml0eVxuICAgIGNvbnN0IGVtYjEgPSB0aGlzLmVtYmVkKHRleHQxKTtcbiAgICBjb25zdCBlbWIyID0gdGhpcy5lbWJlZCh0ZXh0Mik7XG5cbiAgICBsZXQgZG90ID0gMDtcbiAgICBsZXQgbm9ybTEgPSAwO1xuICAgIGxldCBub3JtMiA9IDA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVtYjEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRvdCArPSBlbWIxW2ldICogZW1iMltpXTtcbiAgICAgIG5vcm0xICs9IGVtYjFbaV0gKiBlbWIxW2ldO1xuICAgICAgbm9ybTIgKz0gZW1iMltpXSAqIGVtYjJbaV07XG4gICAgfVxuXG4gICAgY29uc3QgZGVub20gPSBNYXRoLnNxcnQobm9ybTEpICogTWF0aC5zcXJ0KG5vcm0yKTtcbiAgICBjb25zdCBzaW1pbGFyaXR5ID0gZGVub20gPiAwID8gZG90IC8gZGVub20gOiAwO1xuICAgIC8vIENsYW1wIHRvIFswLCAxXSB0byBoYW5kbGUgZmxvYXRpbmcgcG9pbnQgZXJyb3JzXG4gICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHNpbWlsYXJpdHkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBTSU1EIGlzIGF2YWlsYWJsZVxuICAgKi9cbiAgaGFzU2ltZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uYXRpdmUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5oYXNTaW1kKCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgU0lNRCBjYXBhYmlsaXRpZXNcbiAgICovXG4gIHNpbWRDYXBhYmlsaXRpZXMoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLm5hdGl2ZSkge1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnNpbWRDYXBhYmlsaXRpZXMoKTtcbiAgICB9XG4gICAgcmV0dXJuIFsnU2NhbGFyIChmYWxsYmFjayknXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCYXRjaCBxdWVyeSBtdWx0aXBsZSBwcm9tcHRzXG4gICAqL1xuICBiYXRjaFF1ZXJ5KHJlcXVlc3Q6IEJhdGNoUXVlcnlSZXF1ZXN0KTogQmF0Y2hRdWVyeVJlc3BvbnNlIHtcbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgY29uc3QgcmVzcG9uc2VzID0gcmVxdWVzdC5xdWVyaWVzLm1hcChxID0+IHRoaXMucXVlcnkocSwgcmVxdWVzdC5jb25maWcpKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzcG9uc2VzLFxuICAgICAgdG90YWxMYXRlbmN5TXM6IERhdGUubm93KCkgLSBzdGFydCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIG5hdGl2ZSBtb2R1bGUgaXMgbG9hZGVkXG4gICAqL1xuICBpc05hdGl2ZUxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXRpdmUgIT09IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
package/dist/cjs/native.d.ts
CHANGED
|
@@ -24,7 +24,8 @@ interface NativeEngine {
|
|
|
24
24
|
generate(prompt: string, config?: NativeGenConfig): string;
|
|
25
25
|
route(text: string): NativeRoutingDecision;
|
|
26
26
|
searchMemory(text: string, k?: number): NativeMemoryResult[];
|
|
27
|
-
|
|
27
|
+
/** Current native builds return a UUID string; older ones returned a number. */
|
|
28
|
+
addMemory(content: string, metadata?: string): string | number;
|
|
28
29
|
feedback(requestId: string, rating: number, correction?: string): boolean;
|
|
29
30
|
stats(): NativeStats;
|
|
30
31
|
forceLearn(): string;
|
|
@@ -44,20 +45,28 @@ interface NativeQueryResponse {
|
|
|
44
45
|
text: string;
|
|
45
46
|
confidence: number;
|
|
46
47
|
model: string;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
contextSize: number;
|
|
49
|
+
latencyMs: number;
|
|
50
|
+
requestId: string;
|
|
51
|
+
context_size?: number;
|
|
52
|
+
latency_ms?: number;
|
|
53
|
+
request_id?: string;
|
|
50
54
|
}
|
|
51
55
|
interface NativeRoutingDecision {
|
|
52
56
|
model: string;
|
|
53
|
-
|
|
57
|
+
contextSize: number;
|
|
54
58
|
temperature: number;
|
|
55
|
-
top_p
|
|
59
|
+
top_p?: number;
|
|
60
|
+
topP: number;
|
|
56
61
|
confidence: number;
|
|
62
|
+
context_size?: number;
|
|
57
63
|
}
|
|
58
64
|
interface NativeMemoryResult {
|
|
59
|
-
id: number;
|
|
60
|
-
|
|
65
|
+
id: string | number;
|
|
66
|
+
/** Distance (smaller is closer) as reported by the current native build. */
|
|
67
|
+
distance?: number;
|
|
68
|
+
/** Similarity, emitted by older native builds. */
|
|
69
|
+
score?: number;
|
|
61
70
|
content: string;
|
|
62
71
|
metadata: string;
|
|
63
72
|
}
|
package/dist/cjs/native.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,UAAU,YAAY;IAEpB,YAAY,EAAE,KAAK,MAAM,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC1D,cAAc,EAAE,UAAU,aAAa,CAAC;IACxC,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,OAAO,CAAC;CAC/B;AAWD,UAAU,YAAY;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,mBAAmB,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAC3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAC7D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/native.js
CHANGED
|
@@ -74,4 +74,4 @@ function hasSimdSupport() {
|
|
|
74
74
|
const mod = loadNativeModule();
|
|
75
75
|
return mod?.hasSimdSupport() ?? false;
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25hdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7QUE4SkgsMENBRUM7QUFFRCwwQkFHQztBQUVELHdDQUdDO0FBeEtELCtCQUE0QjtBQUU1QixnQ0FBZ0M7QUFDaEMsSUFBSSxZQUFZLEdBQXdCLElBQUksQ0FBQztBQThGN0Msa0NBQWtDO0FBQ2xDLE1BQU0saUJBQWlCLEdBQTJCO0lBQ2hELFlBQVksRUFBRSw2QkFBNkI7SUFDM0MsY0FBYyxFQUFFLCtCQUErQjtJQUMvQyxXQUFXLEVBQUUsZ0NBQWdDO0lBQzdDLGFBQWEsRUFBRSxrQ0FBa0M7SUFDakQsV0FBVyxFQUFFLGlDQUFpQztDQUMvQyxDQUFDO0FBRUYsU0FBUyxjQUFjO0lBQ3JCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDbEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMxQixPQUFPLEdBQUcsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVuRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsMkNBQTJDO1FBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxNQUFNLFFBQVEsR0FBRztRQUNmLG9DQUFvQztRQUNwQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzFCLGdEQUFnRDtRQUNoRCxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekQsMkNBQTJDO1FBQzNDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQ3BELENBQUM7SUFFRixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBcUIsQ0FBQztZQUN6QyxvRUFBb0U7WUFDcEUsWUFBWSxHQUFHO2dCQUNiLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxZQUFhO2dCQUNuRCxjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7Z0JBQ2xDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztnQkFDcEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxjQUFjO2FBQ25DLENBQUM7WUFDRixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsMkJBQTJCO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELDBDQUEwQztBQUMxQyxTQUFnQixlQUFlO0lBQzdCLE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBZ0IsT0FBTztJQUNyQixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLFVBQVUsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBZ0IsY0FBYztJQUM1QixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxJQUFJLEtBQUssQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOYXRpdmUgYmluZGluZ3MgbG9hZGVyIGZvciBSdXZMTE1cbiAqXG4gKiBBdXRvbWF0aWNhbGx5IGxvYWRzIHRoZSBjb3JyZWN0IG5hdGl2ZSBiaW5hcnkgZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtLlxuICovXG5cbmltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcblxuLy8gVHJ5IHRvIGxvYWQgdGhlIG5hdGl2ZSBtb2R1bGVcbmxldCBuYXRpdmVNb2R1bGU6IE5hdGl2ZVJ1dkxMTSB8IG51bGwgPSBudWxsO1xuXG5pbnRlcmZhY2UgTmF0aXZlUnV2TExNIHtcbiAgLy8gTmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lIChjYW1lbENhc2UpLCB3ZSBub3JtYWxpemUgdG8gUnV2TExNRW5naW5lXG4gIFJ1dkxMTUVuZ2luZTogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG4vLyBSYXcgbmF0aXZlIG1vZHVsZSBpbnRlcmZhY2UgKGFjdHVhbCBleHBvcnQgbmFtZXMpXG5pbnRlcmZhY2UgUmF3TmF0aXZlTW9kdWxlIHtcbiAgUnV2TGxtRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgUnV2TExNRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlQ29uZmlnIHtcbiAgZW1iZWRkaW5nX2RpbT86IG51bWJlcjtcbiAgcm91dGVyX2hpZGRlbl9kaW0/OiBudW1iZXI7XG4gIGhuc3dfbT86IG51bWJlcjtcbiAgaG5zd19lZl9jb25zdHJ1Y3Rpb24/OiBudW1iZXI7XG4gIGhuc3dfZWZfc2VhcmNoPzogbnVtYmVyO1xuICBsZWFybmluZ19lbmFibGVkPzogYm9vbGVhbjtcbiAgcXVhbGl0eV90aHJlc2hvbGQ/OiBudW1iZXI7XG4gIGV3Y19sYW1iZGE/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVFbmdpbmUge1xuICBxdWVyeSh0ZXh0OiBzdHJpbmcsIGNvbmZpZz86IE5hdGl2ZUdlbkNvbmZpZyk6IE5hdGl2ZVF1ZXJ5UmVzcG9uc2U7XG4gIGdlbmVyYXRlKHByb21wdDogc3RyaW5nLCBjb25maWc/OiBOYXRpdmVHZW5Db25maWcpOiBzdHJpbmc7XG4gIHJvdXRlKHRleHQ6IHN0cmluZyk6IE5hdGl2ZVJvdXRpbmdEZWNpc2lvbjtcbiAgc2VhcmNoTWVtb3J5KHRleHQ6IHN0cmluZywgaz86IG51bWJlcik6IE5hdGl2ZU1lbW9yeVJlc3VsdFtdO1xuICBhZGRNZW1vcnkoY29udGVudDogc3RyaW5nLCBtZXRhZGF0YT86IHN0cmluZyk6IG51bWJlcjtcbiAgZmVlZGJhY2socmVxdWVzdElkOiBzdHJpbmcsIHJhdGluZzogbnVtYmVyLCBjb3JyZWN0aW9uPzogc3RyaW5nKTogYm9vbGVhbjtcbiAgc3RhdHMoKTogTmF0aXZlU3RhdHM7XG4gIGZvcmNlTGVhcm4oKTogc3RyaW5nO1xuICBlbWJlZCh0ZXh0OiBzdHJpbmcpOiBudW1iZXJbXTtcbiAgc2ltaWxhcml0eSh0ZXh0MTogc3RyaW5nLCB0ZXh0Mjogc3RyaW5nKTogbnVtYmVyO1xuICBoYXNTaW1kKCk6IGJvb2xlYW47XG4gIHNpbWRDYXBhYmlsaXRpZXMoKTogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBOYXRpdmVHZW5Db25maWcge1xuICBtYXhfdG9rZW5zPzogbnVtYmVyO1xuICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcbiAgdG9wX3A/OiBudW1iZXI7XG4gIHRvcF9rPzogbnVtYmVyO1xuICByZXBldGl0aW9uX3BlbmFsdHk/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVRdWVyeVJlc3BvbnNlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIGNvbnRleHRfc2l6ZTogbnVtYmVyO1xuICBsYXRlbmN5X21zOiBudW1iZXI7XG4gIHJlcXVlc3RfaWQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZVJvdXRpbmdEZWNpc2lvbiB7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIGNvbnRleHRfc2l6ZTogbnVtYmVyO1xuICB0ZW1wZXJhdHVyZTogbnVtYmVyO1xuICB0b3BfcDogbnVtYmVyO1xuICBjb25maWRlbmNlOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVNZW1vcnlSZXN1bHQge1xuICBpZDogbnVtYmVyO1xuICBzY29yZTogbnVtYmVyO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIG1ldGFkYXRhOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBOYXRpdmVTdGF0cyB7XG4gIHRvdGFsX3F1ZXJpZXM6IG51bWJlcjtcbiAgbWVtb3J5X25vZGVzOiBudW1iZXI7XG4gIHBhdHRlcm5zX2xlYXJuZWQ6IG51bWJlcjtcbiAgYXZnX2xhdGVuY3lfbXM6IG51bWJlcjtcbiAgY2FjaGVfaGl0X3JhdGU6IG51bWJlcjtcbiAgcm91dGVyX2FjY3VyYWN5OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVTaW1kT3BzIHtcbiAgZG90UHJvZHVjdChhOiBudW1iZXJbXSwgYjogbnVtYmVyW10pOiBudW1iZXI7XG4gIGNvc2luZVNpbWlsYXJpdHkoYTogbnVtYmVyW10sIGI6IG51bWJlcltdKTogbnVtYmVyO1xuICBsMkRpc3RhbmNlKGE6IG51bWJlcltdLCBiOiBudW1iZXJbXSk6IG51bWJlcjtcbiAgbWF0dmVjKG1hdHJpeDogbnVtYmVyW11bXSwgdmVjdG9yOiBudW1iZXJbXSk6IG51bWJlcltdO1xuICBzb2Z0bWF4KGlucHV0OiBudW1iZXJbXSk6IG51bWJlcltdO1xufVxuXG4vLyBQbGF0Zm9ybS1zcGVjaWZpYyBwYWNrYWdlIG5hbWVzXG5jb25zdCBQTEFURk9STV9QQUNLQUdFUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgJ2Rhcndpbi14NjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS1kYXJ3aW4teDY0JyxcbiAgJ2Rhcndpbi1hcm02NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLWRhcndpbi1hcm02NCcsXG4gICdsaW51eC14NjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS1saW51eC14NjQtZ251JyxcbiAgJ2xpbnV4LWFybTY0JzogJ0BydXZlY3Rvci9ydXZsbG0tbGludXgtYXJtNjQtZ251JyxcbiAgJ3dpbjMyLXg2NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLXdpbjMyLXg2NC1tc3ZjJyxcbn07XG5cbmZ1bmN0aW9uIGdldFBsYXRmb3JtS2V5KCk6IHN0cmluZyB7XG4gIGNvbnN0IHBsYXRmb3JtID0gcHJvY2Vzcy5wbGF0Zm9ybTtcbiAgY29uc3QgYXJjaCA9IHByb2Nlc3MuYXJjaDtcbiAgcmV0dXJuIGAke3BsYXRmb3JtfS0ke2FyY2h9YDtcbn1cblxuZnVuY3Rpb24gbG9hZE5hdGl2ZU1vZHVsZSgpOiBOYXRpdmVSdXZMTE0gfCBudWxsIHtcbiAgaWYgKG5hdGl2ZU1vZHVsZSkge1xuICAgIHJldHVybiBuYXRpdmVNb2R1bGU7XG4gIH1cblxuICBjb25zdCBwbGF0Zm9ybUtleSA9IGdldFBsYXRmb3JtS2V5KCk7XG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gUExBVEZPUk1fUEFDS0FHRVNbcGxhdGZvcm1LZXldO1xuXG4gIGlmICghcGFja2FnZU5hbWUpIHtcbiAgICAvLyBTaWxlbnRseSBmYWlsIC0gSlMgZmFsbGJhY2sgd2lsbCBiZSB1c2VkXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBUcnkgbG9hZGluZyBmcm9tIG9wdGlvbmFsIGRlcGVuZGVuY2llc1xuICBjb25zdCBhdHRlbXB0cyA9IFtcbiAgICAvLyBUcnkgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHBhY2thZ2VcbiAgICAoKSA9PiByZXF1aXJlKHBhY2thZ2VOYW1lKSxcbiAgICAvLyBUcnkgbG9hZGluZyBmcm9tIGxvY2FsIC5ub2RlIGZpbGUgKENKUyBidWlsZClcbiAgICAoKSA9PiByZXF1aXJlKGpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAncnV2bGxtLm5vZGUnKSksXG4gICAgLy8gVHJ5IGxvYWRpbmcgZnJvbSBsb2NhbCAubm9kZSBmaWxlIChyb290KVxuICAgICgpID0+IHJlcXVpcmUoam9pbihfX2Rpcm5hbWUsICcuLicsICdydXZsbG0ubm9kZScpKSxcbiAgXTtcblxuICBmb3IgKGNvbnN0IGF0dGVtcHQgb2YgYXR0ZW1wdHMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmF3ID0gYXR0ZW1wdCgpIGFzIFJhd05hdGl2ZU1vZHVsZTtcbiAgICAgIC8vIE5vcm1hbGl6ZTogbmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lLCB3ZSBleHBvc2UgYXMgUnV2TExNRW5naW5lXG4gICAgICBuYXRpdmVNb2R1bGUgPSB7XG4gICAgICAgIFJ1dkxMTUVuZ2luZTogcmF3LlJ1dkxMTUVuZ2luZSA/PyByYXcuUnV2TGxtRW5naW5lISxcbiAgICAgICAgU2ltZE9wZXJhdGlvbnM6IHJhdy5TaW1kT3BlcmF0aW9ucyxcbiAgICAgICAgdmVyc2lvbjogcmF3LnZlcnNpb24sXG4gICAgICAgIGhhc1NpbWRTdXBwb3J0OiByYXcuaGFzU2ltZFN1cHBvcnQsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIG5hdGl2ZU1vZHVsZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIENvbnRpbnVlIHRvIG5leHQgYXR0ZW1wdFxuICAgIH1cbiAgfVxuXG4gIC8vIFNpbGVudGx5IGZhbGwgYmFjayB0byBKUyBpbXBsZW1lbnRhdGlvblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gRXhwb3J0IGZ1bmN0aW9ucyB0byBnZXQgbmF0aXZlIGJpbmRpbmdzXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmF0aXZlTW9kdWxlKCk6IE5hdGl2ZVJ1dkxMTSB8IG51bGwge1xuICByZXR1cm4gbG9hZE5hdGl2ZU1vZHVsZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyc2lvbigpOiBzdHJpbmcge1xuICBjb25zdCBtb2QgPSBsb2FkTmF0aXZlTW9kdWxlKCk7XG4gIHJldHVybiBtb2Q/LnZlcnNpb24oKSA/PyAnMC4xLjAtanMnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzU2ltZFN1cHBvcnQoKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1vZCA9IGxvYWROYXRpdmVNb2R1bGUoKTtcbiAgcmV0dXJuIG1vZD8uaGFzU2ltZFN1cHBvcnQoKSA/PyBmYWxzZTtcbn1cblxuLy8gRXhwb3J0IHR5cGVzIGZvciBpbnRlcm5hbCB1c2VcbmV4cG9ydCB0eXBlIHtcbiAgTmF0aXZlUnV2TExNLFxuICBOYXRpdmVDb25maWcsXG4gIE5hdGl2ZUVuZ2luZSxcbiAgTmF0aXZlR2VuQ29uZmlnLFxuICBOYXRpdmVRdWVyeVJlc3BvbnNlLFxuICBOYXRpdmVSb3V0aW5nRGVjaXNpb24sXG4gIE5hdGl2ZU1lbW9yeVJlc3VsdCxcbiAgTmF0aXZlU3RhdHMsXG4gIE5hdGl2ZVNpbWRPcHMsXG59O1xuIl19
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25hdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7QUE0S0gsMENBRUM7QUFFRCwwQkFHQztBQUVELHdDQUdDO0FBdExELCtCQUE0QjtBQUU1QixnQ0FBZ0M7QUFDaEMsSUFBSSxZQUFZLEdBQXdCLElBQUksQ0FBQztBQTRHN0Msa0NBQWtDO0FBQ2xDLE1BQU0saUJBQWlCLEdBQTJCO0lBQ2hELFlBQVksRUFBRSw2QkFBNkI7SUFDM0MsY0FBYyxFQUFFLCtCQUErQjtJQUMvQyxXQUFXLEVBQUUsZ0NBQWdDO0lBQzdDLGFBQWEsRUFBRSxrQ0FBa0M7SUFDakQsV0FBVyxFQUFFLGlDQUFpQztDQUMvQyxDQUFDO0FBRUYsU0FBUyxjQUFjO0lBQ3JCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDbEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMxQixPQUFPLEdBQUcsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVuRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsMkNBQTJDO1FBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxNQUFNLFFBQVEsR0FBRztRQUNmLG9DQUFvQztRQUNwQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzFCLGdEQUFnRDtRQUNoRCxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekQsMkNBQTJDO1FBQzNDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQ3BELENBQUM7SUFFRixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBcUIsQ0FBQztZQUN6QyxvRUFBb0U7WUFDcEUsWUFBWSxHQUFHO2dCQUNiLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxZQUFhO2dCQUNuRCxjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7Z0JBQ2xDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztnQkFDcEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxjQUFjO2FBQ25DLENBQUM7WUFDRixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsMkJBQTJCO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELDBDQUEwQztBQUMxQyxTQUFnQixlQUFlO0lBQzdCLE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBZ0IsT0FBTztJQUNyQixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLFVBQVUsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBZ0IsY0FBYztJQUM1QixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxJQUFJLEtBQUssQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOYXRpdmUgYmluZGluZ3MgbG9hZGVyIGZvciBSdXZMTE1cbiAqXG4gKiBBdXRvbWF0aWNhbGx5IGxvYWRzIHRoZSBjb3JyZWN0IG5hdGl2ZSBiaW5hcnkgZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtLlxuICovXG5cbmltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcblxuLy8gVHJ5IHRvIGxvYWQgdGhlIG5hdGl2ZSBtb2R1bGVcbmxldCBuYXRpdmVNb2R1bGU6IE5hdGl2ZVJ1dkxMTSB8IG51bGwgPSBudWxsO1xuXG5pbnRlcmZhY2UgTmF0aXZlUnV2TExNIHtcbiAgLy8gTmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lIChjYW1lbENhc2UpLCB3ZSBub3JtYWxpemUgdG8gUnV2TExNRW5naW5lXG4gIFJ1dkxMTUVuZ2luZTogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG4vLyBSYXcgbmF0aXZlIG1vZHVsZSBpbnRlcmZhY2UgKGFjdHVhbCBleHBvcnQgbmFtZXMpXG5pbnRlcmZhY2UgUmF3TmF0aXZlTW9kdWxlIHtcbiAgUnV2TGxtRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgUnV2TExNRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlQ29uZmlnIHtcbiAgZW1iZWRkaW5nX2RpbT86IG51bWJlcjtcbiAgcm91dGVyX2hpZGRlbl9kaW0/OiBudW1iZXI7XG4gIGhuc3dfbT86IG51bWJlcjtcbiAgaG5zd19lZl9jb25zdHJ1Y3Rpb24/OiBudW1iZXI7XG4gIGhuc3dfZWZfc2VhcmNoPzogbnVtYmVyO1xuICBsZWFybmluZ19lbmFibGVkPzogYm9vbGVhbjtcbiAgcXVhbGl0eV90aHJlc2hvbGQ/OiBudW1iZXI7XG4gIGV3Y19sYW1iZGE/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVFbmdpbmUge1xuICBxdWVyeSh0ZXh0OiBzdHJpbmcsIGNvbmZpZz86IE5hdGl2ZUdlbkNvbmZpZyk6IE5hdGl2ZVF1ZXJ5UmVzcG9uc2U7XG4gIGdlbmVyYXRlKHByb21wdDogc3RyaW5nLCBjb25maWc/OiBOYXRpdmVHZW5Db25maWcpOiBzdHJpbmc7XG4gIHJvdXRlKHRleHQ6IHN0cmluZyk6IE5hdGl2ZVJvdXRpbmdEZWNpc2lvbjtcbiAgc2VhcmNoTWVtb3J5KHRleHQ6IHN0cmluZywgaz86IG51bWJlcik6IE5hdGl2ZU1lbW9yeVJlc3VsdFtdO1xuICAvKiogQ3VycmVudCBuYXRpdmUgYnVpbGRzIHJldHVybiBhIFVVSUQgc3RyaW5nOyBvbGRlciBvbmVzIHJldHVybmVkIGEgbnVtYmVyLiAqL1xuICBhZGRNZW1vcnkoY29udGVudDogc3RyaW5nLCBtZXRhZGF0YT86IHN0cmluZyk6IHN0cmluZyB8IG51bWJlcjtcbiAgZmVlZGJhY2socmVxdWVzdElkOiBzdHJpbmcsIHJhdGluZzogbnVtYmVyLCBjb3JyZWN0aW9uPzogc3RyaW5nKTogYm9vbGVhbjtcbiAgc3RhdHMoKTogTmF0aXZlU3RhdHM7XG4gIGZvcmNlTGVhcm4oKTogc3RyaW5nO1xuICBlbWJlZCh0ZXh0OiBzdHJpbmcpOiBudW1iZXJbXTtcbiAgc2ltaWxhcml0eSh0ZXh0MTogc3RyaW5nLCB0ZXh0Mjogc3RyaW5nKTogbnVtYmVyO1xuICBoYXNTaW1kKCk6IGJvb2xlYW47XG4gIHNpbWRDYXBhYmlsaXRpZXMoKTogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBOYXRpdmVHZW5Db25maWcge1xuICBtYXhfdG9rZW5zPzogbnVtYmVyO1xuICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcbiAgdG9wX3A/OiBudW1iZXI7XG4gIHRvcF9rPzogbnVtYmVyO1xuICByZXBldGl0aW9uX3BlbmFsdHk/OiBudW1iZXI7XG59XG5cbi8vIG5hcGktcnMgY2FtZWxDYXNlcyBSdXN0IHN0cnVjdCBmaWVsZHMgd2hlbiBpdCBidWlsZHMgdGhlIEpTIG9iamVjdCwgc28gdGhlXG4vLyByZWFsIG5hdGl2ZSBzaGFwZSBpcyBjYW1lbENhc2UuIFRoZXNlIGludGVyZmFjZXMgcHJldmlvdXNseSBkZWNsYXJlZCBvbmx5XG4vLyBzbmFrZV9jYXNlLCB3aGljaCBpcyB3aHkgdGhlIHdyYXBwZXIncyBzbmFrZV9jYXNlIHJlYWRzIHR5cGVjaGVja2VkIHdoaWxlXG4vLyBzaWxlbnRseSB5aWVsZGluZyB1bmRlZmluZWQgYXQgcnVudGltZS4gQm90aCBzcGVsbGluZ3MgYXJlIGRlY2xhcmVkIOKAlFxuLy8gY2FtZWxDYXNlIHJlcXVpcmVkLCBzbmFrZV9jYXNlIG9wdGlvbmFsIOKAlCBzbyBvbGRlciBuYXRpdmUgYnVpbGRzIHN0aWxsIGZpdC5cbmludGVyZmFjZSBOYXRpdmVRdWVyeVJlc3BvbnNlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIGNvbnRleHRTaXplOiBudW1iZXI7XG4gIGxhdGVuY3lNczogbnVtYmVyO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgY29udGV4dF9zaXplPzogbnVtYmVyO1xuICBsYXRlbmN5X21zPzogbnVtYmVyO1xuICByZXF1ZXN0X2lkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlUm91dGluZ0RlY2lzaW9uIHtcbiAgbW9kZWw6IHN0cmluZztcbiAgY29udGV4dFNpemU6IG51bWJlcjtcbiAgdGVtcGVyYXR1cmU6IG51bWJlcjtcbiAgdG9wX3A/OiBudW1iZXI7XG4gIHRvcFA6IG51bWJlcjtcbiAgY29uZmlkZW5jZTogbnVtYmVyO1xuICBjb250ZXh0X3NpemU/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVNZW1vcnlSZXN1bHQge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICAvKiogRGlzdGFuY2UgKHNtYWxsZXIgaXMgY2xvc2VyKSBhcyByZXBvcnRlZCBieSB0aGUgY3VycmVudCBuYXRpdmUgYnVpbGQuICovXG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICAvKiogU2ltaWxhcml0eSwgZW1pdHRlZCBieSBvbGRlciBuYXRpdmUgYnVpbGRzLiAqL1xuICBzY29yZT86IG51bWJlcjtcbiAgY29udGVudDogc3RyaW5nO1xuICBtZXRhZGF0YTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlU3RhdHMge1xuICB0b3RhbF9xdWVyaWVzOiBudW1iZXI7XG4gIG1lbW9yeV9ub2RlczogbnVtYmVyO1xuICBwYXR0ZXJuc19sZWFybmVkOiBudW1iZXI7XG4gIGF2Z19sYXRlbmN5X21zOiBudW1iZXI7XG4gIGNhY2hlX2hpdF9yYXRlOiBudW1iZXI7XG4gIHJvdXRlcl9hY2N1cmFjeTogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlU2ltZE9wcyB7XG4gIGRvdFByb2R1Y3QoYTogbnVtYmVyW10sIGI6IG51bWJlcltdKTogbnVtYmVyO1xuICBjb3NpbmVTaW1pbGFyaXR5KGE6IG51bWJlcltdLCBiOiBudW1iZXJbXSk6IG51bWJlcjtcbiAgbDJEaXN0YW5jZShhOiBudW1iZXJbXSwgYjogbnVtYmVyW10pOiBudW1iZXI7XG4gIG1hdHZlYyhtYXRyaXg6IG51bWJlcltdW10sIHZlY3RvcjogbnVtYmVyW10pOiBudW1iZXJbXTtcbiAgc29mdG1heChpbnB1dDogbnVtYmVyW10pOiBudW1iZXJbXTtcbn1cblxuLy8gUGxhdGZvcm0tc3BlY2lmaWMgcGFja2FnZSBuYW1lc1xuY29uc3QgUExBVEZPUk1fUEFDS0FHRVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdkYXJ3aW4teDY0JzogJ0BydXZlY3Rvci9ydXZsbG0tZGFyd2luLXg2NCcsXG4gICdkYXJ3aW4tYXJtNjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS1kYXJ3aW4tYXJtNjQnLFxuICAnbGludXgteDY0JzogJ0BydXZlY3Rvci9ydXZsbG0tbGludXgteDY0LWdudScsXG4gICdsaW51eC1hcm02NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLWxpbnV4LWFybTY0LWdudScsXG4gICd3aW4zMi14NjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS13aW4zMi14NjQtbXN2YycsXG59O1xuXG5mdW5jdGlvbiBnZXRQbGF0Zm9ybUtleSgpOiBzdHJpbmcge1xuICBjb25zdCBwbGF0Zm9ybSA9IHByb2Nlc3MucGxhdGZvcm07XG4gIGNvbnN0IGFyY2ggPSBwcm9jZXNzLmFyY2g7XG4gIHJldHVybiBgJHtwbGF0Zm9ybX0tJHthcmNofWA7XG59XG5cbmZ1bmN0aW9uIGxvYWROYXRpdmVNb2R1bGUoKTogTmF0aXZlUnV2TExNIHwgbnVsbCB7XG4gIGlmIChuYXRpdmVNb2R1bGUpIHtcbiAgICByZXR1cm4gbmF0aXZlTW9kdWxlO1xuICB9XG5cbiAgY29uc3QgcGxhdGZvcm1LZXkgPSBnZXRQbGF0Zm9ybUtleSgpO1xuICBjb25zdCBwYWNrYWdlTmFtZSA9IFBMQVRGT1JNX1BBQ0tBR0VTW3BsYXRmb3JtS2V5XTtcblxuICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgLy8gU2lsZW50bHkgZmFpbCAtIEpTIGZhbGxiYWNrIHdpbGwgYmUgdXNlZFxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gVHJ5IGxvYWRpbmcgZnJvbSBvcHRpb25hbCBkZXBlbmRlbmNpZXNcbiAgY29uc3QgYXR0ZW1wdHMgPSBbXG4gICAgLy8gVHJ5IHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBwYWNrYWdlXG4gICAgKCkgPT4gcmVxdWlyZShwYWNrYWdlTmFtZSksXG4gICAgLy8gVHJ5IGxvYWRpbmcgZnJvbSBsb2NhbCAubm9kZSBmaWxlIChDSlMgYnVpbGQpXG4gICAgKCkgPT4gcmVxdWlyZShqb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ3J1dmxsbS5ub2RlJykpLFxuICAgIC8vIFRyeSBsb2FkaW5nIGZyb20gbG9jYWwgLm5vZGUgZmlsZSAocm9vdClcbiAgICAoKSA9PiByZXF1aXJlKGpvaW4oX19kaXJuYW1lLCAnLi4nLCAncnV2bGxtLm5vZGUnKSksXG4gIF07XG5cbiAgZm9yIChjb25zdCBhdHRlbXB0IG9mIGF0dGVtcHRzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJhdyA9IGF0dGVtcHQoKSBhcyBSYXdOYXRpdmVNb2R1bGU7XG4gICAgICAvLyBOb3JtYWxpemU6IG5hdGl2ZSBleHBvcnRzIFJ1dkxsbUVuZ2luZSwgd2UgZXhwb3NlIGFzIFJ1dkxMTUVuZ2luZVxuICAgICAgbmF0aXZlTW9kdWxlID0ge1xuICAgICAgICBSdXZMTE1FbmdpbmU6IHJhdy5SdXZMTE1FbmdpbmUgPz8gcmF3LlJ1dkxsbUVuZ2luZSEsXG4gICAgICAgIFNpbWRPcGVyYXRpb25zOiByYXcuU2ltZE9wZXJhdGlvbnMsXG4gICAgICAgIHZlcnNpb246IHJhdy52ZXJzaW9uLFxuICAgICAgICBoYXNTaW1kU3VwcG9ydDogcmF3Lmhhc1NpbWRTdXBwb3J0LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBuYXRpdmVNb2R1bGU7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBDb250aW51ZSB0byBuZXh0IGF0dGVtcHRcbiAgICB9XG4gIH1cblxuICAvLyBTaWxlbnRseSBmYWxsIGJhY2sgdG8gSlMgaW1wbGVtZW50YXRpb25cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIEV4cG9ydCBmdW5jdGlvbnMgdG8gZ2V0IG5hdGl2ZSBiaW5kaW5nc1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5hdGl2ZU1vZHVsZSgpOiBOYXRpdmVSdXZMTE0gfCBudWxsIHtcbiAgcmV0dXJuIGxvYWROYXRpdmVNb2R1bGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnNpb24oKTogc3RyaW5nIHtcbiAgY29uc3QgbW9kID0gbG9hZE5hdGl2ZU1vZHVsZSgpO1xuICByZXR1cm4gbW9kPy52ZXJzaW9uKCkgPz8gJzAuMS4wLWpzJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1NpbWRTdXBwb3J0KCk6IGJvb2xlYW4ge1xuICBjb25zdCBtb2QgPSBsb2FkTmF0aXZlTW9kdWxlKCk7XG4gIHJldHVybiBtb2Q/Lmhhc1NpbWRTdXBwb3J0KCkgPz8gZmFsc2U7XG59XG5cbi8vIEV4cG9ydCB0eXBlcyBmb3IgaW50ZXJuYWwgdXNlXG5leHBvcnQgdHlwZSB7XG4gIE5hdGl2ZVJ1dkxMTSxcbiAgTmF0aXZlQ29uZmlnLFxuICBOYXRpdmVFbmdpbmUsXG4gIE5hdGl2ZUdlbkNvbmZpZyxcbiAgTmF0aXZlUXVlcnlSZXNwb25zZSxcbiAgTmF0aXZlUm91dGluZ0RlY2lzaW9uLFxuICBOYXRpdmVNZW1vcnlSZXN1bHQsXG4gIE5hdGl2ZVN0YXRzLFxuICBOYXRpdmVTaW1kT3BzLFxufTtcbiJdfQ==
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -21,6 +21,13 @@ export interface RuvLLMConfig {
|
|
|
21
21
|
qualityThreshold?: number;
|
|
22
22
|
/** EWC lambda (default: 2000) */
|
|
23
23
|
ewcLambda?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Throw instead of warning when the engine cannot produce language-model
|
|
26
|
+
* text: when a `modelPath` is passed (this package does not load GGUF
|
|
27
|
+
* files), and when `generate()`/`query()` would return text from the
|
|
28
|
+
* native engine, which has no language-model weights. Default false.
|
|
29
|
+
*/
|
|
30
|
+
strict?: boolean;
|
|
24
31
|
}
|
|
25
32
|
/**
|
|
26
33
|
* Generation configuration
|
|
@@ -72,9 +79,11 @@ export interface RoutingDecision {
|
|
|
72
79
|
/**
|
|
73
80
|
* Memory search result
|
|
74
81
|
*/
|
|
82
|
+
/** Identifier for a stored memory node. */
|
|
83
|
+
export type MemoryId = string | number;
|
|
75
84
|
export interface MemoryResult {
|
|
76
|
-
/** Node ID */
|
|
77
|
-
id:
|
|
85
|
+
/** Node ID — a UUID string on current native builds, a number on older ones. */
|
|
86
|
+
id: MemoryId;
|
|
78
87
|
/** Similarity score */
|
|
79
88
|
score: number;
|
|
80
89
|
/** Content text */
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iCAAiC;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8CAA8C;IAC9C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,oBAAoB;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB;IAChB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7D,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,wBAAwB;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,SAAS,GACT,mBAAmB,GACnB,YAAY,GACZ,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,4BAA4B;IAC5B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,oCAAoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wBAAwB;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,UAAU,EAAE,IAAI,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,WAAW,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,uBAAuB;IACvB,KAAK,EAAE,gBAAgB,CAAC;IACxB,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0CAA0C;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,cAAc,GACd,cAAc,CAAC;AAMnB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxD,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|