@bobfrankston/rmfmail 1.2.308 → 1.2.310

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/npmchanges.md CHANGED
@@ -1654,3 +1654,45 @@ inflated use_count on every full sync). A one-time full resync per account
1654
1654
  (kv contacts/resync:<account>) refreshes the names already stored stale.
1655
1655
  Packages: mailx-store 0.1.113, mailx-imap 0.1.174.
1656
1656
 
1657
+ ## v1.2.308 — 2026-09-08
1658
+
1659
+ Trusted intermediaries: services that relay mail on other people's behalf
1660
+
1661
+ "How do I mark zoom and sites like that as trusted intermediaries?" (Bob
1662
+ 2026-09-08, on a Google Calendar invitation From the organizer, signed
1663
+ d=google.com, every link wrapped as google.com/url?q=us02web.zoom.us). Two
1664
+ cautions fired — the server's spam verdict (GOOG_REDIR/KAM_GOOGLE_REDIR) and
1665
+ "a link hides where it goes" — and nothing in the app could answer either:
1666
+ the sender is not DMARC-proved, so "stop warning about this sender" was not
1667
+ offered, and the redirector rule's escape covers only the proved From.
1668
+
1669
+ New allowlist.jsonc field `trustedIntermediaries` (e.g. google.com, zoom.us).
1670
+ An entry counts only on a message the service PROVABLY handled — a verified
1671
+ DKIM signature for its domain in the topmost Authentication-Results, or a
1672
+ DMARC pass when it is the From. Then its own redirector is routing, not
1673
+ laundering, and the bulk/association spam note is quieted exactly as a
1674
+ proved trusted sender quiets it. A message that merely links through
1675
+ google.com/url proves nothing and stays flagged; forgery evidence is never
1676
+ silenced. Findings now carry `via` (the signer behind the redirector, or the
1677
+ signed Sender: domain) and the viewer offers "Trust ‹domain› as an
1678
+ intermediary" under the banner; trustSenderOrDomain takes type
1679
+ "intermediary" (desktop + Android mirror), getAllowlist returns the list.
1680
+ docs/allowlist.md documents trustedSenders/trustedDomains (were missing) and
1681
+ the new list. Packages: mailx-types 0.1.83, mailx-store 0.1.115,
1682
+ mailx-settings 0.1.77, mailx-service 0.1.34, mailx-store-web 0.1.107,
1683
+ client 1.0.46.
1684
+
1685
+ ## v1.2.309 — 2026-09-08
1686
+
1687
+ Trust banner names the intermediary and the action that trusts it
1688
+
1689
+ "Is there a 'trust this intermediary' operation or do I need to edit it
1690
+ manually? If so the banner should tell which and how" (Bob 2026-09-08). The
1691
+ button existed since v1.2.308 but the finding text did not mention it. The
1692
+ spam-verdict note now ends with: Sent on the author's behalf by google.com,
1693
+ which signed it; "Trust google.com as an intermediary" stops this note for
1694
+ mail google.com signs. The redirector warning ends the same way, naming the
1695
+ signer — or, when nobody signed for the redirector host, says plainly that
1696
+ there is no intermediary to trust and only the sender could vouch for the
1697
+ link. mailx-types 0.1.85.
1698
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/rmfmail",
3
- "version": "1.2.308",
3
+ "version": "1.2.310",
4
4
  "description": "Local-first email client with IMAP sync and standalone native app",
5
5
  "type": "module",
6
6
  "main": "bin/mailx.js",
@@ -34,8 +34,8 @@
34
34
  "dependencies": {
35
35
  "@bobfrankston/iflow-direct": "^0.1.68",
36
36
  "@bobfrankston/mailx-host": "^0.1.15",
37
- "@bobfrankston/mailx-imap": "^0.1.175",
38
- "@bobfrankston/mailx-store-web": "^0.1.107",
37
+ "@bobfrankston/mailx-imap": "^0.1.177",
38
+ "@bobfrankston/mailx-store-web": "^0.1.109",
39
39
  "@bobfrankston/mailx-sync": "^0.1.29",
40
40
  "@bobfrankston/miscinfo": "^1.0.21",
41
41
  "@bobfrankston/msger": "^0.1.431",
@@ -119,8 +119,8 @@
119
119
  "dependencies": {
120
120
  "@bobfrankston/iflow-direct": "^0.1.68",
121
121
  "@bobfrankston/mailx-host": "^0.1.15",
122
- "@bobfrankston/mailx-imap": "^0.1.175",
123
- "@bobfrankston/mailx-store-web": "^0.1.107",
122
+ "@bobfrankston/mailx-imap": "^0.1.177",
123
+ "@bobfrankston/mailx-store-web": "^0.1.109",
124
124
  "@bobfrankston/mailx-sync": "^0.1.29",
125
125
  "@bobfrankston/miscinfo": "^1.0.21",
126
126
  "@bobfrankston/msger": "^0.1.431",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-imap",
3
- "version": "0.1.176",
3
+ "version": "0.1.178",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bobfrankston/mailx-imap",
9
- "version": "0.1.176",
9
+ "version": "0.1.178",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
12
  "@bobfrankston/iflow-direct": "^0.1.27",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-imap",
3
- "version": "0.1.176",
3
+ "version": "0.1.178",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-settings",
3
- "version": "0.1.79",
3
+ "version": "0.1.81",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-store",
3
- "version": "0.1.116",
3
+ "version": "0.1.118",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-store-web",
3
- "version": "0.1.108",
3
+ "version": "0.1.110",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-types",
3
- "version": "0.1.84",
3
+ "version": "0.1.88",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,YAAY;IACzB,0EAA0E;IAC1E,EAAE,EAAE,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAC1D,wBAAwB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;IAC3E;;qEAEiE;IACjE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf;;;;4EAIwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACvB;;qEAEiE;IACjE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;mDAC+C;IAC/C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;8CAM0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;2EAEuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;4DASwD;IACxD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAqtBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,CAWpE;AAyFD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB;;;yEAGqE;IACrE,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC;IAC1D,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;gBAIY;IACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;IAC5C;;iEAE6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB;;0CAEsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;8EAC0E;IAC1E,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAcxD"}
1
+ {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,YAAY;IACzB,0EAA0E;IAC1E,EAAE,EAAE,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAC1D,wBAAwB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;IAC3E;;qEAEiE;IACjE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf;;;;4EAIwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACvB;;qEAEiE;IACjE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;mDAC+C;IAC/C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;8CAM0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;2EAEuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;4DASwD;IACxD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AA6uBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,CAWpE;AAyFD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB;;;yEAGqE;IACrE,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC;IAC1D,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;gBAIY;IACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;IAC5C;;iEAE6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB;;0CAEsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;8EAC0E;IAC1E,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAcxD"}
@@ -432,6 +432,13 @@ function serverSpamVerdict(input) {
432
432
  const senderDomain = (bare(header(input.headerLines, "sender")).split("@")[1] || "").toLowerCase();
433
433
  const relay = senderDomain ? a.signers.find(s => sameOrg(s, senderDomain)) : "";
434
434
  const via = relay && !a.proved ? { via: relay } : {};
435
+ // Say WHICH party and HOW, in the finding itself (Bob 2026-09-08: "the
436
+ // banner should tell which and how"). The action's label is quoted so
437
+ // the reader can match it to the button — and to the allowlist.jsonc
438
+ // entry it writes, `trustedIntermediaries`.
439
+ const relayNote = relay && !a.proved
440
+ ? `. Sent on the author's behalf by ${relay}, which signed it; "Trust ${relay} as an intermediary" stops this note for mail ${relay} signs.`
441
+ : "";
435
442
  const numbers = Number.isFinite(a.score) && Number.isFinite(a.threshold)
436
443
  ? `SpamAssassin score ${a.score} of ${a.threshold}`
437
444
  : "flagged by SpamAssassin";
@@ -482,7 +489,7 @@ function serverSpamVerdict(input) {
482
489
  id: "server-spam-verdict",
483
490
  severity: "caution",
484
491
  text: "Your mail server classified this as spam before delivering it.",
485
- detail: `${proof}${numbers}${why}${bayes}`,
492
+ detail: `${proof}${numbers}${why}${bayes}${relayNote}`,
486
493
  ...via,
487
494
  };
488
495
  }
@@ -624,6 +631,18 @@ function provedSenderDomain(input) {
624
631
  *
625
632
  * 1. The redirector and the destination are the same organisation. A site
626
633
  * bouncing through its own hostnames is routing, not hiding.
634
+ * 4. The link ENDS at the proved sender (2026-09-08). Microsoft 365's
635
+ * Message center mail, dmarc=pass header.from=microsoft.com with
636
+ * policy reject, links through its click-tracker
637
+ * `nam.safelink.emails.azure.net` to `admin.microsoft.com`: two
638
+ * organisations by hostname, nobody signed for azure.net, and the
639
+ * sender is not the redirector — rules 1 to 3 all miss (Bob: "another
640
+ * safe message flagged"). But the reader lands on the site of the party
641
+ * that provably sent the mail, which is exactly where a plain link
642
+ * would have taken them; the hop hides nothing from the reader. The
643
+ * redirector's reputation may be borrowed, but that is the
644
+ * redirector's problem, not this reader's — and the sender who chose
645
+ * the route is the proved sender, who could have linked openly.
627
646
  * 2. The redirector IS the proved sender. Google's account-security notice
628
647
  * (2026-09-02, Bob: "this is valid") links through
629
648
  * `accounts.google.com/AccountChooser?continue=https://myaccount.google.com/…`
@@ -675,16 +694,22 @@ function redirectorLink(input) {
675
694
  continue;
676
695
  if (sameOrg(target.hostname, url.hostname))
677
696
  continue; // same site, not laundering
697
+ if (senderDomain && sameOrg(target.hostname, senderDomain))
698
+ continue; // ends at the proved sender (rule 4)
678
699
  // Name the signer behind this redirector, if there is one, so the
679
700
  // viewer can offer "trust google.com as an intermediary" — and
680
701
  // only then: a redirector nobody signed for has no party to vouch
681
702
  // for, and a list entry could not clear it anyway.
682
703
  const signer = signers.find(s => sameOrg(s, url.hostname));
704
+ // Which party, and how — or why there is no party (Bob 2026-09-08).
705
+ const how = signer
706
+ ? ` ${signer} signed this message; "Trust ${signer} as an intermediary" stops this warning for links through ${signer} in mail it signs.`
707
+ : ` Nobody signed this message for ${url.hostname}, so there is no intermediary to trust; only the sender could vouch for the link.`;
683
708
  return {
684
709
  id: "redirector-link",
685
710
  severity: "caution",
686
711
  text: `A link hides where it goes: it passes through ${url.hostname} and ends at ${target.hostname}.`,
687
- detail: `${url.hostname} -> ${target.hostname}`,
712
+ detail: `${url.hostname} -> ${target.hostname}.${how}`,
688
713
  ...(signer ? { via: signer } : {}),
689
714
  };
690
715
  }
@@ -1 +1 @@
1
- {"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AA4DH,iDAAiD;AACjD,SAAS,MAAM,CAAC,KAAgC,EAAE,IAAY;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI;YAAE,SAAS;QACnD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,uCAAuC;AACvC,SAAS,SAAS,CAAC,KAAgC,EAAE,IAAY;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI;YAAE,SAAS;QACnD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACtB,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;iEAMiE;AACjE,SAAS,OAAO,CAAC,CAAS,EAAE,CAAS;IACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAuBD;;;gDAGgD;AAChD,MAAM,aAAa,GAAa;IAC5B,+BAA+B;IAC/B,kCAAkC;IAClC,oCAAoC;IACpC,UAAU;IACV,OAAO;IACP,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;CAC3C,CAAC;AAEF;;gFAEgF;AAChF,MAAM,iBAAiB,GAAa;IAChC,kCAAkC;IAClC,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,mEAAmE;IACnE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,qEAAqE;IACrE,0EAA0E;IAC1E,6CAA6C;IAC7C,0BAA0B,EAAE,SAAS,EAAE,mBAAmB;CAC7D,CAAC;AAEF;;iFAEiF;AACjF,MAAM,UAAU,GAAa;IACzB,OAAO,EAAE,SAAS,EAAE,UAAU;IAC9B,eAAe,EAAE,QAAQ;IACzB,0EAA0E;IAC1E,qEAAqE;IACrE,0EAA0E;IAC1E,+BAA+B;IAC/B,0BAA0B,EAAE,YAAY,EAAE,kBAAkB;IAC5D,wBAAwB,EAAE,oBAAoB,EAAE,aAAa;IAC7D,QAAQ,EAAE,YAAY,EAAE,cAAc;IACtC,oCAAoC,EAAE,aAAa;IACnD,iCAAiC,EAAW,gCAAgC;IAC5E,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB;IACrE,sEAAsE;IACtE,mEAAmE;IACnE,+DAA+D;IAC/D,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe;CAC9D,CAAC;AAEF;;;;;iDAKiD;AACjD,MAAM,aAAa,GAAa;IAC5B,SAAS;IACT,4CAA4C;IAC5C,iDAAiD;IACjD,UAAU,EAAE,gCAAgC;IAC5C,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe;CAC5D,CAAC;AAEF,SAAS,YAAY,CAAC,IAAY,EAAE,WAAoB;IACpD,IAAI,WAAW,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,SAAS,CAAC;IAC7D,KAAK,MAAM,EAAE,IAAI,aAAa;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;IACpE,KAAK,MAAM,EAAE,IAAI,iBAAiB;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC;IAC5E,KAAK,MAAM,EAAE,IAAI,aAAa;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;IACpE,KAAK,MAAM,EAAE,IAAI,UAAU;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;IAC9D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH;;;;kEAIkE;AAClE,SAAS,WAAW,CAAC,KAAiB;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;yEAEyE;AACzE,SAAS,kBAAkB,CAAC,KAAiB;IACzC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1G,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,IAAI;QACpB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE3F,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,YAAY,GAAG;QACjB,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAClD,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrD,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAExG,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/E,IAAI,MAAM,IAAI,UAAU;WACjB,MAAM,KAAK,UAAU;WACrB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;WAClC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7F,CAAC;AAYD;;;;;kDAKkD;AAClD,SAAS,MAAM,CAAC,KAAa;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;yCAOyC;AACzC,SAAS,eAAe,CAAC,MAAc;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkD,CAAC;IACtE,IAAI,OAAO,GAA2C,IAAI,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACpE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3B,SAAS;QACb,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;aAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC;aAC9C,IAAI,EAAE,CAAC;IAChB,OAAO,GAAG,CAAC;AACf,CAAC;AA0CD,SAAS,iBAAiB,CAAC,KAAiB;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACvE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAe,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO;YACH,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;YAChC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAC3C,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;SACxC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,MAAM,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,GAAc,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF,yEAAyE;IACzE,iEAAiE;IACjE,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,qEAAqE;IACrE,2EAA2E;IAC3E,4BAA4B;IAC5B,EAAE;IACF,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,uCAAuC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QACjD,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;YACvE,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC;IACjC,2EAA2E;IAC3E,oEAAoE;IACpE,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,yEAAyE;IACzE,kEAAkE;IAClE,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAEzF,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;YACxC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc;gBACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACvB,CAAC,CAAC,cAAc,CAAC;IAErB,uEAAuE;IACvE,8EAA8E;IAC9E,6EAA6E;IAC7E,uEAAuE;IACvE,uEAAuE;IACvE,EAAE;IACF,8DAA8D;IAC9D,iFAAiF;IACjF,EAAE;IACF,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QACjC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM;YAC/B,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE/E,MAAM,OAAO,GAAG,KAAK;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;SAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE;QACL,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;IAEP,OAAO;QACH,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI;QACtC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ;QACtC,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM;QACpE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;QACzE,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,OAAO;QACP,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACvC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;KAC9B,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;wDACwD;AACxD,SAAS,UAAU,CAAC,CAAqB;IACrC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACR,OAAO,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QACvF,KAAK,MAAM;YACP,OAAO,wBAAwB,CAAC,CAAC,YAAY,8CAA8C,CAAC;QAChG,KAAK,SAAS;YACV,OAAO,oFAAoF,CAAC;QAChG;YACI,OAAO,EAAE,CAAC;IAClB,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB;IACxC,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAElC,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,gEAAgE;IAChE,wEAAwE;IACxE,uCAAuC;IACvC,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC/E,IAAI,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACpF,uEAAuE;IACvE,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACnG,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,4CAA4C;IAC5C,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM;QAChC,CAAC,CAAC,oCAAoC,KAAK,6BAA6B,KAAK,iDAAiD,KAAK,SAAS;QAC5I,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE;QACnD,CAAC,CAAC,yBAAyB,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5F,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QACpB,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,sFAAsF;YAC5F,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBACzB,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,0CAA0C,OAAO,GAAG,GAAG,EAAE;gBAC1F,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE;SAC3B,CAAC;IAEN,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;QACrC,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS;gBAC1B,CAAC,CAAC,4FAA4F;gBAC9F,CAAC,CAAC,6CAA6C,CAAC,CAAC,YAAY,uBAAuB;YACxF,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,EAAE;SACtD,CAAC;IAEN,0EAA0E;IAC1E,mEAAmE;IACnE,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QACjB,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,QAAQ;gBACZ,CAAC,CAAC,gFAAgF;gBAClF,CAAC,CAAC,wCAAwC;YAC9C,MAAM,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,KAAK,EAAE;SACrC,CAAC;IAEN,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,MAAM;QAChC,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,iEAAiE;YACvE,MAAM,EAAE,sHAAsH,OAAO,GAAG,GAAG,EAAE;SAChJ,CAAC;IACN,OAAO;QACH,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,gEAAgE;QACtE,MAAM,EAAE,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,SAAS,EAAE;QACtD,GAAG,GAAG;KACT,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,SAAS,CAAC,KAAiB;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG;QACX,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAClD,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrD,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,0EAA0E;IAC1E,+DAA+D;IAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,YAAY,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO;YACH,EAAE,EAAE,YAAY;YAChB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,4CAA4C,IAAI,iDAAiD;YACvG,MAAM,EAAE,gDAAgD,IAAI,2FAA2F;SAC1J,CAAC;IACN,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,OAAO;QACH,EAAE,EAAE,YAAY;QAChB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,4CAA4C,IAAI,0CAA0C;QAChG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,YAAY,EAAE;KACzE,CAAC;AACN,CAAC;AAED;;6DAE6D;AAC7D,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,mBAAmB,IAAI,MAAM,GAAG,mBAAmB;YAAE,SAAS;QAC1E,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACxE,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,wGAAwG;YAC9G,MAAM,EAAE,GAAG,KAAK,IAAI,MAAM,+CAA+C,IAAI,EAAE;SAClF,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;0EAQ0E;AAC1E,SAAS,kBAAkB,CAAC,KAAiB;IACzC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/E,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAS,cAAc,CAAC,KAAiB;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;QACjE,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC9C,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC;YAAE,SAAS,CAAE,wBAAwB;QAC5F,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC;YAAE,SAAS,CAAE,6BAA6B;QACjG,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBAAC,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACjD,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAG,4BAA4B;YACpF,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAAE,SAAS,CAAE,qCAAqC;YAC5G,kEAAkE;YAClE,+DAA+D;YAC/D,kEAAkE;YAClE,mDAAmD;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,oEAAoE;YACpE,MAAM,GAAG,GAAG,MAAM;gBACd,CAAC,CAAC,IAAI,MAAM,gCAAgC,MAAM,6DAA6D,MAAM,oBAAoB;gBACzI,CAAC,CAAC,mCAAmC,GAAG,CAAC,QAAQ,mFAAmF,CAAC;YACzI,OAAO;gBACH,EAAE,EAAE,iBAAiB;gBACrB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,iDAAiD,GAAG,CAAC,QAAQ,gBAAgB,MAAM,CAAC,QAAQ,GAAG;gBACrG,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,OAAO,MAAM,CAAC,QAAQ,IAAI,GAAG,EAAE;gBACtD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IAChD,MAAM,QAAQ,GAAG;QACb,iBAAiB,CAAC,KAAK,CAAC;QACxB,SAAS,CAAC,KAAK,CAAC;QAChB,iBAAiB,CAAC,KAAK,CAAC;QACxB,oBAAoB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1C,iBAAiB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,cAAc,CAAC,KAAK,CAAC;KACxB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,sBAAsB,GAAG;IAC3B,eAAe,EAAY,yDAAyD;IACpF,wBAAwB,EAAG,wBAAwB;IACnD,WAAW;IACX,sBAAsB;CACzB,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAAiB;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC;YAAE,SAAS;QACnE,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,gEAAgE,aAAa,SAAS,UAAU,GAAG;YACzG,MAAM,EAAE,+BAA+B,OAAO,qEAAqE,IAAI,EAAE;SAC5H,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,SAAS,oBAAoB,CAAC,QAAgB;IAC1C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,0BAA0B;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO;QACH,EAAE,EAAE,wBAAwB;QAC5B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,2FAA2F;QACjG,MAAM,EAAE,GAAG,KAAK,uFAAuF;KAC1G,CAAC;AACN,CAAC;AA+CD,MAAM,UAAU,WAAW,CAAC,KAAiB;IACzC,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,OAAO;QACH,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;QACpH,OAAO,EAAE,CAAC,CAAC,OAAO;KACrB,CAAC;AACN,CAAC"}
@@ -565,6 +565,13 @@ function serverSpamVerdict(input: TrustInput): TrustFinding {
565
565
  const senderDomain = (bare(header(input.headerLines, "sender")).split("@")[1] || "").toLowerCase();
566
566
  const relay = senderDomain ? a.signers.find(s => sameOrg(s, senderDomain)) : "";
567
567
  const via = relay && !a.proved ? { via: relay } : {};
568
+ // Say WHICH party and HOW, in the finding itself (Bob 2026-09-08: "the
569
+ // banner should tell which and how"). The action's label is quoted so
570
+ // the reader can match it to the button — and to the allowlist.jsonc
571
+ // entry it writes, `trustedIntermediaries`.
572
+ const relayNote = relay && !a.proved
573
+ ? `. Sent on the author's behalf by ${relay}, which signed it; "Trust ${relay} as an intermediary" stops this note for mail ${relay} signs.`
574
+ : "";
568
575
 
569
576
  const numbers = Number.isFinite(a.score) && Number.isFinite(a.threshold)
570
577
  ? `SpamAssassin score ${a.score} of ${a.threshold}`
@@ -620,7 +627,7 @@ function serverSpamVerdict(input: TrustInput): TrustFinding {
620
627
  id: "server-spam-verdict",
621
628
  severity: "caution",
622
629
  text: "Your mail server classified this as spam before delivering it.",
623
- detail: `${proof}${numbers}${why}${bayes}`,
630
+ detail: `${proof}${numbers}${why}${bayes}${relayNote}`,
624
631
  ...via,
625
632
  };
626
633
  }
@@ -757,6 +764,18 @@ function provedSenderDomain(input: TrustInput): string {
757
764
  *
758
765
  * 1. The redirector and the destination are the same organisation. A site
759
766
  * bouncing through its own hostnames is routing, not hiding.
767
+ * 4. The link ENDS at the proved sender (2026-09-08). Microsoft 365's
768
+ * Message center mail, dmarc=pass header.from=microsoft.com with
769
+ * policy reject, links through its click-tracker
770
+ * `nam.safelink.emails.azure.net` to `admin.microsoft.com`: two
771
+ * organisations by hostname, nobody signed for azure.net, and the
772
+ * sender is not the redirector — rules 1 to 3 all miss (Bob: "another
773
+ * safe message flagged"). But the reader lands on the site of the party
774
+ * that provably sent the mail, which is exactly where a plain link
775
+ * would have taken them; the hop hides nothing from the reader. The
776
+ * redirector's reputation may be borrowed, but that is the
777
+ * redirector's problem, not this reader's — and the sender who chose
778
+ * the route is the proved sender, who could have linked openly.
760
779
  * 2. The redirector IS the proved sender. Google's account-security notice
761
780
  * (2026-09-02, Bob: "this is valid") links through
762
781
  * `accounts.google.com/AccountChooser?continue=https://myaccount.google.com/…`
@@ -793,16 +812,21 @@ function redirectorLink(input: TrustInput): TrustFinding {
793
812
  try { target = new URL(value); } catch { continue; }
794
813
  if (!/^https?:$/.test(target.protocol)) continue;
795
814
  if (sameOrg(target.hostname, url.hostname)) continue; // same site, not laundering
815
+ if (senderDomain && sameOrg(target.hostname, senderDomain)) continue; // ends at the proved sender (rule 4)
796
816
  // Name the signer behind this redirector, if there is one, so the
797
817
  // viewer can offer "trust google.com as an intermediary" — and
798
818
  // only then: a redirector nobody signed for has no party to vouch
799
819
  // for, and a list entry could not clear it anyway.
800
820
  const signer = signers.find(s => sameOrg(s, url.hostname));
821
+ // Which party, and how — or why there is no party (Bob 2026-09-08).
822
+ const how = signer
823
+ ? ` ${signer} signed this message; "Trust ${signer} as an intermediary" stops this warning for links through ${signer} in mail it signs.`
824
+ : ` Nobody signed this message for ${url.hostname}, so there is no intermediary to trust; only the sender could vouch for the link.`;
801
825
  return {
802
826
  id: "redirector-link",
803
827
  severity: "caution",
804
828
  text: `A link hides where it goes: it passes through ${url.hostname} and ends at ${target.hostname}.`,
805
- detail: `${url.hostname} -> ${target.hostname}`,
829
+ detail: `${url.hostname} -> ${target.hostname}.${how}`,
806
830
  ...(signer ? { via: signer } : {}),
807
831
  };
808
832
  }