footprintjs 9.26.0 → 9.27.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
CHANGED
|
@@ -315,6 +315,10 @@ microtask checkpoint ("one beat behind"), fully drained before `run()`
|
|
|
315
315
|
returns. Same record, same order; the engine stops paying for observation.
|
|
316
316
|
Full model + FAQ: [Deferred observers guide](./docs/guides/observers-deferred.md).
|
|
317
317
|
|
|
318
|
+
How it stays fast, as patterns with numbers and the tests that pin them: [Performance patterns](./docs/guides/performance-patterns.md).
|
|
319
|
+
|
|
320
|
+
The record is the interface — write its shape from any runtime and get time travel, the fold and the Lens: [The record contract](./docs/guides/record-contract.md).
|
|
321
|
+
|
|
318
322
|
---
|
|
319
323
|
|
|
320
324
|
## Documentation
|
|
@@ -84,6 +84,16 @@ export function bundleRefusal(row) {
|
|
|
84
84
|
return 'updates is not a plain object';
|
|
85
85
|
if (row.overwrite !== undefined && !isPlainish(row.overwrite))
|
|
86
86
|
return 'overwrite is not a plain object';
|
|
87
|
+
// The four verbs are the contract (9.27.0). The replay's switch used to
|
|
88
|
+
// treat anything else as `merge` — a silent coercion of a row a foreign
|
|
89
|
+
// producer got wrong. A bundle with such a row is a gap, and says which.
|
|
90
|
+
for (let i = 0; i < row.trace.length; i++) {
|
|
91
|
+
const entry = row.trace[i];
|
|
92
|
+
const verb = isPlainish(entry) ? entry.verb : undefined;
|
|
93
|
+
if (verb !== 'set' && verb !== 'merge' && verb !== 'append' && verb !== 'delete') {
|
|
94
|
+
return `trace[${i}].verb is ${verb === undefined ? 'missing' : JSON.stringify(verb)}, not set | merge | append | delete`;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
87
97
|
return undefined;
|
|
88
98
|
}
|
|
89
99
|
/** `true` when `row` can be read as a {@link CommitBundle}. */
|
|
@@ -121,4 +131,4 @@ export function readLog(raw) {
|
|
|
121
131
|
const log = raw.map((row) => (isCommitBundle(row) ? row : GAP_BUNDLE));
|
|
122
132
|
return { log, gaps: Object.freeze(gaps) };
|
|
123
133
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdGltZS10cmF2ZWwvYnVuZGxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUtIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxHQUFpQixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdDLEtBQUssRUFBRSxFQUFFO0lBQ1QsT0FBTyxFQUFFLEVBQUU7SUFDWCxjQUFjLEVBQUUsRUFBRTtJQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQXFDO0lBQzVELGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBd0I7SUFDdkQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztDQUMzQixDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFjO0lBQ3ZDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYztJQUNyQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsS0FBa0MsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzdFLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBWTtJQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxrQkFBa0IsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDaEcsQ0FBQztJQUNELElBQUksT0FBTyxHQUFHLENBQUMsY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLE9BQU8scUJBQ0wsR0FBRyxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEdBQUcsQ0FBQyxjQUFjLEVBQy9FLGdCQUFnQixDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLFlBQVksR0FBRyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkcsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sK0JBQStCLENBQUM7SUFDbEcsSUFBSSxHQUFHLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQUUsT0FBTyxpQ0FBaUMsQ0FBQztJQUN4RyxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsK0RBQStEO0FBQy9ELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBWTtJQUN6QyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUM7QUFDMUMsQ0FBQztBQVVELDJFQUEyRTtBQUMzRSxNQUFNLE9BQU8sR0FBc0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVyRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBbUM7SUFDekQsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFFaEUsSUFBSSxJQUEwQixDQUFDO0lBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxLQUFLLFNBQVM7WUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUE4QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUV6RSxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBidW5kbGVzLnRzIOKAlCByZWFkaW5nIGEgbG9nIHdob3NlIHJvd3MgYXJlIG5vdCB0eXBlZCB5ZXQuXG4gKlxuICogV0hZIFRISVMgRklMRSBFWElTVFMuIEEgTElWRSBzbmFwc2hvdCBoYW5kcyB0aW1lIHRyYXZlbCByZWFsXG4gKiB7QGxpbmsgQ29tbWl0QnVuZGxlfXMuIEEgU1RPUkVEIHJlY29yZGluZyBoYW5kcyBpdCBwYXJzZWQgSlNPTiwgYW5kIGFcbiAqIGNhcmVmdWwgY29uc3VtZXIgd2lsbCBub3QgY2xhaW0gdGhhdCB3aGF0IGNhbWUgYmFjayBvZmYgZGlzayBpcyBhXG4gKiBgQ29tbWl0QnVuZGxlYCDigJQgc28gaXQgZWl0aGVyIGNhc3RzIChhIGxpZSB3aXRoIGEgY29tbWVudCBvbiBpdCkgb3IgY2Fubm90XG4gKiBjYWxsIHRoZSBsaWJyYXJ5IGF0IGFsbC4gU2luY2UgOS4xOC4wIHRoZSBzb3VyY2UgdGFrZXMgYHJlYWRvbmx5IHVua25vd25bXWBcbiAqIGFuZCB0aGUgbmFycm93aW5nIGhhcHBlbnMgaGVyZSwgcGVyIHJvdywgYXQgdGhlIG9uZSBwbGFjZSB0aGF0IGFjdHVhbGx5XG4gKiByZWFkcyBvbmUuXG4gKlxuICogQSByb3cgdGhhdCBpcyBub3QgYSBidW5kbGUgYmVjb21lcyBhIEdBUCByYXRoZXIgdGhhbiBhbiBleGNlcHRpb246IGl0IEtFRVBTXG4gKiBJVFMgSU5ERVgg4oCUIHNvIGV2ZXJ5IGBjb21taXRJZHhgIGluIHRoZSBheGlzIHN0aWxsIGFkZHJlc3NlcyB0aGUgc2FtZVxuICogcG9zaXRpb24g4oCUIGNvbnRyaWJ1dGVzIG5vIHN0YXRlLCBnZXRzIG5vIHN0b3AsIGFuZCBpcyByZXBvcnRlZCB3aXRoIGl0c1xuICogaW5kZXggYW5kIGEgcmVhc29uLiBPbmUgY29ycnVwdCByb3cgaW4gYSBzdG9yZWQgcmVjb3JkaW5nIGxvc2VzIHRoYXQgcm93LFxuICogbm90IHRoZSByZWNvcmRpbmcuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDb21taXRCdW5kbGUsIFN0YWdlU25hcHNob3QgfSBmcm9tICcuLi9tZW1vcnkvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBMb2dHYXAgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBUaGUgc3RhbmQtaW4gYSBnYXAgbGVhdmVzIGF0IGl0cyBpbmRleDogYSBjb21taXQgdGhhdCBiZWxvbmdzIHRvIG5vIHN0YWdlXG4gKiBhbmQgY2FycmllcyBub3RoaW5nLlxuICpcbiAqIEl0IGlzIE5PVCBpbnZlbnRlZCBldmlkZW5jZSDigJQgZXZlcnkgZmllbGQgaXMgdGhlIGVtcHR5IHZhbHVlLCBhbmQgYW4gaWQtbGVzc1xuICogYnVuZGxlIGlzIGEgc2hhcGUgdGhlIGxvZyBhbHJlYWR5IGhhcyAoYSByb290LWNvbnRleHQgY29tbWl0IG1hZGUgYmVmb3JlIGFueVxuICogc3RhZ2UgcmFuKS4gYGNvbW1pdFN0b3BzYCBnaXZlcyBpdCBubyBzdG9wIGZvciBleGFjdGx5IHRoYXQgcmVhc29uLCB0aGUgZm9sZFxuICogZm9sZHMgbm90aGluZyBmcm9tIGl0LCBhbmQgYGNoYW5nZWRTaW5jZWAgcmVhZHMgbm8ga2V5cyBvZmYgaXQuIFdoYXQgaXQgZG9lc1xuICogaXMgaG9sZCB0aGUgaW5kZXgsIHNvIHRoZSBhcml0aG1ldGljIGRvd25zdHJlYW0gbmV2ZXIgaGFzIHRvIGtub3cuXG4gKi9cbmNvbnN0IEdBUF9CVU5ETEU6IENvbW1pdEJ1bmRsZSA9IE9iamVjdC5mcmVlemUoe1xuICBzdGFnZTogJycsXG4gIHN0YWdlSWQ6ICcnLFxuICBydW50aW1lU3RhZ2VJZDogJycsXG4gIHRyYWNlOiBPYmplY3QuZnJlZXplKFtdKSBhcyB1bmtub3duIGFzIENvbW1pdEJ1bmRsZVsndHJhY2UnXSxcbiAgcmVkYWN0ZWRQYXRoczogT2JqZWN0LmZyZWV6ZShbXSkgYXMgdW5rbm93biBhcyBzdHJpbmdbXSxcbiAgb3ZlcndyaXRlOiBPYmplY3QuZnJlZXplKHt9KSxcbiAgdXBkYXRlczogT2JqZWN0LmZyZWV6ZSh7fSksXG59KTtcblxuLyoqIEEgcGxhaW4gb2JqZWN0IOKAlCBub3QgbnVsbCwgbm90IGFuIGFycmF5LCBub3QgYSBwcmltaXRpdmUuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQbGFpbmlzaCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuXG4vKipcbiAqIFJlYWQgYSBzb3VyY2UncyBgZXhlY3V0aW9uVHJlZWAgYXMgYSB7QGxpbmsgU3RhZ2VTbmFwc2hvdH0sIG9yIGFzIGFic2VudC5cbiAqXG4gKiBUaGUgdHJlZSBpcyBvbmx5IGV2ZXIgV0FMS0VEIGZvciBtb3VudCBpZHMgKGBzdWJmbG93SWRgICsgYHJ1bnRpbWVTdGFnZUlkYFxuICogb24gZWFjaCBub2RlKSwgc28gdGhlIGhvbmVzdCBuYXJyb3dpbmcgYSByZWFkZXIgY2FuIGRvIGlzIFwiYSBwbGFpbiBvYmplY3RcIjtcbiAqIGFueXRoaW5nIGVsc2Ug4oCUIGEgc3RvcmVkIGZpZWxkIHRoYXQgY2FtZSBiYWNrIGFzIGEgc3RyaW5nLCBhIG51bWJlciwgYW5cbiAqIGFycmF5IOKAlCBpcyByZWFkIGFzIG5vIHRyZWUgYXQgYWxsLCB3aGljaCBzZW5kcyBgY29tbWl0U3RvcHNgIGRvd24gdGhlIHNhbWVcbiAqIHNoYXBlLWhldXJpc3RpYyBwYXRoIGEgbG9nIGhhbmRlZCBvdmVyIHdpdGhvdXQgaXRzIHRyZWUgYWxyZWFkeSB0YWtlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRUcmVlKHZhbHVlOiB1bmtub3duKTogU3RhZ2VTbmFwc2hvdCB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpc1BsYWluaXNoKHZhbHVlKSA/ICh2YWx1ZSBhcyB1bmtub3duIGFzIFN0YWdlU25hcHNob3QpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFdoeSBgcm93YCBjYW5ub3QgYmUgcmVhZCBhcyBhIGNvbW1pdCBidW5kbGUsIG9yIGB1bmRlZmluZWRgIHdoZW4gaXQgY2FuLlxuICpcbiAqIERFTElCRVJBVEVMWSBMRU5JRU5UIOKAlCBidXQgZXhhY3RseSBhcyBsZW5pZW50IGFzIHRoZSByZWFkZXJzIGFyZS4gSXQgY2hlY2tzXG4gKiB3aGF0IHRoZSBmb2xkLCB0aGUgYXhpcyBhbmQgYGNoYW5nZWRTaW5jZWAgYWN0dWFsbHkgdG91Y2g6XG4gKlxuICogLSBgcnVudGltZVN0YWdlSWRgIG11c3QgYmUgYSBzdHJpbmcg4oCUIHRoZSBheGlzIGtleXMgb24gaXQuXG4gKiAtIGB0cmFjZWAgbXVzdCBiZSBhbiBBUlJBWSwgYW5kIGl0IG11c3QgYmUgUFJFU0VOVC4gSXQgaXMgdGhlIG9uZSBmaWVsZFxuICogICBldmVyeSByZWFkZXIgV0FMS1MgKGBhcHBseVNtYXJ0TWVyZ2VgIGl0ZXJhdGVzIGl0IHZlcmIgYnkgdmVyYjtcbiAqICAgYGNoYW5nZWRTaW5jZWAgcmVhZHMgaXRzIHBhdGhzKSwgc28gYSByb3cgd2l0aG91dCBvbmUgaXMgbm90IGEgYnVuZGxlIHRoZVxuICogICBmb2xkIGNhbiBzdXJ2aXZlIOKAlCBpdCBpcyB0aGUgY3Jhc2ggYSBnYXAgZXhpc3RzIHRvIHByZXZlbnQuIGBDb21taXRCdW5kbGVgXG4gKiAgIGRlY2xhcmVzIGl0IHJlcXVpcmVkLCBzbyBubyBsaXZlIGxvZyBpcyBhZmZlY3RlZC5cbiAqIC0gYHVwZGF0ZXNgIC8gYG92ZXJ3cml0ZWAsIHdoZW4gcHJlc2VudCwgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBUaGV5IGFyZVxuICogICByZWFkIG9ubHkgQVQgVEhFIFBBVEhTIFRIRSBUUkFDRSBOQU1FUywgc28gYW4gYWJzZW50IG9uZSBpcyBoYXJtbGVzcyBhbmRcbiAqICAgaXMgdG9sZXJhdGVkLCBleGFjdGx5IGFzIHRoZSBmb2xkIHRvbGVyYXRlcyBhbiBhYnNlbnQgYHJlZGFjdGVkUGF0aHNgLlxuICpcbiAqIEJlaW5nIHN0cmljdGVyIHRoYW4gdGhhdCDigJQgZGVtYW5kaW5nIGBzdGFnZWAsIGBzdGFnZUlkYCwgYGlkeGAg4oCUIHdvdWxkXG4gKiByZWplY3QgaGFuZC1idWlsdCBsb2dzIHRoYXQgaGF2ZSBmb2xkZWQgY29ycmVjdGx5IHNpbmNlIDkuMTcuMCwgd2hpY2ggaXMgYVxuICogY29tcGF0aWJpbGl0eSBicmVhayBkcmVzc2VkIHVwIGFzIHZhbGlkYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidW5kbGVSZWZ1c2FsKHJvdzogdW5rbm93bik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghaXNQbGFpbmlzaChyb3cpKSB7XG4gICAgcmV0dXJuIGBub3QgYW4gb2JqZWN0ICgke3JvdyA9PT0gbnVsbCA/ICdudWxsJyA6IEFycmF5LmlzQXJyYXkocm93KSA/ICdhcnJheScgOiB0eXBlb2Ygcm93fSlgO1xuICB9XG4gIGlmICh0eXBlb2Ygcm93LnJ1bnRpbWVTdGFnZUlkICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBgcnVudGltZVN0YWdlSWQgaXMgJHtcbiAgICAgIHJvdy5ydW50aW1lU3RhZ2VJZCA9PT0gdW5kZWZpbmVkID8gJ21pc3NpbmcnIDogYGEgJHt0eXBlb2Ygcm93LnJ1bnRpbWVTdGFnZUlkfWBcbiAgICB9LCBub3QgYSBzdHJpbmdgO1xuICB9XG4gIGlmICghQXJyYXkuaXNBcnJheShyb3cudHJhY2UpKSB7XG4gICAgcmV0dXJuIGB0cmFjZSBpcyAke3Jvdy50cmFjZSA9PT0gdW5kZWZpbmVkID8gJ21pc3NpbmcnIDogYGEgJHt0eXBlb2Ygcm93LnRyYWNlfWB9LCBub3QgYW4gYXJyYXlgO1xuICB9XG4gIGlmIChyb3cudXBkYXRlcyAhPT0gdW5kZWZpbmVkICYmICFpc1BsYWluaXNoKHJvdy51cGRhdGVzKSkgcmV0dXJuICd1cGRhdGVzIGlzIG5vdCBhIHBsYWluIG9iamVjdCc7XG4gIGlmIChyb3cub3ZlcndyaXRlICE9PSB1bmRlZmluZWQgJiYgIWlzUGxhaW5pc2gocm93Lm92ZXJ3cml0ZSkpIHJldHVybiAnb3ZlcndyaXRlIGlzIG5vdCBhIHBsYWluIG9iamVjdCc7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBgdHJ1ZWAgd2hlbiBgcm93YCBjYW4gYmUgcmVhZCBhcyBhIHtAbGluayBDb21taXRCdW5kbGV9LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29tbWl0QnVuZGxlKHJvdzogdW5rbm93bik6IHJvdyBpcyBDb21taXRCdW5kbGUge1xuICByZXR1cm4gYnVuZGxlUmVmdXNhbChyb3cpID09PSB1bmRlZmluZWQ7XG59XG5cbi8qKiBBIGxvZyByZWFkIHJvdyBieSByb3c6IHRoZSBidW5kbGVzLCBpbmRleC1hbGlnbmVkLCBwbHVzIHdoYXQgd2FzIHJlZnVzZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlYWRMb2cge1xuICAvKiogU2FtZSBsZW5ndGggYW5kIG9yZGVyIGFzIHRoZSBpbnB1dDsgYSByZWZ1c2VkIHJvdyBob2xkcyBhIEdBUCBzdGFuZC1pbi4gKi9cbiAgcmVhZG9ubHkgbG9nOiByZWFkb25seSBDb21taXRCdW5kbGVbXTtcbiAgLyoqIFRoZSByZWZ1c2VkIHJvd3MsIGluIGluZGV4IG9yZGVyLiBFbXB0eSB3aGVuIHRoZSBsb2cgd2FzIGNsZWFuLiAqL1xuICByZWFkb25seSBnYXBzOiByZWFkb25seSBMb2dHYXBbXTtcbn1cblxuLyoqIE5vdGhpbmcgdG8gcmVhZCDigJQgc2hhcmVkLCBzbyB0aGUgY2xlYW4gcGF0aCBhbGxvY2F0ZXMgbm90aGluZyBleHRyYS4gKi9cbmNvbnN0IE5PX0dBUFM6IHJlYWRvbmx5IExvZ0dhcFtdID0gT2JqZWN0LmZyZWV6ZShbXSk7XG5cbi8qKlxuICogUmVhZCBhbiB1bnZhbGlkYXRlZCBhcnJheSBhcyBhIGNvbW1pdCBsb2cuXG4gKlxuICogVGhlIGNsZWFuIGNhc2UgKGEgbGl2ZSBzbmFwc2hvdCwgb3IgYSBzdG9yZWQgcmVjb3JkaW5nIHRoYXQgcm91bmQtdHJpcHBlZFxuICogaW50YWN0KSByZXR1cm5zIHRoZSBTQU1FIGFycmF5IHJlZmVyZW5jZSBhbmQgbm8gZ2Fwczogbm90aGluZyBpcyBjb3BpZWQsXG4gKiBub3RoaW5nIGlzIGFsbG9jYXRlZCwgYW5kIHRoZSBmb2xkIGJlaGF2ZXMgYnl0ZSBmb3IgYnl0ZSBhcyBpdCBkaWQgaW5cbiAqIDkuMTcuMC4gT25seSBhIGxvZyB3aXRoIGEgcmVmdXNlZCByb3cgaXMgcmVidWlsdCwgYW5kIG9ubHkgdG8ga2VlcCB0aGVcbiAqIGluZGljZXMgYWxpZ25lZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgeyBsb2csIGdhcHMgfSA9IHJlYWRMb2coSlNPTi5wYXJzZShzdG9yZWQpLmNvbW1pdExvZyk7XG4gKiBnYXBzOyAvLyBbeyBpbmRleDogMywgcmVhc29uOiAnbm90IGFuIG9iamVjdCAobnVsbCknIH1dXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRMb2cocmF3OiByZWFkb25seSB1bmtub3duW10gfCB1bmRlZmluZWQpOiBSZWFkTG9nIHtcbiAgaWYgKCFyYXcgfHwgcmF3Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIHsgbG9nOiBbXSwgZ2FwczogTk9fR0FQUyB9O1xuXG4gIGxldCBnYXBzOiBMb2dHYXBbXSB8IHVuZGVmaW5lZDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByYXcubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByZWFzb24gPSBidW5kbGVSZWZ1c2FsKHJhd1tpXSk7XG4gICAgaWYgKHJlYXNvbiAhPT0gdW5kZWZpbmVkKSAoZ2FwcyA/Pz0gW10pLnB1c2goeyBpbmRleDogaSwgcmVhc29uIH0pO1xuICB9XG4gIGlmICghZ2FwcykgcmV0dXJuIHsgbG9nOiByYXcgYXMgcmVhZG9ubHkgQ29tbWl0QnVuZGxlW10sIGdhcHM6IE5PX0dBUFMgfTtcblxuICBjb25zdCBsb2cgPSByYXcubWFwKChyb3cpID0+IChpc0NvbW1pdEJ1bmRsZShyb3cpID8gcm93IDogR0FQX0JVTkRMRSkpO1xuICByZXR1cm4geyBsb2csIGdhcHM6IE9iamVjdC5mcmVlemUoZ2FwcykgfTtcbn1cbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdGltZS10cmF2ZWwvYnVuZGxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUtIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxHQUFpQixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdDLEtBQUssRUFBRSxFQUFFO0lBQ1QsT0FBTyxFQUFFLEVBQUU7SUFDWCxjQUFjLEVBQUUsRUFBRTtJQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQXFDO0lBQzVELGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBd0I7SUFDdkQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztDQUMzQixDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFjO0lBQ3ZDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYztJQUNyQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsS0FBa0MsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzdFLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBWTtJQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxrQkFBa0IsR0FBRyxLQUFLLElBQUks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S0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUE4QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUV6RSxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBidW5kbGVzLnRzIOKAlCByZWFkaW5nIGEgbG9nIHdob3NlIHJvd3MgYXJlIG5vdCB0eXBlZCB5ZXQuXG4gKlxuICogV0hZIFRISVMgRklMRSBFWElTVFMuIEEgTElWRSBzbmFwc2hvdCBoYW5kcyB0aW1lIHRyYXZlbCByZWFsXG4gKiB7QGxpbmsgQ29tbWl0QnVuZGxlfXMuIEEgU1RPUkVEIHJlY29yZGluZyBoYW5kcyBpdCBwYXJzZWQgSlNPTiwgYW5kIGFcbiAqIGNhcmVmdWwgY29uc3VtZXIgd2lsbCBub3QgY2xhaW0gdGhhdCB3aGF0IGNhbWUgYmFjayBvZmYgZGlzayBpcyBhXG4gKiBgQ29tbWl0QnVuZGxlYCDigJQgc28gaXQgZWl0aGVyIGNhc3RzIChhIGxpZSB3aXRoIGEgY29tbWVudCBvbiBpdCkgb3IgY2Fubm90XG4gKiBjYWxsIHRoZSBsaWJyYXJ5IGF0IGFsbC4gU2luY2UgOS4xOC4wIHRoZSBzb3VyY2UgdGFrZXMgYHJlYWRvbmx5IHVua25vd25bXWBcbiAqIGFuZCB0aGUgbmFycm93aW5nIGhhcHBlbnMgaGVyZSwgcGVyIHJvdywgYXQgdGhlIG9uZSBwbGFjZSB0aGF0IGFjdHVhbGx5XG4gKiByZWFkcyBvbmUuXG4gKlxuICogQSByb3cgdGhhdCBpcyBub3QgYSBidW5kbGUgYmVjb21lcyBhIEdBUCByYXRoZXIgdGhhbiBhbiBleGNlcHRpb246IGl0IEtFRVBTXG4gKiBJVFMgSU5ERVgg4oCUIHNvIGV2ZXJ5IGBjb21taXRJZHhgIGluIHRoZSBheGlzIHN0aWxsIGFkZHJlc3NlcyB0aGUgc2FtZVxuICogcG9zaXRpb24g4oCUIGNvbnRyaWJ1dGVzIG5vIHN0YXRlLCBnZXRzIG5vIHN0b3AsIGFuZCBpcyByZXBvcnRlZCB3aXRoIGl0c1xuICogaW5kZXggYW5kIGEgcmVhc29uLiBPbmUgY29ycnVwdCByb3cgaW4gYSBzdG9yZWQgcmVjb3JkaW5nIGxvc2VzIHRoYXQgcm93LFxuICogbm90IHRoZSByZWNvcmRpbmcuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDb21taXRCdW5kbGUsIFN0YWdlU25hcHNob3QgfSBmcm9tICcuLi9tZW1vcnkvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBMb2dHYXAgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBUaGUgc3RhbmQtaW4gYSBnYXAgbGVhdmVzIGF0IGl0cyBpbmRleDogYSBjb21taXQgdGhhdCBiZWxvbmdzIHRvIG5vIHN0YWdlXG4gKiBhbmQgY2FycmllcyBub3RoaW5nLlxuICpcbiAqIEl0IGlzIE5PVCBpbnZlbnRlZCBldmlkZW5jZSDigJQgZXZlcnkgZmllbGQgaXMgdGhlIGVtcHR5IHZhbHVlLCBhbmQgYW4gaWQtbGVzc1xuICogYnVuZGxlIGlzIGEgc2hhcGUgdGhlIGxvZyBhbHJlYWR5IGhhcyAoYSByb290LWNvbnRleHQgY29tbWl0IG1hZGUgYmVmb3JlIGFueVxuICogc3RhZ2UgcmFuKS4gYGNvbW1pdFN0b3BzYCBnaXZlcyBpdCBubyBzdG9wIGZvciBleGFjdGx5IHRoYXQgcmVhc29uLCB0aGUgZm9sZFxuICogZm9sZHMgbm90aGluZyBmcm9tIGl0LCBhbmQgYGNoYW5nZWRTaW5jZWAgcmVhZHMgbm8ga2V5cyBvZmYgaXQuIFdoYXQgaXQgZG9lc1xuICogaXMgaG9sZCB0aGUgaW5kZXgsIHNvIHRoZSBhcml0aG1ldGljIGRvd25zdHJlYW0gbmV2ZXIgaGFzIHRvIGtub3cuXG4gKi9cbmNvbnN0IEdBUF9CVU5ETEU6IENvbW1pdEJ1bmRsZSA9IE9iamVjdC5mcmVlemUoe1xuICBzdGFnZTogJycsXG4gIHN0YWdlSWQ6ICcnLFxuICBydW50aW1lU3RhZ2VJZDogJycsXG4gIHRyYWNlOiBPYmplY3QuZnJlZXplKFtdKSBhcyB1bmtub3duIGFzIENvbW1pdEJ1bmRsZVsndHJhY2UnXSxcbiAgcmVkYWN0ZWRQYXRoczogT2JqZWN0LmZyZWV6ZShbXSkgYXMgdW5rbm93biBhcyBzdHJpbmdbXSxcbiAgb3ZlcndyaXRlOiBPYmplY3QuZnJlZXplKHt9KSxcbiAgdXBkYXRlczogT2JqZWN0LmZyZWV6ZSh7fSksXG59KTtcblxuLyoqIEEgcGxhaW4gb2JqZWN0IOKAlCBub3QgbnVsbCwgbm90IGFuIGFycmF5LCBub3QgYSBwcmltaXRpdmUuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQbGFpbmlzaCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuXG4vKipcbiAqIFJlYWQgYSBzb3VyY2UncyBgZXhlY3V0aW9uVHJlZWAgYXMgYSB7QGxpbmsgU3RhZ2VTbmFwc2hvdH0sIG9yIGFzIGFic2VudC5cbiAqXG4gKiBUaGUgdHJlZSBpcyBvbmx5IGV2ZXIgV0FMS0VEIGZvciBtb3VudCBpZHMgKGBzdWJmbG93SWRgICsgYHJ1bnRpbWVTdGFnZUlkYFxuICogb24gZWFjaCBub2RlKSwgc28gdGhlIGhvbmVzdCBuYXJyb3dpbmcgYSByZWFkZXIgY2FuIGRvIGlzIFwiYSBwbGFpbiBvYmplY3RcIjtcbiAqIGFueXRoaW5nIGVsc2Ug4oCUIGEgc3RvcmVkIGZpZWxkIHRoYXQgY2FtZSBiYWNrIGFzIGEgc3RyaW5nLCBhIG51bWJlciwgYW5cbiAqIGFycmF5IOKAlCBpcyByZWFkIGFzIG5vIHRyZWUgYXQgYWxsLCB3aGljaCBzZW5kcyBgY29tbWl0U3RvcHNgIGRvd24gdGhlIHNhbWVcbiAqIHNoYXBlLWhldXJpc3RpYyBwYXRoIGEgbG9nIGhhbmRlZCBvdmVyIHdpdGhvdXQgaXRzIHRyZWUgYWxyZWFkeSB0YWtlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRUcmVlKHZhbHVlOiB1bmtub3duKTogU3RhZ2VTbmFwc2hvdCB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpc1BsYWluaXNoKHZhbHVlKSA/ICh2YWx1ZSBhcyB1bmtub3duIGFzIFN0YWdlU25hcHNob3QpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFdoeSBgcm93YCBjYW5ub3QgYmUgcmVhZCBhcyBhIGNvbW1pdCBidW5kbGUsIG9yIGB1bmRlZmluZWRgIHdoZW4gaXQgY2FuLlxuICpcbiAqIERFTElCRVJBVEVMWSBMRU5JRU5UIOKAlCBidXQgZXhhY3RseSBhcyBsZW5pZW50IGFzIHRoZSByZWFkZXJzIGFyZS4gSXQgY2hlY2tzXG4gKiB3aGF0IHRoZSBmb2xkLCB0aGUgYXhpcyBhbmQgYGNoYW5nZWRTaW5jZWAgYWN0dWFsbHkgdG91Y2g6XG4gKlxuICogLSBgcnVudGltZVN0YWdlSWRgIG11c3QgYmUgYSBzdHJpbmcg4oCUIHRoZSBheGlzIGtleXMgb24gaXQuXG4gKiAtIGB0cmFjZWAgbXVzdCBiZSBhbiBBUlJBWSwgYW5kIGl0IG11c3QgYmUgUFJFU0VOVC4gSXQgaXMgdGhlIG9uZSBmaWVsZFxuICogICBldmVyeSByZWFkZXIgV0FMS1MgKGBhcHBseVNtYXJ0TWVyZ2VgIGl0ZXJhdGVzIGl0IHZlcmIgYnkgdmVyYjtcbiAqICAgYGNoYW5nZWRTaW5jZWAgcmVhZHMgaXRzIHBhdGhzKSwgc28gYSByb3cgd2l0aG91dCBvbmUgaXMgbm90IGEgYnVuZGxlIHRoZVxuICogICBmb2xkIGNhbiBzdXJ2aXZlIOKAlCBpdCBpcyB0aGUgY3Jhc2ggYSBnYXAgZXhpc3RzIHRvIHByZXZlbnQuIGBDb21taXRCdW5kbGVgXG4gKiAgIGRlY2xhcmVzIGl0IHJlcXVpcmVkLCBzbyBubyBsaXZlIGxvZyBpcyBhZmZlY3RlZC5cbiAqIC0gYHVwZGF0ZXNgIC8gYG92ZXJ3cml0ZWAsIHdoZW4gcHJlc2VudCwgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBUaGV5IGFyZVxuICogICByZWFkIG9ubHkgQVQgVEhFIFBBVEhTIFRIRSBUUkFDRSBOQU1FUywgc28gYW4gYWJzZW50IG9uZSBpcyBoYXJtbGVzcyBhbmRcbiAqICAgaXMgdG9sZXJhdGVkLCBleGFjdGx5IGFzIHRoZSBmb2xkIHRvbGVyYXRlcyBhbiBhYnNlbnQgYHJlZGFjdGVkUGF0aHNgLlxuICpcbiAqIEJlaW5nIHN0cmljdGVyIHRoYW4gdGhhdCDigJQgZGVtYW5kaW5nIGBzdGFnZWAsIGBzdGFnZUlkYCwgYGlkeGAg4oCUIHdvdWxkXG4gKiByZWplY3QgaGFuZC1idWlsdCBsb2dzIHRoYXQgaGF2ZSBmb2xkZWQgY29ycmVjdGx5IHNpbmNlIDkuMTcuMCwgd2hpY2ggaXMgYVxuICogY29tcGF0aWJpbGl0eSBicmVhayBkcmVzc2VkIHVwIGFzIHZhbGlkYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidW5kbGVSZWZ1c2FsKHJvdzogdW5rbm93bik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghaXNQbGFpbmlzaChyb3cpKSB7XG4gICAgcmV0dXJuIGBub3QgYW4gb2JqZWN0ICgke3JvdyA9PT0gbnVsbCA/ICdudWxsJyA6IEFycmF5LmlzQXJyYXkocm93KSA/ICdhcnJheScgOiB0eXBlb2Ygcm93fSlgO1xuICB9XG4gIGlmICh0eXBlb2Ygcm93LnJ1bnRpbWVTdGFnZUlkICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBgcnVudGltZVN0YWdlSWQgaXMgJHtcbiAgICAgIHJvdy5ydW50aW1lU3RhZ2VJZCA9PT0gdW5kZWZpbmVkID8gJ21pc3NpbmcnIDogYGEgJHt0eXBlb2Ygcm93LnJ1bnRpbWVTdGFnZUlkfWBcbiAgICB9LCBub3QgYSBzdHJpbmdgO1xuICB9XG4gIGlmICghQXJyYXkuaXNBcnJheShyb3cudHJhY2UpKSB7XG4gICAgcmV0dXJuIGB0cmFjZSBpcyAke3Jvdy50cmFjZSA9PT0gdW5kZWZpbmVkID8gJ21pc3NpbmcnIDogYGEgJHt0eXBlb2Ygcm93LnRyYWNlfWB9LCBub3QgYW4gYXJyYXlgO1xuICB9XG4gIGlmIChyb3cudXBkYXRlcyAhPT0gdW5kZWZpbmVkICYmICFpc1BsYWluaXNoKHJvdy51cGRhdGVzKSkgcmV0dXJuICd1cGRhdGVzIGlzIG5vdCBhIHBsYWluIG9iamVjdCc7XG4gIGlmIChyb3cub3ZlcndyaXRlICE9PSB1bmRlZmluZWQgJiYgIWlzUGxhaW5pc2gocm93Lm92ZXJ3cml0ZSkpIHJldHVybiAnb3ZlcndyaXRlIGlzIG5vdCBhIHBsYWluIG9iamVjdCc7XG4gIC8vIFRoZSBmb3VyIHZlcmJzIGFyZSB0aGUgY29udHJhY3QgKDkuMjcuMCkuIFRoZSByZXBsYXkncyBzd2l0Y2ggdXNlZCB0b1xuICAvLyB0cmVhdCBhbnl0aGluZyBlbHNlIGFzIGBtZXJnZWAg4oCUIGEgc2lsZW50IGNvZXJjaW9uIG9mIGEgcm93IGEgZm9yZWlnblxuICAvLyBwcm9kdWNlciBnb3Qgd3JvbmcuIEEgYnVuZGxlIHdpdGggc3VjaCBhIHJvdyBpcyBhIGdhcCwgYW5kIHNheXMgd2hpY2guXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcm93LnRyYWNlLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgZW50cnk6IHVua25vd24gPSByb3cudHJhY2VbaV07XG4gICAgY29uc3QgdmVyYiA9IGlzUGxhaW5pc2goZW50cnkpID8gZW50cnkudmVyYiA6IHVuZGVmaW5lZDtcbiAgICBpZiAodmVyYiAhPT0gJ3NldCcgJiYgdmVyYiAhPT0gJ21lcmdlJyAmJiB2ZXJiICE9PSAnYXBwZW5kJyAmJiB2ZXJiICE9PSAnZGVsZXRlJykge1xuICAgICAgcmV0dXJuIGB0cmFjZVske2l9XS52ZXJiIGlzICR7XG4gICAgICAgIHZlcmIgPT09IHVuZGVmaW5lZCA/ICdtaXNzaW5nJyA6IEpTT04uc3RyaW5naWZ5KHZlcmIpXG4gICAgICB9LCBub3Qgc2V0IHwgbWVyZ2UgfCBhcHBlbmQgfCBkZWxldGVgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKiogYHRydWVgIHdoZW4gYHJvd2AgY2FuIGJlIHJlYWQgYXMgYSB7QGxpbmsgQ29tbWl0QnVuZGxlfS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbW1pdEJ1bmRsZShyb3c6IHVua25vd24pOiByb3cgaXMgQ29tbWl0QnVuZGxlIHtcbiAgcmV0dXJuIGJ1bmRsZVJlZnVzYWwocm93KSA9PT0gdW5kZWZpbmVkO1xufVxuXG4vKiogQSBsb2cgcmVhZCByb3cgYnkgcm93OiB0aGUgYnVuZGxlcywgaW5kZXgtYWxpZ25lZCwgcGx1cyB3aGF0IHdhcyByZWZ1c2VkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWFkTG9nIHtcbiAgLyoqIFNhbWUgbGVuZ3RoIGFuZCBvcmRlciBhcyB0aGUgaW5wdXQ7IGEgcmVmdXNlZCByb3cgaG9sZHMgYSBHQVAgc3RhbmQtaW4uICovXG4gIHJlYWRvbmx5IGxvZzogcmVhZG9ubHkgQ29tbWl0QnVuZGxlW107XG4gIC8qKiBUaGUgcmVmdXNlZCByb3dzLCBpbiBpbmRleCBvcmRlci4gRW1wdHkgd2hlbiB0aGUgbG9nIHdhcyBjbGVhbi4gKi9cbiAgcmVhZG9ubHkgZ2FwczogcmVhZG9ubHkgTG9nR2FwW107XG59XG5cbi8qKiBOb3RoaW5nIHRvIHJlYWQg4oCUIHNoYXJlZCwgc28gdGhlIGNsZWFuIHBhdGggYWxsb2NhdGVzIG5vdGhpbmcgZXh0cmEuICovXG5jb25zdCBOT19HQVBTOiByZWFkb25seSBMb2dHYXBbXSA9IE9iamVjdC5mcmVlemUoW10pO1xuXG4vKipcbiAqIFJlYWQgYW4gdW52YWxpZGF0ZWQgYXJyYXkgYXMgYSBjb21taXQgbG9nLlxuICpcbiAqIFRoZSBjbGVhbiBjYXNlIChhIGxpdmUgc25hcHNob3QsIG9yIGEgc3RvcmVkIHJlY29yZGluZyB0aGF0IHJvdW5kLXRyaXBwZWRcbiAqIGludGFjdCkgcmV0dXJucyB0aGUgU0FNRSBhcnJheSByZWZlcmVuY2UgYW5kIG5vIGdhcHM6IG5vdGhpbmcgaXMgY29waWVkLFxuICogbm90aGluZyBpcyBhbGxvY2F0ZWQsIGFuZCB0aGUgZm9sZCBiZWhhdmVzIGJ5dGUgZm9yIGJ5dGUgYXMgaXQgZGlkIGluXG4gKiA5LjE3LjAuIE9ubHkgYSBsb2cgd2l0aCBhIHJlZnVzZWQgcm93IGlzIHJlYnVpbHQsIGFuZCBvbmx5IHRvIGtlZXAgdGhlXG4gKiBpbmRpY2VzIGFsaWduZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHsgbG9nLCBnYXBzIH0gPSByZWFkTG9nKEpTT04ucGFyc2Uoc3RvcmVkKS5jb21taXRMb2cpO1xuICogZ2FwczsgLy8gW3sgaW5kZXg6IDMsIHJlYXNvbjogJ25vdCBhbiBvYmplY3QgKG51bGwpJyB9XVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkTG9nKHJhdzogcmVhZG9ubHkgdW5rbm93bltdIHwgdW5kZWZpbmVkKTogUmVhZExvZyB7XG4gIGlmICghcmF3IHx8IHJhdy5sZW5ndGggPT09IDApIHJldHVybiB7IGxvZzogW10sIGdhcHM6IE5PX0dBUFMgfTtcblxuICBsZXQgZ2FwczogTG9nR2FwW10gfCB1bmRlZmluZWQ7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3Lmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcmVhc29uID0gYnVuZGxlUmVmdXNhbChyYXdbaV0pO1xuICAgIGlmIChyZWFzb24gIT09IHVuZGVmaW5lZCkgKGdhcHMgPz89IFtdKS5wdXNoKHsgaW5kZXg6IGksIHJlYXNvbiB9KTtcbiAgfVxuICBpZiAoIWdhcHMpIHJldHVybiB7IGxvZzogcmF3IGFzIHJlYWRvbmx5IENvbW1pdEJ1bmRsZVtdLCBnYXBzOiBOT19HQVBTIH07XG5cbiAgY29uc3QgbG9nID0gcmF3Lm1hcCgocm93KSA9PiAoaXNDb21taXRCdW5kbGUocm93KSA/IHJvdyA6IEdBUF9CVU5ETEUpKTtcbiAgcmV0dXJuIHsgbG9nLCBnYXBzOiBPYmplY3QuZnJlZXplKGdhcHMpIH07XG59XG4iXX0=
|
|
@@ -89,6 +89,16 @@ function bundleRefusal(row) {
|
|
|
89
89
|
return 'updates is not a plain object';
|
|
90
90
|
if (row.overwrite !== undefined && !isPlainish(row.overwrite))
|
|
91
91
|
return 'overwrite is not a plain object';
|
|
92
|
+
// The four verbs are the contract (9.27.0). The replay's switch used to
|
|
93
|
+
// treat anything else as `merge` — a silent coercion of a row a foreign
|
|
94
|
+
// producer got wrong. A bundle with such a row is a gap, and says which.
|
|
95
|
+
for (let i = 0; i < row.trace.length; i++) {
|
|
96
|
+
const entry = row.trace[i];
|
|
97
|
+
const verb = isPlainish(entry) ? entry.verb : undefined;
|
|
98
|
+
if (verb !== 'set' && verb !== 'merge' && verb !== 'append' && verb !== 'delete') {
|
|
99
|
+
return `trace[${i}].verb is ${verb === undefined ? 'missing' : JSON.stringify(verb)}, not set | merge | append | delete`;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
92
102
|
return undefined;
|
|
93
103
|
}
|
|
94
104
|
exports.bundleRefusal = bundleRefusal;
|
|
@@ -129,4 +139,4 @@ function readLog(raw) {
|
|
|
129
139
|
return { log, gaps: Object.freeze(gaps) };
|
|
130
140
|
}
|
|
131
141
|
exports.readLog = readLog;
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGltZS10cmF2ZWwvYnVuZGxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7OztBQUtIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxHQUFpQixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdDLEtBQUssRUFBRSxFQUFFO0lBQ1QsT0FBTyxFQUFFLEVBQUU7SUFDWCxjQUFjLEVBQUUsRUFBRTtJQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQXFDO0lBQzVELGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBd0I7SUFDdkQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztDQUMzQixDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsU0FBZ0IsVUFBVSxDQUFDLEtBQWM7SUFDdkMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUZELGdDQUVDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixRQUFRLENBQUMsS0FBYztJQUNyQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsS0FBa0MsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzdFLENBQUM7QUFGRCw0QkFFQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEdBQVk7SUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sa0JBQWtCLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2hHLENBQUM7SUFDRCxJQUFJLE9BQU8sR0FBRyxDQUFDLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPLHFCQUNMLEdBQUcsQ0FBQyxjQUFjLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxHQUFHLENBQUMsY0FBYyxFQUMvRSxnQkFBZ0IsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxZQUFZLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDO0lBQ25HLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFBRSxPQUFPLCtCQUErQixDQUFDO0lBQ2xHLElBQUksR0FBRyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUFFLE9BQU8saUNBQWlDLENBQUM7SUFDeEcsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQWZELHNDQWVDO0FBRUQsK0RBQStEO0FBQy9ELFNBQWdCLGNBQWMsQ0FBQyxHQUFZO0lBQ3pDLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUMxQyxDQUFDO0FBRkQsd0NBRUM7QUFVRCwyRUFBMkU7QUFDM0UsTUFBTSxPQUFPLEdBQXNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFckQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxTQUFnQixPQUFPLENBQUMsR0FBbUM7SUFDekQsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFFaEUsSUFBSSxJQUEwQixDQUFDO0lBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxLQUFLLFNBQVM7WUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUE4QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUV6RSxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxDQUFDO0FBWkQsMEJBWUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGJ1bmRsZXMudHMg4oCUIHJlYWRpbmcgYSBsb2cgd2hvc2Ugcm93cyBhcmUgbm90IHR5cGVkIHlldC5cbiAqXG4gKiBXSFkgVEhJUyBGSUxFIEVYSVNUUy4gQSBMSVZFIHNuYXBzaG90IGhhbmRzIHRpbWUgdHJhdmVsIHJlYWxcbiAqIHtAbGluayBDb21taXRCdW5kbGV9cy4gQSBTVE9SRUQgcmVjb3JkaW5nIGhhbmRzIGl0IHBhcnNlZCBKU09OLCBhbmQgYVxuICogY2FyZWZ1bCBjb25zdW1lciB3aWxsIG5vdCBjbGFpbSB0aGF0IHdoYXQgY2FtZSBiYWNrIG9mZiBkaXNrIGlzIGFcbiAqIGBDb21taXRCdW5kbGVgIOKAlCBzbyBpdCBlaXRoZXIgY2FzdHMgKGEgbGllIHdpdGggYSBjb21tZW50IG9uIGl0KSBvciBjYW5ub3RcbiAqIGNhbGwgdGhlIGxpYnJhcnkgYXQgYWxsLiBTaW5jZSA5LjE4LjAgdGhlIHNvdXJjZSB0YWtlcyBgcmVhZG9ubHkgdW5rbm93bltdYFxuICogYW5kIHRoZSBuYXJyb3dpbmcgaGFwcGVucyBoZXJlLCBwZXIgcm93LCBhdCB0aGUgb25lIHBsYWNlIHRoYXQgYWN0dWFsbHlcbiAqIHJlYWRzIG9uZS5cbiAqXG4gKiBBIHJvdyB0aGF0IGlzIG5vdCBhIGJ1bmRsZSBiZWNvbWVzIGEgR0FQIHJhdGhlciB0aGFuIGFuIGV4Y2VwdGlvbjogaXQgS0VFUFNcbiAqIElUUyBJTkRFWCDigJQgc28gZXZlcnkgYGNvbW1pdElkeGAgaW4gdGhlIGF4aXMgc3RpbGwgYWRkcmVzc2VzIHRoZSBzYW1lXG4gKiBwb3NpdGlvbiDigJQgY29udHJpYnV0ZXMgbm8gc3RhdGUsIGdldHMgbm8gc3RvcCwgYW5kIGlzIHJlcG9ydGVkIHdpdGggaXRzXG4gKiBpbmRleCBhbmQgYSByZWFzb24uIE9uZSBjb3JydXB0IHJvdyBpbiBhIHN0b3JlZCByZWNvcmRpbmcgbG9zZXMgdGhhdCByb3csXG4gKiBub3QgdGhlIHJlY29yZGluZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvbW1pdEJ1bmRsZSwgU3RhZ2VTbmFwc2hvdCB9IGZyb20gJy4uL21lbW9yeS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IExvZ0dhcCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFRoZSBzdGFuZC1pbiBhIGdhcCBsZWF2ZXMgYXQgaXRzIGluZGV4OiBhIGNvbW1pdCB0aGF0IGJlbG9uZ3MgdG8gbm8gc3RhZ2VcbiAqIGFuZCBjYXJyaWVzIG5vdGhpbmcuXG4gKlxuICogSXQgaXMgTk9UIGludmVudGVkIGV2aWRlbmNlIOKAlCBldmVyeSBmaWVsZCBpcyB0aGUgZW1wdHkgdmFsdWUsIGFuZCBhbiBpZC1sZXNzXG4gKiBidW5kbGUgaXMgYSBzaGFwZSB0aGUgbG9nIGFscmVhZHkgaGFzIChhIHJvb3QtY29udGV4dCBjb21taXQgbWFkZSBiZWZvcmUgYW55XG4gKiBzdGFnZSByYW4pLiBgY29tbWl0U3RvcHNgIGdpdmVzIGl0IG5vIHN0b3AgZm9yIGV4YWN0bHkgdGhhdCByZWFzb24sIHRoZSBmb2xkXG4gKiBmb2xkcyBub3RoaW5nIGZyb20gaXQsIGFuZCBgY2hhbmdlZFNpbmNlYCByZWFkcyBubyBrZXlzIG9mZiBpdC4gV2hhdCBpdCBkb2VzXG4gKiBpcyBob2xkIHRoZSBpbmRleCwgc28gdGhlIGFyaXRobWV0aWMgZG93bnN0cmVhbSBuZXZlciBoYXMgdG8ga25vdy5cbiAqL1xuY29uc3QgR0FQX0JVTkRMRTogQ29tbWl0QnVuZGxlID0gT2JqZWN0LmZyZWV6ZSh7XG4gIHN0YWdlOiAnJyxcbiAgc3RhZ2VJZDogJycsXG4gIHJ1bnRpbWVTdGFnZUlkOiAnJyxcbiAgdHJhY2U6IE9iamVjdC5mcmVlemUoW10pIGFzIHVua25vd24gYXMgQ29tbWl0QnVuZGxlWyd0cmFjZSddLFxuICByZWRhY3RlZFBhdGhzOiBPYmplY3QuZnJlZXplKFtdKSBhcyB1bmtub3duIGFzIHN0cmluZ1tdLFxuICBvdmVyd3JpdGU6IE9iamVjdC5mcmVlemUoe30pLFxuICB1cGRhdGVzOiBPYmplY3QuZnJlZXplKHt9KSxcbn0pO1xuXG4vKiogQSBwbGFpbiBvYmplY3Qg4oCUIG5vdCBudWxsLCBub3QgYW4gYXJyYXksIG5vdCBhIHByaW1pdGl2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1BsYWluaXNoKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5cbi8qKlxuICogUmVhZCBhIHNvdXJjZSdzIGBleGVjdXRpb25UcmVlYCBhcyBhIHtAbGluayBTdGFnZVNuYXBzaG90fSwgb3IgYXMgYWJzZW50LlxuICpcbiAqIFRoZSB0cmVlIGlzIG9ubHkgZXZlciBXQUxLRUQgZm9yIG1vdW50IGlkcyAoYHN1YmZsb3dJZGAgKyBgcnVudGltZVN0YWdlSWRgXG4gKiBvbiBlYWNoIG5vZGUpLCBzbyB0aGUgaG9uZXN0IG5hcnJvd2luZyBhIHJlYWRlciBjYW4gZG8gaXMgXCJhIHBsYWluIG9iamVjdFwiO1xuICogYW55dGhpbmcgZWxzZSDigJQgYSBzdG9yZWQgZmllbGQgdGhhdCBjYW1lIGJhY2sgYXMgYSBzdHJpbmcsIGEgbnVtYmVyLCBhblxuICogYXJyYXkg4oCUIGlzIHJlYWQgYXMgbm8gdHJlZSBhdCBhbGwsIHdoaWNoIHNlbmRzIGBjb21taXRTdG9wc2AgZG93biB0aGUgc2FtZVxuICogc2hhcGUtaGV1cmlzdGljIHBhdGggYSBsb2cgaGFuZGVkIG92ZXIgd2l0aG91dCBpdHMgdHJlZSBhbHJlYWR5IHRha2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZFRyZWUodmFsdWU6IHVua25vd24pOiBTdGFnZVNuYXBzaG90IHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGlzUGxhaW5pc2godmFsdWUpID8gKHZhbHVlIGFzIHVua25vd24gYXMgU3RhZ2VTbmFwc2hvdCkgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogV2h5IGByb3dgIGNhbm5vdCBiZSByZWFkIGFzIGEgY29tbWl0IGJ1bmRsZSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBpdCBjYW4uXG4gKlxuICogREVMSUJFUkFURUxZIExFTklFTlQg4oCUIGJ1dCBleGFjdGx5IGFzIGxlbmllbnQgYXMgdGhlIHJlYWRlcnMgYXJlLiBJdCBjaGVja3NcbiAqIHdoYXQgdGhlIGZvbGQsIHRoZSBheGlzIGFuZCBgY2hhbmdlZFNpbmNlYCBhY3R1YWxseSB0b3VjaDpcbiAqXG4gKiAtIGBydW50aW1lU3RhZ2VJZGAgbXVzdCBiZSBhIHN0cmluZyDigJQgdGhlIGF4aXMga2V5cyBvbiBpdC5cbiAqIC0gYHRyYWNlYCBtdXN0IGJlIGFuIEFSUkFZLCBhbmQgaXQgbXVzdCBiZSBQUkVTRU5ULiBJdCBpcyB0aGUgb25lIGZpZWxkXG4gKiAgIGV2ZXJ5IHJlYWRlciBXQUxLUyAoYGFwcGx5U21hcnRNZXJnZWAgaXRlcmF0ZXMgaXQgdmVyYiBieSB2ZXJiO1xuICogICBgY2hhbmdlZFNpbmNlYCByZWFkcyBpdHMgcGF0aHMpLCBzbyBhIHJvdyB3aXRob3V0IG9uZSBpcyBub3QgYSBidW5kbGUgdGhlXG4gKiAgIGZvbGQgY2FuIHN1cnZpdmUg4oCUIGl0IGlzIHRoZSBjcmFzaCBhIGdhcCBleGlzdHMgdG8gcHJldmVudC4gYENvbW1pdEJ1bmRsZWBcbiAqICAgZGVjbGFyZXMgaXQgcmVxdWlyZWQsIHNvIG5vIGxpdmUgbG9nIGlzIGFmZmVjdGVkLlxuICogLSBgdXBkYXRlc2AgLyBgb3ZlcndyaXRlYCwgd2hlbiBwcmVzZW50LCBtdXN0IGJlIHBsYWluIG9iamVjdHMuIFRoZXkgYXJlXG4gKiAgIHJlYWQgb25seSBBVCBUSEUgUEFUSFMgVEhFIFRSQUNFIE5BTUVTLCBzbyBhbiBhYnNlbnQgb25lIGlzIGhhcm1sZXNzIGFuZFxuICogICBpcyB0b2xlcmF0ZWQsIGV4YWN0bHkgYXMgdGhlIGZvbGQgdG9sZXJhdGVzIGFuIGFic2VudCBgcmVkYWN0ZWRQYXRoc2AuXG4gKlxuICogQmVpbmcgc3RyaWN0ZXIgdGhhbiB0aGF0IOKAlCBkZW1hbmRpbmcgYHN0YWdlYCwgYHN0YWdlSWRgLCBgaWR4YCDigJQgd291bGRcbiAqIHJlamVjdCBoYW5kLWJ1aWx0IGxvZ3MgdGhhdCBoYXZlIGZvbGRlZCBjb3JyZWN0bHkgc2luY2UgOS4xNy4wLCB3aGljaCBpcyBhXG4gKiBjb21wYXRpYmlsaXR5IGJyZWFrIGRyZXNzZWQgdXAgYXMgdmFsaWRhdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1bmRsZVJlZnVzYWwocm93OiB1bmtub3duKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFpc1BsYWluaXNoKHJvdykpIHtcbiAgICByZXR1cm4gYG5vdCBhbiBvYmplY3QgKCR7cm93ID09PSBudWxsID8gJ251bGwnIDogQXJyYXkuaXNBcnJheShyb3cpID8gJ2FycmF5JyA6IHR5cGVvZiByb3d9KWA7XG4gIH1cbiAgaWYgKHR5cGVvZiByb3cucnVudGltZVN0YWdlSWQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGBydW50aW1lU3RhZ2VJZCBpcyAke1xuICAgICAgcm93LnJ1bnRpbWVTdGFnZUlkID09PSB1bmRlZmluZWQgPyAnbWlzc2luZycgOiBgYSAke3R5cGVvZiByb3cucnVudGltZVN0YWdlSWR9YFxuICAgIH0sIG5vdCBhIHN0cmluZ2A7XG4gIH1cbiAgaWYgKCFBcnJheS5pc0FycmF5KHJvdy50cmFjZSkpIHtcbiAgICByZXR1cm4gYHRyYWNlIGlzICR7cm93LnRyYWNlID09PSB1bmRlZmluZWQgPyAnbWlzc2luZycgOiBgYSAke3R5cGVvZiByb3cudHJhY2V9YH0sIG5vdCBhbiBhcnJheWA7XG4gIH1cbiAgaWYgKHJvdy51cGRhdGVzICE9PSB1bmRlZmluZWQgJiYgIWlzUGxhaW5pc2gocm93LnVwZGF0ZXMpKSByZXR1cm4gJ3VwZGF0ZXMgaXMgbm90IGEgcGxhaW4gb2JqZWN0JztcbiAgaWYgKHJvdy5vdmVyd3JpdGUgIT09IHVuZGVmaW5lZCAmJiAhaXNQbGFpbmlzaChyb3cub3ZlcndyaXRlKSkgcmV0dXJuICdvdmVyd3JpdGUgaXMgbm90IGEgcGxhaW4gb2JqZWN0JztcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIGB0cnVlYCB3aGVuIGByb3dgIGNhbiBiZSByZWFkIGFzIGEge0BsaW5rIENvbW1pdEJ1bmRsZX0uICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb21taXRCdW5kbGUocm93OiB1bmtub3duKTogcm93IGlzIENvbW1pdEJ1bmRsZSB7XG4gIHJldHVybiBidW5kbGVSZWZ1c2FsKHJvdykgPT09IHVuZGVmaW5lZDtcbn1cblxuLyoqIEEgbG9nIHJlYWQgcm93IGJ5IHJvdzogdGhlIGJ1bmRsZXMsIGluZGV4LWFsaWduZWQsIHBsdXMgd2hhdCB3YXMgcmVmdXNlZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZExvZyB7XG4gIC8qKiBTYW1lIGxlbmd0aCBhbmQgb3JkZXIgYXMgdGhlIGlucHV0OyBhIHJlZnVzZWQgcm93IGhvbGRzIGEgR0FQIHN0YW5kLWluLiAqL1xuICByZWFkb25seSBsb2c6IHJlYWRvbmx5IENvbW1pdEJ1bmRsZVtdO1xuICAvKiogVGhlIHJlZnVzZWQgcm93cywgaW4gaW5kZXggb3JkZXIuIEVtcHR5IHdoZW4gdGhlIGxvZyB3YXMgY2xlYW4uICovXG4gIHJlYWRvbmx5IGdhcHM6IHJlYWRvbmx5IExvZ0dhcFtdO1xufVxuXG4vKiogTm90aGluZyB0byByZWFkIOKAlCBzaGFyZWQsIHNvIHRoZSBjbGVhbiBwYXRoIGFsbG9jYXRlcyBub3RoaW5nIGV4dHJhLiAqL1xuY29uc3QgTk9fR0FQUzogcmVhZG9ubHkgTG9nR2FwW10gPSBPYmplY3QuZnJlZXplKFtdKTtcblxuLyoqXG4gKiBSZWFkIGFuIHVudmFsaWRhdGVkIGFycmF5IGFzIGEgY29tbWl0IGxvZy5cbiAqXG4gKiBUaGUgY2xlYW4gY2FzZSAoYSBsaXZlIHNuYXBzaG90LCBvciBhIHN0b3JlZCByZWNvcmRpbmcgdGhhdCByb3VuZC10cmlwcGVkXG4gKiBpbnRhY3QpIHJldHVybnMgdGhlIFNBTUUgYXJyYXkgcmVmZXJlbmNlIGFuZCBubyBnYXBzOiBub3RoaW5nIGlzIGNvcGllZCxcbiAqIG5vdGhpbmcgaXMgYWxsb2NhdGVkLCBhbmQgdGhlIGZvbGQgYmVoYXZlcyBieXRlIGZvciBieXRlIGFzIGl0IGRpZCBpblxuICogOS4xNy4wLiBPbmx5IGEgbG9nIHdpdGggYSByZWZ1c2VkIHJvdyBpcyByZWJ1aWx0LCBhbmQgb25seSB0byBrZWVwIHRoZVxuICogaW5kaWNlcyBhbGlnbmVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB7IGxvZywgZ2FwcyB9ID0gcmVhZExvZyhKU09OLnBhcnNlKHN0b3JlZCkuY29tbWl0TG9nKTtcbiAqIGdhcHM7IC8vIFt7IGluZGV4OiAzLCByZWFzb246ICdub3QgYW4gb2JqZWN0IChudWxsKScgfV1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZExvZyhyYXc6IHJlYWRvbmx5IHVua25vd25bXSB8IHVuZGVmaW5lZCk6IFJlYWRMb2cge1xuICBpZiAoIXJhdyB8fCByYXcubGVuZ3RoID09PSAwKSByZXR1cm4geyBsb2c6IFtdLCBnYXBzOiBOT19HQVBTIH07XG5cbiAgbGV0IGdhcHM6IExvZ0dhcFtdIHwgdW5kZWZpbmVkO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJhdy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHJlYXNvbiA9IGJ1bmRsZVJlZnVzYWwocmF3W2ldKTtcbiAgICBpZiAocmVhc29uICE9PSB1bmRlZmluZWQpIChnYXBzID8/PSBbXSkucHVzaCh7IGluZGV4OiBpLCByZWFzb24gfSk7XG4gIH1cbiAgaWYgKCFnYXBzKSByZXR1cm4geyBsb2c6IHJhdyBhcyByZWFkb25seSBDb21taXRCdW5kbGVbXSwgZ2FwczogTk9fR0FQUyB9O1xuXG4gIGNvbnN0IGxvZyA9IHJhdy5tYXAoKHJvdykgPT4gKGlzQ29tbWl0QnVuZGxlKHJvdykgPyByb3cgOiBHQVBfQlVORExFKSk7XG4gIHJldHVybiB7IGxvZywgZ2FwczogT2JqZWN0LmZyZWV6ZShnYXBzKSB9O1xufVxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGltZS10cmF2ZWwvYnVuZGxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7OztBQUtIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxHQUFpQixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdDLEtBQUssRUFBRSxFQUFFO0lBQ1QsT0FBTyxFQUFFLEVBQUU7SUFDWCxjQUFjLEVBQUUsRUFBRTtJQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQXFDO0lBQzVELGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBd0I7SUFDdkQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztDQUMzQixDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsU0FBZ0IsVUFBVSxDQUFDLEtBQWM7SUFDdkMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUZELGdDQUVDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixRQUFRLENBQUMsS0FBYztJQUNyQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsS0FBa0MsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzdFLENBQUM7QUFGRCw0QkFFQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEdBQVk7SUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sa0JBQWtCLEdBQUcs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LEtBQUssU0FBUztZQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQThCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBRXpFLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFaRCwwQkFZQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYnVuZGxlcy50cyDigJQgcmVhZGluZyBhIGxvZyB3aG9zZSByb3dzIGFyZSBub3QgdHlwZWQgeWV0LlxuICpcbiAqIFdIWSBUSElTIEZJTEUgRVhJU1RTLiBBIExJVkUgc25hcHNob3QgaGFuZHMgdGltZSB0cmF2ZWwgcmVhbFxuICoge0BsaW5rIENvbW1pdEJ1bmRsZX1zLiBBIFNUT1JFRCByZWNvcmRpbmcgaGFuZHMgaXQgcGFyc2VkIEpTT04sIGFuZCBhXG4gKiBjYXJlZnVsIGNvbnN1bWVyIHdpbGwgbm90IGNsYWltIHRoYXQgd2hhdCBjYW1lIGJhY2sgb2ZmIGRpc2sgaXMgYVxuICogYENvbW1pdEJ1bmRsZWAg4oCUIHNvIGl0IGVpdGhlciBjYXN0cyAoYSBsaWUgd2l0aCBhIGNvbW1lbnQgb24gaXQpIG9yIGNhbm5vdFxuICogY2FsbCB0aGUgbGlicmFyeSBhdCBhbGwuIFNpbmNlIDkuMTguMCB0aGUgc291cmNlIHRha2VzIGByZWFkb25seSB1bmtub3duW11gXG4gKiBhbmQgdGhlIG5hcnJvd2luZyBoYXBwZW5zIGhlcmUsIHBlciByb3csIGF0IHRoZSBvbmUgcGxhY2UgdGhhdCBhY3R1YWxseVxuICogcmVhZHMgb25lLlxuICpcbiAqIEEgcm93IHRoYXQgaXMgbm90IGEgYnVuZGxlIGJlY29tZXMgYSBHQVAgcmF0aGVyIHRoYW4gYW4gZXhjZXB0aW9uOiBpdCBLRUVQU1xuICogSVRTIElOREVYIOKAlCBzbyBldmVyeSBgY29tbWl0SWR4YCBpbiB0aGUgYXhpcyBzdGlsbCBhZGRyZXNzZXMgdGhlIHNhbWVcbiAqIHBvc2l0aW9uIOKAlCBjb250cmlidXRlcyBubyBzdGF0ZSwgZ2V0cyBubyBzdG9wLCBhbmQgaXMgcmVwb3J0ZWQgd2l0aCBpdHNcbiAqIGluZGV4IGFuZCBhIHJlYXNvbi4gT25lIGNvcnJ1cHQgcm93IGluIGEgc3RvcmVkIHJlY29yZGluZyBsb3NlcyB0aGF0IHJvdyxcbiAqIG5vdCB0aGUgcmVjb3JkaW5nLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQ29tbWl0QnVuZGxlLCBTdGFnZVNuYXBzaG90IH0gZnJvbSAnLi4vbWVtb3J5L3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgTG9nR2FwIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8qKlxuICogVGhlIHN0YW5kLWluIGEgZ2FwIGxlYXZlcyBhdCBpdHMgaW5kZXg6IGEgY29tbWl0IHRoYXQgYmVsb25ncyB0byBubyBzdGFnZVxuICogYW5kIGNhcnJpZXMgbm90aGluZy5cbiAqXG4gKiBJdCBpcyBOT1QgaW52ZW50ZWQgZXZpZGVuY2Ug4oCUIGV2ZXJ5IGZpZWxkIGlzIHRoZSBlbXB0eSB2YWx1ZSwgYW5kIGFuIGlkLWxlc3NcbiAqIGJ1bmRsZSBpcyBhIHNoYXBlIHRoZSBsb2cgYWxyZWFkeSBoYXMgKGEgcm9vdC1jb250ZXh0IGNvbW1pdCBtYWRlIGJlZm9yZSBhbnlcbiAqIHN0YWdlIHJhbikuIGBjb21taXRTdG9wc2AgZ2l2ZXMgaXQgbm8gc3RvcCBmb3IgZXhhY3RseSB0aGF0IHJlYXNvbiwgdGhlIGZvbGRcbiAqIGZvbGRzIG5vdGhpbmcgZnJvbSBpdCwgYW5kIGBjaGFuZ2VkU2luY2VgIHJlYWRzIG5vIGtleXMgb2ZmIGl0LiBXaGF0IGl0IGRvZXNcbiAqIGlzIGhvbGQgdGhlIGluZGV4LCBzbyB0aGUgYXJpdGhtZXRpYyBkb3duc3RyZWFtIG5ldmVyIGhhcyB0byBrbm93LlxuICovXG5jb25zdCBHQVBfQlVORExFOiBDb21taXRCdW5kbGUgPSBPYmplY3QuZnJlZXplKHtcbiAgc3RhZ2U6ICcnLFxuICBzdGFnZUlkOiAnJyxcbiAgcnVudGltZVN0YWdlSWQ6ICcnLFxuICB0cmFjZTogT2JqZWN0LmZyZWV6ZShbXSkgYXMgdW5rbm93biBhcyBDb21taXRCdW5kbGVbJ3RyYWNlJ10sXG4gIHJlZGFjdGVkUGF0aHM6IE9iamVjdC5mcmVlemUoW10pIGFzIHVua25vd24gYXMgc3RyaW5nW10sXG4gIG92ZXJ3cml0ZTogT2JqZWN0LmZyZWV6ZSh7fSksXG4gIHVwZGF0ZXM6IE9iamVjdC5mcmVlemUoe30pLFxufSk7XG5cbi8qKiBBIHBsYWluIG9iamVjdCDigJQgbm90IG51bGwsIG5vdCBhbiBhcnJheSwgbm90IGEgcHJpbWl0aXZlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGxhaW5pc2godmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmICFBcnJheS5pc0FycmF5KHZhbHVlKTtcbn1cblxuLyoqXG4gKiBSZWFkIGEgc291cmNlJ3MgYGV4ZWN1dGlvblRyZWVgIGFzIGEge0BsaW5rIFN0YWdlU25hcHNob3R9LCBvciBhcyBhYnNlbnQuXG4gKlxuICogVGhlIHRyZWUgaXMgb25seSBldmVyIFdBTEtFRCBmb3IgbW91bnQgaWRzIChgc3ViZmxvd0lkYCArIGBydW50aW1lU3RhZ2VJZGBcbiAqIG9uIGVhY2ggbm9kZSksIHNvIHRoZSBob25lc3QgbmFycm93aW5nIGEgcmVhZGVyIGNhbiBkbyBpcyBcImEgcGxhaW4gb2JqZWN0XCI7XG4gKiBhbnl0aGluZyBlbHNlIOKAlCBhIHN0b3JlZCBmaWVsZCB0aGF0IGNhbWUgYmFjayBhcyBhIHN0cmluZywgYSBudW1iZXIsIGFuXG4gKiBhcnJheSDigJQgaXMgcmVhZCBhcyBubyB0cmVlIGF0IGFsbCwgd2hpY2ggc2VuZHMgYGNvbW1pdFN0b3BzYCBkb3duIHRoZSBzYW1lXG4gKiBzaGFwZS1oZXVyaXN0aWMgcGF0aCBhIGxvZyBoYW5kZWQgb3ZlciB3aXRob3V0IGl0cyB0cmVlIGFscmVhZHkgdGFrZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkVHJlZSh2YWx1ZTogdW5rbm93bik6IFN0YWdlU25hcHNob3QgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaXNQbGFpbmlzaCh2YWx1ZSkgPyAodmFsdWUgYXMgdW5rbm93biBhcyBTdGFnZVNuYXBzaG90KSA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBXaHkgYHJvd2AgY2Fubm90IGJlIHJlYWQgYXMgYSBjb21taXQgYnVuZGxlLCBvciBgdW5kZWZpbmVkYCB3aGVuIGl0IGNhbi5cbiAqXG4gKiBERUxJQkVSQVRFTFkgTEVOSUVOVCDigJQgYnV0IGV4YWN0bHkgYXMgbGVuaWVudCBhcyB0aGUgcmVhZGVycyBhcmUuIEl0IGNoZWNrc1xuICogd2hhdCB0aGUgZm9sZCwgdGhlIGF4aXMgYW5kIGBjaGFuZ2VkU2luY2VgIGFjdHVhbGx5IHRvdWNoOlxuICpcbiAqIC0gYHJ1bnRpbWVTdGFnZUlkYCBtdXN0IGJlIGEgc3RyaW5nIOKAlCB0aGUgYXhpcyBrZXlzIG9uIGl0LlxuICogLSBgdHJhY2VgIG11c3QgYmUgYW4gQVJSQVksIGFuZCBpdCBtdXN0IGJlIFBSRVNFTlQuIEl0IGlzIHRoZSBvbmUgZmllbGRcbiAqICAgZXZlcnkgcmVhZGVyIFdBTEtTIChgYXBwbHlTbWFydE1lcmdlYCBpdGVyYXRlcyBpdCB2ZXJiIGJ5IHZlcmI7XG4gKiAgIGBjaGFuZ2VkU2luY2VgIHJlYWRzIGl0cyBwYXRocyksIHNvIGEgcm93IHdpdGhvdXQgb25lIGlzIG5vdCBhIGJ1bmRsZSB0aGVcbiAqICAgZm9sZCBjYW4gc3Vydml2ZSDigJQgaXQgaXMgdGhlIGNyYXNoIGEgZ2FwIGV4aXN0cyB0byBwcmV2ZW50LiBgQ29tbWl0QnVuZGxlYFxuICogICBkZWNsYXJlcyBpdCByZXF1aXJlZCwgc28gbm8gbGl2ZSBsb2cgaXMgYWZmZWN0ZWQuXG4gKiAtIGB1cGRhdGVzYCAvIGBvdmVyd3JpdGVgLCB3aGVuIHByZXNlbnQsIG11c3QgYmUgcGxhaW4gb2JqZWN0cy4gVGhleSBhcmVcbiAqICAgcmVhZCBvbmx5IEFUIFRIRSBQQVRIUyBUSEUgVFJBQ0UgTkFNRVMsIHNvIGFuIGFic2VudCBvbmUgaXMgaGFybWxlc3MgYW5kXG4gKiAgIGlzIHRvbGVyYXRlZCwgZXhhY3RseSBhcyB0aGUgZm9sZCB0b2xlcmF0ZXMgYW4gYWJzZW50IGByZWRhY3RlZFBhdGhzYC5cbiAqXG4gKiBCZWluZyBzdHJpY3RlciB0aGFuIHRoYXQg4oCUIGRlbWFuZGluZyBgc3RhZ2VgLCBgc3RhZ2VJZGAsIGBpZHhgIOKAlCB3b3VsZFxuICogcmVqZWN0IGhhbmQtYnVpbHQgbG9ncyB0aGF0IGhhdmUgZm9sZGVkIGNvcnJlY3RseSBzaW5jZSA5LjE3LjAsIHdoaWNoIGlzIGFcbiAqIGNvbXBhdGliaWxpdHkgYnJlYWsgZHJlc3NlZCB1cCBhcyB2YWxpZGF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVuZGxlUmVmdXNhbChyb3c6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoIWlzUGxhaW5pc2gocm93KSkge1xuICAgIHJldHVybiBgbm90IGFuIG9iamVjdCAoJHtyb3cgPT09IG51bGwgPyAnbnVsbCcgOiBBcnJheS5pc0FycmF5KHJvdykgPyAnYXJyYXknIDogdHlwZW9mIHJvd30pYDtcbiAgfVxuICBpZiAodHlwZW9mIHJvdy5ydW50aW1lU3RhZ2VJZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gYHJ1bnRpbWVTdGFnZUlkIGlzICR7XG4gICAgICByb3cucnVudGltZVN0YWdlSWQgPT09IHVuZGVmaW5lZCA/ICdtaXNzaW5nJyA6IGBhICR7dHlwZW9mIHJvdy5ydW50aW1lU3RhZ2VJZH1gXG4gICAgfSwgbm90IGEgc3RyaW5nYDtcbiAgfVxuICBpZiAoIUFycmF5LmlzQXJyYXkocm93LnRyYWNlKSkge1xuICAgIHJldHVybiBgdHJhY2UgaXMgJHtyb3cudHJhY2UgPT09IHVuZGVmaW5lZCA/ICdtaXNzaW5nJyA6IGBhICR7dHlwZW9mIHJvdy50cmFjZX1gfSwgbm90IGFuIGFycmF5YDtcbiAgfVxuICBpZiAocm93LnVwZGF0ZXMgIT09IHVuZGVmaW5lZCAmJiAhaXNQbGFpbmlzaChyb3cudXBkYXRlcykpIHJldHVybiAndXBkYXRlcyBpcyBub3QgYSBwbGFpbiBvYmplY3QnO1xuICBpZiAocm93Lm92ZXJ3cml0ZSAhPT0gdW5kZWZpbmVkICYmICFpc1BsYWluaXNoKHJvdy5vdmVyd3JpdGUpKSByZXR1cm4gJ292ZXJ3cml0ZSBpcyBub3QgYSBwbGFpbiBvYmplY3QnO1xuICAvLyBUaGUgZm91ciB2ZXJicyBhcmUgdGhlIGNvbnRyYWN0ICg5LjI3LjApLiBUaGUgcmVwbGF5J3Mgc3dpdGNoIHVzZWQgdG9cbiAgLy8gdHJlYXQgYW55dGhpbmcgZWxzZSBhcyBgbWVyZ2VgIOKAlCBhIHNpbGVudCBjb2VyY2lvbiBvZiBhIHJvdyBhIGZvcmVpZ25cbiAgLy8gcHJvZHVjZXIgZ290IHdyb25nLiBBIGJ1bmRsZSB3aXRoIHN1Y2ggYSByb3cgaXMgYSBnYXAsIGFuZCBzYXlzIHdoaWNoLlxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdy50cmFjZS5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGVudHJ5OiB1bmtub3duID0gcm93LnRyYWNlW2ldO1xuICAgIGNvbnN0IHZlcmIgPSBpc1BsYWluaXNoKGVudHJ5KSA/IGVudHJ5LnZlcmIgOiB1bmRlZmluZWQ7XG4gICAgaWYgKHZlcmIgIT09ICdzZXQnICYmIHZlcmIgIT09ICdtZXJnZScgJiYgdmVyYiAhPT0gJ2FwcGVuZCcgJiYgdmVyYiAhPT0gJ2RlbGV0ZScpIHtcbiAgICAgIHJldHVybiBgdHJhY2VbJHtpfV0udmVyYiBpcyAke1xuICAgICAgICB2ZXJiID09PSB1bmRlZmluZWQgPyAnbWlzc2luZycgOiBKU09OLnN0cmluZ2lmeSh2ZXJiKVxuICAgICAgfSwgbm90IHNldCB8IG1lcmdlIHwgYXBwZW5kIHwgZGVsZXRlYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIGB0cnVlYCB3aGVuIGByb3dgIGNhbiBiZSByZWFkIGFzIGEge0BsaW5rIENvbW1pdEJ1bmRsZX0uICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb21taXRCdW5kbGUocm93OiB1bmtub3duKTogcm93IGlzIENvbW1pdEJ1bmRsZSB7XG4gIHJldHVybiBidW5kbGVSZWZ1c2FsKHJvdykgPT09IHVuZGVmaW5lZDtcbn1cblxuLyoqIEEgbG9nIHJlYWQgcm93IGJ5IHJvdzogdGhlIGJ1bmRsZXMsIGluZGV4LWFsaWduZWQsIHBsdXMgd2hhdCB3YXMgcmVmdXNlZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZExvZyB7XG4gIC8qKiBTYW1lIGxlbmd0aCBhbmQgb3JkZXIgYXMgdGhlIGlucHV0OyBhIHJlZnVzZWQgcm93IGhvbGRzIGEgR0FQIHN0YW5kLWluLiAqL1xuICByZWFkb25seSBsb2c6IHJlYWRvbmx5IENvbW1pdEJ1bmRsZVtdO1xuICAvKiogVGhlIHJlZnVzZWQgcm93cywgaW4gaW5kZXggb3JkZXIuIEVtcHR5IHdoZW4gdGhlIGxvZyB3YXMgY2xlYW4uICovXG4gIHJlYWRvbmx5IGdhcHM6IHJlYWRvbmx5IExvZ0dhcFtdO1xufVxuXG4vKiogTm90aGluZyB0byByZWFkIOKAlCBzaGFyZWQsIHNvIHRoZSBjbGVhbiBwYXRoIGFsbG9jYXRlcyBub3RoaW5nIGV4dHJhLiAqL1xuY29uc3QgTk9fR0FQUzogcmVhZG9ubHkgTG9nR2FwW10gPSBPYmplY3QuZnJlZXplKFtdKTtcblxuLyoqXG4gKiBSZWFkIGFuIHVudmFsaWRhdGVkIGFycmF5IGFzIGEgY29tbWl0IGxvZy5cbiAqXG4gKiBUaGUgY2xlYW4gY2FzZSAoYSBsaXZlIHNuYXBzaG90LCBvciBhIHN0b3JlZCByZWNvcmRpbmcgdGhhdCByb3VuZC10cmlwcGVkXG4gKiBpbnRhY3QpIHJldHVybnMgdGhlIFNBTUUgYXJyYXkgcmVmZXJlbmNlIGFuZCBubyBnYXBzOiBub3RoaW5nIGlzIGNvcGllZCxcbiAqIG5vdGhpbmcgaXMgYWxsb2NhdGVkLCBhbmQgdGhlIGZvbGQgYmVoYXZlcyBieXRlIGZvciBieXRlIGFzIGl0IGRpZCBpblxuICogOS4xNy4wLiBPbmx5IGEgbG9nIHdpdGggYSByZWZ1c2VkIHJvdyBpcyByZWJ1aWx0LCBhbmQgb25seSB0byBrZWVwIHRoZVxuICogaW5kaWNlcyBhbGlnbmVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB7IGxvZywgZ2FwcyB9ID0gcmVhZExvZyhKU09OLnBhcnNlKHN0b3JlZCkuY29tbWl0TG9nKTtcbiAqIGdhcHM7IC8vIFt7IGluZGV4OiAzLCByZWFzb246ICdub3QgYW4gb2JqZWN0IChudWxsKScgfV1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZExvZyhyYXc6IHJlYWRvbmx5IHVua25vd25bXSB8IHVuZGVmaW5lZCk6IFJlYWRMb2cge1xuICBpZiAoIXJhdyB8fCByYXcubGVuZ3RoID09PSAwKSByZXR1cm4geyBsb2c6IFtdLCBnYXBzOiBOT19HQVBTIH07XG5cbiAgbGV0IGdhcHM6IExvZ0dhcFtdIHwgdW5kZWZpbmVkO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJhdy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHJlYXNvbiA9IGJ1bmRsZVJlZnVzYWwocmF3W2ldKTtcbiAgICBpZiAocmVhc29uICE9PSB1bmRlZmluZWQpIChnYXBzID8/PSBbXSkucHVzaCh7IGluZGV4OiBpLCByZWFzb24gfSk7XG4gIH1cbiAgaWYgKCFnYXBzKSByZXR1cm4geyBsb2c6IHJhdyBhcyByZWFkb25seSBDb21taXRCdW5kbGVbXSwgZ2FwczogTk9fR0FQUyB9O1xuXG4gIGNvbnN0IGxvZyA9IHJhdy5tYXAoKHJvdykgPT4gKGlzQ29tbWl0QnVuZGxlKHJvdykgPyByb3cgOiBHQVBfQlVORExFKSk7XG4gIHJldHVybiB7IGxvZywgZ2FwczogT2JqZWN0LmZyZWV6ZShnYXBzKSB9O1xufVxuIl19
|
package/package.json
CHANGED