@noresponse/node 2.0.1 → 2.0.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.2
4
+
5
+ API changes since the previous release are not listed: no earlier document was recorded.
6
+
3
7
  All notable changes to `@noresponse/node`. The format follows Keep a Changelog and the package follows Semantic Versioning.
4
8
 
5
9
  ## 2.0.0
@@ -3,6 +3,13 @@
3
3
  *
4
4
  * Each adapter maps claims your backend has already verified into the
5
5
  * `authContext` of an assessment request. Pass verified claims, not a raw token.
6
+ *
7
+ * The mapping is the table in `claim-map.ts`, a copy of
8
+ * contracts/api/v1/fixtures/assessment-contract/auth-context-claim-map.json,
9
+ * run by the small interpreter below. Every SDK runs the same table and the
10
+ * same vectors (tests/fixtures/auth-context-vectors.json). A claim that is
11
+ * missing, mistyped or out of range maps to absent, never to a stronger
12
+ * assurance.
6
13
  */
7
14
  import type { AuthContext } from "./models/auth-context.js";
8
15
  export type VerifiedClaims = Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAwExD,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAQpG;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAkBnG;AAED,kHAAkH;AAClH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAcnG;AAED,uGAAuG;AACvG,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAGpH"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AA0IxD,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAEpG;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAEnG;AAED,kHAAkH;AAClH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAEnG;AAED,uGAAuG;AACvG,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,GAAE,oBAAyB,GAAG,WAAW,CAGpH"}
@@ -4,126 +4,151 @@ exports.fromWorkOS = fromWorkOS;
4
4
  exports.fromClerk = fromClerk;
5
5
  exports.fromAuth0 = fromAuth0;
6
6
  exports.fromOIDC = fromOIDC;
7
- function text(value) {
8
- return typeof value === "string" && value.length > 0 ? value : undefined;
7
+ const claim_map_js_1 = require("./claim-map.js");
8
+ const kinds = new Map(Object.entries(claim_map_js_1.CLAIM_MAP.kinds).map(([name, k]) => [name, { re: new RegExp("^(?:" + k.pattern + ")$"), max: k.maxLength }]));
9
+ const slug = new RegExp("^(?:" + claim_map_js_1.CLAIM_MAP.slug + ")$");
10
+ const splitters = { whitespace: /[ \t\r\n\f\v]+/, comma_whitespace: /[ \t\r\n\f\v,]+/ };
11
+ const MAX_TIME = 253402300799;
12
+ function object(value) {
13
+ return value !== null && typeof value === "object" && !Array.isArray(value) ? value : undefined;
9
14
  }
10
- function iso(value) {
11
- if (typeof value === "string")
12
- return value;
13
- // Whole UTC seconds (the fraction is truncated), as the Go and Python helpers write it.
14
- if (typeof value === "number" && Number.isFinite(value)) {
15
- return new Date(Math.trunc(value) * 1000).toISOString().replace(".000Z", "Z");
15
+ function lookup(claims, path) {
16
+ let current = claims;
17
+ for (const key of path.split(".")) {
18
+ const record = object(current);
19
+ if (!record || !Object.hasOwn(record, key))
20
+ return undefined;
21
+ current = record[key];
16
22
  }
17
- return undefined;
23
+ return current;
18
24
  }
19
- // Defaults are the contract's bounds for roles and scopes (32 items of at
20
- // most 64 characters); audiences are 8 x 256 and amr 8 x 32. The Go and
21
- // Python helpers apply the same caps. Over-long values are dropped, not truncated.
22
- function bounded(values, limit, maxLength) {
23
- const kept = values
24
- .filter((item) => typeof item === "string" && item.length > 0 && [...item].length <= maxLength)
25
- .slice(0, limit);
26
- return kept.length ? kept : undefined;
25
+ function matches(kind, value) {
26
+ const k = kinds.get(kind);
27
+ return typeof value === "string" && [...value].length <= k.max && k.re.test(value);
27
28
  }
28
- function strings(value, limit = 32, maxLength = 64) {
29
- if (typeof value === "string")
30
- return bounded(value.split(/\s+/), limit, maxLength);
31
- return Array.isArray(value) ? bounded(value, limit, maxLength) : undefined;
29
+ function lower(value) {
30
+ return value.replace(/[A-Z]/g, (c) => c.toLowerCase());
32
31
  }
33
- function delimitedStrings(value, limit = 32, maxLength = 64) {
34
- if (typeof value !== "string")
35
- return strings(value, limit, maxLength);
36
- return bounded(value.split(/[\s,]+/).map((item) => item.trim()), limit, maxLength);
32
+ function mapTime(claims, rule) {
33
+ for (const path of rule.claims ?? []) {
34
+ const value = lookup(claims, path);
35
+ if (typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= MAX_TIME) {
36
+ // Whole UTC seconds; the fraction is truncated.
37
+ return new Date(Math.trunc(value) * 1000).toISOString().replace(".000Z", "Z");
38
+ }
39
+ if (matches("time", value))
40
+ return value;
41
+ }
42
+ return undefined;
37
43
  }
38
- function audiences(value) {
39
- return strings(value, 8, 256);
44
+ function mapList(claims, rule) {
45
+ for (const path of rule.claims ?? []) {
46
+ const value = lookup(claims, path);
47
+ let items = [];
48
+ if (typeof value === "string")
49
+ items = rule.split === "none" ? [value] : value.split(splitters[rule.split ?? "whitespace"]);
50
+ else if (Array.isArray(value))
51
+ items = value;
52
+ const kept = items.filter((item) => matches(rule.kind, item)).slice(0, rule.max);
53
+ if (kept.length)
54
+ return kept;
55
+ }
56
+ return undefined;
40
57
  }
41
- function object(value) {
42
- return value !== null && typeof value === "object" && !Array.isArray(value) ? value : undefined;
58
+ function mapRule(claims, rule) {
59
+ switch (rule.op) {
60
+ case "id":
61
+ for (const path of rule.claims ?? []) {
62
+ const value = lookup(claims, path);
63
+ if (matches(rule.kind, value))
64
+ return value;
65
+ }
66
+ return undefined;
67
+ case "list":
68
+ return mapList(claims, rule);
69
+ case "time":
70
+ return mapTime(claims, rule);
71
+ case "bool":
72
+ for (const path of rule.claims ?? []) {
73
+ const value = lookup(claims, path);
74
+ if (typeof value === "boolean")
75
+ return value;
76
+ }
77
+ return undefined;
78
+ case "actor": {
79
+ const value = lookup(claims, rule.claims[0]);
80
+ const record = object(value);
81
+ if (record)
82
+ return [record["sub"], record["email"]].some((item) => typeof item === "string" && item.length > 0);
83
+ return typeof value === "string" && value.length > 0;
84
+ }
85
+ case "mfa_factor_age": {
86
+ const value = lookup(claims, rule.claim);
87
+ const age = Array.isArray(value) ? value[rule.index] : undefined;
88
+ const seconds = typeof age === "number" ? age * rule.unitSeconds : NaN;
89
+ return seconds >= 0 && seconds <= rule.maxSeconds ? { present: true, age_seconds: Math.trunc(seconds) } : undefined;
90
+ }
91
+ case "mfa_methods": {
92
+ const value = lookup(claims, rule.claim);
93
+ if (!Array.isArray(value))
94
+ return undefined;
95
+ const kept = value.filter((item) => matches(rule.kind, item)).slice(0, rule.max);
96
+ const methods = kept.filter((item) => !rule.ignore.includes(lower(item)));
97
+ if (!methods.length)
98
+ return undefined;
99
+ return { present: kept.some((item) => lower(item) === rule.mfaValue), methods };
100
+ }
101
+ default:
102
+ throw new Error("unknown claim map op " + rule.op);
103
+ }
43
104
  }
44
- function actorPresent(value) {
105
+ const camel = (key) => key.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
106
+ const snake = (key) => key.replace(/[A-Z]/g, (c) => "_" + c.toLowerCase());
107
+ function rekey(value, fn) {
45
108
  const record = object(value);
46
- return Boolean(record ? (text(record["sub"]) ?? text(record["email"])) : text(value));
47
- }
48
- function defined(value) {
49
- return Object.fromEntries(Object.entries(value).filter(([, v]) => v !== undefined));
109
+ if (!record)
110
+ return value;
111
+ return Object.fromEntries(Object.entries(record).map(([k, v]) => [fn(k), k === "mfa" || k === "methods" ? rekey(v, fn) : v]));
50
112
  }
51
- function base(provider, claims, overrides = {}, options = {}) {
52
- const issuer = text(overrides.issuer) ?? text(claims["iss"]);
53
- const subject = text(overrides.subject) ?? text(claims["sub"]);
54
- if (!issuer || !subject)
113
+ function build(name, claims, overrides, provider) {
114
+ const spec = claim_map_js_1.CLAIM_MAP.providers[name];
115
+ const rules = { ...claim_map_js_1.CLAIM_MAP.base, ...spec.fields };
116
+ for (const field of spec.disable ?? [])
117
+ delete rules[field];
118
+ const wire = { provider, ...claim_map_js_1.CLAIM_MAP.constants };
119
+ for (const [field, rule] of Object.entries(rules)) {
120
+ const value = mapRule(claims, rule);
121
+ if (value !== undefined)
122
+ wire[field] = value;
123
+ }
124
+ for (const [field, value] of Object.entries(rekey(overrides, snake))) {
125
+ if (value !== undefined && value !== null)
126
+ wire[field] = value;
127
+ }
128
+ const audiences = wire["audiences"];
129
+ if (Array.isArray(audiences) && audiences.length && wire["audience"] === undefined)
130
+ wire["audience"] = audiences[0];
131
+ if (typeof wire["issuer"] !== "string" || !wire["issuer"] || typeof wire["subject"] !== "string" || !wire["subject"]) {
55
132
  throw new TypeError("NoResponse auth context requires a verified issuer and subject");
56
- const mergedAudiences = overrides.audiences ?? audiences(claims["aud"]);
57
- const context = { provider, issuer, subject, verified: true, transport: "backend" };
58
- if (mergedAudiences?.length) {
59
- context.audiences = mergedAudiences;
60
- context.audience = overrides.audience ?? mergedAudiences[0];
61
133
  }
62
- const issuedAt = iso(claims["iat"]);
63
- if (options.includeIssuedAt !== false && issuedAt)
64
- context.issuedAt = issuedAt;
65
- const expiresAt = iso(claims["exp"]);
66
- if (expiresAt)
67
- context.expiresAt = expiresAt;
68
- const authTime = iso(claims["auth_time"]);
69
- if (authTime)
70
- context.authTime = authTime;
71
- const sessionId = text(claims["sid"]);
72
- if (sessionId)
73
- context.sessionId = sessionId;
74
- const tokenId = text(claims["jti"]);
75
- if (tokenId)
76
- context.tokenId = tokenId;
77
- return { ...context, ...defined(overrides) };
134
+ return rekey(wire, camel);
78
135
  }
79
136
  /** Map verified WorkOS AuthKit claims plus verified user or session record overrides. */
80
137
  function fromWorkOS(claims, overrides = {}) {
81
- const defaults = {
82
- organizationId: text(claims["org_id"]),
83
- roles: strings(claims["roles"] ?? claims["role"]),
84
- scopes: strings(claims["permissions"]),
85
- impersonated: actorPresent(claims["act"]),
86
- };
87
- return base("workos", claims, { ...defaults, ...overrides });
138
+ return build("workos", claims, overrides, "workos");
88
139
  }
89
140
  /** Map verified Clerk session claims. Pass Session.createdAt as sessionCreatedAt. */
90
141
  function fromClerk(claims, overrides = {}) {
91
- const org = object(claims["o"]);
92
- const secondFactorAgeMinutes = Array.isArray(claims["fva"]) && typeof claims["fva"][1] === "number" && Number.isFinite(claims["fva"][1]) ? claims["fva"][1] : undefined;
93
- const mfa = secondFactorAgeMinutes !== undefined && secondFactorAgeMinutes >= 0
94
- ? { present: true, ageSeconds: Math.trunc(secondFactorAgeMinutes * 60) }
95
- : undefined;
96
- const defaults = {
97
- organizationId: text(org?.["id"]) ?? text(claims["org_id"]),
98
- // Clerk's role claim is one role slug, not a list.
99
- roles: bounded([org?.["rol"]], 32, 64) ?? bounded([claims["org_role"]], 32, 64),
100
- scopes: delimitedStrings(org?.["per"]) ?? delimitedStrings(claims["org_permissions"]),
101
- impersonated: actorPresent(claims["act"]),
102
- ...(mfa ? { mfa } : {}),
103
- };
104
- // iat is a 60-second token refresh clock, so it is not sent as issuedAt; session age is the sessionCreatedAt override.
105
- return base("clerk", claims, { ...defaults, ...overrides }, { includeIssuedAt: false });
142
+ return build("clerk", claims, overrides, "clerk");
106
143
  }
107
144
  /** Map verified Auth0 ID token, userinfo or normalised session claims. Do not pass an opaque API access token. */
108
145
  function fromAuth0(claims, overrides = {}) {
109
- const amr = strings(claims["amr"], 8, 32);
110
- const mfaMethods = amr?.filter((method) => method.toLowerCase() !== "pwd");
111
- const defaults = {
112
- organizationId: text(claims["org_id"]),
113
- scopes: strings(claims["scope"]) ?? strings(claims["permissions"]),
114
- emailVerified: typeof claims["email_verified"] === "boolean" ? claims["email_verified"] : undefined,
115
- phoneVerified: typeof claims["phone_number_verified"] === "boolean" ? claims["phone_number_verified"] : undefined,
116
- impersonated: actorPresent(claims["act"]),
117
- ...(mfaMethods?.length
118
- ? { mfa: { present: amr?.some((method) => method.toLowerCase() === "mfa") ?? false, methods: mfaMethods } }
119
- : {}),
120
- };
121
- return base("auth0", claims, { ...defaults, ...overrides });
146
+ return build("auth0", claims, overrides, "auth0");
122
147
  }
123
148
  /** Generic OIDC adapter for providers without a first-class helper. `provider` is a lowercase slug. */
124
149
  function fromOIDC(provider, claims, overrides = {}) {
125
- if (!/^[a-z0-9][a-z0-9._-]{1,31}$/.test(provider))
150
+ if (typeof provider !== "string" || !slug.test(provider))
126
151
  throw new TypeError("provider must be a lowercase provider slug");
127
- return base(provider, claims, overrides);
152
+ return build("oidc", claims, overrides, provider);
128
153
  }
129
154
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ export declare const CLAIM_MAP: {
2
+ readonly version: 1;
3
+ readonly kinds: {
4
+ readonly id: {
5
+ readonly pattern: "[A-Za-z0-9._:@/|+=~-]+";
6
+ readonly maxLength: 256;
7
+ };
8
+ readonly audience: {
9
+ readonly pattern: "[A-Za-z0-9._:/-]+";
10
+ readonly maxLength: 256;
11
+ };
12
+ readonly role: {
13
+ readonly pattern: "[A-Za-z0-9._:@/-]+";
14
+ readonly maxLength: 64;
15
+ };
16
+ readonly method: {
17
+ readonly pattern: "[A-Za-z0-9._:-]+";
18
+ readonly maxLength: 32;
19
+ };
20
+ readonly issuer: {
21
+ readonly pattern: "https://[\\x21-\\x7e]+";
22
+ readonly maxLength: 256;
23
+ };
24
+ readonly time: {
25
+ readonly pattern: "[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9])";
26
+ readonly maxLength: 64;
27
+ };
28
+ };
29
+ readonly slug: "[a-z0-9][a-z0-9._-]{1,31}";
30
+ readonly constants: {
31
+ readonly verified: true;
32
+ readonly transport: "backend";
33
+ };
34
+ readonly base: {
35
+ readonly issuer: {
36
+ readonly op: "id";
37
+ readonly kind: "issuer";
38
+ readonly claims: readonly ["iss"];
39
+ readonly required: true;
40
+ };
41
+ readonly subject: {
42
+ readonly op: "id";
43
+ readonly kind: "id";
44
+ readonly claims: readonly ["sub"];
45
+ readonly required: true;
46
+ };
47
+ readonly audiences: {
48
+ readonly op: "list";
49
+ readonly kind: "audience";
50
+ readonly claims: readonly ["aud"];
51
+ readonly split: "whitespace";
52
+ readonly max: 8;
53
+ };
54
+ readonly issued_at: {
55
+ readonly op: "time";
56
+ readonly claims: readonly ["iat"];
57
+ };
58
+ readonly expires_at: {
59
+ readonly op: "time";
60
+ readonly claims: readonly ["exp"];
61
+ };
62
+ readonly auth_time: {
63
+ readonly op: "time";
64
+ readonly claims: readonly ["auth_time"];
65
+ };
66
+ readonly session_id: {
67
+ readonly op: "id";
68
+ readonly kind: "id";
69
+ readonly claims: readonly ["sid"];
70
+ };
71
+ readonly token_id: {
72
+ readonly op: "id";
73
+ readonly kind: "id";
74
+ readonly claims: readonly ["jti"];
75
+ };
76
+ };
77
+ readonly providers: {
78
+ readonly workos: {
79
+ readonly fields: {
80
+ readonly organization_id: {
81
+ readonly op: "id";
82
+ readonly kind: "id";
83
+ readonly claims: readonly ["org_id"];
84
+ };
85
+ readonly roles: {
86
+ readonly op: "list";
87
+ readonly kind: "role";
88
+ readonly claims: readonly ["roles", "role"];
89
+ readonly split: "whitespace";
90
+ readonly max: 32;
91
+ };
92
+ readonly scopes: {
93
+ readonly op: "list";
94
+ readonly kind: "role";
95
+ readonly claims: readonly ["permissions"];
96
+ readonly split: "whitespace";
97
+ readonly max: 32;
98
+ };
99
+ readonly impersonated: {
100
+ readonly op: "actor";
101
+ readonly claims: readonly ["act"];
102
+ };
103
+ };
104
+ };
105
+ readonly clerk: {
106
+ readonly disable: readonly ["issued_at"];
107
+ readonly fields: {
108
+ readonly organization_id: {
109
+ readonly op: "id";
110
+ readonly kind: "id";
111
+ readonly claims: readonly ["o.id", "org_id"];
112
+ };
113
+ readonly roles: {
114
+ readonly op: "list";
115
+ readonly kind: "role";
116
+ readonly claims: readonly ["o.rol", "org_role"];
117
+ readonly split: "none";
118
+ readonly max: 32;
119
+ };
120
+ readonly scopes: {
121
+ readonly op: "list";
122
+ readonly kind: "role";
123
+ readonly claims: readonly ["o.per", "org_permissions"];
124
+ readonly split: "comma_whitespace";
125
+ readonly max: 32;
126
+ };
127
+ readonly impersonated: {
128
+ readonly op: "actor";
129
+ readonly claims: readonly ["act"];
130
+ };
131
+ readonly mfa: {
132
+ readonly op: "mfa_factor_age";
133
+ readonly claim: "fva";
134
+ readonly index: 1;
135
+ readonly unitSeconds: 60;
136
+ readonly maxSeconds: 315360000;
137
+ };
138
+ };
139
+ };
140
+ readonly auth0: {
141
+ readonly fields: {
142
+ readonly organization_id: {
143
+ readonly op: "id";
144
+ readonly kind: "id";
145
+ readonly claims: readonly ["org_id"];
146
+ };
147
+ readonly scopes: {
148
+ readonly op: "list";
149
+ readonly kind: "role";
150
+ readonly claims: readonly ["scope", "permissions"];
151
+ readonly split: "whitespace";
152
+ readonly max: 32;
153
+ };
154
+ readonly email_verified: {
155
+ readonly op: "bool";
156
+ readonly claims: readonly ["email_verified"];
157
+ };
158
+ readonly phone_verified: {
159
+ readonly op: "bool";
160
+ readonly claims: readonly ["phone_number_verified"];
161
+ };
162
+ readonly impersonated: {
163
+ readonly op: "actor";
164
+ readonly claims: readonly ["act"];
165
+ };
166
+ readonly mfa: {
167
+ readonly op: "mfa_methods";
168
+ readonly kind: "method";
169
+ readonly claim: "amr";
170
+ readonly max: 8;
171
+ readonly mfaValue: "mfa";
172
+ readonly ignore: readonly ["pwd"];
173
+ };
174
+ };
175
+ };
176
+ readonly oidc: {
177
+ readonly slugArgument: true;
178
+ readonly fields: {};
179
+ };
180
+ };
181
+ };
182
+ //# sourceMappingURL=claim-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-map.d.ts","sourceRoot":"","sources":["../../src/claim-map.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuOZ,CAAC"}