@raidiant/notifai 14.4.2-beta.1 → 14.4.2-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -2
- package/bin/notifai.mjs +56 -8
- package/data/release.json +1 -1
- package/inventory.json +1 -1
- package/npm-adapter-files.json +10 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,12 +8,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
8
8
|
This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
|
9
9
|
and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
|
10
10
|
|
|
11
|
-
## [14.4.2-beta.
|
|
11
|
+
## [14.4.2-beta.4](https://github.com/Raidiant-io/notifai/compare/v14.4.1...v14.4.2-beta.4) (2026-10-28)
|
|
12
12
|
|
|
13
13
|
### Bug Fixes
|
|
14
14
|
|
|
15
|
+
* A Codex session keeps the Notifai hooks it loaded when it started. After an update adds or changes one, `notifai update --resume` no longer says the update is done for that session: it names the hooks the session is missing and says a new Codex session picks them up. `notifai doctor` names them too, and only treats it as a problem when a feature needs one (answers at turn end, Notes during a busy turn, question cards).
|
|
16
|
+
* New Codex installs no longer add an `--integration-revision` argument to their hook commands. Existing installs keep their commands exactly as they are, so nothing needs approving again. `notifai doctor` asks Codex itself whether the hooks are approved when it can.
|
|
15
17
|
* A Codex thread whose Notifai hooks Codex skips, such as one started with its own `CODEX_HOME` for another account, now shows as running in the Notifai apps once it sends. Until its hooks are approved in that home it takes no notes and can't ask questions.
|
|
16
|
-
* The agent in such a thread is told once to remind you to approve the hooks,
|
|
18
|
+
* The agent in such a thread is told once to remind you to approve the hooks, with the step that works there. In apps that run Codex for you, such as T3 Code and Orca, that is a terminal command that opens Codex's hook review with no sign-in: `CODEX_HOME=<home> codex -c model_provider=ollama`, then **Trust all and continue**. On Windows the command clears `CODEX_HOME` afterwards, and in Orca one approval in `~/.codex` covers every account. `notifai init` and its done message give the same step.
|
|
19
|
+
* With a symlinked `~/.codex`, hooks you approved are no longer reported as waiting for approval.
|
|
17
20
|
|
|
18
21
|
## [14.4.1](https://github.com/Raidiant-io/notifai/compare/v14.4.0...v14.4.1) (2026-10-27)
|
|
19
22
|
|
package/bin/notifai.mjs
CHANGED
|
@@ -11285,9 +11285,10 @@ async function runNpmAdapter(args, { locator, platform, distribution, verify: ve
|
|
|
11285
11285
|
|
|
11286
11286
|
// apps/cli/npm/notarization.mjs
|
|
11287
11287
|
import { spawnSync } from "node:child_process";
|
|
11288
|
-
var backoff = [5e3, 15e3];
|
|
11288
|
+
var backoff = [5e3, 15e3, 4e4];
|
|
11289
11289
|
var pause = (ms) => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
11290
11290
|
var rejected = (text) => /revoked|CSSMERR_TP_|invalid signature|code or signature have been modified|\brejected\b/i.test(text);
|
|
11291
|
+
var damaged = (text) => /revoked|CSSMERR_TP_|invalid signature|modified/i.test(text);
|
|
11291
11292
|
var unavailable = (text) => /NSURLErrorDomain\s+Code=-(?:1001|1003|1004|1005|1006|1009)\b/.test(text);
|
|
11292
11293
|
var snapshot = (result) => ({
|
|
11293
11294
|
status: result.status,
|
|
@@ -11296,6 +11297,49 @@ var snapshot = (result) => ({
|
|
|
11296
11297
|
stdout: String(result.stdout ?? ""),
|
|
11297
11298
|
stderr: String(result.stderr ?? "")
|
|
11298
11299
|
});
|
|
11300
|
+
var clean = (result) => !result.error && !result.signal;
|
|
11301
|
+
var TICKET_SERVICE = "https://api.apple-cloudkit.com/database/1/com.apple.gk.ticket-delivery/production/public/records/lookup";
|
|
11302
|
+
function lookupAppleTicket(file, run, options) {
|
|
11303
|
+
const display = snapshot(run("/usr/bin/codesign", ["--display", "-vvv", file], options));
|
|
11304
|
+
const cdhash = clean(display) && display.status === 0 && /^CandidateCDHashFull sha256=([0-9a-f]{64})\s*$/m.exec(display.stderr + display.stdout)?.[1];
|
|
11305
|
+
if (!cdhash) return { answer: "unknown", reason: "no-sha256-cdhash" };
|
|
11306
|
+
const record2 = `2/2/${cdhash.slice(0, 40)}`;
|
|
11307
|
+
const response = snapshot(run("/usr/bin/curl", [
|
|
11308
|
+
"-q",
|
|
11309
|
+
"--silent",
|
|
11310
|
+
"--show-error",
|
|
11311
|
+
"--proto",
|
|
11312
|
+
"=https",
|
|
11313
|
+
"--tlsv1.2",
|
|
11314
|
+
"--max-time",
|
|
11315
|
+
"10",
|
|
11316
|
+
"--request",
|
|
11317
|
+
"POST",
|
|
11318
|
+
"--header",
|
|
11319
|
+
"Content-Type: application/json",
|
|
11320
|
+
"--data",
|
|
11321
|
+
JSON.stringify({ records: [{ recordName: record2 }] }),
|
|
11322
|
+
"--write-out",
|
|
11323
|
+
"\n%{http_code}",
|
|
11324
|
+
TICKET_SERVICE
|
|
11325
|
+
], options));
|
|
11326
|
+
const lines = response.stdout.trimEnd().split("\n"), http = lines.pop();
|
|
11327
|
+
let found;
|
|
11328
|
+
try {
|
|
11329
|
+
found = JSON.parse(lines.join("\n")).records?.[0];
|
|
11330
|
+
} catch {
|
|
11331
|
+
found = void 0;
|
|
11332
|
+
}
|
|
11333
|
+
const evidence = { record: record2, http: http ?? null, curl: response.status, server_error: found?.serverErrorCode ?? null };
|
|
11334
|
+
if (!clean(response) || response.status !== 0 || http !== "200" || found?.recordName !== record2) {
|
|
11335
|
+
return { answer: "unavailable", ...evidence, stderr: response.stderr.slice(-500) };
|
|
11336
|
+
}
|
|
11337
|
+
if (found.serverErrorCode === "NOT_FOUND" && !found.recordType) return { answer: "absent", ...evidence };
|
|
11338
|
+
if (found.recordType === "DeveloperIDTicket" && !found.serverErrorCode && typeof found.fields?.signedTicket?.value === "string" && found.fields.signedTicket.value.length > 0) {
|
|
11339
|
+
return { answer: "held", ...evidence };
|
|
11340
|
+
}
|
|
11341
|
+
return { answer: "unavailable", ...evidence };
|
|
11342
|
+
}
|
|
11299
11343
|
function verifyNotarization(file, {
|
|
11300
11344
|
run = spawnSync,
|
|
11301
11345
|
pause: wait = pause,
|
|
@@ -11305,27 +11349,30 @@ function verifyNotarization(file, {
|
|
|
11305
11349
|
for (let attempt = 1; attempt <= backoff.length + 1; attempt += 1) {
|
|
11306
11350
|
const options = { encoding: "utf8", timeout: 6e4, maxBuffer: 256 * 1024, stdio: ["ignore", "pipe", "pipe"] };
|
|
11307
11351
|
const codesign = snapshot(run("/usr/bin/codesign", ["-vvvv", "-R=notarized", "--check-notarization", file], options));
|
|
11308
|
-
if (codesign.status === 0 &&
|
|
11352
|
+
if (codesign.status === 0 && clean(codesign)) {
|
|
11309
11353
|
return { stdout: codesign.stdout, stderr: codesign.stderr, attempts: attempt, failures: history };
|
|
11310
11354
|
}
|
|
11311
|
-
let classification = "rejected-or-unknown", assessment;
|
|
11355
|
+
let classification = "rejected-or-unknown", assessment, ticket;
|
|
11312
11356
|
const diagnostic = codesign.stderr + codesign.stdout;
|
|
11313
|
-
if (
|
|
11357
|
+
if (clean(codesign) && !rejected(diagnostic)) {
|
|
11314
11358
|
if (unavailable(diagnostic)) classification = "lookup-unavailable";
|
|
11315
11359
|
else if (diagnostic.includes("code failed to satisfy specified code requirement(s)")) {
|
|
11316
11360
|
assessment = snapshot(run("/usr/sbin/spctl", ["-a", "-vvv", "-t", "install", file], options));
|
|
11317
11361
|
const detail = assessment.stderr + assessment.stdout;
|
|
11318
|
-
if (
|
|
11362
|
+
if (clean(assessment) && !rejected(detail)) {
|
|
11319
11363
|
if (assessment.status === 0 && /^source=Notarized Developer ID\s*$/m.test(detail) && /: accepted\s*$/m.test(detail)) {
|
|
11320
11364
|
classification = "lookup-inconsistent";
|
|
11321
11365
|
} else if (unavailable(detail)) classification = "lookup-unavailable";
|
|
11366
|
+
} else if (clean(assessment) && assessment.status === 3 && /: rejected\s*$/m.test(detail) && /^source=Unnotarized Developer ID\s*$/m.test(detail) && !damaged(detail) && /satisfies its Designated Requirement/.test(diagnostic)) {
|
|
11367
|
+
ticket = lookupAppleTicket(file, run, options);
|
|
11368
|
+
classification = ticket.answer === "held" ? "lookup-inconsistent" : ticket.answer === "unavailable" ? "lookup-unavailable" : ticket.answer === "absent" ? "not-notarized" : "rejected-or-unknown";
|
|
11322
11369
|
}
|
|
11323
11370
|
}
|
|
11324
11371
|
}
|
|
11325
|
-
const entry = { attempt, classification, codesign, ...assessment ? { assessment } : {} };
|
|
11372
|
+
const entry = { attempt, classification, codesign, ...assessment ? { assessment } : {}, ...ticket ? { ticket } : {} };
|
|
11326
11373
|
history.push(entry);
|
|
11327
11374
|
report(entry);
|
|
11328
|
-
if (classification === "rejected-or-unknown" || attempt > backoff.length) {
|
|
11375
|
+
if (classification === "rejected-or-unknown" || classification === "not-notarized" || attempt > backoff.length) {
|
|
11329
11376
|
const error = new Error(`Apple notarization verification failed (${classification}, attempt ${attempt}): ${JSON.stringify(history)}`);
|
|
11330
11377
|
error.code = "NOTARIZATION_VERIFICATION_FAILED";
|
|
11331
11378
|
error.attempts = history;
|
|
@@ -11369,7 +11416,8 @@ function powershell(operation, data = {}, { lineInput = false, execute = execFil
|
|
|
11369
11416
|
).trim();
|
|
11370
11417
|
} catch (error) {
|
|
11371
11418
|
const last = [...String(error.stderr ?? "").matchAll(/notifai-bootstrap:([a-z-]+)/g)].at(-1)?.[1] ?? "process-start";
|
|
11372
|
-
|
|
11419
|
+
const step = /\b(?:Get|Assert|New)-Notifai\w+/.exec(operation)?.[0] ?? "helper";
|
|
11420
|
+
throw new Error(`Windows installation helper failed after ${last} in ${step} (${error.code ?? error.status ?? "unknown"}).`, { cause: error });
|
|
11373
11421
|
}
|
|
11374
11422
|
}
|
|
11375
11423
|
function windowsPackageAccess(paths, execute = execFileSync) {
|
package/data/release.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"14.4.2-beta.
|
|
1
|
+
{"version":"14.4.2-beta.4","source_revision":"13853e81f88c2e6540b44cfa2a9f282bd7d7ad50"}
|
package/inventory.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC40LjItYmV0YS4xIiwic291cmNlX3JldmlzaW9uIjoiMTJhNTExNzI4OWU2MTZiY2Q1YTMxNzk3NGI0ZTgyYWNjN2UwYWZiOCIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMS1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI4MTEzNzExLCJzaGEyNTYiOiI4YTE4ZDUwOTcwMmNhYTJjMzcyMzA5NTQ2YTIyZTNiYzUxOTc1M2EzZmNmZDVmMGQwYzdlYzU2ZjU5N2NlYWEyIiwicnVudGltZV9zaGEyNTYiOiJmZTJmMzA3ZDNiMjY2MjFlZDE1ODZjOWM2NWU1M2RjN2ZlY2FkNjQyYzFhN2E4YjFlYWFkYzAxNWRmZjcwMWYwIiwibGF1bmNoZXJfc2hhMjU2IjoiODM4ODU4M2JmMTNmMWVkMTFiY2Q1NTI0YzU2NTc4NTg3NDQ2YmNhNDhkYzU3ZGQyNWZkYWFlMmQ0YmI3NGZkNyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6Ijc1ZmYwZGEzOTNkZWExODQxNGI1N2Y2OGU0MmZjZTI3MTA5MzhlYmI2NDllMmNhMTljNzVlYmM5NjQ3YWVjZmMifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMS1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDM1ODE3OSwic2hhMjU2IjoiNjc3MjgxMjY4ZWFiNmZkZWY1MTY5MzlmOGZhMzg3ZTU3M2I5NTRiMjZkOTIwOWE2YzkxNDNmOTc3MWMzNjI0ZSIsInJ1bnRpbWVfc2hhMjU2IjoiNGFmOGY5YmFmZDlkMDQwMWIwYjcwMzFjODM3OWFmNDUxMzUxMzUzYjhhODMyNTc4ZDFjNTQyYmEzMjkyZWEwYiIsImxhdW5jaGVyX3NoYTI1NiI6IjA4ZTc4OWY3NzkwMDExNjcwM2M1NDc2NWM5NzM1NjNlMWVhNzdkMmUyMWMxYjAyZjZkNTYwNGIzNjZlMTc1OWUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI3NWZmMGRhMzkzZGVhMTg0MTRiNTdmNjhlNDJmY2UyNzEwOTM4ZWJiNjQ5ZTJjYTE5Yzc1ZWJjOTY0N2FlY2ZjIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS4xLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTY2NzMyNiwic2hhMjU2IjoiYjVhZTg2NTBlYjc4ZTgzYzEyNTg0NmU4NDI2ZTdiODkzYzk5ZjUzMjQwNjA4N2JlMjNmMmRiM2VjMTE3YjZkZiIsInJ1bnRpbWVfc2hhMjU2IjoiYjAxY2RlZDRmYzJhNmY4MzMwOWQwNmNlOTI5ZGJjM2QyNjgzOGE5MDY3MGU0YzE0YjU2MDhiZmQ1NWNmYWFhOCIsImxhdW5jaGVyX3NoYTI1NiI6ImMyYWI1ZjgwOTBjMTNmMDcwYjg3Yzg2NThiODAwM2MyYjg3OGMwYThjNWNjZGJmNWI5NDJjMTU3OTFlOGFkNzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI3NWZmMGRhMzkzZGVhMTg0MTRiNTdmNjhlNDJmY2UyNzEwOTM4ZWJiNjQ5ZTJjYTE5Yzc1ZWJjOTY0N2FlY2ZjIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMS1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MjMyNDQ5LCJzaGEyNTYiOiJlNmZiYjlhMmI4YTNkNTk0OWMyZThiOWY0YjdkNzE5YmI0ZjYxNDA5MTcxNTg3ZDcxNjY1ZTVmOTcyNmI0ZjE3IiwicnVudGltZV9zaGEyNTYiOiJjN2U3ODQ5N2RkMzVmY2U0ZDlmMzE3MmYwN2E4NDk5MWJlZTc4NDg5ZDI4ZDgwNmJmNDczYmExNjNiMmUwNTFmIiwibGF1bmNoZXJfc2hhMjU2IjoiODNmM2Y5NWVhNzZhMTNjYTU2YmFmM2ZjM2EwMzYyOTdjZTkwZDk1NjAzZjliNDhkMDg5ZDAzMDM3N2JhZTM5ZSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6Ijc1ZmYwZGEzOTNkZWExODQxNGI1N2Y2OGU0MmZjZTI3MTA5MzhlYmI2NDllMmNhMTljNzVlYmM5NjQ3YWVjZmMifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMS13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozOTAxNjQ4NCwic2hhMjU2IjoiMWY5NmIyYTEzMDE3ODhjMGZkYmU4MDY1MjYyOWIzYzM0OGM1NTNmMDRiOWUwNjlhN2Q3NzRhNDg2OGMzNjIyNSIsInJ1bnRpbWVfc2hhMjU2IjoiYmU5ZDkyMTgxMjc3NDAyYTAxYWUwODEyZGRlZmI0YWRmODJlMmY1OGY2ZDdmMmVkMzc2Nzg3ODBhYTMxNDBhZCIsImxhdW5jaGVyX3NoYTI1NiI6IjI0NTlhYjJiZGFiYTRlYTViY2QxNDRjZTU5MjExMWQwZDNiZWI5ZWI4ZTkwYjkwZjZiODU4MWY2ZjU3MjZmZWUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI3NWZmMGRhMzkzZGVhMTg0MTRiNTdmNjhlNDJmY2UyNzEwOTM4ZWJiNjQ5ZTJjYTE5Yzc1ZWJjOTY0N2FlY2ZjIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS4xLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjE2NDE5Mywic2hhMjU2IjoiZmU0N2Y1Y2IwM2UyOTkxMTc3MjU3N2VlOGVjMzE2OWY1OGQwZDU1MjZjNTFhMGEzZTA5MTQzM2E0NTNkOGNhNSIsInJ1bnRpbWVfc2hhMjU2IjoiMTgzYTM2ZjhiOGQ2NjgwNjQzNzNmMjIzNTdkNzYzZjE2ZTRhYzEyZDk5NWM5MTA4YTM0ODI5NDQwNzY4MmM0NCIsImxhdW5jaGVyX3NoYTI1NiI6IjVjODgwMmFlNTkxZGY1OWIwNGQwNGMxZGJmNmViNTQxN2Y1MWY2MTA0YTUwN2U4MzUzNDQ2MWQwMTk3MmFkNjAiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI3NWZmMGRhMzkzZGVhMTg0MTRiNTdmNjhlNDJmY2UyNzEwOTM4ZWJiNjQ5ZTJjYTE5Yzc1ZWJjOTY0N2FlY2ZjIn1dfV19","signature":"Bfkhie429CgC3id5H8vnkPrEjJx7UGjDQn9odSj/vhNoA/exz5rPLXWcF+O1jdm1T+iY8b289RKGLM1gd6ghAg=="}
|
|
1
|
+
{"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC40LjItYmV0YS40Iiwic291cmNlX3JldmlzaW9uIjoiMTM4NTNlODFmODhjMmU2NTQwYjQ0Y2ZhMmE5ZjI4MmJkN2Q3YWQ1MCIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNC1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI4MTIwNzY0LCJzaGEyNTYiOiJjM2M1OGRiNzU1MjBkYjY0M2E0MDNmYzA1M2RlYmZkZmY1NGY1M2Y4YjY2ZDZmNWZhZjM5NTg1ODM0Zjk1YzU0IiwicnVudGltZV9zaGEyNTYiOiIwMzg5NGQ5ZDkzZDk5ZDk5ZTRmNDg3NjRhOTAzMzVjOGIyYTExZTRmYmFlOTVkMDg0MjBmMTVkYWIxNWFjMTZhIiwibGF1bmNoZXJfc2hhMjU2IjoiNjc3ODQwODQxOTExODE5NjExNjM4MzZhOTZjNTFkYzNlN2UyMmI1ZDM3YWZmZjQxYTM1Y2IwY2JhMWU5YWNmYyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjU0Y2Q4NGJjYmNjZGNlNmZhMjMyMTkwMmI3YzljYzU4OWIwNWE3M2Q2MDQzYTViMzQ3MGRhMmYyZDVlNDhiMGMifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNC1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDM2Mjg3Miwic2hhMjU2IjoiYTk1OGRjYTIzOTM1ZDIxYjk4Y2RjZTllOGJiZjcwMTYzYWNmN2VkMTg3NjdkZTk5MjUzNDk5OWJkOTc3YzVmNyIsInJ1bnRpbWVfc2hhMjU2IjoiZDliZGE5MmFjODYxZjQxM2FlYmU3YTUyNDQ1MTIxMDBjOGMzZDE3NzFkOWQyNmU4NTdlNjdmNjU4MTI0NTU0NCIsImxhdW5jaGVyX3NoYTI1NiI6IjJlYTk5MmY3ZWUzNWQzZDQ4MDM4MjQxZWQwNDUwZjM2MTYwYmM5NTI4NDgzNTc2OGUzODlhMzMyMTYyYWI2Y2IiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NGNkODRiY2JjY2RjZTZmYTIzMjE5MDJiN2M5Y2M1ODliMDVhNzNkNjA0M2E1YjM0NzBkYTJmMmQ1ZTQ4YjBjIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS40LWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTY3MjE0NCwic2hhMjU2IjoiNWIwMzAxMDc1YjkxZGRkMWU0MzhjMTU1NmY4ZjdhOGQyZjQyNGVjYTNiNGZmMmY0YTMzOTNlODY3ZGVmYzdmMSIsInJ1bnRpbWVfc2hhMjU2IjoiNjA0MzE5OTdiMTI2NzYyMWUzNzZiNmZlNzEwZjZlZTFkNTI1MzlhODlmNzkzNjZhNzcxZTgyYzM3YTBjNWNhNSIsImxhdW5jaGVyX3NoYTI1NiI6ImMyYWI1ZjgwOTBjMTNmMDcwYjg3Yzg2NThiODAwM2MyYjg3OGMwYThjNWNjZGJmNWI5NDJjMTU3OTFlOGFkNzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NGNkODRiY2JjY2RjZTZmYTIzMjE5MDJiN2M5Y2M1ODliMDVhNzNkNjA0M2E1YjM0NzBkYTJmMmQ1ZTQ4YjBjIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNC1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MjM5ODQ1LCJzaGEyNTYiOiI0ZjdhMTU0NjNhMTRmZmU1MTgxOTE1ZTZiOWY1MTc3MWViZGI1OWFmNmE4NDliOWEyNTBkZGZiYzg4ZmI5ODc3IiwicnVudGltZV9zaGEyNTYiOiJmZmJmOTg0ZDE1NWIzMGE0MDdhNGExZjhlNGZlNmIyOWNhOWNlNjNiMThiYTdmNzQ5YjI0NDhhNjAzOTAxYTg4IiwibGF1bmNoZXJfc2hhMjU2IjoiODNmM2Y5NWVhNzZhMTNjYTU2YmFmM2ZjM2EwMzYyOTdjZTkwZDk1NjAzZjliNDhkMDg5ZDAzMDM3N2JhZTM5ZSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjU0Y2Q4NGJjYmNjZGNlNmZhMjMyMTkwMmI3YzljYzU4OWIwNWE3M2Q2MDQzYTViMzQ3MGRhMmYyZDVlNDhiMGMifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNC13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozOTAyMTYyNCwic2hhMjU2IjoiMTA5YjYxNjA0ZWU3M2Q1ZDRjYmI1YjY0ZmQ5ZmE4ZWM4ZDkzYzZmMzBhMWI5MWZhNWJhZTI5NWJhNzdkNTdkZCIsInJ1bnRpbWVfc2hhMjU2IjoiMjZlNjZmOTJiMTEyNDllNDg5YWNiMDVkNzljYjY3MDU5YjhjMTBmZWNkZGZiYjc4NWI4MGFhYzA0N2UyNDBmNiIsImxhdW5jaGVyX3NoYTI1NiI6IjUyYjEwMTk3YWY1N2VmYTcwMGFkY2U0ODc4MmExNDdiMzY2M2NiOWYyYTBlNjVkNmE3NjI5Y2I2ZTVjZTgzZGMiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NGNkODRiY2JjY2RjZTZmYTIzMjE5MDJiN2M5Y2M1ODliMDVhNzNkNjA0M2E1YjM0NzBkYTJmMmQ1ZTQ4YjBjIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS40LXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjE2OTY4NSwic2hhMjU2IjoiZDI5MGZjOTQwNGI4ZDNjZWRkNTgyMTNjMTczYjk0ZDUzYjQ0ZWExMjk3YjI3YjY1YjViNzRhZWRjN2Y5NGE2MSIsInJ1bnRpbWVfc2hhMjU2IjoiZTQyYTU5ODg2NWI0ZjllYmUzZGNkYmI5ZjY3NjM4NGRmNGEwYjA1MWFhMDNiOGVlM2UxNDM0YTRmNjIyODQ3MyIsImxhdW5jaGVyX3NoYTI1NiI6IjRiYzI5MDZmOTViNDlmMzE4ZmViZmI0ODAzODgyNmMxZjYxNTgzNWIzMzlkMDc1ZDVmYmU0YzhmN2NkYTcxYWMiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NGNkODRiY2JjY2RjZTZmYTIzMjE5MDJiN2M5Y2M1ODliMDVhNzNkNjA0M2E1YjM0NzBkYTJmMmQ1ZTQ4YjBjIn1dfV19","signature":"qXwXhY5nBjc8d0X141zUpcKe6DgTBuPpt/rxptn3Z/avn7VWAGlj5i7DqU5TwVb5IU0+JmTWf2/PEkufahOKCg=="}
|
package/npm-adapter-files.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
3
|
"package": "@raidiant/notifai",
|
|
4
|
-
"adapter_version": "14.4.2-beta.
|
|
4
|
+
"adapter_version": "14.4.2-beta.4",
|
|
5
5
|
"native": {
|
|
6
|
-
"version": "14.4.2-beta.
|
|
7
|
-
"source_revision": "
|
|
8
|
-
"inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.4.2-beta.
|
|
6
|
+
"version": "14.4.2-beta.4",
|
|
7
|
+
"source_revision": "13853e81f88c2e6540b44cfa2a9f282bd7d7ad50",
|
|
8
|
+
"inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.4.2-beta.4/inventory.json"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
{
|
|
12
12
|
"path": "CHANGELOG.md",
|
|
13
|
-
"bytes":
|
|
14
|
-
"sha256": "
|
|
13
|
+
"bytes": 97176,
|
|
14
|
+
"sha256": "7cf81038ce49406e46e664dbaa384341ceb422e1594dd046e854d957b58e3ad9"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"path": "LICENSE",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"path": "bin/notifai.mjs",
|
|
38
|
-
"bytes":
|
|
39
|
-
"sha256": "
|
|
38
|
+
"bytes": 530127,
|
|
39
|
+
"sha256": "f645f9fc77d343ab0b348f6146cbfdb809048e5e342838f66e6c60831e7648f0"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"path": "data/install.ps1",
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
{
|
|
47
47
|
"path": "data/release.json",
|
|
48
48
|
"bytes": 89,
|
|
49
|
-
"sha256": "
|
|
49
|
+
"sha256": "8c746132fc7d061a284ff51e5151c60a9aa938760f0ca1d9b2b92833b2a6d014"
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
"path": "package.json",
|
|
53
53
|
"bytes": 1315,
|
|
54
|
-
"sha256": "
|
|
54
|
+
"sha256": "f3f783dd6982c97ae6bd76b3cdc8e007560fd9d55e4b59b317e573a844770d60"
|
|
55
55
|
}
|
|
56
56
|
]
|
|
57
57
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@raidiant/notifai",
|
|
3
|
-
"version": "14.4.2-beta.
|
|
3
|
+
"version": "14.4.2-beta.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Notifications and questions from your coding agents to your phone. Your answer goes back to the exact session that asked. Claude Code, Codex, Cursor, OpenCode, OpenClaw, Hermes and Grok.",
|
|
6
6
|
"keywords": [
|