@veruna/api-contracts 12.1.0 → 12.3.0
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/build/locales/validation.d.ts +22 -0
- package/build/locales/validation.js +22 -0
- package/build/locales/validation.js.map +1 -1
- package/build/rest-api.d.ts +1 -0
- package/build/rest-api.js +1 -0
- package/build/rest-api.js.map +1 -1
- package/build/routes/tasks.routes.d.ts +1 -0
- package/build/routes/tasks.routes.js +1 -0
- package/build/routes/tasks.routes.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/v1/tasks/commands/admin-backfill-registration-grants.command.d.ts +19 -0
- package/build/v1/tasks/commands/admin-backfill-registration-grants.command.js +14 -0
- package/build/v1/tasks/commands/admin-backfill-registration-grants.command.js.map +1 -0
- package/build/v1/tasks/commands/index.d.ts +1 -0
- package/build/v1/tasks/commands/index.js +1 -0
- package/build/v1/tasks/commands/index.js.map +1 -1
- package/build/v1/tasks/schemas/backfill-registration-grants-request.schema.d.ts +5 -0
- package/build/v1/tasks/schemas/backfill-registration-grants-request.schema.js +23 -0
- package/build/v1/tasks/schemas/backfill-registration-grants-request.schema.js.map +1 -0
- package/build/v1/tasks/schemas/backfill-registration-grants-response.schema.d.ts +8 -0
- package/build/v1/tasks/schemas/backfill-registration-grants-response.schema.js +12 -0
- package/build/v1/tasks/schemas/backfill-registration-grants-response.schema.js.map +1 -0
- package/build/v1/tasks/schemas/index.d.ts +2 -0
- package/build/v1/tasks/schemas/index.js +2 -0
- package/build/v1/tasks/schemas/index.js.map +1 -1
- package/build/v1/unregistered-users/schemas/unreg-user-status.enum.d.ts +2 -1
- package/build/v1/unregistered-users/schemas/unreg-user-status.enum.js +1 -0
- package/build/v1/unregistered-users/schemas/unreg-user-status.enum.js.map +1 -1
- package/build/v1/unregistered-users/unregistered-users.errors.d.ts +1 -0
- package/build/v1/unregistered-users/unregistered-users.errors.js +2 -0
- package/build/v1/unregistered-users/unregistered-users.errors.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { HttpMethod } from '../../../shared/http-method.enum';
|
|
3
|
+
export declare namespace AdminBackfillRegistrationGrantsCommand {
|
|
4
|
+
const Request: z.ZodDefault<z.ZodObject<{
|
|
5
|
+
cursor: z.ZodDefault<z.ZodNullable<z.ZodUUID>>;
|
|
6
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
7
|
+
}, z.core.$strict>>;
|
|
8
|
+
const Response: z.ZodObject<{
|
|
9
|
+
scanned: z.ZodNumber;
|
|
10
|
+
claimed: z.ZodNumber;
|
|
11
|
+
skipped: z.ZodNumber;
|
|
12
|
+
failed: z.ZodNumber;
|
|
13
|
+
nextCursor: z.ZodNullable<z.ZodUUID>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
const URL: "/api/v1/admin/tasks/backfill-registration-grants";
|
|
16
|
+
const METHOD = HttpMethod.POST;
|
|
17
|
+
type RequestType = z.infer<typeof Request>;
|
|
18
|
+
type ResponseType = z.infer<typeof Response>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AdminBackfillRegistrationGrantsCommand = void 0;
|
|
4
|
+
const schemas_1 = require("../schemas");
|
|
5
|
+
const rest_api_1 = require("../../../rest-api");
|
|
6
|
+
const http_method_enum_1 = require("../../../shared/http-method.enum");
|
|
7
|
+
var AdminBackfillRegistrationGrantsCommand;
|
|
8
|
+
(function (AdminBackfillRegistrationGrantsCommand) {
|
|
9
|
+
AdminBackfillRegistrationGrantsCommand.Request = schemas_1.BackfillRegistrationGrantsRequestSchema;
|
|
10
|
+
AdminBackfillRegistrationGrantsCommand.Response = schemas_1.BackfillRegistrationGrantsResponseSchema;
|
|
11
|
+
AdminBackfillRegistrationGrantsCommand.URL = rest_api_1.REST_API.V1.TASKS.ADMIN.BACKFILL_REGISTRATION_GRANTS;
|
|
12
|
+
AdminBackfillRegistrationGrantsCommand.METHOD = http_method_enum_1.HttpMethod.POST;
|
|
13
|
+
})(AdminBackfillRegistrationGrantsCommand || (exports.AdminBackfillRegistrationGrantsCommand = AdminBackfillRegistrationGrantsCommand = {}));
|
|
14
|
+
//# sourceMappingURL=admin-backfill-registration-grants.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-backfill-registration-grants.command.js","sourceRoot":"","sources":["../../../../v1/tasks/commands/admin-backfill-registration-grants.command.ts"],"names":[],"mappings":";;;AACA,wCAGoB;AACpB,gDAA6C;AAC7C,uEAA8D;AAE9D,IAAiB,sCAAsC,CAStD;AATD,WAAiB,sCAAsC;IACtC,8CAAO,GAAG,iDAAuC,CAAC;IAClD,+CAAQ,GAAG,kDAAwC,CAAC;IAEpD,0CAAG,GAAG,mBAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC;IAC3D,6CAAM,GAAG,6BAAU,CAAC,IAAI,CAAC;AAI1C,CAAC,EATgB,sCAAsC,sDAAtC,sCAAsC,QAStD"}
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./claim-task.command"), exports);
|
|
|
19
19
|
__exportStar(require("./admin-create-task-definition.command"), exports);
|
|
20
20
|
__exportStar(require("./admin-update-task-definition.command"), exports);
|
|
21
21
|
__exportStar(require("./admin-delete-task-definition.command"), exports);
|
|
22
|
+
__exportStar(require("./admin-backfill-registration-grants.command"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../v1/tasks/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,uDAAqC;AACrC,yEAAuD;AACvD,yEAAuD;AACvD,yEAAuD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../v1/tasks/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,uDAAqC;AACrC,yEAAuD;AACvD,yEAAuD;AACvD,yEAAuD;AACvD,+EAA6D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BackfillRegistrationGrantsRequestSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const DEFAULT_LIMIT = 100;
|
|
6
|
+
const MAX_LIMIT = 200;
|
|
7
|
+
const MIN_LIMIT = 1;
|
|
8
|
+
exports.BackfillRegistrationGrantsRequestSchema = zod_1.z
|
|
9
|
+
.object({
|
|
10
|
+
cursor: zod_1.z
|
|
11
|
+
.uuid({ message: 'BackfillRegistrationGrantsRequest.cursor.uuid' })
|
|
12
|
+
.nullable()
|
|
13
|
+
.default(null),
|
|
14
|
+
limit: zod_1.z
|
|
15
|
+
.number({ error: 'BackfillRegistrationGrantsRequest.limit.required' })
|
|
16
|
+
.int({ message: 'BackfillRegistrationGrantsRequest.limit.int' })
|
|
17
|
+
.min(MIN_LIMIT, { message: 'BackfillRegistrationGrantsRequest.limit.min' })
|
|
18
|
+
.max(MAX_LIMIT, { message: 'BackfillRegistrationGrantsRequest.limit.max' })
|
|
19
|
+
.default(DEFAULT_LIMIT),
|
|
20
|
+
})
|
|
21
|
+
.strict()
|
|
22
|
+
.default({ cursor: null, limit: DEFAULT_LIMIT });
|
|
23
|
+
//# sourceMappingURL=backfill-registration-grants-request.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfill-registration-grants-request.schema.js","sourceRoot":"","sources":["../../../../v1/tasks/schemas/backfill-registration-grants-request.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,aAAa,GAAG,GAAG,CAAC;AAI1B,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,SAAS,GAAG,CAAC,CAAC;AAWP,QAAA,uCAAuC,GAAG,OAAC;KACnD,MAAM,CAAC;IACJ,MAAM,EAAE,OAAC;SACJ,IAAI,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;SAClE,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;IAClB,KAAK,EAAE,OAAC;SACH,MAAM,CAAC,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;SACrE,GAAG,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;SAC/D,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;SAC1E,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;SAC1E,OAAO,CAAC,aAAa,CAAC;CAC9B,CAAC;KACD,MAAM,EAAE;KACR,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BackfillRegistrationGrantsResponseSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.BackfillRegistrationGrantsResponseSchema = zod_1.z.object({
|
|
6
|
+
scanned: zod_1.z.number().int(),
|
|
7
|
+
claimed: zod_1.z.number().int(),
|
|
8
|
+
skipped: zod_1.z.number().int(),
|
|
9
|
+
failed: zod_1.z.number().int(),
|
|
10
|
+
nextCursor: zod_1.z.uuid().nullable(),
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=backfill-registration-grants-response.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfill-registration-grants-response.schema.js","sourceRoot":"","sources":["../../../../v1/tasks/schemas/backfill-registration-grants-response.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,wCAAwC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7D,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAExB,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
|
|
@@ -13,3 +13,5 @@ export * from './verify-task-response.schema';
|
|
|
13
13
|
export * from './claim-task-response.schema';
|
|
14
14
|
export * from './admin-task-definition.schema';
|
|
15
15
|
export * from './route-params.schema';
|
|
16
|
+
export * from './backfill-registration-grants-request.schema';
|
|
17
|
+
export * from './backfill-registration-grants-response.schema';
|
|
@@ -29,4 +29,6 @@ __exportStar(require("./verify-task-response.schema"), exports);
|
|
|
29
29
|
__exportStar(require("./claim-task-response.schema"), exports);
|
|
30
30
|
__exportStar(require("./admin-task-definition.schema"), exports);
|
|
31
31
|
__exportStar(require("./route-params.schema"), exports);
|
|
32
|
+
__exportStar(require("./backfill-registration-grants-request.schema"), exports);
|
|
33
|
+
__exportStar(require("./backfill-registration-grants-response.schema"), exports);
|
|
32
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../v1/tasks/schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,0DAAwC;AACxC,mDAAiC;AACjC,gEAA8C;AAC9C,uDAAqC;AACrC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,6CAA2B;AAC3B,8DAA4C;AAC5C,gEAA8C;AAC9C,+DAA6C;AAC7C,iEAA+C;AAC/C,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../v1/tasks/schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,0DAAwC;AACxC,mDAAiC;AACjC,gEAA8C;AAC9C,uDAAqC;AACrC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,6CAA2B;AAC3B,8DAA4C;AAC5C,gEAA8C;AAC9C,+DAA6C;AAC7C,iEAA+C;AAC/C,wDAAsC;AACtC,gFAA8D;AAC9D,iFAA+D"}
|
|
@@ -7,5 +7,6 @@ var UnregUserStatus;
|
|
|
7
7
|
UnregUserStatus["FRAUD"] = "FRAUD";
|
|
8
8
|
UnregUserStatus["MIGRATED"] = "MIGRATED";
|
|
9
9
|
UnregUserStatus["PAUSED"] = "PAUSED";
|
|
10
|
+
UnregUserStatus["LOGIN_LINK"] = "LOGIN_LINK";
|
|
10
11
|
})(UnregUserStatus || (exports.UnregUserStatus = UnregUserStatus = {}));
|
|
11
12
|
//# sourceMappingURL=unreg-user-status.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unreg-user-status.enum.js","sourceRoot":"","sources":["../../../../v1/unregistered-users/schemas/unreg-user-status.enum.ts"],"names":[],"mappings":";;;AAGA,IAAY,
|
|
1
|
+
{"version":3,"file":"unreg-user-status.enum.js","sourceRoot":"","sources":["../../../../v1/unregistered-users/schemas/unreg-user-status.enum.ts"],"names":[],"mappings":";;;AAGA,IAAY,eAeX;AAfD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,kCAAe,CAAA;IACf,wCAAqB,CAAA;IAErB,oCAAiB,CAAA;IASjB,4CAAyB,CAAA;AAC3B,CAAC,EAfW,eAAe,+BAAf,eAAe,QAe1B"}
|
|
@@ -9,6 +9,7 @@ export declare enum UnregUserErrorCode {
|
|
|
9
9
|
CANNOT_RESET_FRAUD_USER = "CANNOT_RESET_FRAUD_USER",
|
|
10
10
|
USER_ALREADY_FRAUD = "USER_ALREADY_FRAUD",
|
|
11
11
|
USER_ALREADY_MIGRATED = "USER_ALREADY_MIGRATED",
|
|
12
|
+
USER_LOGIN_LINKED = "USER_LOGIN_LINKED",
|
|
12
13
|
CANNOT_MIGRATE_FRAUD_USER = "CANNOT_MIGRATE_FRAUD_USER",
|
|
13
14
|
INVALID_USER_DATA = "INVALID_USER_DATA",
|
|
14
15
|
INVALID_STATUS_TRANSITION = "INVALID_STATUS_TRANSITION"
|
|
@@ -12,6 +12,7 @@ var UnregUserErrorCode;
|
|
|
12
12
|
UnregUserErrorCode["CANNOT_RESET_FRAUD_USER"] = "CANNOT_RESET_FRAUD_USER";
|
|
13
13
|
UnregUserErrorCode["USER_ALREADY_FRAUD"] = "USER_ALREADY_FRAUD";
|
|
14
14
|
UnregUserErrorCode["USER_ALREADY_MIGRATED"] = "USER_ALREADY_MIGRATED";
|
|
15
|
+
UnregUserErrorCode["USER_LOGIN_LINKED"] = "USER_LOGIN_LINKED";
|
|
15
16
|
UnregUserErrorCode["CANNOT_MIGRATE_FRAUD_USER"] = "CANNOT_MIGRATE_FRAUD_USER";
|
|
16
17
|
UnregUserErrorCode["INVALID_USER_DATA"] = "INVALID_USER_DATA";
|
|
17
18
|
UnregUserErrorCode["INVALID_STATUS_TRANSITION"] = "INVALID_STATUS_TRANSITION";
|
|
@@ -26,6 +27,7 @@ exports.UNREG_USER_ERRORS = {
|
|
|
26
27
|
[UnregUserErrorCode.CANNOT_RESET_FRAUD_USER]: { code: UnregUserErrorCode.CANNOT_RESET_FRAUD_USER, statusCode: 400 },
|
|
27
28
|
[UnregUserErrorCode.USER_ALREADY_FRAUD]: { code: UnregUserErrorCode.USER_ALREADY_FRAUD, statusCode: 400 },
|
|
28
29
|
[UnregUserErrorCode.USER_ALREADY_MIGRATED]: { code: UnregUserErrorCode.USER_ALREADY_MIGRATED, statusCode: 400 },
|
|
30
|
+
[UnregUserErrorCode.USER_LOGIN_LINKED]: { code: UnregUserErrorCode.USER_LOGIN_LINKED, statusCode: 400 },
|
|
29
31
|
[UnregUserErrorCode.CANNOT_MIGRATE_FRAUD_USER]: { code: UnregUserErrorCode.CANNOT_MIGRATE_FRAUD_USER, statusCode: 400 },
|
|
30
32
|
[UnregUserErrorCode.INVALID_USER_DATA]: { code: UnregUserErrorCode.INVALID_USER_DATA, statusCode: 400 },
|
|
31
33
|
[UnregUserErrorCode.INVALID_STATUS_TRANSITION]: { code: UnregUserErrorCode.INVALID_STATUS_TRANSITION, statusCode: 400 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unregistered-users.errors.js","sourceRoot":"","sources":["../../../v1/unregistered-users/unregistered-users.errors.ts"],"names":[],"mappings":";;;AAEA,IAAY,
|
|
1
|
+
{"version":3,"file":"unregistered-users.errors.js","sourceRoot":"","sources":["../../../v1/unregistered-users/unregistered-users.errors.ts"],"names":[],"mappings":";;;AAEA,IAAY,kBAcX;AAdD,WAAY,kBAAkB;IAC5B,qDAA+B,CAAA;IAC/B,qDAA+B,CAAA;IAC/B,uDAAiC,CAAA;IACjC,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,uEAAiD,CAAA;IACjD,yEAAmD,CAAA;IACnD,+DAAyC,CAAA;IACzC,qEAA+C,CAAA;IAC/C,6DAAuC,CAAA;IACvC,6EAAuD,CAAA;IACvD,6DAAuC,CAAA;IACvC,6EAAuD,CAAA;AACzD,CAAC,EAdW,kBAAkB,kCAAlB,kBAAkB,QAc7B;AAEY,QAAA,iBAAiB,GAA8C;IAC1E,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;IAC/F,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;IAC/F,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE;IACjG,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE;IAC3F,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE;IACjG,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,sBAAsB,EAAE,UAAU,EAAE,GAAG,EAAE;IACjH,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,uBAAuB,EAAE,UAAU,EAAE,GAAG,EAAE;IACnH,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE;IACzG,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,qBAAqB,EAAE,UAAU,EAAE,GAAG,EAAE;IAC/G,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;IACvG,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,yBAAyB,EAAE,UAAU,EAAE,GAAG,EAAE;IACvH,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;IACvG,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,yBAAyB,EAAE,UAAU,EAAE,GAAG,EAAE;CAC/G,CAAC"}
|