@payloadcms/tanstack-start 4.0.0-internal.7b031c8 → 4.0.0-internal.8709764

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 (98) hide show
  1. package/dist/auth/login.d.ts +3 -16
  2. package/dist/auth/login.d.ts.map +1 -1
  3. package/dist/auth/login.js +6 -46
  4. package/dist/auth/login.js.map +1 -1
  5. package/dist/auth/logout.d.ts +2 -5
  6. package/dist/auth/logout.d.ts.map +1 -1
  7. package/dist/auth/logout.js +6 -47
  8. package/dist/auth/logout.js.map +1 -1
  9. package/dist/auth/refresh.d.ts +2 -4
  10. package/dist/auth/refresh.d.ts.map +1 -1
  11. package/dist/auth/refresh.js +6 -49
  12. package/dist/auth/refresh.js.map +1 -1
  13. package/dist/elements/RouterAdapter/index.d.ts.map +1 -1
  14. package/dist/elements/RouterAdapter/index.js +17 -3
  15. package/dist/elements/RouterAdapter/index.js.map +1 -1
  16. package/dist/exports/client.d.ts +0 -1
  17. package/dist/exports/client.d.ts.map +1 -1
  18. package/dist/exports/client.js +0 -1
  19. package/dist/exports/client.js.map +1 -1
  20. package/dist/exports/layouts.d.ts +1 -3
  21. package/dist/exports/layouts.d.ts.map +1 -1
  22. package/dist/exports/layouts.js +0 -1
  23. package/dist/exports/layouts.js.map +1 -1
  24. package/dist/exports/rsc.browser.d.ts +4 -1
  25. package/dist/exports/rsc.browser.d.ts.map +1 -1
  26. package/dist/exports/rsc.browser.js +4 -1
  27. package/dist/exports/rsc.browser.js.map +1 -1
  28. package/dist/exports/rsc.d.ts +0 -1
  29. package/dist/exports/rsc.d.ts.map +1 -1
  30. package/dist/exports/rsc.js +0 -1
  31. package/dist/exports/rsc.js.map +1 -1
  32. package/dist/exports/server.d.ts +0 -1
  33. package/dist/exports/server.d.ts.map +1 -1
  34. package/dist/exports/server.js +0 -1
  35. package/dist/exports/server.js.map +1 -1
  36. package/dist/layouts/Root/getLayoutData.d.ts +24 -2
  37. package/dist/layouts/Root/getLayoutData.d.ts.map +1 -1
  38. package/dist/layouts/Root/getLayoutData.js +6 -0
  39. package/dist/layouts/Root/getLayoutData.js.map +1 -1
  40. package/dist/routes/adminRoutes.d.ts +6 -4
  41. package/dist/routes/adminRoutes.d.ts.map +1 -1
  42. package/dist/routes/adminRoutes.js +48 -42
  43. package/dist/routes/adminRoutes.js.map +1 -1
  44. package/dist/routes/layoutRoute.d.ts.map +1 -1
  45. package/dist/routes/layoutRoute.js +1 -0
  46. package/dist/routes/layoutRoute.js.map +1 -1
  47. package/dist/utilities/getRequestLocale.d.ts.map +1 -1
  48. package/dist/utilities/getRequestLocale.js +1 -2
  49. package/dist/utilities/getRequestLocale.js.map +1 -1
  50. package/dist/utilities/handleServerFunctions.d.ts +1 -19
  51. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  52. package/dist/utilities/handleServerFunctions.js +8 -56
  53. package/dist/utilities/handleServerFunctions.js.map +1 -1
  54. package/dist/utilities/loadAdminPage.d.ts.map +1 -1
  55. package/dist/utilities/loadAdminPage.js +3 -11
  56. package/dist/utilities/loadAdminPage.js.map +1 -1
  57. package/dist/withPayload/importProtection.d.ts.map +1 -1
  58. package/dist/withPayload/importProtection.js +2 -2
  59. package/dist/withPayload/importProtection.js.map +1 -1
  60. package/dist/withPayload/workarounds/stripDistStyleImports.js +1 -1
  61. package/dist/withPayload/workarounds/stripDistStyleImports.js.map +1 -1
  62. package/package.json +5 -5
  63. package/dist/elements/DocumentHeaderClient/index.d.ts +0 -16
  64. package/dist/elements/DocumentHeaderClient/index.d.ts.map +0 -1
  65. package/dist/elements/DocumentHeaderClient/index.js +0 -116
  66. package/dist/elements/DocumentHeaderClient/index.js.map +0 -1
  67. package/dist/elements/RenderComponent/index.d.ts +0 -10
  68. package/dist/elements/RenderComponent/index.d.ts.map +0 -1
  69. package/dist/elements/RenderComponent/index.js +0 -12
  70. package/dist/elements/RenderComponent/index.js.map +0 -1
  71. package/dist/layouts/Root/index.d.ts +0 -32
  72. package/dist/layouts/Root/index.d.ts.map +0 -1
  73. package/dist/layouts/Root/index.js +0 -53
  74. package/dist/layouts/Root/index.js.map +0 -1
  75. package/dist/rsc/renderPayloadRSC.d.ts +0 -6
  76. package/dist/rsc/renderPayloadRSC.d.ts.map +0 -1
  77. package/dist/rsc/renderPayloadRSC.js +0 -6
  78. package/dist/rsc/renderPayloadRSC.js.map +0 -1
  79. package/dist/utilities/getExistingAuthToken.d.ts +0 -7
  80. package/dist/utilities/getExistingAuthToken.d.ts.map +0 -1
  81. package/dist/utilities/getExistingAuthToken.js +0 -18
  82. package/dist/utilities/getExistingAuthToken.js.map +0 -1
  83. package/dist/utilities/getPreferences.d.ts +0 -10
  84. package/dist/utilities/getPreferences.d.ts.map +0 -1
  85. package/dist/utilities/getPreferences.js +0 -33
  86. package/dist/utilities/getPreferences.js.map +0 -1
  87. package/dist/utilities/importMap.server.d.ts +0 -8
  88. package/dist/utilities/importMap.server.d.ts.map +0 -1
  89. package/dist/utilities/importMap.server.js +0 -11
  90. package/dist/utilities/importMap.server.js.map +0 -1
  91. package/dist/utilities/serverFunctionHandlers.d.ts +0 -18
  92. package/dist/utilities/serverFunctionHandlers.d.ts.map +0 -1
  93. package/dist/utilities/serverFunctionHandlers.js +0 -17
  94. package/dist/utilities/serverFunctionHandlers.js.map +0 -1
  95. package/dist/utilities/setPayloadAuthCookie.d.ts +0 -9
  96. package/dist/utilities/setPayloadAuthCookie.d.ts.map +0 -1
  97. package/dist/utilities/setPayloadAuthCookie.js +0 -31
  98. package/dist/utilities/setPayloadAuthCookie.js.map +0 -1
@@ -1,10 +0,0 @@
1
- import type { DefaultDocumentIDType, Payload } from 'payload';
2
- /**
3
- * Fetches a user's preference by key. Unlike the Next.js version, this does not
4
- * use `React.cache()` since TanStack Start has no RSC request-level memoization.
5
- */
6
- export declare function getPreferences<T>(key: string, payload: Payload, userID: DefaultDocumentIDType, userSlug: string): Promise<{
7
- id: DefaultDocumentIDType;
8
- value: T;
9
- }>;
10
- //# sourceMappingURL=getPreferences.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/getPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAE7D;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC,CA8BlD"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Fetches a user's preference by key. Unlike the Next.js version, this does not
3
- * use `React.cache()` since TanStack Start has no RSC request-level memoization.
4
- */ export async function getPreferences(key, payload, userID, userSlug) {
5
- const result = await payload.find({
6
- collection: 'payload-preferences',
7
- depth: 0,
8
- limit: 1,
9
- pagination: false,
10
- where: {
11
- and: [
12
- {
13
- key: {
14
- equals: key
15
- }
16
- },
17
- {
18
- 'user.relationTo': {
19
- equals: userSlug
20
- }
21
- },
22
- {
23
- 'user.value': {
24
- equals: userID
25
- }
26
- }
27
- ]
28
- }
29
- }).then((res)=>res.docs?.[0]);
30
- return result;
31
- }
32
-
33
- //# sourceMappingURL=getPreferences.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/getPreferences.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Payload } from 'payload'\n\n/**\n * Fetches a user's preference by key. Unlike the Next.js version, this does not\n * use `React.cache()` since TanStack Start has no RSC request-level memoization.\n */\nexport async function getPreferences<T>(\n key: string,\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n): Promise<{ id: DefaultDocumentIDType; value: T }> {\n const result = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: key,\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n .then((res) => res.docs?.[0])) as { id: DefaultDocumentIDType; value: T }\n\n return result\n}\n"],"names":["getPreferences","key","payload","userID","userSlug","result","find","collection","depth","limit","pagination","where","and","equals","then","res","docs"],"mappings":"AAEA;;;CAGC,GACD,OAAO,eAAeA,eACpBC,GAAW,EACXC,OAAgB,EAChBC,MAA6B,EAC7BC,QAAgB;IAEhB,MAAMC,SAAU,MAAMH,QACnBI,IAAI,CAAC;QACJC,YAAY;QACZC,OAAO;QACPC,OAAO;QACPC,YAAY;QACZC,OAAO;YACLC,KAAK;gBACH;oBACEX,KAAK;wBACHY,QAAQZ;oBACV;gBACF;gBACA;oBACE,mBAAmB;wBACjBY,QAAQT;oBACV;gBACF;gBACA;oBACE,cAAc;wBACZS,QAAQV;oBACV;gBACF;aACD;QACH;IACF,GACCW,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI,EAAE,CAAC,EAAE;IAE9B,OAAOX;AACT"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Returns the default output path for the generated import map file in a
3
- * TanStack Start project. Matches the `app/_payload/` convention that Payload's
4
- * import map auto-discovery probes, so the file is found without a custom
5
- * `admin.importMap.importMapFile` override.
6
- */
7
- export declare function getImportMapOutputPath(rootDir?: string): string;
8
- //# sourceMappingURL=importMap.server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"importMap.server.d.ts","sourceRoot":"","sources":["../../src/utilities/importMap.server.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -1,11 +0,0 @@
1
- import path from 'node:path';
2
- /**
3
- * Returns the default output path for the generated import map file in a
4
- * TanStack Start project. Matches the `app/_payload/` convention that Payload's
5
- * import map auto-discovery probes, so the file is found without a custom
6
- * `admin.importMap.importMapFile` override.
7
- */ export function getImportMapOutputPath(rootDir) {
8
- return path.resolve(rootDir || process.cwd(), 'app', '_payload', 'importMap.js');
9
- }
10
-
11
- //# sourceMappingURL=importMap.server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/importMap.server.ts"],"sourcesContent":["import path from 'node:path'\n\n/**\n * Returns the default output path for the generated import map file in a\n * TanStack Start project. Matches the `app/_payload/` convention that Payload's\n * import map auto-discovery probes, so the file is found without a custom\n * `admin.importMap.importMapFile` override.\n */\nexport function getImportMapOutputPath(rootDir?: string): string {\n return path.resolve(rootDir || process.cwd(), 'app', '_payload', 'importMap.js')\n}\n"],"names":["path","getImportMapOutputPath","rootDir","resolve","process","cwd"],"mappings":"AAAA,OAAOA,UAAU,YAAW;AAE5B;;;;;CAKC,GACD,OAAO,SAASC,uBAAuBC,OAAgB;IACrD,OAAOF,KAAKG,OAAO,CAACD,WAAWE,QAAQC,GAAG,IAAI,OAAO,YAAY;AACnE"}
@@ -1,18 +0,0 @@
1
- import type { ServerFunction } from 'payload';
2
- /**
3
- * Framework-agnostic server-function handlers the TanStack Start dispatcher
4
- * registers to reach parity with the Next.js adapter
5
- * (`packages/next/src/utilities/handleServerFunctions.ts`).
6
- */
7
- type SwitchLanguageArgs = {
8
- lang: string;
9
- };
10
- /**
11
- * Dispatched from `TranslationProvider` when the user switches the admin
12
- * language. Writes the `<cookiePrefix>-lng` cookie via the request's
13
- * `ServerAdapter` (wired up in `initReq`) so the next render — triggered by
14
- * the provider's `router.refresh()` — reads the new language.
15
- */
16
- export declare const switchLanguageHandler: ServerFunction<SwitchLanguageArgs, Promise<void>>;
17
- export {};
18
- //# sourceMappingURL=serverFunctionHandlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverFunctionHandlers.d.ts","sourceRoot":"","sources":["../../src/utilities/serverFunctionHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C;;;;GAIG;AAEH,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,CAcnF,CAAA"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Dispatched from `TranslationProvider` when the user switches the admin
3
- * language. Writes the `<cookiePrefix>-lng` cookie via the request's
4
- * `ServerAdapter` (wired up in `initReq`) so the next render — triggered by
5
- * the provider's `router.refresh()` — reads the new language.
6
- */ export const switchLanguageHandler = async ({ lang, req })=>{
7
- if (!req.server) {
8
- throw new Error('switch-language requires a ServerAdapter on the request');
9
- }
10
- const cookieName = `${req.payload.config.cookiePrefix || 'payload'}-lng`;
11
- await req.server.setCookie(cookieName, lang, {
12
- maxAge: 60 * 60 * 24 * 365,
13
- path: '/'
14
- });
15
- };
16
-
17
- //# sourceMappingURL=serverFunctionHandlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/serverFunctionHandlers.ts"],"sourcesContent":["import type { ServerFunction } from 'payload'\n\n/**\n * Framework-agnostic server-function handlers the TanStack Start dispatcher\n * registers to reach parity with the Next.js adapter\n * (`packages/next/src/utilities/handleServerFunctions.ts`).\n */\n\ntype SwitchLanguageArgs = {\n lang: string\n}\n\n/**\n * Dispatched from `TranslationProvider` when the user switches the admin\n * language. Writes the `<cookiePrefix>-lng` cookie via the request's\n * `ServerAdapter` (wired up in `initReq`) so the next render — triggered by\n * the provider's `router.refresh()` — reads the new language.\n */\nexport const switchLanguageHandler: ServerFunction<SwitchLanguageArgs, Promise<void>> = async ({\n lang,\n req,\n}) => {\n if (!req.server) {\n throw new Error('switch-language requires a ServerAdapter on the request')\n }\n\n const cookieName = `${req.payload.config.cookiePrefix || 'payload'}-lng`\n\n await req.server.setCookie(cookieName, lang, {\n maxAge: 60 * 60 * 24 * 365,\n path: '/',\n })\n}\n"],"names":["switchLanguageHandler","lang","req","server","Error","cookieName","payload","config","cookiePrefix","setCookie","maxAge","path"],"mappings":"AAYA;;;;;CAKC,GACD,OAAO,MAAMA,wBAA2E,OAAO,EAC7FC,IAAI,EACJC,GAAG,EACJ;IACC,IAAI,CAACA,IAAIC,MAAM,EAAE;QACf,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,aAAa,GAAGH,IAAII,OAAO,CAACC,MAAM,CAACC,YAAY,IAAI,UAAU,IAAI,CAAC;IAExE,MAAMN,IAAIC,MAAM,CAACM,SAAS,CAACJ,YAAYJ,MAAM;QAC3CS,QAAQ,KAAK,KAAK,KAAK;QACvBC,MAAM;IACR;AACF,EAAC"}
@@ -1,9 +0,0 @@
1
- import type { Auth } from 'payload';
2
- type SetPayloadAuthCookieArgs = {
3
- authConfig: Auth;
4
- cookiePrefix: string;
5
- token: string;
6
- };
7
- export declare function setPayloadAuthCookie({ authConfig, cookiePrefix, token, }: SetPayloadAuthCookieArgs): void;
8
- export {};
9
- //# sourceMappingURL=setPayloadAuthCookie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setPayloadAuthCookie.d.ts","sourceRoot":"","sources":["../../src/utilities/setPayloadAuthCookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAKnC,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,IAAI,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,YAAY,EACZ,KAAK,GACN,EAAE,wBAAwB,GAAG,IAAI,CAoCjC"}
@@ -1,31 +0,0 @@
1
- import { setResponseHeader } from '@tanstack/react-start/server';
2
- import { generatePayloadCookie } from 'payload';
3
- export function setPayloadAuthCookie({ authConfig, cookiePrefix, token }) {
4
- const cookieExpiration = authConfig.tokenExpiration ? new Date(Date.now() + authConfig.tokenExpiration) : undefined;
5
- const payloadCookie = generatePayloadCookie({
6
- collectionAuthConfig: authConfig,
7
- cookiePrefix,
8
- expires: cookieExpiration,
9
- returnCookieAsObject: true,
10
- token
11
- });
12
- if (payloadCookie.value) {
13
- const sameSite = typeof authConfig.cookies.sameSite === 'string' ? authConfig.cookies.sameSite : 'Lax';
14
- let cookie = `${encodeURIComponent(payloadCookie.name)}=${encodeURIComponent(payloadCookie.value)}`;
15
- cookie += '; HttpOnly';
16
- cookie += `; SameSite=${sameSite}`;
17
- cookie += '; Path=/';
18
- if (authConfig.cookies.secure) {
19
- cookie += '; Secure';
20
- }
21
- if (authConfig.cookies.domain) {
22
- cookie += `; Domain=${authConfig.cookies.domain}`;
23
- }
24
- if (payloadCookie.expires) {
25
- cookie += `; Expires=${new Date(payloadCookie.expires).toUTCString()}`;
26
- }
27
- setResponseHeader('Set-Cookie', cookie);
28
- }
29
- }
30
-
31
- //# sourceMappingURL=setPayloadAuthCookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/setPayloadAuthCookie.ts"],"sourcesContent":["import type { Auth } from 'payload'\n\nimport { setResponseHeader } from '@tanstack/react-start/server'\nimport { generatePayloadCookie } from 'payload'\n\ntype SetPayloadAuthCookieArgs = {\n authConfig: Auth\n cookiePrefix: string\n token: string\n}\n\nexport function setPayloadAuthCookie({\n authConfig,\n cookiePrefix,\n token,\n}: SetPayloadAuthCookieArgs): void {\n const cookieExpiration = authConfig.tokenExpiration\n ? new Date(Date.now() + authConfig.tokenExpiration)\n : undefined\n\n const payloadCookie = generatePayloadCookie({\n collectionAuthConfig: authConfig,\n cookiePrefix,\n expires: cookieExpiration,\n returnCookieAsObject: true,\n token,\n })\n\n if (payloadCookie.value) {\n const sameSite =\n typeof authConfig.cookies.sameSite === 'string' ? authConfig.cookies.sameSite : 'Lax'\n\n let cookie = `${encodeURIComponent(payloadCookie.name)}=${encodeURIComponent(payloadCookie.value)}`\n cookie += '; HttpOnly'\n cookie += `; SameSite=${sameSite}`\n cookie += '; Path=/'\n\n if (authConfig.cookies.secure) {\n cookie += '; Secure'\n }\n\n if (authConfig.cookies.domain) {\n cookie += `; Domain=${authConfig.cookies.domain}`\n }\n\n if (payloadCookie.expires) {\n cookie += `; Expires=${new Date(payloadCookie.expires).toUTCString()}`\n }\n\n setResponseHeader('Set-Cookie', cookie)\n }\n}\n"],"names":["setResponseHeader","generatePayloadCookie","setPayloadAuthCookie","authConfig","cookiePrefix","token","cookieExpiration","tokenExpiration","Date","now","undefined","payloadCookie","collectionAuthConfig","expires","returnCookieAsObject","value","sameSite","cookies","cookie","encodeURIComponent","name","secure","domain","toUTCString"],"mappings":"AAEA,SAASA,iBAAiB,QAAQ,+BAA8B;AAChE,SAASC,qBAAqB,QAAQ,UAAS;AAQ/C,OAAO,SAASC,qBAAqB,EACnCC,UAAU,EACVC,YAAY,EACZC,KAAK,EACoB;IACzB,MAAMC,mBAAmBH,WAAWI,eAAe,GAC/C,IAAIC,KAAKA,KAAKC,GAAG,KAAKN,WAAWI,eAAe,IAChDG;IAEJ,MAAMC,gBAAgBV,sBAAsB;QAC1CW,sBAAsBT;QACtBC;QACAS,SAASP;QACTQ,sBAAsB;QACtBT;IACF;IAEA,IAAIM,cAAcI,KAAK,EAAE;QACvB,MAAMC,WACJ,OAAOb,WAAWc,OAAO,CAACD,QAAQ,KAAK,WAAWb,WAAWc,OAAO,CAACD,QAAQ,GAAG;QAElF,IAAIE,SAAS,GAAGC,mBAAmBR,cAAcS,IAAI,EAAE,CAAC,EAAED,mBAAmBR,cAAcI,KAAK,GAAG;QACnGG,UAAU;QACVA,UAAU,CAAC,WAAW,EAAEF,UAAU;QAClCE,UAAU;QAEV,IAAIf,WAAWc,OAAO,CAACI,MAAM,EAAE;YAC7BH,UAAU;QACZ;QAEA,IAAIf,WAAWc,OAAO,CAACK,MAAM,EAAE;YAC7BJ,UAAU,CAAC,SAAS,EAAEf,WAAWc,OAAO,CAACK,MAAM,EAAE;QACnD;QAEA,IAAIX,cAAcE,OAAO,EAAE;YACzBK,UAAU,CAAC,UAAU,EAAE,IAAIV,KAAKG,cAAcE,OAAO,EAAEU,WAAW,IAAI;QACxE;QAEAvB,kBAAkB,cAAckB;IAClC;AACF"}