@arcblock/did-connect-service 4.1.41 → 4.1.43

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.
Files changed (69) hide show
  1. package/dist/_generated/asset-bytes.js +1 -1
  2. package/dist/_generated/asset-manifest.js +2 -2
  3. package/dist/app-identity.d.ts +83 -11
  4. package/dist/app-identity.d.ts.map +1 -1
  5. package/dist/app-identity.js +108 -20
  6. package/dist/app-identity.js.map +1 -1
  7. package/dist/assets/{admin-extra.c7a0720f.js → admin-extra.da2c9785.js} +164 -10
  8. package/dist/assets/{admin.ab0009f2.css → admin.d99b416e.css} +23 -0
  9. package/dist/blocklet-service.d.ts +7 -0
  10. package/dist/blocklet-service.d.ts.map +1 -1
  11. package/dist/blocklet-service.js +17 -1
  12. package/dist/blocklet-service.js.map +1 -1
  13. package/dist/branding-sources.d.ts +60 -0
  14. package/dist/branding-sources.d.ts.map +1 -0
  15. package/dist/branding-sources.js +55 -0
  16. package/dist/branding-sources.js.map +1 -0
  17. package/dist/embedded.d.ts +11 -0
  18. package/dist/embedded.d.ts.map +1 -1
  19. package/dist/embedded.js +42 -32
  20. package/dist/embedded.js.map +1 -1
  21. package/dist/handlers/auth-handler.d.ts +18 -0
  22. package/dist/handlers/auth-handler.d.ts.map +1 -1
  23. package/dist/handlers/auth-handler.js +5 -0
  24. package/dist/handlers/auth-handler.js.map +1 -1
  25. package/dist/handlers/blocklet-js-handler.d.ts.map +1 -1
  26. package/dist/handlers/blocklet-js-handler.js +30 -18
  27. package/dist/handlers/blocklet-js-handler.js.map +1 -1
  28. package/dist/handlers/branding-handler.d.ts +67 -0
  29. package/dist/handlers/branding-handler.d.ts.map +1 -1
  30. package/dist/handlers/branding-handler.js +146 -97
  31. package/dist/handlers/branding-handler.js.map +1 -1
  32. package/dist/http/security-headers.d.ts +38 -0
  33. package/dist/http/security-headers.d.ts.map +1 -0
  34. package/dist/http/security-headers.js +67 -0
  35. package/dist/http/security-headers.js.map +1 -0
  36. package/dist/index.d.ts +4 -3
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/locale.d.ts +4 -1
  41. package/dist/locale.d.ts.map +1 -1
  42. package/dist/locale.js +11 -5
  43. package/dist/locale.js.map +1 -1
  44. package/dist/logo-paths.d.ts +23 -0
  45. package/dist/logo-paths.d.ts.map +1 -1
  46. package/dist/logo-paths.js +57 -2
  47. package/dist/logo-paths.js.map +1 -1
  48. package/dist/package-branding.d.ts +95 -0
  49. package/dist/package-branding.d.ts.map +1 -1
  50. package/dist/package-branding.js +85 -4
  51. package/dist/package-branding.js.map +1 -1
  52. package/dist/pages/admin/i18n.d.ts.map +1 -1
  53. package/dist/pages/admin/i18n.js +32 -0
  54. package/dist/pages/admin/i18n.js.map +1 -1
  55. package/dist/pages/admin/index.d.ts.map +1 -1
  56. package/dist/pages/admin/index.js +44 -13
  57. package/dist/pages/admin/index.js.map +1 -1
  58. package/dist/pages/admin/styles.d.ts +1 -1
  59. package/dist/pages/admin/styles.d.ts.map +1 -1
  60. package/dist/pages/admin/styles.js +23 -0
  61. package/dist/pages/admin/styles.js.map +1 -1
  62. package/dist/pages/admin/tab-branding.d.ts.map +1 -1
  63. package/dist/pages/admin/tab-branding.js +180 -15
  64. package/dist/pages/admin/tab-branding.js.map +1 -1
  65. package/dist/theme-utils.d.ts +41 -0
  66. package/dist/theme-utils.d.ts.map +1 -1
  67. package/dist/theme-utils.js +124 -0
  68. package/dist/theme-utils.js.map +1 -1
  69. package/package.json +3 -3
@@ -6,7 +6,7 @@ export default {
6
6
  "header.js": "header.8703ab26.js",
7
7
  "login.css": "login.fa75e481.css",
8
8
  "design.css": "design.99dc4ddc.css",
9
- "admin.css": "admin.ab0009f2.css",
9
+ "admin.css": "admin.d99b416e.css",
10
10
  "admin-core.js": "admin-core.d42d34ce.js",
11
- "admin-extra.js": "admin-extra.c7a0720f.js"
11
+ "admin-extra.js": "admin-extra.da2c9785.js"
12
12
  };
@@ -8,15 +8,20 @@
8
8
  * OG text), `BlockletJsHandler` (`__blocklet__.js`), the login page, the homepage and
9
9
  * the access-key page name.
10
10
  *
11
- * Layers, highest first (no new layer is introduced here — this is convergence only):
11
+ * Layers, highest first:
12
12
  *
13
13
  * name instance app:branding.name → instance legacy app:name → package name
14
14
  * → deployment name → built-in default
15
15
  * description instance app:branding.description (any string, "" included)
16
16
  * → package description → absent
17
17
  * icon instance app:branding.icon
18
- * logos instance app:logos.<type> (R2 key)
19
- * theme instance app:theme, deep-merged over the built-in palettes
18
+ * logos instance app:logos.<slot> (R2 key) → package logo (square slot, `v` only;
19
+ * every type whose fallback chain reaches `square` follows it)
20
+ * → fallback-scope app:logos.<slot>
21
+ * theme instance app:theme → package palette → fallback-scope app:theme → default;
22
+ * each deep-merged over the built-in palettes by formatThemeForOutput
23
+ * passportColor instance app:branding.passportColor → package passportColor
24
+ * → fallback-scope app:branding.passportColor → absent
20
25
  *
21
26
  * connect-service never reads the app package itself (arc#7073 red line 1): the
22
27
  * package layer only ever arrives as host-supplied {@link PackageBranding}, and it is
@@ -35,9 +40,26 @@
35
40
  * package layer. With no asserted instance (a root / control-plane request), the
36
41
  * construction rows ARE the instance's own and are labelled `"instance"`.
37
42
  *
38
- * Precedence note for S5: fallback-scope rows currently OUTRANK the package layer
39
- * (they sit where instance rows sit, only relabelled) — byte-identical to today. S5
40
- * must decide explicitly whether the order becomes own instance > package > fallback.
43
+ * ## Precedence decision (S5): own instance > package > fallback > default
44
+ *
45
+ * For the layers S5/S8 add — logos, theme, passportColor — a fallback-scope row (the
46
+ * deployment's root instance standing in for an app that has no row of its own) ranks
47
+ * BELOW the package layer. A stand-in row describes a different app; the package is the
48
+ * app's own declaration, so it must win (this is the arc-side lesson above). Only the
49
+ * app's OWN instance rows outrank the package (R3: the operator's override wins, and
50
+ * clearing it falls back to the package).
51
+ *
52
+ * - Logos are resolved per slot: own slot > package slot > fallback slot. The package
53
+ * fills only `square`, so a fallback `rect` / `favicon` / splash row is still used
54
+ * for its own slot; variant/chain semantics on derived surfaces belong to S7.
55
+ * - Theme is one unit: an own configured theme replaces the package palette entirely
56
+ * (no merging of the two); a fallback theme is used only when the package has none.
57
+ * - The package layer never changes output where it is absent: without a package
58
+ * logo/theme/passportColor every surface is byte-identical to S4 (baseline).
59
+ *
60
+ * name / description KEEP S4's order (fallback rows > package): changing it would change
61
+ * existing output on configured deployments, which S5 does not do. Aligning them is a
62
+ * separate, explicit decision.
41
63
  *
42
64
  * ## Which layers a surface honors is the caller's input, not a flag
43
65
  *
@@ -56,10 +78,9 @@
56
78
  * package / deployment / default layers for name and description.
57
79
  * - The scope (which instance's rows are read) stays where it is today at each call
58
80
  * site; see `readInstanceIdentityRows`.
59
- * - Logos and theme are also taken from `inherited` for any slot the request-scope rows
60
- * do not configure, so a later layer (package logos in S5, palette in S8) is added
61
- * once, in the build-time identity. Today the build-time identity carries no logos or
62
- * theme, so this is byte-identical.
81
+ * - The package logo / palette / passportColor (S5, S8) enter once, in the build-time
82
+ * identity, and reach per-request surfaces through `inherited`, ranked as described
83
+ * under "Precedence decision" below.
63
84
  */
64
85
  import { type AppInfo, type PackageBranding } from "./package-branding.js";
65
86
  export type Origin = "instance" | "package" | "deployment" | "default";
@@ -128,16 +149,38 @@ export interface AppIdentity {
128
149
  value?: string;
129
150
  from: Origin;
130
151
  };
131
- /** Configured slots. `key` is the R2 key for instance slots; later layers may omit it. */
152
+ /**
153
+ * Configured slots. `key` is the R2 key for instance / fallback slots. A package slot
154
+ * carries no key (connect-service has no package bytes) but `v`, the package logo's
155
+ * 16-char content fingerprint.
156
+ */
132
157
  logos: Partial<Record<LogoType, {
133
158
  from: Origin;
134
159
  key?: string;
160
+ v?: string;
135
161
  }>>;
136
162
  /** `app:logos.blurhash`, passed through as stored. */
137
163
  blurhash?: {
138
164
  value: unknown;
139
165
  from: Origin;
140
166
  };
167
+ /**
168
+ * The passport / brand color (`__blocklet__.js` passportColor, OG gradient). Instance
169
+ * and fallback values pass through as stored; the package value is `#rrggbb`.
170
+ */
171
+ passportColor?: {
172
+ value: unknown;
173
+ from: Origin;
174
+ };
175
+ /**
176
+ * The package layer (logo / palette / passportColor) as the host supplied it, carried
177
+ * SEPARATELY from the resolved fields above. A build-time identity may resolve a field
178
+ * from the instance (e.g. CF `buildHandler` reads app:branding, so its passportColor
179
+ * is the instance's); per-request resolution reads the package layer from here, so
180
+ * clearing the instance value falls back to the package rather than to the default.
181
+ * Absent when the package supplies none of them.
182
+ */
183
+ packageLayer?: PackageLayer;
141
184
  theme: {
142
185
  /** `formatThemeForOutput` of the stored theme (`{}` when none). */
143
186
  value: any;
@@ -151,6 +194,14 @@ export interface AppIdentity {
151
194
  from: Origin;
152
195
  };
153
196
  }
197
+ export interface PackageLayer {
198
+ logo?: {
199
+ v: string;
200
+ };
201
+ /** `formatPackageThemeForOutput` of the package palette. */
202
+ theme?: any;
203
+ passportColor?: string;
204
+ }
154
205
  /** A stored JSON object row, or `{}` for absent / malformed / non-object rows. */
155
206
  export declare function parseSettingObject(raw: string | null | undefined): Record<string, any>;
156
207
  export declare function resolveAppIdentity(input: AppIdentityInput): AppIdentity;
@@ -200,6 +251,27 @@ export declare function resolveLogoSlot(identity: AppIdentity, type: string): {
200
251
  from: Origin;
201
252
  key?: string;
202
253
  } | null;
254
+ /**
255
+ * Whether a derived surface (`__blocklet__.js`) advertises `type`'s own URL (did#248).
256
+ *
257
+ * On when `type`'s fallback chain resolves to a slot that is either `type` itself
258
+ * (configured on the instance / fallback scope, or the package's `square`), or the
259
+ * package logo reached through the chain — arc serves the package bytes on every path
260
+ * whose chain reaches it (arc#7077). A D1 slot reached only THROUGH the chain does not
261
+ * turn a variant on: that is today's output for D1-configured apps, locked by the S1
262
+ * baseline (`logoSquare` combo), and this rule leaves it unchanged. Splash / og-image
263
+ * chains never reach `square`, so a package-only app leaves them off.
264
+ */
265
+ export declare function advertisesLogoSlot(identity: AppIdentity, type: string): boolean;
266
+ /**
267
+ * The 16-char content fingerprint of a resolved logo slot: the R2 key's last segment
268
+ * truncated to 16 (an instance / fallback upload), else the package logo's `v` (already
269
+ * 16 chars, arc#7073 red line 4). One length, one lineage — OG cache keys use it.
270
+ */
271
+ export declare function logoFingerprint(entry: {
272
+ key?: string;
273
+ v?: string;
274
+ } | undefined): string | undefined;
203
275
  /** `resolveAppInfo`'s historical signature, now a view over {@link resolveAppIdentity}. */
204
276
  export declare function resolveAppInfo(params: {
205
277
  brandingRaw: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"app-identity.d.ts","sourceRoot":"","sources":["../src/app-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-identity.d.ts","sourceRoot":"","sources":["../src/app-identity.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,20 @@
8
8
  * OG text), `BlockletJsHandler` (`__blocklet__.js`), the login page, the homepage and
9
9
  * the access-key page name.
10
10
  *
11
- * Layers, highest first (no new layer is introduced here — this is convergence only):
11
+ * Layers, highest first:
12
12
  *
13
13
  * name instance app:branding.name → instance legacy app:name → package name
14
14
  * → deployment name → built-in default
15
15
  * description instance app:branding.description (any string, "" included)
16
16
  * → package description → absent
17
17
  * icon instance app:branding.icon
18
- * logos instance app:logos.<type> (R2 key)
19
- * theme instance app:theme, deep-merged over the built-in palettes
18
+ * logos instance app:logos.<slot> (R2 key) → package logo (square slot, `v` only;
19
+ * every type whose fallback chain reaches `square` follows it)
20
+ * → fallback-scope app:logos.<slot>
21
+ * theme instance app:theme → package palette → fallback-scope app:theme → default;
22
+ * each deep-merged over the built-in palettes by formatThemeForOutput
23
+ * passportColor instance app:branding.passportColor → package passportColor
24
+ * → fallback-scope app:branding.passportColor → absent
20
25
  *
21
26
  * connect-service never reads the app package itself (arc#7073 red line 1): the
22
27
  * package layer only ever arrives as host-supplied {@link PackageBranding}, and it is
@@ -35,9 +40,26 @@
35
40
  * package layer. With no asserted instance (a root / control-plane request), the
36
41
  * construction rows ARE the instance's own and are labelled `"instance"`.
37
42
  *
38
- * Precedence note for S5: fallback-scope rows currently OUTRANK the package layer
39
- * (they sit where instance rows sit, only relabelled) — byte-identical to today. S5
40
- * must decide explicitly whether the order becomes own instance > package > fallback.
43
+ * ## Precedence decision (S5): own instance > package > fallback > default
44
+ *
45
+ * For the layers S5/S8 add — logos, theme, passportColor — a fallback-scope row (the
46
+ * deployment's root instance standing in for an app that has no row of its own) ranks
47
+ * BELOW the package layer. A stand-in row describes a different app; the package is the
48
+ * app's own declaration, so it must win (this is the arc-side lesson above). Only the
49
+ * app's OWN instance rows outrank the package (R3: the operator's override wins, and
50
+ * clearing it falls back to the package).
51
+ *
52
+ * - Logos are resolved per slot: own slot > package slot > fallback slot. The package
53
+ * fills only `square`, so a fallback `rect` / `favicon` / splash row is still used
54
+ * for its own slot; variant/chain semantics on derived surfaces belong to S7.
55
+ * - Theme is one unit: an own configured theme replaces the package palette entirely
56
+ * (no merging of the two); a fallback theme is used only when the package has none.
57
+ * - The package layer never changes output where it is absent: without a package
58
+ * logo/theme/passportColor every surface is byte-identical to S4 (baseline).
59
+ *
60
+ * name / description KEEP S4's order (fallback rows > package): changing it would change
61
+ * existing output on configured deployments, which S5 does not do. Aligning them is a
62
+ * separate, explicit decision.
41
63
  *
42
64
  * ## Which layers a surface honors is the caller's input, not a flag
43
65
  *
@@ -56,13 +78,12 @@
56
78
  * package / deployment / default layers for name and description.
57
79
  * - The scope (which instance's rows are read) stays where it is today at each call
58
80
  * site; see `readInstanceIdentityRows`.
59
- * - Logos and theme are also taken from `inherited` for any slot the request-scope rows
60
- * do not configure, so a later layer (package logos in S5, palette in S8) is added
61
- * once, in the build-time identity. Today the build-time identity carries no logos or
62
- * theme, so this is byte-identical.
81
+ * - The package logo / palette / passportColor (S5, S8) enter once, in the build-time
82
+ * identity, and reach per-request surfaces through `inherited`, ranked as described
83
+ * under "Precedence decision" below.
63
84
  */
64
85
  import { packageBrandingCacheToken, sanitizePackageBranding, } from "./package-branding.js";
65
- import { formatThemeForOutput } from "./theme-utils.js";
86
+ import { formatPackageThemeForOutput, formatThemeForOutput } from "./theme-utils.js";
66
87
  /** Logo slots (`app:logos.<type>` = R2 key on the instance layer). */
67
88
  export const LOGO_TYPES = [
68
89
  "square",
@@ -86,6 +107,16 @@ export const IDENTITY_SETTING_KEYS = {
86
107
  logos: "app:logos",
87
108
  theme: "app:theme",
88
109
  };
110
+ function packageLayerOf(branding) {
111
+ if (!branding)
112
+ return undefined;
113
+ const layer = {
114
+ ...(branding.logo ? { logo: { v: branding.logo.v } } : {}),
115
+ ...(branding.theme ? { theme: formatPackageThemeForOutput(branding.theme) } : {}),
116
+ ...(branding.passportColor ? { passportColor: branding.passportColor } : {}),
117
+ };
118
+ return Object.keys(layer).length > 0 ? layer : undefined;
119
+ }
89
120
  // ─── Parsing ──────────────────────────────────────────────────────────────
90
121
  function parseJson(raw) {
91
122
  if (!raw)
@@ -140,6 +171,9 @@ export function resolveAppIdentity(input) {
140
171
  const instanceFrom = rows.scope === "fallback" ? "deployment" : "instance";
141
172
  const inherited = input.inherited;
142
173
  const packageBranding = inherited ? undefined : sanitizePackageBranding(input.packageBranding);
174
+ const isFallback = rows.scope === "fallback";
175
+ // The package layer: from the host's branding, or carried by the inherited identity.
176
+ const pkg = inherited ? inherited.packageLayer : packageLayerOf(packageBranding);
143
177
  const branding = parseSettingObject(rows.branding);
144
178
  const logosRow = parseSettingObject(rows.logos);
145
179
  // name
@@ -177,12 +211,18 @@ export function resolveAppIdentity(input) {
177
211
  : inherited
178
212
  ? { ...inherited.icon }
179
213
  : { from: "default" };
180
- // logos
214
+ // logos — per slot: own instance > package > fallback row > inherited
215
+ const packageSlot = (type) => type === "square" && pkg?.logo ? { from: "package", v: pkg.logo.v } : undefined;
181
216
  const logos = {};
182
217
  for (const type of LOGO_TYPES) {
183
218
  const key = nonEmptyString(logosRow[type]);
184
- if (key !== undefined)
185
- logos[type] = { from: instanceFrom, key };
219
+ const fromPackage = packageSlot(type);
220
+ if (key !== undefined && !isFallback)
221
+ logos[type] = { from: "instance", key };
222
+ else if (fromPackage)
223
+ logos[type] = fromPackage;
224
+ else if (key !== undefined)
225
+ logos[type] = { from: "deployment", key };
186
226
  else if (inherited?.logos[type])
187
227
  logos[type] = { ...inherited.logos[type] };
188
228
  }
@@ -204,12 +244,33 @@ export function resolveAppIdentity(input) {
204
244
  ...(themeObject && declaredPrefer(themeObject) !== undefined ? { prefer: declaredPrefer(themeObject) } : {}),
205
245
  from: themeObject && themeIsConfigured(themeObject) ? instanceFrom : "default",
206
246
  };
207
- // An inherited NON-default theme (a later layer) fills in when the request-scope row
208
- // configures none. A default inherited theme never replaces the computed one, so
209
- // bytes stay exactly what the row alone produces today.
210
- const theme = ownTheme.from === "default" && inherited && inherited.theme.from !== "default"
211
- ? { ...inherited.theme }
212
- : ownTheme;
247
+ // Package palette (formatPackageThemeForOutput: completed from the defaults, with the
248
+ // derived shades of overridden groups left for MUI to compute).
249
+ const packageTheme = pkg?.theme ? { value: pkg.theme, from: "package" } : undefined;
250
+ // own instance > package > fallback row > inherited non-default > default. A default
251
+ // inherited theme never replaces the computed one, so without a package layer the
252
+ // bytes stay exactly what the row alone produces (S4).
253
+ let theme;
254
+ if (ownTheme.from === "instance")
255
+ theme = ownTheme;
256
+ else if (packageTheme)
257
+ theme = packageTheme;
258
+ else if (ownTheme.from === "deployment")
259
+ theme = ownTheme;
260
+ else if (inherited && inherited.theme.from !== "default")
261
+ theme = { ...inherited.theme };
262
+ else
263
+ theme = ownTheme;
264
+ // passportColor — own instance > package > fallback row. Nothing but the package
265
+ // layer is taken from `inherited`: a build-time instance value would be a stale copy
266
+ // of the row this request re-reads.
267
+ const rowPassportColor = branding.passportColor || undefined;
268
+ const packagePassportColor = pkg?.passportColor
269
+ ? { value: pkg.passportColor, from: "package" }
270
+ : undefined;
271
+ const passportColor = rowPassportColor !== undefined && !isFallback
272
+ ? { value: rowPassportColor, from: "instance" }
273
+ : packagePassportColor ?? (rowPassportColor !== undefined ? { value: rowPassportColor, from: "deployment" } : undefined);
213
274
  const etag = fingerprint([
214
275
  rows.branding ?? null,
215
276
  rows.legacyName ?? null,
@@ -228,6 +289,8 @@ export function resolveAppIdentity(input) {
228
289
  icon,
229
290
  logos,
230
291
  ...(blurhash ? { blurhash } : {}),
292
+ ...(passportColor ? { passportColor } : {}),
293
+ ...(pkg ? { packageLayer: pkg } : {}),
231
294
  theme,
232
295
  };
233
296
  }
@@ -332,6 +395,31 @@ export function resolveLogoSlot(identity, type) {
332
395
  }
333
396
  return null;
334
397
  }
398
+ /**
399
+ * Whether a derived surface (`__blocklet__.js`) advertises `type`'s own URL (did#248).
400
+ *
401
+ * On when `type`'s fallback chain resolves to a slot that is either `type` itself
402
+ * (configured on the instance / fallback scope, or the package's `square`), or the
403
+ * package logo reached through the chain — arc serves the package bytes on every path
404
+ * whose chain reaches it (arc#7077). A D1 slot reached only THROUGH the chain does not
405
+ * turn a variant on: that is today's output for D1-configured apps, locked by the S1
406
+ * baseline (`logoSquare` combo), and this rule leaves it unchanged. Splash / og-image
407
+ * chains never reach `square`, so a package-only app leaves them off.
408
+ */
409
+ export function advertisesLogoSlot(identity, type) {
410
+ const hit = resolveLogoSlot(identity, type);
411
+ return hit !== null && (hit.slot === type || hit.from === "package");
412
+ }
413
+ /**
414
+ * The 16-char content fingerprint of a resolved logo slot: the R2 key's last segment
415
+ * truncated to 16 (an instance / fallback upload), else the package logo's `v` (already
416
+ * 16 chars, arc#7073 red line 4). One length, one lineage — OG cache keys use it.
417
+ */
418
+ export function logoFingerprint(entry) {
419
+ if (entry?.key)
420
+ return entry.key.split("/").pop()?.slice(0, 16);
421
+ return entry?.v;
422
+ }
335
423
  /** `resolveAppInfo`'s historical signature, now a view over {@link resolveAppIdentity}. */
336
424
  export function resolveAppInfo(params) {
337
425
  return toAppInfo(resolveAppIdentity({
@@ -1 +1 @@
1
- {"version":3,"file":"app-identity.js","sourceRoot":"","sources":["../src/app-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-identity.js","sourceRoot":"","sources":["../src/app-identity.ts"],"names":[],"mappings":"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"}