@depup/mongodb 7.1.0-depup.0 → 7.5.0-depup.7

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 (114) hide show
  1. package/README.md +5 -5
  2. package/changes.json +18 -0
  3. package/lib/bson.js +32 -5
  4. package/lib/bson.js.map +1 -1
  5. package/lib/change_stream.js +4 -1
  6. package/lib/change_stream.js.map +1 -1
  7. package/lib/client-side-encryption/auto_encrypter.js +19 -10
  8. package/lib/client-side-encryption/auto_encrypter.js.map +1 -1
  9. package/lib/client-side-encryption/client_encryption.js +5 -6
  10. package/lib/client-side-encryption/client_encryption.js.map +1 -1
  11. package/lib/cmap/auth/aws4.js +4 -4
  12. package/lib/cmap/auth/aws4.js.map +1 -1
  13. package/lib/cmap/auth/gssapi.js +3 -6
  14. package/lib/cmap/auth/gssapi.js.map +1 -1
  15. package/lib/cmap/auth/mongodb_aws.js +3 -2
  16. package/lib/cmap/auth/mongodb_aws.js.map +1 -1
  17. package/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +3 -3
  18. package/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js.map +1 -1
  19. package/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +3 -3
  20. package/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js.map +1 -1
  21. package/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +3 -3
  22. package/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js.map +1 -1
  23. package/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +3 -3
  24. package/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js.map +1 -1
  25. package/lib/cmap/auth/mongodb_oidc.js +4 -4
  26. package/lib/cmap/auth/mongodb_oidc.js.map +1 -1
  27. package/lib/cmap/auth/plain.js +1 -1
  28. package/lib/cmap/auth/plain.js.map +1 -1
  29. package/lib/cmap/auth/scram.js +58 -46
  30. package/lib/cmap/auth/scram.js.map +1 -1
  31. package/lib/cmap/commands.js +46 -39
  32. package/lib/cmap/commands.js.map +1 -1
  33. package/lib/cmap/connect.js +19 -2
  34. package/lib/cmap/connect.js.map +1 -1
  35. package/lib/cmap/connection.js +5 -2
  36. package/lib/cmap/connection.js.map +1 -1
  37. package/lib/cmap/handshake/client_metadata.js +3 -4
  38. package/lib/cmap/handshake/client_metadata.js.map +1 -1
  39. package/lib/cmap/wire_protocol/compression.js +8 -7
  40. package/lib/cmap/wire_protocol/compression.js.map +1 -1
  41. package/lib/cmap/wire_protocol/constants.js +2 -2
  42. package/lib/cmap/wire_protocol/on_data.js.map +1 -1
  43. package/lib/cmap/wire_protocol/on_demand/document.js +9 -9
  44. package/lib/cmap/wire_protocol/on_demand/document.js.map +1 -1
  45. package/lib/connection_string.js +21 -5
  46. package/lib/connection_string.js.map +1 -1
  47. package/lib/cursor/abstract_cursor.js +0 -1
  48. package/lib/cursor/abstract_cursor.js.map +1 -1
  49. package/lib/cursor/find_cursor.js.map +1 -1
  50. package/lib/gridfs/download.js +2 -1
  51. package/lib/gridfs/download.js.map +1 -1
  52. package/lib/gridfs/upload.js +7 -7
  53. package/lib/gridfs/upload.js.map +1 -1
  54. package/lib/index.js.map +1 -1
  55. package/lib/mongo_client.js +0 -1
  56. package/lib/mongo_client.js.map +1 -1
  57. package/lib/operations/count.js.map +1 -1
  58. package/lib/operations/execute_operation.js +114 -41
  59. package/lib/operations/execute_operation.js.map +1 -1
  60. package/lib/operations/operation.js +1 -0
  61. package/lib/operations/operation.js.map +1 -1
  62. package/lib/runtime_adapters.js +32 -0
  63. package/lib/runtime_adapters.js.map +1 -0
  64. package/lib/sdam/srv_polling.js +1 -1
  65. package/lib/sdam/srv_polling.js.map +1 -1
  66. package/lib/sdam/topology.js +5 -3
  67. package/lib/sdam/topology.js.map +1 -1
  68. package/lib/sessions.js +125 -81
  69. package/lib/sessions.js.map +1 -1
  70. package/lib/utils.js +52 -36
  71. package/lib/utils.js.map +1 -1
  72. package/mongodb.d.ts +96 -38
  73. package/package.json +66 -53
  74. package/src/bson.ts +34 -5
  75. package/src/change_stream.ts +5 -1
  76. package/src/client-side-encryption/auto_encrypter.ts +17 -11
  77. package/src/client-side-encryption/client_encryption.ts +42 -14
  78. package/src/cmap/auth/auth_provider.ts +1 -1
  79. package/src/cmap/auth/aws4.ts +5 -5
  80. package/src/cmap/auth/gssapi.ts +9 -6
  81. package/src/cmap/auth/mongodb_aws.ts +2 -2
  82. package/src/cmap/auth/mongodb_oidc/azure_machine_workflow.ts +1 -1
  83. package/src/cmap/auth/mongodb_oidc/gcp_machine_workflow.ts +1 -1
  84. package/src/cmap/auth/mongodb_oidc/k8s_machine_workflow.ts +1 -1
  85. package/src/cmap/auth/mongodb_oidc/token_machine_workflow.ts +1 -1
  86. package/src/cmap/auth/mongodb_oidc.ts +4 -4
  87. package/src/cmap/auth/plain.ts +2 -2
  88. package/src/cmap/auth/scram.ts +87 -61
  89. package/src/cmap/commands.ts +70 -51
  90. package/src/cmap/connect.ts +21 -1
  91. package/src/cmap/connection.ts +11 -4
  92. package/src/cmap/handshake/client_metadata.ts +6 -6
  93. package/src/cmap/wire_protocol/compression.ts +18 -14
  94. package/src/cmap/wire_protocol/constants.ts +2 -2
  95. package/src/cmap/wire_protocol/on_data.ts +5 -5
  96. package/src/cmap/wire_protocol/on_demand/document.ts +12 -14
  97. package/src/connection_string.ts +29 -11
  98. package/src/cursor/abstract_cursor.ts +0 -1
  99. package/src/cursor/find_cursor.ts +1 -1
  100. package/src/deps.ts +4 -4
  101. package/src/gridfs/download.ts +2 -2
  102. package/src/gridfs/upload.ts +13 -12
  103. package/src/index.ts +2 -0
  104. package/src/mongo_client.ts +28 -1
  105. package/src/operations/client_bulk_write/command_builder.ts +1 -1
  106. package/src/operations/count.ts +1 -2
  107. package/src/operations/execute_operation.ts +146 -45
  108. package/src/operations/operation.ts +8 -0
  109. package/src/runtime_adapters.ts +64 -0
  110. package/src/sdam/srv_polling.ts +1 -1
  111. package/src/sdam/topology.ts +11 -8
  112. package/src/sessions.ts +142 -99
  113. package/src/utils.ts +68 -46
  114. package/tsconfig.json +1 -1
package/lib/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.kDispose = exports.randomBytes = exports.COSMOS_DB_MSG = exports.DOCUMENT_DB_MSG = exports.COSMOS_DB_CHECK = exports.DOCUMENT_DB_CHECK = exports.MONGODB_WARNING_CODE = exports.DEFAULT_PK_FACTORY = exports.HostAddress = exports.BufferPool = exports.List = exports.MongoDBCollectionNamespace = exports.MongoDBNamespace = exports.ByteUtils = void 0;
3
+ exports.kDispose = exports.randomBytes = exports.COSMOS_DB_MSG = exports.DOCUMENT_DB_MSG = exports.COSMOS_DB_CHECK = exports.DOCUMENT_DB_CHECK = exports.MONGODB_WARNING_CODE = exports.DEFAULT_PK_FACTORY = exports.HostAddress = exports.BufferPool = exports.List = exports.MongoDBCollectionNamespace = exports.MongoDBNamespace = void 0;
4
4
  exports.isUint8Array = isUint8Array;
5
5
  exports.hostMatchesWildcards = hostMatchesWildcards;
6
6
  exports.normalizeHintField = normalizeHintField;
@@ -33,6 +33,7 @@ exports.enumToString = enumToString;
33
33
  exports.supportsRetryableWrites = supportsRetryableWrites;
34
34
  exports.shuffle = shuffle;
35
35
  exports.commandSupportsReadConcern = commandSupportsReadConcern;
36
+ exports.commandSupportsAfterClusterTime = commandSupportsAfterClusterTime;
36
37
  exports.compareObjectId = compareObjectId;
37
38
  exports.parseInteger = parseInteger;
38
39
  exports.parseUnsignedInteger = parseUnsignedInteger;
@@ -49,7 +50,6 @@ exports.noop = noop;
49
50
  exports.decorateDecryptionResult = decorateDecryptionResult;
50
51
  exports.addAbortListener = addAbortListener;
51
52
  exports.abortable = abortable;
52
- const crypto = require("crypto");
53
53
  const fs_1 = require("fs");
54
54
  const http = require("http");
55
55
  const process = require("process");
@@ -62,22 +62,6 @@ const read_concern_1 = require("./read_concern");
62
62
  const read_preference_1 = require("./read_preference");
63
63
  const common_1 = require("./sdam/common");
64
64
  const write_concern_1 = require("./write_concern");
65
- exports.ByteUtils = {
66
- toLocalBufferType(buffer) {
67
- return Buffer.isBuffer(buffer)
68
- ? buffer
69
- : Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
70
- },
71
- equals(seqA, seqB) {
72
- return exports.ByteUtils.toLocalBufferType(seqA).equals(seqB);
73
- },
74
- compare(seqA, seqB) {
75
- return exports.ByteUtils.toLocalBufferType(seqA).compare(seqB);
76
- },
77
- toBase64(uint8array) {
78
- return exports.ByteUtils.toLocalBufferType(uint8array).toString('base64');
79
- }
80
- };
81
65
  /**
82
66
  * Returns true if value is a Uint8Array or a Buffer
83
67
  * @param value - any value that may be a Uint8Array
@@ -94,11 +78,26 @@ function isUint8Array(value) {
94
78
  */
95
79
  function hostMatchesWildcards(host, wildcards) {
96
80
  for (const wildcard of wildcards) {
97
- if (host === wildcard ||
98
- (wildcard.startsWith('*.') && host?.endsWith(wildcard.substring(2, wildcard.length))) ||
99
- (wildcard.startsWith('*/') && host?.endsWith(wildcard.substring(2, wildcard.length)))) {
81
+ // Exact match always wins
82
+ if (host === wildcard) {
100
83
  return true;
101
84
  }
85
+ // Wildcard match with leading *.
86
+ if (wildcard.startsWith('*.')) {
87
+ const suffix = wildcard.substring(2);
88
+ // Exact match or strict subdomain match
89
+ if (host === suffix || host.endsWith(`.${suffix}`)) {
90
+ return true;
91
+ }
92
+ }
93
+ // Wildcard match with leading */
94
+ if (wildcard.startsWith('*/')) {
95
+ const suffix = wildcard.substring(2);
96
+ // Exact match or strict subpath match
97
+ if (host === suffix || host.endsWith(`/${suffix}`)) {
98
+ return true;
99
+ }
100
+ }
102
101
  }
103
102
  return false;
104
103
  }
@@ -285,7 +284,7 @@ function* makeCounter(seed = 0) {
285
284
  * @internal
286
285
  */
287
286
  function uuidV4() {
288
- const result = crypto.randomBytes(16);
287
+ const result = crypto.getRandomValues(new Uint8Array(16));
289
288
  result[6] = (result[6] & 0x0f) | 0x40;
290
289
  result[8] = (result[8] & 0x3f) | 0x80;
291
290
  return result;
@@ -649,12 +648,12 @@ class BufferPool {
649
648
  }
650
649
  const firstBuffer = this.buffers.first();
651
650
  if (firstBuffer != null && firstBuffer.byteLength >= 4) {
652
- return firstBuffer.readInt32LE(0);
651
+ return bson_1.NumberUtils.getInt32LE(firstBuffer, 0);
653
652
  }
654
653
  // Unlikely case: an int32 is split across buffers.
655
654
  // Use read and put the returned buffer back on top
656
655
  const top4Bytes = this.read(4);
657
- const value = top4Bytes.readInt32LE(0);
656
+ const value = bson_1.NumberUtils.getInt32LE(top4Bytes, 0);
658
657
  // Put it back.
659
658
  this.totalByteLength += 4;
660
659
  this.buffers.unshift(top4Bytes);
@@ -667,11 +666,11 @@ class BufferPool {
667
666
  }
668
667
  // oversized request returns empty buffer
669
668
  if (size > this.totalByteLength) {
670
- return Buffer.alloc(0);
669
+ return bson_1.ByteUtils.allocate(0);
671
670
  }
672
671
  // We know we have enough, we just don't know how it is spread across chunks
673
672
  // TODO(NODE-4732): alloc API should change based on raw option
674
- const result = Buffer.allocUnsafe(size);
673
+ const result = bson_1.ByteUtils.allocateUnsafe(size);
675
674
  for (let bytesRead = 0; bytesRead < size;) {
676
675
  const buffer = this.buffers.shift();
677
676
  if (buffer == null) {
@@ -872,6 +871,29 @@ function commandSupportsReadConcern(command) {
872
871
  }
873
872
  return false;
874
873
  }
874
+ /**
875
+ * @internal
876
+ */
877
+ function commandSupportsAfterClusterTime(command) {
878
+ // READ operations
879
+ if (command.aggregate || command.count || command.distinct || command.find || command.geoNear) {
880
+ return true;
881
+ }
882
+ // WRITE operations
883
+ if (command.bulkWrite ||
884
+ command.create ||
885
+ command.createIndexes ||
886
+ command.delete ||
887
+ command.drop ||
888
+ command.dropDatabase ||
889
+ command.dropIndexes ||
890
+ command.findAndModify ||
891
+ command.insert ||
892
+ command.update) {
893
+ return true;
894
+ }
895
+ return false;
896
+ }
875
897
  /**
876
898
  * Compare objectIds. `null` is always less
877
899
  * - `+1 = oid1 is greater than oid2`
@@ -888,7 +910,7 @@ function compareObjectId(oid1, oid2) {
888
910
  if (oid2 == null) {
889
911
  return 1;
890
912
  }
891
- return exports.ByteUtils.compare(oid1.id, oid2.id);
913
+ return bson_1.ByteUtils.compare(oid1.id, oid2.id);
892
914
  }
893
915
  function parseInteger(value) {
894
916
  if (typeof value === 'number')
@@ -1000,13 +1022,7 @@ function squashError(_error) {
1000
1022
  return;
1001
1023
  }
1002
1024
  const randomBytes = (size) => {
1003
- return new Promise((resolve, reject) => {
1004
- crypto.randomBytes(size, (error, buf) => {
1005
- if (error)
1006
- return reject(error);
1007
- resolve(buf);
1008
- });
1009
- });
1025
+ return Promise.resolve(crypto.getRandomValues(new Uint8Array(size)));
1010
1026
  };
1011
1027
  exports.randomBytes = randomBytes;
1012
1028
  /**
@@ -1076,10 +1092,10 @@ function noop() {
1076
1092
  function decorateDecryptionResult(decrypted, original, isTopLevelDecorateCall = true) {
1077
1093
  if (isTopLevelDecorateCall) {
1078
1094
  // The original value could have been either a JS object or a BSON buffer
1079
- if (Buffer.isBuffer(original)) {
1095
+ if (bson_1.ByteUtils.isUint8Array(original)) {
1080
1096
  original = (0, bson_1.deserialize)(original);
1081
1097
  }
1082
- if (Buffer.isBuffer(decrypted)) {
1098
+ if (bson_1.ByteUtils.isUint8Array(decrypted)) {
1083
1099
  throw new error_1.MongoRuntimeError('Expected result of decryption to be deserialized BSON object');
1084
1100
  }
1085
1101
  }
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAwDA,oCAOC;AAMD,oDAyBC;AAQD,gDAmBC;AASD,4BAEC;AAGD,oCAEC;AAGD,sCAWC;AAmBD,sCAOC;AAUD,sDAIC;AASD,0DAgBC;AAmBD,kCASC;AAGD,gBAEC;AA0DD,kCAOC;AAMD,wBAKC;AAMD,wCAsCC;AAGD,4CAMC;AAGD,4CAsBC;AAoBD,4CAYC;AAOD,sCAEC;AAGD,sDAOC;AAGD,gDAgCC;AAED,sDAWC;AAUD,wCA8CC;AAED,gCASC;AAMD,0BAEC;AAGD,sCAMC;AAUD,4BA0BC;AAiXD,kCAEC;AASD,0CAKC;AAKD,oCAEC;AAOD,0DAmBC;AASD,0BAqBC;AAOD,gEAKC;AAKD,0EAuBC;AAQD,0CAcC;AAED,oCAKC;AAED,oDAIC;AAcD,wDA8BC;AAMD,kBA0BC;AAeD,kCAEC;AAED,oDAYC;AAYD,kCAEC;AAcD,oBAmBC;AAED,sDAkBC;AAED,4CAOC;AAED,0BAIC;AAED,oBAEC;AAUD,4DAwCC;AAwBD,4CAOC;AAeD,8BAqBC;AA76CD,2BAAoC;AACpC,6BAA6B;AAC7B,mCAAmC;AACnC,mCAAkD;AAElD,iCAOgB;AAEhB,8DAA4E;AAE5E,2CAAmE;AAInE,mCAQiB;AAKjB,iDAA6C;AAC7C,uDAAmD;AACnD,0CAA2C;AAK3C,mDAA+C;AAU/C;;;GAGG;AACH,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,CACL,KAAK,IAAI,IAAI;QACb,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,WAAW,IAAI,KAAK;QAC3B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,YAAY,CAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,IAAY,EAAE,SAAmB;IACpE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,0BAA0B;QAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrC,wCAAwC;YACxC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,iCAAiC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrC,sCAAsC;YACtC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,IAAW;IAC5C,IAAI,SAAS,GAAG,SAAS,CAAC;IAE1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,SAAS,GAAG,EAAE,CAAC;QAEf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpD,SAAS,GAAG,EAAc,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9E;;;;GAIG;AAEH,SAAgB,QAAQ,CAAC,GAAY;IACnC,OAAO,iBAAiB,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,gBAAgB;AAChB,SAAgB,YAAY,CAAO,MAAS,EAAE,MAAS;IACrD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,gBAAgB;AAChB,SAAgB,aAAa,CAAC,OAAmB,EAAE,KAA4B;IAC7E,MAAM,aAAa,GAAe,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,SAAgB,aAAa,CAAc,KAAe;IACxD,OAAO,CACL,KAAK,IAAI,IAAI;QACb,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,OAAiB,EAAE,OAAmB;IAC1E,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,OAAiB,EACjB,IAA0C,EAC1C,OAA0B;IAE1B,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAaD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,QAA0B;IACpD,iDAAiD;IACjD,IAAI,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;SAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5D,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,8BAAsB,CAAC,yDAAyD,CAAC,CAAC;AAC9F,CAAC;AAED,gBAAgB;AAChB,SAAgB,EAAE,CAAC,EAAU;IAC3B,OAAO,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,cAAc;AACd,MAAa,gBAAgB;IAG3B;;;;;OAKG;IACH,YAAY,EAAU,EAAE,UAAmB;QACzC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,SAAkB;QAClC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACtD,oDAAoD;YACpD,MAAM,IAAI,yBAAiB,CAAC,gCAAgC,SAAS,GAAG,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,IAAI,gBAAgB,CAAC,EAAE,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;CACF;AAhCD,4CAgCC;AAED;;;;;;GAMG;AACH,MAAa,0BAA2B,SAAQ,gBAAgB;IAG9D,YAAY,EAAU,EAAE,UAAkB;QACxC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,MAAM,CAAU,UAAU,CAAC,SAAkB;QAC3C,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAA+B,CAAC;IACnE,CAAC;CACF;AAXD,gEAWC;AAED,gBAAgB;AAChB,QAAe,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;IACnC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,KAAK,CAAC;QACvB,KAAK,IAAI,CAAC,CAAC;QACX,MAAM,QAAQ,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,MAAM;IACpB,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,cAA+C;IAC5E,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC;QAC7C,CAAC;QAED,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YACtC,0DAA0D;YAC1D,OAAO,sCAA0B,CAAC;QACpC,CAAC;QACD,oFAAoF;QACpF,kFAAkF;QAClF,gFAAgF;QAChF,+EAA+E;QAC/E,gFAAgF;QAChF,8EAA8E;QAC9E,6CAA6C;QAC7C,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAChC,OAAO,sCAA0B,CAAC;QACpC,CAAC;QAED,IAAI,WAAW,IAAI,cAAc,IAAI,OAAO,cAAc,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACpF,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC,cAAc,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IACE,cAAc,CAAC,WAAW;YAC1B,gBAAgB,IAAI,cAAc,CAAC,WAAW;YAC9C,cAAc,CAAC,WAAW,CAAC,cAAc,IAAI,IAAI,EACjD,CAAC;YACD,OAAO,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,GAAc,EAAE,IAAe;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,GAAqB,EAAE,GAAqB;IAC3E,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,GAAG,KAAK,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAmBD,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,UAAsB;IACrD,OAAO,SAAS,eAAe,CAAC,MAAM,EAAE,QAAQ;QAC9C,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,yBAAiB,CACzB,kCAAkC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,QAAQ,gBAAgB,WAAW,GAAG,CAChG,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED;;;;KAIK;AACL,SAAgB,aAAa;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,OAA2B;IAC/D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IAC1C,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,SAAgB,kBAAkB,CAChC,GAA0B,EAC1B,OAAiC;IAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,2EAA2E;IAC3E,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;QAC7B,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,gDAAgD;YAChD,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3B,YAAY,GAAG,KAAK,CAAC;gBACrB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,iCAAyB,CACjC,kGAAkG,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC/C,CAAC;AAED,SAAgB,qBAAqB,CACnC,MAAmB,EACnB,OAAU;IAMV,MAAM,EAAE,eAAe,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAChF,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACnB,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;AAClG,CAAC;AACD;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAC5B,MAAmC,EACnC,OAAW;IAEX,MAAM,MAAM,GAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAA,yBAAkB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAElF,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,SAAS,CAAC;IAC1D,8EAA8E;IAC9E,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IAEjC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,0BAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,WAAW,CAAC;QAC5E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,CAAC;QAED,IAAI,YAAY,GAAG,4BAAY,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,YAAY,CAAC;QAC7E,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,YAAY,GAAG,4BAAY,CAAC,WAAW,CAAC;oBACtC,YAAY,EAAE;wBACZ,GAAG,YAAY;wBACf,QAAQ,EAAE,SAAS;wBACnB,UAAU,EAAE,SAAS;qBACtB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAE7B,MAAM,cAAc,GAAG,gCAAc,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,cAAc,CAAC;IACrF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,MAAM,uBAAuB,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;IACrF,IAAI,uBAAuB,IAAI,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,iCAAyB,CACjC,kHAAkH,CACnH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CAAC,GAAqB,EAAE,MAAwB;IACxE,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9C,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,GAAa;IACnC,OAAO,GAAG,CAAC,gCAAoB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/D,CAAC;AAED,kDAAkD;AAClD,SAAgB,aAAa,CAAI,IAAiB,EAAE,IAAiB;IACnE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAI,IAAI,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,IAAY,EAAE,EAAE,CAChD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAOrD,SAAgB,QAAQ,CACtB,KAAc,EACd,eAAqC,SAAS;IAE9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAI,KAAa,CAAC,WAAW,CAAC;IACxC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAwBD;;;;;;;;GAQG;AACH,MAAa,IAAI;IAIf,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,MAAe,CAAC;IACzB,CAAC;IAED;QACE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAEf,6BAA6B;QAC7B,oDAAoD;QACpD,oDAAoD;QACpD,IAAI,CAAC,IAAI,GAAG;YACV,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACY,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAC7D,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,CAAC,KAAK;QACZ,IAAI,GAAG,GAA0C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAChE,OAAO,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,2EAA2E;YAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,GAAkB,CAAC;YACpC,MAAM,GAAkB,CAAC;YACzB,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,KAAQ;QACX,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,MAAM,OAAO,GAAgB;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAmB;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAmB;YACnC,KAAK;SACN,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAC3E,QAAQ,CAAC,QAAqB;QAC5B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,MAAM,OAAO,GAAgB;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAmB;YACnC,IAAI,EAAE,IAAI,CAAC,IAAmB;YAC9B,KAAK;SACN,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEO,MAAM,CAAC,IAA6B;QAC1C,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEzB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,sDAAsD;IACtD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,mDAAmD;IACnD,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,MAA6B;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAiB,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAiB,CAAC;IAC1C,CAAC;IAED,0DAA0D;IAC1D,KAAK;QACH,sDAAsD;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,yDAAyD;IACzD,IAAI;QACF,sDAAsD;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9B,CAAC;CACF;AArID,oBAqIC;AAED;;;GAGG;AACH,MAAa,UAAU;IAIrB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,qDAAqD;IACrD,MAAM,CAAC,MAAkB;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,kBAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,mDAAmD;QACnD,mDAAmD;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,kBAAW,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEnD,eAAe;QACf,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,IAAY;QACf,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,iCAAyB,CAAC,+CAA+C,CAAC,CAAC;QACvF,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,OAAO,gBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,4EAA4E;QAC5E,+DAA+D;QAC/D,MAAM,MAAM,GAAG,gBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE9C,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,GAAI,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAEhD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAE7B,SAAS,IAAI,aAAa,CAAC;YAC3B,IAAI,CAAC,eAAe,IAAI,aAAa,CAAC;YACtC,IAAI,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA/ED,gCA+EC;AAED,cAAc;AACd,MAAa,WAAW;IAMtB,YAAY,UAAkB;QAL9B,SAAI,GAAuB,SAAS,CAAC;QACrC,SAAI,GAAuB,SAAS,CAAC;QACrC,eAAU,GAAuB,SAAS,CAAC;QAC3C,WAAM,GAAG,KAAK,CAAC;QAGb,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,uCAAuC;QAE9F,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,gEAAgE;YAChE,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,WAAW,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,IAAI,yBAAiB,CAAC,mBAAmB,WAAW,WAAW,CAAC,CAAC;YACtF,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC9B,MAAM,YAAY,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAEtB,IAAI,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5D,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,uBAAe,CAAC,mCAAmC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,oBAAoB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,UAAU,CAAa,CAAS;QACrC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,IAAY;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,eAAe;QACrC,CAAC;QACD,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAa;QAC5C,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;CACF;AA5FD,kCA4FC;AAEY,QAAA,kBAAkB,GAAG;IAChC,6DAA6D;IAC7D,QAAQ;QACN,OAAO,IAAI,eAAQ,EAAE,CAAC;IACxB,CAAC;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACU,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,gBAAgB;AAChB,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,4BAAoB,EAAS,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AAClC;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,EAA2B;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,MAAe;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,2DAA2D;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,CAAC,4BAA4B,IAAI,IAAI,EAAE,CAAC;QAC5D,yBAAyB;QACzB,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,mBAAU,CAAC,UAAU,EAAE,CAAC;YACtD,+BAA+B;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAAI,QAAqB,EAAE,KAAK,GAAG,CAAC;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,mDAAmD;IAEvF,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,yBAAiB,CAAC,6CAA6C,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IACzE,OAAO,uBAAuB,GAAG,UAAU,EAAE,CAAC;QAC5C,2BAA2B;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,uBAAuB,CAAC,CAAC;QACxE,uBAAuB,IAAI,CAAC,CAAC;QAE7B,uCAAuC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAChD,KAAK,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,KAAK,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,OAAiB;IAC1D,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,+BAA+B,CAAC,OAAiB;IAC/D,kBAAkB;IAClB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB;IACnB,IACE,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,MAAM,EACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAsB,EAAE,IAAsB;IAC5E,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,gBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvD,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;AACxD,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAc;IACjD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,OAAO,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,sBAAsB,CAAC,OAAe,EAAE,OAAe;IACrE,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjG,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEjG,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAC5C,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxE,yCAAyC;IACzC,oCAAoC;IACpC,uCAAuC;IACvC,yEAAyE;IACzE,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,EAAE,CAAC;IACtF,IAAI,aAAa,GAAG,uBAAuB;QACzC,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,EAAE,CAAC;IAEpE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,aAAa,GAAG,GAAG,GAAG,aAAa,CAAC;IACtC,CAAC;IACD,IACE,uBAAuB;QACvB,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAC1E,CAAC;QACD,MAAM,IAAI,qBAAa,CACrB,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAa,CAAC,uDAAuD,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,GAAG,CACjB,GAAiB,EACjB,UAA+B,EAAE;IAEjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,iCAAiC;QACjC,IAAI,SAAyB,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI;aACjB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;YAC5B,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACtB,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACnB,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;aACD,GAAG,EAAE,CAAC;QACT,SAAS,GAAG,IAAA,mBAAU,EAAC,GAAG,EAAE;YAC1B,OAAO,CAAC,OAAO,CAAC,IAAI,gCAAwB,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACtF,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB;AACH,QAAA,iBAAiB,GAAG,+DAA+D,CAAC;AACjG,gBAAgB;AACH,QAAA,eAAe,GAAG,uBAAuB,CAAC;AAEvD,gBAAgB;AACH,QAAA,eAAe,GAC1B,qLAAqL,CAAC;AACxL,gBAAgB;AACH,QAAA,aAAa,GACxB,iLAAiL,CAAC;AAEpL,gBAAgB;AAChB,SAAgB,WAAW,CAAC,KAAa,EAAE,IAAa;IACtD,OAAO,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/D,CAAC;AAED,SAAgB,oBAAoB;IAKlC,IAAI,OAA4B,CAAC;IACjC,IAAI,MAA+B,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,SAAS,qBAAqB,CAAC,cAAc,EAAE,aAAa;QACzF,OAAO,GAAG,cAAc,CAAC;QACzB,MAAM,GAAG,aAAa,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAW,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,WAAW,CAAC,MAAe;IACzC,OAAO;AACT,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,IAAY,EAAuB,EAAE;IAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEF;;;;;;;GAOG;AACI,KAAK,UAAU,IAAI,CAAI,EAAgB,EAAE,IAAY,EAAE,OAAmB;IAC/E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAElC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAK,CAAC;IAC/D,MAAM,OAAO,GAAG,CAAC,IAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE;QACtD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtB,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzB,aAAa,EAAE,CAAC,gBAAQ,CAAC,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,UAAsB,EACtB,QAAkB,EAClB,OAA0C;IAE1C,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB,IAAI,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,IAAI,KAAK,CAAC;IAErF,yDAAyD;IACzD,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAAa;IACpE,IAAI,CAAC;QACH,MAAM,aAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,OAAO,CAAC,SAAiB,EAAE,SAAiB;IAC1D,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,IAAI;IAClB,OAAO;AACT,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CACtC,SAA0D,EAC1D,QAAkB,EAClB,sBAAsB,GAAG,IAAI;IAE7B,IAAI,sBAAsB,EAAE,CAAC;QAC3B,yEAAyE;QACzE,IAAI,gBAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,gBAAS,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,yBAAiB,CAAC,8DAA8D,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO;IACxD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAElC,iEAAiE;QACjE,uCAAuC;QACvC,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,KAAK,QAAQ,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1F,IAAI,CAAC,SAAS,CAAC,0BAAc,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,0BAAc,EAAE;oBAC/C,KAAK,EAAE,EAAE;oBACT,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,gDAAgD;YAChD,oEAAoE;YACpE,SAAS,CAAC,0BAAc,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,8EAA8E;YAC9E,0EAA0E;YAC1E,SAAS;QACX,CAAC;QAED,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,gBAAgB;AACH,QAAA,QAAQ,GAAmB,MAAM,CAAC,OAAe,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;AAOpF;;;;;;;;;;;;;GAaG;AACH,SAAgB,gBAAgB,CAC9B,MAAsC,EACtC,QAAmD;IAEnD,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO;IAC3B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,gBAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,SAAS,CAC7B,OAAmB,EACnB,EAAE,MAAM,EAA4B;IAEpC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAS,CAAC;IAEnE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO;QAClC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IAEP,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,aAAa,EAAE,CAAC,gBAAQ,CAAC,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC"}
package/mongodb.d.ts CHANGED
@@ -24,6 +24,7 @@ import type { SrvRecord } from 'dns';
24
24
  import { EventEmitter } from 'events';
25
25
  import type { Socket } from 'net';
26
26
  import type { TcpNetConnectOpts } from 'net';
27
+ import type * as os from 'os';
27
28
  import { Readable } from 'stream';
28
29
  import { Writable } from 'stream';
29
30
  import type { ConnectionOptions as ConnectionOptions_2 } from 'tls';
@@ -115,7 +116,6 @@ export declare abstract class AbstractCursor<TSchema = any, CursorEvents extends
115
116
  get killed(): boolean;
116
117
  get loadBalanced(): boolean;
117
118
  /**
118
- * @experimental
119
119
  * An alias for {@link AbstractCursor.close|AbstractCursor.close()}.
120
120
  */
121
121
  [Symbol.asyncDispose](): Promise<void>;
@@ -1166,7 +1166,6 @@ export declare type Callback<T = any> = (error?: AnyError, result?: T) => void;
1166
1166
  */
1167
1167
  export declare class ChangeStream<TSchema extends Document = Document, TChange extends Document = ChangeStreamDocument<TSchema>> extends TypedEventEmitter<ChangeStreamEvents<TSchema, TChange>> implements AsyncDisposable {
1168
1168
  /**
1169
- * @experimental
1170
1169
  * An alias for {@link ChangeStream.close|ChangeStream.close()}.
1171
1170
  */
1172
1171
  [Symbol.asyncDispose](): Promise<void>;
@@ -1222,6 +1221,8 @@ export declare class ChangeStream<TSchema extends Document = Document, TChange e
1222
1221
  /* Excluded from this release type: __constructor */
1223
1222
  /** The cached resume token that is used to resume after the most recently returned change. */
1224
1223
  get resumeToken(): ResumeToken;
1224
+ /** Returns the currently buffered documents length of the underlying cursor. */
1225
+ bufferedCount(): number;
1225
1226
  /** Check if there is any document still available in the Change Stream */
1226
1227
  hasNext(): Promise<boolean>;
1227
1228
  /** Get the next available document from the Change Stream. */
@@ -2121,7 +2122,9 @@ export declare interface ClientEncryptionEncryptOptions {
2121
2122
  /**
2122
2123
  * The algorithm to use for encryption.
2123
2124
  */
2124
- algorithm: 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic' | 'AEAD_AES_256_CBC_HMAC_SHA_512-Random' | 'Indexed' | 'Unindexed' | 'Range' | 'TextPreview';
2125
+ algorithm: 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic' | 'AEAD_AES_256_CBC_HMAC_SHA_512-Random' | 'Indexed' | 'Unindexed' | 'Range' | 'String'
2126
+ /** @deprecated Use `'String'` instead. */
2127
+ | 'TextPreview';
2125
2128
  /**
2126
2129
  * The id of the Binary dataKey to use for encryption
2127
2130
  */
@@ -2135,15 +2138,23 @@ export declare interface ClientEncryptionEncryptOptions {
2135
2138
  /**
2136
2139
  * The query type.
2137
2140
  */
2138
- queryType?: 'equality' | 'range' | 'prefixPreview' | 'suffixPreview' | 'substringPreview';
2141
+ queryType?: 'equality' | 'range' | 'prefix' | 'suffix' | 'substring'
2142
+ /** @deprecated Use `'prefix'` instead. */
2143
+ | 'prefixPreview'
2144
+ /** @deprecated Use `'suffix'` instead. */
2145
+ | 'suffixPreview'
2146
+ /** @deprecated Use `'substring'` instead. */
2147
+ | 'substringPreview';
2139
2148
  /** The index options for a Queryable Encryption field supporting "range" queries.*/
2140
2149
  rangeOptions?: RangeOptions;
2150
+ /** Options for a Queryable Encryption field supporting string queries. Only valid when `algorithm` is `'String'` or the deprecated `'TextPreview'`. */
2151
+ stringOptions?: StringQueryOptions;
2141
2152
  /**
2142
- * Options for a Queryable Encryption field supporting text queries. Only valid when `algorithm` is `TextPreview`.
2153
+ * Options for a Queryable Encryption field supporting text queries. Only valid when `algorithm` is `'String'` or the deprecated `'TextPreview'`.
2143
2154
  *
2144
- * @experimental Public Technical Preview: `textPreview` is an experimental feature and may break at any time.
2155
+ * @deprecated Use `stringOptions` instead.
2145
2156
  */
2146
- textOptions?: TextQueryOptions;
2157
+ textOptions?: StringQueryOptions;
2147
2158
  }
2148
2159
 
2149
2160
  /**
@@ -2339,7 +2350,6 @@ export declare class ClientSession extends TypedEventEmitter<ClientSessionEvents
2339
2350
  */
2340
2351
  endSession(options?: EndSessionOptions): Promise<void>;
2341
2352
  /**
2342
- * @experimental
2343
2353
  * An alias for {@link ClientSession.endSession|ClientSession.endSession()}.
2344
2354
  */
2345
2355
  [Symbol.asyncDispose](): Promise<void>;
@@ -3513,6 +3523,7 @@ export declare interface ConnectionOptions extends SupportedNodeConnectionOption
3513
3523
  /* Excluded from this release type: cancellationToken */
3514
3524
  /* Excluded from this release type: metadata */
3515
3525
  /* Excluded from this release type: mongoLogger */
3526
+ /* Excluded from this release type: runtime */
3516
3527
  }
3517
3528
 
3518
3529
  /* Excluded from this release type: ConnectionPool */
@@ -4980,7 +4991,7 @@ export declare class GridFSBucketWriteStream extends Writable {
4980
4991
  /** The number of bytes that each chunk will be limited to */
4981
4992
  chunkSizeBytes: number;
4982
4993
  /** Space used to store a chunk currently being inserted */
4983
- bufToStore: Buffer;
4994
+ bufToStore: Uint8Array;
4984
4995
  /** Accumulates the number of bytes inserted as the stream uploads chunks */
4985
4996
  length: number;
4986
4997
  /** Accumulates the number of chunks inserted as the stream uploads file contents */
@@ -5688,7 +5699,6 @@ export declare class MongoClient extends TypedEventEmitter<MongoClientEvents> im
5688
5699
  private driverInfoList;
5689
5700
  constructor(url: string, options?: MongoClientOptions);
5690
5701
  /**
5691
- * @experimental
5692
5702
  * An alias for {@link MongoClient.close|MongoClient.close()}.
5693
5703
  */
5694
5704
  [Symbol.asyncDispose](): Promise<void>;
@@ -6100,6 +6110,22 @@ export declare interface MongoClientOptions extends BSONSerializeOptions, Suppor
6100
6110
  retryReads?: boolean;
6101
6111
  /** Enable retryable writes. */
6102
6112
  retryWrites?: boolean;
6113
+ /**
6114
+ * The maximum number of retries during server overload. Set to 0 to disable overload retries. Defaults to 2.
6115
+ * @see https://www.mongodb.com/docs/atlas/overload-errors
6116
+ *
6117
+ * This option works with MongoDB Atlas Server Version 9.0 and above.
6118
+ * */
6119
+ maxAdaptiveRetries?: number;
6120
+ /**
6121
+ * Whether or not to enable overload retargeting. Defaults to false.
6122
+ * @see https://www.mongodb.com/docs/atlas/overload-errors
6123
+ * More information about the overload policy in drivers:
6124
+ * @see https://github.com/mongodb/specifications/blob/master/source/client-backpressure/client-backpressure.md#overload-retry-policy
6125
+ *
6126
+ * This option works with MongoDB Atlas Server Version 9.0 and above.
6127
+ * */
6128
+ enableOverloadRetargeting?: boolean;
6103
6129
  /** Allow a driver to force a Single topology type with a connection string containing one host */
6104
6130
  directConnection?: boolean;
6105
6131
  /** Instruct the driver it is connecting to a load balancer fronting a mongos like service */
@@ -6186,6 +6212,12 @@ export declare interface MongoClientOptions extends BSONSerializeOptions, Suppor
6186
6212
  /* Excluded from this release type: srvPoller */
6187
6213
  /* Excluded from this release type: connectionType */
6188
6214
  /* Excluded from this release type: __skipPingOnConnect */
6215
+ /**
6216
+ * @experimental
6217
+ *
6218
+ * If provided, any adapters provided will be used in place of the corresponding Node.js module.
6219
+ */
6220
+ runtimeAdapters?: RuntimeAdapters;
6189
6221
  }
6190
6222
 
6191
6223
  /* Excluded from this release type: MongoClientPrivate */
@@ -6938,7 +6970,7 @@ export declare class MongoOperationTimeoutError extends MongoDriverError {
6938
6970
  *
6939
6971
  * @public
6940
6972
  */
6941
- export declare interface MongoOptions extends Required<Pick<MongoClientOptions, 'autoEncryption' | 'connectTimeoutMS' | 'directConnection' | 'driverInfo' | 'forceServerObjectId' | 'minHeartbeatFrequencyMS' | 'heartbeatFrequencyMS' | 'localThresholdMS' | 'maxConnecting' | 'maxIdleTimeMS' | 'maxPoolSize' | 'minPoolSize' | 'monitorCommands' | 'noDelay' | 'pkFactory' | 'raw' | 'replicaSet' | 'retryReads' | 'retryWrites' | 'serverSelectionTimeoutMS' | 'socketTimeoutMS' | 'srvMaxHosts' | 'srvServiceName' | 'tlsAllowInvalidCertificates' | 'tlsAllowInvalidHostnames' | 'tlsInsecure' | 'waitQueueTimeoutMS' | 'zlibCompressionLevel'>>, SupportedNodeConnectionOptions {
6973
+ export declare interface MongoOptions extends Required<Pick<MongoClientOptions, 'maxAdaptiveRetries' | 'enableOverloadRetargeting' | 'autoEncryption' | 'connectTimeoutMS' | 'directConnection' | 'driverInfo' | 'forceServerObjectId' | 'minHeartbeatFrequencyMS' | 'heartbeatFrequencyMS' | 'localThresholdMS' | 'maxConnecting' | 'maxIdleTimeMS' | 'maxPoolSize' | 'minPoolSize' | 'monitorCommands' | 'noDelay' | 'pkFactory' | 'raw' | 'replicaSet' | 'retryReads' | 'retryWrites' | 'serverSelectionTimeoutMS' | 'socketTimeoutMS' | 'srvMaxHosts' | 'srvServiceName' | 'tlsAllowInvalidCertificates' | 'tlsAllowInvalidHostnames' | 'tlsInsecure' | 'waitQueueTimeoutMS' | 'zlibCompressionLevel'>>, SupportedNodeConnectionOptions {
6942
6974
  appName?: string;
6943
6975
  hosts: HostAddress[];
6944
6976
  srvHost?: string;
@@ -7007,6 +7039,7 @@ export declare interface MongoOptions extends Required<Pick<MongoClientOptions,
7007
7039
  /* Excluded from this release type: mongodbLogPath */
7008
7040
  timeoutMS?: number;
7009
7041
  /* Excluded from this release type: __skipPingOnConnect */
7042
+ /* Excluded from this release type: runtime */
7010
7043
  }
7011
7044
 
7012
7045
  /**
@@ -7505,6 +7538,14 @@ export declare class OrderedBulkOperation extends BulkOperationBase {
7505
7538
  addToOperationsList(batchType: BatchType, document: Document | UpdateStatement | DeleteStatement): this;
7506
7539
  }
7507
7540
 
7541
+ /**
7542
+ * @public
7543
+ * @experimental
7544
+ *
7545
+ * Represents the set of dependencies that the driver uses from the [Node.js OS module](https://nodejs.org/api/os.html).
7546
+ */
7547
+ export declare type OsAdapter = Pick<typeof os, 'release' | 'platform' | 'arch' | 'type'>;
7548
+
7508
7549
  /** @public */
7509
7550
  export declare interface PkFactory {
7510
7551
  createPk(): any;
@@ -7915,6 +7956,18 @@ export declare type RunCursorCommandOptions = {
7915
7956
  awaitData?: boolean;
7916
7957
  } & BSONSerializeOptions;
7917
7958
 
7959
+ /* Excluded from this release type: Runtime */
7960
+
7961
+ /**
7962
+ * @public
7963
+ * @experimental
7964
+ *
7965
+ * This type represents the set of dependencies that the driver needs from the Javascript runtime in order to function.
7966
+ */
7967
+ export declare interface RuntimeAdapters {
7968
+ os?: OsAdapter;
7969
+ }
7970
+
7918
7971
  /** @public */
7919
7972
  export declare type SchemaMember<T, V> = {
7920
7973
  [P in keyof T]?: V;
@@ -8368,37 +8421,12 @@ export declare type StrictUpdateFilter<TSchema> = {
8368
8421
  }>;
8369
8422
  } & Document;
8370
8423
 
8371
- /** @public */
8372
- export declare type SupportedNodeConnectionOptions = SupportedTLSConnectionOptions & SupportedTLSSocketOptions & SupportedSocketOptions;
8373
-
8374
- /** @public */
8375
- export declare type SupportedSocketOptions = Pick<TcpNetConnectOpts & {
8376
- autoSelectFamily?: boolean;
8377
- autoSelectFamilyAttemptTimeout?: number;
8378
- /** Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms */
8379
- keepAliveInitialDelay?: number;
8380
- }, (typeof LEGAL_TCP_SOCKET_OPTIONS)[number]>;
8381
-
8382
- /** @public */
8383
- export declare type SupportedTLSConnectionOptions = Pick<ConnectionOptions_2 & {
8384
- allowPartialTrustChain?: boolean;
8385
- }, (typeof LEGAL_TLS_SOCKET_OPTIONS)[number]>;
8386
-
8387
- /** @public */
8388
- export declare type SupportedTLSSocketOptions = Pick<TLSSocketOptions, Extract<keyof TLSSocketOptions, (typeof LEGAL_TLS_SOCKET_OPTIONS)[number]>>;
8389
-
8390
- /** @public */
8391
- export declare type TagSet = {
8392
- [key: string]: string;
8393
- };
8394
-
8395
8424
  /**
8396
- * Options for a Queryable Encryption field supporting text queries.
8425
+ * Options for a Queryable Encryption field supporting string queries.
8397
8426
  *
8398
8427
  * @public
8399
- * @experimental Public Technical Preview: `textPreview` is an experimental feature and may break at any time.
8400
8428
  */
8401
- export declare interface TextQueryOptions {
8429
+ export declare interface StringQueryOptions {
8402
8430
  /** Indicates that text indexes for this field are case sensitive */
8403
8431
  caseSensitive: boolean;
8404
8432
  /** Indicates that text indexes for this field are diacritic sensitive. */
@@ -8425,6 +8453,36 @@ export declare interface TextQueryOptions {
8425
8453
  };
8426
8454
  }
8427
8455
 
8456
+ /** @public */
8457
+ export declare type SupportedNodeConnectionOptions = SupportedTLSConnectionOptions & SupportedTLSSocketOptions & SupportedSocketOptions;
8458
+
8459
+ /** @public */
8460
+ export declare type SupportedSocketOptions = Pick<TcpNetConnectOpts & {
8461
+ autoSelectFamily?: boolean;
8462
+ autoSelectFamilyAttemptTimeout?: number;
8463
+ /** Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms */
8464
+ keepAliveInitialDelay?: number;
8465
+ }, (typeof LEGAL_TCP_SOCKET_OPTIONS)[number]>;
8466
+
8467
+ /** @public */
8468
+ export declare type SupportedTLSConnectionOptions = Pick<ConnectionOptions_2 & {
8469
+ allowPartialTrustChain?: boolean;
8470
+ }, (typeof LEGAL_TLS_SOCKET_OPTIONS)[number]>;
8471
+
8472
+ /** @public */
8473
+ export declare type SupportedTLSSocketOptions = Pick<TLSSocketOptions, Extract<keyof TLSSocketOptions, (typeof LEGAL_TLS_SOCKET_OPTIONS)[number]>>;
8474
+
8475
+ /** @public */
8476
+ export declare type TagSet = {
8477
+ [key: string]: string;
8478
+ };
8479
+
8480
+ /**
8481
+ * @public
8482
+ * @deprecated Use {@link StringQueryOptions} instead.
8483
+ */
8484
+ export declare type TextQueryOptions = StringQueryOptions;
8485
+
8428
8486
  /* Excluded from this release type: Timeout */
8429
8487
 
8430
8488
  /* Excluded from this release type: TimeoutContext */