@prisma/internals 6.20.0-integration-feat-prisma-7-config.3 → 6.20.0-integration-oidc-truster-publishers.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/dist/{chunk-VFZCLI5X.js → chunk-26ZV6OR7.js} +5 -5
  2. package/dist/{chunk-5FTKVAG5.js → chunk-2GUGGLPK.js} +97 -40
  3. package/dist/chunk-3FP46GUV.js +471 -0
  4. package/dist/chunk-46ABODUM.js +186 -0
  5. package/dist/{chunk-GJSFP4V4.js → chunk-4CGPN5SR.js} +9 -3
  6. package/dist/{chunk-GL7OANR6.js → chunk-4JCVHBYR.js} +5 -5
  7. package/dist/{chunk-MEOOYUIZ.js → chunk-5AI4FIZ3.js} +10 -10
  8. package/dist/{chunk-LS2GZ6B3.js → chunk-5VHPFZRR.js} +11 -11
  9. package/dist/{chunk-73HXEN2A.js → chunk-6LDZU7KZ.js} +5 -5
  10. package/dist/{chunk-VHE2A7YV.js → chunk-6MO7MVPQ.js} +11 -11
  11. package/dist/chunk-6TTRTZXU.js +37 -0
  12. package/dist/{chunk-SMJRM3EM.js → chunk-75BIJ5PX.js} +9 -9
  13. package/dist/{chunk-MYLPCGTT.js → chunk-7QC5VORA.js} +5 -5
  14. package/dist/{chunk-TGA7DC5A.js → chunk-AX5N26KG.js} +9 -14
  15. package/dist/{chunk-QSVWJ2S2.js → chunk-BVJP43JS.js} +784 -13
  16. package/dist/{chunk-B2BNIZB2.js → chunk-CCLAMTCA.js} +8 -7
  17. package/dist/{chunk-3ZWEK4N6.js → chunk-CPCSIALL.js} +5 -5
  18. package/dist/chunk-D4VDA2TZ.js +66 -0
  19. package/dist/chunk-DZYINYAA.js +68 -0
  20. package/dist/{chunk-E355HAZP.js → chunk-E4H6V3Z4.js} +11 -11
  21. package/dist/chunk-ERSH2BQA.js +58 -0
  22. package/dist/{chunk-OKVM3CW4.js → chunk-EYVG6XQS.js} +39 -3
  23. package/dist/{chunk-5MHUYAV3.js → chunk-F2OZV76L.js} +9 -9
  24. package/dist/{chunk-O4JHL7XP.js → chunk-FHZ5QJLR.js} +5 -5
  25. package/dist/{chunk-HNRMSI3R.js → chunk-FYZCPL2Z.js} +8 -5
  26. package/dist/{chunk-22HIO2UL.js → chunk-GMW36QQF.js} +7 -7
  27. package/dist/{chunk-LD5PU7J5.js → chunk-GVZIPRAQ.js} +97 -40
  28. package/dist/{chunk-BUQN4WLU.js → chunk-HFFWZTVM.js} +9 -7
  29. package/dist/{chunk-CGLLQXZE.js → chunk-HHG4DGHC.js} +12 -11
  30. package/dist/{chunk-5W3BSMTH.js → chunk-HO5HRHFZ.js} +6 -3
  31. package/dist/{chunk-SDDES4ZN.js → chunk-HTUTYKBP.js} +12 -12
  32. package/dist/{chunk-3WXUQZS7.js → chunk-I6WLABB2.js} +5 -14
  33. package/dist/{chunk-FF7OLLBP.js → chunk-IDINCQMN.js} +784 -12
  34. package/dist/{chunk-LA5QBRTU.js → chunk-IUXRC7ZP.js} +20 -14
  35. package/dist/{chunk-QOZ7USPD.js → chunk-JOIIWB3U.js} +159 -193
  36. package/dist/{chunk-UGVSG4YK.js → chunk-JTS4UPHJ.js} +5 -5
  37. package/dist/{chunk-24ZPBDBI.js → chunk-LV27YCGC.js} +11 -11
  38. package/dist/{chunk-KNNTV7IN.js → chunk-NVNI2SRU.js} +213 -687
  39. package/dist/{chunk-H5STSTVK.js → chunk-OAT7ZJED.js} +20 -7
  40. package/dist/chunk-PZMRR772.js +41 -0
  41. package/dist/{chunk-SLV6CI6L.js → chunk-QJ3QPUM5.js} +5 -5
  42. package/dist/{chunk-5I4ERIIY.js → chunk-RS2R7COT.js} +9 -3
  43. package/dist/{chunk-Z2RQHZ3W.js → chunk-SOKSKSEX.js} +20 -14
  44. package/dist/chunk-T2PM5TKT.js +55 -0
  45. package/dist/{chunk-GVDRC4TL.js → chunk-TBR6SNKL.js} +5 -5
  46. package/dist/{chunk-FNXXQZUZ.js → chunk-TEOXRLQU.js} +9 -8
  47. package/dist/{chunk-MLFKBBDL.js → chunk-TQFONRJP.js} +5 -5
  48. package/dist/{chunk-WSZXPLJQ.js → chunk-TZJROXB3.js} +4 -4
  49. package/dist/{chunk-WJKBKH3Y.js → chunk-UHI6VYFX.js} +5 -5
  50. package/dist/{chunk-BM3JIFQT.js → chunk-UQUWZJVN.js} +7 -7
  51. package/dist/{chunk-2Q43C56O.js → chunk-WEU72JRD.js} +5 -5
  52. package/dist/{chunk-ARC7TW3L.js → chunk-WFNB7VRA.js} +14 -4
  53. package/dist/{chunk-C5YUUOQW.js → chunk-WYQJ4JWO.js} +12 -12
  54. package/dist/cli/checkUnsupportedDataProxy.js +60 -53
  55. package/dist/cli/checkUnsupportedSchemaEngineWasm.d.ts +22 -0
  56. package/dist/cli/checkUnsupportedSchemaEngineWasm.js +135 -0
  57. package/dist/cli/getGeneratorSuccessMessage.js +3 -2
  58. package/dist/cli/getSchema.d.ts +15 -1
  59. package/dist/cli/getSchema.js +5 -4
  60. package/dist/cli/hashes.js +4 -4
  61. package/dist/cli/schemaContext.d.ts +11 -2
  62. package/dist/cli/schemaContext.js +60 -53
  63. package/dist/client/getClientEngineType.d.ts +7 -0
  64. package/dist/client/getClientEngineType.js +26 -0
  65. package/dist/dotenvExpand.d.ts +35 -0
  66. package/dist/dotenvExpand.js +25 -0
  67. package/dist/engine-commands/errorHelpers.js +4 -4
  68. package/dist/engine-commands/formatSchema.js +59 -52
  69. package/dist/engine-commands/getConfig.d.ts +1 -0
  70. package/dist/engine-commands/getConfig.js +13 -13
  71. package/dist/engine-commands/getDmmf.js +10 -10
  72. package/dist/engine-commands/getEngineVersion.js +9 -6
  73. package/dist/engine-commands/getEnginesInfo.d.ts +1 -0
  74. package/dist/engine-commands/getEnginesInfo.js +9 -7
  75. package/dist/engine-commands/index.js +71 -64
  76. package/dist/engine-commands/lintSchema.js +9 -9
  77. package/dist/engine-commands/mergeSchemas.js +10 -10
  78. package/dist/engine-commands/queryEngineCommons.js +6 -6
  79. package/dist/engine-commands/validate.js +10 -10
  80. package/dist/errorReporting.js +6 -6
  81. package/dist/get-generators/getGenerators.d.ts +1 -0
  82. package/dist/get-generators/getGenerators.js +62 -55
  83. package/dist/get-generators/utils/binaryTypeToEngineType.js +2 -2
  84. package/dist/get-generators/utils/engineTypeToBinaryType.js +2 -2
  85. package/dist/get-generators/utils/getBinaryPathsByVersion.js +5 -6
  86. package/dist/getPackedPackage.js +3 -4
  87. package/dist/index.d.ts +10 -1
  88. package/dist/index.js +112 -95
  89. package/dist/{multipart-parser-UV3WZSWW.js → multipart-parser-3AFJFP6K.js} +6 -6
  90. package/dist/resolveBinary.js +7 -8
  91. package/dist/schemaEngineCommands.js +8 -9
  92. package/dist/sendPanic.js +4 -4
  93. package/dist/utils/cloudflareD1.d.ts +5 -0
  94. package/dist/utils/cloudflareD1.js +27 -0
  95. package/dist/utils/drawBox.js +2 -2
  96. package/dist/utils/fs-functional.js +10 -10
  97. package/dist/utils/fs-utils.js +8 -8
  98. package/dist/utils/getEnvPaths.d.ts +14 -0
  99. package/dist/utils/getEnvPaths.js +29 -0
  100. package/dist/utils/getVersionFromPackageJson.js +3 -3
  101. package/dist/utils/handleEngineLoadingErrors.d.ts +8 -0
  102. package/dist/utils/handleEngineLoadingErrors.js +27 -0
  103. package/dist/utils/handlePanic.js +6 -6
  104. package/dist/utils/link.js +2 -2
  105. package/dist/utils/load.d.ts +6 -0
  106. package/dist/utils/load.js +28 -0
  107. package/dist/utils/loadEnvFile.d.ts +10 -0
  108. package/dist/utils/loadEnvFile.js +30 -0
  109. package/dist/utils/missingDatasource.js +3 -3
  110. package/dist/utils/missingGeneratorMessage.js +5 -5
  111. package/dist/utils/serializeQueryEngineName.js +2 -2
  112. package/dist/utils/tryLoadEnvs.d.ts +25 -0
  113. package/dist/utils/tryLoadEnvs.js +30 -0
  114. package/dist/wasm.js +5 -5
  115. package/package.json +16 -15
  116. package/dist/chunk-DYV47NUW.js +0 -796
@@ -26,44 +26,49 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_LD5PU7J5_exports = {};
30
- __export(chunk_LD5PU7J5_exports, {
29
+ var chunk_GVZIPRAQ_exports = {};
30
+ __export(chunk_GVZIPRAQ_exports, {
31
31
  checkUnsupportedDataProxy: () => checkUnsupportedDataProxy,
32
+ checkUnsupportedSchemaEngineWasm: () => checkUnsupportedSchemaEngineWasm,
33
+ forbiddenCmdFlagWithSchemaEngineWasm: () => forbiddenCmdFlagWithSchemaEngineWasm,
32
34
  forbiddenCmdWithDataProxyFlagMessage: () => forbiddenCmdWithDataProxyFlagMessage,
33
35
  formatSchema: () => formatSchema,
34
36
  getBinaryTargetForCurrentPlatform: () => import_get_platform2.getBinaryTargetForCurrentPlatform,
35
37
  getGenerator: () => getGenerator,
36
38
  getGenerators: () => getGenerators,
39
+ getNodeAPIName: () => import_get_platform2.getNodeAPIName,
37
40
  knownBinaryTargets: () => knownBinaryTargets,
38
41
  loadSchemaContext: () => loadSchemaContext,
39
42
  processSchemaResult: () => processSchemaResult,
40
43
  skipIndex: () => skipIndex
41
44
  });
42
- module.exports = __toCommonJS(chunk_LD5PU7J5_exports);
45
+ module.exports = __toCommonJS(chunk_GVZIPRAQ_exports);
46
+ var import_chunk_X3P4J7WW = require("./chunk-X3P4J7WW.js");
43
47
  var import_chunk_LRU47BGE = require("./chunk-LRU47BGE.js");
44
48
  var import_chunk_X77CS5RK = require("./chunk-X77CS5RK.js");
45
- var import_chunk_5MHUYAV3 = require("./chunk-5MHUYAV3.js");
46
- var import_chunk_X3P4J7WW = require("./chunk-X3P4J7WW.js");
49
+ var import_chunk_F2OZV76L = require("./chunk-F2OZV76L.js");
50
+ var import_chunk_RS2R7COT = require("./chunk-RS2R7COT.js");
47
51
  var import_chunk_GXW4NTU2 = require("./chunk-GXW4NTU2.js");
48
52
  var import_chunk_5FJ3MENK = require("./chunk-5FJ3MENK.js");
49
- var import_chunk_MYLPCGTT = require("./chunk-MYLPCGTT.js");
50
- var import_chunk_TGA7DC5A = require("./chunk-TGA7DC5A.js");
51
- var import_chunk_3WXUQZS7 = require("./chunk-3WXUQZS7.js");
53
+ var import_chunk_7QC5VORA = require("./chunk-7QC5VORA.js");
54
+ var import_chunk_AX5N26KG = require("./chunk-AX5N26KG.js");
55
+ var import_chunk_46ABODUM = require("./chunk-46ABODUM.js");
56
+ var import_chunk_I6WLABB2 = require("./chunk-I6WLABB2.js");
52
57
  var import_chunk_CRVLHWC5 = require("./chunk-CRVLHWC5.js");
53
- var import_chunk_GVDRC4TL = require("./chunk-GVDRC4TL.js");
54
- var import_chunk_E355HAZP = require("./chunk-E355HAZP.js");
55
- var import_chunk_Z2RQHZ3W = require("./chunk-Z2RQHZ3W.js");
56
- var import_chunk_LS2GZ6B3 = require("./chunk-LS2GZ6B3.js");
57
- var import_chunk_O4JHL7XP = require("./chunk-O4JHL7XP.js");
58
- var import_chunk_OKVM3CW4 = require("./chunk-OKVM3CW4.js");
58
+ var import_chunk_IUXRC7ZP = require("./chunk-IUXRC7ZP.js");
59
+ var import_chunk_5VHPFZRR = require("./chunk-5VHPFZRR.js");
60
+ var import_chunk_6LDZU7KZ = require("./chunk-6LDZU7KZ.js");
61
+ var import_chunk_6MO7MVPQ = require("./chunk-6MO7MVPQ.js");
62
+ var import_chunk_EYVG6XQS = require("./chunk-EYVG6XQS.js");
63
+ var import_chunk_CPCSIALL = require("./chunk-CPCSIALL.js");
64
+ var import_chunk_ZJWZK45Z = require("./chunk-ZJWZK45Z.js");
59
65
  var import_chunk_2B26F5N3 = require("./chunk-2B26F5N3.js");
60
66
  var import_chunk_XKZ6CBLA = require("./chunk-XKZ6CBLA.js");
61
67
  var import_chunk_LMVSIVKQ = require("./chunk-LMVSIVKQ.js");
62
68
  var import_chunk_BPDMLM32 = require("./chunk-BPDMLM32.js");
63
69
  var import_chunk_IOIAK7V7 = require("./chunk-IOIAK7V7.js");
64
- var import_chunk_QSVWJ2S2 = require("./chunk-QSVWJ2S2.js");
65
- var import_chunk_ZJWZK45Z = require("./chunk-ZJWZK45Z.js");
66
70
  var import_chunk_PG5FDKSF = require("./chunk-PG5FDKSF.js");
71
+ var import_chunk_BVJP43JS = require("./chunk-BVJP43JS.js");
67
72
  var import_chunk_4VNS5WPM = require("./chunk-4VNS5WPM.js");
68
73
  var import_path = __toESM(require("path"));
69
74
  var import_debug = __toESM(require("@prisma/debug"));
@@ -72,11 +77,32 @@ var import_engines = require("@prisma/engines");
72
77
  var import_get_platform = require("@prisma/get-platform");
73
78
  var import_path2 = __toESM(require("path"));
74
79
  var import_get_platform2 = require("@prisma/get-platform");
80
+ var forbiddenCmdFlagWithSchemaEngineWasm = ({ cmd, flag }) => `
81
+ Passing the ${(0, import_chunk_PG5FDKSF.green)(`${flag}`)} flag to the ${(0, import_chunk_PG5FDKSF.green)(`prisma ${cmd}`)} command is not supported when
82
+ defining an ${(0, import_chunk_PG5FDKSF.green)(`adapter`)} in Prisma config file (e.g., ${(0, import_chunk_PG5FDKSF.green)(`\`prisma.config.ts\``)}).
83
+
84
+ More information about this limitation: ${(0, import_chunk_I6WLABB2.link)("https://pris.ly/d/schema-engine-limitations")}
85
+ `;
86
+ function checkUnsupportedSchemaEngineWasm({
87
+ cmd,
88
+ config,
89
+ args,
90
+ flags
91
+ }) {
92
+ if (config.engine !== "js") {
93
+ return;
94
+ }
95
+ for (const flag of flags) {
96
+ if (args[flag] !== void 0) {
97
+ throw new Error(forbiddenCmdFlagWithSchemaEngineWasm({ cmd, flag }));
98
+ }
99
+ }
100
+ }
75
101
  var debug = (0, import_debug.default)("prisma:format");
76
102
  async function formatSchema({ schemas }, inputFormattingOptions) {
77
103
  if (process.env.FORCE_PANIC_PRISMA_SCHEMA) {
78
104
  handleFormatPanic(() => {
79
- import_chunk_O4JHL7XP.prismaSchemaWasm.debug_panic();
105
+ import_chunk_CPCSIALL.prismaSchemaWasm.debug_panic();
80
106
  });
81
107
  }
82
108
  const defaultFormattingOptions = {
@@ -93,10 +119,10 @@ async function formatSchema({ schemas }, inputFormattingOptions) {
93
119
  const { formattedMultipleSchemas, lintDiagnostics } = handleFormatPanic(() => {
94
120
  const formattedMultipleSchemasRaw = formatWasm(JSON.stringify(schemas), documentFormattingParams);
95
121
  const formattedMultipleSchemas2 = JSON.parse(formattedMultipleSchemasRaw);
96
- const lintDiagnostics2 = (0, import_chunk_GVDRC4TL.lintSchema)({ schemas: formattedMultipleSchemas2 });
122
+ const lintDiagnostics2 = (0, import_chunk_6LDZU7KZ.lintSchema)({ schemas: formattedMultipleSchemas2 });
97
123
  return { formattedMultipleSchemas: formattedMultipleSchemas2, lintDiagnostics: lintDiagnostics2 };
98
124
  });
99
- const lintWarnings = (0, import_chunk_GVDRC4TL.getLintWarningsAsText)(lintDiagnostics);
125
+ const lintWarnings = (0, import_chunk_6LDZU7KZ.getLintWarningsAsText)(lintDiagnostics);
100
126
  if (lintWarnings && import_chunk_ZJWZK45Z.logger_exports.should.warn()) {
101
127
  console.warn(lintWarnings);
102
128
  }
@@ -123,7 +149,7 @@ function handleFormatPanic(tryCb) {
123
149
  }
124
150
  }
125
151
  function formatWasm(schema, documentFormattingParams) {
126
- const formattedSchema = import_chunk_O4JHL7XP.prismaSchemaWasm.format(schema, JSON.stringify(documentFormattingParams));
152
+ const formattedSchema = import_chunk_CPCSIALL.prismaSchemaWasm.format(schema, JSON.stringify(documentFormattingParams));
127
153
  return formattedSchema;
128
154
  }
129
155
  async function loadSchemaContext({
@@ -131,45 +157,48 @@ async function loadSchemaContext({
131
157
  schemaPathFromConfig,
132
158
  schemaEngineConfig,
133
159
  printLoadMessage = true,
160
+ ignoreEnvVarErrors = false,
134
161
  allowNull = false,
135
162
  schemaPathArgumentName = "--schema",
136
163
  cwd = process.cwd()
137
164
  } = {}) {
138
165
  let schemaResult = null;
139
166
  if (allowNull) {
140
- schemaResult = await (0, import_chunk_OKVM3CW4.getSchemaWithPathOptional)(schemaPathFromArg, schemaPathFromConfig, {
167
+ schemaResult = await (0, import_chunk_EYVG6XQS.getSchemaWithPathOptional)(schemaPathFromArg, schemaPathFromConfig, {
141
168
  argumentName: schemaPathArgumentName,
142
169
  cwd
143
170
  });
144
171
  if (!schemaResult) return null;
145
172
  } else {
146
- schemaResult = await (0, import_chunk_OKVM3CW4.getSchemaWithPath)(schemaPathFromArg, schemaPathFromConfig, {
173
+ schemaResult = await (0, import_chunk_EYVG6XQS.getSchemaWithPath)(schemaPathFromArg, schemaPathFromConfig, {
147
174
  argumentName: schemaPathArgumentName,
148
175
  cwd
149
176
  });
150
177
  }
151
- return processSchemaResult({ schemaResult, schemaEngineConfig, printLoadMessage, cwd });
178
+ return processSchemaResult({ schemaResult, schemaEngineConfig, printLoadMessage, ignoreEnvVarErrors, cwd });
152
179
  }
153
180
  async function processSchemaResult({
154
181
  schemaResult,
155
182
  schemaEngineConfig,
156
183
  printLoadMessage = true,
184
+ ignoreEnvVarErrors = false,
157
185
  cwd = process.cwd()
158
186
  }) {
159
187
  const loadedFromPathForLogMessages = import_path.default.relative(cwd, schemaResult.schemaPath);
160
188
  const schemaRootDir = schemaResult.schemaRootDir || cwd;
161
189
  if (printLoadMessage) {
162
- (0, import_chunk_OKVM3CW4.printSchemaLoadedMessage)(loadedFromPathForLogMessages);
190
+ (0, import_chunk_EYVG6XQS.printSchemaLoadedMessage)(loadedFromPathForLogMessages);
163
191
  }
164
- const configFromPsl = await (0, import_chunk_Z2RQHZ3W.getConfig)({ datamodel: schemaResult.schemas });
192
+ const configFromPsl = await (0, import_chunk_IUXRC7ZP.getConfig)({ datamodel: schemaResult.schemas, ignoreEnvVarErrors });
165
193
  const datasourceFromPsl = configFromPsl.datasources.at(0);
166
- const primaryDatasource = (0, import_chunk_XKZ6CBLA.z)(schemaEngineConfig?.datasource).with(import_chunk_XKZ6CBLA.N.not(import_chunk_XKZ6CBLA.N.nullish), ({ url, directUrl, shadowDatabaseUrl }) => {
194
+ const primaryDatasource = (0, import_chunk_XKZ6CBLA.z)(schemaEngineConfig).with({ engine: "classic" }, ({ datasource }) => {
195
+ const { url, directUrl, shadowDatabaseUrl } = datasource;
167
196
  const primaryDatasource2 = {
168
197
  ...datasourceFromPsl,
169
198
  url: { fromEnvVar: null, value: url },
170
199
  directUrl: directUrl ? { fromEnvVar: null, value: directUrl } : void 0,
171
200
  shadowDatabaseUrl: shadowDatabaseUrl ? { fromEnvVar: null, value: shadowDatabaseUrl } : void 0,
172
- [Symbol.for("config.datasource")]: true
201
+ [Symbol.for("engine.classic")]: true
173
202
  };
174
203
  return primaryDatasource2;
175
204
  }).otherwise(() => datasourceFromPsl);
@@ -193,7 +222,7 @@ function getPrimaryDatasourceDirectory(primaryDatasource) {
193
222
  }
194
223
  return null;
195
224
  }
196
- var import_p_map = (0, import_chunk_4VNS5WPM.__toESM)((0, import_chunk_QSVWJ2S2.require_p_map)());
225
+ var import_p_map = (0, import_chunk_4VNS5WPM.__toESM)((0, import_chunk_BVJP43JS.require_p_map)());
197
226
  var debug2 = (0, import_debug2.default)("prisma:getGenerators");
198
227
  async function getGenerators(options) {
199
228
  if (options.registry === void 0 && options.providerAliases !== void 0) {
@@ -218,27 +247,28 @@ async function getGenerators(options) {
218
247
  binaryPathsOverride,
219
248
  generatorNames = [],
220
249
  postinstall,
250
+ noEngine,
221
251
  allowNoModels = true,
222
252
  typedSql
223
253
  } = options;
224
- const schemaContext = !options.schemaContext && schemaPath ? await loadSchemaContext({ schemaPathFromArg: schemaPath }) : options.schemaContext;
254
+ const schemaContext = !options.schemaContext && schemaPath ? await loadSchemaContext({ schemaPathFromArg: schemaPath, ignoreEnvVarErrors: true }) : options.schemaContext;
225
255
  if (!schemaContext) {
226
256
  throw new Error(`no schema provided for getGenerators`);
227
257
  }
228
258
  if (!schemaContext.primaryDatasource) {
229
- throw new Error(import_chunk_MYLPCGTT.missingDatasource);
259
+ throw new Error(import_chunk_7QC5VORA.missingDatasource);
230
260
  }
231
261
  (0, import_chunk_5FJ3MENK.printConfigWarnings)(schemaContext.warnings);
232
262
  const previewFeatures = (0, import_chunk_CRVLHWC5.extractPreviewFeatures)(schemaContext.generators);
233
- const dmmf = await (0, import_chunk_LS2GZ6B3.getDMMF)({
263
+ const dmmf = await (0, import_chunk_5VHPFZRR.getDMMF)({
234
264
  datamodel: schemaContext.schemaFiles,
235
265
  previewFeatures
236
266
  });
237
267
  if (dmmf.datamodel.models.length === 0 && !allowNoModels) {
238
268
  if (schemaContext.primaryDatasource.provider === "mongodb") {
239
- throw new Error(import_chunk_TGA7DC5A.missingModelMessageMongoDB);
269
+ throw new Error(import_chunk_AX5N26KG.missingModelMessageMongoDB);
240
270
  }
241
- throw new Error(import_chunk_TGA7DC5A.missingModelMessage);
271
+ throw new Error(import_chunk_AX5N26KG.missingModelMessage);
242
272
  }
243
273
  const generatorConfigs = filterGenerators(overrideGenerators || schemaContext.generators, generatorNames);
244
274
  await validateGenerators(generatorConfigs);
@@ -281,7 +311,8 @@ You need to define \`output\` in the generator block in the schema file.`
281
311
  fromEnvVar: null
282
312
  };
283
313
  }
284
- const datamodel = (0, import_chunk_E355HAZP.mergeSchemas)({ schemas: schemaContext.schemaFiles });
314
+ const datamodel = (0, import_chunk_6MO7MVPQ.mergeSchemas)({ schemas: schemaContext.schemaFiles });
315
+ const envPaths = await (0, import_chunk_46ABODUM.getEnvPaths)(schemaContext.schemaPath, { cwd: generatorConfig.output.value });
285
316
  const options2 = {
286
317
  datamodel,
287
318
  datasources: schemaContext.datasources,
@@ -293,7 +324,9 @@ You need to define \`output\` in the generator block in the schema file.`
293
324
  version: version2 || import_engines.enginesVersion,
294
325
  // this version makes no sense anymore and should be ignored
295
326
  postinstall,
327
+ noEngine,
296
328
  allowNoModels,
329
+ envPaths,
297
330
  typedSql
298
331
  };
299
332
  generatorInstance.setOptions(options2);
@@ -337,16 +370,18 @@ generator gen {
337
370
  }
338
371
  const generatorBinaryTargets = g.options?.generator?.binaryTargets;
339
372
  if (generatorBinaryTargets && generatorBinaryTargets.length > 0) {
340
- for (const binaryTarget of generatorBinaryTargets) {
341
- if (!neededVersions[neededVersion].binaryTargets.find((object) => object.value === binaryTarget.value)) {
342
- neededVersions[neededVersion].binaryTargets.push(binaryTarget);
373
+ for (const binaryTarget2 of generatorBinaryTargets) {
374
+ if (!neededVersions[neededVersion].binaryTargets.find((object) => object.value === binaryTarget2.value)) {
375
+ neededVersions[neededVersion].binaryTargets.push(binaryTarget2);
343
376
  }
344
377
  }
345
378
  }
346
379
  }
347
380
  }
381
+ const queryEngineBinaryType = (0, import_engines.getCliQueryEngineBinaryType)();
382
+ const queryEngineType = (0, import_chunk_RS2R7COT.binaryTypeToEngineType)(queryEngineBinaryType);
348
383
  debug2("neededVersions", JSON.stringify(neededVersions, null, 2));
349
- const { binaryPathsByVersion } = await (0, import_chunk_5MHUYAV3.getBinaryPathsByVersion)({
384
+ const { binaryPathsByVersion, binaryTarget } = await (0, import_chunk_F2OZV76L.getBinaryPathsByVersion)({
350
385
  neededVersions,
351
386
  // We're lazily computing the binary target here, to avoid printing the
352
387
  // `Prisma failed to detect the libssl/openssl version to use` warning
@@ -367,6 +402,17 @@ generator gen {
367
402
  const generatorBinaryPaths = (0, import_chunk_GXW4NTU2.pick)(binaryPaths ?? {}, generator.manifest.requiresEngines);
368
403
  debug2({ generatorBinaryPaths });
369
404
  generator.setBinaryPaths(generatorBinaryPaths);
405
+ if (engineVersion !== version2 && generator.options && generator.manifest.requiresEngines.includes(queryEngineType) && generatorBinaryPaths[queryEngineType] && generatorBinaryPaths[queryEngineType]?.[binaryTarget]) {
406
+ const customDmmf = await (0, import_chunk_5VHPFZRR.getDMMF)({
407
+ datamodel: schemaContext.schemaFiles,
408
+ previewFeatures
409
+ });
410
+ const options2 = { ...generator.options, dmmf: customDmmf };
411
+ debug2("generator.manifest.prettyName", generator.manifest.prettyName);
412
+ debug2("options", options2);
413
+ debug2("options.generator.binaryTargets", options2.generator.binaryTargets);
414
+ generator.setOptions(options2);
415
+ }
370
416
  }
371
417
  }
372
418
  return generators;
@@ -391,6 +437,17 @@ var oldToNewBinaryTargetsMapping = {
391
437
  async function validateGenerators(generators) {
392
438
  const binaryTarget = await (0, import_get_platform.getBinaryTargetForCurrentPlatform)();
393
439
  for (const generator of generators) {
440
+ if (generator.config.platforms) {
441
+ throw new Error(
442
+ `The \`platforms\` field on the generator definition is deprecated. Please rename it to \`binaryTargets\`.`
443
+ );
444
+ }
445
+ if (generator.config.pinnedBinaryTargets) {
446
+ throw new Error(
447
+ `The \`pinnedBinaryTargets\` field on the generator definition is deprecated.
448
+ Please use the PRISMA_QUERY_ENGINE_BINARY env var instead to pin the binary target.`
449
+ );
450
+ }
394
451
  if (generator.binaryTargets) {
395
452
  const binaryTargets2 = generator.binaryTargets && generator.binaryTargets.length > 0 ? generator.binaryTargets : [{ fromEnvVar: null, value: "native" }];
396
453
  const resolvedBinaryTargets = binaryTargets2.flatMap((object) => (0, import_chunk_IOIAK7V7.parseBinaryTargetsEnvValue)(object)).map((p) => p === "native" ? binaryTarget : p);
@@ -454,7 +511,7 @@ var forbiddenCmdWithDataProxyFlagMessage = (command) => `
454
511
  Using an Accelerate URL is not supported for this CLI command ${(0, import_chunk_PG5FDKSF.green)(`prisma ${command}`)} yet.
455
512
  Please use a direct connection to your database via the datasource \`directUrl\` setting.
456
513
 
457
- More information about this limitation: ${(0, import_chunk_3WXUQZS7.link)("https://pris.ly/d/accelerate-limitations")}
514
+ More information about this limitation: ${(0, import_chunk_I6WLABB2.link)("https://pris.ly/d/accelerate-limitations")}
458
515
  `;
459
516
  function checkUnsupportedDataProxy({
460
517
  cmd,
@@ -467,7 +524,7 @@ function checkUnsupportedDataProxy({
467
524
  }
468
525
  }
469
526
  if (!schemaContext?.primaryDatasource) return;
470
- const url = (0, import_chunk_Z2RQHZ3W.resolveUrl)((0, import_chunk_Z2RQHZ3W.getEffectiveUrl)(schemaContext.primaryDatasource));
527
+ const url = (0, import_chunk_IUXRC7ZP.resolveUrl)((0, import_chunk_IUXRC7ZP.getEffectiveUrl)(schemaContext.primaryDatasource));
471
528
  if (url?.startsWith("prisma://")) {
472
529
  throw new Error(forbiddenCmdWithDataProxyFlagMessage(cmd));
473
530
  }
@@ -26,14 +26,14 @@ var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create(__g
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_BUQN4WLU_exports = {};
30
- __export(chunk_BUQN4WLU_exports, {
29
+ var chunk_HFFWZTVM_exports = {};
30
+ __export(chunk_HFFWZTVM_exports, {
31
31
  sendPanic: () => sendPanic
32
32
  });
33
- module.exports = __toCommonJS(chunk_BUQN4WLU_exports);
33
+ module.exports = __toCommonJS(chunk_HFFWZTVM_exports);
34
34
  var import_chunk_KDHESRKE = require("./chunk-KDHESRKE.js");
35
35
  var import_chunk_XKZ6CBLA = require("./chunk-XKZ6CBLA.js");
36
- var import_chunk_MEOOYUIZ = require("./chunk-MEOOYUIZ.js");
36
+ var import_chunk_5AI4FIZ3 = require("./chunk-5AI4FIZ3.js");
37
37
  var import_chunk_4VNS5WPM = require("./chunk-4VNS5WPM.js");
38
38
  var import_node_util = require("node:util");
39
39
  var import_get_platform = require("@prisma/get-platform");
@@ -1808,12 +1808,14 @@ async function sendPanic({
1808
1808
  sqlDump: void 0,
1809
1809
  dbVersion
1810
1810
  };
1811
- const signedUrl = await (0, import_chunk_MEOOYUIZ.createErrorReport)(params);
1812
- const id = await (0, import_chunk_MEOOYUIZ.makeErrorReportCompleted)(signedUrl);
1811
+ const signedUrl = await (0, import_chunk_5AI4FIZ3.createErrorReport)(params);
1812
+ const id = await (0, import_chunk_5AI4FIZ3.makeErrorReportCompleted)(signedUrl);
1813
1813
  return id;
1814
1814
  }
1815
1815
  function getCommand() {
1816
- if (process.argv[2] === "db" && process.argv[3] === "pull") {
1816
+ if (process.argv[2] === "introspect") {
1817
+ return "introspect";
1818
+ } else if (process.argv[2] === "db" && process.argv[3] === "pull") {
1817
1819
  return "db pull";
1818
1820
  }
1819
1821
  return process.argv.slice(2).join(" ");
@@ -16,11 +16,11 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_CGLLQXZE_exports = {};
20
- __export(chunk_CGLLQXZE_exports, {
19
+ var chunk_HHG4DGHC_exports = {};
20
+ __export(chunk_HHG4DGHC_exports, {
21
21
  drawBox: () => drawBox
22
22
  });
23
- module.exports = __toCommonJS(chunk_CGLLQXZE_exports);
23
+ module.exports = __toCommonJS(chunk_HHG4DGHC_exports);
24
24
  var import_chunk_PG5FDKSF = require("./chunk-PG5FDKSF.js");
25
25
  function isFullwidthCodePoint(codePoint) {
26
26
  if (!Number.isInteger(codePoint)) {
@@ -141,7 +141,7 @@ function assembleStyles() {
141
141
  styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
142
142
  Object.defineProperties(styles, {
143
143
  rgbToAnsi256: {
144
- value(red, green, blue) {
144
+ value: (red, green, blue) => {
145
145
  if (red === green && green === blue) {
146
146
  if (red < 8) {
147
147
  return 16;
@@ -156,7 +156,7 @@ function assembleStyles() {
156
156
  enumerable: false
157
157
  },
158
158
  hexToRgb: {
159
- value(hex) {
159
+ value: (hex) => {
160
160
  const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
161
161
  if (!matches) {
162
162
  return [0, 0, 0];
@@ -181,7 +181,7 @@ function assembleStyles() {
181
181
  enumerable: false
182
182
  },
183
183
  ansi256ToAnsi: {
184
- value(code) {
184
+ value: (code) => {
185
185
  if (code < 8) {
186
186
  return 30 + code;
187
187
  }
@@ -310,9 +310,10 @@ function sliceAnsi(string, begin, end) {
310
310
  }
311
311
  function ansiRegex({ onlyFirst = false } = {}) {
312
312
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
313
- const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
314
- const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
315
- const pattern = `${osc}|${csi}`;
313
+ const pattern = [
314
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
315
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
316
+ ].join("|");
316
317
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
317
318
  }
318
319
  var regex = ansiRegex();
@@ -329,7 +330,7 @@ function isFullWidth(x) {
329
330
  return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
330
331
  }
331
332
  function isWide(x) {
332
- return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
333
+ return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101631 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129673 || x >= 129679 && x <= 129734 || x >= 129742 && x <= 129756 || x >= 129759 && x <= 129769 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
333
334
  }
334
335
  function validate(codePoint) {
335
336
  if (!Number.isSafeInteger(codePoint)) {
@@ -344,7 +345,7 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
344
345
  return 1;
345
346
  }
346
347
  var emoji_regex_default = () => {
347
- return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
348
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
348
349
  };
349
350
  var segmenter = new Intl.Segmenter();
350
351
  var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
@@ -16,12 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_5W3BSMTH_exports = {};
20
- __export(chunk_5W3BSMTH_exports, {
19
+ var chunk_HO5HRHFZ_exports = {};
20
+ __export(chunk_HO5HRHFZ_exports, {
21
21
  serializeQueryEngineName: () => serializeQueryEngineName
22
22
  });
23
- module.exports = __toCommonJS(chunk_5W3BSMTH_exports);
23
+ module.exports = __toCommonJS(chunk_HO5HRHFZ_exports);
24
24
  function serializeQueryEngineName(message) {
25
25
  const normalizedName = "query-engine-NORMALIZED";
26
+ if (process.env.PRISMA_CLI_QUERY_ENGINE_TYPE === "binary") {
27
+ return message.replace(/query-engine binary/g, normalizedName);
28
+ }
26
29
  return message.replace(/query-engine-node-api library/g, normalizedName);
27
30
  }
@@ -26,17 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_SDDES4ZN_exports = {};
30
- __export(chunk_SDDES4ZN_exports, {
29
+ var chunk_HTUTYKBP_exports = {};
30
+ __export(chunk_HTUTYKBP_exports, {
31
31
  ValidateError: () => ValidateError,
32
32
  validate: () => validate
33
33
  });
34
- module.exports = __toCommonJS(chunk_SDDES4ZN_exports);
35
- var import_chunk_WSZXPLJQ = require("./chunk-WSZXPLJQ.js");
36
- var import_chunk_R6QH57HZ = require("./chunk-R6QH57HZ.js");
34
+ module.exports = __toCommonJS(chunk_HTUTYKBP_exports);
35
+ var import_chunk_TZJROXB3 = require("./chunk-TZJROXB3.js");
37
36
  var import_chunk_C47SCASR = require("./chunk-C47SCASR.js");
38
- var import_chunk_UGVSG4YK = require("./chunk-UGVSG4YK.js");
39
- var import_chunk_O4JHL7XP = require("./chunk-O4JHL7XP.js");
37
+ var import_chunk_R6QH57HZ = require("./chunk-R6QH57HZ.js");
38
+ var import_chunk_WEU72JRD = require("./chunk-WEU72JRD.js");
39
+ var import_chunk_CPCSIALL = require("./chunk-CPCSIALL.js");
40
40
  var import_chunk_5DBOS77Y = require("./chunk-5DBOS77Y.js");
41
41
  var import_chunk_XKZ6CBLA = require("./chunk-XKZ6CBLA.js");
42
42
  var import_chunk_LMVSIVKQ = require("./chunk-LMVSIVKQ.js");
@@ -59,25 +59,25 @@ ${detailsHeader} ${message}`;
59
59
  }).exhaustive();
60
60
  const errorMessageWithContext = `${constructedErrorMessage}
61
61
  [Context: validate]`;
62
- super((0, import_chunk_UGVSG4YK.addVersionDetailsToErrorMessage)(errorMessageWithContext));
62
+ super((0, import_chunk_WEU72JRD.addVersionDetailsToErrorMessage)(errorMessageWithContext));
63
63
  this.name = "ValidateError";
64
64
  }
65
65
  };
66
66
  function validate(options) {
67
- const debugErrorType = (0, import_chunk_WSZXPLJQ.createDebugErrorType)(debug, "validateWasm");
67
+ const debugErrorType = (0, import_chunk_TZJROXB3.createDebugErrorType)(debug, "validateWasm");
68
68
  debug(`Using validate Wasm`);
69
69
  const validateEither = (0, import_function.pipe)(
70
70
  (0, import_chunk_5DBOS77Y.tryCatch)(
71
71
  () => {
72
72
  if (process.env.FORCE_PANIC_QUERY_ENGINE_GET_DMMF) {
73
73
  debug("Triggering a Rust panic...");
74
- import_chunk_O4JHL7XP.prismaSchemaWasm.debug_panic();
74
+ import_chunk_CPCSIALL.prismaSchemaWasm.debug_panic();
75
75
  }
76
76
  const params = JSON.stringify({
77
77
  prismaSchema: options.schemas,
78
78
  noColor: Boolean(process.env.NO_COLOR)
79
79
  });
80
- import_chunk_O4JHL7XP.prismaSchemaWasm.validate(params);
80
+ import_chunk_CPCSIALL.prismaSchemaWasm.validate(params);
81
81
  },
82
82
  (e) => ({
83
83
  type: "wasm-error",
@@ -109,7 +109,7 @@ function validate(options) {
109
109
  return panic;
110
110
  }
111
111
  const errorOutput = e.error.message;
112
- return new ValidateError((0, import_chunk_WSZXPLJQ.parseQueryEngineError)({ errorOutput, reason: e.reason }));
112
+ return new ValidateError((0, import_chunk_TZJROXB3.parseQueryEngineError)({ errorOutput, reason: e.reason }));
113
113
  }).exhaustive();
114
114
  throw error;
115
115
  }