lemon-core 5.0.5 → 5.0.6

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 (30) hide show
  1. package/README.md +168 -136
  2. package/dist/cores/lambda/lambda-alb-handler.js +5 -0
  3. package/dist/cores/lambda/lambda-alb-handler.js.map +1 -1
  4. package/dist/cores/lambda/lambda-sns-handler.d.ts +7 -1
  5. package/dist/cores/lambda/lambda-sns-handler.js +26 -3
  6. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  7. package/dist/cores/lambda/lambda-sqs-handler.d.ts +7 -1
  8. package/dist/cores/lambda/lambda-sqs-handler.js +26 -3
  9. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  10. package/dist/cores/lambda/lambda-web-handler.js +47 -6
  11. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  12. package/dist/cores/protocol/protocol-relay.d.ts +123 -0
  13. package/dist/cores/protocol/protocol-relay.js +339 -0
  14. package/dist/cores/protocol/protocol-relay.js.map +1 -0
  15. package/dist/cores/protocol/protocol-service.d.ts +8 -2
  16. package/dist/cores/protocol/protocol-service.js +110 -29
  17. package/dist/cores/protocol/protocol-service.js.map +1 -1
  18. package/dist/cores/protocol/protocol-sign.d.ts +10 -0
  19. package/dist/cores/protocol/protocol-sign.js +14 -3
  20. package/dist/cores/protocol/protocol-sign.js.map +1 -1
  21. package/dist/engine/engine.js +9 -2
  22. package/dist/engine/engine.js.map +1 -1
  23. package/dist/esm/index.mjs +1 -0
  24. package/dist/extended/cores/abstract-controllers.d.ts +18 -4
  25. package/dist/extended/cores/abstract-controllers.js +59 -19
  26. package/dist/extended/cores/abstract-controllers.js.map +1 -1
  27. package/dist/extended/cores/abstract-services.d.ts +54 -4
  28. package/dist/extended/cores/abstract-services.js +159 -14
  29. package/dist/extended/cores/abstract-services.js.map +1 -1
  30. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export const ConfigModule = cjs.ConfigModule;
36
36
  export const CoreManager = cjs.CoreManager;
37
37
  export const CoreModel = cjs.CoreModel;
38
38
  export const CoreService = cjs.CoreService;
39
+ export const DEFAULT_ACCESS_POLICY = cjs.DEFAULT_ACCESS_POLICY;
39
40
  export const DEFAULT_TIME_ZONE = cjs.DEFAULT_TIME_ZONE;
40
41
  export const DummyCacheService = cjs.DummyCacheService;
41
42
  export const DummyController = cjs.DummyController;
@@ -1,7 +1,7 @@
1
1
  import { GeneralWEBController } from '../../controllers/';
2
2
  import { CoreModel, AbstractTransformer, View, Body, NextContext, NextHandler, SimpleSet } from 'lemon-model';
3
3
  import { BulkBody, ListResult, PaginatedListResult, PaginateParam } from './types';
4
- import { MyCoreManager, MyCoreService, MyCoreProxy } from './abstract-services';
4
+ import { MyCoreManager, MyCoreService, MyCoreProxy, AccessPolicy, CanDoOptions } from './abstract-services';
5
5
  export { CoreModel, AbstractTransformer, GeneralWEBController };
6
6
  /**
7
7
  * type: `CRUDCreationOptions`
@@ -22,6 +22,13 @@ interface CRUDCreationOptions {
22
22
  * @see proxy.makeModelBase()
23
23
  */
24
24
  throwable?: boolean;
25
+ /**
26
+ * (optional) v5 B13: access scopes for the 7 CRUD handlers of this controller (session on only).
27
+ * - merged over the manager-proxy `accessPolicy()`; ex: `{ read: 'site' }` restores the v5 § 6.4 read rule.
28
+ *
29
+ * @see MyManagerProxy.canDo()
30
+ */
31
+ policy?: Partial<AccessPolicy>;
25
32
  }
26
33
  /**
27
34
  * class: `AbstractCRUDController`
@@ -67,6 +74,14 @@ export declare abstract class AbstractCRUDController<ModelType extends string, M
67
74
  * get config of using session.
68
75
  */
69
76
  get confThrowable(): boolean;
77
+ /**
78
+ * v5 B13: access scopes of this controller (override this getter to compute them).
79
+ */
80
+ protected get confPolicy(): Partial<AccessPolicy> | undefined;
81
+ /**
82
+ * v5 B13: the `canDo()` options of the CRUD handlers - session switch and policy of this controller.
83
+ */
84
+ protected canDoOptions(errScope: string, options?: CanDoOptions): CanDoOptions;
70
85
  /**
71
86
  * model transformer from model to view
72
87
  */
@@ -126,9 +141,8 @@ export declare abstract class AbstractCRUDController<ModelType extends string, M
126
141
  doGetAdmin: NextHandler;
127
142
  /**
128
143
  * v5 B4: report the manager's field list (`GET /<type>/fields/admin`) to verify it in Lambda too.
129
- * - allowed only by channel: local express (`$U.isLocalMode()`) or an internal request (empty `$ctx.domain`).
130
- * - internal = no `host` header (direct `lambda:Invoke`, see `isExternal()`); `packContext()` then leaves
131
- * `domain` empty, so the empty `domain` is the signal here (`NextContext` has no external flag).
144
+ * - v5 B14: allowed only when `$ctx.channel !== 'external'` (set once by the entry: `local` for the local
145
+ * express, `internal` for a host-less invoke or a protocol call). `domain` is information only, never the gate.
132
146
  * - no admin role is required: a direct invoke is already gated by IAM `lambda:InvokeFunction`.
133
147
  */
134
148
  protected doGetAdminFields($ctx: NextContext, errScope: string): Promise<{
@@ -31,7 +31,9 @@ exports.AbstractCRUDController = exports.GeneralWEBController = exports.Abstract
31
31
  * @date 2026-02-03 optimized `modelAsView()` to show cores in local.
32
32
  * @date 2026-04-09 optimized `types` to fix `ModelType` cast error.
33
33
  * @date 2026-10-28 v5 B4: `GET /<type>/fields/admin` reports the field lists (local or direct invoke only).
34
+ * @date 2026-10-30 v5 B14: the `fields/admin` gate reads `context.channel` (not `domain`).
34
35
  * @date 2026-10-28 v5 B4: `fields/admin` self-check uses the shared `checkFieldsAdmin()`.
36
+ * @date 2026-10-30 v5 B13: handlers pass `{ useSession, policy }` to `canDo`, `doList` checks `list`, bulk in 2 phases.
35
37
  *
36
38
  * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
37
39
  * @origin `@lemoncloud/lemon-templates-api/cores`
@@ -134,6 +136,18 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
134
136
  get confThrowable() {
135
137
  return this.options?.throwable ?? true;
136
138
  }
139
+ /**
140
+ * v5 B13: access scopes of this controller (override this getter to compute them).
141
+ */
142
+ get confPolicy() {
143
+ return this.options?.policy;
144
+ }
145
+ /**
146
+ * v5 B13: the `canDo()` options of the CRUD handlers - session switch and policy of this controller.
147
+ */
148
+ canDoOptions(errScope, options) {
149
+ return { errScope, useSession: this.confUseSession, policy: this.confPolicy, ...options };
150
+ }
137
151
  /**
138
152
  * model transformer from model to view
139
153
  */
@@ -159,7 +173,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
159
173
  async makeModelBase(proxy, options) {
160
174
  const parent = options?.parent ?? null;
161
175
  const useSession = options?.useSession ?? this.confUseSession;
162
- const throwable = options?.throwable ?? this.confThrowable;
176
+ //* v5 B13: an admin without a session (IAM SigV4, `roles: ['admin']` claim) creates without `403 IDENTITY-TOKEN`.
177
+ const throwable = options?.throwable ?? (this.confThrowable && !(useSession && proxy.hasAdminRole()));
163
178
  const $model = (0, test_helper_1.onlyDefined)({
164
179
  type: this.manager.type,
165
180
  });
@@ -242,7 +257,12 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
242
257
  const model = param ? this.bodyToModel(param, true) : null; // could have all
243
258
  const useSession = this.confUseSession;
244
259
  const $prxy = proxy.getManagerProxy(this.modelType);
245
- const { $page, $param } = $prxy.packSearchParam(param, model, { useSession });
260
+ //* v5 B13: the caller may list at all (guest, no session, empty `sid`/`uid` → 403), session on only.
261
+ if (useSession && !$prxy.canDo('list', undefined, this.canDoOptions(errScope)))
262
+ throw new Error(`403 NOT ALLOWED - action[list] is invalid @${errScope}`);
263
+ //* v5 B13: pin the rows per the effective `list` scope (the same merge as `canDo`).
264
+ const scope = useSession ? $prxy.effectivePolicy(this.confPolicy).list : undefined;
265
+ const { $page, $param } = $prxy.packSearchParam(param, model, { useSession, scope, errScope });
246
266
  (0, engine_1._log)(this.logNS, `>> $param =`, engine_1.$U.json($param));
247
267
  //* search from manager.
248
268
  const $res = await this.manager.list($page, $param);
@@ -317,15 +337,15 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
317
337
  };
318
338
  /**
319
339
  * v5 B4: report the manager's field list (`GET /<type>/fields/admin`) to verify it in Lambda too.
320
- * - allowed only by channel: local express (`$U.isLocalMode()`) or an internal request (empty `$ctx.domain`).
321
- * - internal = no `host` header (direct `lambda:Invoke`, see `isExternal()`); `packContext()` then leaves
322
- * `domain` empty, so the empty `domain` is the signal here (`NextContext` has no external flag).
340
+ * - v5 B14: allowed only when `$ctx.channel !== 'external'` (set once by the entry: `local` for the local
341
+ * express, `internal` for a host-less invoke or a protocol call). `domain` is information only, never the gate.
323
342
  * - no admin role is required: a direct invoke is already gated by IAM `lambda:InvokeFunction`.
324
343
  */
325
344
  async doGetAdminFields($ctx, errScope) {
326
345
  const local = engine_1.$U.isLocalMode();
346
+ //* `runtime.external` keeps reporting the request domain (information, unchanged).
327
347
  const external = !!`${$ctx?.domain ?? ''}`.trim();
328
- if (!local && external)
348
+ if ($ctx?.channel === 'external')
329
349
  throw new Error(`403 NOT ALLOWED - fields/admin is local or direct-invoke only @${errScope}`);
330
350
  //* the lists: L2 core (16), the manager's full list, and the model-specific rest.
331
351
  const core = (0, lemon_model_2.fieldsOf)(lemon_model_1.CoreModel);
@@ -380,7 +400,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
380
400
  const model = await $prxy.get(id, false);
381
401
  if (!model?.id)
382
402
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
383
- if (!proxy.canDo('read', model, { errScope }))
403
+ //* v5 B13: session switch and policy of this controller.
404
+ if (!proxy.canDo('read', model, this.canDoOptions(errScope)))
384
405
  return null; // no permission to read.
385
406
  // STEP.2 returns as view.
386
407
  if (model?.deletedAt > 0)
@@ -420,7 +441,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
420
441
  throw new Error(`.type (ModelType) is missing - ${errScope}`); // confirm type explicitly.
421
442
  const $prxy = proxy.getManagerProxy(this.modelType);
422
443
  const $valid = await $prxy.validateModel(toCreate, null);
423
- if (!proxy.canDo('create', { ...$valid, ...$base }, { errScope }))
444
+ //* v5 B13: session switch and policy of this controller.
445
+ if (!proxy.canDo('create', { ...$valid, ...$base }, this.canDoOptions(errScope)))
424
446
  return null; // no permission to create.
425
447
  const $saves = await $prxy.onBeforeSave($valid, null);
426
448
  const $saved = await $prxy.makeModel({ ...$saves, ...$base }, false); //WARN! - already validated.
@@ -458,9 +480,17 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
458
480
  if (!$base.type)
459
481
  throw new Error(`.type (ModelType) is missing - ${errScope}`); // confirm type explicitly.
460
482
  const $prxy = proxy.getManagerProxy(this.modelType);
461
- const _can = (model) => proxy.canDo('create', { ...model, ...$base }, { errScope });
462
- const $valid = await Promise.all(models.map(N => $prxy.validateModel(N, null).then(N => (_can(N) ? N : null))));
463
- //* only for all validated models.
483
+ //* v5 B13 phase 1: validate every item and collect the denied ones (`false` counts as denied), no write.
484
+ const $valid = await Promise.all(models.map(N => $prxy.validateModel(N, null)));
485
+ const $opts = this.canDoOptions(errScope, { throwable: false });
486
+ const denied = $valid.reduce((L, N, i) => {
487
+ if (!proxy.canDo('create', { ...N, ...$base }, $opts))
488
+ L.push(N?.id ? `${N.id}` : `#${i}`);
489
+ return L;
490
+ }, []);
491
+ if (denied.length)
492
+ throw new Error(`403 NOT ALLOWED - bulk[create] denied ids[${denied.join(',')}] @${errScope}`);
493
+ //* v5 B13 phase 2: every item passed, so write them all.
464
494
  const filtered = await (0, helpers_1.my_sequence)($valid, async (validated) => {
465
495
  const filtered = await $prxy.onBeforeSave(validated, null);
466
496
  const created = await $prxy.makeModel({ ...filtered, ...$base }, false); //WARN! - already validated.
@@ -496,7 +526,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
496
526
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
497
527
  if ($org?.deletedAt)
498
528
  throw new Error(`404 NOT FOUND - deleted @${errScope}`);
499
- if (!proxy.canDo('update', $org, { errScope }))
529
+ //* v5 B13: session switch and policy of this controller.
530
+ if (!proxy.canDo('update', $org, this.canDoOptions(errScope)))
500
531
  return null; // no permission to update.
501
532
  // STEP.3 validate and update.
502
533
  const $valid = await $prxy.validateModel(toUpdate, id);
@@ -531,6 +562,10 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
531
562
  const $prxy = proxy.getManagerProxy(this.modelType);
532
563
  if (!$prxy)
533
564
  throw new Error(`.model-type[${this.modelType}] is required - ${errScope}`);
565
+ //* v5 B13: a session-less non-admin caller keeps the `403 IDENTITY-TOKEN` message (as the single handlers).
566
+ if (this.confUseSession && !proxy.hasAdminRole())
567
+ proxy.getCurrentSession({ throwable: this.confThrowable });
568
+ //* v5 B13 phase 1: load every stored row (404 first, current messages) and check it, no write.
534
569
  const _can = async (N, i) => {
535
570
  const errScope = `doPutBulk(${this.type()}:${i}/${N?.id ?? ''})`;
536
571
  const model = N?.id ? await $prxy.get(N?.id, false) : null;
@@ -538,12 +573,16 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
538
573
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
539
574
  if (model?.deletedAt)
540
575
  throw new Error(`404 NOT FOUND - deleted @${errScope}`);
541
- if (!proxy.canDo('update', model, { errScope }))
542
- return null; // no permission to update.
543
- // return model;
544
- return N; // 업데이트할 새 데이터를 반환 (기존 model이 아님)
576
+ const allowed = proxy.canDo('update', model, this.canDoOptions(errScope, { throwable: false }));
577
+ return { N, allowed }; // 업데이트할 새 데이터를 반환 (기존 model이 아님)
545
578
  };
546
- const list = await Promise.all(models.map(N => _can(N)));
579
+ const checked = await Promise.all(models.map((N, i) => _can(N, i)));
580
+ //* v5 B13: one denied row → 403 with every denied id, before any write.
581
+ const denied = checked.filter(C => !C.allowed).map(C => `${C.N?.id ?? ''}`);
582
+ if (denied.length)
583
+ throw new Error(`403 NOT ALLOWED - bulk[update] denied ids[${denied.join(',')}] @${errScope}`);
584
+ //* v5 B13 phase 2: every row passed, so write them all.
585
+ const list = checked.map(C => C.N);
547
586
  //* validate and update.
548
587
  const $res = await (0, helpers_1.my_parrallel)(list, async (model, i) => {
549
588
  if (!model?.id)
@@ -588,8 +627,9 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
588
627
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
589
628
  if (!destroy && model?.deletedAt)
590
629
  throw new Error(`404 NOT FOUND - deleted @${errScope}`);
591
- if (!proxy.canDo('delete', model, { errScope }))
592
- return null; // no permission to update.
630
+ //* v5 B13: session switch and policy of this controller.
631
+ if (!proxy.canDo('delete', model, this.canDoOptions(errScope)))
632
+ return null; // no permission to delete.
593
633
  const deleted = await $prxy.$mgr.delete(id, isLocal && destroy);
594
634
  const $final = await $prxy.onAfterSave(null, deleted);
595
635
  return this.modelAsView($final || deleted);
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-controllers.js","sourceRoot":"","sources":["../../../src/extended/cores/abstract-controllers.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,6DAA6D;AAC7D,0CAAqD;AACrD,4CAA2D;AAC3D,uCAA+B;AAC/B,0DAAuD;AACvD,wCAAyD;AACzD,2BAAkC;AAClC,+BAA4B;AAC5B,oDAA0D;AAMjB,qGANhC,kCAAoB,OAMgC;AAL7D,6CAA8G;AAKrG,0FALA,uBAAS,OAKA;AAAE,oGALA,iCAAmB,OAKA;AAJvC,6CAAuC,CAAC,oFAAoF;AAG5H,iDAAqE;AAGrE;;GAEG;AACH,MAAM,GAAG,GAAG,CAAC,EAAO,EAAU,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,YAAY,GAAG,GAAW,EAAE;IAC9B,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,IAAI,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,EAAE,OAAO;YAAE,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACL,4DAA4D;IAChE,CAAC;IACD,MAAM,GAAG,GAAW,IAAA,oBAAY,EAAC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC;IAC/E,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC,CAAC;AAuBF;;;GAGG;AACH,MAAsB,sBAQpB,SAAQ,kCAAoB;IAC1B;;OAEG;IACgB,OAAO,CAAY;IAEtC;;OAEG;IACgB,KAAK,CAAS;IAEjC;;OAEG;IACgB,OAAO,CAAY;IAEtC;;OAEG;IACgB,WAAW,CAAgB;IAE9C,0BAA0B;IACP,OAAO,CAAuB;IAEjD;;;;;;;OAOG;IACH,YACI,IAAY,EACZ,OAAkB,EAClB,OAAkB,EAClB,WAA0B,EAC1B,OAA6B;QAE7B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,WAAE,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,0BAA0B,IAAI,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACrB,wFAAwF;QACxF,IAAI,WAAE,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC3E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,KAAc,EAAE,OAA0D;QACzF,MAAM,OAAO,GAAG,WAAE,CAAC,WAAW,EAAE,CAAC,CAAC,0DAA0D;QAC5F,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,8BAA8B;QAE5G,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3D,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IACD;;OAEG;IACI,WAAW,CAAC,IAAY,EAAE,QAAkB;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,aAAa,CACzB,KAAkC,EAClC,OAOC;QAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;QACvC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC;QAC9D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAuB;YAC7C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SAC1B,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,aAAa,CAAU,MAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,6BAA6B;IACtB,KAAK,CAAC,YAAY,CAAmB,IAAY,EAAE,OAAe,IAAI;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAQ,CAAA,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,IAAY;QAClC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,GAA8B;YACnC,EAAE,EAAE,YAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,4BAA4B;SAC1D,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,GAAG,GAAG,CAAC,EAAU,EAAE,CACzC,OAAO,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClG,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAU,EAAE;YACvD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;gBAC9C,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,gBAAgB;YACtC,CAAC;YACD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB;YACrD,OAAO,GAAG,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,IAAS,EAAE,IAAY,EAAE,CAAU,EAAE,EAAE,CAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACb,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/F,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC,EACD,EAAE,IAAI,EAAE,IAAiB,EAAE,CAC9B,CAAC;QACN,+BAA+B;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3G,MAAM,IAAI,GAAU,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxD,0BAA0B;QAC1B,MAAM,MAAM,GAAY,WAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAElE;;;;;;OAMG;IACI,MAAM,GAAwE,KAAK,EACtF,EAAE,EACF,KAAK,EACL,IAAI,EACJ,IAAI,EACN,EAAE;QACA,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QACtD,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,iBAAiB;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/C,qDAAqD;YACrD,yEAAyE;YACzE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB;YACpF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;YAEvC,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC9E,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,WAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAEjD,wBAAwB;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEpD,+CAA+C;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACpG,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;YAEzC,iBAAiB;YACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;;;;;OAMG;IACI,SAAS,GAAwE,KAAK,EACzF,EAAE,EACF,KAAK,EACL,IAAI,EACJ,IAAI,EACN,EAAE;QACA,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QACzD,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAExC,6BAA6B;QAC7B,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QAE7E,qBAAqB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF;;;OAGG;IACI,UAAU,GAAgB,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAC1D,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvD,6FAA6F;QAC7F,IAAI,EAAE,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,YAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,YAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,6DAA6D;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;YACtF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE3B,6CAA6C;YAC7C,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;gBACtB,8CAA8C;gBAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACzE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxD,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAY,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;oBAC9C,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;yBAChD,IAAI,KAAK;wBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACvD,OAAO,CAAC,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,EAAE,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAED,mBAAmB;YACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;;;;;OAMG;IACO,KAAK,CAAC,gBAAgB,CAAC,IAAiB,EAAE,QAAgB;QAChE,MAAM,KAAK,GAAG,WAAE,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,IAAI,QAAQ;YAClB,MAAM,IAAI,KAAK,CAAC,kEAAkE,QAAQ,EAAE,CAAC,CAAC;QAElG,kFAAkF;QAClF,MAAM,IAAI,GAAa,IAAA,sBAAQ,EAAC,uBAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAEzC,gEAAgE;QAChE,MAAM,OAAO,GAAG;YACZ,KAAK;YACL,QAAQ;YACR,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI;YACpD,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,SAAS,EAAE,YAAY,EAAE;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACjF,MAAM,MAAM,GAAsB;YAC9B,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,IAAI;YACJ,MAAM;YACN,KAAK;YACL,MAAM;YACN,MAAM;YACN,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,EAAE;YACV,OAAO;SACV,CAAC;QACF,gFAAgF;QAChF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;QAChD,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,KAAK,GAA6B,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACrE,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QACrD,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,uDAAuD;QACvD,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAExC,6BAA6B;QAC7B,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAEnE,yBAAyB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/C,qBAAqB;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,yBAAyB;YACrF,0BAA0B;YAC1B,IAAI,KAAK,EAAE,SAAS,GAAG,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAU,EAAE,IAAY,EAAE,IAAkB;QACxE,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QACtD,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,WAAE,CAAC,WAAW,EAAE,CAAC,CAAC,0EAA0E;QAE5G,6BAA6B;QAC7B,IAAI,EAAE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAQ,CAAC,CAAC,oBAAoB;QAE3G,uDAAuD;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE;YAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QAEzB,kBAAkB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC,CAAC,2BAA2B;YAC3G,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;YAC3G,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,4BAA4B;YAClG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,UAAU,GAA4D,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACzG,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAC1D,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjC,6BAA6B;QAC7B,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QACrD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QAE9F,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;YAC5B,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;SACjB,CAAC,CAAC,CAAC;QAEJ,qBAAqB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC,CAAC,2BAA2B;YAC3G,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChF,CAAC;YACF,kCAAkC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,MAAM,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE;gBACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC3D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,4BAA4B;gBACrG,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;;;;OAKG;IACI,KAAK,GAAqC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC7E,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QACrD,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAExC,6BAA6B;QAC7B,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAEnE,uDAAuD;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAElE,kBAAkB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,EAAE,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;YACzE,IAAI,IAAI,EAAE,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;YAExF,8BAA8B;YAC9B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;;;;OAKG;IACI,SAAS,GAAsE,KAAK,EACvF,EAAE,EACF,KAAK,EACL,IAAI,EACJ,IAAI,EACN,EAAE;QACA,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QACzD,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,YAAE,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QACrD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;QAEnG,sBAAsB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;SACjB,CAAC,CAAC,CAAC;QAEJ,yBAAyB;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAExF,MAAM,IAAI,GAAG,KAAK,EAAE,CAAU,EAAE,CAAU,EAAE,EAAE;gBAC1C,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC;gBACjE,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3D,IAAI,CAAC,KAAK,EAAE,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;gBAC1E,IAAI,KAAK,EAAE,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC;oBAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;gBACzF,gBAAgB;gBAChB,OAAO,CAAC,CAAC,CAAC,iCAAiC;YAC/C,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzD,wBAAwB;YACxB,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAY,EAC3B,IAAI,EACJ,KAAK,EAAE,KAAc,EAAE,CAAC,EAAE,EAAE;gBACxB,IAAI,CAAC,KAAK,EAAE,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;gBACvF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC,EACD,SAAS,CACZ,CAAC;YACF,WAAW;YACX,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,yBAAyB;QACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC,CAAC;IAEF;;;;;OAKG;IACI,QAAQ,GAA6B,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACxE,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QACxD,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,WAAE,CAAC,WAAW,EAAE,CAAC,CAAC,yEAAyE;QAC3G,MAAM,OAAO,GAAG,CAAC,CAAC,YAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,6BAA6B;QAC7B,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAEnE,kBAAkB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAqB,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;YAEzF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;CACL;AA/kBD,wDA+kBC;AAED,mCAAmC;AACnC,iBAAiB;AACjB,yCAAyC"}
1
+ {"version":3,"file":"abstract-controllers.js","sourceRoot":"","sources":["../../../src/extended/cores/abstract-controllers.ts"],"names":[],"mappings":"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"}
@@ -30,18 +30,37 @@ declare const $LUT: {
30
30
  * type: `CanDoActionType`
31
31
  */
32
32
  export type CanDoActionType = keyof typeof $LUT.CanDoAction;
33
+ /**
34
+ * type: `AccessScope`
35
+ * - v5 B13: which rows one action may touch, against the caller's session (SPEC § 14.1).
36
+ * - `owner`: same `sid` and same non-empty `uid`. `group`: same `sid` and same non-empty `gid`.
37
+ * - `site`: same non-empty `sid`. `any`: every role holder.
38
+ */
39
+ export type AccessScope = 'owner' | 'group' | 'site' | 'any';
40
+ /**
41
+ * type: `AccessPolicy`
42
+ * - v5 B13: the scope of each CRUD action.
43
+ */
44
+ export type AccessPolicy = Record<CanDoActionType, AccessScope>;
45
+ /**
46
+ * v5 B13: the core default policy - list in the caller's site, the other four on own rows only.
47
+ * - override per type with `MyManagerProxy.accessPolicy()`, per controller with `options.policy`.
48
+ */
49
+ export declare const DEFAULT_ACCESS_POLICY: Readonly<AccessPolicy>;
33
50
  /**
34
51
  * Optional parameters for `canDo()`
35
52
  */
36
53
  export interface CanDoOptions {
37
54
  /** error scope to print */
38
55
  errScope?: string;
39
- /** flag to throw error if not allowed (default false) */
56
+ /** flag to throw error if not allowed (default true) */
40
57
  throwable?: boolean;
41
- /** flag to use session (default true) */
58
+ /** flag to use session (default env `USE_SESSION`) */
42
59
  useSession?: boolean;
43
60
  /** current context to override */
44
61
  context?: NextContext;
62
+ /** (optional) v5 B13: scopes to override the manager-proxy policy (used only with the session on) */
63
+ policy?: Partial<AccessPolicy>;
45
64
  }
46
65
  /**
47
66
  * type: `ScanLastParams`
@@ -445,6 +464,8 @@ export declare class MyManagerProxy<MyModel extends CoreModel<ModelType>, MyMana
445
464
  limit?: number;
446
465
  /** (optional) error scope to use */
447
466
  errScope?: string;
467
+ /** (optional) v5 B13: list scope to pin (default: the effective policy `list`, session on only) */
468
+ scope?: AccessScope;
448
469
  }): {
449
470
  $page: PaginateParam;
450
471
  $param: SearchParam<MyModel>;
@@ -485,16 +506,45 @@ export declare class MyManagerProxy<MyModel extends CoreModel<ModelType>, MyMana
485
506
  * @param validate (optional) flag to validate (default is true)
486
507
  */
487
508
  makeModel<T extends MyModel>(model: T, validate?: boolean): Promise<T>;
509
+ /**
510
+ * v5 B13: the default policy of this model type (override per type).
511
+ * - merged as `{ ...DEFAULT_ACCESS_POLICY, ...accessPolicy(), ...options.policy }`.
512
+ *
513
+ * @returns the scope per action
514
+ */
515
+ accessPolicy(): AccessPolicy;
516
+ /**
517
+ * v5 B13: the effective policy - core default, then `accessPolicy()`, then `policy` (undefined values skipped).
518
+ *
519
+ * @param policy (optional) scopes from the caller (ex: controller `options.policy`)
520
+ * @returns the merged policy
521
+ */
522
+ effectivePolicy(policy?: Partial<AccessPolicy>): AccessPolicy;
488
523
  /**
489
524
  * Check if the current user can perform the specified action on the given model.
490
- * - override this method to implement custom logic.
525
+ * - override this method to implement custom logic (an override runs before this default).
526
+ * - v5 B13: with the session on, the effective `AccessPolicy` decides (SPEC § 14.2); with it off, § 6.4 as before.
491
527
  *
492
528
  * @param action The action to check.
493
- * @param model The model to check against.
529
+ * @param model The model to check against. (`undefined` for `list` = the caller check only)
494
530
  * @param options Additional options for the check.
495
531
  * @returns True if the action is allowed, false otherwise.
496
532
  */
497
533
  canDo<T extends MyModel>(action: CanDoActionType, model?: T, options?: CanDoOptions): boolean;
534
+ /**
535
+ * the `canDo()` rules with the session off (v5 § 6.4, unchanged by B13).
536
+ * - `list`/`read`/`create`: same `sid` or a `sid`-less row; `update`/`delete`: same `sid` and `uid`.
537
+ *
538
+ * @param _act the validated action
539
+ * @param model the model to check against
540
+ * @param options { errScope, throwable, context }
541
+ * @returns True if the action is allowed, false otherwise.
542
+ */
543
+ protected canDoWithoutSession<T extends MyModel>(_act: CanDoActionType, model: T, options: {
544
+ errScope: string;
545
+ throwable: boolean;
546
+ context?: NextContext;
547
+ }): boolean;
498
548
  /**
499
549
  * read multiple nodes.
500
550
  * @param ids list of object-ids