@aws-amplify/core 6.19.1 → 6.19.2-rn-context-data-ef602d4-20260927061411

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.
@@ -3,5 +3,5 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.version = void 0;
5
5
  // generated by genversion
6
- exports.version = '6.22.0';
6
+ exports.version = '6.22.1-rn-context-data-ef602d4-20260927061411';
7
7
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../src/Platform/version.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\n// generated by genversion\nexports.version = '6.22.0';\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,OAAO,GAAG,MAAM;AACxB;AACA,OAAO,CAAC,OAAO,GAAG,QAAQ;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../src/Platform/version.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\n// generated by genversion\nexports.version = '6.22.1-rn-context-data-ef602d4-20260927061411';\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,OAAO,GAAG,MAAM;AACxB;AACA,OAAO,CAAC,OAAO,GAAG,+CAA+C;;"}
@@ -77,10 +77,22 @@ function createAmplifyContext(resourceConfig, libraryOptions, internalOptions) {
77
77
  const resolvedLibraryOptions = libraryOptions ?? {};
78
78
  // Fresh, per-context Auth instance (not the global singleton) so that
79
79
  // multiple contexts remain isolated from one another.
80
+ //
81
+ // `configure()` is called UNCONDITIONALLY, exactly as the pre-context
82
+ // `AmplifyClass.configure()` does (see singleton/Amplify.ts). It is the only
83
+ // place `AuthClass` stores `libraryOptions.Auth`, so gating it on the
84
+ // presence of `resourcesConfig.Auth` would silently drop caller-supplied
85
+ // token/credentials providers whenever the resource config carries no `Auth`
86
+ // block — the shape `getAmplifyDataClientConfig()` produces for IAM-authed
87
+ // Data access from a Lambda (`API.GraphQL` only, plus a custom
88
+ // `credentialsProvider`). `AuthClass.configure()` tolerates an undefined
89
+ // auth resource config.
90
+ //
91
+ // The `Auth!` assertion is deliberately false: in the very case this fixes,
92
+ // `Auth` IS undefined at runtime. It mirrors the identical assertion in the
93
+ // singleton rather than widening `AuthClass.configure()`'s parameter type.
80
94
  const auth = new Auth_1.AuthClass();
81
- if (resolvedResourceConfig.Auth) {
82
- auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);
83
- }
95
+ auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);
84
96
  const ctx = {
85
97
  // Already deep-frozen above (both parse paths).
86
98
  resourcesConfig: resolvedResourceConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"createAmplifyContext.js","sources":["../../../src/context/createAmplifyContext.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createAmplifyContext = createAmplifyContext;\nconst Auth_1 = require(\"../singleton/Auth\");\nconst deepFreeze_1 = require(\"../utils/deepFreeze\");\nconst parseAmplifyConfig_1 = require(\"../utils/parseAmplifyConfig\");\nconst contextBrand_1 = require(\"./contextBrand\");\nconst contextToken_1 = require(\"./contextToken\");\n/**\n * Creates a local, branded {@link AmplifyContext} from the given resource\n * configuration.\n *\n * Unlike `Amplify.configure()`, the returned context is **not** set as the\n * global context and no Hub events are dispatched. Category APIs that receive\n * this context (as their first positional argument) will use it instead of the\n * global one, enabling per-request context injection in server-side /\n * multi-tenant scenarios.\n *\n * The factory follows the \"factory-provider\" style: it instantiates a **fresh,\n * per-context** {@link AuthClass} (never the process-wide singleton) whose\n * `fetchAuthSession` / `clearCredentials` / `getTokens` closures back the\n * returned context's methods. The context is branded via\n * {@link AMPLIFY_CONTEXT_BRAND} and frozen so it can be recognized at runtime\n * by `isAmplifyContext()` and cannot be mutated after creation.\n *\n * @remarks\n * `@aws-amplify/core` sits at the bottom of the dependency graph and therefore\n * cannot import the Cognito token/credentials provider factories (those live in\n * the `aws-amplify` umbrella package and depend on `@aws-amplify/auth`). As a\n * result this core-level factory does **not** inject default providers: callers\n * that need auth must supply `libraryOptions.Auth.{tokenProvider,credentialsProvider}`.\n * The `aws-amplify` package wraps this factory (Phase C2) to resolve and inject\n * the default Cognito providers (SSR cookie storage vs. localStorage) before\n * delegating here.\n *\n * @param resourceConfig - Back-end resource configuration (typed config,\n * legacy `aws-exports`, or `amplify_outputs`).\n * @param libraryOptions - Optional library options (e.g. Auth token/credentials\n * providers, `ssr`).\n * @param internalOptions - Internal-only options. `skipConfigParse` lets a\n * trusted caller (the `aws-amplify` wrapper) that has *already* normalized the\n * config via `parseAmplifyConfig` opt out of a redundant re-parse. Since\n * `parseAmplifyConfig` is a no-op on an already-parsed `ResourcesConfig`, this\n * only removes duplicate work (which otherwise runs on every context creation,\n * and twice per SSR request through adapter-nextjs) — behavior is identical.\n * @returns A branded, frozen {@link AmplifyContext}.\n *\n * @example\n * ```ts\n * import { createAmplifyContext } from '@aws-amplify/core';\n *\n * const ctx = createAmplifyContext(resourcesConfig, {\n * Auth: { tokenProvider, credentialsProvider },\n * });\n * // Pass ctx explicitly to category APIs:\n * await signIn(ctx, { username, password });\n * ```\n */\nfunction createAmplifyContext(resourceConfig, libraryOptions, internalOptions) {\n // `parseAmplifyConfig` returns an already-parsed `ResourcesConfig` unchanged,\n // so skipping it when the caller has pre-parsed keeps behavior identical while\n // avoiding a redundant parse.\n //\n // The resolved config is DEEP-frozen (matching `Amplify.configure()` in\n // Amplify.ts) on BOTH paths: a shallow `Object.freeze` would leave nested\n // config (e.g. `Auth.Cognito`) mutable, and on the `skipConfigParse` path the\n // caller's object passes through by reference — potentially SHARED between\n // several per-request contexts (adapter-nextjs reuses one parsed config for\n // every request), so any nested mutation would leak across contexts.\n // `deepFreeze` is idempotent, so re-freezing that shared object is safe.\n const resolvedResourceConfig = (0, deepFreeze_1.deepFreeze)(internalOptions?.skipConfigParse\n ? resourceConfig\n : (0, parseAmplifyConfig_1.parseAmplifyConfig)(resourceConfig));\n const resolvedLibraryOptions = libraryOptions ?? {};\n // Fresh, per-context Auth instance (not the global singleton) so that\n // multiple contexts remain isolated from one another.\n const auth = new Auth_1.AuthClass();\n if (resolvedResourceConfig.Auth) {\n auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);\n }\n const ctx = {\n // Already deep-frozen above (both parse paths).\n resourcesConfig: resolvedResourceConfig,\n libraryOptions: resolvedLibraryOptions,\n // Unique, frozen per-context identity handle (see AmplifyContextToken).\n // Attached before the brand/freeze below so the frozen context carries it.\n token: (0, contextToken_1.createAmplifyContextToken)(),\n fetchAuthSession: fetchOptions => auth.fetchAuthSession(fetchOptions ?? {}),\n clearCredentials: () => auth.clearCredentials(),\n getTokens: tokenOptions => auth.getTokens(tokenOptions),\n };\n // Brand the context for runtime identification by isAmplifyContext().\n Object.defineProperty(ctx, contextBrand_1.AMPLIFY_CONTEXT_BRAND, {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n Object.freeze(ctx);\n return ctx;\n}\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,oBAAoB,GAAG,oBAAoB;AACnD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC;AACnD,MAAM,oBAAoB,GAAG,OAAO,CAAC,6BAA6B,CAAC;AACnE,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAChD,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE;AACjF,UAAU;AACV,UAAU,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;AACvE,IAAI,MAAM,sBAAsB,GAAG,cAAc,IAAI,EAAE;AACvD;AACA;AACA,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE;AACvC,IAAI,IAAI,sBAAsB,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;AAChF,IAAI;AACJ,IAAI,MAAM,GAAG,GAAG;AAChB;AACA,QAAQ,eAAe,EAAE,sBAAsB;AAC/C,QAAQ,cAAc,EAAE,sBAAsB;AAC9C;AACA;AACA,QAAQ,KAAK,EAAE,IAAI,cAAc,CAAC,yBAAyB,GAAG;AAC9D,QAAQ,gBAAgB,EAAE,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,IAAI,EAAE,CAAC;AACnF,QAAQ,gBAAgB,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE;AACvD,QAAQ,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,KAAK;AACL;AACA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,qBAAqB,EAAE;AACrE,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,QAAQ,EAAE,KAAK;AACvB,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AACtB,IAAI,OAAO,GAAG;AACd;;"}
1
+ {"version":3,"file":"createAmplifyContext.js","sources":["../../../src/context/createAmplifyContext.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createAmplifyContext = createAmplifyContext;\nconst Auth_1 = require(\"../singleton/Auth\");\nconst deepFreeze_1 = require(\"../utils/deepFreeze\");\nconst parseAmplifyConfig_1 = require(\"../utils/parseAmplifyConfig\");\nconst contextBrand_1 = require(\"./contextBrand\");\nconst contextToken_1 = require(\"./contextToken\");\n/**\n * Creates a local, branded {@link AmplifyContext} from the given resource\n * configuration.\n *\n * Unlike `Amplify.configure()`, the returned context is **not** set as the\n * global context and no Hub events are dispatched. Category APIs that receive\n * this context (as their first positional argument) will use it instead of the\n * global one, enabling per-request context injection in server-side /\n * multi-tenant scenarios.\n *\n * The factory follows the \"factory-provider\" style: it instantiates a **fresh,\n * per-context** {@link AuthClass} (never the process-wide singleton) whose\n * `fetchAuthSession` / `clearCredentials` / `getTokens` closures back the\n * returned context's methods. The context is branded via\n * {@link AMPLIFY_CONTEXT_BRAND} and frozen so it can be recognized at runtime\n * by `isAmplifyContext()` and cannot be mutated after creation.\n *\n * @remarks\n * `@aws-amplify/core` sits at the bottom of the dependency graph and therefore\n * cannot import the Cognito token/credentials provider factories (those live in\n * the `aws-amplify` umbrella package and depend on `@aws-amplify/auth`). As a\n * result this core-level factory does **not** inject default providers: callers\n * that need auth must supply `libraryOptions.Auth.{tokenProvider,credentialsProvider}`.\n * The `aws-amplify` package wraps this factory (Phase C2) to resolve and inject\n * the default Cognito providers (SSR cookie storage vs. localStorage) before\n * delegating here.\n *\n * @param resourceConfig - Back-end resource configuration (typed config,\n * legacy `aws-exports`, or `amplify_outputs`).\n * @param libraryOptions - Optional library options (e.g. Auth token/credentials\n * providers, `ssr`).\n * @param internalOptions - Internal-only options. `skipConfigParse` lets a\n * trusted caller (the `aws-amplify` wrapper) that has *already* normalized the\n * config via `parseAmplifyConfig` opt out of a redundant re-parse. Since\n * `parseAmplifyConfig` is a no-op on an already-parsed `ResourcesConfig`, this\n * only removes duplicate work (which otherwise runs on every context creation,\n * and twice per SSR request through adapter-nextjs) — behavior is identical.\n * @returns A branded, frozen {@link AmplifyContext}.\n *\n * @example\n * ```ts\n * import { createAmplifyContext } from '@aws-amplify/core';\n *\n * const ctx = createAmplifyContext(resourcesConfig, {\n * Auth: { tokenProvider, credentialsProvider },\n * });\n * // Pass ctx explicitly to category APIs:\n * await signIn(ctx, { username, password });\n * ```\n */\nfunction createAmplifyContext(resourceConfig, libraryOptions, internalOptions) {\n // `parseAmplifyConfig` returns an already-parsed `ResourcesConfig` unchanged,\n // so skipping it when the caller has pre-parsed keeps behavior identical while\n // avoiding a redundant parse.\n //\n // The resolved config is DEEP-frozen (matching `Amplify.configure()` in\n // Amplify.ts) on BOTH paths: a shallow `Object.freeze` would leave nested\n // config (e.g. `Auth.Cognito`) mutable, and on the `skipConfigParse` path the\n // caller's object passes through by reference — potentially SHARED between\n // several per-request contexts (adapter-nextjs reuses one parsed config for\n // every request), so any nested mutation would leak across contexts.\n // `deepFreeze` is idempotent, so re-freezing that shared object is safe.\n const resolvedResourceConfig = (0, deepFreeze_1.deepFreeze)(internalOptions?.skipConfigParse\n ? resourceConfig\n : (0, parseAmplifyConfig_1.parseAmplifyConfig)(resourceConfig));\n const resolvedLibraryOptions = libraryOptions ?? {};\n // Fresh, per-context Auth instance (not the global singleton) so that\n // multiple contexts remain isolated from one another.\n //\n // `configure()` is called UNCONDITIONALLY, exactly as the pre-context\n // `AmplifyClass.configure()` does (see singleton/Amplify.ts). It is the only\n // place `AuthClass` stores `libraryOptions.Auth`, so gating it on the\n // presence of `resourcesConfig.Auth` would silently drop caller-supplied\n // token/credentials providers whenever the resource config carries no `Auth`\n // block — the shape `getAmplifyDataClientConfig()` produces for IAM-authed\n // Data access from a Lambda (`API.GraphQL` only, plus a custom\n // `credentialsProvider`). `AuthClass.configure()` tolerates an undefined\n // auth resource config.\n //\n // The `Auth!` assertion is deliberately false: in the very case this fixes,\n // `Auth` IS undefined at runtime. It mirrors the identical assertion in the\n // singleton rather than widening `AuthClass.configure()`'s parameter type.\n const auth = new Auth_1.AuthClass();\n auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);\n const ctx = {\n // Already deep-frozen above (both parse paths).\n resourcesConfig: resolvedResourceConfig,\n libraryOptions: resolvedLibraryOptions,\n // Unique, frozen per-context identity handle (see AmplifyContextToken).\n // Attached before the brand/freeze below so the frozen context carries it.\n token: (0, contextToken_1.createAmplifyContextToken)(),\n fetchAuthSession: fetchOptions => auth.fetchAuthSession(fetchOptions ?? {}),\n clearCredentials: () => auth.clearCredentials(),\n getTokens: tokenOptions => auth.getTokens(tokenOptions),\n };\n // Brand the context for runtime identification by isAmplifyContext().\n Object.defineProperty(ctx, contextBrand_1.AMPLIFY_CONTEXT_BRAND, {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n Object.freeze(ctx);\n return ctx;\n}\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,oBAAoB,GAAG,oBAAoB;AACnD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC;AACnD,MAAM,oBAAoB,GAAG,OAAO,CAAC,6BAA6B,CAAC;AACnE,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAChD,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE;AACjF,UAAU;AACV,UAAU,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;AACvE,IAAI,MAAM,sBAAsB,GAAG,cAAc,IAAI,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE;AACvC,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG;AAChB;AACA,QAAQ,eAAe,EAAE,sBAAsB;AAC/C,QAAQ,cAAc,EAAE,sBAAsB;AAC9C;AACA;AACA,QAAQ,KAAK,EAAE,IAAI,cAAc,CAAC,yBAAyB,GAAG;AAC9D,QAAQ,gBAAgB,EAAE,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,IAAI,EAAE,CAAC;AACnF,QAAQ,gBAAgB,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE;AACvD,QAAQ,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,KAAK;AACL;AACA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,qBAAqB,EAAE;AACrE,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,QAAQ,EAAE,KAAK;AACvB,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AACtB,IAAI,OAAO,GAAG;AACd;;"}
@@ -1 +1 @@
1
- export declare const version = "6.22.0";
1
+ export declare const version = "6.22.1-rn-context-data-ef602d4-20260927061411";
@@ -1,5 +1,5 @@
1
1
  // generated by genversion
2
- const version = '6.22.0';
2
+ const version = '6.22.1-rn-context-data-ef602d4-20260927061411';
3
3
 
4
4
  export { version };
5
5
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../src/Platform/version.ts"],"sourcesContent":["// generated by genversion\nexport const version = '6.22.0';\n"],"names":[],"mappings":"AAAA;AACY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../src/Platform/version.ts"],"sourcesContent":["// generated by genversion\nexport const version = '6.22.1-rn-context-data-ef602d4-20260927061411';\n"],"names":[],"mappings":"AAAA;AACY,MAAC,OAAO,GAAG;;;;"}
@@ -74,10 +74,22 @@ function createAmplifyContext(resourceConfig, libraryOptions, internalOptions) {
74
74
  const resolvedLibraryOptions = libraryOptions ?? {};
75
75
  // Fresh, per-context Auth instance (not the global singleton) so that
76
76
  // multiple contexts remain isolated from one another.
77
+ //
78
+ // `configure()` is called UNCONDITIONALLY, exactly as the pre-context
79
+ // `AmplifyClass.configure()` does (see singleton/Amplify.ts). It is the only
80
+ // place `AuthClass` stores `libraryOptions.Auth`, so gating it on the
81
+ // presence of `resourcesConfig.Auth` would silently drop caller-supplied
82
+ // token/credentials providers whenever the resource config carries no `Auth`
83
+ // block — the shape `getAmplifyDataClientConfig()` produces for IAM-authed
84
+ // Data access from a Lambda (`API.GraphQL` only, plus a custom
85
+ // `credentialsProvider`). `AuthClass.configure()` tolerates an undefined
86
+ // auth resource config.
87
+ //
88
+ // The `Auth!` assertion is deliberately false: in the very case this fixes,
89
+ // `Auth` IS undefined at runtime. It mirrors the identical assertion in the
90
+ // singleton rather than widening `AuthClass.configure()`'s parameter type.
77
91
  const auth = new AuthClass();
78
- if (resolvedResourceConfig.Auth) {
79
- auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);
80
- }
92
+ auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);
81
93
  const ctx = {
82
94
  // Already deep-frozen above (both parse paths).
83
95
  resourcesConfig: resolvedResourceConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"createAmplifyContext.mjs","sources":["../../../src/context/createAmplifyContext.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthClass } from '../singleton/Auth';\nimport { deepFreeze } from '../utils/deepFreeze';\nimport { parseAmplifyConfig } from '../utils/parseAmplifyConfig';\nimport { AMPLIFY_CONTEXT_BRAND } from './contextBrand';\nimport { createAmplifyContextToken } from './contextToken';\n/**\n * Creates a local, branded {@link AmplifyContext} from the given resource\n * configuration.\n *\n * Unlike `Amplify.configure()`, the returned context is **not** set as the\n * global context and no Hub events are dispatched. Category APIs that receive\n * this context (as their first positional argument) will use it instead of the\n * global one, enabling per-request context injection in server-side /\n * multi-tenant scenarios.\n *\n * The factory follows the \"factory-provider\" style: it instantiates a **fresh,\n * per-context** {@link AuthClass} (never the process-wide singleton) whose\n * `fetchAuthSession` / `clearCredentials` / `getTokens` closures back the\n * returned context's methods. The context is branded via\n * {@link AMPLIFY_CONTEXT_BRAND} and frozen so it can be recognized at runtime\n * by `isAmplifyContext()` and cannot be mutated after creation.\n *\n * @remarks\n * `@aws-amplify/core` sits at the bottom of the dependency graph and therefore\n * cannot import the Cognito token/credentials provider factories (those live in\n * the `aws-amplify` umbrella package and depend on `@aws-amplify/auth`). As a\n * result this core-level factory does **not** inject default providers: callers\n * that need auth must supply `libraryOptions.Auth.{tokenProvider,credentialsProvider}`.\n * The `aws-amplify` package wraps this factory (Phase C2) to resolve and inject\n * the default Cognito providers (SSR cookie storage vs. localStorage) before\n * delegating here.\n *\n * @param resourceConfig - Back-end resource configuration (typed config,\n * legacy `aws-exports`, or `amplify_outputs`).\n * @param libraryOptions - Optional library options (e.g. Auth token/credentials\n * providers, `ssr`).\n * @param internalOptions - Internal-only options. `skipConfigParse` lets a\n * trusted caller (the `aws-amplify` wrapper) that has *already* normalized the\n * config via `parseAmplifyConfig` opt out of a redundant re-parse. Since\n * `parseAmplifyConfig` is a no-op on an already-parsed `ResourcesConfig`, this\n * only removes duplicate work (which otherwise runs on every context creation,\n * and twice per SSR request through adapter-nextjs) — behavior is identical.\n * @returns A branded, frozen {@link AmplifyContext}.\n *\n * @example\n * ```ts\n * import { createAmplifyContext } from '@aws-amplify/core';\n *\n * const ctx = createAmplifyContext(resourcesConfig, {\n * Auth: { tokenProvider, credentialsProvider },\n * });\n * // Pass ctx explicitly to category APIs:\n * await signIn(ctx, { username, password });\n * ```\n */\nexport function createAmplifyContext(resourceConfig, libraryOptions, internalOptions) {\n // `parseAmplifyConfig` returns an already-parsed `ResourcesConfig` unchanged,\n // so skipping it when the caller has pre-parsed keeps behavior identical while\n // avoiding a redundant parse.\n //\n // The resolved config is DEEP-frozen (matching `Amplify.configure()` in\n // Amplify.ts) on BOTH paths: a shallow `Object.freeze` would leave nested\n // config (e.g. `Auth.Cognito`) mutable, and on the `skipConfigParse` path the\n // caller's object passes through by reference — potentially SHARED between\n // several per-request contexts (adapter-nextjs reuses one parsed config for\n // every request), so any nested mutation would leak across contexts.\n // `deepFreeze` is idempotent, so re-freezing that shared object is safe.\n const resolvedResourceConfig = deepFreeze(internalOptions?.skipConfigParse\n ? resourceConfig\n : parseAmplifyConfig(resourceConfig));\n const resolvedLibraryOptions = libraryOptions ?? {};\n // Fresh, per-context Auth instance (not the global singleton) so that\n // multiple contexts remain isolated from one another.\n const auth = new AuthClass();\n if (resolvedResourceConfig.Auth) {\n auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);\n }\n const ctx = {\n // Already deep-frozen above (both parse paths).\n resourcesConfig: resolvedResourceConfig,\n libraryOptions: resolvedLibraryOptions,\n // Unique, frozen per-context identity handle (see AmplifyContextToken).\n // Attached before the brand/freeze below so the frozen context carries it.\n token: createAmplifyContextToken(),\n fetchAuthSession: fetchOptions => auth.fetchAuthSession(fetchOptions ?? {}),\n clearCredentials: () => auth.clearCredentials(),\n getTokens: tokenOptions => auth.getTokens(tokenOptions),\n };\n // Brand the context for runtime identification by isAmplifyContext().\n Object.defineProperty(ctx, AMPLIFY_CONTEXT_BRAND, {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n Object.freeze(ctx);\n return ctx;\n}\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG,UAAU,CAAC,eAAe,EAAE;AAC/D,UAAU;AACV,UAAU,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAC7C,IAAI,MAAM,sBAAsB,GAAG,cAAc,IAAI,EAAE;AACvD;AACA;AACA,IAAI,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE;AAChC,IAAI,IAAI,sBAAsB,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;AAChF,IAAI;AACJ,IAAI,MAAM,GAAG,GAAG;AAChB;AACA,QAAQ,eAAe,EAAE,sBAAsB;AAC/C,QAAQ,cAAc,EAAE,sBAAsB;AAC9C;AACA;AACA,QAAQ,KAAK,EAAE,yBAAyB,EAAE;AAC1C,QAAQ,gBAAgB,EAAE,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,IAAI,EAAE,CAAC;AACnF,QAAQ,gBAAgB,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE;AACvD,QAAQ,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,KAAK;AACL;AACA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE;AACtD,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,QAAQ,EAAE,KAAK;AACvB,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AACtB,IAAI,OAAO,GAAG;AACd;;;;"}
1
+ {"version":3,"file":"createAmplifyContext.mjs","sources":["../../../src/context/createAmplifyContext.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthClass } from '../singleton/Auth';\nimport { deepFreeze } from '../utils/deepFreeze';\nimport { parseAmplifyConfig } from '../utils/parseAmplifyConfig';\nimport { AMPLIFY_CONTEXT_BRAND } from './contextBrand';\nimport { createAmplifyContextToken } from './contextToken';\n/**\n * Creates a local, branded {@link AmplifyContext} from the given resource\n * configuration.\n *\n * Unlike `Amplify.configure()`, the returned context is **not** set as the\n * global context and no Hub events are dispatched. Category APIs that receive\n * this context (as their first positional argument) will use it instead of the\n * global one, enabling per-request context injection in server-side /\n * multi-tenant scenarios.\n *\n * The factory follows the \"factory-provider\" style: it instantiates a **fresh,\n * per-context** {@link AuthClass} (never the process-wide singleton) whose\n * `fetchAuthSession` / `clearCredentials` / `getTokens` closures back the\n * returned context's methods. The context is branded via\n * {@link AMPLIFY_CONTEXT_BRAND} and frozen so it can be recognized at runtime\n * by `isAmplifyContext()` and cannot be mutated after creation.\n *\n * @remarks\n * `@aws-amplify/core` sits at the bottom of the dependency graph and therefore\n * cannot import the Cognito token/credentials provider factories (those live in\n * the `aws-amplify` umbrella package and depend on `@aws-amplify/auth`). As a\n * result this core-level factory does **not** inject default providers: callers\n * that need auth must supply `libraryOptions.Auth.{tokenProvider,credentialsProvider}`.\n * The `aws-amplify` package wraps this factory (Phase C2) to resolve and inject\n * the default Cognito providers (SSR cookie storage vs. localStorage) before\n * delegating here.\n *\n * @param resourceConfig - Back-end resource configuration (typed config,\n * legacy `aws-exports`, or `amplify_outputs`).\n * @param libraryOptions - Optional library options (e.g. Auth token/credentials\n * providers, `ssr`).\n * @param internalOptions - Internal-only options. `skipConfigParse` lets a\n * trusted caller (the `aws-amplify` wrapper) that has *already* normalized the\n * config via `parseAmplifyConfig` opt out of a redundant re-parse. Since\n * `parseAmplifyConfig` is a no-op on an already-parsed `ResourcesConfig`, this\n * only removes duplicate work (which otherwise runs on every context creation,\n * and twice per SSR request through adapter-nextjs) — behavior is identical.\n * @returns A branded, frozen {@link AmplifyContext}.\n *\n * @example\n * ```ts\n * import { createAmplifyContext } from '@aws-amplify/core';\n *\n * const ctx = createAmplifyContext(resourcesConfig, {\n * Auth: { tokenProvider, credentialsProvider },\n * });\n * // Pass ctx explicitly to category APIs:\n * await signIn(ctx, { username, password });\n * ```\n */\nexport function createAmplifyContext(resourceConfig, libraryOptions, internalOptions) {\n // `parseAmplifyConfig` returns an already-parsed `ResourcesConfig` unchanged,\n // so skipping it when the caller has pre-parsed keeps behavior identical while\n // avoiding a redundant parse.\n //\n // The resolved config is DEEP-frozen (matching `Amplify.configure()` in\n // Amplify.ts) on BOTH paths: a shallow `Object.freeze` would leave nested\n // config (e.g. `Auth.Cognito`) mutable, and on the `skipConfigParse` path the\n // caller's object passes through by reference — potentially SHARED between\n // several per-request contexts (adapter-nextjs reuses one parsed config for\n // every request), so any nested mutation would leak across contexts.\n // `deepFreeze` is idempotent, so re-freezing that shared object is safe.\n const resolvedResourceConfig = deepFreeze(internalOptions?.skipConfigParse\n ? resourceConfig\n : parseAmplifyConfig(resourceConfig));\n const resolvedLibraryOptions = libraryOptions ?? {};\n // Fresh, per-context Auth instance (not the global singleton) so that\n // multiple contexts remain isolated from one another.\n //\n // `configure()` is called UNCONDITIONALLY, exactly as the pre-context\n // `AmplifyClass.configure()` does (see singleton/Amplify.ts). It is the only\n // place `AuthClass` stores `libraryOptions.Auth`, so gating it on the\n // presence of `resourcesConfig.Auth` would silently drop caller-supplied\n // token/credentials providers whenever the resource config carries no `Auth`\n // block — the shape `getAmplifyDataClientConfig()` produces for IAM-authed\n // Data access from a Lambda (`API.GraphQL` only, plus a custom\n // `credentialsProvider`). `AuthClass.configure()` tolerates an undefined\n // auth resource config.\n //\n // The `Auth!` assertion is deliberately false: in the very case this fixes,\n // `Auth` IS undefined at runtime. It mirrors the identical assertion in the\n // singleton rather than widening `AuthClass.configure()`'s parameter type.\n const auth = new AuthClass();\n auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);\n const ctx = {\n // Already deep-frozen above (both parse paths).\n resourcesConfig: resolvedResourceConfig,\n libraryOptions: resolvedLibraryOptions,\n // Unique, frozen per-context identity handle (see AmplifyContextToken).\n // Attached before the brand/freeze below so the frozen context carries it.\n token: createAmplifyContextToken(),\n fetchAuthSession: fetchOptions => auth.fetchAuthSession(fetchOptions ?? {}),\n clearCredentials: () => auth.clearCredentials(),\n getTokens: tokenOptions => auth.getTokens(tokenOptions),\n };\n // Brand the context for runtime identification by isAmplifyContext().\n Object.defineProperty(ctx, AMPLIFY_CONTEXT_BRAND, {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n Object.freeze(ctx);\n return ctx;\n}\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG,UAAU,CAAC,eAAe,EAAE;AAC/D,UAAU;AACV,UAAU,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAC7C,IAAI,MAAM,sBAAsB,GAAG,cAAc,IAAI,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE;AAChC,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG;AAChB;AACA,QAAQ,eAAe,EAAE,sBAAsB;AAC/C,QAAQ,cAAc,EAAE,sBAAsB;AAC9C;AACA;AACA,QAAQ,KAAK,EAAE,yBAAyB,EAAE;AAC1C,QAAQ,gBAAgB,EAAE,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,IAAI,EAAE,CAAC;AACnF,QAAQ,gBAAgB,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE;AACvD,QAAQ,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,KAAK;AACL;AACA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE;AACtD,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,QAAQ,EAAE,KAAK;AACvB,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AACtB,IAAI,OAAO,GAAG;AACd;;;;"}
@@ -1,4 +1,4 @@
1
- import { __classPrivateFieldSet, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
2
2
  import { PlatformNotSupportedError } from '../errors/PlatformNotSupportedError.mjs';
3
3
  import '../errors/errorHelpers.mjs';
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/core",
3
- "version": "6.19.1",
3
+ "version": "6.19.2-rn-context-data-ef602d4-20260927061411",
4
4
  "description": "Core category of aws-amplify",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.mjs",
@@ -61,7 +61,7 @@
61
61
  "uuid": "^11.1.1"
62
62
  },
63
63
  "devDependencies": {
64
- "@aws-amplify/react-native": "1.3.3",
64
+ "@aws-amplify/react-native": "1.3.4-rn-context-data-ef602d4-20260927061411",
65
65
  "@types/js-cookie": "3.0.2",
66
66
  "genversion": "^2.2.0"
67
67
  },
@@ -1,2 +1,2 @@
1
1
  // generated by genversion
2
- export const version = '6.22.0';
2
+ export const version = '6.22.1-rn-context-data-ef602d4-20260927061411';
@@ -93,10 +93,22 @@ export function createAmplifyContext(
93
93
 
94
94
  // Fresh, per-context Auth instance (not the global singleton) so that
95
95
  // multiple contexts remain isolated from one another.
96
+ //
97
+ // `configure()` is called UNCONDITIONALLY, exactly as the pre-context
98
+ // `AmplifyClass.configure()` does (see singleton/Amplify.ts). It is the only
99
+ // place `AuthClass` stores `libraryOptions.Auth`, so gating it on the
100
+ // presence of `resourcesConfig.Auth` would silently drop caller-supplied
101
+ // token/credentials providers whenever the resource config carries no `Auth`
102
+ // block — the shape `getAmplifyDataClientConfig()` produces for IAM-authed
103
+ // Data access from a Lambda (`API.GraphQL` only, plus a custom
104
+ // `credentialsProvider`). `AuthClass.configure()` tolerates an undefined
105
+ // auth resource config.
106
+ //
107
+ // The `Auth!` assertion is deliberately false: in the very case this fixes,
108
+ // `Auth` IS undefined at runtime. It mirrors the identical assertion in the
109
+ // singleton rather than widening `AuthClass.configure()`'s parameter type.
96
110
  const auth = new AuthClass();
97
- if (resolvedResourceConfig.Auth) {
98
- auth.configure(resolvedResourceConfig.Auth, resolvedLibraryOptions.Auth);
99
- }
111
+ auth.configure(resolvedResourceConfig.Auth!, resolvedLibraryOptions.Auth);
100
112
 
101
113
  const ctx: AmplifyContext = {
102
114
  // Already deep-frozen above (both parse paths).
@@ -1,37 +0,0 @@
1
- /******************************************************************************
2
- Copyright (c) Microsoft Corporation.
3
-
4
- Permission to use, copy, modify, and/or distribute this software for any
5
- purpose with or without fee is hereby granted.
6
-
7
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
- PERFORMANCE OF THIS SOFTWARE.
14
- ***************************************************************************** */
15
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
16
-
17
-
18
- function __classPrivateFieldGet(receiver, state, kind, f) {
19
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
20
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
21
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
22
- }
23
-
24
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
25
- if (kind === "m") throw new TypeError("Private method is not writable");
26
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
27
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
28
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
29
- }
30
-
31
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
32
- var e = new Error(message);
33
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
34
- };
35
-
36
- export { __classPrivateFieldGet, __classPrivateFieldSet };
37
- //# sourceMappingURL=tslib.es6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tslib.es6.mjs","sources":["../../../../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA8QA;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;AACjE,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;AACjG,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;AACvL,IAAI,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClG,CAAC;AACD;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;AACxE,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;AAC5E,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;AACjG,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;AACtL,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;AAC9G,CAAC;AA8BD;AACuB,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;AACvH,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AACrF;;;;","x_google_ignoreList":[0]}