@serve.zone/interfaces 32.23.0 → 32.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/changelog.md CHANGED
@@ -1,5 +1,60 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-09-25 - 32.25.0
4
+
5
+ ### Features
6
+
7
+ - Add the object-storage binding environment: the non-secret environment Cloudly composes into
8
+ `IRuntimeConfig.environment` for an object-storage binding.
9
+ - Nine endpoint names (`S3_ENDPOINT`, `S3_ENDPOINT_HOST`, `S3_PORT`, `S3_REGION`, `S3_BUCKET`,
10
+ `S3_USE_SSL`, `AWS_ENDPOINT_URL`, `AWS_REGION`, `AWS_S3_FORCE_PATH_STYLE`) and eleven retention
11
+ names (`S3_RETENTION_*`), the names Corestore and the cluster relay used before. Credentials
12
+ stay in the sealed Secret set and are refused in the environment by name.
13
+ - `createObjectStorageBindingEnvironment()`, `createObjectStorageEndpointEnvironment()`,
14
+ `createObjectStorageRetentionEnvironment()`, `mergeObjectStorageBindingEnvironment()`, the
15
+ matching validators, and the key lists and types. A binding that declares retention without
16
+ evidence is refused by name.
17
+ - `IPlatformObjectStorageEndpoint` with `validatePlatformObjectStorageEndpoint()`, the optional
18
+ `IClusterNode.data.corestoreObjectStorage` that states where a node's object storage answers,
19
+ and `setClusterNodeCorestoreObjectStorageEndpoint { identity; nodeId; objectStorage }` that sets
20
+ or, with `null`, clears it. It sits beside `corestore`, which keeps its exact schema, and has
21
+ its own request, so `setClusterNodeCorestoreEndpoint` is unchanged.
22
+
23
+ ### Maintenance
24
+
25
+ - Bring the release-time tooling current: pnpm 12.4.2 → 12.5.0 (the newest release older than seven days); the @git.zone tools are current; `@types/node` stays 26.6.1 by the seven-day rule.
26
+ - Replace the remaining real relay address in the `IClusterNodeCorestore` doc comment and the clusteringress, corestorerelay and nodeidvocabulary tests with the documentation address `192.0.2.15`.
27
+
28
+ ## 2026-09-25 - 32.24.0
29
+
30
+ ### Features
31
+
32
+ - Add NFS and SMB sources to runtime local storage claims.
33
+ - `TRuntimeLocalStorageSource` gains `{ kind: 'nfs', server, export, subPath, version }`
34
+ (`TRuntimeLocalStorageNfsSource`) and `{ kind: 'smb', server, share, subPath, version, credential }`
35
+ (`TRuntimeLocalStorageSmbSource`); `{ kind: 'directory' }` is unchanged and now also named
36
+ `TRuntimeLocalStorageDirectorySource`. `credential` is an `IRuntimeAuthorityReference`, never a
37
+ value, and neither source carries a mount option or a port.
38
+ - `server` is a lowercase fully qualified hostname or a canonical IP literal; `export` a canonical
39
+ absolute path; `share` one segment; `subPath` `.` or canonical relative segments. Every segment is
40
+ printable ASCII without a space, a comma, `=` or a character a mount source or SMB name gives
41
+ meaning to, and never exactly `.` or `..`. `version` pins one kernel `vers=` value: `3`, `4.0`, `4.1` or `4.2` for NFS,
42
+ `3.0`, `3.02` or `3.1.1` for SMB (`runtimeLocalStorageClaimContract.nfsVersions`, `smbVersions`).
43
+ - An `smb` claim is always `initialization: 'empty'`, because SMB carries no POSIX ownership an
44
+ imported tree could keep.
45
+ - Add the Corestore legacy resource blocker `fence-lineage-conflict`: a bucket whose object-storage
46
+ fence lineage is duplicated, does not validate, belongs to another authority or has an unfinished
47
+ mutation, which Corestore's offline adoption refuses. `validateCorestoreLegacyResourceInventory` admits it on a
48
+ bucket only.
49
+
50
+ ### Maintenance
51
+
52
+ - Replace real infrastructure addresses in test fixtures with documentation and synthetic addresses.
53
+ Protected-authority resolvers, platform endpoints and hubs use the synthetic private range
54
+ `192.168.255.0/24`, which keeps them outside `10.0.0.0/8` as the range-coverage test requires.
55
+ Host bind addresses and addresses that only need to be valid use RFC 5737 ranges. Tests only; no
56
+ contract change.
57
+
3
58
  ## 2026-09-25 - 32.23.0
4
59
 
5
60
  ### Features
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '32.23.0',
6
+ version: '32.25.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
@@ -1,6 +1,7 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import { type TSha256Digest, type TImmutableContainerPlatform } from './immutableimage.js';
3
3
  import type { ISparkNodeReportRecord } from './sparknodereport.js';
4
+ import type { IPlatformObjectStorageEndpoint } from '../platform/objectstorage.js';
4
5
  import { type IFleetCutoverAcceptedEvidenceReference, type IFleetCutoverHeldVolumeFenceEvidencePage, type IFleetCutoverLocalNodeSnapshot, type IFleetCutoverManagerSnapshot, type IFleetCutoverPreparedVolumeHandoffAggregate, type IFleetCutoverPreparedVolumeHandoffIntent, type IFleetCutoverPreparedVolumeHandoffPage } from './fleetcutover.js';
5
6
  import { type ISparkLegacyRuntimeRetirement, type TSparkLegacyRetirementOutcome } from './sparklegacyretirement.js';
6
7
  import { type IProtocolOffer } from '../protocol.js';
@@ -462,6 +463,20 @@ export interface IClusterNode {
462
463
  * while Docker Swarm resolved it is exactly what stops resolving.
463
464
  */
464
465
  corestore?: IClusterNodeCorestore;
466
+ /**
467
+ * Where a workload on this node reaches the node's Corestore object storage, and the region
468
+ * it signs for.
469
+ *
470
+ * Cloudly owns it, sets it with `setClusterNodeCorestoreObjectStorageEndpoint`, and composes
471
+ * it into the environment of every object-storage binding placed on this node with
472
+ * `createObjectStorageBindingEnvironment()`. It is a sibling of `corestore`, not a member:
473
+ * the control API and the S3 API listen on different ports and have different readers — the
474
+ * relay dials `corestore`, a workload dials this — and `corestore` keeps its exact schema.
475
+ * Absent means no object-storage environment can be composed for this node, and a binding's
476
+ * workload waits rather than being handed a guessed port, scheme or region. Value-free like
477
+ * `corestore`: it says where, never with what.
478
+ */
479
+ corestoreObjectStorage?: IPlatformObjectStorageEndpoint;
465
480
  };
466
481
  }
467
482
  /**
@@ -477,7 +492,7 @@ export interface IClusterNode {
477
492
  export interface IClusterNodeCorestore {
478
493
  /**
479
494
  * The canonical origin of the control API, for example
480
- * `http://10.20.0.15:3000`.
495
+ * `http://192.0.2.15:3000`.
481
496
  *
482
497
  * `http:` is admitted because Corestore terminates no TLS today — it binds a
483
498
  * plain control port and advertises no transport-encryption guarantee — and
@@ -1123,4 +1123,4 @@ export const validateClusterNodeCorestore = (valueArg, pathArg = 'cluster node c
1123
1123
  }
1124
1124
  return errors;
1125
1125
  };
1126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlcm5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2NsdXN0ZXJub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQXdELE1BQU0scUJBQXFCLENBQUM7QUFFM0csT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrREFBa0QsRUFDbEQsNkNBQTZDLEVBQzdDLCtDQUErQyxFQUMvQywrQ0FBK0MsRUFDL0Msa0RBQWtELEVBQ2xELDZDQUE2QyxFQUM3QywrQ0FBK0MsRUFDL0MscUNBQXFDLEVBQ3JDLG1DQUFtQyxHQVFwQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsb0NBQW9DLEdBR3JDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHVCQUF1QixFQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsNEJBQTRCLEdBQzdCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsa0JBQWtCLEdBQ25CLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9EOzs7R0FHRztBQUNILE9BQU8sRUFBRSxlQUFlLEVBQUUsQ0FBQztBQWlFM0I7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ25ELCtGQUErRjtJQUMvRixTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUN2QixRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLGdCQUFnQixFQUFFLElBQUk7S0FDZCxDQUFDO0lB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
1126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlcm5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2NsdXN0ZXJub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQXdELE1BQU0scUJBQXFCLENBQUM7QUFHM0csT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrREFBa0QsRUFDbEQsNkNBQTZDLEVBQzdDLCtDQUErQyxFQUMvQywrQ0FBK0MsRUFDL0Msa0RBQWtELEVBQ2xELDZDQUE2QyxFQUM3QywrQ0FBK0MsRUFDL0MscUNBQXFDLEVBQ3JDLG1DQUFtQyxHQVFwQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsb0NBQW9DLEdBR3JDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHVCQUF1QixFQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsNEJBQTRCLEdBQzdCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsa0JBQWtCLEdBQ25CLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9EOzs7R0FHRztBQUNILE9BQU8sRUFBRSxlQUFlLEVBQUUsQ0FBQztBQWlFM0I7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ25ELCtGQUErRjtJQUMvRixTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUN2QixRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLGdCQUFnQixFQUFFLElBQUk7S0FDZCxDQUFDO0lB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
@@ -26,9 +26,13 @@ export type TCorestoreLegacyCapability = 'database' | 'objectstorage';
26
26
  * - `ordinary-credentials-rotated`: its credentials were rotated, so the delivered ones are no
27
27
  * longer the generation a binding adopts;
28
28
  * - `owned-by-binding`: a credential binding or a named storage binding already owns the service
29
- * capability, the resource or the bucket.
29
+ * capability, the resource or the bucket;
30
+ * - `fence-lineage-conflict`: the bucket's object-storage fence lineage cannot move to the adopting
31
+ * binding, because the bucket has more than one lineage, or its lineage does not validate,
32
+ * belongs to another authority or has an unfinished mutation. Only a bucket has a fence lineage,
33
+ * so a database never names it.
30
34
  */
31
- export type TCorestoreLegacyResourceBlocker = 'not-adoptable' | 'ordinary-credentials-rotated' | 'owned-by-binding';
35
+ export type TCorestoreLegacyResourceBlocker = 'not-adoptable' | 'ordinary-credentials-rotated' | 'owned-by-binding' | 'fence-lineage-conflict';
32
36
  /**
33
37
  * `unadopted` names what would stop the offline adoption, or `null` when nothing would;
34
38
  * `authorized` names the binding the operator authorized, which is the only binding Corestore will
@@ -17,22 +17,25 @@ const identifierPattern = /^[A-Za-z0-9][A-Za-z0-9:._-]{0,199}$/;
17
17
  const printableNamePattern = /^[\x21-\x7e]+$/;
18
18
  const bareSha256Pattern = /^[a-f0-9]{64}$/;
19
19
  const blockers = [
20
- 'not-adoptable', 'ordinary-credentials-rotated', 'owned-by-binding',
20
+ 'not-adoptable', 'ordinary-credentials-rotated', 'owned-by-binding', 'fence-lineage-conflict',
21
21
  ];
22
22
  const isIdentifier = (valueArg) => (typeof valueArg === 'string' && identifierPattern.test(valueArg));
23
23
  const isLegacyName = (valueArg) => (typeof valueArg === 'string'
24
24
  && valueArg.length <= corestoreLegacyAdoptionContract.maximumNameLength
25
25
  && printableNamePattern.test(valueArg));
26
26
  const isCapability = (valueArg) => (valueArg === 'database' || valueArg === 'objectstorage');
27
- const validateAdoption = (valueArg, pathArg) => {
27
+ const validateAdoption = (valueArg, capabilityArg, pathArg) => {
28
28
  if (!isPlainRecord(valueArg))
29
29
  return [`${pathArg} must use its exact schema`];
30
30
  if (valueArg.state === 'unadopted') {
31
31
  if (!hasExactKeys(valueArg, ['state', 'blocker']))
32
32
  return [`${pathArg} must use its exact schema`];
33
- return valueArg.blocker === null || blockers.includes(valueArg.blocker)
34
- ? []
35
- : [`${pathArg} blocker must be null or a named blocker`];
33
+ if (valueArg.blocker !== null && !blockers.includes(valueArg.blocker)) {
34
+ return [`${pathArg} blocker must be null or a named blocker`];
35
+ }
36
+ return valueArg.blocker === 'fence-lineage-conflict' && capabilityArg !== 'objectstorage'
37
+ ? [`${pathArg} blocker fence-lineage-conflict must name a bucket`]
38
+ : [];
36
39
  }
37
40
  if (valueArg.state === 'authorized') {
38
41
  if (!hasExactKeys(valueArg, ['state', 'bindingId']))
@@ -50,7 +53,7 @@ const validateResource = (valueArg, pathArg) => {
50
53
  if (!hasExactKeys(valueArg, ['capability', 'databaseName', 'adoption'])) {
51
54
  return [`${pathArg} must use its exact schema`];
52
55
  }
53
- const errors = validateAdoption(valueArg.adoption, `${pathArg} adoption`);
56
+ const errors = validateAdoption(valueArg.adoption, 'database', `${pathArg} adoption`);
54
57
  if (!isLegacyName(valueArg.databaseName))
55
58
  errors.push(`${pathArg} databaseName must be a bounded printable name`);
56
59
  return errors;
@@ -59,7 +62,7 @@ const validateResource = (valueArg, pathArg) => {
59
62
  if (!hasExactKeys(valueArg, ['capability', 'bucketName', 'retention', 'adoption'])) {
60
63
  return [`${pathArg} must use its exact schema`];
61
64
  }
62
- const errors = validateAdoption(valueArg.adoption, `${pathArg} adoption`);
65
+ const errors = validateAdoption(valueArg.adoption, 'objectstorage', `${pathArg} adoption`);
63
66
  if (!isLegacyName(valueArg.bucketName)) {
64
67
  errors.push(`${pathArg} bucketName must be a bounded printable name`);
65
68
  }
@@ -286,4 +289,4 @@ export const readCorestoreLegacyAdoptionRefusal = (statusCodeArg, bodyArg) => (s
286
289
  && platformBindingStatusReasons.includes(bodyArg.code)
287
290
  ? bodyArg.code
288
291
  : null);
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXN0b3JlbGVnYWN5YWRvcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2NvcmVzdG9yZWxlZ2FjeWFkb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbEMsb0NBQW9DLEdBQ3JDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsNEJBQTRCLEdBQzdCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFpSS9ELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDM0QsZ0dBQWdHO0lBQ2hHLGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsa0ZBQWtGO0lBQ2xGLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZUFBZSxFQUFFLElBQUk7SUFDckIsaUJBQWlCLEVBQUUsR0FBRztJQUN0QixZQUFZLEVBQUUsdUNBQXVDO0NBQzdDLENBQUMsQ0FBQztBQUVaLE1BQU0saUJBQWlCLEdBQUcscUNBQXFDLENBQUM7QUFDaEUsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUM5QyxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO0FBQzNDLE1BQU0sUUFBUSxHQUErQztJQUMzRCxlQUFlLEVBQUUsOEJBQThCLEVBQUUsa0JBQWtCO0NBQ3BFLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLFFBQWlCLEVBQXNCLEVBQUUsQ0FBQyxDQUM5RCxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUNqRSxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFpQixFQUFzQixFQUFFLENBQUMsQ0FDOUQsT0FBTyxRQUFRLEtBQUssUUFBUTtPQUN6QixRQUFRLENBQUMsTUFBTSxJQUFJLCtCQUErQixDQUFDLGlCQUFpQjtPQUNwRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3ZDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLFFBQWlCLEVBQTBDLEVBQUUsQ0FBQyxDQUNsRixRQUFRLEtBQUssVUFBVSxJQUFJLFFBQVEsS0FBSyxlQUFlLENBQ3hELENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBaUIsRUFBRSxPQUFlLEVBQVksRUFBRTtJQUN4RSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUFFLE9BQU8sQ0FBQyxHQUFHLE9BQU8sNEJBQTRCLENBQUMsQ0FBQztJQUM5RSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFBRSxPQUFPLENBQUMsR0FBRyxPQUFPLDRCQUE0QixDQUFDLENBQUM7UUFDbkcsT0FBTyxRQUFRLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSyxRQUErQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzdGLENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLDBDQUEwQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQUssS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztZQUFFLE9BQU8sQ0FBQyxHQUFHLE9BQU8sNEJBQTRCLENBQUMsQ0FBQztRQUNyRyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sMkNBQTJDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsT0FBTyx3Q0FBd0MsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQztBQUVGLHdGQUF3RjtBQUN4RixNQUFNLFdBQVcsR0FBRyxDQUFDLFdBQW9CLEVBQVcsRUFBRSxDQUFDLENBQ3JELGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssWUFBWSxJQUFJLFdBQVcsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQ25HLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBaUIsRUFBRSxPQUFlLEVBQVksRUFBRTtJQUN4RSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUFFLE9BQU8sQ0FBQyxHQUFHLE9BQU8sNEJBQTRCLENBQUMsQ0FBQztJQUM5RSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxPQUFPLENBQUMsR0FBRyxPQUFPLDRCQUE0QixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLGdEQUFnRCxDQUFDLENBQUM7UUFDbEgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLFVBQVUsS0FBSyxlQUFlLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRixPQUFPLENBQUMsR0FBRyxPQUFPLDRCQUE0QixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sOENBQThDLENBQUMsQ0FBQztRQUN4RSxDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDakUsMkZBQTJGO1lBQzNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyx1Q0FBdUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLENBQUM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLG9DQUFvQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDbkcsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLENBQUMsR0FBRyxPQUFPLCtDQUErQyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQWlCLEVBQUUsT0FBZSxFQUFZLEVBQUU7SUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRywrQkFBK0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRyxPQUFPLENBQUMsR0FBRyxPQUFPLDBCQUEwQixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixJQUFJLGlCQUFxQyxDQUFDO0lBQzFDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNsRCxNQUFNLFdBQVcsR0FBRyxHQUFHLE9BQU8sSUFBSSxLQUFLLEdBQUcsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsNEJBQTRCLENBQUMsQ0FBQztZQUN4RCxTQUFTO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsMkNBQTJDLENBQUMsQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksaUJBQWlCLEtBQUssU0FBUyxJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sOENBQThDLENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0RyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVywyQ0FBMkMsQ0FBQyxDQUFDO1lBQ3ZFLFNBQVM7UUFDWCxDQUFDO1FBQ0QsS0FBSyxNQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNwRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsV0FBVyxjQUFjLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO2VBQzdCLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFVBQVU7bUJBQ3JGLGFBQWEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNuRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxxRUFBcUUsQ0FBQyxDQUFDO1FBQ25HLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsc0dBQXNHO0FBQ3RHLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHLENBQ3RELFFBQWlCLEVBQ2pCLE9BQU8sR0FBRyxxQ0FBcUMsRUFDckMsRUFBRTtJQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RFLE9BQU8sQ0FBQyxHQUFHLE9BQU8sNEJBQTRCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxXQUFXLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUM7QUFFRixpRkFBaUY7QUFDakYsTUFBTSxDQUFDLE1BQU0sK0NBQStDLEdBQUcsQ0FDN0QsUUFBaUIsRUFDakIsT0FBTyxHQUFHLDZDQUE2QyxFQUM3QyxFQUFFO0lBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPLENBQUMsR0FBRyxPQUFPLDRCQUE0QixDQUFDLENBQUM7SUFDOUUsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxJQUFJLFNBQVMsS0FBSyxJQUFJO1FBQ3BCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEcsT0FBTyxDQUFDLEdBQUcsT0FBTyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sMkJBQTJCLENBQUMsQ0FBQztJQUMxRixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUssUUFBUSxDQUFDLFNBQW9CLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sZ0RBQWdELENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztTQUFNLElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyw0QkFBNEIsSUFBSSxRQUFRLENBQUMsU0FBUyxLQUFLLHVCQUF1QixFQUFFLENBQUM7UUFDakgsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8scURBQXFELENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxTQUFpQixFQUFTLEVBQUU7SUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvREFBb0QsR0FBRyxLQUFLLEVBQ3ZFLFlBQXNELEVBQ3JDLEVBQUU7SUFDbkIsTUFBTSxNQUFNLEdBQUcsK0NBQStDLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0UsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0lBQ3RHLE9BQU8sNEJBQTRCLENBQUMsc0JBQXNCLENBQUM7UUFDekQsTUFBTSxFQUFFLCtCQUErQixDQUFDLFlBQVk7UUFDcEQsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1FBQzNCLFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUTtLQUNoQyxFQUFFLFVBQVUsRUFBRSxxQ0FBcUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBbUQsRUFBVSxFQUFFLENBQ25GLEdBQUcsUUFBUSxDQUFDLFNBQVMsU0FBUyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7QUFFdEQsd0dBQXdHO0FBQ3hHLE1BQU0sQ0FBQyxNQUFNLHlDQUF5QyxHQUFHLENBQ3ZELFFBQWlCLEVBQ2pCLE9BQU8sR0FBRyxxQ0FBcUMsRUFDckMsRUFBRTtJQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztXQUM5QyxRQUFRLENBQUMsTUFBTSxHQUFHLCtCQUErQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUUsT0FBTyxDQUFDLEdBQUcsT0FBTyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsSUFBSSxRQUE0QixDQUFDO0lBQ2pDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztlQUN6RSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sSUFBSSxLQUFLLDhDQUE4QyxDQUFDLENBQUM7WUFDL0UsU0FBUztRQUNYLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsS0FBcUQsQ0FBQyxDQUFDO1FBQ2hGLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sOERBQThELENBQUMsQ0FBQztRQUN4RixDQUFDO1FBQ0QsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHLENBQ3pELFFBQWlCLEVBQ2pCLE9BQU8sR0FBRyxlQUFlLEVBQ2YsRUFBRTtJQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztXQUNoRCxRQUFRLENBQUMsTUFBTSxHQUFHLCtCQUErQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUUsT0FBTyxDQUFDLEdBQUcsT0FBTyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDckMsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztlQUN0RixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3pHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLFVBQVUsS0FBSyx3REFBd0QsQ0FBQyxDQUFDO1lBQy9GLFNBQVM7UUFDWCxDQUFDO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsS0FBcUQsQ0FBQyxDQUFDO1FBQzlGLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBbUIsQ0FBQyxFQUFFLENBQUM7WUFDNUYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sVUFBVSxLQUFLLDZDQUE2QyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQW1CLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBWUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhDQUE4QyxHQUFHLENBQzVELFVBQStDLEVBQy9DLFlBQXNELEVBQ3RELGtCQUEwQixFQUMxQixPQUFPLEdBQUcsMENBQTBDLEVBQzFDLEVBQUU7SUFDWixJQUFJLCtDQUErQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxJQUFJO1dBQzFHLE9BQU8sa0JBQWtCLEtBQUssUUFBUSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUMzRixPQUFPLENBQUMsR0FBRyxPQUFPLG1EQUFtRCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztJQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkcsT0FBTyxDQUFDLEdBQUcsT0FBTyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsZUFBZSxLQUFLLGtCQUFrQixFQUFFLENBQUM7UUFDL0YsT0FBTyxDQUFDLEdBQUcsT0FBTyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFBRSxPQUFPLENBQUMsR0FBRyxPQUFPLDRDQUE0QyxDQUFDLENBQUM7SUFDMUcsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN4RyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RGLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxDQUFDLEdBQUcsT0FBTyx5REFBeUQsQ0FBQyxDQUFDO0lBQzVGLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNwRyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssVUFBVTtRQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLGtEQUFrRCxDQUFDLENBQUM7SUFDcEgsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLElBQUk7UUFDOUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxxRUFBcUUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssZUFBZSxFQUFFLENBQUM7UUFDNUMsSUFBSSxVQUFVLENBQUMsdUJBQXVCLEtBQUssUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQy9ELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLG9EQUFvRCxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyxJQUFJO1lBQzdCLENBQUMsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEtBQUssU0FBUztZQUNqRCxDQUFDLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLHVEQUF1RCxDQUFDLENBQUM7UUFDakYsQ0FBQztJQUNILENBQUM7U0FBTSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsS0FBSyxTQUFTLElBQUksVUFBVSxDQUFDLHNCQUFzQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9HLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLHFEQUFxRCxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxDQUN2RCxXQUEyRCxFQUNkLEVBQUU7SUFDL0MsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzFDLElBQUksVUFBVSxDQUFDLHVCQUF1QixLQUFLLFNBQVMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3RixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsVUFBVSxDQUFDLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDMUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakcsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLENBQ2hELGFBQXFCLEVBQ3JCLE9BQWdCLEVBQ3FCLEVBQUUsQ0FBQyxDQUN4QyxhQUFhLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUs7T0FDakUsNEJBQW1ELENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDOUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFvQztJQUM5QyxDQUFDLENBQUMsSUFBSSxDQUNULENBQUMifQ==
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXN0b3JlbGVnYWN5YWRvcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2NvcmVzdG9yZWxlZ2FjeWFkb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbEMsb0NBQW9DLEdBQ3JDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsNEJBQTRCLEdBQzdCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFzSS9ELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDM0QsZ0dBQWdHO0lBQ2hHLGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsa0ZBQWtGO0lBQ2xGLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZUFBZSxFQUFFLElBQUk7SUFDckIsaUJBQWlCLEVBQUUsR0FBRztJQUN0QixZQUFZLEVBQUUsdUNBQXVDO0NBQzdDLENBQUMsQ0FBQztBQUVaLE1BQU0saUJBQWlCLEdBQUcscUNBQXFDLENBQUM7QUFDaEUsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUM5QyxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO0FBQzNDLE1BQU0sUUFBUSxHQUErQztJQUMzRCxlQUFlLEVBQUUsOEJBQThCLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCO0NBQzlGLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLFFBQWlCLEVBQXNCLEVBQUUsQ0FBQyxD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
@@ -1,16 +1,65 @@
1
1
  import type { TSha256Digest } from './immutableimage.js';
2
2
  import type { IRuntimeAssignment, IRuntimeAuthorityReference, IRuntimeController } from './runtimeassignment.js';
3
3
  import type { IRuntimeSessionBinding } from './runtimesession.js';
4
+ /** A node-local directory the node derives from the claim's identity under a root only the node knows. */
5
+ export type TRuntimeLocalStorageDirectorySource = {
6
+ kind: 'directory';
7
+ };
4
8
  /**
5
- * Where a local storage claim's bytes live, named by kind and never by path.
9
+ * A directory on an NFS export. The node mounts `server:export` and uses `subPath` below it.
6
10
  *
7
- * `directory` is a node-local directory the node derives from the claim's identity under a root
8
- * only the node knows. Network filesystems join this union as further kinds; their credentials
9
- * travel as secrets and never inside a claim.
11
+ * `server` is a lowercase fully qualified hostname or a canonical IP literal, on the standard port.
12
+ * `export` is the canonical absolute path the server exports, `/` included. `subPath` is the
13
+ * volume's directory below the export, as canonical relative segments, or `.` for the export
14
+ * itself. `version` pins one protocol version. NFS authenticates the node's host, not a user, so
15
+ * the source names no credential.
10
16
  */
11
- export type TRuntimeLocalStorageSource = {
12
- kind: 'directory';
17
+ export type TRuntimeLocalStorageNfsSource = {
18
+ kind: 'nfs';
19
+ server: string;
20
+ export: string;
21
+ subPath: string;
22
+ version: TRuntimeLocalStorageNfsVersion;
23
+ };
24
+ /**
25
+ * A directory on an SMB share. The node mounts `//server/share` and uses `subPath` below it.
26
+ *
27
+ * `server` and `subPath` follow the NFS rules; `share` is one share name. `version` pins one
28
+ * dialect. `credential` names the credential authority the node authenticates with, by reference
29
+ * only: the claim never carries a user name, password or domain, and the node resolves the material
30
+ * through the controller's secret delivery.
31
+ */
32
+ export type TRuntimeLocalStorageSmbSource = {
33
+ kind: 'smb';
34
+ server: string;
35
+ share: string;
36
+ subPath: string;
37
+ version: TRuntimeLocalStorageSmbVersion;
38
+ credential: IRuntimeAuthorityReference;
13
39
  };
40
+ /**
41
+ * Where a local storage claim's bytes live, named by kind and never by a node's host path.
42
+ *
43
+ * A network source names the remote location and nothing about how to mount it: no mount option,
44
+ * no port and no credential value. The node derives every mount parameter from these fields alone.
45
+ * The kinds are type aliases, as `{ kind: 'directory' }` always was, so a source stays assignable
46
+ * to a plain record.
47
+ */
48
+ export type TRuntimeLocalStorageSource = TRuntimeLocalStorageDirectorySource | TRuntimeLocalStorageNfsSource | TRuntimeLocalStorageSmbSource;
49
+ /**
50
+ * The NFS protocol versions a claim may pin, spelled as the kernel's NFS `vers=` parameter spells
51
+ * them. NFS version 4 is always stated with its minor version: the bare `4` negotiates one, which
52
+ * the kernel keeps only for backward compatibility, and a claim must mean the same mount on every
53
+ * node. Version 2 is refused.
54
+ */
55
+ export type TRuntimeLocalStorageNfsVersion = (typeof runtimeLocalStorageClaimContract.nfsVersions)[number];
56
+ /**
57
+ * The SMB dialects a claim may pin, spelled as the kernel's CIFS `vers=` parameter spells them.
58
+ * Only SMB 3 dialects, the first that encrypt; the kernel refuses 1.0 and 2.0 unless built with
59
+ * insecure legacy dialects. `3` alone negotiates one and is refused for the same reason as a bare
60
+ * NFS `4`.
61
+ */
62
+ export type TRuntimeLocalStorageSmbVersion = (typeof runtimeLocalStorageClaimContract.smbVersions)[number];
14
63
  /** The owner and permission bits a node gives an `empty` volume's root directory when it creates it. */
15
64
  export interface IRuntimeLocalStorageOwnership {
16
65
  uid: number;
@@ -29,15 +78,19 @@ export interface IRuntimeLocalStorageMount {
29
78
  */
30
79
  export type TRuntimeLocalStorageLifecycle = 'bound' | 'purge';
31
80
  /**
32
- * A controller's authority for one retained, node-local volume of one service.
81
+ * A controller's authority for one retained volume of one service, mounted on one node.
33
82
  *
34
- * Cloudly and Onebox issue it alike. It names the volume by identity only: no host path, no
35
- * device, no mount option and no credential. The node resolves the identity to its own storage.
83
+ * Cloudly and Onebox issue it alike. It never names a host path, a device, a mount option or a
84
+ * credential value. A `directory` source names the volume by identity only, and the node resolves
85
+ * it to its own storage; a network source names the remote directory and, for SMB, the credential
86
+ * by reference.
36
87
  *
37
88
  * `initialization` says what the node does when the volume does not exist yet. `empty` creates an
38
89
  * empty root with `initialOwnership`, which it must state, so a workload that runs as the image's
39
90
  * own user never meets a root-owned directory by accident. `import` waits for the volume's bytes to
40
- * be imported and states no ownership: an imported tree keeps the ownership it carries.
91
+ * be imported and states no ownership: an imported tree keeps the ownership it carries. SMB carries
92
+ * no POSIX ownership, so the node presents an SMB volume with `initialOwnership`, and an `smb`
93
+ * source is always `empty`.
41
94
  */
42
95
  export interface IRuntimeLocalStorageClaim {
43
96
  id: string;
@@ -90,6 +143,16 @@ export declare const runtimeLocalStorageClaimContract: Readonly<{
90
143
  readonly reclaimPolicy: "retain";
91
144
  /** Every permission bit a claim may state: setgid, sticky and the rwx triplets. */
92
145
  readonly directoryModeBits: 2047;
146
+ readonly nfsVersions: readonly ["3", "4.0", "4.1", "4.2"];
147
+ readonly smbVersions: readonly ["3.0", "3.02", "3.1.1"];
148
+ /** The longest hostname a network source may name, in characters. */
149
+ readonly maximumServerLength: 253;
150
+ /** The longest `export` or `subPath`, in characters; every character is printable ASCII. */
151
+ readonly maximumPathLength: 1024;
152
+ /** The longest segment of an `export` or `subPath`. */
153
+ readonly maximumSegmentLength: 255;
154
+ /** The longest SMB share name. */
155
+ readonly maximumShareLength: 80;
93
156
  }>;
94
157
  /** Detached exact-schema snapshot. The digest is a separate check. */
95
158
  export declare const snapshotRuntimeLocalStorageClaim: (valueArg: unknown) => IRuntimeLocalStorageClaim;