@gauts/auth 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/adapters/prisma/index.d.ts +2 -2
- package/dist/adapters/prisma/index.d.ts.map +1 -1
- package/dist/adapters/prisma/index.js.map +1 -1
- package/dist/adapters/prisma/types.d.ts +5 -1
- package/dist/adapters/prisma/types.d.ts.map +1 -1
- package/dist/password/index.d.ts +1 -1
- package/dist/password/index.d.ts.map +1 -1
- package/dist/password/index.js +42 -34
- package/dist/password/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -101,7 +101,6 @@ import type { AuthAccountOf } from "@gauts/auth";
|
|
|
101
101
|
import type { HonoAuthEnv } from "@gauts/auth/hono";
|
|
102
102
|
|
|
103
103
|
import { auth } from "./auth.js";
|
|
104
|
-
import { DUMMY_PASSWORD_HASH } from "./password.js";
|
|
105
104
|
|
|
106
105
|
type Account = AuthAccountOf<typeof auth>;
|
|
107
106
|
|
|
@@ -117,7 +116,7 @@ app.post("/auth/login", async (c) => {
|
|
|
117
116
|
|
|
118
117
|
const passwordValid = await auth.password.verify({
|
|
119
118
|
password: body.password,
|
|
120
|
-
storedHash: account?.passwordHash
|
|
119
|
+
storedHash: account?.passwordHash,
|
|
121
120
|
});
|
|
122
121
|
|
|
123
122
|
if (!account || !passwordValid) {
|
|
@@ -150,7 +149,7 @@ app.get("/account", auth.requireSession, (c) => {
|
|
|
150
149
|
});
|
|
151
150
|
```
|
|
152
151
|
|
|
153
|
-
|
|
152
|
+
When `storedHash` is missing, the package performs password work with the configured algorithm and always returns `false`. Applications do not need a dummy hash. Keep the response identical for unknown accounts and incorrect passwords.
|
|
154
153
|
|
|
155
154
|
### 3. Enable the optional cache
|
|
156
155
|
|
|
@@ -228,6 +227,8 @@ password: {
|
|
|
228
227
|
|
|
229
228
|
The package does not detect algorithms, migrate hashes, rehash passwords, or fall back to another algorithm.
|
|
230
229
|
|
|
230
|
+
`auth.password.verify()` accepts a missing `storedHash` so account lookup and password verification can follow one path. A missing or incompatible hash performs password work with the configured algorithm and returns `false`; it is never accepted or passed to another algorithm.
|
|
231
|
+
|
|
231
232
|
### Session
|
|
232
233
|
|
|
233
234
|
All time values are seconds.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CreatePrismaAdapter } from "./types.js";
|
|
2
2
|
export type { PrismaAccount, PrismaAccountConfig, PrismaAccountModel, PrismaAdapterInput, PrismaModelsConfig, PrismaRelations, PrismaSessionConfig, PrismaSessionModel, } from "./types.js";
|
|
3
|
-
export declare const createPrismaAdapter:
|
|
3
|
+
export declare const createPrismaAdapter: CreatePrismaAdapter;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACR,mBAAmB,EAKtB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACR,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,mBAAmB,EAAE,mBA0FjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/prisma/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,WAAW,EACX,aAAa,GAChB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/prisma/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ type ModelRow<Client, Name extends string> = Name extends keyof Client ? Delegat
|
|
|
31
31
|
type AuthField<Row> = {
|
|
32
32
|
[Key in keyof Row]: Row[Key] extends AuthScalar ? Key : never;
|
|
33
33
|
}[keyof Row] & string;
|
|
34
|
-
type AccessRule<Value> = Value extends AuthScalar ? Value | readonly Value[] : never;
|
|
34
|
+
type AccessRule<Value> = [Value] extends [AuthScalar] ? Value | readonly Value[] : never;
|
|
35
35
|
type ModelAccess<Row> = Partial<{
|
|
36
36
|
[Key in AuthField<Row>]: AccessRule<Row[Key]>;
|
|
37
37
|
}>;
|
|
@@ -125,5 +125,9 @@ export type ResolvedPrismaModels = {
|
|
|
125
125
|
sessions: string;
|
|
126
126
|
};
|
|
127
127
|
export type PrismaDb<Client extends object, Models extends PrismaModelsConfig<Client> | undefined> = DbAdapter<PrismaAccount<Client, Models>>;
|
|
128
|
+
export type CreatePrismaAdapter = {
|
|
129
|
+
<Client extends object>(input: PrismaAdapterInput<Client>): PrismaDb<Client, undefined>;
|
|
130
|
+
<Client extends object, const Models extends PrismaModelsConfig<Client>>(input: PrismaAdapterInput<Client, Models>): PrismaDb<Client, Models>;
|
|
131
|
+
};
|
|
128
132
|
export type { AuthAccount };
|
|
129
133
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEhG,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnD,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB,YAAY,CAAC,CAAC,CAAC,SAAS;IACpB,KAAK,EAAE;QACH,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,MAAM,CAAA;SAAE,CAAC;KACtC,CAAC;CACL,GACK,MAAM,GACN,KAAK,CAAC;AAEhB,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACnD,KAAK,GACL,WAAW,CAAC,CAAC,CAAC,SAAS,aAAa,GAClC,IAAI,GACJ,KAAK,CAAC;AAEd,KAAK,eAAe,CAAC,CAAC,IAClB,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,CAAC;AAElG,KAAK,cAAc,CAAC,CAAC,IACjB,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GACxB,KAAK,GACL,WAAW,CAAC,CAAC,CAAC,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACd,GACD,IAAI,GACJ,KAAK,CAAC;AAElB,KAAK,qBAAqB,CAAC,CAAC,IACxB,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GACxB,WAAW,CAAC,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C,IAAI,GACJ,KAAK,GACT,KAAK,CAAC;AAEhB,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI;KACpC,GAAG,IAAI,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAAG,KAAK;CAChF,CAAC,MAAM,MAAM,CAAC,GACX,MAAM,CAAC;AAEX,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI;KACpC,GAAG,IAAI,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAAG,KAAK;CAChF,CAAC,MAAM,MAAM,CAAC,GACX,MAAM,CAAC;AAEX,KAAK,mBAAmB,CAAC,MAAM,IAAI;KAC9B,GAAG,IAAI,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAAG,KAAK;CACjF,CAAC,MAAM,MAAM,CAAC,GACX,MAAM,CAAC;AAEX,KAAK,QAAQ,CAAC,MAAM,EAAE,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,MAAM,MAAM,GAChE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GACzB,KAAK,CAAC;AAEZ,KAAK,SAAS,CAAC,GAAG,IAAI;KACjB,GAAG,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,UAAU,GAAG,GAAG,GAAG,KAAK;CAChE,CAAC,MAAM,GAAG,CAAC,GACR,MAAM,CAAC;AAEX,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,SAAS,UAAU,GAAG,KAAK,GAAG,SAAS,KAAK,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/types.ts"],"names":[],"mappings":"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"}
|
package/dist/password/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type PasswordService = {
|
|
|
4
4
|
hash(password: string): Promise<string>;
|
|
5
5
|
verify(input: {
|
|
6
6
|
password: string;
|
|
7
|
-
storedHash
|
|
7
|
+
storedHash?: string | null | undefined;
|
|
8
8
|
}): Promise<boolean>;
|
|
9
9
|
};
|
|
10
10
|
export declare const createPassword: (config: ResolvedPasswordConfig) => PasswordService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/password/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,UAAU,GAAG,QAAQ,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/password/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,UAAU,GAAG,QAAQ,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjG,CAAC;AA+EF,eAAO,MAAM,cAAc,GAAI,QAAQ,sBAAsB,KAAG,eAE/D,CAAC"}
|
package/dist/password/index.js
CHANGED
|
@@ -11,40 +11,48 @@ const requirePassword = ({ password, maxBytes }) => {
|
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
-
const createArgon2id = (config) =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
});
|
|
14
|
+
const createArgon2id = (config) => {
|
|
15
|
+
const hashValue = (password) => argon2.hash(password, {
|
|
16
|
+
hashLength: config.hashLength,
|
|
17
|
+
memoryCost: config.memoryCost,
|
|
18
|
+
parallelism: config.parallelism,
|
|
19
|
+
timeCost: config.timeCost,
|
|
20
|
+
type: argon2.argon2id,
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
algorithm: "argon2id",
|
|
24
|
+
hash: async (password) => {
|
|
25
|
+
requirePassword({ maxBytes: config.maxBytes, password });
|
|
26
|
+
return hashValue(password);
|
|
27
|
+
},
|
|
28
|
+
verify: async ({ password, storedHash }) => {
|
|
29
|
+
requirePassword({ maxBytes: config.maxBytes, password });
|
|
30
|
+
if (!storedHash?.startsWith("$argon2id$")) {
|
|
31
|
+
await hashValue(password);
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return argon2.verify(storedHash, password);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
const createBcrypt = (config) => {
|
|
39
|
+
const hashValue = (password) => hashBcrypt(password, config.rounds);
|
|
40
|
+
return {
|
|
41
|
+
algorithm: "bcrypt",
|
|
42
|
+
hash: async (password) => {
|
|
43
|
+
requirePassword({ maxBytes: config.maxBytes, password });
|
|
44
|
+
return hashValue(password);
|
|
45
|
+
},
|
|
46
|
+
verify: async ({ password, storedHash }) => {
|
|
47
|
+
requirePassword({ maxBytes: config.verifyMaxBytes, password });
|
|
48
|
+
if (!storedHash || !BCRYPT_PATTERN.test(storedHash)) {
|
|
49
|
+
await hashValue(password);
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return compareBcrypt(password, storedHash);
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
};
|
|
48
56
|
export const createPassword = (config) => {
|
|
49
57
|
return config.algorithm === "bcrypt" ? createBcrypt(config) : createArgon2id(config);
|
|
50
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/password/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAE9D,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAwB,EAAE,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QAChC,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,uCAAuC,MAAM,CAAC,QAAQ,CAAC,SAAS;SAC5E,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,MAAkE,EACnD,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/password/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAE9D,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAwB,EAAE,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QAChC,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,uCAAuC,MAAM,CAAC,QAAQ,CAAC,SAAS;SAC5E,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,MAAkE,EACnD,EAAE;IACjB,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE,CACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,QAAQ;KACxB,CAAC,CAAC;IAEP,OAAO;QACH,SAAS,EAAE,UAAU;QAErB,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACrB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;YACvC,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACjB,MAAgE,EACjD,EAAE;IACjB,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5E,OAAO;QACH,SAAS,EAAE,QAAQ;QAEnB,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACrB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;YACvC,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE/D,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClD,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAA8B,EAAmB,EAAE;IAC9E,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACzF,CAAC,CAAC"}
|