@nifrajs/web 5.4.0 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/build-plan.d.ts +6 -0
  3. package/dist/build-plan.d.ts.map +1 -1
  4. package/dist/build-plan.js +25 -0
  5. package/dist/build-plan.js.map +1 -1
  6. package/dist/build-vite.d.ts +2 -0
  7. package/dist/build-vite.d.ts.map +1 -1
  8. package/dist/build-vite.js +2 -0
  9. package/dist/build-vite.js.map +1 -1
  10. package/dist/build.d.ts +17 -3
  11. package/dist/build.d.ts.map +1 -1
  12. package/dist/build.js +81 -40
  13. package/dist/build.js.map +1 -1
  14. package/dist/deferred.d.ts.map +1 -1
  15. package/dist/deferred.js +20 -6
  16. package/dist/deferred.js.map +1 -1
  17. package/dist/dev.d.ts +5 -0
  18. package/dist/dev.d.ts.map +1 -1
  19. package/dist/dev.js +7 -6
  20. package/dist/dev.js.map +1 -1
  21. package/dist/diagnostic.d.ts +6 -0
  22. package/dist/diagnostic.d.ts.map +1 -1
  23. package/dist/diagnostic.js +41 -0
  24. package/dist/diagnostic.js.map +1 -1
  25. package/dist/host-policy.d.ts +72 -0
  26. package/dist/host-policy.d.ts.map +1 -0
  27. package/dist/host-policy.js +149 -0
  28. package/dist/host-policy.js.map +1 -0
  29. package/dist/host-reach.d.ts +49 -0
  30. package/dist/host-reach.d.ts.map +1 -0
  31. package/dist/host-reach.js +144 -0
  32. package/dist/host-reach.js.map +1 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +2 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/internal/certified-components.d.ts +8 -0
  38. package/dist/internal/certified-components.d.ts.map +1 -0
  39. package/dist/internal/certified-components.js +8 -0
  40. package/dist/internal/certified-components.js.map +1 -0
  41. package/dist/internal/codegen.d.ts +8 -0
  42. package/dist/internal/codegen.d.ts.map +1 -1
  43. package/dist/internal/codegen.js +15 -4
  44. package/dist/internal/codegen.js.map +1 -1
  45. package/dist/internal/output-guard.d.ts +6 -0
  46. package/dist/internal/output-guard.d.ts.map +1 -1
  47. package/dist/internal/output-guard.js +118 -16
  48. package/dist/internal/output-guard.js.map +1 -1
  49. package/dist/internal/page-execution.d.ts +2 -0
  50. package/dist/internal/page-execution.d.ts.map +1 -1
  51. package/dist/internal/page-execution.js +16 -11
  52. package/dist/internal/page-execution.js.map +1 -1
  53. package/dist/internal/render-document.d.ts +3 -1
  54. package/dist/internal/render-document.d.ts.map +1 -1
  55. package/dist/internal/render-document.js +10 -4
  56. package/dist/internal/render-document.js.map +1 -1
  57. package/dist/internal/web-app.d.ts +15 -1
  58. package/dist/internal/web-app.d.ts.map +1 -1
  59. package/dist/internal/web-app.js +8 -0
  60. package/dist/internal/web-app.js.map +1 -1
  61. package/dist/public-dir.d.ts +4 -3
  62. package/dist/public-dir.d.ts.map +1 -1
  63. package/dist/public-dir.js +24 -18
  64. package/dist/public-dir.js.map +1 -1
  65. package/dist/router.d.ts +2 -1
  66. package/dist/router.d.ts.map +1 -1
  67. package/dist/router.js +9 -8
  68. package/dist/router.js.map +1 -1
  69. package/dist/server-components/vite.d.ts.map +1 -1
  70. package/dist/server-components/vite.js +8 -6
  71. package/dist/server-components/vite.js.map +1 -1
  72. package/dist/service-worker.d.ts +3 -1
  73. package/dist/service-worker.d.ts.map +1 -1
  74. package/dist/service-worker.js +29 -8
  75. package/dist/service-worker.js.map +1 -1
  76. package/dist/zones.d.ts +5 -1
  77. package/dist/zones.d.ts.map +1 -1
  78. package/dist/zones.js +17 -4
  79. package/dist/zones.js.map +1 -1
  80. package/package.json +4 -4
  81. package/src/build-plan.ts +26 -0
  82. package/src/build-vite.ts +4 -0
  83. package/src/build.ts +114 -44
  84. package/src/deferred.ts +20 -6
  85. package/src/dev.ts +7 -6
  86. package/src/diagnostic.ts +43 -0
  87. package/src/host-policy.ts +219 -0
  88. package/src/host-reach.ts +177 -0
  89. package/src/index.ts +10 -2
  90. package/src/internal/certified-components.ts +7 -0
  91. package/src/internal/codegen.ts +24 -5
  92. package/src/internal/output-guard.ts +166 -15
  93. package/src/internal/page-execution.ts +23 -9
  94. package/src/internal/render-document.ts +11 -4
  95. package/src/internal/web-app.ts +27 -1
  96. package/src/public-dir.ts +31 -24
  97. package/src/router.ts +9 -8
  98. package/src/server-components/vite.ts +11 -6
  99. package/src/service-worker.ts +32 -9
  100. package/src/zones.ts +27 -5
@@ -5,6 +5,8 @@ const RESPONSE_RESULT = Symbol.for("nifra.response.result");
5
5
  const STATUS_SIGNAL = Symbol.for("nifra.web.status-signal");
6
6
  /** Set by `t.deferred(inner)` on its schema node: `inner`'s own validate. */
7
7
  const DEFERRED_VALIDATE = Symbol.for("nifra.schema.deferredValidate");
8
+ /** On a `@nifrajs/schema` validate: its variant for a value projected by its own JSON Schema. */
9
+ const VALIDATE_PROJECTED = Symbol.for("nifra.schema.validateProjected");
8
10
  export const DECLASSIFIED_KEY = "x-nifra-declassified";
9
11
  const DEFERRED_KEY = "x-nifra-deferred";
10
12
  const DATE_KEY = "x-nifra-date";
@@ -114,7 +116,7 @@ const DATE = (value) => value instanceof Date
114
116
  ? toWireDate(new Date(value))
115
117
  : value;
116
118
  /** An array whose items are all scalars, passed through whole. */
117
- const LEAF_ARRAY = (value) => value;
119
+ const LEAF_ARRAY = (value) => (Array.isArray(value) ? plainArray(value) : value);
118
120
  const typesOf = (node) => Array.isArray(node.type) ? node.type : node.type === undefined ? undefined : [node.type];
119
121
  const COMBINATORS = ["anyOf", "oneOf", "allOf"];
120
122
  /** What a schema node (with no `$ref` or combinator) projects as. */
@@ -263,7 +265,7 @@ class Compiler {
263
265
  // A closed object drops a deferred marker's keys unless it declares them, so only an open one, or
264
266
  // one declaring the marker key, could pass a marker on.
265
267
  const checksMarker = open || declared.__nifra_deferred !== undefined;
266
- const project = (value, state) => {
268
+ const closure = (value, state) => {
267
269
  if (typeof value !== "object" || value === null || Array.isArray(value))
268
270
  return value;
269
271
  if (checksMarker && isDeferred(value)) {
@@ -272,14 +274,7 @@ class Compiler {
272
274
  }
273
275
  const proto = Object.getPrototypeOf(value);
274
276
  if (proto !== Object.prototype && proto !== null) {
275
- if (value instanceof Date)
276
- return value.toJSON();
277
- // A class instance: its own fields as a plain object, so no prototype `toJSON` or getter
278
- // decides what is serialized.
279
- const snapshot = {};
280
- for (const key of Object.keys(value))
281
- assign(snapshot, key, value[key]);
282
- return project(snapshot, state);
277
+ return value instanceof Date ? value.toJSON() : closure(snapshotOf(value), state);
283
278
  }
284
279
  const input = value;
285
280
  // Copy-on-write: a value that already holds only declared keys is returned as it is.
@@ -294,7 +289,9 @@ class Compiler {
294
289
  continue;
295
290
  }
296
291
  const before = input[key];
297
- if (projector === LEAF_ARRAY || (projector === LEAF && !(before instanceof Date))) {
292
+ if (projector === LEAF_ARRAY
293
+ ? !hasJsonHook(before)
294
+ : projector === LEAF && !(before instanceof Date)) {
298
295
  if (out !== undefined)
299
296
  assign(out, key, before);
300
297
  continue;
@@ -310,8 +307,9 @@ class Compiler {
310
307
  assign(out, key, after);
311
308
  }
312
309
  }
313
- return out ?? value;
310
+ return out ?? (input.toJSON === undefined ? value : snapshotOf(input));
314
311
  };
312
+ const project = generatedObject(declared, open ? undeclared : undefined, checksMarker) ?? closure;
315
313
  if (!checksMarker && Object.values(declared).every((child) => this.issueFree.has(child)))
316
314
  this.issueFree.add(project);
317
315
  return project;
@@ -345,7 +343,7 @@ class Compiler {
345
343
  out[i] = after;
346
344
  }
347
345
  }
348
- return out ?? value;
346
+ return plainArray(out ?? value);
349
347
  };
350
348
  this.issueFree.add(project);
351
349
  return project;
@@ -373,7 +371,7 @@ class Compiler {
373
371
  out[i] = after;
374
372
  }
375
373
  }
376
- return out ?? value;
374
+ return plainArray(out ?? value);
377
375
  };
378
376
  }
379
377
  /** The branches of a union or intersection, flattened, `$ref`s resolved. */
@@ -455,7 +453,7 @@ class Compiler {
455
453
  }
456
454
  const inner = {
457
455
  project: this.compile(node.inner, where),
458
- validate: validate,
456
+ validate: validatorFor(validate, node.inner),
459
457
  warnDropped: inDevelopment(),
460
458
  deferredFree: false,
461
459
  };
@@ -470,6 +468,98 @@ class Compiler {
470
468
  };
471
469
  }
472
470
  }
471
+ /**
472
+ * A class instance as a plain object of its own fields, so no prototype `toJSON` or getter decides
473
+ * what is serialized.
474
+ */
475
+ function snapshotOf(value) {
476
+ const snapshot = {};
477
+ for (const key of Object.keys(value))
478
+ assign(snapshot, key, value[key]);
479
+ return snapshot;
480
+ }
481
+ /** Whether `JSON.stringify` would call a `toJSON` of `value`'s own or of its prototype chain. */
482
+ const hasJsonHook = (value) => typeof value === "object" &&
483
+ value !== null &&
484
+ // biome-ignore lint/plugin/requireSafetyCommentForTypeAssertion: reads one optional property of a value already narrowed to a non-null object.
485
+ value.toJSON !== undefined;
486
+ /**
487
+ * `value`, or a plain copy of its items when `JSON.stringify` would serialize it by a hook instead:
488
+ * an own `toJSON`, enumerable or not, or one on a subclass prototype (which `slice` also keeps).
489
+ */
490
+ function plainArray(value) {
491
+ if (!hasJsonHook(value))
492
+ return value;
493
+ const copy = new Array(value.length);
494
+ for (let i = 0; i < value.length; i++)
495
+ copy[i] = value[i];
496
+ return copy;
497
+ }
498
+ // Inside `for-in`, V8 folds `hasOwnProperty.call` into the loop but calls `Object.hasOwn` per key.
499
+ // Bun runs both alike.
500
+ const ownKey = Object.prototype.hasOwnProperty;
501
+ // Bun's string `switch` stops beating the dictionary lookup near 128 declared keys; V8's does not.
502
+ const MAX_GENERATED_KEYS = 64;
503
+ /**
504
+ * The object projector as code generated for its declared keys: a `switch` on each key, with every
505
+ * key's projector a call site of its own. It reads, keeps and drops exactly what the closure in
506
+ * `Compiler.object` does, which serves where code generation is off: an edge bundle (the build
507
+ * defines `__NIFRA_EDGE_RUNTIME__`), a browser page (where even a caught attempt is a reported CSP
508
+ * violation), or a runtime that refuses it. Only `JSON.stringify`d key names reach the source.
509
+ */
510
+ function generatedObject(declared, undeclared, checksMarker) {
511
+ const keys = Object.keys(declared);
512
+ // The edge build defines this global as `true`, so that bundle drops the generator.
513
+ // biome-ignore lint/plugin/requireSafetyCommentForTypeAssertion: only nifra's build defines this global, as a boolean literal.
514
+ const edge = globalThis.__NIFRA_EDGE_RUNTIME__;
515
+ if (keys.length > MAX_GENERATED_KEYS || edge === true || "document" in globalThis)
516
+ return undefined;
517
+ const tail = (store, call) => `const from = state.issues.length; const after = ${call}(before, state);` +
518
+ "if (state.issues.length > from) prefix(state, from, key);" +
519
+ `if (out !== undefined) ${store("after")};` +
520
+ `else if (after !== before) { out = copyBefore(value, key); ${store("after")}; }` +
521
+ "continue;";
522
+ let cases = "";
523
+ for (const [i, key] of keys.entries()) {
524
+ const projector = declared[key];
525
+ const store = (value) => key === "__proto__" ? `assign(out, key, ${value})` : `out[${JSON.stringify(key)}] = ${value}`;
526
+ cases += `case ${JSON.stringify(key)}: { const before = value[key];`;
527
+ if (projector === LEAF_ARRAY) {
528
+ cases += `if (!hasJsonHook(before)) { if (out !== undefined) ${store("before")}; continue; }`;
529
+ }
530
+ else if (projector === LEAF) {
531
+ cases += `if (!(before instanceof Date)) { if (out !== undefined) ${store("before")}; continue; }`;
532
+ }
533
+ cases += `${tail(store, `p[${i}]`)} }`;
534
+ }
535
+ const generic = (value) => `assign(out, key, ${value})`;
536
+ const rest = undeclared === undefined
537
+ ? "out ??= copyBefore(value, key); continue;"
538
+ : "const projector = undeclared(key);" +
539
+ "if (projector === undefined) { out ??= copyBefore(value, key); continue; }" +
540
+ "const before = value[key];" +
541
+ "if (projector === LEAF_ARRAY ? !hasJsonHook(before) : projector === LEAF && !(before instanceof Date)) {" +
542
+ `if (out !== undefined) ${generic("before")}; continue; }` +
543
+ tail(generic, "projector");
544
+ const source = '"use strict"; return function project(value, state) {' +
545
+ 'if (typeof value !== "object" || value === null || Array.isArray(value)) return value;' +
546
+ (checksMarker ? 'if (isDeferred(value)) { state.issues.push(""); return value; }' : "") +
547
+ "const proto = Object.getPrototypeOf(value);" +
548
+ "if (proto !== Object.prototype && proto !== null)" +
549
+ "return value instanceof Date ? value.toJSON() : project(snapshotOf(value), state);" +
550
+ "let out;" +
551
+ "for (const key in value) {" +
552
+ "if (!ownKey.call(value, key)) continue;" +
553
+ `switch (key) { ${cases} default: { ${rest} } }` +
554
+ "}" +
555
+ "return out ?? (value.toJSON === undefined ? value : snapshotOf(value)); }";
556
+ try {
557
+ return new Function("p", "undeclared", "isDeferred", "snapshotOf", "copyBefore", "assign", "prefix", "ownKey", "hasJsonHook", "LEAF", "LEAF_ARRAY", source)(keys.map((key) => declared[key]), undeclared, isDeferred, snapshotOf, copyBefore, assign, prefix, ownKey, hasJsonHook, LEAF, LEAF_ARRAY);
558
+ }
559
+ catch {
560
+ return undefined;
561
+ }
562
+ }
473
563
  /** The keys of a plain object before `stop`, every one of them kept as it is. */
474
564
  function copyBefore(input, stop) {
475
565
  const out = {};
@@ -564,6 +654,16 @@ export function jsonSchemaOf(schema) {
564
654
  return undefined;
565
655
  }
566
656
  }
657
+ /**
658
+ * `validate`, or the variant its schema offers for a value projected by `json`: one that skips the
659
+ * undeclared-key check of each closed object the projection already kept to its declared keys.
660
+ */
661
+ function validatorFor(validate, json) {
662
+ const variant = Reflect.get(validate, VALIDATE_PROJECTED);
663
+ const projected = typeof variant === "function" ? variant(json) : undefined;
664
+ return isValidate(projected) ? projected : validate;
665
+ }
666
+ const isValidate = (value) => typeof value === "function";
567
667
  const compiled = new WeakMap();
568
668
  /**
569
669
  * Prepare `schema` as the output contract of `owner`. Throws when the schema declares a sensitive
@@ -592,7 +692,9 @@ export function outputGuard(schema, owner, exportName) {
592
692
  }
593
693
  const guard = {
594
694
  project,
595
- validate: standard["~standard"].validate,
695
+ validate: json === undefined
696
+ ? standard["~standard"].validate
697
+ : validatorFor(standard["~standard"].validate, json),
596
698
  warnDropped: inDevelopment(),
597
699
  deferredFree,
598
700
  };
@@ -1 +1 @@
1
- {"version":3,"file":"output-guard.js","sourceRoot":"","sources":["../../src/internal/output-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-guard.js","sourceRoot":"","sources":["../../src/internal/output-guard.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,gGAAgG;AAChG,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAC3D,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;AACrE,iGAAiG;AACjG,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AACtD,MAAM,YAAY,GAAG,kBAAkB,CAAA;AACvC,MAAM,QAAQ,GAAG,cAAc,CAAA;AAE/B,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACnD,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9F,CAAC;AAED,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,QAAQ;IACR,OAAO;IACP,WAAW;IACX,KAAK;IACL,sBAAsB;IACtB,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAA;AACF,MAAM,kBAAkB,GAAsB;IAC5C,UAAU;IACV,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;IACb,cAAc;IACd,SAAS;IACT,WAAW;IACX,cAAc;IACd,aAAa;CACd,CAAA;AAED,iGAAiG;AACjG,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvB,IAAI,GAAG,kBAAkB,CAAA;IAClC,KAAK,CAAmB;IACjC,YAAY,OAAe,EAAE,QAA2B,EAAE;QACxD,KAAK,CAAC,eAAe,OAAO,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AAyBD,MAAM,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE,CACvD,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACb,KAAwC,CAAC,gBAAgB,KAAK,IAAI,CAAA;AAErE,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAC/C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAEtE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAA;AACrD,CAAC,CAAA;AAED,yDAAyD;AACzD,MAAM,aAAa,GAAG,GAAY,EAAE,CAClC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,KAAK,aAAa,CAAA;AAE3E,yFAAyF;AACzF,SAAS,MAAM,CAAC,KAAe,EAAE,IAAY,EAAE,GAAoB;IACjE,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;AAChG,CAAC;AAED,SAAS,MAAM,CAAC,GAA4B,EAAE,GAAW,EAAE,KAAc;IACvE,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IAClG,CAAC;;QAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACzB,CAAC;AAED,uFAAuF;AACvF,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACxB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI;gBAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;YAChC,OAAO,CAAE,KAAiC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;YACvD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI;gBAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,IAAI,GAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAEjF,MAAM,QAAQ,GACZ,yFAAyF,CAAA;AAC3F,gFAAgF;AAChF,MAAM,UAAU,GAAG,CAAC,KAAW,EAAW,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;AAEnE,uGAAuG;AACvG,MAAM,IAAI,GAAY,CAAC,KAAK,EAAE,EAAE,CAC9B,KAAK,YAAY,IAAI;IACnB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACjD,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAA;AAEb,kEAAkE;AAClE,MAAM,UAAU,GAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAEzF,MAAM,OAAO,GAAG,CAAC,IAAU,EAAkC,EAAE,CAC7D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAE1F,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAA;AAExD,qEAAqE;AACrE,SAAS,OAAO,CACd,IAAU;IAEV,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI;QAAE,OAAO,UAAU,CAAA;IAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,MAAM,MAAM,GACV,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI;QAClC,CAAC,KAAK,KAAK,SAAS;YAClB,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC5B,IAAI,CAAC,iBAAiB,KAAK,SAAS;gBACpC,IAAI,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAA;IAC/C,MAAM,KAAK,GACT,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI;QACjC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAA;IACvF,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,MAAM,CAAA;IAClC,IAAI,MAAM;QAAE,OAAO,QAAQ,CAAA;IAC3B,IAAI,KAAK;QAAE,OAAO,OAAO,CAAA;IACzB,OAAO,KAAK,KAAK,SAAS;QACxB,IAAI,CAAC,KAAK,KAAK,SAAS;QACxB,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,IAAI,CAAC,GAAG,KAAK,SAAS;QACtB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,MAAM,QAAQ;IAQiB;IAP7B,qGAAqG;IACrG,aAAa,GAAG,KAAK,CAAA;IACJ,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAA;IAC/B,SAAS,GAAG,IAAI,OAAO,CAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1D,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAA;IACrC,SAAS,GAAa,EAAE,CAAA;IAEjC,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IAClC,CAAC;IAEO,UAAU,CAAC,KAAc,EAAE,IAAkB;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,MAAM,EAAE,GAAI,KAAc,CAAC,GAAG,CAAA;QAC9B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAa,CAAC,CAAA;QAChF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,UAAU,CAAE,KAAc,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;IACnF,CAAC;IAEO,OAAO,CAAC,GAAW,EAAE,KAAa;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACnC,IAAI,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAA;QACjC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,IAAI,GAAY,IAAI,CAAC,IAAI,CAAA;YAC7B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC/D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACjD,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;QAC/B,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,iCAAiC,GAAG,QAAQ,KAAK,IAAI,GAAG,4BAA4B,CACrF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,IAAU,EAAE,KAAa;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACrC,IAAI,IAAI,GAAY,IAAI,CAAA;QACxB,MAAM,IAAI,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,IAAU,EAAE,KAAa;QACrC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QAC7F,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACxF,QAAQ,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACnC,KAAK,MAAM;gBACT,OAAO,IAAI,CAAA;YACb,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;YACpF,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACjC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAChC,KAAK,MAAM;gBACT,sEAAsE;gBACtE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;oBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBACtD,OAAO,IAAI,CAAA;YACb;gBACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,MAAe,EAAE,KAAa;QAC1C,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,CAAC;IAEO,MAAM,CAAC,IAAU,EAAE,KAAa;QACtC,MAAM,QAAQ,GAA4B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC1B,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;YACxC,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,MAAM,QAAQ,GAAsC,EAAE,CAAA;QACtD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CACzC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAC7D,EAAE,CAAC;YACF,IAAI,MAAM,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7F,CAAC;QACD,qFAAqF;QACrF,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC;YAC5C,CAAC,IAAI,CAAC,oBAAoB,KAAK,SAAS;gBACtC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC;gBAC/C,CAAC,CAAC,SAAS,CAAC,CAAA;QAChB,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAuB,EAAE;YACtD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,QAAQ;gBAAE,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAA;YAChF,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QACD,kGAAkG;QAClG,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAA;QACpE,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACrF,IAAI,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACrB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjD,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;YACnF,CAAC;YACD,MAAM,KAAK,GAAG,KAAgC,CAAA;YAC9C,qFAAqF;YACrF,IAAI,GAAwC,CAAA;YAC5C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,oEAAoE;gBACpE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;oBAAE,SAAQ;gBACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBACvE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,GAAG,KAAK,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;oBAC9B,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;gBACzB,IACE,SAAS,KAAK,UAAU;oBACtB,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;oBACtB,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,EACnD,CAAC;oBACD,IAAI,GAAG,KAAK,SAAS;wBAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;oBAC/C,SAAQ;gBACV,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;gBAChC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBACtC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI;oBAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;gBACxD,IAAI,GAAG,KAAK,SAAS;oBAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;qBACzC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC1B,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;oBAC5B,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACxE,CAAC,CAAA;QACD,MAAM,OAAO,GACX,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,OAAO,CAAA;QACnF,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,IAAU,EAAE,KAAa;QACrC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,EAAE,CAAA;QACR,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAClE,CAAA;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;QAC5D,+FAA+F;QAC/F,+EAA+E;QAC/E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;YAAE,OAAO,UAAU,CAAA;QACrF,gGAAgG;QAChG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAA;gBACvC,IAAI,GAA0B,CAAA;gBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;oBACjC,IAAI,GAAG,KAAK,SAAS;wBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;yBAChC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;wBAC1B,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBACvB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;oBAChB,CAAC;gBACH,CAAC;gBACD,OAAO,UAAU,CAAC,GAAG,IAAI,KAAK,CAAC,CAAA;YACjC,CAAC,CAAA;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC3B,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACvC,IAAI,GAA0B,CAAA;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;gBACjC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,EAAE,CAAC;oBACpD,IAAI,GAAG,KAAK,SAAS;wBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;oBACtC,SAAQ;gBACV,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;gBAChC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBACtC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI;oBAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBACtD,IAAI,GAAG,KAAK,SAAS;oBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;qBAChC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC1B,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACvB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;gBAChB,CAAC;YACH,CAAC;YACD,OAAO,UAAU,CAAC,GAAG,IAAI,KAAK,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAED,4EAA4E;IACpE,QAAQ,CAAC,IAAU,EAAE,KAAa,EAAE,IAAY,EAAE,IAAe;QACvE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAM;QAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAChE,OAAM;QACR,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAK,WAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7E,QAAQ,GAAG,IAAI,CAAA;gBACf,KAAK,MAAM,MAAM,IAAI,KAAK;oBAAE,IAAI,MAAM,CAAC,MAAM,CAAC;wBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAC1F,CAAC;;gBAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aACzB,IACH,GAAG,CAAC,IAAI,KAAK,SAAS;YACtB,GAAG,CAAC,UAAU,KAAK,SAAS;YAC5B,GAAG,CAAC,iBAAiB,KAAK,SAAS;YACnC,GAAG,CAAC,oBAAoB,KAAK,SAAS;YACtC,GAAG,CAAC,KAAK,KAAK,SAAS;YACvB,GAAG,CAAC,WAAW,KAAK,SAAS,EAC7B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,IAAU,EAAE,KAAa;QACtC,MAAM,QAAQ,GAAW,EAAE,CAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAA;QACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CACxB,wBAAwB,KAAK,IAAI,GAAG,sCAAsC,CAC3E,CAAA;QACH,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;QACvF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;QACrF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAClB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAC5E,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EACxE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;QAClE,6FAA6F;QAC7F,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CACvB,CAAA;IACH,CAAC;IAEO,QAAQ,CACd,MAA2B,EAC3B,KAA0B,EAC1B,QAA6B,EAC7B,IAAI,GAAG,KAAK;QAEZ,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YAC7D,IAAI,KAAK,YAAY,IAAI;gBAAE,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;YAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAClF,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBACzD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACrB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC5D,CAAC,CAAA;IACH,CAAC;IAEO,QAAQ,CAAC,IAAU,EAAE,KAAa;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,MAAM,QAAQ,GAAI,IAAmD,CAAC,iBAAiB,CAAC,CAAA;QACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1D,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,KAAK,IAAI,GAAG,0DAA0D,CAChG,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAkB;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;YACxC,QAAQ,EAAE,YAAY,CAAC,QAAqC,EAAE,IAAI,CAAC,KAAK,CAAC;YACzE,WAAW,EAAE,aAAa,EAAE;YAC5B,YAAY,EAAE,KAAK;SACpB,CAAA;QACD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACpC,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,oBAAoB,KAAK,IAAI,GAAG,GAAG,CAAA;YAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;YAClF,6EAA6E;YAC7E,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC5B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAA;QAC1D,CAAC,CAAA;IACH,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,QAAQ,GAA4B,EAAE,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAG,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAA;IAChE,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,iGAAiG;AACjG,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAC9C,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,+IAA+I;IAC9I,KAAuC,CAAC,MAAM,KAAK,SAAS,CAAA;AAE/D;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAgB;IAClC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAU,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACzD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,mGAAmG;AACnG,uBAAuB;AACvB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAA;AAC9C,mGAAmG;AACnG,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,QAAiC,EACjC,UAA8D,EAC9D,YAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClC,oFAAoF;IACpF,+HAA+H;IAC/H,MAAM,IAAI,GAAI,UAA4D,CAAC,sBAAsB,CAAA;IACjG,IAAI,IAAI,CAAC,MAAM,GAAG,kBAAkB,IAAI,IAAI,KAAK,IAAI,IAAI,UAAU,IAAI,UAAU;QAC/E,OAAO,SAAS,CAAA;IAClB,MAAM,IAAI,GAAG,CAAC,KAAgC,EAAE,IAAY,EAAU,EAAE,CACtE,mDAAmD,IAAI,kBAAkB;QACzE,2DAA2D;QAC3D,0BAA0B,KAAK,CAAC,OAAO,CAAC,GAAG;QAC3C,8DAA8D,KAAK,CAAC,OAAO,CAAC,KAAK;QACjF,WAAW,CAAA;IACb,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE,CACtC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAA;QAC/F,KAAK,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAA;QACpE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,KAAK,IAAI,sDAAsD,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAA;QAC/F,CAAC;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,KAAK,IAAI,2DAA2D,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAA;QACpG,CAAC;QACD,KAAK,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAA;IACxC,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,oBAAoB,KAAK,GAAG,CAAA;IACvE,MAAM,IAAI,GACR,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,oCAAoC;YACpC,4EAA4E;YAC5E,4BAA4B;YAC5B,0GAA0G;YAC1G,0BAA0B,OAAO,CAAC,QAAQ,CAAC,eAAe;YAC1D,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAChC,MAAM,MAAM,GACV,uDAAuD;QACvD,wFAAwF;QACxF,CAAC,YAAY,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,6CAA6C;QAC7C,mDAAmD;QACnD,oFAAoF;QACpF,UAAU;QACV,4BAA4B;QAC5B,yCAAyC;QACzC,kBAAkB,KAAK,eAAe,IAAI,MAAM;QAChD,GAAG;QACH,2EAA2E,CAAA;IAC7E,IAAI,CAAC;QACH,OAAO,IAAI,QAAQ,CACjB,GAAG,EACH,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,MAAM,EACN,YAAY,EACZ,MAAM,CACP,CACC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAChC,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,EACN,WAAW,EACX,IAAI,EACJ,UAAU,CACX,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,UAAU,CAAC,KAA8B,EAAE,IAAY;IAC9D,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,GAAG,KAAK,IAAI;YAAE,MAAK;QACvB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,QAAyB;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3D,IAAI,MAAM,CAAC,GAAG,CAAC;oBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACtE,IAAI,MAAM,CAAC,GAAG,CAAC;oBAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;YACjF,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,qBAAqB,CAAA;QACzE,IAAI,KAAK,KAAK,IAAI;YAAE,IAAI,GAAG,IAAI,CAAA;aAC1B,IAAI,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAqB,EAAQ,EAAE;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAS,CAAA;QAC7C,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC;YAC3E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7F,CAAC,CAAA;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3F,GAAG,CAAC,IAAI;YACN,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE;YAChC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;KACV,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAyB;IAC5C,MAAM,KAAK,GAAW,EAAE,CAAA;IACxB,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;QACnE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,IAAI,GAAG,IAAI,CAAA;aAC/C,IAAI,MAAM,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,mEAAmE;QACnE,KAAK,MAAM,GAAG,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,EAAE,CAAC;YACF,IAAI,MAAM,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;KAC7E,CAAA;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,MAAwB;IACnD,MAAM,GAAG,GAAI,MAA4C,CAAC,UAAU,CAAA;IACpE,IAAI,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAElC,CAAA;IACD,IAAI,OAAO,QAAQ,CAAC,UAAU,EAAE,MAAM,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IACvE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;QACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,QAAmC,EAAE,IAAU;IACnE,MAAM,OAAO,GAAY,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAY,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpF,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAc,EAAsC,EAAE,CACxE,OAAO,KAAK,KAAK,UAAU,CAAA;AAE7B,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAyB,CAAA;AAErD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAe,EAAE,KAAa,EAAE,UAAkB;IAC5E,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAQ,MAA2B,CAAC,WAAW,CAAC,EAAE,QAAQ,KAAK,UAAU,EACzE,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,YAAY,UAAU,gCAAgC,CAAC,CAAA;IAC5F,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,OAA4B,CAAA;IAChC,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;QACnC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpC,YAAY,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAA;QACtC,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,gBAAgB,CACxB,GAAG,KAAK,gCAAgC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,UAAU,sGAAsG,EAC5L,QAAQ,CAAC,SAAS,CACnB,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAkB;QAC3B,OAAO;QACP,QAAQ,EACN,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ;YAChC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC;QACxD,WAAW,EAAE,aAAa,EAAE;QAC5B,YAAY;KACb,CAAA;IACD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,uGAAuG;AACvG,SAAS,YAAY,CAAC,MAAe,EAAE,KAAc,EAAE,IAAY,EAAE,GAAgB;IACnF,IAAI,MAAM,KAAK,KAAK,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAM;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,YAAY,IAAI;QAAE,OAAM;IACjF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAM;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;YAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,CAAA;QACpF,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAsC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACzF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,6FAA6F;QAC7F,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;;YACnD,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;AAErC,SAAS,WAAW,CAAC,KAAa,EAAE,MAAe,EAAE,KAAc;IACjE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IACtC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAM;IAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IACxB,MAAM,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IAChC,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI;QAAE,WAAW,CAAC,KAAK,EAAE,CAAA;IACjD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACtE,OAAO,CAAC,IAAI,CACV,eAAe,KAAK,mGAAmG,KAAK,GAAG,IAAI,oFAAoF,CACxN,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,KAA6D,EAAU,EAAE,CACvF,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;KACf,GAAG,CACF,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,MAAM,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAC9G;KACA,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAA;AAEpB,SAAS,MAAM,CACb,KAAoB,EACpB,MAA+B,EAC/B,KAAa,EACb,KAAc;IAEd,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,IAAI,gBAAgB,CACxB,GAAG,KAAK,yCAAyC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACnE,KAAK,CACN,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1E,6FAA6F;QAC7F,IAAI,KAAK,CAAC,WAAW;YAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAChE,CAAC;IACD,wGAAwG;IACxG,IAAI,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;QAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChF,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,KAAwB,EAAoB,EAAE,CACvF,IAAI,gBAAgB,CAClB,GAAG,KAAK,oEAAoE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,EACvJ,KAAK,CACN,CAAA;AAEH,0GAA0G;AAC1G,MAAM,UAAU,QAAQ,CAAC,KAAoB,EAAE,KAAc,EAAE,KAAa;IAC1E,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAC7C,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1E,mFAAmF;QACnF,IAAI,KAAK,CAAC,WAAW,IAAI,SAAS,KAAK,KAAK;YAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,MAAM,YAAY,OAAO;QAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAC7C,CAAC;AAaD,MAAM,gBAAgB,GAAG,CACvB,KAAa,EACsE,EAAE,CACpF,KAAkD,CAAC,eAAe,CAAC,KAAK,IAAI;IAC7E,OAAQ,KAA2C,CAAC,UAAU,KAAK,UAAU,CAAA;AAE/E;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAyB,EAAE,KAAc;IAClE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAA0B,CAAA;QAC9B,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,GAAG,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;aACpF,IAAI,gBAAgB,CAAC,KAAK,CAAC;YAAE,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,CAAA;aACtF,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,KAAoC,CAAA;YACpD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/C,OAAO,IAAI,YAAY,OAAO;gBAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1D,MAAM,IAAI,gBAAgB,CACxB,GAAG,QAAQ,CAAC,KAAK,eAAe,MAAM,oJAAoJ,CAC3L,CAAA;QACH,CAAC;QACD,IAAI,KAAK,YAAY,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;IACxE,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,gBAAgB,CACxB,GAAG,QAAQ,CAAC,KAAK,6FAA6F,QAAQ,CAAC,OAAO,EAAE,CACjI,CAAA;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,EAA8B,EAC9B,QAAyB;IAEzB,MAAM,KAAK,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACtE,MAAM,WAAW,GAAG,CAAC,KAAc,EAAS,EAAE;QAC5C,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,CAAC,KAAK,YAAY,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAEtD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC7B,MAAM,KAAK,CAAA;IACb,CAAC,CAAA;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,IAAI,KAAc,CAAA;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;YACjF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;YACjD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC,CAAA;AACH,CAAC"}
@@ -19,6 +19,8 @@ export interface PageRouteContext<Env = unknown> {
19
19
  /** The visitor's IP as the serving app derived it; forwarded to a request-bound `ctx.api`. */
20
20
  readonly clientIp?: string | undefined;
21
21
  readonly waitUntil?: (promise: Promise<unknown>) => void;
22
+ /** One request header, read off the serving app's source without building `req.headers`. */
23
+ readonly header?: (name: string) => string | null;
22
24
  }
23
25
  /** The app's locale routing, as page execution reads it. */
24
26
  export interface PageI18n {
@@ -1 +1 @@
1
- {"version":3,"file":"page-execution.d.ts","sourceRoot":"","sources":["../../src/internal/page-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-execution.d.ts","sourceRoot":"","sources":["../../src/internal/page-execution.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAKL,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,oBAAoB,CAAA;AAIlG,OAAO,KAAK,EAGV,QAAQ,EAIR,UAAU,EAGX,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAA0B,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAa3F,OAAO,EAUL,KAAK,YAAY,EAWlB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAEL,KAAK,oBAAoB,EAS1B,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,gFAAgF;AAChF,MAAM,WAAW,gBAAgB,CAAC,GAAG,GAAG,OAAO;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,iGAAiG;IACjG,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAA;IAClC,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IACxD,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAClD;AAgGD,4DAA4D;AAC5D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B;wEACoE;IACpE,YAAY,CACV,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,MAAM,GAEd;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAA;KAAE,GACrC;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7D;AAKD,MAAM,WAAW,oBAAoB,CAAC,GAAG,GAAG,OAAO;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,+BAA+B,EAAE,sBAAsB,CAAA;IAC1F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,4FAA4F;IAC5F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACtD,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAA;IAClE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IAClD,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACnC,uGAAuG;IACvG,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAA;IACxB,wGAAwG;IACxG,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,CACvB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE;QACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB,KACE,IAAI,CAAA;IACT;kFAC8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACvE;AAED,KAAK,YAAY,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,CAAA;AAE5D,MAAM,WAAW,mBAAmB,CAAC,GAAG,GAAG,OAAO;IAChD,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7E,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9E,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CAC5D;AAoDD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAG,OAAO,EACrD,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,GACjC,mBAAmB,CAAC,GAAG,CAAC,CA8jD1B"}
@@ -12,6 +12,10 @@ import { prepareModules } from "./module-preparation.js";
12
12
  import { EMPTY_RETAIN, isControlFlow, isResponseResult, isStatusSignal, layoutErrorId, notFound, redirect, renderPageResult, STATUS_SIGNAL, STATUS_TEXT, scopeParams, tagLayoutError, withDuplicateInstanceHint, } from "./render-document.js";
13
13
  import { originFor, urlPartsFor } from "./request-url.js";
14
14
  import { ACTION_SCOPE, DATA_RESPONSE_HEADERS, MIDDLEWARE_SCOPE, PAGE_SCOPE, PageResponseControls, PRIVATE_NO_STORE, PRIVATE_PAGE_HEADERS, privateOutcome, varyOnDataHeader, } from "./response-controls.js";
15
+ /** Whether `c` is a client navigation's data request. On Node, `req.headers` builds every header. */
16
+ function isDataRequest(c) {
17
+ return (c.header !== undefined ? c.header(DATA_HEADER) : c.req.headers.get(DATA_HEADER)) !== null;
18
+ }
15
19
  /** The page slot of an `ssr = false` route with no `HydrateFallback`: a component that renders nothing. */
16
20
  const EMPTY_LEAF = () => null;
17
21
  /** The request-scoping seam of an in-process `api` (see `inProcessClient`), if it carries one. */
@@ -50,13 +54,13 @@ LoaderPlatform.prototype[NIFRA_PLATFORM_CLIENT_IP_DERIVED] = true;
50
54
  * `x-nifra-redirect` on a 204 that keeps the redirect's own headers. `undefined` for any other outcome
51
55
  * or request.
52
56
  */
53
- function dataRedirect(req, outcome) {
54
- if (req.headers.get(DATA_HEADER) === null)
57
+ function dataRedirect(req, isData, outcome) {
58
+ if (!isData)
55
59
  return undefined;
56
60
  if (isResponseResult(outcome)) {
57
61
  const plain = outcome.plain;
58
62
  if (plain === undefined)
59
- return dataRedirect(req, outcome.toResponse());
63
+ return dataRedirect(req, isData, outcome.toResponse());
60
64
  if (plain.status < 300 || plain.status >= 400)
61
65
  return undefined;
62
66
  const { location, ...own } = plain.headers ?? {};
@@ -431,9 +435,10 @@ export function createPageRequestExecutor(options) {
431
435
  * The browser's side of a client navigation: the page it is leaving and the layout slots it asked
432
436
  * to keep. Undefined unless this is a data request whose `from` is same-origin and routable.
433
437
  */
434
- const retainContextOf = (req) => {
435
- if (req.headers.get(DATA_HEADER) === null)
438
+ const retainContextOf = (c) => {
439
+ if (!isDataRequest(c))
436
440
  return undefined;
441
+ const req = c.req;
437
442
  const requested = retainedIndices(req.headers.get(RETAIN_HEADER));
438
443
  const from = req.headers.get(NAV_FROM_HEADER);
439
444
  if (requested.size === 0 || from === null)
@@ -743,14 +748,14 @@ export function createPageRequestExecutor(options) {
743
748
  // A faulty reporter must never break error rendering.
744
749
  }
745
750
  };
746
- const handleDataOrDocument = async (req, env, route, params, mod, data, layoutData, layoutModules, layoutRetained, boundaryStates, assemblyCache, responseHeaders, personalized, serverComponents) => {
751
+ const handleDataOrDocument = async (req, isData, env, route, params, mod, data, layoutData, layoutModules, layoutRetained, boundaryStates, assemblyCache, responseHeaders, personalized, serverComponents) => {
747
752
  // Every layout loader settled before the page rendered, so a status or error page can reuse them.
748
753
  const settled = async (_page, count) => settledLayouts(layoutModules, layoutData, count);
749
754
  if (isStatusSignal(data))
750
755
  return renderStatusSignal(req, env, data, personalized, settled);
751
756
  if (isControlFlow(data))
752
757
  return data;
753
- if (req.headers.get(DATA_HEADER) !== null) {
758
+ if (isData) {
754
759
  const pageSplit = prepareDeferred(data);
755
760
  const layoutSplits = [];
756
761
  let offset = pageSplit.deferred.length;
@@ -960,13 +965,13 @@ export function createPageRequestExecutor(options) {
960
965
  const controls = new PageResponseControls(c);
961
966
  try {
962
967
  const outcome = await run(c, controls);
963
- const answer = dataRedirect(c.req, outcome) ?? outcome;
968
+ const answer = dataRedirect(c.req, isDataRequest(c), outcome) ?? outcome;
964
969
  return controls.personalized ? privateOutcome(answer) : answer;
965
970
  }
966
971
  catch (err) {
967
972
  if (!isControlFlow(err))
968
973
  throw err;
969
- const answer = dataRedirect(c.req, err);
974
+ const answer = dataRedirect(c.req, isDataRequest(c), err);
970
975
  // Returned rather than rethrown: the serving app sends a thrown `Response` exactly as it is,
971
976
  // without the cookies the request queued.
972
977
  if (controls.personalized)
@@ -1052,7 +1057,7 @@ export function createPageRequestExecutor(options) {
1052
1057
  if (route.middlewareIds !== undefined || localeGuarded(route)) {
1053
1058
  await runMiddleware(route, ctx, controls);
1054
1059
  }
1055
- run = await runLayoutChain(route, ctx, controls, componentOwner ? undefined : retainContextOf(c.req));
1060
+ run = await runLayoutChain(route, ctx, controls, componentOwner ? undefined : retainContextOf(c));
1056
1061
  layoutModules = run.modules;
1057
1062
  layoutRetained = run.retained;
1058
1063
  const boundaryDefinitions = componentRequest === undefined
@@ -1143,7 +1148,7 @@ export function createPageRequestExecutor(options) {
1143
1148
  if (nested !== undefined)
1144
1149
  return nested;
1145
1150
  }
1146
- return handleDataOrDocument(c.req, c.env, route, c.params, mod, data, layoutData, layoutModules ?? (await loadLayoutModules(route)), layoutRetained, boundaryStates, layoutModules === undefined ? undefined : assemblyCacheFor(mod, layoutModules, c.req), responseHeaders, controls.personalized, componentState);
1151
+ return handleDataOrDocument(c.req, isDataRequest(c), c.env, route, c.params, mod, data, layoutData, layoutModules ?? (await loadLayoutModules(route)), layoutRetained, boundaryStates, layoutModules === undefined ? undefined : assemblyCacheFor(mod, layoutModules, c.req), responseHeaders, controls.personalized, componentState);
1147
1152
  });
1148
1153
  },
1149
1154
  post: (route) => withResponseControls(async (c, controls) => {