lemon-core 4.3.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +127 -2
  2. package/dist/common/lemon-error.d.ts +34 -0
  3. package/dist/common/lemon-error.js +52 -0
  4. package/dist/common/lemon-error.js.map +1 -0
  5. package/dist/controllers/general-api-controller.d.ts +7 -0
  6. package/dist/controllers/general-api-controller.js +7 -0
  7. package/dist/controllers/general-api-controller.js.map +1 -1
  8. package/dist/cores/api/api-service.js +10 -43
  9. package/dist/cores/api/api-service.js.map +1 -1
  10. package/dist/cores/aws/aws-kms-service.d.ts +13 -5
  11. package/dist/cores/aws/aws-kms-service.js +23 -9
  12. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  13. package/dist/cores/aws/aws-s3-service.d.ts +30 -4
  14. package/dist/cores/aws/aws-s3-service.js +35 -15
  15. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  16. package/dist/cores/aws/aws-sns-service.js +59 -9
  17. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  18. package/dist/cores/aws/aws-sqs-service.d.ts +1 -1
  19. package/dist/cores/aws/aws-sqs-service.js +54 -12
  20. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  21. package/dist/cores/cache/cache-service.d.ts +10 -9
  22. package/dist/cores/cache/cache-service.js +9 -346
  23. package/dist/cores/cache/cache-service.js.map +1 -1
  24. package/dist/cores/config/config-service.d.ts +3 -15
  25. package/dist/cores/config/config-service.js +5 -34
  26. package/dist/cores/config/config-service.js.map +1 -1
  27. package/dist/cores/dynamo/dynamo-query-service.js +42 -2
  28. package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
  29. package/dist/cores/dynamo/dynamo-scan-service.js +42 -2
  30. package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
  31. package/dist/cores/dynamo/dynamo-service.d.ts +45 -14
  32. package/dist/cores/dynamo/dynamo-service.js +48 -21
  33. package/dist/cores/dynamo/dynamo-service.js.map +1 -1
  34. package/dist/cores/dynamo/tools/expressions.js +32 -22
  35. package/dist/cores/dynamo/tools/expressions.js.map +1 -1
  36. package/dist/cores/dynamo/tools/lang.d.ts +30 -0
  37. package/dist/cores/dynamo/tools/lang.js +75 -0
  38. package/dist/cores/dynamo/tools/lang.js.map +1 -0
  39. package/dist/cores/dynamo/tools/query.js +20 -21
  40. package/dist/cores/dynamo/tools/query.js.map +1 -1
  41. package/dist/cores/dynamo/tools/scan.js +15 -16
  42. package/dist/cores/dynamo/tools/scan.js.map +1 -1
  43. package/dist/cores/dynamo/tools/serializer.js +40 -38
  44. package/dist/cores/dynamo/tools/serializer.js.map +1 -1
  45. package/dist/cores/dynamo/tools/utils.d.ts +6 -2
  46. package/dist/cores/dynamo/tools/utils.js +11 -8
  47. package/dist/cores/dynamo/tools/utils.js.map +1 -1
  48. package/dist/cores/elastic/elastic6-query-service.d.ts +1 -104
  49. package/dist/cores/elastic/elastic6-query-service.js +15 -489
  50. package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
  51. package/dist/cores/elastic/elastic6-service.d.ts +1 -482
  52. package/dist/cores/elastic/elastic6-service.js +15 -1153
  53. package/dist/cores/elastic/elastic6-service.js.map +1 -1
  54. package/dist/cores/elastic/index.d.ts +2 -2
  55. package/dist/cores/elastic/index.js +3 -2
  56. package/dist/cores/elastic/index.js.map +1 -1
  57. package/dist/cores/elastic/os2-query-service.d.ts +104 -0
  58. package/dist/cores/elastic/os2-query-service.js +495 -0
  59. package/dist/cores/elastic/os2-query-service.js.map +1 -0
  60. package/dist/cores/elastic/os2-service.d.ts +372 -0
  61. package/dist/cores/elastic/os2-service.js +943 -0
  62. package/dist/cores/elastic/os2-service.js.map +1 -0
  63. package/dist/cores/index.d.ts +6 -1
  64. package/dist/cores/index.js +9 -2
  65. package/dist/cores/index.js.map +1 -1
  66. package/dist/cores/lambda/index.js +2 -1
  67. package/dist/cores/lambda/index.js.map +1 -1
  68. package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -0
  69. package/dist/cores/lambda/lambda-cron-handler.js +5 -1
  70. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  71. package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +5 -4
  72. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +18 -5
  73. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  74. package/dist/cores/lambda/lambda-handler.d.ts +22 -2
  75. package/dist/cores/lambda/lambda-handler.js +85 -23
  76. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  77. package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -0
  78. package/dist/cores/lambda/lambda-sns-handler.js +5 -0
  79. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  80. package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -0
  81. package/dist/cores/lambda/lambda-sqs-handler.js +20 -5
  82. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  83. package/dist/cores/lambda/lambda-web-handler.d.ts +10 -0
  84. package/dist/cores/lambda/lambda-web-handler.js +107 -41
  85. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  86. package/dist/cores/protocol/aws-lambda-helper.js +58 -11
  87. package/dist/cores/protocol/aws-lambda-helper.js.map +1 -1
  88. package/dist/cores/protocol/index.js +3 -0
  89. package/dist/cores/protocol/index.js.map +1 -1
  90. package/dist/cores/protocol/protocol-service.d.ts +26 -5
  91. package/dist/cores/protocol/protocol-service.js +42 -12
  92. package/dist/cores/protocol/protocol-service.js.map +1 -1
  93. package/dist/cores/protocol/protocol-sign.d.ts +72 -0
  94. package/dist/cores/protocol/protocol-sign.js +194 -0
  95. package/dist/cores/protocol/protocol-sign.js.map +1 -0
  96. package/dist/cores/storage/index.d.ts +0 -1
  97. package/dist/cores/storage/index.js +0 -1
  98. package/dist/cores/storage/index.js.map +1 -1
  99. package/dist/cores/storage/model-fields.d.ts +7 -0
  100. package/dist/cores/storage/model-fields.js +21 -0
  101. package/dist/cores/storage/model-fields.js.map +1 -0
  102. package/dist/cores/storage/model-manager.d.ts +5 -2
  103. package/dist/cores/storage/model-manager.js +11 -3
  104. package/dist/cores/storage/model-manager.js.map +1 -1
  105. package/dist/engine/builder.js +20 -2
  106. package/dist/engine/builder.js.map +1 -1
  107. package/dist/engine/engine.d.ts +2 -2
  108. package/dist/engine/engine.js +5 -5
  109. package/dist/engine/engine.js.map +1 -1
  110. package/dist/engine/utilities.d.ts +20 -12
  111. package/dist/engine/utilities.js +57 -86
  112. package/dist/engine/utilities.js.map +1 -1
  113. package/dist/environ.d.ts +0 -6
  114. package/dist/environ.js +1 -12
  115. package/dist/environ.js.map +1 -1
  116. package/dist/esm/index.mjs +141 -0
  117. package/dist/esm/testing.mjs +12 -0
  118. package/dist/extended/abstract-service.d.ts +48 -139
  119. package/dist/extended/abstract-service.js +46 -382
  120. package/dist/extended/abstract-service.js.map +1 -1
  121. package/dist/extended/cores/abstract-controllers.d.ts +25 -0
  122. package/dist/extended/cores/abstract-controllers.js +77 -7
  123. package/dist/extended/cores/abstract-controllers.js.map +1 -1
  124. package/dist/extended/cores/abstract-rest-apis.d.ts +2 -1
  125. package/dist/extended/cores/abstract-rest-apis.js +2 -1
  126. package/dist/extended/cores/abstract-rest-apis.js.map +1 -1
  127. package/dist/extended/cores/abstract-services.d.ts +48 -87
  128. package/dist/extended/cores/abstract-services.js +121 -248
  129. package/dist/extended/cores/abstract-services.js.map +1 -1
  130. package/dist/extended/cores/commons.d.ts +4 -113
  131. package/dist/extended/cores/commons.js +26 -180
  132. package/dist/extended/cores/commons.js.map +1 -1
  133. package/dist/extended/cores/fields-admin.d.ts +91 -0
  134. package/dist/extended/cores/fields-admin.js +142 -0
  135. package/dist/extended/cores/fields-admin.js.map +1 -0
  136. package/dist/extended/cores/index.d.ts +2 -0
  137. package/dist/extended/cores/index.js +2 -0
  138. package/dist/extended/cores/index.js.map +1 -1
  139. package/dist/extended/cores/types.d.ts +3 -225
  140. package/dist/extended/cores/types.js +28 -0
  141. package/dist/extended/cores/types.js.map +1 -1
  142. package/dist/helpers/helpers.d.ts +10 -5
  143. package/dist/helpers/helpers.js +46 -58
  144. package/dist/helpers/helpers.js.map +1 -1
  145. package/dist/helpers/types.d.ts +22 -10
  146. package/dist/index.d.ts +1 -5
  147. package/dist/index.js +8 -14
  148. package/dist/index.js.map +1 -1
  149. package/dist/lib/http-fetch.d.ts +54 -0
  150. package/dist/lib/http-fetch.js +133 -0
  151. package/dist/lib/http-fetch.js.map +1 -0
  152. package/dist/lib/lazy.d.ts +22 -0
  153. package/dist/lib/lazy.js +54 -0
  154. package/dist/lib/lazy.js.map +1 -0
  155. package/dist/lib/perf.d.ts +35 -0
  156. package/dist/lib/perf.js +52 -0
  157. package/dist/lib/perf.js.map +1 -0
  158. package/dist/tools/tools.d.ts +15 -3
  159. package/dist/tools/tools.js +21 -4
  160. package/dist/tools/tools.js.map +1 -1
  161. package/package.json +96 -39
  162. package/dist/cores/storage/redis-storage-service.d.ts +0 -183
  163. package/dist/cores/storage/redis-storage-service.js +0 -377
  164. package/dist/cores/storage/redis-storage-service.js.map +0 -1
  165. package/dist/generated/field-registry.d.ts +0 -12
  166. package/dist/generated/field-registry.js +0 -21
  167. package/dist/generated/field-registry.js.map +0 -1
@@ -1,9 +1,15 @@
1
1
  import { NextContext } from 'lemon-model';
2
2
  import { STAGE, ProtocolService, ProtocolParam, ProtocolTransformer, ProtocolBody, CallbackParam, ProtocolExecuteOptions } from './../core-services';
3
- import { PublishCommandInput } from '@aws-sdk/client-sns';
4
- import { SendMessageCommandInput } from '@aws-sdk/client-sqs';
5
3
  import { APIGatewayProxyEvent, SNSMessage, SQSRecord } from 'aws-lambda';
6
4
  import { ConfigService } from './../config/config-service';
5
+ /**
6
+ * a message attribute of SNS/SQS (local structural type = the SDK `MessageAttributeValue`; v5 B2-c).
7
+ */
8
+ interface MyMessageAttributeValue {
9
+ DataType: string;
10
+ StringValue?: string;
11
+ BinaryValue?: Uint8Array;
12
+ }
7
13
  /**
8
14
  * header name to exchange `next-context`
9
15
  * ONLY for internal communication.
@@ -16,8 +22,15 @@ export declare const HEADER_PROTOCOL_CONTEXT: any;
16
22
  export type MyProtocolType = 'web' | 'sns' | 'sqs' | 'api';
17
23
  /**
18
24
  * type: MySNSEventParam
25
+ * - the SNS publish input this service builds (local structural type, the fields it uses; v5 B2-c).
19
26
  */
20
- export type MySNSEventParam = PublishCommandInput;
27
+ export interface MySNSEventParam {
28
+ TopicArn?: string;
29
+ Subject?: string;
30
+ Message: string;
31
+ MessageStructure?: string;
32
+ MessageAttributes?: Record<string, MyMessageAttributeValue>;
33
+ }
21
34
  /**
22
35
  * type of ProtocolParam w/ callback
23
36
  * - only valid from transformer.
@@ -88,7 +101,7 @@ export declare class MyProtocolService implements ProtocolService {
88
101
  * @param uri
89
102
  * @param param
90
103
  */
91
- transformEvent(uri: string, param: ProtocolParam): APIGatewayProxyEvent | PublishCommandInput | SendMessageCommandInput;
104
+ transformEvent(uri: string, param: ProtocolParam): APIGatewayProxyEvent | MySNSEventParam | SQSEventParam;
92
105
  /**
93
106
  * internal safe report-error.
94
107
  */
@@ -180,7 +193,15 @@ export declare class SNSProtocolTransformer implements ProtocolTransformer<MySNS
180
193
  */
181
194
  transformToParam(event: SNSMessage): MyProtocolParam;
182
195
  }
183
- type SQSEventParam = SendMessageCommandInput;
196
+ /**
197
+ * the SQS send input this service builds (local structural type, the fields it uses; v5 B2-c).
198
+ */
199
+ interface SQSEventParam {
200
+ QueueUrl: string;
201
+ MessageBody: string;
202
+ DelaySeconds?: number;
203
+ MessageAttributes?: Record<string, MyMessageAttributeValue>;
204
+ }
184
205
  /**
185
206
  * class: `SQSProtocolTransformer`
186
207
  * - transformer for `SQS` Handler
@@ -49,8 +49,6 @@ exports.SQSProtocolTransformer = exports.SNSProtocolTransformer = exports.WEBPro
49
49
  */
50
50
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
51
  const engine_1 = __importStar(require("../../engine/"));
52
- const client_sns_1 = require("@aws-sdk/client-sns");
53
- const client_sqs_1 = require("@aws-sdk/client-sqs");
54
52
  const lambda_handler_1 = require("./../lambda/lambda-handler");
55
53
  const tools_1 = require("../../tools");
56
54
  const url_1 = __importDefault(require("url"));
@@ -58,7 +56,19 @@ const config_1 = __importDefault(require("../config/")); // load config-module.
58
56
  const aws_1 = __importDefault(require("../aws/")); // load config-module.
59
57
  const qs_1 = __importDefault(require("qs"));
60
58
  const aws_lambda_helper_1 = require("./aws-lambda-helper");
59
+ const perf_1 = require("../../lib/perf");
60
+ const protocol_sign_1 = require("./protocol-sign");
61
61
  const NS = engine_1.$U.NS('PRTS', 'yellow'); // NAMESPACE TO BE PRINTED.
62
+ /**
63
+ * SDK packages, imported on the first use (not at import; v5 B2-c, K6). This file keeps its own loaders.
64
+ * - each loader is memoized, and its first call prints one `PERF` line.
65
+ */
66
+ let $sns;
67
+ let $sqs;
68
+ // loader of `@aws-sdk/client-sns`.
69
+ const loadSns = () => ($sns ??= (0, perf_1.measureAsync)(engine_1._inf, engine_1.$U.NS('PERF', 'cyan'), 'lazy-load @aws-sdk/client-sns', () => Promise.resolve().then(() => __importStar(require('@aws-sdk/client-sns')))));
70
+ // loader of `@aws-sdk/client-sqs`.
71
+ const loadSqs = () => ($sqs ??= (0, perf_1.measureAsync)(engine_1._inf, engine_1.$U.NS('PERF', 'cyan'), 'lazy-load @aws-sdk/client-sqs', () => Promise.resolve().then(() => __importStar(require('@aws-sdk/client-sqs')))));
62
72
  /**
63
73
  * header name to exchange `next-context`
64
74
  * ONLY for internal communication.
@@ -342,9 +352,10 @@ class MyProtocolService {
342
352
  (0, engine_1._inf)(NS, `> payload[${arn}] =`, engine_1.$U.json(params));
343
353
  //* call sns
344
354
  const region = arn.split(':')[3] || 'ap-northeast-2';
345
- const sns = new client_sns_1.SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
355
+ const { SNSClient, PublishCommand } = await loadSns(); // a new client per call (no `PERF > client` line).
356
+ const sns = new SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
346
357
  const res = await sns
347
- .send(new client_sns_1.PublishCommand(params))
358
+ .send(new PublishCommand(params))
348
359
  .catch((e) => {
349
360
  (0, engine_1._err)(NS, `! notify[${param.service || ''}].err =`, typeof e, e);
350
361
  return this.doReportError(e, param.context, null, { protocol: uri, param });
@@ -383,9 +394,10 @@ class MyProtocolService {
383
394
  (0, engine_1._inf)(NS, `> payload[${endpoint}] =`, engine_1.$U.json(params));
384
395
  //* call sns
385
396
  const region = endpoint.split('.')[1] || 'ap-northeast-2';
386
- const sqs = new client_sqs_1.SQSClient((0, tools_1.awsConfig)(engine_1.default, region));
397
+ const { SQSClient, SendMessageCommand } = await loadSqs(); // a new client per call.
398
+ const sqs = new SQSClient((0, tools_1.awsConfig)(engine_1.default, region));
387
399
  const res = await sqs
388
- .send(new client_sqs_1.SendMessageCommand(params))
400
+ .send(new SendMessageCommand(params))
389
401
  .catch((e) => {
390
402
  (0, engine_1._err)(NS, `! enqueue[${param.service || ''}].err =`, typeof e, e);
391
403
  return this.doReportError(e, param.context, null, { protocol: uri, param });
@@ -430,9 +442,10 @@ class MyProtocolService {
430
442
  params.MessageAttributes['requestId'] = { DataType: 'String', StringValue: requestId };
431
443
  //* call sns
432
444
  const region = arn.split(':')[3] || 'ap-northeast-2';
433
- const sns = new client_sns_1.SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
445
+ const { SNSClient, PublishCommand } = await loadSns(); // a new client per call.
446
+ const sns = new SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
434
447
  const res = await sns
435
- .send(new client_sns_1.PublishCommand(params))
448
+ .send(new PublishCommand(params))
436
449
  .catch((e) => {
437
450
  (0, engine_1._err)(NS, `! broadcast[${service || ''}].err =`, typeof e, e);
438
451
  return this.doReportError(e, context, null, { endpoint, body });
@@ -473,10 +486,15 @@ class WEBProtocolTransformer {
473
486
  //* build http parameter
474
487
  const base = {};
475
488
  const $ctx = {};
489
+ //* v5 B5: sign the exact header and body strings (no signature if no key).
490
+ const contextJson = engine_1.$U.json(context);
491
+ const bodyText = param.body ? engine_1.$U.json(param.body) : null;
492
+ const signature = (0, protocol_sign_1.signContext)(contextJson, bodyText);
476
493
  const event = {
477
494
  ...base,
478
495
  headers: {
479
- [exports.HEADER_PROTOCOL_CONTEXT]: engine_1.$U.json(context),
496
+ [exports.HEADER_PROTOCOL_CONTEXT]: contextJson,
497
+ ...(signature ? { [protocol_sign_1.HEADER_PROTOCOL_SIGNATURE]: signature } : {}),
480
498
  },
481
499
  path,
482
500
  httpMethod,
@@ -491,7 +509,7 @@ class WEBProtocolTransformer {
491
509
  accountId,
492
510
  requestId,
493
511
  },
494
- body: param.body ? engine_1.$U.json(param.body) : null,
512
+ body: bodyText,
495
513
  };
496
514
  const res = event;
497
515
  return res;
@@ -605,10 +623,13 @@ class SNSProtocolTransformer {
605
623
  const accountId = `${context.accountId || ''}`;
606
624
  const requestId = `${context.requestId || ''}`;
607
625
  (0, engine_1._log)(NS, `> TopicArn =`, TopicArn);
626
+ //* v5 B5: the receiver gets the `default` string as `Sns.Message` → sign that string.
627
+ const message = engine_1.$U.json(param);
628
+ const signature = (0, protocol_sign_1.signMessage)(message);
608
629
  const res = {
609
630
  TopicArn,
610
631
  Subject: `x-protocol-service`,
611
- Message: JSON.stringify({ default: engine_1.$U.json(param) }),
632
+ Message: JSON.stringify({ default: message }),
612
633
  // Message: JSON.stringify({ default: param }),
613
634
  MessageAttributes: {
614
635
  // accountId: { DataType: 'String', StringValue: accountId },
@@ -624,6 +645,9 @@ class SNSProtocolTransformer {
624
645
  //* append callback-url in attributes (WARN! string length limit)
625
646
  if (callback)
626
647
  res.MessageAttributes['callback'] = { DataType: 'String', StringValue: callback };
648
+ //* v5 B5: signature attribute (only if a key is set).
649
+ if (signature)
650
+ res.MessageAttributes[protocol_sign_1.ATTR_PROTOCOL_SIGNATURE] = { DataType: 'String', StringValue: signature };
627
651
  return res;
628
652
  }
629
653
  /**
@@ -678,10 +702,13 @@ class SQSProtocolTransformer {
678
702
  const QueueUrl = `https://sqs.${arr[3]}.amazonaws.com/${arr[4]}/${url.hostname}`;
679
703
  const accountId = `${context.accountId || ''}`;
680
704
  const requestId = `${context.requestId || ''}`;
705
+ //* v5 B5: sign the exact `MessageBody` string (the receiver's `record.body`).
706
+ const messageBody = engine_1.$U.json(param);
707
+ const signature = (0, protocol_sign_1.signMessage)(messageBody);
681
708
  const res = {
682
709
  // DelaySeconds: 10, //NOTE - use SQS's configuration.
683
710
  QueueUrl,
684
- MessageBody: engine_1.$U.json(param),
711
+ MessageBody: messageBody,
685
712
  MessageAttributes: {
686
713
  Subject: { DataType: 'String', StringValue: 'x-protocol-service' }, //NOTE! - should use 'Subject' in here.
687
714
  // accountId: { DataType: 'String', StringValue: accountId },
@@ -696,6 +723,9 @@ class SQSProtocolTransformer {
696
723
  //* append callback-url in attributes (WARN! string length limit)
697
724
  if (callback)
698
725
  res.MessageAttributes['callback'] = { DataType: 'String', StringValue: callback };
726
+ //* v5 B5: signature attribute (only if a key is set).
727
+ if (signature)
728
+ res.MessageAttributes[protocol_sign_1.ATTR_PROTOCOL_SIGNATURE] = { DataType: 'String', StringValue: signature };
699
729
  return res;
700
730
  }
701
731
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-service.js","sourceRoot":"","sources":["../../../src/cores/protocol/protocol-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-service.js","sourceRoot":"","sources":["../../../src/cores/protocol/protocol-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,6DAA6D;AAC7D,wDAA0F;AAe1F,+DAA2D;AAC3D,uCAAwC;AACxC,8CAAsB;AACtB,wDAA+B,CAAC,sBAAsB;AACtD,kDAA2B,CAAC,sBAAsB;AAClD,4CAA6B;AAC7B,2DAAmD;AACnD,yCAA8C;AAC9C,mDAA+G;AAC/G,MAAM,EAAE,GAAG,WAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,2BAA2B;AAE/D;;;GAGG;AACH,IAAI,IAAmD,CAAC;AACxD,IAAI,IAAmD,CAAC;AACxD,mCAAmC;AACnC,MAAM,OAAO,GAAG,GAAG,EAAE,CACjB,CAAC,IAAI,KAAK,IAAA,mBAAY,EAClB,aAAI,EACJ,WAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACrB,+BAA+B,EAC/B,GAAG,EAAE,mDAAQ,qBAAqB,GAAC,CACtC,CAAC,CAAC;AACP,mCAAmC;AACnC,MAAM,OAAO,GAAG,GAAG,EAAE,CACjB,CAAC,IAAI,KAAK,IAAA,mBAAY,EAClB,aAAI,EACJ,WAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACrB,+BAA+B,EAC/B,GAAG,EAAE,mDAAQ,qBAAqB,GAAC,CACtC,CAAC,CAAC;AAWP;;;GAGG;AACU,QAAA,uBAAuB,GAAG,WAAE,CAAC,GAAG,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAC;AA4B/F;;;;GAIG;AACH,MAAa,iBAAiB;IAC1B,kBAAkB;IACX,MAAM,CAAC,YAAY,GAAY,8BAAa,CAAC,YAAY,CAAC;IAEjE,gBAAgB;IACA,GAAG,GAA2B,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/D,GAAG,GAA2B,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/D,GAAG,GAA2B,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE/E,yBAAyB;IAClB,MAAM,CAAgB;IAE7B,oBAAoB;IACV,WAAW,CAAS;IAE9B;;;;;OAKG;IACH,YAAmB,OAAgB,EAAE,MAAsB;QACvD,qCAAqC;QACrC,IAAI,CAAC,WAAW,GAAG,GAAG,OAAO,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAK,CAAC,MAAM,CAAC,CAAC,8BAA8B;IAChF,CAAC;IAED;;OAEG;IACI,KAAK,GAAG,GAAW,EAAE,CAAC,oBAAoB,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;IAE1E,uBAAuB;IAChB,MAAM,CAAC,MAAM,GAAG,CAAC,IAAY,EAAE,EAAW,EAAE,GAAY,EAAU,EAAE;QACvE,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,uBAAuB;QACvB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC,CAAC;IAEF;;OAEG;IACI,aAAa,CAAC,IAA2B;QAC5C,IAAI,IAAI,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC;aAC9B,IAAI,IAAI,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC;aACnC,IAAI,IAAI,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC;;YACnC,OAAO,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,aAAa,CAAC,QAAwB,EAAE,KAAoB,EAAE,MAAsB;QACvF,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QACvC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACvG,MAAM,KAAK,GAAU,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC;QAE7E,6CAA6C;QAC7C,MAAM,GAAG,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3H,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,QAAQ,IAAI,OAAO,OAAO,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACI,aAAa,CAAC,OAAoB,EAAE,IAAa,EAAE,EAAW,EAAE,GAAY;QAC/E,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACjH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,gBAAgB,CAC1B,MAAqB,EACrB,OAAoB,EACpB,QAAwB,EACxB,OAAwB,EACxB,KAAiB,EACjB,IAAY,EACZ,EAAW,EACX,GAAY;QAEZ,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChE,+DAA+D;QAC/D,6DAA6D;QAC7D,oDAAoD;QAEpD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAW,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAE5D,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QACpD,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAEnC,iCAAiC;QACjC,MAAM,KAAK,GAAG,CAAC,QAAwB,EAAE,GAAW,EAAU,EAAE;YAC5D,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7E,MAAM,IAAI,GAAG,QAAQ,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvE,QAAQ,KAAK,EAAE,CAAC;gBACZ,KAAK,MAAM;oBACP,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;gBACtD,KAAK,OAAO,CAAC;gBACb,KAAK,KAAK,CAAC;gBACX;oBACI,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;YAClE,CAAC;QACL,CAAC,CAAC;QAEF,iGAAiG;QACjG,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAE,IAAa,EAAU,EAAE;YACjE,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC;YACxB,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,KAAK,IAAI,MAAM;oBAAE,OAAO,SAAS,IAAI,EAAE,CAAC;gBAC5C,OAAO,IAAI,IAAI,EAAE,CAAC;YACtB,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,mCAAmC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,QAAQ,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;IAC5F,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,GAAW,EAAE,KAAoB;QACnD,MAAM,GAAG,GAAG,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACjD,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACjD,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,aAAa,CAAI,CAAQ,EAAE,OAAa,EAAE,KAAW,EAAE,IAAU;QAC7E,IAAI,CAAC,iBAAiB,CAAC,YAAY;YAAE,MAAM,CAAC,CAAC;QAC7C,IAAA,aAAI,EAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAA,sBAAa,EAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;aACxC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aACf,IAAI,CAAC,GAAG,EAAE;YACP,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;OAUG;IACI,OAAO,CAAC,OAAoB,EAAE,GAAW,EAAE,KAAoB,EAAE,IAAmB;QACvF,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,MAAM,GAAG,GAAG,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,gCAAgC;QAClE,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,KAAK,GACP,KAAK,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAY,CAAC;QAC9G,0BAA0B;QAC1B,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACrB,IAAI,EAAE,EAAE,CAAC;YACL,MAAM,GAAG,GAAG,WAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5B,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,2BAA2B;QAC3B,MAAM,KAAK,GAAkB;YACzB,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YACzC,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,KAAK;YACL,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACpC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAC/B,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;SAC1B,CAAC;QACF,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5D,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAAoB,EAAE,KAAoB;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAE,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IACxF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAChB,KAAoB,EACpB,MAAsB,EACtB,OAAyC;QAEzC,6BAA6B;QAC7B,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAA,aAAI,EAAC,EAAE,EAAE,WAAW,KAAK,CAAC,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;QAChE,MAAM,QAAQ,GAAG,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9F,4BAA4B;QAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAEzB,4BAA4B;QAC5B,MAAM,IAAI,GAAG,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAyB,CAAC;QACxE,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,gBAAO,CAAC,CAAC;QAClC,OAAO,IAAA,gCAAY,EAAI,IAAI,CAAC,QAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,KAAoB,EAAE,QAAwB,EAAE,MAAsB;QACtF,6BAA6B;QAC7B,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QAChE,IAAA,aAAI,EAAC,EAAE,EAAE,UAAU,OAAO,KAAK,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,MAAM,GAAwB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,kEAAkE;QAC/F,wCAAwC;QACxC,IAAA,aAAI,EAAC,EAAE,EAAE,aAAa,GAAG,KAAK,EAAE,WAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjD,YAAY;QACZ,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QACrD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,mDAAmD;QAC1G,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAA,iBAAS,EAAC,gBAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,GAAG;aAChB,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;aAChC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAChB,IAAA,aAAI,EAAC,EAAE,EAAE,YAAY,KAAK,CAAC,OAAO,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAA0B,EAAE,EAAE;YACjC,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,OAAO,KAAK,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC,CAAC,CAAC;QACP,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,OAAO,CAChB,KAAoB,EACpB,QAAwB,EACxB,YAAqB,EACrB,MAAsB;QAEtB,6BAA6B;QAC7B,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1D,IAAA,aAAI,EAAC,EAAE,EAAE,WAAW,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC;QACrC,YAAY,GAAG,WAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,YAAY,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,YAAY,EAAE,CAAC,CAAC;QAEpG,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAA,aAAI,EAAC,EAAE,EAAE,cAAc,OAAO,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,sCAAsC;QACxE,kDAAkD;QAClD,IAAA,aAAI,EAAC,EAAE,EAAE,aAAa,QAAQ,KAAK,EAAE,WAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtD,YAAY;QACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QAC1D,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,yBAAyB;QACpF,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAA,iBAAS,EAAC,gBAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,GAAG;aAChB,IAAI,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;aACpC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAChB,IAAA,aAAI,EAAC,EAAE,EAAE,aAAa,KAAK,CAAC,OAAO,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAA8B,EAAE,EAAE;YACrC,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,QAAQ,KAAK,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC,CAAC,CAAC;QACP,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,SAAS,CAAC,OAAoB,EAAE,QAAgB,EAAE,IAAkB;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAA,aAAI,EAAC,EAAE,EAAE,aAAa,OAAO,KAAK,CAAC,CAAC;QACpC,IAAA,aAAI,EAAC,EAAE,EAAE,UAAU,OAAO,KAAK,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,MAAM,aAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,QAAQ,KAAK,EAAE,GAAG,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAwB;YAChC,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,8BAA8B,EAAE,wDAAwD;YACjG,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qCAAqC;YAC1F,+CAA+C;YAC/C,iBAAiB,EAAE;YACf,6DAA6D;YAC7D,6DAA6D;aAChE;YACD,gBAAgB,EAAE,MAAM;SAC3B,CAAC;QACF,IAAI,SAAS;YAAE,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACtG,IAAI,SAAS;YAAE,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAEtG,YAAY;QACZ,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QACrD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,yBAAyB;QAChF,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAA,iBAAS,EAAC,gBAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,GAAG;aAChB,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;aAChC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAChB,IAAA,aAAI,EAAC,EAAE,EAAE,eAAe,OAAO,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAA0B,EAAE,EAAE;YACjC,IAAA,aAAI,EAAC,EAAE,EAAE,SAAS,OAAO,KAAK,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC,CAAC,CAAC;QACP,OAAO,GAAG,CAAC;IACf,CAAC;;AA7ZL,8CA8ZC;AAED;;;GAGG;AACH,MAAa,sBAAsB;IAC/B,sCAAsC;IACtC,YAAmB,OAA2B;QAC1C,0BAA0B;IAC9B,CAAC;IACD;;;OAGG;IACI,gBAAgB,CAAC,GAAW,EAAE,KAAoB;QACrD,MAAM,IAAI,GAAa,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,EAAc,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;QAC1D,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAErC,8DAA8D;QAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAE5D,wBAAwB;QACxB,MAAM,IAAI,GAAyB,EAA0B,CAAC;QAC9D,MAAM,IAAI,GAAkC,EAAmC,CAAC;QAChF,2EAA2E;QAC3E,MAAM,WAAW,GAAG,WAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,SAAS,GAAG,IAAA,2BAAW,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,KAAK,GAAyB;YAChC,GAAG,IAAI;YACP,OAAO,EAAE;gBACL,CAAC,+BAAuB,CAAC,EAAE,WAAW;gBACtC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,yCAAyB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE;YACD,IAAI;YACJ,UAAU;YACV,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;YACjC,qBAAqB,EAAE,KAAK,CAAC,KAAK;YAClC,cAAc,EAAE;gBACZ,GAAG,IAAI;gBACP,IAAI;gBACJ,UAAU;gBACV,QAAQ,EAAE,IAAI,EAAE,uDAAuD;gBACvE,KAAK;gBACL,SAAS;gBACT,SAAS;aACZ;YACD,IAAI,EAAE,QAAQ;SACjB,CAAC;QACF,MAAM,GAAG,GAAyB,KAAK,CAAC;QACxC,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,KAA2B,EAAE,OAAqB;QACtE,MAAM,QAAQ,GAAG,wBAAwB,KAAK,EAAE,IAAI,IAAI,EAAE,GAAG,CAAC;QAC9D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC,CAAC,wBAAwB;QACrG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;QAE3F,wBAAwB;QACxB,MAAM,QAAQ,GAAG,CAAC,OAAoB,EAAe,EAAE;YACnD,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC,CAAC,qBAAqB;YAClD,MAAM,GAAG,GAAG,OAAO,CAAC,+BAAuB,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC,CAAC,cAAc;YACrC,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,EAAE,CAAC,CAAC;YACtG,IAAI,CAAC;gBACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,OAAO,CAAgB,CAAC;YAC3D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAA,aAAI,EAAC,EAAE,EAAE,mBAAmB,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,IAAI,CAAC,CAAC,qBAAqB;QACtC,CAAC,CAAC;QACF,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAE3G,gBAAgB;QAChB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,oFAAoF;QAClI,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7F,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC;QACvD,IAAA,aAAI,EAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAA,aAAI,EAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAC/C,kDAAkD;QAClD,MAAM,KAAK,GAAiD,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;QACvF,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC;QAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAS,EAAE,IAAY,EAAE,eAAwB,EAAO,EAAE;YACrE,IAAI,GAAG,eAAe,IAAI,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClG,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,IAAI,IAAI,QAAQ,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;YACpE,IAAI,CAAC;gBACD,IAAI,MAAM,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClF,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,oFAAoF;YACpF,IAAI,MAAM,IAAI,MAAM;gBAAE,OAAO,YAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAE1C,2BAA2B;QAC3B,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,KAAK,GAAU,GAAG,cAAc,CAAC,KAAK,IAAI,EAAE,EAAW,CAAC;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,2CAA2C;QACvH,MAAM,IAAI,GACN,UAAU,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,UAAU,EAAE,CAAC,WAAW,EAAe,CAAC;QAE1G,oBAAoB;QACpB,IAAI,OAAO,EAAE,SAAS,IAAI,cAAc,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACnE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC/F,IAAI,OAAO,EAAE,SAAS,IAAI,cAAc,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACnE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC;QAE/F,2BAA2B;QAC3B,MAAM,GAAG,GAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9G,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAjID,wDAiIC;AAED;;;GAGG;AACH,MAAa,sBAAsB;IACvB,OAAO,CAAoB;IACnC,YAAmB,OAA0B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD;;;OAGG;IACI,gBAAgB,CAAC,GAAW,EAAE,KAAoB,EAAE,QAAiB;QACxE,wDAAwD;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kEAAkE;QAC1G,2BAA2B;QAC3B,MAAM,GAAG,GAAG,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACb,MAAM,QAAQ,GAAW,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAA,aAAI,EAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QACnC,sFAAsF;QACtF,MAAM,OAAO,GAAG,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAA,2BAAW,EAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAoB;YACzB,QAAQ;YACR,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC7C,+CAA+C;YAC/C,iBAAiB,EAAE;YACf,6DAA6D;YAC7D,6DAA6D;aAChE;YACD,gBAAgB,EAAE,MAAM;SAC3B,CAAC;QACF,gCAAgC;QAChC,IAAI,SAAS;YAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACnG,IAAI,SAAS;YAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACnG,iEAAiE;QACjE,IAAI,QAAQ;YAAE,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAChG,sDAAsD;QACtD,IAAI,SAAS;YAAE,GAAG,CAAC,iBAAiB,CAAC,uCAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC/G,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,KAAiB;QACrC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;QAEtD,oBAAoB;QACpB,MAAM,KAAK,GAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/C,oBAAoB;QACpB,IAAI,OAAO,IAAI,oBAAoB;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,0BAA0B,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAClC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,MAAM,SAAS,GAAW,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAW,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAW,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1C,oBAAoB;QACpB,IAAI,SAAS,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5E,IAAI,SAAS,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAE5E,YAAY;QACZ,MAAM,GAAG,GAAoB,KAAK,CAAC;QACnC,IAAI,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtC,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA5ED,wDA4EC;AAWD;;;GAGG;AACH,MAAa,sBAAsB;IACvB,OAAO,CAAoB;IACnC,YAAmB,OAA0B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD;;;OAGG;IACI,gBAAgB,CAAC,GAAW,EAAE,KAAoB,EAAE,QAAiB;QACxE,wDAAwD;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kEAAkE;QAC1G,2BAA2B;QAC3B,MAAM,GAAG,GAAG,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjF,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/C,8EAA8E;QAC9E,MAAM,WAAW,GAAG,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,2BAAW,EAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAkB;YACvB,sDAAsD;YACtD,QAAQ;YACR,WAAW,EAAE,WAAW;YACxB,iBAAiB,EAAE;gBACf,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE,uCAAuC;gBAC3G,6DAA6D;gBAC7D,6DAA6D;aAChE;SACJ,CAAC;QACF,gCAAgC;QAChC,IAAI,SAAS;YAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACnG,IAAI,SAAS;YAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACnG,iEAAiE;QACjE,IAAI,QAAQ;YAAE,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAChG,sDAAsD;QACtD,IAAI,SAAS;YAAE,GAAG,CAAC,iBAAiB,CAAC,uCAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC/G,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,KAAgB;QACpC,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,oBAAoB;QACpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;QACzF,MAAM,KAAK,GAAkB,KAAK,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QAEvC,oBAAoB;QACpB,IAAI,OAAO,IAAI,oBAAoB;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,0BAA0B,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAClC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,oBAAoB;QACpB,IAAI,OAAO,IAAI,SAAS,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5E,IAAI,OAAO,IAAI,SAAS,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAE5E,YAAY;QACZ,MAAM,GAAG,GAAoB,KAAK,CAAC;QACnC,IAAI,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtC,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA1ED,wDA0EC"}
@@ -0,0 +1,72 @@
1
+ /** env name of the install-wide signing key (`*<base64>` is KMS-decrypted by the config service) */
2
+ export declare const PROTOCOL_SIGN_KEY = "PROTOCOL_SIGN_KEY";
3
+ /** env name of the verify mode (`off` | `warn` | `enforce`) */
4
+ export declare const PROTOCOL_VERIFY = "PROTOCOL_VERIFY";
5
+ /** header name of the web signature */
6
+ export declare const HEADER_PROTOCOL_SIGNATURE = "x-protocol-signature";
7
+ /** message attribute name of the SNS/SQS signature */
8
+ export declare const ATTR_PROTOCOL_SIGNATURE = "signature";
9
+ /** web freshness window (seconds). SNS/SQS have none (queue delay, retry and DLQ redrive exceed any window) */
10
+ export declare const WEB_FRESHNESS_SEC = 300;
11
+ /** verify mode */
12
+ export type ProtocolVerifyMode = 'off' | 'warn' | 'enforce';
13
+ /** result of a verification */
14
+ export interface ProtocolVerifyResult {
15
+ /** true if the signature is valid */
16
+ ok: boolean;
17
+ /** reason of a failure (`missing`, `format`, `stale`, `mismatch`, `no-key`) */
18
+ reason?: string;
19
+ /** signed time (epoch seconds) if parsed — for logs only */
20
+ ts?: number;
21
+ }
22
+ /** read the signing key (cached after the first non-empty read) */
23
+ export declare const readSignKey: () => string;
24
+ /** reset the module cache (for tests that toggle the env) */
25
+ export declare const resetProtocolSign: () => void;
26
+ /** read the verify mode. default: `warn` if the key is set, else `off` */
27
+ export declare const readVerifyMode: () => ProtocolVerifyMode;
28
+ /** print the init line once when no key is set (called from the protocol module init) */
29
+ export declare const logSignKeyState: () => void;
30
+ /** sha256 hex of a string (`null`/`undefined` → empty string) */
31
+ export declare const sha256hex: (text?: string | null) => string;
32
+ /** canonical string of a web call: `v1\n<ts>\n<contextJson>\n<sha256hex(body ?? '')>` */
33
+ export declare const canonicalWeb: (ts: number, contextJson: string, body?: string | null) => string;
34
+ /** canonical string of a SNS/SQS message: `v1\n<ts>\n<sha256hex(message)>` */
35
+ export declare const canonicalMessage: (ts: number, message: string) => string;
36
+ /**
37
+ * sign a web call. returns `v1.<ts>.<sig>`, or '' if no key.
38
+ * @param contextJson the exact header string (`x-protocol-context`)
39
+ * @param body the exact event body string (or null)
40
+ */
41
+ export declare const signContext: (contextJson: string, body?: string | null, options?: {
42
+ key?: string;
43
+ now?: number;
44
+ }) => string;
45
+ /**
46
+ * verify a web call (freshness 300 s). compares the raw header string, never a re-serialized one.
47
+ */
48
+ export declare const verifyContext: (signature: string, contextJson: string, body?: string | null, options?: {
49
+ key?: string;
50
+ now?: number;
51
+ }) => ProtocolVerifyResult;
52
+ /**
53
+ * sign a SNS/SQS message (the exact string the receiver gets). returns `v1.<ts>.<sig>`, or '' if no key.
54
+ */
55
+ export declare const signMessage: (message: string, options?: {
56
+ key?: string;
57
+ now?: number;
58
+ }) => string;
59
+ /**
60
+ * verify a SNS/SQS message (no freshness window).
61
+ */
62
+ export declare const verifyMessage: (signature: string, message: string, options?: {
63
+ key?: string;
64
+ }) => ProtocolVerifyResult;
65
+ /**
66
+ * apply the verify mode to a result.
67
+ * - `off`: pass without checking. `warn`: pass, and log 1 line if not ok. `enforce`: throw `403` if not ok.
68
+ *
69
+ * @param source `web` | `sns` | `sqs` (for the log line)
70
+ * @param verify lazy verification (not run in `off`)
71
+ */
72
+ export declare const assertSigned: (source: string, verify: () => ProtocolVerifyResult, mode?: ProtocolVerifyMode) => boolean;
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.assertSigned = exports.verifyMessage = exports.signMessage = exports.verifyContext = exports.signContext = exports.canonicalMessage = exports.canonicalWeb = exports.sha256hex = exports.logSignKeyState = exports.readVerifyMode = exports.resetProtocolSign = exports.readSignKey = exports.WEB_FRESHNESS_SEC = exports.ATTR_PROTOCOL_SIGNATURE = exports.HEADER_PROTOCOL_SIGNATURE = exports.PROTOCOL_VERIFY = exports.PROTOCOL_SIGN_KEY = void 0;
7
+ /**
8
+ * `cores/protocol/protocol-sign.ts`
9
+ * - v5 B5: HMAC-SHA256 signature of the internal protocol calls (K10, SPEC § 6.2).
10
+ * - web: header `x-protocol-signature` over the context header string and the body.
11
+ * - SNS/SQS: message attribute `signature` over the message string.
12
+ * - value `v1.<ts>.<sig>`: `ts` = epoch seconds, `sig` = base64url(HMAC-SHA256(key, canonical)).
13
+ * - NOTE: deep module only (`./dist/cores/protocol/protocol-sign`). not re-exported by the root.
14
+ *
15
+ * @author Steve Jung <steve@lemoncloud.io>
16
+ * @date 2026-10-28 initial version (v5 B5)
17
+ *
18
+ * @copyright (C) lemoncloud.io 2026 - All Rights Reserved.
19
+ */
20
+ const crypto_1 = __importDefault(require("crypto"));
21
+ const engine_1 = require("../../engine/");
22
+ const config_1 = __importDefault(require("../config/"));
23
+ const NS = engine_1.$U.NS('PRTS', 'yellow'); // NAMESPACE TO BE PRINTED.
24
+ /** env name of the install-wide signing key (`*<base64>` is KMS-decrypted by the config service) */
25
+ exports.PROTOCOL_SIGN_KEY = 'PROTOCOL_SIGN_KEY';
26
+ /** env name of the verify mode (`off` | `warn` | `enforce`) */
27
+ exports.PROTOCOL_VERIFY = 'PROTOCOL_VERIFY';
28
+ /** header name of the web signature */
29
+ exports.HEADER_PROTOCOL_SIGNATURE = 'x-protocol-signature';
30
+ /** message attribute name of the SNS/SQS signature */
31
+ exports.ATTR_PROTOCOL_SIGNATURE = 'signature';
32
+ /** web freshness window (seconds). SNS/SQS have none (queue delay, retry and DLQ redrive exceed any window) */
33
+ exports.WEB_FRESHNESS_SEC = 300;
34
+ //* module cache of the key (filled on the first non-empty read).
35
+ let $signKey = null;
36
+ //* the "key not set" line is printed once.
37
+ let $keyLogged = false;
38
+ /** read a config value via the config service (KMS-decrypted). before `init()`, a plain (not `*`) env value is used */
39
+ const readConfig = (name) => {
40
+ const val = config_1.default?.config?.get(name);
41
+ if (val !== undefined && val !== null)
42
+ return `${val}`;
43
+ //* config not initialized yet (ex: unit tests): never use an encrypted `*...` value as is.
44
+ const raw = process?.env?.[name];
45
+ return typeof raw === 'string' && !raw.startsWith('*') ? raw : undefined;
46
+ };
47
+ /** read the signing key (cached after the first non-empty read) */
48
+ const readSignKey = () => {
49
+ if ($signKey)
50
+ return $signKey;
51
+ const key = readConfig(exports.PROTOCOL_SIGN_KEY);
52
+ //* a failed KMS decrypt leaves `ERROR - …` in the config — treat as not set.
53
+ if (key && !key.startsWith('ERROR - '))
54
+ $signKey = key;
55
+ return $signKey || '';
56
+ };
57
+ exports.readSignKey = readSignKey;
58
+ /** reset the module cache (for tests that toggle the env) */
59
+ const resetProtocolSign = () => {
60
+ $signKey = null;
61
+ $keyLogged = false;
62
+ };
63
+ exports.resetProtocolSign = resetProtocolSign;
64
+ /** read the verify mode. default: `warn` if the key is set, else `off` */
65
+ const readVerifyMode = () => {
66
+ const mode = `${readConfig(exports.PROTOCOL_VERIFY) ?? ''}`.trim().toLowerCase();
67
+ if (mode === 'off' || mode === 'warn' || mode === 'enforce')
68
+ return mode;
69
+ return (0, exports.readSignKey)() ? 'warn' : 'off';
70
+ };
71
+ exports.readVerifyMode = readVerifyMode;
72
+ /** print the init line once when no key is set (called from the protocol module init) */
73
+ const logSignKeyState = () => {
74
+ if ($keyLogged)
75
+ return;
76
+ $keyLogged = true;
77
+ if (!(0, exports.readSignKey)())
78
+ (0, engine_1._inf)(NS, `PROTOCOL sign key not set — contexts unsigned`);
79
+ };
80
+ exports.logSignKeyState = logSignKeyState;
81
+ /** sha256 hex of a string (`null`/`undefined` → empty string) */
82
+ const sha256hex = (text) => crypto_1.default
83
+ .createHash('sha256')
84
+ .update(text ?? '', 'utf8')
85
+ .digest('hex');
86
+ exports.sha256hex = sha256hex;
87
+ /** base64url(HMAC-SHA256(key, canonical)) */
88
+ const hmac = (key, canonical) => crypto_1.default.createHmac('sha256', key).update(canonical, 'utf8').digest('base64url');
89
+ /** canonical string of a web call: `v1\n<ts>\n<contextJson>\n<sha256hex(body ?? '')>` */
90
+ const canonicalWeb = (ts, contextJson, body) => `v1\n${ts}\n${contextJson ?? ''}\n${(0, exports.sha256hex)(body ?? '')}`;
91
+ exports.canonicalWeb = canonicalWeb;
92
+ /** canonical string of a SNS/SQS message: `v1\n<ts>\n<sha256hex(message)>` */
93
+ const canonicalMessage = (ts, message) => `v1\n${ts}\n${(0, exports.sha256hex)(message ?? '')}`;
94
+ exports.canonicalMessage = canonicalMessage;
95
+ /** current epoch seconds */
96
+ const nowSec = () => Math.floor(Date.now() / 1000);
97
+ /** parse `v1.<ts>.<sig>` (null if malformed) */
98
+ const parseSignature = (signature) => {
99
+ const parts = typeof signature === 'string' ? signature.split('.') : [];
100
+ if (parts.length !== 3 || parts[0] !== 'v1')
101
+ return null;
102
+ if (!/^[0-9]{1,12}$/.test(parts[1]) || !parts[2])
103
+ return null;
104
+ return { ts: Number(parts[1]), sig: parts[2] };
105
+ };
106
+ /** constant-time compare of two base64url strings */
107
+ const sameSig = (a, b) => {
108
+ const x = Buffer.from(a, 'utf8');
109
+ const y = Buffer.from(b, 'utf8');
110
+ return x.length === y.length && crypto_1.default.timingSafeEqual(x, y);
111
+ };
112
+ /**
113
+ * sign a web call. returns `v1.<ts>.<sig>`, or '' if no key.
114
+ * @param contextJson the exact header string (`x-protocol-context`)
115
+ * @param body the exact event body string (or null)
116
+ */
117
+ const signContext = (contextJson, body, options) => {
118
+ const key = options?.key ?? (0, exports.readSignKey)();
119
+ if (!key)
120
+ return '';
121
+ const ts = options?.now ?? nowSec();
122
+ return `v1.${ts}.${hmac(key, (0, exports.canonicalWeb)(ts, contextJson, body))}`;
123
+ };
124
+ exports.signContext = signContext;
125
+ /**
126
+ * verify a web call (freshness 300 s). compares the raw header string, never a re-serialized one.
127
+ */
128
+ const verifyContext = (signature, contextJson, body, options) => {
129
+ const key = options?.key ?? (0, exports.readSignKey)();
130
+ if (!key)
131
+ return { ok: false, reason: 'no-key' };
132
+ if (!signature)
133
+ return { ok: false, reason: 'missing' };
134
+ const $sig = parseSignature(signature);
135
+ if (!$sig)
136
+ return { ok: false, reason: 'format' };
137
+ //* freshness: |now - ts| <= 300 s.
138
+ const now = options?.now ?? nowSec();
139
+ if (Math.abs(now - $sig.ts) > exports.WEB_FRESHNESS_SEC)
140
+ return { ok: false, reason: 'stale', ts: $sig.ts };
141
+ const ok = sameSig($sig.sig, hmac(key, (0, exports.canonicalWeb)($sig.ts, contextJson, body)));
142
+ return ok ? { ok, ts: $sig.ts } : { ok, reason: 'mismatch', ts: $sig.ts };
143
+ };
144
+ exports.verifyContext = verifyContext;
145
+ /**
146
+ * sign a SNS/SQS message (the exact string the receiver gets). returns `v1.<ts>.<sig>`, or '' if no key.
147
+ */
148
+ const signMessage = (message, options) => {
149
+ const key = options?.key ?? (0, exports.readSignKey)();
150
+ if (!key)
151
+ return '';
152
+ const ts = options?.now ?? nowSec();
153
+ return `v1.${ts}.${hmac(key, (0, exports.canonicalMessage)(ts, message))}`;
154
+ };
155
+ exports.signMessage = signMessage;
156
+ /**
157
+ * verify a SNS/SQS message (no freshness window).
158
+ */
159
+ const verifyMessage = (signature, message, options) => {
160
+ const key = options?.key ?? (0, exports.readSignKey)();
161
+ if (!key)
162
+ return { ok: false, reason: 'no-key' };
163
+ if (!signature)
164
+ return { ok: false, reason: 'missing' };
165
+ const $sig = parseSignature(signature);
166
+ if (!$sig)
167
+ return { ok: false, reason: 'format' };
168
+ const ok = sameSig($sig.sig, hmac(key, (0, exports.canonicalMessage)($sig.ts, message)));
169
+ return ok ? { ok, ts: $sig.ts } : { ok, reason: 'mismatch', ts: $sig.ts };
170
+ };
171
+ exports.verifyMessage = verifyMessage;
172
+ /**
173
+ * apply the verify mode to a result.
174
+ * - `off`: pass without checking. `warn`: pass, and log 1 line if not ok. `enforce`: throw `403` if not ok.
175
+ *
176
+ * @param source `web` | `sns` | `sqs` (for the log line)
177
+ * @param verify lazy verification (not run in `off`)
178
+ */
179
+ const assertSigned = (source, verify, mode) => {
180
+ const $mode = mode ?? (0, exports.readVerifyMode)();
181
+ if ($mode === 'off')
182
+ return true;
183
+ const res = verify();
184
+ if (res.ok)
185
+ return true;
186
+ //* `warn`: accept the v4 caller (unsigned or mismatched), 1 line through the existing logger.
187
+ if ($mode === 'warn') {
188
+ (0, engine_1._inf)(NS, `PROTOCOL unsigned ${source}`, `(${res.reason ?? ''})`);
189
+ return false;
190
+ }
191
+ throw new Error(`403 NOT ALLOWED - unsigned protocol context`);
192
+ };
193
+ exports.assertSigned = assertSigned;
194
+ //# sourceMappingURL=protocol-sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-sign.js","sourceRoot":"","sources":["../../../src/cores/protocol/protocol-sign.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@
8
8
  * @copyright (C) lemoncloud.io 2022 - All Rights Reserved.
9
9
  */
10
10
  export * from './model-manager';
11
- export * from './redis-storage-service';
12
11
  export * from './storage-service';
13
12
  export * from './proxy-storage-service';
14
13
  export * from './http-storage-service';
@@ -24,7 +24,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
24
24
  * @copyright (C) lemoncloud.io 2022 - All Rights Reserved.
25
25
  */
26
26
  __exportStar(require("./model-manager"), exports);
27
- __exportStar(require("./redis-storage-service"), exports);
28
27
  __exportStar(require("./storage-service"), exports);
29
28
  __exportStar(require("./proxy-storage-service"), exports);
30
29
  __exportStar(require("./http-storage-service"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cores/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,kDAAgC;AAChC,0DAAwC;AACxC,oDAAkC;AAClC,0DAAwC;AACxC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cores/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,kDAAgC;AAChC,oDAAkC;AAClC,0DAAwC;AACxC,yDAAuC"}
@@ -0,0 +1,7 @@
1
+ /** a model class whose fields carry `@field()` annotations (ex: `class MyModel extends CoreModel<'my'>`) */
2
+ export type ModelClass = new (...args: any[]) => object;
3
+ /**
4
+ * resolve the field names given to a manager.
5
+ * @param fields list of field names (returned as is), or a model class (`fieldsOf(cls)`)
6
+ */
7
+ export declare const resolveFields: (fields: string[] | ModelClass) => string[];