velocious 1.0.661 → 1.0.663
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 +12 -1
- package/build/application.js +1 -1
- package/build/background-jobs/adapter.js +9 -0
- package/build/background-jobs/job-runner.js +3 -1
- package/build/background-jobs/local-adapter.js +7 -0
- package/build/background-jobs/local-store.js +113 -3
- package/build/background-jobs/main.js +35 -1
- package/build/background-jobs/pooled-runner-child.js +38 -0
- package/build/background-jobs/status-reporter.js +97 -1
- package/build/background-jobs/store.js +130 -4
- package/build/background-jobs/types.js +6 -1
- package/build/background-jobs/web/controller.js +4 -0
- package/build/background-jobs/worker.js +59 -0
- package/build/configuration-types.js +3 -1
- package/build/configuration.js +33 -0
- package/build/http-server/client/errors.js +27 -0
- package/build/http-server/client/index.js +26 -1
- package/build/http-server/client/request-buffer/index.js +38 -6
- package/build/http-server/client/request-runner.js +8 -1
- package/build/http-server/client/response.js +11 -0
- package/build/routes/resolver.js +1 -1
- package/build/src/application.js +2 -2
- package/build/src/background-jobs/adapter.d.ts +17 -0
- package/build/src/background-jobs/adapter.d.ts.map +1 -1
- package/build/src/background-jobs/adapter.js +9 -1
- package/build/src/background-jobs/job-runner.d.ts +3 -1
- package/build/src/background-jobs/job-runner.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.js +5 -2
- package/build/src/background-jobs/local-adapter.d.ts +13 -0
- package/build/src/background-jobs/local-adapter.d.ts.map +1 -1
- package/build/src/background-jobs/local-adapter.js +7 -1
- package/build/src/background-jobs/local-store.d.ts +38 -0
- package/build/src/background-jobs/local-store.d.ts.map +1 -1
- package/build/src/background-jobs/local-store.js +117 -4
- package/build/src/background-jobs/main.d.ts +14 -0
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +35 -2
- package/build/src/background-jobs/pooled-runner-child.js +38 -1
- package/build/src/background-jobs/status-reporter.d.ts +51 -1
- package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
- package/build/src/background-jobs/status-reporter.js +89 -2
- package/build/src/background-jobs/store.d.ts +48 -0
- package/build/src/background-jobs/store.d.ts.map +1 -1
- package/build/src/background-jobs/store.js +128 -5
- package/build/src/background-jobs/types.d.ts +34 -2
- package/build/src/background-jobs/types.d.ts.map +1 -1
- package/build/src/background-jobs/types.js +7 -2
- package/build/src/background-jobs/web/controller.d.ts.map +1 -1
- package/build/src/background-jobs/web/controller.js +5 -1
- package/build/src/background-jobs/worker.d.ts +20 -0
- package/build/src/background-jobs/worker.d.ts.map +1 -1
- package/build/src/background-jobs/worker.js +58 -1
- package/build/src/configuration-types.d.ts +13 -3
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +4 -2
- package/build/src/configuration.d.ts +14 -2
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +31 -1
- package/build/src/http-server/client/errors.d.ts +25 -0
- package/build/src/http-server/client/errors.d.ts.map +1 -0
- package/build/src/http-server/client/errors.js +26 -0
- package/build/src/http-server/client/index.d.ts +5 -0
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +26 -2
- package/build/src/http-server/client/request-buffer/index.d.ts +13 -0
- package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.js +34 -8
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +10 -2
- package/build/src/http-server/client/response.d.ts.map +1 -1
- package/build/src/http-server/client/response.js +8 -1
- package/build/src/routes/resolver.js +2 -2
- package/package.json +1 -1
- package/src/application.js +1 -1
- package/src/background-jobs/adapter.js +9 -0
- package/src/background-jobs/job-runner.js +3 -1
- package/src/background-jobs/local-adapter.js +7 -0
- package/src/background-jobs/local-store.js +113 -3
- package/src/background-jobs/main.js +35 -1
- package/src/background-jobs/pooled-runner-child.js +38 -0
- package/src/background-jobs/status-reporter.js +97 -1
- package/src/background-jobs/store.js +130 -4
- package/src/background-jobs/types.js +6 -1
- package/src/background-jobs/web/controller.js +4 -0
- package/src/background-jobs/worker.js +59 -0
- package/src/configuration-types.js +3 -1
- package/src/configuration.js +33 -0
- package/src/http-server/client/errors.js +27 -0
- package/src/http-server/client/index.js +26 -1
- package/src/http-server/client/request-buffer/index.js +38 -6
- package/src/http-server/client/request-runner.js +8 -1
- package/src/http-server/client/response.js +11 -0
- package/src/routes/resolver.js +1 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
// @ts-check
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
2
3
|
import runJobPayload, { BackgroundJobPerformedFailure } from "./job-runner.js";
|
|
3
4
|
import { closeRunnerConnections, closeRunnerFrameworkConnections, currentConfigurationOrNull } from "./runner-graceful-shutdown.js";
|
|
4
5
|
import setRunnerProcessTitle from "./runner-process-title.js";
|
|
5
6
|
import PooledRunnerBrokerIdentity from "./pooled-runner-broker-identity.js";
|
|
6
7
|
import { runWithSharedTransactionBrokerConfig } from "../testing/shared-transaction-proxy-driver.js";
|
|
7
8
|
const BASE_PROCESS_TITLE = "velocious background-jobs-runner";
|
|
9
|
+
/** Stable identity of this pooled child process for the life of the process. */
|
|
10
|
+
const childInstanceId = randomUUID();
|
|
8
11
|
setRunnerProcessTitle();
|
|
9
12
|
/** @type {Promise<void> | undefined} */
|
|
10
13
|
let shutdownPromise;
|
|
@@ -47,6 +50,38 @@ function updateProcessTitle() {
|
|
|
47
50
|
const count = runningJobIds.size;
|
|
48
51
|
process.title = count > 0 ? `${BASE_PROCESS_TITLE}: ${count} ${count === 1 ? "job" : "jobs"}` : BASE_PROCESS_TITLE;
|
|
49
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Reports one acceptance observation (job received / perform started) to the
|
|
55
|
+
* worker over IPC. The message carries the job's exact handoff lease so the
|
|
56
|
+
* worker can persist it fenced without any other lookup. Send failures are
|
|
57
|
+
* swallowed: a dead IPC channel is terminal for this child (the disconnect
|
|
58
|
+
* handler owns shutdown), and losing acceptance evidence must never fail the
|
|
59
|
+
* job itself.
|
|
60
|
+
* @param {"job-received" | "job-started"} type - Observation kind.
|
|
61
|
+
* @param {import("./types.js").BackgroundJobPayload & {id: string}} payload - Job payload carrying the handoff lease.
|
|
62
|
+
* @param {number} observedAtMs - Epoch ms of the observation.
|
|
63
|
+
* @returns {void}
|
|
64
|
+
*/
|
|
65
|
+
function sendChildAcceptance(type, payload, observedAtMs) {
|
|
66
|
+
if (!process.send)
|
|
67
|
+
return;
|
|
68
|
+
const message = {
|
|
69
|
+
childInstanceId,
|
|
70
|
+
childPid: process.pid,
|
|
71
|
+
handedOffAtMs: payload.handedOffAtMs,
|
|
72
|
+
handoffId: payload.handoffId,
|
|
73
|
+
jobId: payload.id,
|
|
74
|
+
type,
|
|
75
|
+
workerId: payload.workerId,
|
|
76
|
+
...(type === "job-received" ? { receivedAtMs: observedAtMs } : { startedAtMs: observedAtMs })
|
|
77
|
+
};
|
|
78
|
+
try {
|
|
79
|
+
process.send(message);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// The IPC channel is already gone; the disconnect handler owns shutdown.
|
|
83
|
+
}
|
|
84
|
+
}
|
|
50
85
|
/**
|
|
51
86
|
* Checks whether an IPC value is a runnable pooled job message.
|
|
52
87
|
* @param {ReturnType<typeof JSON.parse>} message - IPC message.
|
|
@@ -101,6 +136,7 @@ async function runJob(payload, sharedTransactionBroker) {
|
|
|
101
136
|
return await runJobPayload(payload, {
|
|
102
137
|
closeConnections: false,
|
|
103
138
|
manageProcessTitle: false,
|
|
139
|
+
onPerformStart: () => sendChildAcceptance("job-started", payload, Date.now()),
|
|
104
140
|
processType: "background-jobs-pooled-runner"
|
|
105
141
|
});
|
|
106
142
|
});
|
|
@@ -132,6 +168,7 @@ function handleMessage(message) {
|
|
|
132
168
|
return;
|
|
133
169
|
runningJobIds.add(message.payload.id);
|
|
134
170
|
updateProcessTitle();
|
|
171
|
+
sendChildAcceptance("job-received", message.payload, Date.now());
|
|
135
172
|
void runJob(message.payload, message.sharedTransactionBroker || { expected: false });
|
|
136
173
|
}
|
|
137
174
|
process.on("message", (message) => handleMessage(message));
|
|
@@ -140,4 +177,4 @@ for (const signal of ["SIGTERM", "SIGINT"])
|
|
|
140
177
|
process.once(signal, () => void shutdownRunner(1));
|
|
141
178
|
if (process.send)
|
|
142
179
|
process.send({ type: "ready" });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9vbGVkLXJ1bm5lci1jaGlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZ3JvdW5kLWpvYnMvcG9vbGVkLXJ1bm5lci1jaGlsZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLEVBQUUsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwrQkFBK0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ25JLE9BQU8scUJBQXFCLE1BQU0sMkJBQTJCLENBQUE7QUFDN0QsT0FBTywwQkFBMEIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUVwRyxNQUFNLGtCQUFrQixHQUFHLGtDQUFrQyxDQUFBO0FBRTdELHFCQUFxQixFQUFFLENBQUE7QUFFdkIsd0NBQXdDO0FBQ3hDLElBQUksZUFBZSxDQUFBO0FBRW5COzs7Ozs7R0FNRztBQUNILFNBQVMsY0FBYyxDQUFDLFFBQVE7SUFDOUIsSUFBSSxlQUFlO1FBQUUsT0FBTyxlQUFlLENBQUE7SUFFM0MsZUFBZSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDNUIsTUFBTSxzQkFBc0IsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUE7UUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRUosT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7QUFDL0IsTUFBTSxjQUFjLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQztJQUNwRCxnQkFBZ0IsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sK0JBQStCLENBQUMsMEJBQTBC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QUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDOUYsSUFBSSxPQUFPLENBQUMsSUFBSTtJQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgcnVuSm9iUGF5bG9hZCwgeyBCYWNrZ3JvdW5kSm9iUGVyZm9ybWVkRmFpbHVyZSB9IGZyb20gXCIuL2pvYi1ydW5uZXIuanNcIlxuaW1wb3J0IHsgY2xvc2VSdW5uZXJDb25uZWN0aW9ucywgY2xvc2VSdW5uZXJGcmFtZXdvcmtDb25uZWN0aW9ucywgY3VycmVudENvbmZpZ3VyYXRpb25Pck51bGwgfSBmcm9tIFwiLi9ydW5uZXItZ3JhY2VmdWwtc2h1dGRvd24uanNcIlxuaW1wb3J0IHNldFJ1bm5lclByb2Nlc3NUaXRsZSBmcm9tIFwiLi9ydW5uZXItcHJvY2Vzcy10aXRsZS5qc1wiXG5pbXBvcnQgUG9vbGVkUnVubmVyQnJva2VySWRlbnRpdHkgZnJvbSBcIi4vcG9vbGVkLXJ1bm5lci1icm9rZXItaWRlbnRpdHkuanNcIlxuaW1wb3J0IHsgcnVuV2l0aFNoYXJlZFRyYW5zYWN0aW9uQnJva2VyQ29uZmlnIH0gZnJvbSBcIi4uL3Rlc3Rpbmcvc2hhcmVkLXRyYW5zYWN0aW9uLXByb3h5LWRyaXZlci5qc1wiXG5cbmNvbnN0IEJBU0VfUFJPQ0VTU19USVRMRSA9IFwidmVsb2Npb3VzIGJhY2tncm91bmQtam9icy1ydW5uZXJcIlxuXG5zZXRSdW5uZXJQcm9jZXNzVGl0bGUoKVxuXG4vKiogQHR5cGUge1Byb21pc2U8dm9pZD4gfCB1bmRlZmluZWR9ICovXG5sZXQgc2h1dGRvd25Qcm9taXNlXG5cbi8qKlxuICogQ2xvc2VzIHRoZSBydW5uZXIncyBjb25uZWN0aW9ucyDigJQgcmVsZWFzaW5nIGFueSBhZHZpc29yeSBsb2NrIGEga2lsbGVkLW1pZC1wYXNzXG4gKiBqb2Igc3RpbGwgaG9sZHMg4oCUIGJlZm9yZSBleGl0aW5nLCBpbnN0ZWFkIG9mIGxlYXZpbmcgYSBoYWxmLW9wZW4gc2Vzc2lvbiB0aGF0XG4gKiBrZWVwcyB0aGUgbG9jayB1bnRpbCB0aGUgREIgc2VydmVyJ3MgYHdhaXRfdGltZW91dGAuXG4gKiBAcGFyYW0ge251bWJlcn0gZXhpdENvZGUgLSBQcm9jZXNzIGV4aXQgY29kZS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICovXG5mdW5jdGlvbiBzaHV0ZG93blJ1bm5lcihleGl0Q29kZSkge1xuICBpZiAoc2h1dGRvd25Qcm9taXNlKSByZXR1cm4gc2h1dGRvd25Qcm9taXNlXG5cbiAgc2h1dGRvd25Qcm9taXNlID0gKGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBjbG9zZVJ1bm5lckNvbm5lY3Rpb25zKGN1cnJlbnRDb25maWd1cmF0aW9uT3JOdWxsKCkpXG4gICAgcHJvY2Vzcy5leGl0KGV4aXRDb2RlKVxuICB9KSgpXG5cbiAgcmV0dXJuIHNodXRkb3duUHJvbWlzZVxufVxuXG4vKipcbiAqIElkcyBvZiBqb2JzIGN1cnJlbnRseSBydW5uaW5nIGluIHRoaXMgY2hpbGQuIEEgcG9vbGVkIGNoaWxkIHJ1bnMgdXAgdG9cbiAqIGBwb29sZWRSdW5uZXJDb25jdXJyZW5jeWAgam9icyBhdCBvbmNlICh0aGUgd29ya2VyIG9ubHkgZGlzcGF0Y2hlcyB3aXRoaW4gdGhhdFxuICogYm91bmQpOyB0aGUgc2V0IGRlZHVwZXMgYSByZWRlbGl2ZXJlZCBqb2IgaWQgYW5kIGxldHMgZWFjaCBqb2Igc2V0dGxlXG4gKiBpbmRlcGVuZGVudGx5LlxuICogQHR5cGUge1NldDxzdHJpbmc+fVxuICovXG5jb25zdCBydW5uaW5nSm9iSWRzID0gbmV3IFNldCgpXG5jb25zdCBicm9rZXJJZGVudGl0eSA9IG5ldyBQb29sZWRSdW5uZXJCcm9rZXJJZGVudGl0eSh7XG4gIGNsb3NlQ29ubmVjdGlvbnM6IGFzeW5jICgpID0+IGF3YWl0IGNsb3NlUnVubmVyRnJhbWV3b3JrQ29ubmVjdGlvbnMoY3VycmVudENvbmZpZ3VyYXRpb25Pck51bGwoKSlcbn0pXG5cbi8qKlxuICogU2V0cyBhbiBhZ2dyZWdhdGUgcHJvY2VzcyB0aXRsZSBmcm9tIHRoZSBjdXJyZW50IGluLWZsaWdodCBjb3VudC4gQSBjaGlsZCBydW5zXG4gKiBqb2JzIGNvbmN1cnJlbnRseSwgc28gYSBwZXItam9iIHRpdGxlICh3aGljaCBgcnVuSm9iUGF5bG9hZGAgd291bGQgc25hcHNob3QgYW5kXG4gKiByZXN0b3JlIGFyb3VuZCBhIHNpbmdsZSBqb2IpIGNhbm5vdCByZXByZXNlbnQgdGhlIHByb2Nlc3Mg4oCUIGludGVybGVhdmVkXG4gKiBjb21wbGV0aW9ucyB3b3VsZCBsZWF2ZSBhIHN0YWxlIGxhYmVsLiBSZWNvbXB1dGluZyBmcm9tIGBydW5uaW5nSm9iSWRzLnNpemVgIGlzXG4gKiBjb25jdXJyZW5jeS1zYWZlIGFuZCBob25lc3Q6IGBwc2AvYHRvcGAgc2hvdyBob3cgbWFueSBqb2JzIHRoZSBjaGlsZCBpcyBydW5uaW5nLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZVByb2Nlc3NUaXRsZSgpIHtcbiAgY29uc3QgY291bnQgPSBydW5uaW5nSm9iSWRzLnNpemVcblxuICBwcm9jZXNzLnRpdGxlID0gY291bnQgPiAwID8gYCR7QkFTRV9QUk9DRVNTX1RJVExFfTogJHtjb3VudH0gJHtjb3VudCA9PT0gMSA/IFwiam9iXCIgOiBcImpvYnNcIn1gIDogQkFTRV9QUk9DRVNTX1RJVExFXG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gSVBDIHZhbHVlIGlzIGEgcnVubmFibGUgcG9vbGVkIGpvYiBtZXNzYWdlLlxuICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gbWVzc2FnZSAtIElQQyBtZXNzYWdlLlxuICogQHJldHVybnMge21lc3NhZ2UgaXMge3R5cGU6IFwiam9iXCIsIHBheWxvYWQ6IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlBheWxvYWQgJiB7aWQ6IHN0cmluZ30sIHNoYXJlZFRyYW5zYWN0aW9uQnJva2VyPzogaW1wb3J0KFwiLi4vdGVzdGluZy9zaGFyZWQtdHJhbnNhY3Rpb24tcHJveHktZHJpdmVyLmpzXCIpLlNoYXJlZFRyYW5zYWN0aW9uQnJva2VySm9iQ29uZmlnfX0gLSBXaGV0aGVyIHRoaXMgaXMgYSB2YWxpZCBqb2IgbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gaXNKb2JNZXNzYWdlKG1lc3NhZ2UpIHtcbiAgaWYgKCFtZXNzYWdlIHx8IHR5cGVvZiBtZXNzYWdlICE9PSBcIm9iamVjdFwiKSByZXR1cm4gZmFsc2VcbiAgY29uc3QgcmVjb3JkID0gLyoqIEB0eXBlIHt7dHlwZT86IFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+LCBwYXlsb2FkPzogUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4sIHNoYXJlZFRyYW5zYWN0aW9uQnJva2VyPzogUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59fSAqLyAobWVzc2FnZSlcblxuICByZXR1cm4gcmVjb3JkLnR5cGUgPT09IFwiam9iXCIgJiYgISFyZWNvcmQucGF5bG9hZCAmJiB0eXBlb2YgcmVjb3JkLnBheWxvYWQgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY29yZC5wYXlsb2FkLmlkID09PSBcInN0cmluZ1wiXG59XG5cbi8qKlxuICogU2VuZHMgdGhlIHRlcm1pbmFsIG91dGNvbWUgYWZ0ZXIgdGhlIG1haW4vREIgcmVwb3J0IGhhcyBiZWVuIGFja25vd2xlZGdlZCBvciByZWplY3RlZC5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3V0Y29tZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmpvYklkIC0gSm9iIGlkLlxuICogQHBhcmFtIHtib29sZWFufSBhcmdzLmFja25vd2xlZGdlZCAtIFdoZXRoZXIgdGhlIHRlcm1pbmFsIHJlcG9ydCB3YXMgYWNrbm93bGVkZ2VkLlxuICogQHBhcmFtIHtcImNvbXBsZXRlZFwiIHwgXCJmYWlsZWRcIiB8IFwicmVzY2hlZHVsZWRcIn0gW2FyZ3Muc3RhdHVzXSAtIEFja25vd2xlZGdlZCBvdXRjb21lLlxuICogQHBhcmFtIHtFcnJvcn0gW2FyZ3MuZXJyb3JdIC0gUmVwb3J0aW5nIGVycm9yIHdoZW4gYWNrbm93bGVkZ2VtZW50IHdhcyBub3Qgb2J0YWluZWQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciBJUEMgYWNjZXB0cyB0aGUgbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gc2VuZE91dGNvbWUoe2pvYklkLCBhY2tub3dsZWRnZWQsIHN0YXR1cywgZXJyb3J9KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmICghcHJvY2Vzcy5zZW5kKSB7XG4gICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHByb2Nlc3Muc2VuZCh7XG4gICAgICB0eXBlOiBcImpvYi1vdXRjb21lXCIsXG4gICAgICBqb2JJZCxcbiAgICAgIGFja25vd2xlZGdlZCxcbiAgICAgIHN0YXR1cyxcbiAgICAgIHJzc0J5dGVzOiBwcm9jZXNzLm1lbW9yeVVzYWdlKCkucnNzLFxuICAgICAgZXJyb3I6IGVycm9yPy5tZXNzYWdlXG4gICAgfSwgKCkgPT4gcmVzb2x2ZSh1bmRlZmluZWQpKVxuICB9KVxufVxuXG4vKipcbiAqIFJ1bnMgb25lIGpvYiBjb25jdXJyZW50bHkgd2l0aCBhbnkgc2libGluZ3MgYW5kIHJlcG9ydHMgaXRzIG93biB0ZXJtaW5hbFxuICogb3V0Y29tZS4gQSBzaW5nbGUgam9iJ3MgdW5leHBlY3RlZCBmYWlsdXJlIHJlcG9ydHMgdGhhdCBqb2IgZm9yIHJlY2xhbWF0aW9uXG4gKiAoYGFja25vd2xlZGdlZDogZmFsc2VgKSBidXQgZG9lcyBOT1QgdGFrZSBkb3duIHRoZSBjaGlsZCDigJQgaXRzIGNvbmN1cnJlbnRcbiAqIHNpYmxpbmdzIGtlZXAgcnVubmluZy4gT25seSBhIHByb2Nlc3MtbGV2ZWwgZmF1bHQgKHdoaWNoIGVzY2FwZXMgZXZlcnlcbiAqIHBlci1qb2IgdHJ5L2NhdGNoKSBlbmRzIHRoZSBjaGlsZCwgd2hpY2ggdGhlIHdvcmtlciBzZWVzIGFzIGFuIGV4aXQgYW5kXG4gKiByZWNsYWltcyBmb3IgdGhlIHdob2xlIGluLWZsaWdodCBzZXQuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlBheWxvYWQgJiB7aWQ6IHN0cmluZ319IHBheWxvYWQgLSBKb2IgcGF5bG9hZC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vdGVzdGluZy9zaGFyZWQtdHJhbnNhY3Rpb24tcHJveHktZHJpdmVyLmpzXCIpLlNoYXJlZFRyYW5zYWN0aW9uQnJva2VySm9iQ29uZmlnfSBzaGFyZWRUcmFuc2FjdGlvbkJyb2tlciAtIFBlci1qb2IgYnJva2VyIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciByZXBvcnRpbmcuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJ1bkpvYihwYXlsb2FkLCBzaGFyZWRUcmFuc2FjdGlvbkJyb2tlcikge1xuICB0cnkge1xuICAgIGNvbnN0IHN0YXR1cyA9IGF3YWl0IHJ1bldpdGhTaGFyZWRUcmFuc2FjdGlvbkJyb2tlckNvbmZpZyhzaGFyZWRUcmFuc2FjdGlvbkJyb2tlciwgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJyb2tlcklkZW50aXR5LnJ1bihzaGFyZWRUcmFuc2FjdGlvbkJyb2tlciwgYXN5bmMgKCkgPT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgcnVuSm9iUGF5bG9hZChwYXlsb2FkLCB7XG4gICAgICAgICAgY2xvc2VDb25uZWN0aW9uczogZmFsc2UsXG4gICAgICAgICAgbWFuYWdlUHJvY2Vzc1RpdGxlOiBmYWxzZSxcbiAgICAgICAgICBwcm9jZXNzVHlwZTogXCJiYWNrZ3JvdW5kLWpvYnMtcG9vbGVkLXJ1bm5lclwiXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pXG4gICAgYXdhaXQgc2VuZE91dGNvbWUoe2pvYklkOiBwYXlsb2FkLmlkLCBhY2tub3dsZWRnZWQ6IHRydWUsIHN0YXR1c30pXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQmFja2dyb3VuZEpvYlBlcmZvcm1lZEZhaWx1cmUpIHtcbiAgICAgIGF3YWl0IHNlbmRPdXRjb21lKHtqb2JJZDogcGF5bG9hZC5pZCwgYWNrbm93bGVkZ2VkOiB0cnVlLCBzdGF0dXM6IFwiZmFpbGVkXCJ9KVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXBvcnRFcnJvciA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvciA6IG5ldyBFcnJvcihTdHJpbmcoZXJyb3IpKVxuICAgICAgY29uc29sZS5lcnJvcihcIlBvb2xlZCBiYWNrZ3JvdW5kIGpvYiBydW5uZXIgZmFpbGVkIGJlZm9yZSB0ZXJtaW5hbCBhY2tub3dsZWRnZW1lbnQ6XCIsIHJlcG9ydEVycm9yKVxuICAgICAgYXdhaXQgc2VuZE91dGNvbWUoe2pvYklkOiBwYXlsb2FkLmlkLCBhY2tub3dsZWRnZWQ6IGZhbHNlLCBlcnJvcjogcmVwb3J0RXJyb3J9KVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBydW5uaW5nSm9iSWRzLmRlbGV0ZShwYXlsb2FkLmlkKVxuICAgIHVwZGF0ZVByb2Nlc3NUaXRsZSgpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIGEgam9iIG1lc3NhZ2UsIHN0YXJ0aW5nIGl0IGFsb25nc2lkZSBhbnkgY29uY3VycmVudCBzaWJsaW5ncy5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IG1lc3NhZ2UgLSBJUEMgbWVzc2FnZS5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBoYW5kbGVNZXNzYWdlKG1lc3NhZ2UpIHtcbiAgaWYgKCFpc0pvYk1lc3NhZ2UobWVzc2FnZSkgfHwgcnVubmluZ0pvYklkcy5oYXMobWVzc2FnZS5wYXlsb2FkLmlkKSkgcmV0dXJuXG5cbiAgcnVubmluZ0pvYklkcy5hZGQobWVzc2FnZS5wYXlsb2FkLmlkKVxuICB1cGRhdGVQcm9jZXNzVGl0bGUoKVxuICB2b2lkIHJ1bkpvYihtZXNzYWdlLnBheWxvYWQsIG1lc3NhZ2Uuc2hhcmVkVHJhbnNhY3Rpb25Ccm9rZXIgfHwge2V4cGVjdGVkOiBmYWxzZX0pXG59XG5cbnByb2Nlc3Mub24oXCJtZXNzYWdlXCIsIChtZXNzYWdlKSA9PiBoYW5kbGVNZXNzYWdlKG1lc3NhZ2UpKVxucHJvY2Vzcy5vbmNlKFwiZGlzY29ubmVjdFwiLCAoKSA9PiB2b2lkIHNodXRkb3duUnVubmVyKDApKVxuZm9yIChjb25zdCBzaWduYWwgb2YgW1wiU0lHVEVSTVwiLCBcIlNJR0lOVFwiXSkgcHJvY2Vzcy5vbmNlKHNpZ25hbCwgKCkgPT4gdm9pZCBzaHV0ZG93blJ1bm5lcigxKSlcbmlmIChwcm9jZXNzLnNlbmQpIHByb2Nlc3Muc2VuZCh7dHlwZTogXCJyZWFkeVwifSlcbiJdfQ==
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9vbGVkLXJ1bm5lci1jaGlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZ3JvdW5kLWpvYnMvcG9vbGVkLXJ1bm5lci1jaGlsZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN4QyxPQUFPLGFBQWEsRUFBRSxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDbkksT0FBTyxxQkFBcUIsTUFBTSwyQkFBMkIsQ0FBQTtBQUM3RCxPQUFPLDBCQUEwQixNQUFNLG9DQUFvQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBRXBHLE1BQU0sa0JBQWtCLEdBQUcsa0NBQWtDLENBQUE7QUFDN0QsZ0ZBQWdGO0FBQ2hGLE1BQU0sZUFBZSxHQUFHLFVBQVUsRUFBRSxDQUFBO0FBRXBDLHFCQUFxQixFQUFFLENBQUE7QUFFdkIsd0NBQXdDO0FBQ3hDLElBQUksZUFBZSxDQUFBO0FBRW5COzs7Ozs7R0FNRztBQUNILFNBQVMsY0FBYyxDQUFDLFFBQVE7SUFDOUIsSUFBSSxlQUFlO1FBQUUsT0FBTyxlQUFlLENBQUE7SUFFM0MsZUFBZSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDNUIsTUFBTSxzQkFBc0IsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUE7UUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRUosT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7QUFDL0IsTUFB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LE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgeyByYW5kb21VVUlEIH0gZnJvbSBcIm5vZGU6Y3J5cHRvXCJcbmltcG9ydCBydW5Kb2JQYXlsb2FkLCB7IEJhY2tncm91bmRKb2JQZXJmb3JtZWRGYWlsdXJlIH0gZnJvbSBcIi4vam9iLXJ1bm5lci5qc1wiXG5pbXBvcnQgeyBjbG9zZVJ1bm5lckNvbm5lY3Rpb25zLCBjbG9zZVJ1bm5lckZyYW1ld29ya0Nvbm5lY3Rpb25zLCBjdXJyZW50Q29uZmlndXJhdGlvbk9yTnVsbCB9IGZyb20gXCIuL3J1bm5lci1ncmFjZWZ1bC1zaHV0ZG93bi5qc1wiXG5pbXBvcnQgc2V0UnVubmVyUHJvY2Vzc1RpdGxlIGZyb20gXCIuL3J1bm5lci1wcm9jZXNzLXRpdGxlLmpzXCJcbmltcG9ydCBQb29sZWRSdW5uZXJCcm9rZXJJZGVudGl0eSBmcm9tIFwiLi9wb29sZWQtcnVubmVyLWJyb2tlci1pZGVudGl0eS5qc1wiXG5pbXBvcnQgeyBydW5XaXRoU2hhcmVkVHJhbnNhY3Rpb25Ccm9rZXJDb25maWcgfSBmcm9tIFwiLi4vdGVzdGluZy9zaGFyZWQtdHJhbnNhY3Rpb24tcHJveHktZHJpdmVyLmpzXCJcblxuY29uc3QgQkFTRV9QUk9DRVNTX1RJVExFID0gXCJ2ZWxvY2lvdXMgYmFja2dyb3VuZC1qb2JzLXJ1bm5lclwiXG4vKiogU3RhYmxlIGlkZW50aXR5IG9mIHRoaXMgcG9vbGVkIGNoaWxkIHByb2Nlc3MgZm9yIHRoZSBsaWZlIG9mIHRoZSBwcm9jZXNzLiAqL1xuY29uc3QgY2hpbGRJbnN0YW5jZUlkID0gcmFuZG9tVVVJRCgpXG5cbnNldFJ1bm5lclByb2Nlc3NUaXRsZSgpXG5cbi8qKiBAdHlwZSB7UHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZH0gKi9cbmxldCBzaHV0ZG93blByb21pc2VcblxuLyoqXG4gKiBDbG9zZXMgdGhlIHJ1bm5lcidzIGNvbm5lY3Rpb25zIOKAlCByZWxlYXNpbmcgYW55IGFkdmlzb3J5IGxvY2sgYSBraWxsZWQtbWlkLXBhc3NcbiAqIGpvYiBzdGlsbCBob2xkcyDigJQgYmVmb3JlIGV4aXRpbmcsIGluc3RlYWQgb2YgbGVhdmluZyBhIGhhbGYtb3BlbiBzZXNzaW9uIHRoYXRcbiAqIGtlZXBzIHRoZSBsb2NrIHVudGlsIHRoZSBEQiBzZXJ2ZXIncyBgd2FpdF90aW1lb3V0YC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBleGl0Q29kZSAtIFByb2Nlc3MgZXhpdCBjb2RlLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gKi9cbmZ1bmN0aW9uIHNodXRkb3duUnVubmVyKGV4aXRDb2RlKSB7XG4gIGlmIChzaHV0ZG93blByb21pc2UpIHJldHVybiBzaHV0ZG93blByb21pc2VcblxuICBzaHV0ZG93blByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGNsb3NlUnVubmVyQ29ubmVjdGlvbnMoY3VycmVudENvbmZpZ3VyYXRpb25Pck51bGwoKSlcbiAgICBwcm9jZXNzLmV4aXQoZXhpdENvZGUpXG4gIH0pKClcblxuICByZXR1cm4gc2h1dGRvd25Qcm9taXNlXG59XG5cbi8qKlxuICogSWRzIG9mIGpvYnMgY3VycmVudGx5IHJ1bm5pbmcgaW4gdGhpcyBjaGlsZC4gQSBwb29sZWQgY2hpbGQgcnVucyB1cCB0b1xuICogYHBvb2xlZFJ1bm5lckNvbmN1cnJlbmN5YCBqb2JzIGF0IG9uY2UgKHRoZSB3b3JrZXIgb25seSBkaXNwYXRjaGVzIHdpdGhpbiB0aGF0XG4gKiBib3VuZCk7IHRoZSBzZXQgZGVkdXBlcyBhIHJlZGVsaXZlcmVkIGpvYiBpZCBhbmQgbGV0cyBlYWNoIGpvYiBzZXR0bGVcbiAqIGluZGVwZW5kZW50bHkuXG4gKiBAdHlwZSB7U2V0PHN0cmluZz59XG4gKi9cbmNvbnN0IHJ1bm5pbmdKb2JJZHMgPSBuZXcgU2V0KClcbmNvbnN0IGJyb2tlcklkZW50aXR5ID0gbmV3IFBvb2xlZFJ1bm5lckJyb2tlcklkZW50aXR5KHtcbiAgY2xvc2VDb25uZWN0aW9uczogYXN5bmMgKCkgPT4gYXdhaXQgY2xvc2VSdW5uZXJGcmFtZXdvcmtDb25uZWN0aW9ucyhjdXJyZW50Q29uZmlndXJhdGlvbk9yTnVsbCgpKVxufSlcblxuLyoqXG4gKiBTZXRzIGFuIGFnZ3JlZ2F0ZSBwcm9jZXNzIHRpdGxlIGZyb20gdGhlIGN1cnJlbnQgaW4tZmxpZ2h0IGNvdW50LiBBIGNoaWxkIHJ1bnNcbiAqIGpvYnMgY29uY3VycmVudGx5LCBzbyBhIHBlci1qb2IgdGl0bGUgKHdoaWNoIGBydW5Kb2JQYXlsb2FkYCB3b3VsZCBzbmFwc2hvdCBhbmRcbiAqIHJlc3RvcmUgYXJvdW5kIGEgc2luZ2xlIGpvYikgY2Fubm90IHJlcHJlc2VudCB0aGUgcHJvY2VzcyDigJQgaW50ZXJsZWF2ZWRcbiAqIGNvbXBsZXRpb25zIHdvdWxkIGxlYXZlIGEgc3RhbGUgbGFiZWwuIFJlY29tcHV0aW5nIGZyb20gYHJ1bm5pbmdKb2JJZHMuc2l6ZWAgaXNcbiAqIGNvbmN1cnJlbmN5LXNhZmUgYW5kIGhvbmVzdDogYHBzYC9gdG9wYCBzaG93IGhvdyBtYW55IGpvYnMgdGhlIGNoaWxkIGlzIHJ1bm5pbmcuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gdXBkYXRlUHJvY2Vzc1RpdGxlKCkge1xuICBjb25zdCBjb3VudCA9IHJ1bm5pbmdKb2JJZHMuc2l6ZVxuXG4gIHByb2Nlc3MudGl0bGUgPSBjb3VudCA+IDAgPyBgJHtCQVNFX1BST0NFU1NfVElUTEV9OiAke2NvdW50fSAke2NvdW50ID09PSAxID8gXCJqb2JcIiA6IFwiam9ic1wifWAgOiBCQVNFX1BST0NFU1NfVElUTEVcbn1cblxuLyoqXG4gKiBSZXBvcnRzIG9uZSBhY2NlcHRhbmNlIG9ic2VydmF0aW9uIChqb2IgcmVjZWl2ZWQgLyBwZXJmb3JtIHN0YXJ0ZWQpIHRvIHRoZVxuICogd29ya2VyIG92ZXIgSVBDLiBUaGUgbWVzc2FnZSBjYXJyaWVzIHRoZSBqb2IncyBleGFjdCBoYW5kb2ZmIGxlYXNlIHNvIHRoZVxuICogd29ya2VyIGNhbiBwZXJzaXN0IGl0IGZlbmNlZCB3aXRob3V0IGFueSBvdGhlciBsb29rdXAuIFNlbmQgZmFpbHVyZXMgYXJlXG4gKiBzd2FsbG93ZWQ6IGEgZGVhZCBJUEMgY2hhbm5lbCBpcyB0ZXJtaW5hbCBmb3IgdGhpcyBjaGlsZCAodGhlIGRpc2Nvbm5lY3RcbiAqIGhhbmRsZXIgb3ducyBzaHV0ZG93biksIGFuZCBsb3NpbmcgYWNjZXB0YW5jZSBldmlkZW5jZSBtdXN0IG5ldmVyIGZhaWwgdGhlXG4gKiBqb2IgaXRzZWxmLlxuICogQHBhcmFtIHtcImpvYi1yZWNlaXZlZFwiIHwgXCJqb2Itc3RhcnRlZFwifSB0eXBlIC0gT2JzZXJ2YXRpb24ga2luZC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iUGF5bG9hZCAmIHtpZDogc3RyaW5nfX0gcGF5bG9hZCAtIEpvYiBwYXlsb2FkIGNhcnJ5aW5nIHRoZSBoYW5kb2ZmIGxlYXNlLlxuICogQHBhcmFtIHtudW1iZXJ9IG9ic2VydmVkQXRNcyAtIEVwb2NoIG1zIG9mIHRoZSBvYnNlcnZhdGlvbi5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBzZW5kQ2hpbGRBY2NlcHRhbmNlKHR5cGUsIHBheWxvYWQsIG9ic2VydmVkQXRNcykge1xuICBpZiAoIXByb2Nlc3Muc2VuZCkgcmV0dXJuXG5cbiAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICBjaGlsZEluc3RhbmNlSWQsXG4gICAgY2hpbGRQaWQ6IHByb2Nlc3MucGlkLFxuICAgIGhhbmRlZE9mZkF0TXM6IHBheWxvYWQuaGFuZGVkT2ZmQXRNcyxcbiAgICBoYW5kb2ZmSWQ6IHBheWxvYWQuaGFuZG9mZklkLFxuICAgIGpvYklkOiBwYXlsb2FkLmlkLFxuICAgIHR5cGUsXG4gICAgd29ya2VySWQ6IHBheWxvYWQud29ya2VySWQsXG4gICAgLi4uKHR5cGUgPT09IFwiam9iLXJlY2VpdmVkXCIgPyB7cmVjZWl2ZWRBdE1zOiBvYnNlcnZlZEF0TXN9IDoge3N0YXJ0ZWRBdE1zOiBvYnNlcnZlZEF0TXN9KVxuICB9XG5cbiAgdHJ5IHtcbiAgICBwcm9jZXNzLnNlbmQobWVzc2FnZSlcbiAgfSBjYXRjaCB7XG4gICAgLy8gVGhlIElQQyBjaGFubmVsIGlzIGFscmVhZHkgZ29uZTsgdGhlIGRpc2Nvbm5lY3QgaGFuZGxlciBvd25zIHNodXRkb3duLlxuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gSVBDIHZhbHVlIGlzIGEgcnVubmFibGUgcG9vbGVkIGpvYiBtZXNzYWdlLlxuICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gbWVzc2FnZSAtIElQQyBtZXNzYWdlLlxuICogQHJldHVybnMge21lc3NhZ2UgaXMge3R5cGU6IFwiam9iXCIsIHBheWxvYWQ6IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlBheWxvYWQgJiB7aWQ6IHN0cmluZ30sIHNoYXJlZFRyYW5zYWN0aW9uQnJva2VyPzogaW1wb3J0KFwiLi4vdGVzdGluZy9zaGFyZWQtdHJhbnNhY3Rpb24tcHJveHktZHJpdmVyLmpzXCIpLlNoYXJlZFRyYW5zYWN0aW9uQnJva2VySm9iQ29uZmlnfX0gLSBXaGV0aGVyIHRoaXMgaXMgYSB2YWxpZCBqb2IgbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gaXNKb2JNZXNzYWdlKG1lc3NhZ2UpIHtcbiAgaWYgKCFtZXNzYWdlIHx8IHR5cGVvZiBtZXNzYWdlICE9PSBcIm9iamVjdFwiKSByZXR1cm4gZmFsc2VcbiAgY29uc3QgcmVjb3JkID0gLyoqIEB0eXBlIHt7dHlwZT86IFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+LCBwYXlsb2FkPzogUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4sIHNoYXJlZFRyYW5zYWN0aW9uQnJva2VyPzogUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59fSAqLyAobWVzc2FnZSlcblxuICByZXR1cm4gcmVjb3JkLnR5cGUgPT09IFwiam9iXCIgJiYgISFyZWNvcmQucGF5bG9hZCAmJiB0eXBlb2YgcmVjb3JkLnBheWxvYWQgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY29yZC5wYXlsb2FkLmlkID09PSBcInN0cmluZ1wiXG59XG5cbi8qKlxuICogU2VuZHMgdGhlIHRlcm1pbmFsIG91dGNvbWUgYWZ0ZXIgdGhlIG1haW4vREIgcmVwb3J0IGhhcyBiZWVuIGFja25vd2xlZGdlZCBvciByZWplY3RlZC5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3V0Y29tZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmpvYklkIC0gSm9iIGlkLlxuICogQHBhcmFtIHtib29sZWFufSBhcmdzLmFja25vd2xlZGdlZCAtIFdoZXRoZXIgdGhlIHRlcm1pbmFsIHJlcG9ydCB3YXMgYWNrbm93bGVkZ2VkLlxuICogQHBhcmFtIHtcImNvbXBsZXRlZFwiIHwgXCJmYWlsZWRcIiB8IFwicmVzY2hlZHVsZWRcIn0gW2FyZ3Muc3RhdHVzXSAtIEFja25vd2xlZGdlZCBvdXRjb21lLlxuICogQHBhcmFtIHtFcnJvcn0gW2FyZ3MuZXJyb3JdIC0gUmVwb3J0aW5nIGVycm9yIHdoZW4gYWNrbm93bGVkZ2VtZW50IHdhcyBub3Qgb2J0YWluZWQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciBJUEMgYWNjZXB0cyB0aGUgbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gc2VuZE91dGNvbWUoe2pvYklkLCBhY2tub3dsZWRnZWQsIHN0YXR1cywgZXJyb3J9KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmICghcHJvY2Vzcy5zZW5kKSB7XG4gICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHByb2Nlc3Muc2VuZCh7XG4gICAgICB0eXBlOiBcImpvYi1vdXRjb21lXCIsXG4gICAgICBqb2JJZCxcbiAgICAgIGFja25vd2xlZGdlZCxcbiAgICAgIHN0YXR1cyxcbiAgICAgIHJzc0J5dGVzOiBwcm9jZXNzLm1lbW9yeVVzYWdlKCkucnNzLFxuICAgICAgZXJyb3I6IGVycm9yPy5tZXNzYWdlXG4gICAgfSwgKCkgPT4gcmVzb2x2ZSh1bmRlZmluZWQpKVxuICB9KVxufVxuXG4vKipcbiAqIFJ1bnMgb25lIGpvYiBjb25jdXJyZW50bHkgd2l0aCBhbnkgc2libGluZ3MgYW5kIHJlcG9ydHMgaXRzIG93biB0ZXJtaW5hbFxuICogb3V0Y29tZS4gQSBzaW5nbGUgam9iJ3MgdW5leHBlY3RlZCBmYWlsdXJlIHJlcG9ydHMgdGhhdCBqb2IgZm9yIHJlY2xhbWF0aW9uXG4gKiAoYGFja25vd2xlZGdlZDogZmFsc2VgKSBidXQgZG9lcyBOT1QgdGFrZSBkb3duIHRoZSBjaGlsZCDigJQgaXRzIGNvbmN1cnJlbnRcbiAqIHNpYmxpbmdzIGtlZXAgcnVubmluZy4gT25seSBhIHByb2Nlc3MtbGV2ZWwgZmF1bHQgKHdoaWNoIGVzY2FwZXMgZXZlcnlcbiAqIHBlci1qb2IgdHJ5L2NhdGNoKSBlbmRzIHRoZSBjaGlsZCwgd2hpY2ggdGhlIHdvcmtlciBzZWVzIGFzIGFuIGV4aXQgYW5kXG4gKiByZWNsYWltcyBmb3IgdGhlIHdob2xlIGluLWZsaWdodCBzZXQuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlBheWxvYWQgJiB7aWQ6IHN0cmluZ319IHBheWxvYWQgLSBKb2IgcGF5bG9hZC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vdGVzdGluZy9zaGFyZWQtdHJhbnNhY3Rpb24tcHJveHktZHJpdmVyLmpzXCIpLlNoYXJlZFRyYW5zYWN0aW9uQnJva2VySm9iQ29uZmlnfSBzaGFyZWRUcmFuc2FjdGlvbkJyb2tlciAtIFBlci1qb2IgYnJva2VyIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciByZXBvcnRpbmcuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJ1bkpvYihwYXlsb2FkLCBzaGFyZWRUcmFuc2FjdGlvbkJyb2tlcikge1xuICB0cnkge1xuICAgIGNvbnN0IHN0YXR1cyA9IGF3YWl0IHJ1bldpdGhTaGFyZWRUcmFuc2FjdGlvbkJyb2tlckNvbmZpZyhzaGFyZWRUcmFuc2FjdGlvbkJyb2tlciwgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJyb2tlcklkZW50aXR5LnJ1bihzaGFyZWRUcmFuc2FjdGlvbkJyb2tlciwgYXN5bmMgKCkgPT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgcnVuSm9iUGF5bG9hZChwYXlsb2FkLCB7XG4gICAgICAgICAgY2xvc2VDb25uZWN0aW9uczogZmFsc2UsXG4gICAgICAgICAgbWFuYWdlUHJvY2Vzc1RpdGxlOiBmYWxzZSxcbiAgICAgICAgICBvblBlcmZvcm1TdGFydDogKCkgPT4gc2VuZENoaWxkQWNjZXB0YW5jZShcImpvYi1zdGFydGVkXCIsIHBheWxvYWQsIERhdGUubm93KCkpLFxuICAgICAgICAgIHByb2Nlc3NUeXBlOiBcImJhY2tncm91bmQtam9icy1wb29sZWQtcnVubmVyXCJcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSlcbiAgICBhd2FpdCBzZW5kT3V0Y29tZSh7am9iSWQ6IHBheWxvYWQuaWQsIGFja25vd2xlZGdlZDogdHJ1ZSwgc3RhdHVzfSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBCYWNrZ3JvdW5kSm9iUGVyZm9ybWVkRmFpbHVyZSkge1xuICAgICAgYXdhaXQgc2VuZE91dGNvbWUoe2pvYklkOiBwYXlsb2FkLmlkLCBhY2tub3dsZWRnZWQ6IHRydWUsIHN0YXR1czogXCJmYWlsZWRcIn0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlcG9ydEVycm9yID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yIDogbmV3IEVycm9yKFN0cmluZyhlcnJvcikpXG4gICAgICBjb25zb2xlLmVycm9yKFwiUG9vbGVkIGJhY2tncm91bmQgam9iIHJ1bm5lciBmYWlsZWQgYmVmb3JlIHRlcm1pbmFsIGFja25vd2xlZGdlbWVudDpcIiwgcmVwb3J0RXJyb3IpXG4gICAgICBhd2FpdCBzZW5kT3V0Y29tZSh7am9iSWQ6IHBheWxvYWQuaWQsIGFja25vd2xlZGdlZDogZmFsc2UsIGVycm9yOiByZXBvcnRFcnJvcn0pXG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJ1bm5pbmdKb2JJZHMuZGVsZXRlKHBheWxvYWQuaWQpXG4gICAgdXBkYXRlUHJvY2Vzc1RpdGxlKClcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgYSBqb2IgbWVzc2FnZSwgc3RhcnRpbmcgaXQgYWxvbmdzaWRlIGFueSBjb25jdXJyZW50IHNpYmxpbmdzLlxuICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gbWVzc2FnZSAtIElQQyBtZXNzYWdlLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGhhbmRsZU1lc3NhZ2UobWVzc2FnZSkge1xuICBpZiAoIWlzSm9iTWVzc2FnZShtZXNzYWdlKSB8fCBydW5uaW5nSm9iSWRzLmhhcyhtZXNzYWdlLnBheWxvYWQuaWQpKSByZXR1cm5cblxuICBydW5uaW5nSm9iSWRzLmFkZChtZXNzYWdlLnBheWxvYWQuaWQpXG4gIHVwZGF0ZVByb2Nlc3NUaXRsZSgpXG4gIHNlbmRDaGlsZEFjY2VwdGFuY2UoXCJqb2ItcmVjZWl2ZWRcIiwgbWVzc2FnZS5wYXlsb2FkLCBEYXRlLm5vdygpKVxuICB2b2lkIHJ1bkpvYihtZXNzYWdlLnBheWxvYWQsIG1lc3NhZ2Uuc2hhcmVkVHJhbnNhY3Rpb25Ccm9rZXIgfHwge2V4cGVjdGVkOiBmYWxzZX0pXG59XG5cbnByb2Nlc3Mub24oXCJtZXNzYWdlXCIsIChtZXNzYWdlKSA9PiBoYW5kbGVNZXNzYWdlKG1lc3NhZ2UpKVxucHJvY2Vzcy5vbmNlKFwiZGlzY29ubmVjdFwiLCAoKSA9PiB2b2lkIHNodXRkb3duUnVubmVyKDApKVxuZm9yIChjb25zdCBzaWduYWwgb2YgW1wiU0lHVEVSTVwiLCBcIlNJR0lOVFwiXSkgcHJvY2Vzcy5vbmNlKHNpZ25hbCwgKCkgPT4gdm9pZCBzaHV0ZG93blJ1bm5lcigxKSlcbmlmIChwcm9jZXNzLnNlbmQpIHByb2Nlc3Muc2VuZCh7dHlwZTogXCJyZWFkeVwifSlcbiJdfQ==
|
|
@@ -56,6 +56,56 @@ export default class BackgroundJobsStatusReporter {
|
|
|
56
56
|
workerId?: string;
|
|
57
57
|
runnerFailure?: import("./types.js").PooledRunnerFailure;
|
|
58
58
|
}): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Runs report child accepted.
|
|
61
|
+
* @param {object} args - Options.
|
|
62
|
+
* @param {string} args.jobId - Job id.
|
|
63
|
+
* @param {string} [args.handoffId] - Handoff lease id.
|
|
64
|
+
* @param {string} [args.workerId] - Worker id.
|
|
65
|
+
* @param {number} [args.handedOffAtMs] - Handed off timestamp.
|
|
66
|
+
* @param {number} [args.receivedAtMs] - Epoch ms the runner child received the job.
|
|
67
|
+
* @param {number} [args.startedAtMs] - Epoch ms the job's perform started in the child.
|
|
68
|
+
* @param {string} [args.childInstanceId] - Stable pooled child identity.
|
|
69
|
+
* @param {number} [args.childPid] - Pooled child OS pid.
|
|
70
|
+
* @returns {Promise<void>} - Resolves when reported.
|
|
71
|
+
*/
|
|
72
|
+
reportChildAccepted({ jobId, handoffId, workerId, handedOffAtMs, receivedAtMs, startedAtMs, childInstanceId, childPid }: {
|
|
73
|
+
jobId: string;
|
|
74
|
+
handoffId?: string;
|
|
75
|
+
workerId?: string;
|
|
76
|
+
handedOffAtMs?: number;
|
|
77
|
+
receivedAtMs?: number;
|
|
78
|
+
startedAtMs?: number;
|
|
79
|
+
childInstanceId?: string;
|
|
80
|
+
childPid?: number;
|
|
81
|
+
}): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Runs report child accepted with retry. Acceptance evidence is diagnostic
|
|
84
|
+
* rather than terminal, so a transient main/DB failure retries only until
|
|
85
|
+
* `maxDurationMs` elapses and then gives up instead of stranding the report.
|
|
86
|
+
* @param {object} args - Options.
|
|
87
|
+
* @param {string} args.jobId - Job id.
|
|
88
|
+
* @param {string} [args.handoffId] - Handoff lease id.
|
|
89
|
+
* @param {string} [args.workerId] - Worker id.
|
|
90
|
+
* @param {number} [args.handedOffAtMs] - Handed off timestamp.
|
|
91
|
+
* @param {number} [args.receivedAtMs] - Epoch ms the runner child received the job.
|
|
92
|
+
* @param {number} [args.startedAtMs] - Epoch ms the job's perform started in the child.
|
|
93
|
+
* @param {string} [args.childInstanceId] - Stable pooled child identity.
|
|
94
|
+
* @param {number} [args.childPid] - Pooled child OS pid.
|
|
95
|
+
* @param {number} args.maxDurationMs - Max duration for retries.
|
|
96
|
+
* @returns {Promise<void>} - Resolves when reported or the budget elapses.
|
|
97
|
+
*/
|
|
98
|
+
reportChildAcceptedWithRetry({ jobId, handoffId, workerId, handedOffAtMs, receivedAtMs, startedAtMs, childInstanceId, childPid, maxDurationMs }: {
|
|
99
|
+
jobId: string;
|
|
100
|
+
handoffId?: string;
|
|
101
|
+
workerId?: string;
|
|
102
|
+
handedOffAtMs?: number;
|
|
103
|
+
receivedAtMs?: number;
|
|
104
|
+
startedAtMs?: number;
|
|
105
|
+
childInstanceId?: string;
|
|
106
|
+
childPid?: number;
|
|
107
|
+
maxDurationMs: number;
|
|
108
|
+
}): Promise<void>;
|
|
59
109
|
/**
|
|
60
110
|
* Runs report with retry.
|
|
61
111
|
* @param {object} args - Options.
|
|
@@ -68,7 +118,7 @@ export default class BackgroundJobsStatusReporter {
|
|
|
68
118
|
* @param {string} [args.workerId] - Worker id.
|
|
69
119
|
* @param {import("./types.js").PooledRunnerFailure} [args.runnerFailure] - Pooled-child process failure provenance.
|
|
70
120
|
* @param {number} [args.maxDurationMs] - Max duration for retries.
|
|
71
|
-
* @param {boolean} [args.retryPersistErrors] - Retry a `BackgroundJobUpdateError` (main's `job-update-error`, i.e. a transient DB failure while persisting the terminal status) instead of throwing immediately. Off by default so short-lived forked/spawned runners keep failing loudly and exit non-zero to be reclaimed; on for the long-lived worker, which cannot exit
|
|
121
|
+
* @param {boolean} [args.retryPersistErrors] - Retry a `BackgroundJobUpdateError` (main's `job-update-error`, i.e. a transient DB failure while persisting the terminal status) instead of throwing immediately. Off by default so short-lived forked/spawned runners keep failing loudly and exit non-zero to be reclaimed; on for the long-lived worker, which cannot exit to trigger orphan reclaim and would otherwise drop the completion and strand the row in `handed_off`.
|
|
72
122
|
* @returns {Promise<void>} - Resolves when reported.
|
|
73
123
|
*/
|
|
74
124
|
reportWithRetry({ jobId, status, delayMs, error, handoffId, handedOffAtMs, workerId, runnerFailure, maxDurationMs, retryPersistErrors }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-reporter.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/status-reporter.js"],"names":[],"mappings":"AAIA,OAAO,MAAM,MAAM,cAAc,CAAA;AAEjC,OAAO,2BAA2B,MAAM,qBAAqB,CAAA;AAK7D,MAAM,CAAC,OAAO,OAAO,4BAA4B;IAYxC,aAAa;IACb,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,4BAA4B;IAC5B,oBAAoB;IACzB;;;;;OAKG;IACE,YAAY,EAFP,2BAA2B,GAAG,SAAS;IAG5C,MAAM;IAxBb;;;;;;;;;OASG;IACH,YAAY,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAuB,EAAE,4BAAsE,EAAE,YAAY,EAAC,EAPnJ;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAAsB,IAAI,AAA1B,CACA,EADQ,MAAM,CACd;QAAsB,IAAI,AAA1B,CACA,EADQ,MAAM,CACd;QAAsB,gBAAgB,AAAtC,CACA,EADQ,MAAM,CACd;QAAsB,YAAY,AAAlC,CACA,EADQ,MAAM,CACd;QAAsB,4BAA4B,AAAlD,CACF,EADU,MAAM,CAChB;KACqJ,EAerJ;IAED;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAC,EAV5F;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAqD,MAAM,EAAnD,WAAW,GAAG,QAAQ,GAAG,aAAa,CAC9C;QAAsB,OAAO,AAA7B,CACA,EADQ,MAAM,CACd;QAA6C,KAAK,AAAlD,CACA,EADQ,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;QAAsB,SAAS,AAA/B,CACA,EADQ,MAAM,CACd;QAAsB,aAAa,AAAnC,CACA,EADQ,MAAM,CACd;QAAsB,QAAQ,AAA9B,CACA,EADQ,MAAM,CACd;QAAwD,aAAa,AAArE,CACA,EADQ,OAAO,YAAY,EAAE,mBAAmB,CAChD;KAE4F,GAFlF,OAAO,CAAC,IAAI,CAAC,CA0CzB;IAED;;;;;;;;;;;;;;OAcG;IACG,eAAe,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,kBAA0B,EAAC,EAZhJ;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAqD,MAAM,EAAnD,WAAW,GAAG,QAAQ,GAAG,aAAa,CAC9C;QAAsB,OAAO,AAA7B,CACA,EADQ,MAAM,CACd;QAA6C,KAAK,AAAlD,CACA,EADQ,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;QAAsB,SAAS,AAA/B,CACA,EADQ,MAAM,CACd;QAAsB,aAAa,AAAnC,CACA,EADQ,MAAM,CACd;QAAsB,QAAQ,AAA9B,CACA,EADQ,MAAM,CACd;QAAwD,aAAa,AAArE,CACA,EADQ,OAAO,YAAY,EAAE,mBAAmB,CAChD;QAAsB,aAAa,AAAnC,CACA,EADQ,MAAM,CACd;QAAuB,kBAAkB,AAAzC,CACA,EADQ,OAAO,CACf;KAEgJ,GAFtI,OAAO,CAAC,IAAI,CAAC,CAsCzB;CAEF"}
|
|
1
|
+
{"version":3,"file":"status-reporter.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/status-reporter.js"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,93 @@ export default class BackgroundJobsStatusReporter {
|
|
|
84
84
|
});
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Runs report child accepted.
|
|
89
|
+
* @param {object} args - Options.
|
|
90
|
+
* @param {string} args.jobId - Job id.
|
|
91
|
+
* @param {string} [args.handoffId] - Handoff lease id.
|
|
92
|
+
* @param {string} [args.workerId] - Worker id.
|
|
93
|
+
* @param {number} [args.handedOffAtMs] - Handed off timestamp.
|
|
94
|
+
* @param {number} [args.receivedAtMs] - Epoch ms the runner child received the job.
|
|
95
|
+
* @param {number} [args.startedAtMs] - Epoch ms the job's perform started in the child.
|
|
96
|
+
* @param {string} [args.childInstanceId] - Stable pooled child identity.
|
|
97
|
+
* @param {number} [args.childPid] - Pooled child OS pid.
|
|
98
|
+
* @returns {Promise<void>} - Resolves when reported.
|
|
99
|
+
*/
|
|
100
|
+
async reportChildAccepted({ jobId, handoffId, workerId, handedOffAtMs, receivedAtMs, startedAtMs, childInstanceId, childPid }) {
|
|
101
|
+
const config = this.configuration.getBackgroundJobsConfig();
|
|
102
|
+
const host = this.host || config.host;
|
|
103
|
+
const port = typeof this.port === "number" ? this.port : config.port;
|
|
104
|
+
const { generationId } = this.configuration.resolveBackgroundJobsGenerationConfig({
|
|
105
|
+
generationId: this.explicitGenerationId,
|
|
106
|
+
sourceName: "BackgroundJobsStatusReporter"
|
|
107
|
+
});
|
|
108
|
+
await timeout({ timeout: this.attemptTimeoutMs }, async ({ control }) => {
|
|
109
|
+
const request = new BackgroundJobsSocketRequest({ host, port, role: "reporter", generationHandshakeTimeoutMs: this.generationHandshakeTimeoutMs, generationId });
|
|
110
|
+
this._lastRequest = request;
|
|
111
|
+
await request.run({
|
|
112
|
+
signal: control.signal,
|
|
113
|
+
onConnect: (jsonSocket) => {
|
|
114
|
+
jsonSocket.send({
|
|
115
|
+
type: "job-accepted",
|
|
116
|
+
jobId,
|
|
117
|
+
handoffId,
|
|
118
|
+
workerId,
|
|
119
|
+
handedOffAtMs,
|
|
120
|
+
receivedAtMs,
|
|
121
|
+
startedAtMs,
|
|
122
|
+
childInstanceId,
|
|
123
|
+
childPid
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
onMessage: ({ message, resolve, reject }) => {
|
|
127
|
+
if (message?.type === "job-updated" && message.jobId === jobId) {
|
|
128
|
+
resolve(undefined);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (message?.type === "job-update-error" && message.jobId === jobId) {
|
|
132
|
+
reject(new BackgroundJobUpdateError(message.error || "Job update failed"));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Runs report child accepted with retry. Acceptance evidence is diagnostic
|
|
140
|
+
* rather than terminal, so a transient main/DB failure retries only until
|
|
141
|
+
* `maxDurationMs` elapses and then gives up instead of stranding the report.
|
|
142
|
+
* @param {object} args - Options.
|
|
143
|
+
* @param {string} args.jobId - Job id.
|
|
144
|
+
* @param {string} [args.handoffId] - Handoff lease id.
|
|
145
|
+
* @param {string} [args.workerId] - Worker id.
|
|
146
|
+
* @param {number} [args.handedOffAtMs] - Handed off timestamp.
|
|
147
|
+
* @param {number} [args.receivedAtMs] - Epoch ms the runner child received the job.
|
|
148
|
+
* @param {number} [args.startedAtMs] - Epoch ms the job's perform started in the child.
|
|
149
|
+
* @param {string} [args.childInstanceId] - Stable pooled child identity.
|
|
150
|
+
* @param {number} [args.childPid] - Pooled child OS pid.
|
|
151
|
+
* @param {number} args.maxDurationMs - Max duration for retries.
|
|
152
|
+
* @returns {Promise<void>} - Resolves when reported or the budget elapses.
|
|
153
|
+
*/
|
|
154
|
+
async reportChildAcceptedWithRetry({ jobId, handoffId, workerId, handedOffAtMs, receivedAtMs, startedAtMs, childInstanceId, childPid, maxDurationMs }) {
|
|
155
|
+
let attempt = 0;
|
|
156
|
+
const startTime = Date.now();
|
|
157
|
+
while (true) {
|
|
158
|
+
try {
|
|
159
|
+
await this.reportChildAccepted({ jobId, handoffId, workerId, handedOffAtMs, receivedAtMs, startedAtMs, childInstanceId, childPid });
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
attempt += 1;
|
|
164
|
+
const delaySeconds = Math.min(30, 0.5 * attempt);
|
|
165
|
+
this.logger.debug(() => ["Background job child-acceptance report failed, retrying", error]);
|
|
166
|
+
if (Date.now() - startTime >= maxDurationMs) {
|
|
167
|
+
this.logger.warn(() => ["Background job child-acceptance report timed out, giving up", error]);
|
|
168
|
+
throw error;
|
|
169
|
+
}
|
|
170
|
+
await wait(delaySeconds);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
87
174
|
/**
|
|
88
175
|
* Runs report with retry.
|
|
89
176
|
* @param {object} args - Options.
|
|
@@ -96,7 +183,7 @@ export default class BackgroundJobsStatusReporter {
|
|
|
96
183
|
* @param {string} [args.workerId] - Worker id.
|
|
97
184
|
* @param {import("./types.js").PooledRunnerFailure} [args.runnerFailure] - Pooled-child process failure provenance.
|
|
98
185
|
* @param {number} [args.maxDurationMs] - Max duration for retries.
|
|
99
|
-
* @param {boolean} [args.retryPersistErrors] - Retry a `BackgroundJobUpdateError` (main's `job-update-error`, i.e. a transient DB failure while persisting the terminal status) instead of throwing immediately. Off by default so short-lived forked/spawned runners keep failing loudly and exit non-zero to be reclaimed; on for the long-lived worker, which cannot exit
|
|
186
|
+
* @param {boolean} [args.retryPersistErrors] - Retry a `BackgroundJobUpdateError` (main's `job-update-error`, i.e. a transient DB failure while persisting the terminal status) instead of throwing immediately. Off by default so short-lived forked/spawned runners keep failing loudly and exit non-zero to be reclaimed; on for the long-lived worker, which cannot exit to trigger orphan reclaim and would otherwise drop the completion and strand the row in `handed_off`.
|
|
100
187
|
* @returns {Promise<void>} - Resolves when reported.
|
|
101
188
|
*/
|
|
102
189
|
async reportWithRetry({ jobId, status, delayMs, error, handoffId, handedOffAtMs, workerId, runnerFailure, maxDurationMs, retryPersistErrors = false }) {
|
|
@@ -134,4 +221,4 @@ export default class BackgroundJobsStatusReporter {
|
|
|
134
221
|
}
|
|
135
222
|
}
|
|
136
223
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXJlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9zdGF0dXMtcmVwb3J0ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sT0FBTyxNQUFNLDJCQUEyQixDQUFBO0FBQy9DLE9BQU8sSUFBSSxNQUFNLHdCQUF3QixDQUFBO0FBQ3pDLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLDJCQUEyQixNQUFNLHNCQUFzQixDQUFBO0FBQzlELE9BQU8sMkJBQTJCLE1BQU0scUJBQXFCLENBQUE7QUFDN0QsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFdkksTUFBTSx3QkFBeUIsU0FBUSxLQUFLO0NBQUc7QUFFL0MsTUFBTSxDQUFDLE9BQU8sT0FBTyw0QkFBNEI7SUFDL0M7Ozs7Ozs7OztPQVNHO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixHQUFHLElBQUksRUFBRSw0QkFBNEIsR0FBRyx1Q0FBdUMsRUFBRSxZQUFZLEVBQUM7UUFDcEosSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFBO1FBQ3hDLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxvQ0FBb0MsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1FBQ3RHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxZQUFZLENBQUE7UUFDeEM7Ozs7O1dBS0c7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQTtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUks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QkFDYixDQUFDO2dCQUVELE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB0aW1lb3V0IGZyb20gXCJhd2FpdGVyeS9idWlsZC90aW1lb3V0LmpzXCJcbmltcG9ydCB3YWl0IGZyb20gXCJhd2FpdGVyeS9idWlsZC93YWl0LmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5pbXBvcnQgbm9ybWFsaXplQmFja2dyb3VuZEpvYkVycm9yIGZyb20gXCIuL25vcm1hbGl6ZS1lcnJvci5qc1wiXG5pbXBvcnQgQmFja2dyb3VuZEpvYnNTb2NrZXRSZXF1ZXN0IGZyb20gXCIuL3NvY2tldC1yZXF1ZXN0LmpzXCJcbmltcG9ydCB7IERFRkFVTFRfR0VORVJBVElPTl9IQU5EU0hBS0VfVElNRU9VVF9NUywgdmFsaWRhdGVHZW5lcmF0aW9uSGFuZHNoYWtlVGltZW91dE1zIH0gZnJvbSBcIi4vZ2VuZXJhdGlvbi1oYW5kc2hha2UtdGltZW91dC1lcnJvci5qc1wiXG5cbmNsYXNzIEJhY2tncm91bmRKb2JVcGRhdGVFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhY2tncm91bmRKb2JzU3RhdHVzUmVwb3J0ZXIge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmhvc3RdIC0gSG9zdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLnBvcnRdIC0gUG9ydC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmF0dGVtcHRUaW1lb3V0TXNdIC0gUGVyLWF0dGVtcHQgc29ja2V0LXJlcXVlc3QgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IDUwMDApLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuZ2VuZXJhdGlvbklkXSAtIEV4cGxpY2l0IHJlbGVhc2UgZ2VuZXJhdGlvbiBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXNdIC0gTWF4aW11bSB0aW1lIHRvIHdhaXQgZm9yIGdlbmVyYXRpb24gYWNrbm93bGVkZ2VtZW50IChkZWZhdWx0OiA0MDAwKS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25maWd1cmF0aW9uLCBob3N0LCBwb3J0LCBhdHRlbXB0VGltZW91dE1zID0gNTAwMCwgZ2VuZXJhdGlvbkhhbmRzaGFrZVRpbWVvdXRNcyA9IERFRkFVTFRfR0VORVJBVElPTl9IQU5EU0hBS0VfVElNRU9VVF9NUywgZ2VuZXJhdGlvbklkfSkge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb25cbiAgICB0aGlzLmhvc3QgPSBob3N0XG4gICAgdGhpcy5wb3J0ID0gcG9ydFxuICAgIHRoaXMuYXR0ZW1wdFRpbWVvdXRNcyA9IGF0dGVtcHRUaW1lb3V0TXNcbiAgICB0aGlzLmdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXMgPSB2YWxpZGF0ZUdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXMoZ2VuZXJhdGlvbkhhbmRzaGFrZVRpbWVvdXRNcylcbiAgICB0aGlzLmV4cGxpY2l0R2VuZXJhdGlvbklkID0gZ2VuZXJhdGlvbklkXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgdGVzdC1vbmx5IG9ic2VydmFiaWxpdHkgc3RhdGUg4oCUIE5PVCBwdWJsaWMgQVBJLiBSZWZlcmVuY2VzIHRoZSBtb3N0XG4gICAgICogcmVjZW50IHNvY2tldCByZXF1ZXN0IHNvIHRoZSB0aW1lb3V0IHNwZWMgY2FuIGluc3BlY3QgaG93IGl0cyBzb2NrZXQgd2FzIHRvcm5cbiAgICAgKiBkb3duLiBEbyBub3QgZXhwb3NlIG9yIGRlcGVuZCBvbiB0aGlzIG91dHNpZGUgdGVzdHMuXG4gICAgICogQHR5cGUge0JhY2tncm91bmRKb2JzU29ja2V0UmVxdWVzdCB8IHVuZGVmaW5lZH1cbiAgICAgKi9cbiAgICB0aGlzLl9sYXN0UmVxdWVzdCA9IHVuZGVmaW5lZFxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVwb3J0LlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmpvYklkIC0gSm9iIGlkLlxuICAgKiBAcGFyYW0ge1wiY29tcGxldGVkXCIgfCBcImZhaWxlZFwiIHwgXCJyZXNjaGVkdWxlZFwifSBhcmdzLnN0YXR1cyAtIFN0YXR1cy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmRlbGF5TXNdIC0gUmVzY2hlZHVsZSBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IFthcmdzLmVycm9yXSAtIEVycm9yLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuaGFuZG9mZklkXSAtIEhhbmRvZmYgbGVhc2UgaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5oYW5kZWRPZmZBdE1zXSAtIEhhbmRlZCBvZmYgdGltZXN0YW1wLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3Mud29ya2VySWRdIC0gV29ya2VyIGlkLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuUG9vbGVkUnVubmVyRmFpbHVyZX0gW2FyZ3MucnVubmVyRmFpbHVyZV0gLSBQb29sZWQtY2hpbGQgcHJvY2VzcyBmYWlsdXJlIHByb3ZlbmFuY2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gcmVwb3J0ZWQuXG4gICAqL1xuICBhc3luYyByZXBvcnQoe2pvYklkLCBzdGF0dXMsIGRlbGF5TXMsIGVycm9yLCBoYW5kb2ZmSWQsIGhhbmRlZE9mZkF0TXMsIHdvcmtlcklkLCBydW5uZXJGYWlsdXJlfSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXRCYWNrZ3JvdW5kSm9ic0NvbmZpZygpXG4gICAgY29uc3QgaG9zdCA9IHRoaXMuaG9zdCB8fCBjb25maWcuaG9zdFxuICAgIGNvbnN0IHBvcnQgPSB0eXBlb2YgdGhpcy5wb3J0ID09PSBcIm51bWJlclwiID8gdGhpcy5wb3J0IDogY29uZmlnLnBvcnRcbiAgICBjb25zdCB7Z2VuZXJhdGlvbklkfSA9IHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlQmFja2dyb3VuZEpvYnNHZW5lcmF0aW9uQ29uZmlnKHtcbiAgICAgIGdlbmVyYXRpb25JZDogdGhpcy5leHBsaWNpdEdlbmVyYXRpb25JZCxcbiAgICAgIHNvdXJjZU5hbWU6IFwiQmFja2dyb3VuZEpvYnNTdGF0dXNSZXBvcnRlclwiXG4gICAgfSlcblxuICAgIGF3YWl0IHRpbWVvdXQoe3RpbWVvdXQ6IHRoaXMuYXR0ZW1wdFRpbWVvdXRNc30sIGFzeW5jICh7Y29udHJvbH0pID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQmFja2dyb3VuZEpvYnNTb2NrZXRSZXF1ZXN0KHtob3N0LCBwb3J0LCByb2xlOiBcInJlcG9ydGVyXCIsIGdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXM6IHRoaXMuZ2VuZXJhdGlvbkhhbmRzaGFrZVRpbWVvdXRNcywgZ2VuZXJhdGlvbklkfSlcblxuICAgICAgdGhpcy5fbGFzdFJlcXVlc3QgPSByZXF1ZXN0XG5cbiAgICAgIGF3YWl0IHJlcXVlc3QucnVuKHtcbiAgICAgICAgc2lnbmFsOiBjb250cm9sLnNpZ25hbCxcbiAgICAgICAgb25Db25uZWN0OiAoanNvblNvY2tldCkgPT4ge1xuICAgICAgICAgIGpzb25Tb2NrZXQuc2VuZCh7XG4gICAgICAgICAgICB0eXBlOiBzdGF0dXMgPT09IFwiY29tcGxldGVkXCIgPyBcImpvYi1jb21wbGV0ZVwiIDogc3RhdHVzID09PSBcInJlc2NoZWR1bGVkXCIgPyBcImpvYi1yZXNjaGVkdWxlXCIgOiBcImpvYi1mYWlsZWRcIixcbiAgICAgICAgICAgIGpvYklkLFxuICAgICAgICAgICAgZGVsYXlNcyxcbiAgICAgICAgICAgIGhhbmRvZmZJZCxcbiAgICAgICAgICAgIHdvcmtlcklkLFxuICAgICAgICAgICAgaGFuZGVkT2ZmQXRNcyxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvciA/IG5vcm1hbGl6ZUJhY2tncm91bmRKb2JFcnJvcihlcnJvcikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBydW5uZXJGYWlsdXJlXG4gICAgICAgICAgfSlcbiAgICAgICAgfSxcbiAgICAgICAgb25NZXNzYWdlOiAoe21lc3NhZ2UsIHJlc29sdmUsIHJlamVjdH0pID0+IHtcbiAgICAgICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gXCJqb2ItdXBkYXRlZFwiICYmIG1lc3NhZ2Uuam9iSWQgPT09IGpvYklkKSB7XG4gICAgICAgICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcImpvYi11cGRhdGUtZXJyb3JcIiAmJiBtZXNzYWdlLmpvYklkID09PSBqb2JJZCkge1xuICAgICAgICAgICAgcmVqZWN0KG5ldyBCYWNrZ3JvdW5kSm9iVXBkYXRlRXJyb3IobWVzc2FnZS5lcnJvciB8fCBcIkpvYiB1cGRhdGUgZmFpbGVkXCIpKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVwb3J0IHdpdGggcmV0cnkuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Muam9iSWQgLSBKb2IgaWQuXG4gICAqIEBwYXJhbSB7XCJjb21wbGV0ZWRcIiB8IFwiZmFpbGVkXCIgfCBcInJlc2NoZWR1bGVkXCJ9IGFyZ3Muc3RhdHVzIC0gU3RhdHVzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MuZGVsYXlNc10gLSBSZXNjaGVkdWxlIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gW2FyZ3MuZXJyb3JdIC0gRXJyb3IuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5oYW5kb2ZmSWRdIC0gSGFuZG9mZiBsZWFzZSBpZC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmhhbmRlZE9mZkF0TXNdIC0gSGFuZGVkIG9mZiB0aW1lc3RhbXAuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy53b3JrZXJJZF0gLSBXb3JrZXIgaWQuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5Qb29sZWRSdW5uZXJGYWlsdXJlfSBbYXJncy5ydW5uZXJGYWlsdXJlXSAtIFBvb2xlZC1jaGlsZCBwcm9jZXNzIGZhaWx1cmUgcHJvdmVuYW5jZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLm1heER1cmF0aW9uTXNdIC0gTWF4IGR1cmF0aW9uIGZvciByZXRyaWVzLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLnJldHJ5UGVyc2lzdEVycm9yc10gLSBSZXRyeSBhIGBCYWNrZ3JvdW5kSm9iVXBkYXRlRXJyb3JgIChtYWluJ3MgYGpvYi11cGRhdGUtZXJyb3JgLCBpLmUuIGEgdHJhbnNpZW50IERCIGZhaWx1cmUgd2hpbGUgcGVyc2lzdGluZyB0aGUgdGVybWluYWwgc3RhdHVzKSBpbnN0ZWFkIG9mIHRocm93aW5nIGltbWVkaWF0ZWx5LiBPZmYgYnkgZGVmYXVsdCBzbyBzaG9ydC1saXZlZCBmb3JrZWQvc3Bhd25lZCBydW5uZXJzIGtlZXAgZmFpbGluZyBsb3VkbHkgYW5kIGV4aXQgbm9uLXplcm8gdG8gYmUgcmVjbGFpbWVkOyBvbiBmb3IgdGhlIGxvbmctbGl2ZWQgd29ya2VyLCB3aGljaCBjYW5ub3QgZXhpdC10by1yZWNsYWltIGFuZCB3b3VsZCBvdGhlcndpc2Ugc3RyYW5kIHRoZSBqb2IgaW4gYGhhbmRlZF9vZmZgLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIHJlcG9ydGVkLlxuICAgKi9cbiAgYXN5bmMgcmVwb3J0V2l0aFJldHJ5KHtqb2JJZCwgc3RhdHVzLCBkZWxheU1zLCBlcnJvciwgaGFuZG9mZklkLCBoYW5kZWRPZmZBdE1zLCB3b3JrZXJJZCwgcnVubmVyRmFpbHVyZSwgbWF4RHVyYXRpb25NcywgcmV0cnlQZXJzaXN0RXJyb3JzID0gZmFsc2V9KSB7XG4gICAgbGV0IGF0dGVtcHQgPSAwXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVwb3J0KHtqb2JJZCwgc3RhdHVzLCBkZWxheU1zLCBlcnJvciwgaGFuZG9mZklkLCBoYW5kZWRPZmZBdE1zLCB3b3JrZXJJZCwgcnVubmVyRmFpbHVyZX0pXG4gICAgICAgIHJldHVyblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gQSBgQmFja2dyb3VuZEpvYlVwZGF0ZUVycm9yYCBtZWFucyBtYWluIGFuc3dlcmVkIGBqb2ItdXBkYXRlLWVycm9yYCwgd2hpY2ggaXRcbiAgICAgICAgLy8gb25seSBzZW5kcyB3aGVuIGBzdG9yZS5tYXJrQ29tcGxldGVkYC9gbWFya0ZhaWxlZGAgVEhST1dTIOKAlCBhIHRyYW5zaWVudCBEQlxuICAgICAgICAvLyBmYWlsdXJlIChkZWFkbG9jaywgY29ubmVjdGlvbiByZXNldCwgbG9jay13YWl0IHRpbWVvdXQsIG9yIG1haW4ncyBjb2xkXG4gICAgICAgIC8vIGNvbm5lY3Rpb24gcG9vbCByaWdodCBhZnRlciBhIGRlcGxveSByZXN0YXJ0KS4gRXZlcnkgbG9naWNhbCByZWplY3Rpb24gKGpvYlxuICAgICAgICAvLyBnb25lLCBzdGFsZSBoYW5kb2ZmIGxlYXNlLCBhbHJlYWR5IHRlcm1pbmFsKSBpbnN0ZWFkIGFuc3dlcnMgYGpvYi11cGRhdGVkYCxcbiAgICAgICAgLy8gc28gYW4gdXBkYXRlIGVycm9yIGlzIGFsd2F5cyB0aGUgdHJhbnNpZW50LCByZXRyeWFibGUga2luZC4gSXQgaXMgcmV0cmllZFxuICAgICAgICAvLyBvbmx5IGZvciB0aGUgbG9uZy1saXZlZCB3b3JrZXIgKGByZXRyeVBlcnNpc3RFcnJvcnNgKSwgd2hpY2ggY2Fubm90IGV4aXQgdG9cbiAgICAgICAgLy8gdHJpZ2dlciBvcnBoYW4gcmVjbGFpbSBhbmQgd291bGQgb3RoZXJ3aXNlIGRyb3AgdGhlIGNvbXBsZXRpb24gYW5kIHN0cmFuZCB0aGVcbiAgICAgICAgLy8gcm93IGluIGBoYW5kZWRfb2ZmYCBmb3JldmVyIOKAlCBmYXRhbCBmb3IgYSBgbWF4X2NvbmN1cnJlbmN5OiAxYCBqb2Igc3VjaCBhcyBhXG4gICAgICAgIC8vIGJ1aWxkL3F1ZXVlIHBsYW5uZXIsIHdob3NlIHNpbmdsZSBzdHJhbmRlZCByb3cgYmxvY2tzIGV2ZXJ5IGZ1dHVyZSBydW4uXG4gICAgICAgIC8vIEZvcmtlZC9zcGF3bmVkIHJ1bm5lcnMga2VlcCB0aHJvd2luZyBpdCBzbyB0aGV5IGV4aXQgbm9uLXplcm8gYW5kIGFyZVxuICAgICAgICAvLyByZWNsYWltZWQgaW5zdGVhZC4gQm91bmRlZCBieSBgbWF4RHVyYXRpb25Nc2AgZWl0aGVyIHdheS5cbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQmFja2dyb3VuZEpvYlVwZGF0ZUVycm9yICYmICFyZXRyeVBlcnNpc3RFcnJvcnMpIHRocm93IGVycm9yXG5cbiAgICAgICAgYXR0ZW1wdCArPSAxXG4gICAgICAgIGNvbnN0IGRlbGF5U2Vjb25kcyA9IE1hdGgubWluKDMwLCAwLjUgKiBhdHRlbXB0KVxuXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCgpID0+IFtcIkJhY2tncm91bmQgam9iIHN0YXR1cyByZXBvcnQgZmFpbGVkLCByZXRyeWluZ1wiLCBlcnJvcl0pXG5cbiAgICAgICAgaWYgKG1heER1cmF0aW9uTXMgJiYgRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSA+PSBtYXhEdXJhdGlvbk1zKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybigoKSA9PiBbXCJCYWNrZ3JvdW5kIGpvYiBzdGF0dXMgcmVwb3J0IHRpbWVkIG91dCwgZ2l2aW5nIHVwXCIsIGVycm9yXSlcbiAgICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgd2FpdChkZWxheVNlY29uZHMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXJlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9zdGF0dXMtcmVwb3J0ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sT0FBTyxNQUFNLDJCQUEyQixDQUFBO0FBQy9DLE9BQU8sSUFBSSxNQUFNLHdCQUF3QixDQUFBO0FBQ3pDLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLDJCQUEyQixNQUFNLHNCQUFzQixDQUFBO0FBQzlELE9BQU8sMkJBQTJCLE1BQU0scUJBQXFCLENBQUE7QUFDN0QsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFdkksTUFBTSx3QkFBeUIsU0FBUSxLQUFLO0NBQUc7QUFFL0MsTUFBTSxDQUFDLE9BQU8sT0FBTyw0QkFBNEI7SUFDL0M7Ozs7Ozs7OztPQVNHO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixHQUFHLElBQUksRUFBRSw0QkFBNEIsR0FBRyx1Q0FBdUMsRUFBRSxZQUFZLEVBQUM7UUFDcEosSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFBO1FBQ3hDLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxvQ0FBb0MsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1FBQ3RHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxZQUFZLENBQUE7UUFDeEM7Ozs7O1dBS0c7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQTtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUks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OUUsNEVBQTRFO2dCQUM1RSw4RUFBOEU7Z0JBQzlFLGdGQUFnRjtnQkFDaEYsK0VBQStFO2dCQUMvRSwwRUFBMEU7Z0JBQzFFLHdFQUF3RTtnQkFDeEUsNERBQTREO2dCQUM1RCxJQUFJLEtBQUssWUFBWSx3QkFBd0IsSUFBSSxDQUFDLGtCQUFrQjtvQkFBRSxNQUFNLEtBQUssQ0FBQTtnQkFFakYsT0FBTyxJQUFJLENBQUMsQ0FBQTtnQkFDWixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUE7Z0JBRWhELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsK0NBQStDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtnQkFFakYsSUFBSSxhQUFhLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxtREFBbUQsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO29CQUNwRixNQUFNLEtBQUssQ0FBQTtnQkFDYixDQUFDO2dCQUVELE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB0aW1lb3V0IGZyb20gXCJhd2FpdGVyeS9idWlsZC90aW1lb3V0LmpzXCJcbmltcG9ydCB3YWl0IGZyb20gXCJhd2FpdGVyeS9idWlsZC93YWl0LmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5pbXBvcnQgbm9ybWFsaXplQmFja2dyb3VuZEpvYkVycm9yIGZyb20gXCIuL25vcm1hbGl6ZS1lcnJvci5qc1wiXG5pbXBvcnQgQmFja2dyb3VuZEpvYnNTb2NrZXRSZXF1ZXN0IGZyb20gXCIuL3NvY2tldC1yZXF1ZXN0LmpzXCJcbmltcG9ydCB7IERFRkFVTFRfR0VORVJBVElPTl9IQU5EU0hBS0VfVElNRU9VVF9NUywgdmFsaWRhdGVHZW5lcmF0aW9uSGFuZHNoYWtlVGltZW91dE1zIH0gZnJvbSBcIi4vZ2VuZXJhdGlvbi1oYW5kc2hha2UtdGltZW91dC1lcnJvci5qc1wiXG5cbmNsYXNzIEJhY2tncm91bmRKb2JVcGRhdGVFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhY2tncm91bmRKb2JzU3RhdHVzUmVwb3J0ZXIge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmhvc3RdIC0gSG9zdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLnBvcnRdIC0gUG9ydC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmF0dGVtcHRUaW1lb3V0TXNdIC0gUGVyLWF0dGVtcHQgc29ja2V0LXJlcXVlc3QgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IDUwMDApLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuZ2VuZXJhdGlvbklkXSAtIEV4cGxpY2l0IHJlbGVhc2UgZ2VuZXJhdGlvbiBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXNdIC0gTWF4aW11bSB0aW1lIHRvIHdhaXQgZm9yIGdlbmVyYXRpb24gYWNrbm93bGVkZ2VtZW50IChkZWZhdWx0OiA0MDAwKS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25maWd1cmF0aW9uLCBob3N0LCBwb3J0LCBhdHRlbXB0VGltZW91dE1zID0gNTAwMCwgZ2VuZXJhdGlvbkhhbmRzaGFrZVRpbWVvdXRNcyA9IERFRkFVTFRfR0VORVJBVElPTl9IQU5EU0hBS0VfVElNRU9VVF9NUywgZ2VuZXJhdGlvbklkfSkge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb25cbiAgICB0aGlzLmhvc3QgPSBob3N0XG4gICAgdGhpcy5wb3J0ID0gcG9ydFxuICAgIHRoaXMuYXR0ZW1wdFRpbWVvdXRNcyA9IGF0dGVtcHRUaW1lb3V0TXNcbiAgICB0aGlzLmdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXMgPSB2YWxpZGF0ZUdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXMoZ2VuZXJhdGlvbkhhbmRzaGFrZVRpbWVvdXRNcylcbiAgICB0aGlzLmV4cGxpY2l0R2VuZXJhdGlvbklkID0gZ2VuZXJhdGlvbklkXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgdGVzdC1vbmx5IG9ic2VydmFiaWxpdHkgc3RhdGUg4oCUIE5PVCBwdWJsaWMgQVBJLiBSZWZlcmVuY2VzIHRoZSBtb3N0XG4gICAgICogcmVjZW50IHNvY2tldCByZXF1ZXN0IHNvIHRoZSB0aW1lb3V0IHNwZWMgY2FuIGluc3BlY3QgaG93IGl0cyBzb2NrZXQgd2FzIHRvcm5cbiAgICAgKiBkb3duLiBEbyBub3QgZXhwb3NlIG9yIGRlcGVuZCBvbiB0aGlzIG91dHNpZGUgdGVzdHMuXG4gICAgICogQHR5cGUge0JhY2tncm91bmRKb2JzU29ja2V0UmVxdWVzdCB8IHVuZGVmaW5lZH1cbiAgICAgKi9cbiAgICB0aGlzLl9sYXN0UmVxdWVzdCA9IHVuZGVmaW5lZFxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVwb3J0LlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmpvYklkIC0gSm9iIGlkLlxuICAgKiBAcGFyYW0ge1wiY29tcGxldGVkXCIgfCBcImZhaWxlZFwiIHwgXCJyZXNjaGVkdWxlZFwifSBhcmdzLnN0YXR1cyAtIFN0YXR1cy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmRlbGF5TXNdIC0gUmVzY2hlZHVsZSBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IFthcmdzLmVycm9yXSAtIEVycm9yLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuaGFuZG9mZklkXSAtIEhhbmRvZmYgbGVhc2UgaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5oYW5kZWRPZmZBdE1zXSAtIEhhbmRlZCBvZmYgdGltZXN0YW1wLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3Mud29ya2VySWRdIC0gV29ya2VyIGlkLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuUG9vbGVkUnVubmVyRmFpbHVyZX0gW2FyZ3MucnVubmVyRmFpbHVyZV0gLSBQb29sZWQtY2hpbGQgcHJvY2VzcyBmYWlsdXJlIHByb3ZlbmFuY2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gcmVwb3J0ZWQuXG4gICAqL1xuICBhc3luYyByZXBvcnQoe2pvYklkLCBzdGF0dXMsIGRlbGF5TXMsIGVycm9yLCBoYW5kb2ZmSWQsIGhhbmRlZE9mZkF0TXMsIHdvcmtlcklkLCBydW5uZXJGYWlsdXJlfSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXRCYWNrZ3JvdW5kSm9ic0NvbmZpZygpXG4gICAgY29uc3QgaG9zdCA9IHRoaXMuaG9zdCB8fCBjb25maWcuaG9zdFxuICAgIGNvbnN0IHBvcnQgPSB0eXBlb2YgdGhpcy5wb3J0ID09PSBcIm51bWJlclwiID8gdGhpcy5wb3J0IDogY29uZmlnLnBvcnRcbiAgICBjb25zdCB7Z2VuZXJhdGlvbklkfSA9IHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlQmFja2dyb3VuZEpvYnNHZW5lcmF0aW9uQ29uZmlnKHtcbiAgICAgIGdlbmVyYXRpb25JZDogdGhpcy5leHBsaWNpdEdlbmVyYXRpb25JZCxcbiAgICAgIHNvdXJjZU5hbWU6IFwiQmFja2dyb3VuZEpvYnNTdGF0dXNSZXBvcnRlclwiXG4gICAgfSlcblxuICAgIGF3YWl0IHRpbWVvdXQoe3RpbWVvdXQ6IHRoaXMuYXR0ZW1wdFRpbWVvdXRNc30sIGFzeW5jICh7Y29udHJvbH0pID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQmFja2dyb3VuZEpvYnNTb2NrZXRSZXF1ZXN0KHtob3N0LCBwb3J0LCByb2xlOiBcInJlcG9ydGVyXCIsIGdlbmVyYXRpb25IYW5kc2hha2VUaW1lb3V0TXM6IHRoaXMuZ2VuZXJhdGlvbkhhbmRzaGFrZVRpbWVvdXRNcywgZ2VuZXJhdGlvbklkfSlcblxuICAgICAgdGhpcy5fbGFzdFJlcXVlc3QgPSByZXF1ZXN0XG5cbiAgICAgIGF3YWl0IHJlcXVlc3QucnVuKHtcbiAgICAgICAgc2lnbmFsOiBjb250cm9sLnNpZ25hbCxcbiAgICAgICAgb25Db25uZWN0OiAoanNvblNvY2tldCkgPT4ge1xuICAgICAgICAgIGpzb25Tb2NrZXQuc2VuZCh7XG4gICAgICAgICAgICB0eXBlOiBzdGF0dXMgPT09IFwiY29tcGxldGVkXCIgPyBcImpvYi1jb21wbGV0ZVwiIDogc3RhdHVzID09PSBcInJlc2NoZWR1bGVkXCIgPyBcImpvYi1yZXNjaGVkdWxlXCIgOiBcImpvYi1mYWlsZWRcIixcbiAgICAgICAgICAgIGpvYklkLFxuICAgICAgICAgICAgZGVsYXlNcyxcbiAgICAgICAgICAgIGhhbmRvZmZJZCxcbiAgICAgICAgICAgIHdvcmtlcklkLFxuICAgICAgICAgICAgaGFuZGVkT2ZmQXRNcyxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvciA/IG5vcm1hbGl6ZUJhY2tncm91bmRKb2JFcnJvcihlcnJvcikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBydW5uZXJGYWlsdXJlXG4gICAgICAgICAgfSlcbiAgICAgICAgfSxcbiAgICAgICAgb25NZXNzYWdlOiAoe21lc3NhZ2UsIHJlc29sdmUsIHJlamVjdH0pID0+IHtcbiAgICAgICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gXCJqb2ItdXBkYXRlZFwiICYmIG1lc3NhZ2Uuam9iSWQgPT09IGpvYklkKSB7XG4gICAgICAgICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcImpvYi11cGRhdGUtZXJyb3JcIiAmJiBtZXNzYWdlLmpvYklkID09PSBqb2JJZCkge1xuICAgICAgICAgICAgcmVqZWN0KG5ldyBCYWNrZ3JvdW5kSm9iVXBkYXRlRXJyb3IobWVzc2FnZS5lcnJvciB8fCBcIkpvYiB1cGRhdGUgZmFpbGVkXCIpKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVwb3J0IGNoaWxkIGFjY2VwdGVkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmpvYklkIC0gSm9iIGlkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuaGFuZG9mZklkXSAtIEhhbmRvZmYgbGVhc2UgaWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy53b3JrZXJJZF0gLSBXb3JrZXIgaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5oYW5kZWRPZmZBdE1zXSAtIEhhbmRlZCBvZmYgdGltZXN0YW1wLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MucmVjZWl2ZWRBdE1zXSAtIEVwb2NoIG1zIHRoZSBydW5uZXIgY2hpbGQgcmVjZWl2ZWQgdGhlIGpvYi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLnN0YXJ0ZWRBdE1zXSAtIEVwb2NoIG1zIHRoZSBqb2IncyBwZXJmb3JtIHN0YXJ0ZWQgaW4gdGhlIGNoaWxkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuY2hpbGRJbnN0YW5jZUlkXSAtIFN0YWJsZSBwb29sZWQgY2hpbGQgaWRlbnRpdHkuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5jaGlsZFBpZF0gLSBQb29sZWQgY2hpbGQgT1MgcGlkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIHJlcG9ydGVkLlxuICAgKi9cbiAgYXN5bmMgcmVwb3J0Q2hpbGRBY2NlcHRlZCh7am9iSWQsIGhhbmRvZmZJZCwgd29ya2VySWQsIGhhbmRlZE9mZkF0TXMsIHJlY2VpdmVkQXRNcywgc3RhcnRlZEF0TXMsIGNoaWxkSW5zdGFuY2VJZCwgY2hpbGRQaWR9KSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uLmdldEJhY2tncm91bmRKb2JzQ29uZmlnKClcbiAgICBjb25zdCBob3N0ID0gdGhpcy5ob3N0IHx8IGNvbmZpZy5ob3N0XG4gICAgY29uc3QgcG9ydCA9IHR5cGVvZiB0aGlzLnBvcnQgPT09IFwibnVtYmVyXCIgPyB0aGlzLnBvcnQgOiBjb25maWcucG9ydFxuICAgIGNvbnN0IHtnZW5lcmF0aW9uSWR9ID0gdGhpcy5jb25maWd1cmF0aW9uLnJlc29sdmVCYWNrZ3JvdW5kSm9ic0dlbmVyYXRpb25Db25maWcoe1xuICAgICAgZ2VuZXJhdGlvbklkOiB0aGlzLmV4cGxpY2l0R2VuZXJhdGlvbklkLFxuICAgICAgc291cmNlTmFtZTogXCJCYWNrZ3JvdW5kSm9ic1N0YXR1c1JlcG9ydGVyXCJcbiAgICB9KVxuXG4gICAgYXdhaXQgdGltZW91dCh7dGltZW91dDogdGhpcy5hdHRlbXB0VGltZW91dE1zfSwgYXN5bmMgKHtjb250cm9sfSkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCYWNrZ3JvdW5kSm9ic1NvY2tldFJlcXVlc3Qoe2hvc3QsIHBvcnQsIHJvbGU6IFwicmVwb3J0ZXJcIiwgZ2VuZXJhdGlvbkhhbmRzaGFrZVRpbWVvdXRNczogdGhpcy5nZW5lcmF0aW9uSGFuZHNoYWtlVGltZW91dE1zLCBnZW5lcmF0aW9uSWR9KVxuXG4gICAgICB0aGlzLl9sYXN0UmVxdWVzdCA9IHJlcXVlc3RcblxuICAgICAgYXdhaXQgcmVxdWVzdC5ydW4oe1xuICAgICAgICBzaWduYWw6IGNvbnRyb2wuc2lnbmFsLFxuICAgICAgICBvbkNvbm5lY3Q6IChqc29uU29ja2V0KSA9PiB7XG4gICAgICAgICAganNvblNvY2tldC5zZW5kKHtcbiAgICAgICAgICAgIHR5cGU6IFwiam9iLWFjY2VwdGVkXCIsXG4gICAgICAgICAgICBqb2JJZCxcbiAgICAgICAgICAgIGhhbmRvZmZJZCxcbiAgICAgICAgICAgIHdvcmtlcklkLFxuICAgICAgICAgICAgaGFuZGVkT2ZmQXRNcyxcbiAgICAgICAgICAgIHJlY2VpdmVkQXRNcyxcbiAgICAgICAgICAgIHN0YXJ0ZWRBdE1zLFxuICAgICAgICAgICAgY2hpbGRJbnN0YW5jZUlkLFxuICAgICAgICAgICAgY2hpbGRQaWRcbiAgICAgICAgICB9KVxuICAgICAgICB9LFxuICAgICAgICBvbk1lc3NhZ2U6ICh7bWVzc2FnZSwgcmVzb2x2ZSwgcmVqZWN0fSkgPT4ge1xuICAgICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcImpvYi11cGRhdGVkXCIgJiYgbWVzc2FnZS5qb2JJZCA9PT0gam9iSWQpIHtcbiAgICAgICAgICAgIHJlc29sdmUodW5kZWZpbmVkKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG1lc3NhZ2U/LnR5cGUgPT09IFwiam9iLXVwZGF0ZS1lcnJvclwiICYmIG1lc3NhZ2Uuam9iSWQgPT09IGpvYklkKSB7XG4gICAgICAgICAgICByZWplY3QobmV3IEJhY2tncm91bmRKb2JVcGRhdGVFcnJvcihtZXNzYWdlLmVycm9yIHx8IFwiSm9iIHVwZGF0ZSBmYWlsZWRcIikpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyByZXBvcnQgY2hpbGQgYWNjZXB0ZWQgd2l0aCByZXRyeS4gQWNjZXB0YW5jZSBldmlkZW5jZSBpcyBkaWFnbm9zdGljXG4gICAqIHJhdGhlciB0aGFuIHRlcm1pbmFsLCBzbyBhIHRyYW5zaWVudCBtYWluL0RCIGZhaWx1cmUgcmV0cmllcyBvbmx5IHVudGlsXG4gICAqIGBtYXhEdXJhdGlvbk1zYCBlbGFwc2VzIGFuZCB0aGVuIGdpdmVzIHVwIGluc3RlYWQgb2Ygc3RyYW5kaW5nIHRoZSByZXBvcnQuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Muam9iSWQgLSBKb2IgaWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5oYW5kb2ZmSWRdIC0gSGFuZG9mZiBsZWFzZSBpZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLndvcmtlcklkXSAtIFdvcmtlciBpZC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmhhbmRlZE9mZkF0TXNdIC0gSGFuZGVkIG9mZiB0aW1lc3RhbXAuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5yZWNlaXZlZEF0TXNdIC0gRXBvY2ggbXMgdGhlIHJ1bm5lciBjaGlsZCByZWNlaXZlZCB0aGUgam9iLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3Muc3RhcnRlZEF0TXNdIC0gRXBvY2ggbXMgdGhlIGpvYidzIHBlcmZvcm0gc3RhcnRlZCBpbiB0aGUgY2hpbGQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5jaGlsZEluc3RhbmNlSWRdIC0gU3RhYmxlIHBvb2xlZCBjaGlsZCBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmNoaWxkUGlkXSAtIFBvb2xlZCBjaGlsZCBPUyBwaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhcmdzLm1heER1cmF0aW9uTXMgLSBNYXggZHVyYXRpb24gZm9yIHJldHJpZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gcmVwb3J0ZWQgb3IgdGhlIGJ1ZGdldCBlbGFwc2VzLlxuICAgKi9cbiAgYXN5bmMgcmVwb3J0Q2hpbGRBY2NlcHRlZFdpdGhSZXRyeSh7am9iSWQsIGhhbmRvZmZJZCwgd29ya2VySWQsIGhhbmRlZE9mZkF0TXMsIHJlY2VpdmVkQXRNcywgc3RhcnRlZEF0TXMsIGNoaWxkSW5zdGFuY2VJZCwgY2hpbGRQaWQsIG1heER1cmF0aW9uTXN9KSB7XG4gICAgbGV0IGF0dGVtcHQgPSAwXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVwb3J0Q2hpbGRBY2NlcHRlZCh7am9iSWQsIGhhbmRvZmZJZCwgd29ya2VySWQsIGhhbmRlZE9mZkF0TXMsIHJlY2VpdmVkQXRNcywgc3RhcnRlZEF0TXMsIGNoaWxkSW5zdGFuY2VJZCwgY2hpbGRQaWR9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGF0dGVtcHQgKz0gMVxuICAgICAgICBjb25zdCBkZWxheVNlY29uZHMgPSBNYXRoLm1pbigzMCwgMC41ICogYXR0ZW1wdClcblxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJCYWNrZ3JvdW5kIGpvYiBjaGlsZC1hY2NlcHRhbmNlIHJlcG9ydCBmYWlsZWQsIHJldHJ5aW5nXCIsIGVycm9yXSlcblxuICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSA+PSBtYXhEdXJhdGlvbk1zKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybigoKSA9PiBbXCJCYWNrZ3JvdW5kIGpvYiBjaGlsZC1hY2NlcHRhbmNlIHJlcG9ydCB0aW1lZCBvdXQsIGdpdmluZyB1cFwiLCBlcnJvcl0pXG4gICAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHdhaXQoZGVsYXlTZWNvbmRzKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJlcG9ydCB3aXRoIHJldHJ5LlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmpvYklkIC0gSm9iIGlkLlxuICAgKiBAcGFyYW0ge1wiY29tcGxldGVkXCIgfCBcImZhaWxlZFwiIHwgXCJyZXNjaGVkdWxlZFwifSBhcmdzLnN0YXR1cyAtIFN0YXR1cy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmRlbGF5TXNdIC0gUmVzY2hlZHVsZSBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IFthcmdzLmVycm9yXSAtIEVycm9yLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuaGFuZG9mZklkXSAtIEhhbmRvZmYgbGVhc2UgaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5oYW5kZWRPZmZBdE1zXSAtIEhhbmRlZCBvZmYgdGltZXN0YW1wLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3Mud29ya2VySWRdIC0gV29ya2VyIGlkLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuUG9vbGVkUnVubmVyRmFpbHVyZX0gW2FyZ3MucnVubmVyRmFpbHVyZV0gLSBQb29sZWQtY2hpbGQgcHJvY2VzcyBmYWlsdXJlIHByb3ZlbmFuY2UuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5tYXhEdXJhdGlvbk1zXSAtIE1heCBkdXJhdGlvbiBmb3IgcmV0cmllcy5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5yZXRyeVBlcnNpc3RFcnJvcnNdIC0gUmV0cnkgYSBgQmFja2dyb3VuZEpvYlVwZGF0ZUVycm9yYCAobWFpbidzIGBqb2ItdXBkYXRlLWVycm9yYCwgaS5lLiBhIHRyYW5zaWVudCBEQiBmYWlsdXJlIHdoaWxlIHBlcnNpc3RpbmcgdGhlIHRlcm1pbmFsIHN0YXR1cykgaW5zdGVhZCBvZiB0aHJvd2luZyBpbW1lZGlhdGVseS4gT2ZmIGJ5IGRlZmF1bHQgc28gc2hvcnQtbGl2ZWQgZm9ya2VkL3NwYXduZWQgcnVubmVycyBrZWVwIGZhaWxpbmcgbG91ZGx5IGFuZCBleGl0IG5vbi16ZXJvIHRvIGJlIHJlY2xhaW1lZDsgb24gZm9yIHRoZSBsb25nLWxpdmVkIHdvcmtlciwgd2hpY2ggY2Fubm90IGV4aXQgdG8gdHJpZ2dlciBvcnBoYW4gcmVjbGFpbSBhbmQgd291bGQgb3RoZXJ3aXNlIGRyb3AgdGhlIGNvbXBsZXRpb24gYW5kIHN0cmFuZCB0aGUgcm93IGluIGBoYW5kZWRfb2ZmYC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiByZXBvcnRlZC5cbiAgICovXG4gIGFzeW5jIHJlcG9ydFdpdGhSZXRyeSh7am9iSWQsIHN0YXR1cywgZGVsYXlNcywgZXJyb3IsIGhhbmRvZmZJZCwgaGFuZGVkT2ZmQXRNcywgd29ya2VySWQsIHJ1bm5lckZhaWx1cmUsIG1heER1cmF0aW9uTXMsIHJldHJ5UGVyc2lzdEVycm9ycyA9IGZhbHNlfSkge1xuICAgIGxldCBhdHRlbXB0ID0gMFxuICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KClcblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLnJlcG9ydCh7am9iSWQsIHN0YXR1cywgZGVsYXlNcywgZXJyb3IsIGhhbmRvZmZJZCwgaGFuZGVkT2ZmQXRNcywgd29ya2VySWQsIHJ1bm5lckZhaWx1cmV9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIEEgYEJhY2tncm91bmRKb2JVcGRhdGVFcnJvcmAgbWVhbnMgbWFpbiBhbnN3ZXJlZCBgam9iLXVwZGF0ZS1lcnJvcmAsIHdoaWNoIGl0XG4gICAgICAgIC8vIG9ubHkgc2VuZHMgd2hlbiBgc3RvcmUubWFya0NvbXBsZXRlZGAvYG1hcmtGYWlsZWRgIFRIUk9XUyDigJQgYSB0cmFuc2llbnQgREJcbiAgICAgICAgLy8gZmFpbHVyZSAoZGVhZGxvY2ssIGNvbm5lY3Rpb24gcmVzZXQsIGxvY2std2FpdCB0aW1lb3V0LCBvciBtYWluJ3MgY29sZFxuICAgICAgICAvLyBjb25uZWN0aW9uIHBvb2wgcmlnaHQgYWZ0ZXIgYSBkZXBsb3kgcmVzdGFydCkuIEV2ZXJ5IGxvZ2ljYWwgcmVqZWN0aW9uIChqb2JcbiAgICAgICAgLy8gZ29uZSwgc3RhbGUgaGFuZG9mZiBsZWFzZSwgYWxyZWFkeSB0ZXJtaW5hbCkgaW5zdGVhZCBhbnN3ZXJzIGBqb2ItdXBkYXRlZGAsXG4gICAgICAgIC8vIHNvIGFuIHVwZGF0ZSBlcnJvciBpcyBhbHdheXMgdGhlIHRyYW5zaWVudCwgcmV0cnlhYmxlIGtpbmQuIEl0IGlzIHJldHJpZWRcbiAgICAgICAgLy8gb25seSBmb3IgdGhlIGxvbmctbGl2ZWQgd29ya2VyIChgcmV0cnlQZXJzaXN0RXJyb3JzYCksIHdoaWNoIGNhbm5vdCBleGl0IHRvXG4gICAgICAgIC8vIHRyaWdnZXIgb3JwaGFuIHJlY2xhaW0gYW5kIHdvdWxkIG90aGVyd2lzZSBkcm9wIHRoZSBjb21wbGV0aW9uIGFuZCBzdHJhbmQgdGhlXG4gICAgICAgIC8vIHJvdyBpbiBgaGFuZGVkX29mZmAgZm9yZXZlciDigJQgZmF0YWwgZm9yIGEgYG1heF9jb25jdXJyZW5jeTogMWAgam9iIHN1Y2ggYXMgYVxuICAgICAgICAvLyBidWlsZC9xdWV1ZSBwbGFubmVyLCB3aG9zZSBzaW5nbGUgc3RyYW5kZWQgcm93IGJsb2NrcyBldmVyeSBmdXR1cmUgcnVuLlxuICAgICAgICAvLyBGb3JrZWQvc3Bhd25lZCBydW5uZXJzIGtlZXAgdGhyb3dpbmcgaXQgc28gdGhleSBleGl0IG5vbi16ZXJvIGFuZCBhcmVcbiAgICAgICAgLy8gcmVjbGFpbWVkIGluc3RlYWQuIEJvdW5kZWQgYnkgYG1heER1cmF0aW9uTXNgIGVpdGhlciB3YXkuXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEJhY2tncm91bmRKb2JVcGRhdGVFcnJvciAmJiAhcmV0cnlQZXJzaXN0RXJyb3JzKSB0aHJvdyBlcnJvclxuXG4gICAgICAgIGF0dGVtcHQgKz0gMVxuICAgICAgICBjb25zdCBkZWxheVNlY29uZHMgPSBNYXRoLm1pbigzMCwgMC41ICogYXR0ZW1wdClcblxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJCYWNrZ3JvdW5kIGpvYiBzdGF0dXMgcmVwb3J0IGZhaWxlZCwgcmV0cnlpbmdcIiwgZXJyb3JdKVxuXG4gICAgICAgIGlmIChtYXhEdXJhdGlvbk1zICYmIERhdGUubm93KCkgLSBzdGFydFRpbWUgPj0gbWF4RHVyYXRpb25Ncykge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oKCkgPT4gW1wiQmFja2dyb3VuZCBqb2Igc3RhdHVzIHJlcG9ydCB0aW1lZCBvdXQsIGdpdmluZyB1cFwiLCBlcnJvcl0pXG4gICAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHdhaXQoZGVsYXlTZWNvbmRzKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -558,6 +558,45 @@ export default class BackgroundJobsStore extends BackgroundJobsAdapter {
|
|
|
558
558
|
workerId?: string;
|
|
559
559
|
handedOffAtMs?: number;
|
|
560
560
|
}): Promise<boolean>;
|
|
561
|
+
/**
|
|
562
|
+
* Records pooled-child acceptance evidence for an active handoff: when the
|
|
563
|
+
* executing runner child received and/or started the job, plus that child's
|
|
564
|
+
* stable identity and pid. Only the fields supplied are written, so a
|
|
565
|
+
* received-then-started observation lands as two fenced partial updates. The
|
|
566
|
+
* update is fenced by the exact active handoff lease, so a report for a
|
|
567
|
+
* reclaimed or re-handed-off job is dropped instead of stamping the wrong
|
|
568
|
+
* attempt.
|
|
569
|
+
* @param {object} args - Options.
|
|
570
|
+
* @param {string} args.jobId - Job id.
|
|
571
|
+
* @param {string} [args.handoffId] - Handoff lease id.
|
|
572
|
+
* @param {string} [args.workerId] - Worker id.
|
|
573
|
+
* @param {number} [args.handedOffAtMs] - Handed off timestamp.
|
|
574
|
+
* @param {number} [args.receivedAtMs] - Epoch ms the runner child received the job.
|
|
575
|
+
* @param {number} [args.startedAtMs] - Epoch ms the job's perform started in the child.
|
|
576
|
+
* @param {string} [args.childInstanceId] - Stable pooled child identity.
|
|
577
|
+
* @param {number} [args.childPid] - Pooled child OS pid.
|
|
578
|
+
* @returns {Promise<boolean>} - Whether the fenced report was accepted.
|
|
579
|
+
*/
|
|
580
|
+
markChildAccepted({ jobId, handoffId, workerId, handedOffAtMs, receivedAtMs, startedAtMs, childInstanceId, childPid }: {
|
|
581
|
+
jobId: string;
|
|
582
|
+
handoffId?: string;
|
|
583
|
+
workerId?: string;
|
|
584
|
+
handedOffAtMs?: number;
|
|
585
|
+
receivedAtMs?: number;
|
|
586
|
+
startedAtMs?: number;
|
|
587
|
+
childInstanceId?: string;
|
|
588
|
+
childPid?: number;
|
|
589
|
+
}): Promise<boolean>;
|
|
590
|
+
/**
|
|
591
|
+
* Returns the database data that clears pooled-child acceptance evidence.
|
|
592
|
+
* @returns {Record<string, ReturnType<typeof JSON.parse>>} - Cleared acceptance columns.
|
|
593
|
+
*/
|
|
594
|
+
_clearedChildAcceptanceData(): Record<string, ReturnType<typeof JSON.parse>>;
|
|
595
|
+
/**
|
|
596
|
+
* Returns the row-shape counterpart of the cleared acceptance columns.
|
|
597
|
+
* @returns {Pick<import("./types.js").BackgroundJobRow, "childInstanceId" | "childPid" | "childReceivedAtMs" | "childStartedAtMs">} - Cleared acceptance fields.
|
|
598
|
+
*/
|
|
599
|
+
_clearedChildAcceptanceRow(): Pick<import("./types.js").BackgroundJobRow, "childInstanceId" | "childPid" | "childReceivedAtMs" | "childStartedAtMs">;
|
|
561
600
|
/**
|
|
562
601
|
* Returns an active handoff to the queue at a caller-requested future time.
|
|
563
602
|
* This is normal job control flow: it preserves failure attempts and metadata.
|
|
@@ -836,6 +875,15 @@ export default class BackgroundJobsStore extends BackgroundJobsAdapter {
|
|
|
836
875
|
* @returns {Promise<void>} - Resolves when complete.
|
|
837
876
|
*/
|
|
838
877
|
_ensureJobsTableColumns(db: import("../database/drivers/base.js").default): Promise<void>;
|
|
878
|
+
/**
|
|
879
|
+
* Idempotently adds the pooled-child acceptance evidence columns to existing
|
|
880
|
+
* job tables. They record when the executing runner child received and
|
|
881
|
+
* started a job plus that child's identity, so a handed-off job can be told
|
|
882
|
+
* apart from one whose runner never picked it up.
|
|
883
|
+
* @param {import("../database/drivers/base.js").default} db - Database connection.
|
|
884
|
+
* @returns {Promise<void>} - Resolves when ensured.
|
|
885
|
+
*/
|
|
886
|
+
_ensureChildAcceptanceColumns(db: import("../database/drivers/base.js").default): Promise<void>;
|
|
839
887
|
/**
|
|
840
888
|
* Repairs secondary indexes that older add-column upgrades declared but did
|
|
841
889
|
* not create on every SQL driver. The migration ledger keeps routine store
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/store.js"],"names":[],"mappings":"AAGA,OAAO,qBAAqB,MAAM,cAAc,CAAA;AAChD,OAAO,MAAM,MAAM,cAAc,CAAA;AA4B9B,YAAkB,qBAAqB,GACvC;;;;IAAmB,QAAQ,EAAhB,MAAM,CACjB;;;;IAA2F,WAAW,EAA3F;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CACzF;;;;IAAmB,WAAW,EAAnB,MAAM,CACjB;;;;IAA4D,aAAa,EAA9D,OAAO,YAAY,EAAE,0BAA0B,CAC1D;;;;IAAmB,KAAK,EAAb,MAAM,CACjB;;;;IAAmB,OAAO,EAAf,MAAM,CACjB;;;;IAAmB,UAAU,EAAlB,MAAM,CACjB;;;;IAAmB,KAAK,EAAb,MAAM,CACjB;;;;IAAmB,aAAa,EAArB,MAAM,CACjB;;;;IAA0B,SAAS,EAAxB,MAAM,GAAG,IAAI,CAC1B;CAAA,CAAA;AAIE,YAAkB,4BAA4B,GAC9C;;;;IAA0D,UAAU,EAAzD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACxD;;;;IAAkD,GAAG,EAA1C,OAAO,YAAY,EAAE,gBAAgB,CAClD;CAAA,CAAA;AAIE,YAAkB,4CAA4C,GAC9D;;;;IAAoD,YAAY,AAAhE,CACF,EADa;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CACnD;CAAA,CAAA;AAIE,YAAkB,gCAAgC,GAClD;;;;IAA4B,YAAY,EAA7B,MAAM,GAAG,MAAM,CAC1B;;;;IAAmB,eAAe,EAAvB,MAAM,CACnB;CAAA,CAAA;AAIE,YAAkB,8BAA8B,GAChD;;;;IAA0B,cAAc,EAA7B,MAAM,GAAG,IAAI,CACxB;;;;IAA0B,cAAc,EAA7B,MAAM,GAAG,IAAI,CAC1B;CAAA,CAAA;AAqCD,eAAO,MAAM,6BAA6B,oCAAoC,CAAA;AAC9E,eAAO,MAAM,4BAA4B,UAAqE,CAAA;AAsC9G,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,qBAAqB;IAW7D,aAAa;IACb,kBAAkB;IAClB,KAAK;aAPK,MAAM,MAAM;;IAQtB,4BAA4B,mBAPR,OAAO,YAAY,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F,MAAM;IACN,aAAa;IACb,2BAA2B;IAhBlC;;;;;;;OAOG;IACH,YAAY,EAAC,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,4BAA4B,EAAC,EALjF;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAAsB,kBAAkB,AAAxC,CACA,EADQ,MAAM,CACd;QAAmC,KAAK,AAAxC,CACA,EADQ;YAAC,GAAG,EAAE,MAAM,MAAM,CAAA;SAAC,CAC3B;QAAwG,4BAA4B,AAApI,CACF,EADU,CAAC,aAAa,EAAE,OAAO,YAAY,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAClG;KACmF,EASnF;IAED;;;OAGG;IACH,qBAAqB,IAFR,MAAM,CAMlB;IAED;;;OAGG;IACG,WAAW,IAFJ,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,EAAE,AALlB,CAGA,EAHQ,OAAO,6BAA6B,EAAE,OAK5B,GAFR,OAAO,CAAC,IAAI,CAAC,CASzB;IAED;;;;;;;;;;;;;OAaG;IACG,yBAAyB,IAFlB,OAAO,CAAC,IAAI,CAAC,CAoCzB;IAED;;;;;OAKG;IACG,0BAA0B,IAFnB,OAAO,CAAC,OAAO,YAAY,EAAE,sCAAsC,CAAC,CAgChF;IAED;;;;;;;OAOG;IACG,OAAO,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,EALnC;QAAqB,OAAO,EAApB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEmC,GAFzB,OAAO,CAAC,MAAM,CAAC,CA6B3B;IAED;;;;;;;;;;;OAWG;IACG,uBAAuB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAC,EAPxF;QAAqB,OAAO,EAApB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;QAAsB,oBAAoB,AAA1C,CACA,EADQ,MAAM,CACd;QAA8D,aAAa,EAAnE,OAAO,YAAY,EAAE,0BAA0B,CACvD;KAEwF,GAF9E,OAAO,CAAC,MAAM,CAAC,CA+B3B;IAED;;;;;OAKG;IACG,wBAAwB,CAAC,EAAE,EAJtB,OAAO,6BAA6B,EAAE,OAIhB,EAAE,WAAW,EAHnC,qBAGmC,GAFjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBlC;IAED;;;;;;;;;;OAUG;IACG,gCAAgC,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAC,EAPnG;QAA4D,EAAE,EAAtD,OAAO,6BAA6B,EAAE,OAAO,CACrD;QAAwD,OAAO,EAAvD,OAAO,YAAY,EAAE,oBAAoB,CACjD;QAAoC,WAAW,EAAvC,qBAAqB,CAC7B;QAAqB,oBAAoB,EAAjC,MAAM,CACd;QAA8D,aAAa,EAAnE,OAAO,YAAY,EAAE,0BAA0B,CACvD;KAEmG,GAFzF,OAAO,CAAC,MAAM,CAAC,CAqC3B;IAED;;;;;;;OAOG;IACG,oBAAoB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAC,EALpD;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAwD,OAAO,EAAvD,OAAO,YAAY,EAAE,oBAAoB,CACjD;QAAoC,WAAW,EAAvC,qBAAqB,CAC7B;KAEoD,GAF1C,OAAO,CAAC,MAAM,CAAC,CAS3B;IAED;;;;;;;;;OASG;IACG,iCAAiC,CAAC,EAAC,IAAI,EAAE,mBAA2B,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAC,EAPlG;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAuB,mBAAmB,AAA1C,CACA,EADQ,OAAO,CACf;QAA4D,EAAE,EAAtD,OAAO,6BAA6B,EAAE,OAAO,CACrD;QAAwD,OAAO,EAAvD,OAAO,YAAY,EAAE,oBAAoB,CACjD;QAAoC,WAAW,EAAvC,qBAAqB,CAC7B;KAEkG,GAFxF,OAAO,CAAC,MAAM,CAAC,CA6C3B;IAED;;;;;;OAMG;IACG,6BAA6B,CAJtB,CAAC,EAIsB,QAAQ,EAHjC,CAAC,EAAE,EAAE,OAAO,6BAA6B,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAG/B,GAF/B,OAAO,CAAC,CAAC,CAAC,CAItB;IAED;;;;;OAKG;IACG,0BAA0B,CAAC,EAAE,EAJxB,OAAO,6BAA6B,EAAE,OAId,EAAE,SAAS,EAHnC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAGT,GAFjC,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;KAAC,CAAC,CAkB3F;IAED;;;;;OAKG;IACG,qBAAqB,CAAC,EAAE,EAJnB,OAAO,6BAA6B,EAAE,OAInB,EAAE,WAAW,EAHhC,MAGgC,GAF9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAMzE;IAED;;;;;;OAMG;IACH,6BAA6B,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAC,EAJhD;QAA4D,QAAQ,EAA5D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAA4D,SAAS,EAA7D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;KAEgD,GAFtC,IAAI,CAYhB;IAED;;;;;;;;OAQG;IACG,6BAA6B,CAAC,EAAE,EAP3B,OAAO,6BAA6B,EAAE,OAOX,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAC,EAL7E;QAAqB,WAAW,EAAxB,MAAM,CACd;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAoJ,kBAAkB,EAA9J;YAAC,SAAS,EAAE,OAAO,oBAAoB,EAAE,uBAAuB,CAAC;YAAC,OAAO,EAAE,OAAO,oBAAoB,EAAE,qBAAqB,CAAA;SAAC,GAAG,IAAI,CAC7I;KAE6E,GAFnE,OAAO,CAAC,IAAI,CAAC,CA2BzB;IAED;;;;;;;OAOG;IACG,8BAA8B,CAAC,EAAE,EAN5B,OAAO,6BAA6B,EAAE,OAMV,EAAE,EAAC,KAAK,EAAE,kBAAkB,EAAC,EAJjE;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAoJ,kBAAkB,EAA9J;YAAC,SAAS,EAAE,OAAO,oBAAoB,EAAE,uBAAuB,CAAC;YAAC,OAAO,EAAE,OAAO,oBAAoB,EAAE,qBAAqB,CAAA;SAAC,GAAG,IAAI,CAC7I;KAEiE,GAFvD,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;OAKG;IACG,sBAAsB,CAAC,EAAE,EAJpB,OAAO,6BAA6B,EAAE,OAIlB,EAAE,YAAY,EAHlC,MAGkC,GAFhC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAMzE;IAED;;;;;;OAMG;IACH,iCAAiC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAC,EAJpD;QAA4D,QAAQ,EAA5D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAA4D,SAAS,EAA7D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;KAEoD,GAF1C,IAAI,CAchB;IAED;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAC,EALnD;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAwD,OAAO,EAAvD,OAAO,YAAY,EAAE,oBAAoB,CACjD;QAAoC,WAAW,EAAvC,qBAAqB,CAC7B;KAEmD,GAFzC,MAAM,CAiBlB;IAED;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAC,EALrD;QAAqB,cAAc,EAA3B,MAAM,CACd;QAAqB,OAAO,EAApB,MAAM,CACd;QAAqB,KAAK,EAAlB,MAAM,CACd;KAEqD,GAF3C,MAAM,CAMlB;IAED;;;;OAIG;IACH,wBAAwB,CAAC,cAAc,EAH5B,MAAM,GAAG,SAGmB,GAF1B,MAAM,CAUlB;IAED;;;;;;;OAOG;IACH,0BAA0B,CAAC,EAAC,OAAO,EAAE,WAAW,EAAC,EAJ9C;QAAwD,OAAO,EAAvD,OAAO,YAAY,EAAE,oBAAoB,CACjD;QAAoC,WAAW,EAAvC,qBAAqB,CAC7B;KAE8C,GAFpC,MAAM,CAkBlB;IAED;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAC,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAC,EANvF;QAAoC,WAAW,EAAvC,qBAAqB,CAC7B;QAAqB,oBAAoB,EAAjC,MAAM,CACd;QAA8D,aAAa,EAAnE,OAAO,YAAY,EAAE,0BAA0B,CACvD;QAAqB,aAAa,EAA1B,MAAM,CACd;KAEuF,GAF7E,MAAM,CAalB;IAED;;;;OAIG;IACH,8BAA8B,CAAC,oBAAoB,EAHxC,MAAM,GAAG,SAG+B,GAFtC,MAAM,CAUlB;IAED;;;;OAIG;IACH,uBAAuB,CAAC,aAAa,EAH1B,OAAO,YAAY,EAAE,0BAGK,GAFxB,OAAO,YAAY,EAAE,0BAA0B,CA8B3D;IAED;;;;;;OAMG;IACG,2BAA2B,CAAC,EAAE,EAJzB,OAAO,6BAA6B,EAAE,OAIb,EAAE,aAAa,EAHxC,OAAO,YAAY,EAAE,0BAGmB,GAFtC,OAAO,CAAC,IAAI,CAAC,CAezB;IAED;;;;;;;;;OASG;IACG,gBAAgB,CAAC,EAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,EANzD;QAAqB,WAAW,EAAxB,MAAM,CACd;QAAqB,OAAO,EAApB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEyD,GAF/C,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CA4DxE;IAED;;;;;OAKG;IACG,eAAe,CAAC,WAAW,EAHtB,MAGsB,GAFpB,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CA+CzE;IAED;;;;;OAKG;IACG,gBAAgB,CAAC,IAAI,AAJxB,CAEA,EADA;QAAmH,aAAa,AAAhI,CACA,EADQ,OAAO,YAAY,EAAE,0BAA0B,GAAG,OAAO,YAAY,EAAE,0BAA0B,EAAE,CAC3G;KAE6B,GAFnB,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAYjE;IAED;;;;;;;OAOG;IACG,gBAAgB,IAFT,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAQjE;IAED;;;;;;;OAOG;IACG,cAAc,CAAC,EAAC,EAAE,EAAE,mBAAmB,EAAE,aAAa,EAAC,EAL1D;QAA4D,EAAE,EAAtD,OAAO,6BAA6B,EAAE,OAAO,CACrD;QAAyB,mBAAmB,EAApC,IAAI,GAAG,GAAG,CAClB;QAAmH,aAAa,AAAhI,CACA,EADQ,OAAO,YAAY,EAAE,0BAA0B,GAAG,OAAO,YAAY,EAAE,0BAA0B,EAAE,CAC3G;KAE0D,GAFhD,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAwCjE;IAED;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,EAAE,EAHd,OAAO,6BAA6B,EAAE,OAGxB,GAFZ,MAAM,GAAG,IAAI,CAqBzB;IAED;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAHP,MAGO,GAFL,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAmBjE;IAED;;;OAGG;IACG,cAAc,IAFP,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA2B3C;IAED;;;;;OAKG;IACG,aAAa,IAFN,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAQtF;IAED;;;;;;OAMG;IACG,SAAS,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,AAL9B,CAGA,EAFA;QAAsB,MAAM,AAA5B,CACA,EADQ,MAAM,CACd;QAAsB,OAAO,AAA7B,CACA,EADQ,MAAM,CACd;KAEmC,GAFzB,OAAO,CAAC,MAAM,CAAC,CAgB3B;IAED;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,KAAU,EAAE,MAAU,EAAE,UAA0B,EAAE,aAAsB,EAAC,AATzG,CAOA,EANA;QAAsB,MAAM,AAA5B,CACA,EADQ,MAAM,CACd;QAAsB,OAAO,AAA7B,CACA,EADQ,MAAM,CACd;QAAsB,KAAK,AAA3B,CACA,EADQ,MAAM,CACd;QAAsB,MAAM,AAA5B,CACA,EADQ,MAAM,CACd;QAAsB,UAAU,AAAhC,CACA,EADQ,MAAM,CACd;QAA8B,aAAa,AAA3C,CACA,EADQ,KAAK,GAAG,MAAM,CACtB;KAE8G,GAFpG,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAqB5D;IAED;;;;;;;OAOG;IACG,aAAa,CAAC,EAAC,KAAK,EAAE,SAAwB,EAAE,QAAQ,EAAC,EAL5D;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAsB,SAAS,AAA/B,CACA,EADQ,MAAM,CACd;QAAsB,QAAQ,AAA9B,CACA,EADQ,MAAM,CACd;KAE4D,GAFlD,OAAO,CAAC,OAAO,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC,CA0CrE;IAED;;;;;;;;OAQG;IACG,aAAa,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAC,EAN5D;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAsB,SAAS,AAA/B,CACA,EADQ,MAAM,CACd;QAAsB,QAAQ,AAA9B,CACA,EADQ,MAAM,CACd;QAAsB,aAAa,AAAnC,CACA,EADQ,MAAM,CACd;KAE4D,GAFlD,OAAO,CAAC,OAAO,CAAC,CA2B5B;IAED;;;;;;;;;;OAUG;IACG,eAAe,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAC,EAPvE;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAqB,OAAO,EAApB,MAAM,CACd;QAAsB,SAAS,AAA/B,CACA,EADQ,MAAM,CACd;QAAsB,QAAQ,AAA9B,CACA,EADQ,MAAM,CACd;QAAsB,aAAa,AAAnC,CACA,EADQ,MAAM,CACd;KAEuE,GAF7D,OAAO,CAAC,OAAO,CAAC,CA+B5B;IAED;;;;;;OAMG;IACG,mBAAmB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,EAJzC;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAqB,SAAS,EAAtB,MAAM,CACd;KAEyC,GAF/B,OAAO,CAAC,IAAI,CAAC,CAyBzB;IAED;;;;;;;;;;;;OAYG;IACG,sBAAsB,CAAC,EAAC,QAAQ,EAAC,EAHpC;QAAqB,QAAQ,EAArB,MAAM,CACd;KAEoC,GAF1B,OAAO,CAAC,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC,CAmB9D;IAED;;;;;OAKG;IACG,qBAAqB,IAFd,OAAO,CAAC,OAAO,YAAY,EAAE,4BAA4B,EAAE,CAAC,CA6BxE;IAED;;;;;;;;OAQG;IACG,oBAAoB,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAC,EAJzC;QAAkE,QAAQ,EAAlE,OAAO,YAAY,EAAE,4BAA4B,EAAE,CAC3D;QAA4C,KAAK,EAAzC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;KAEyC,GAF/B,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,EAAE,CAAC,CA+B5D;IAED;;;;;;;;;OASG;IACG,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAC,EAPhE;QAAqB,KAAK,EAAlB,MAAM,CACd;QAA4C,KAAK,EAAzC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;QAAsB,SAAS,AAA/B,CACA,EADQ,MAAM,CACd;QAAsB,QAAQ,AAA9B,CACA,EADQ,MAAM,CACd;QAAsB,aAAa,AAAnC,CACA,EADQ,MAAM,CACd;KAEgE,GAFtD,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAgBjE;IAED;;;;;OAKG;IACG,gBAAgB,CAAC,EAAC,eAAmC,EAAC,AAJzD,CAEA,EADA;QAAsB,eAAe,AAArC,CACA,EADQ,MAAM,CACd;KAE8D,GAFpD,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,EAAE,CAAC,CA8C5D;IAED;;;;;;;;OAQG;IACG,qBAAqB,CAAC,EAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAC,EALhD;QAA4D,EAAE,EAAtD,OAAO,6BAA6B,EAAE,OAAO,CACrD;QAA4C,KAAK,EAAzC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;QAA6C,UAAU,EAA/C,4BAA4B,EAAE,CACtC;KAEgD,GAFtC,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,EAAE,CAAC,CA4B5D;IAED;;;;;;;;;;;;OAYG;IACG,iBAAiB,CAAC,EAAC,cAAqB,EAAE,WAAkB,EAAE,SAAgB,EAAC,AANlF,CAIA,EAHA;QAA6B,cAAc,AAA3C,CACA,EADQ,MAAM,GAAG,IAAI,CACrB;QAA6B,WAAW,AAAxC,CACA,EADQ,MAAM,GAAG,IAAI,CACrB;QAAsB,SAAS,AAA/B,CACA,EADQ,MAAM,CACd;KAEuF,GAF7E,OAAO,CAAC,MAAM,CAAC,CAmB3B;IAED;;;;;;;;;OASG;IACG,mBAAmB,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,EAN1D;QAAqB,MAAM,EAAnB,MAAM,CACd;QAAqB,MAAM,EAAnB,MAAM,CACd;QAAqB,MAAM,EAAnB,MAAM,CACd;QAAqB,SAAS,EAAtB,MAAM,CACd;KAE0D,GAFhD,OAAO,CAAC,MAAM,CAAC,CAkC3B;IAED;;;OAGG;IACG,QAAQ,IAFD,OAAO,CAAC,IAAI,CAAC,CAezB;IAED;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAHP,MAGO,GAFL,OAAO,CAAC,OAAO,CAAC,CAiB5B;IAED;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAHf,MAGe,GAFb,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,EALjC;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAqB,OAAO,EAApB,MAAM,CACd;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEiC,GAFvB,qBAAqB,CAkBjC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAHnB,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAGzB,GAFjB,MAAM,GAAG,IAAI,CAkBzB;IAED;;;;;;;OAOG;IACG,kBAAkB,CAAC,EAAE,EANhB,OAAO,6BAA6B,EAAE,OAMtB,EAAE,EAAC,WAAW,EAAE,WAAW,EAAC,EAJpD;QAAoC,WAAW,EAAvC,qBAAqB,CAC7B;QAA4B,WAAW,EAA/B,MAAM,GAAG,IAAI,CACrB;KAEoD,GAF1C,OAAO,CAAC,IAAI,CAAC,CAiCzB;IAED;;;;OAIG;IACH,oBAAoB,CAAC,UAAU,EAHpB,MAAM,GAAG,IAAI,GAAG,SAGI,GAFlB,MAAM,CAIlB;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,aAAa,EAJ1B,MAAM,GAAG,SAIiB,EAAE,oBAAoB,EAHhD,MAGgD,GAF9C,MAAM,CAIlB;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAHb,MAGa,GAFX,MAAM,CAIlB;IAED;;;;OAIG;IACH,0BAA0B,CAAC,OAAO,EAHvB,MAGuB,GAFrB,IAAI,CAIhB;IAED;;;;OAIG;IACH,qBAAqB,CAAC,WAAW,EAHtB,MAGsB,GAFpB,MAAM,CAMlB;IAED;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,EAHrB,MAGqB,GAFnB,MAAM,CAMlB;IAED;;;;;;;;OAQG;IACG,aAAa,CAAC,UAAU,AAN3B,CAIA,EAJQ,OAAO,6BAA6B,EAAE,OAMnB,GAFjB,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;;;OAMG;IACG,YAAY,CAAC,UAAU,AAJ1B,CAEA,EAFQ,OAAO,6BAA6B,EAAE,OAIpB,GAFhB,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAED;;;;;OAKG;IACG,iBAAiB,CAAC,EAAE,EAHf,OAAO,6BAA6B,EAAE,OAGvB,GAFb,OAAO,CAAC,IAAI,CAAC,CAkDzB;IAED;;;;OAIG;IACG,sBAAsB,CAAC,EAAE,EAHpB,OAAO,6BAA6B,EAAE,OAGlB,GAFlB,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;;;OAKG;IACG,aAAa,CAAC,EAAE,EAJX,OAAO,6BAA6B,EAAE,OAI3B,EAAE,OAAO,AAH5B,CACA,EADQ,MAGwC,GAFtC,OAAO,CAAC,OAAO,CAAC,CAY5B;IAED;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAHd,OAAO,6BAA6B,EAAE,OAGxB,GAFZ,OAAO,CAAC,IAAI,CAAC,CAmCzB;IAED;;;;OAIG;IACG,uBAAuB,CAAC,EAAE,EAHrB,OAAO,6BAA6B,EAAE,OAGjB,GAFnB,OAAO,CAAC,IAAI,CAAC,CAuFzB;IAED;;;;;;OAMG;IACG,2BAA2B,CAAC,EAAE,EAHzB,OAAO,6BAA6B,EAAE,OAGb,GAFvB,OAAO,CAAC,IAAI,CAAC,CAoCzB;IAED;;;;OAIG;IACG,uBAAuB,CAAC,EAAE,EAHrB,OAAO,6BAA6B,EAAE,OAGjB,GAFnB,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;OAIG;IACG,wBAAwB,CAAC,EAAE,EAHtB,OAAO,6BAA6B,EAAE,OAGhB,GAFpB,OAAO,CAAC,IAAI,CAAC,CAwBzB;IAED;;;;;;OAMG;IACG,kBAAkB,CAAC,EAAE,EAHhB,OAAO,6BAA6B,EAAE,OAGtB,GAFd,OAAO,CAAC,IAAI,CAAC,CA2BzB;IAED;;;;OAIG;IACG,2BAA2B,CAAC,EAAE,EAHzB,OAAO,6BAA6B,EAAE,OAGb,GAFvB,OAAO,CAAC,IAAI,CAAC,CAsCzB;IAED;;;;;;;;;OASG;IACG,qBAAqB,CAAC,EAAE,EAHnB,OAAO,6BAA6B,EAAE,OAGnB,GAFjB,OAAO,CAAC,IAAI,CAAC,CA4CzB;IAED;;;;;OAKG;IACG,gBAAgB,CAAC,EAAE,EAJd,OAAO,6BAA6B,EAAE,OAIxB,EAAE,OAAO,EAHvB,MAGuB,GAFrB,OAAO,CAAC,IAAI,CAAC,CAczB;IAEK,gBAAgB,kBASrB;IAED;;;;;OAKG;IACG,cAAc,CAAC,EAAE,EAJZ,OAAO,6BAA6B,EAAE,OAI1B,EAAE,KAAK,EAHnB,MAGmB,GAFjB,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAcjE;IAED;;;;;;;OAOG;IACG,yBAAyB,CAAC,EAAE,EANvB,OAAO,6BAA6B,EAAE,OAMf,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,EAJrD;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAqB,WAAW,EAAxB,MAAM,CACd;KAEqD,GAF3C,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;;;OAKG;IACG,+BAA+B,CAAC,EAAE,EAJ7B,OAAO,6BAA6B,EAAE,OAIT,EAAE,GAAG,EAHlC,OAAO,YAAY,EAAE,gBAGa,GAFhC,OAAO,CAAC,IAAI,CAAC,CAMzB;IAED;;;;;;;;;OASG;IACG,aAAa,CAAC,EAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAC,EAP3D;QAA4D,EAAE,EAAtD,OAAO,6BAA6B,EAAE,OAAO,CACrD;QAAoD,GAAG,EAA/C,OAAO,YAAY,EAAE,gBAAgB,CAC7C;QAA4C,KAAK,EAAzC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;QAAsB,YAAY,EAA1B,OAAO,CACf;QAA6D,UAAU,AAAvE,CACA,EADQ,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;KAE2D,GAFjD,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAqDjE;IAED;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAC,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAC,EARtF;QAAqB,cAAc,EAA3B,MAAM,CACd;QAAsB,YAAY,EAA1B,OAAO,CACf;QAAqB,WAAW,EAAxB,MAAM,CACd;QAAqB,GAAG,EAAhB,MAAM,CACd;QAA4B,WAAW,EAA/B,MAAM,GAAG,IAAI,CACrB;QAAsB,WAAW,EAAzB,OAAO,CACf;KAEsF,GAF5E,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAiBzD;IAED;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAC,EALpD;QAAsB,YAAY,EAA1B,OAAO,CACf;QAAqB,GAAG,EAAhB,MAAM,CACd;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;KAEoD,GAF1C,IAAI,CAIhB;IAED;;;;;;;;;OASG;IACH,yBAAyB,CAAC,EAAC,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAC,EAP5E;QAAsB,YAAY,EAA1B,OAAO,CACf;QAAqB,GAAG,EAAhB,MAAM,CACd;QAA4B,WAAW,EAA/B,MAAM,GAAG,IAAI,CACrB;QAAsB,WAAW,EAAzB,OAAO,CACf;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;KAE4E,GAFlE,IAAI,CAgBhB;IAED;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAHT,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAGnC,GAFP,OAAO,YAAY,EAAE,gBAAgB,CAgCjD;IAED;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAHZ,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAGhC,GAFV,MAAM,CAIlB;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,OAAO,EAJhB,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAI5B,EAAE,KAAK,EAHvB,MAGuB,GAFrB;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CAQ1F;IAED;;;;;;OAMG;IACG,8BAA8B,CAAC,EAAE,EAJ5B,OAAO,6BAA6B,EAAE,OAIV,EAAE,GAAG,EAHjC,OAAO,YAAY,EAAE,gBAGY,GAF/B,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CA4BjE;IAED;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAHf,MAGe,GAFb,MAAM,GAAG,IAAI,CASzB;IAED;;;;;;;OAOG;IACG,0BAA0B,CAAC,EAAE,EAJxB,OAAO,6BAA6B,EAAE,OAId,EAAE,EAAC,cAAc,EAAE,cAAc,EAAC,EAH1D;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAGW,GAFxD,OAAO,CAAC,IAAI,CAAC,CA0BzB;IAED;;;;OAIG;IACG,uBAAuB,CAAC,EAAE,EAHrB,OAAO,6BAA6B,EAAE,OAGjB,GAFnB,OAAO,CAAC,IAAI,CAAC,CASzB;IAED;;;;OAIG;IACG,wBAAwB,CAAC,EAAE,EAHtB,OAAO,6BAA6B,EAAE,OAGhB,GAFpB,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;OAIG;IACG,2BAA2B,CAAC,EAAE,EAHzB,OAAO,6BAA6B,EAAE,OAGb,GAFvB,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAED;;;;OAIG;IACG,kCAAkC,CAAC,EAAE,EAHhC,OAAO,6BAA6B,EAAE,OAGN,GAF9B,OAAO,CAAC,IAAI,CAAC,CA6BzB;IAED;;;;OAIG;IACG,yBAAyB,CAAC,EAAE,EAHvB,OAAO,6BAA6B,EAAE,OAGf,GAFrB,OAAO,CAAC,IAAI,CAAC,CAsBzB;IAED;;;;;;OAMG;IACG,iBAAiB,CAAC,EAAE,EAJf,OAAO,6BAA6B,EAAE,OAIvB,EAAE,eAAe,EAHhC,MAAM,CAAC,MAAM,EAAE,MAAM,CAGW,GAF9B,OAAO,CAAC,IAAI,CAAC,CA8BzB;IAED;;;;;;OAMG;IACG,uBAAuB,CAAC,EAAE,EALrB,OAAO,6BAA6B,EAAE,OAKjB,EAAE,SAAS,EAJhC,MAIgC,EAAE,SAAS,EAH3C,MAG2C,GAFzC,OAAO,CAAC,IAAI,CAAC,CAiBzB;IAED;;;;OAIG;IACG,cAAc,CAAC,EAAE,EAHZ,OAAO,6BAA6B,EAAE,OAG1B,GAFV,OAAO,CAAC,MAAM,CAAC,CAW3B;IAED;;;;OAIG;IACG,kBAAkB,CAAC,EAAE,EAHhB,OAAO,6BAA6B,EAAE,OAGtB,GAFd,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;OAGG;IACH,kBAAkB,IAFL,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIlC;IAED;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAHP,OAAO,YAAY,EAAE,gBAAgB,EAG9B,GAFL,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYlC;IAED;;;;OAIG;IACG,gCAAgC,CAAC,EAAE,EAH9B,OAAO,6BAA6B,EAAE,OAGR,GAF5B,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAoBtF;IAED;;;;;;;OAOG;IACG,qBAAqB,CAAC,EAAE,EANnB,OAAO,6BAA6B,EAAE,OAMnB,EAAE,EAAC,cAAc,EAAE,cAAc,EAAC,EAJ7D;QAA4B,cAAc,EAAlC,MAAM,CACd;QAA4B,cAAc,EAAlC,MAAM,CACd;KAE6D,GAFnD,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;;;;;;;;;;;OAcG;IACG,mBAAmB,CAAC,EAAE,EAJjB,OAAO,6BAA6B,EAAE,OAIrB,EAAE,cAAc,EAHjC,MAAM,GAAG,IAGwB,GAF/B,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;;;OAKG;IACG,mBAAmB,CAAC,EAAE,EAJjB,OAAO,6BAA6B,EAAE,OAIrB,EAAE,cAAc,EAHjC,MAGiC,GAF/B,OAAO,CAAC,OAAO,CAAC,CAO5B;IAED;;;;;OAKG;IACG,mBAAmB,CAAC,EAAE,EAJjB,OAAO,6BAA6B,EAAE,OAIrB,EAAE,IAAI,EAHvB,OAAO,6BAA6B,EAAE,iBAGf,GAFrB,OAAO,CAAC,MAAM,CAAC,CAI3B;IAED;;;;;OAKG;IACG,mBAAmB,CAAC,EAAE,EAJjB,OAAO,6BAA6B,EAAE,OAIrB,EAAE,cAAc,EAHjC,MAAM,GAAG,IAGwB,GAF/B,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;;;OAKG;IACG,qBAAqB,CAAC,EAAE,EAJnB,OAAO,6BAA6B,EAAE,OAInB,EAAE,EAAC,iBAAyB,EAAC,AAHxD,CACA,EADQ;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAGyB,GAFnD,OAAO,CAAC,OAAO,YAAY,EAAE,sCAAsC,CAAC,CAgEhF;IAED;;;;;;OAMG;IACG,wBAAwB,CAAC,EAAE,EAJtB,OAAO,6BAA6B,EAAE,OAIhB,EAAE,cAAc,EAHtC,MAGsC,GAFpC,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,GAAG,IAAI,CAAC,CAmC/E;IAED;;;;;OAKG;IACH,0BAA0B,CAAC,KAAK,EAJrB,MAAM,GAAG,MAIY,EAAE,cAAc,EAHrC,MAGqC,GAFnC,MAAM,CAUlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,0BAA0B,CAAC,EAAE,EAHxB,OAAO,6BAA6B,EAAE,OAGd,GAFtB,OAAO,CAAC,IAAI,CAAC,CAgDzB;IAED;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAHX,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGjB,GAFT,MAAM,GAAG,IAAI,CAUzB;IAED;;;;OAIG;IACH,uBAAuB,CAAC,OAAO,AAH5B,CACA,EADQ,OAAO,YAAY,EAAE,oBAGD,GAFlB,OAAO,YAAY,EAAE,0BAA0B,CAI3D;IAED;;;;OAIG;IACH,2BAA2B,CAAC,aAAa,EAH9B,MAG8B,GAF5B,OAAO,YAAY,EAAE,0BAA0B,CAQ3D;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAC,EAL3C;QAA4D,EAAE,EAAtD,OAAO,6BAA6B,EAAE,OAAO,CACrD;QAAkH,aAAa,EAAvH,OAAO,YAAY,EAAE,0BAA0B,GAAG,OAAO,YAAY,EAAE,0BAA0B,EAAE,CAC3G;QAA2D,KAAK,EAAxD,OAAO,4BAA4B,EAAE,OAAO,CACpD;KAE2C,GAFjC,OAAO,4BAA4B,EAAE,OAAO,CAQxD;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAHL,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGvB,GAFH,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAchD;IAED;;;;;OAKG;IACG,OAAO,CAJA,CAAC,EAIA,QAAQ,EAHX,CAAC,EAAE,EAAE,OAAO,6BAA6B,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAGrD,GAFT,OAAO,CAAC,CAAC,CAAC,CAgBtB;IAED;;;;;;OAMG;IACG,kBAAkB,CALX,CAAC,EAKW,EAAE,EAJhB,OAAO,6BAA6B,EAAE,OAItB,EAAE,QAAQ,EAH1B,MAAM,OAAO,CAAC,CAAC,CAGW,GAFxB,OAAO,CAAC,CAAC,CAAC,CAYtB;IAED;;;;;;;;;OASG;IACG,wBAAwB,CALjB,CAAC,EAKiB,QAAQ,EAJ5B,CAAC,EAAE,EAAE,OAAO,6BAA6B,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAIpC,EAAE,OAAO,AAH7C,CACA,EADQ,4CAG0C,GAFxC,OAAO,CAAC,CAAC,CAAC,CAQtB;IAED;;;;;;OAMG;IACG,8BAA8B,CALvB,CAAC,EAKuB,QAAQ,EAJlC,CAAC,EAAE,EAAE,OAAO,6BAA6B,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAI9B,EAAE,OAAO,AAHnD,CACA,EADQ,4CAGgD,GAF9C,OAAO,CAAC,CAAC,CAAC,CAOtB;IAED;;;;;;;;OAQG;IACG,6BAA6B,CALtB,CAAC,EAKsB,QAAQ,EAJjC,CAAC,EAAE,EAAE,OAAO,6BAA6B,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAI/B,EAAE,OAAO,AAHlD,CACA,EADQ,4CAG+C,GAF7C,OAAO,CAAC,CAAC,CAAC,CAmCtB;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAC,EAN1D;QAAoD,GAAG,EAA/C,OAAO,YAAY,EAAE,gBAAgB,CAC7C;QAAwC,SAAS,EAAzC,MAAM,GAAG,IAAI,GAAG,SAAS,CACjC;QAAwC,QAAQ,EAAxC,MAAM,GAAG,IAAI,GAAG,SAAS,CACjC;QAAwC,aAAa,EAA7C,MAAM,GAAG,IAAI,GAAG,SAAS,CACjC;KAE0D,GAFhD,OAAO,CAQnB;IAED;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAHjB,OAAO,YAAY,EAAE,gBAGJ,GAFf,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAIzC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAC,EAJrC;QAAwC,SAAS,EAAzC,MAAM,GAAG,IAAI,GAAG,SAAS,CACjC;QAAoD,GAAG,EAA/C,OAAO,YAAY,EAAE,gBAAgB,CAC7C;KAEqC,GAF3B,OAAO,CAMnB;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,EAJjC;QAAoD,GAAG,EAA/C,OAAO,YAAY,EAAE,gBAAgB,CAC7C;QAAwC,QAAQ,EAAxC,MAAM,GAAG,IAAI,GAAG,SAAS,CACjC;KAEiC,GAFvB,OAAO,CAOnB;IAED;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAC,aAAa,EAAE,GAAG,EAAC,EAJvC;QAAwC,aAAa,EAA7C,MAAM,GAAG,IAAI,GAAG,SAAS,CACjC;QAAoD,GAAG,EAA/C,OAAO,YAAY,EAAE,gBAAgB,CAC7C;KAEuC,GAF7B,OAAO,CAOnB;IAED;;;;OAIG;IACH,aAAa,CAAC,OAAO,AAHlB,CACA,EADQ,MAG8B,GAF5B,MAAM,CAIlB;CACF"}
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/store.js"],"names":[],"mappings":"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"}
|