polyapi 0.23.18 → 0.23.19

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 (77) hide show
  1. package/build/api.d.ts.map +1 -1
  2. package/build/api.js +18 -16
  3. package/build/api.js.map +1 -1
  4. package/build/cli.js +38 -25
  5. package/build/cli.js.map +1 -1
  6. package/build/commands/function.d.ts.map +1 -1
  7. package/build/commands/function.js +6 -4
  8. package/build/commands/function.js.map +1 -1
  9. package/build/commands/generate/index.d.ts.map +1 -1
  10. package/build/commands/generate/index.js +25 -25
  11. package/build/commands/generate/index.js.map +1 -1
  12. package/build/commands/generate/schemaTypes.d.ts +4 -5
  13. package/build/commands/generate/schemaTypes.d.ts.map +1 -1
  14. package/build/commands/generate/schemaTypes.js +173 -88
  15. package/build/commands/generate/schemaTypes.js.map +1 -1
  16. package/build/commands/generate/types.d.ts.map +1 -1
  17. package/build/commands/generate/types.js +70 -31
  18. package/build/commands/generate/types.js.map +1 -1
  19. package/build/commands/model/generate.d.ts.map +1 -1
  20. package/build/commands/model/generate.js +26 -9
  21. package/build/commands/model/generate.js.map +1 -1
  22. package/build/commands/model/train.d.ts.map +1 -1
  23. package/build/commands/model/train.js +9 -3
  24. package/build/commands/model/train.js.map +1 -1
  25. package/build/commands/model/validate.d.ts.map +1 -1
  26. package/build/commands/model/validate.js +9 -3
  27. package/build/commands/model/validate.js.map +1 -1
  28. package/build/commands/prepare.d.ts.map +1 -1
  29. package/build/commands/prepare.js +11 -8
  30. package/build/commands/prepare.js.map +1 -1
  31. package/build/commands/setup.d.ts.map +1 -1
  32. package/build/commands/setup.js +10 -5
  33. package/build/commands/setup.js.map +1 -1
  34. package/build/commands/snippet.d.ts.map +1 -1
  35. package/build/commands/snippet.js +3 -1
  36. package/build/commands/snippet.js.map +1 -1
  37. package/build/commands/sync.d.ts.map +1 -1
  38. package/build/commands/sync.js +5 -3
  39. package/build/commands/sync.js.map +1 -1
  40. package/build/commands/tenant.d.ts.map +1 -1
  41. package/build/commands/tenant.js +6 -6
  42. package/build/commands/tenant.js.map +1 -1
  43. package/build/config.d.ts.map +1 -1
  44. package/build/config.js.map +1 -1
  45. package/build/dependencies.d.ts.map +1 -1
  46. package/build/dependencies.js +3 -1
  47. package/build/dependencies.js.map +1 -1
  48. package/build/deployables.d.ts.map +1 -1
  49. package/build/deployables.js +45 -22
  50. package/build/deployables.js.map +1 -1
  51. package/build/templates/api-functions.js.hbs +18 -0
  52. package/build/templates/api-index.js +153 -0
  53. package/build/templates/auth-function.js.hbs +2 -2
  54. package/build/templates/auth-index.js.hbs +9 -2
  55. package/build/templates/{axios.js.hbs → axios.js} +15 -3
  56. package/build/templates/constants.js.hbs +5 -0
  57. package/build/templates/{index.js.hbs → index.js} +8 -9
  58. package/build/templates/server-functions.js.hbs +7 -0
  59. package/build/templates/server-index.js +19 -0
  60. package/build/templates/vari/index.js.hbs +5 -5
  61. package/build/templates/webhook-handles.js.hbs +11 -0
  62. package/build/templates/{webhooks-index.js.hbs → webhooks-index.js} +4 -17
  63. package/build/transpiler.d.ts.map +1 -1
  64. package/build/transpiler.js +62 -40
  65. package/build/transpiler.js.map +1 -1
  66. package/build/tsconfig.build.tsbuildinfo +1 -1
  67. package/build/types/functions.d.ts.map +1 -1
  68. package/build/types/specifications.d.ts.map +1 -1
  69. package/build/types/templates.d.ts.map +1 -1
  70. package/build/utils.d.ts +1 -0
  71. package/build/utils.d.ts.map +1 -1
  72. package/build/utils.js +13 -7
  73. package/build/utils.js.map +1 -1
  74. package/package.json +2 -2
  75. package/build/templates/api-index.js.hbs +0 -148
  76. package/build/templates/server-index.js.hbs +0 -30
  77. /package/build/templates/{error-handler.js.hbs → error-handler.js} +0 -0
@@ -101,7 +101,8 @@ const getDependencies = (code, fileName, baseUrl) => {
101
101
  return (sourceFile) => {
102
102
  const visitor = (node) => {
103
103
  if (typescript_1.default.isImportDeclaration(node)) {
104
- const moduleName = node.moduleSpecifier.text;
104
+ const moduleName = node.moduleSpecifier
105
+ .text;
105
106
  const resolvedModule = typescript_1.default.resolveModuleName(moduleName, fileName, compilerOptions, compilerHost);
106
107
  if (resolvedModule.resolvedModule) {
107
108
  if (resolvedModule.resolvedModule.isExternalLibraryImport) {
@@ -122,8 +123,7 @@ const getDependencies = (code, fileName, baseUrl) => {
122
123
  ],
123
124
  },
124
125
  });
125
- let dependencies = Array.from(importedLibraries)
126
- .filter(library => !EXCLUDED_REQUIREMENTS.includes(library));
126
+ let dependencies = Array.from(importedLibraries).filter((library) => !EXCLUDED_REQUIREMENTS.includes(library));
127
127
  if (dependencies.length) {
128
128
  let packageJson = fs_1.default.readFileSync(path_1.default.join(process.cwd(), 'package.json'), 'utf-8');
129
129
  try {
@@ -135,15 +135,17 @@ const getDependencies = (code, fileName, baseUrl) => {
135
135
  const packageJsonDependencies = packageJson.dependencies || {};
136
136
  const packageJsonDevDependencies = packageJson.devDependencies || {};
137
137
  for (const dependency of dependencies) {
138
- if (packageJsonDependencies[dependency] || packageJsonDevDependencies[dependency]) {
138
+ if (packageJsonDependencies[dependency] ||
139
+ packageJsonDevDependencies[dependency]) {
139
140
  continue;
140
141
  }
141
142
  const dependencyParts = dependency.split('/');
142
143
  while (dependencyParts.length > 0) {
143
144
  dependencyParts.pop();
144
145
  const newDependencyPath = dependencyParts.join('/');
145
- if (packageJsonDependencies[newDependencyPath] || packageJsonDevDependencies[newDependencyPath]) {
146
- dependencies = dependencies.map(currentDependency => {
146
+ if (packageJsonDependencies[newDependencyPath] ||
147
+ packageJsonDevDependencies[newDependencyPath]) {
148
+ dependencies = dependencies.map((currentDependency) => {
147
149
  if (currentDependency === dependency) {
148
150
  return dependencyParts.join('/');
149
151
  }
@@ -175,11 +177,13 @@ const generateTypeSchemas = (fileName, baseUrl, ignoredTypeNames) => {
175
177
  const generator = TJS.buildGenerator(program, settings);
176
178
  const consolidateGeneratorSymbolType = (typeName, symbolRefs) => {
177
179
  const tryConsolidationByFile = (fileName) => {
178
- const symbolRef = symbolRefs.find(symbolRef => {
179
- return symbolRef.symbol.declarations.some(declaration => declaration.getSourceFile().fileName.includes(fileName));
180
+ const symbolRef = symbolRefs.find((symbolRef) => {
181
+ return symbolRef.symbol.declarations.some((declaration) => declaration.getSourceFile().fileName.includes(fileName));
180
182
  });
181
183
  if (symbolRef) {
182
- const declaredType = program.getTypeChecker().getDeclaredTypeOfSymbol(symbolRef.symbol);
184
+ const declaredType = program
185
+ .getTypeChecker()
186
+ .getDeclaredTypeOfSymbol(symbolRef.symbol);
183
187
  if (declaredType) {
184
188
  generator.allSymbols[typeName] = declaredType;
185
189
  return true;
@@ -199,7 +203,8 @@ const generateTypeSchemas = (fileName, baseUrl, ignoredTypeNames) => {
199
203
  if (parent.kind === typescript_1.default.SyntaxKind.Block) {
200
204
  insideBlock = true;
201
205
  }
202
- else if (parent.kind === typescript_1.default.SyntaxKind.FunctionDeclaration && insideBlock) {
206
+ else if (parent.kind === typescript_1.default.SyntaxKind.FunctionDeclaration &&
207
+ insideBlock) {
203
208
  return true;
204
209
  }
205
210
  parent = parent.parent;
@@ -221,7 +226,7 @@ const generateTypeSchemas = (fileName, baseUrl, ignoredTypeNames) => {
221
226
  const tempCombinedTypeProgram = typescript_1.default.createProgram([fileName, tempFilePath], compilerOptions);
222
227
  let schema = TJS.generateSchema(tempCombinedTypeProgram, combinedTypeName, settings, undefined, TJS.buildGenerator(tempCombinedTypeProgram, settings));
223
228
  if (schema) {
224
- const hasVoidType = node.types.some(type => type.getText() === 'void');
229
+ const hasVoidType = node.types.some((type) => type.getText() === 'void');
225
230
  if (hasVoidType && typescript_1.default.isUnionTypeNode(node)) {
226
231
  if (schema.anyOf) {
227
232
  schema.anyOf.push({ type: 'null' });
@@ -229,10 +234,7 @@ const generateTypeSchemas = (fileName, baseUrl, ignoredTypeNames) => {
229
234
  else {
230
235
  schema = {
231
236
  $schema: schema.$schema,
232
- anyOf: [
233
- { ...schema, $schema: undefined },
234
- { type: 'null' },
235
- ],
237
+ anyOf: [{ ...schema, $schema: undefined }, { type: 'null' }],
236
238
  };
237
239
  }
238
240
  }
@@ -262,12 +264,16 @@ const generateTypeSchemas = (fileName, baseUrl, ignoredTypeNames) => {
262
264
  const symbolRef = symbolRefs[0];
263
265
  const typeParameters = [];
264
266
  if (typeParameters.length === 0 && symbolRef) {
265
- symbolRef.symbol.declarations.forEach(declaration => {
266
- if (typescript_1.default.isTypeAliasDeclaration(declaration) || typescript_1.default.isInterfaceDeclaration(declaration) || typescript_1.default.isClassDeclaration(declaration)) {
267
- if (declaration.parent && typescript_1.default.isSourceFile(declaration.parent) && declaration.parent.hasNoDefaultLib) {
267
+ symbolRef.symbol.declarations.forEach((declaration) => {
268
+ if (typescript_1.default.isTypeAliasDeclaration(declaration) ||
269
+ typescript_1.default.isInterfaceDeclaration(declaration) ||
270
+ typescript_1.default.isClassDeclaration(declaration)) {
271
+ if (declaration.parent &&
272
+ typescript_1.default.isSourceFile(declaration.parent) &&
273
+ declaration.parent.hasNoDefaultLib) {
268
274
  return;
269
275
  }
270
- typeParameters.push(...declaration.typeParameters?.map(typeParameter => typeParameter.name.text) || []);
276
+ typeParameters.push(...(declaration.typeParameters?.map((typeParameter) => typeParameter.name.text) || []));
271
277
  }
272
278
  });
273
279
  }
@@ -282,7 +288,8 @@ const generateTypeSchemas = (fileName, baseUrl, ignoredTypeNames) => {
282
288
  typeParameterVariations.push(parameterSchemaTypes);
283
289
  }
284
290
  }
285
- const schema = schemaDefs[typeName]?.schema || TJS.generateSchema(program, typeName, settings, undefined, generator);
291
+ const schema = schemaDefs[typeName]?.schema ||
292
+ TJS.generateSchema(program, typeName, settings, undefined, generator);
286
293
  if (schema) {
287
294
  schemaDefs[typeName] = {
288
295
  schema,
@@ -298,14 +305,13 @@ const generateTypeSchemas = (fileName, baseUrl, ignoredTypeNames) => {
298
305
  };
299
306
  exports.generateTypeSchemas = generateTypeSchemas;
300
307
  const enhanceWithParameterTypeSchemas = (schemaDefs) => {
301
- Object.keys(schemaDefs)
302
- .forEach(typeName => {
308
+ Object.keys(schemaDefs).forEach((typeName) => {
303
309
  const schemaDef = schemaDefs[typeName];
304
310
  const typeVariations = schemaDef.typeParameterVariations;
305
311
  if (!typeVariations.length) {
306
312
  return;
307
313
  }
308
- typeVariations.forEach(typeVariation => {
314
+ typeVariations.forEach((typeVariation) => {
309
315
  const typeParameters = Object.keys(typeVariation);
310
316
  if (!typeParameters.length) {
311
317
  return;
@@ -315,7 +321,7 @@ const enhanceWithParameterTypeSchemas = (schemaDefs) => {
315
321
  ...schemaDef.schema.definitions,
316
322
  ...typeParameters.reduce((acc, typeParameter) => {
317
323
  const typeParameterSchemaDef = schemaDefs[typeVariation[typeParameter]];
318
- return ({
324
+ return {
319
325
  ...acc,
320
326
  ...typeParameterSchemaDef?.schema.definitions,
321
327
  [typeParameter]: {
@@ -323,7 +329,7 @@ const enhanceWithParameterTypeSchemas = (schemaDefs) => {
323
329
  $schema: undefined,
324
330
  definitions: undefined,
325
331
  },
326
- });
332
+ };
327
333
  }, {}),
328
334
  };
329
335
  schemaDefs[`${typeName}<${parameterTypes}>`] = {
@@ -335,8 +341,7 @@ const enhanceWithParameterTypeSchemas = (schemaDefs) => {
335
341
  });
336
342
  });
337
343
  };
338
- const extractSchemas = (schemaDefs) => Object.keys(schemaDefs)
339
- .reduce((acc, typeName) => {
344
+ const extractSchemas = (schemaDefs) => Object.keys(schemaDefs).reduce((acc, typeName) => {
340
345
  return {
341
346
  ...acc,
342
347
  [typeName]: schemaDefs[typeName].schema,
@@ -354,7 +359,9 @@ const parseDeployComment = (comment) => {
354
359
  id,
355
360
  deployed,
356
361
  fileRevision,
357
- instance: instance.endsWith('localhost:3000') ? instance.replace(':3000', ':8000') : instance,
362
+ instance: instance.endsWith('localhost:3000')
363
+ ? instance.replace(':3000', ':8000')
364
+ : instance,
358
365
  };
359
366
  };
360
367
  exports.parseDeployComment = parseDeployComment;
@@ -369,7 +376,10 @@ const getDeployComments = (sourceFile) => {
369
376
  const match = (0, exports.parseDeployComment)(comment.trim());
370
377
  if (match) {
371
378
  matches.push(match);
372
- ranges.push([range.pos, range.end + (range.hasTrailingNewLine ? 1 : 0)]);
379
+ ranges.push([
380
+ range.pos,
381
+ range.end + (range.hasTrailingNewLine ? 1 : 0),
382
+ ]);
373
383
  }
374
384
  }
375
385
  }
@@ -413,8 +423,10 @@ const parseJSDoc = (node) => {
413
423
  },
414
424
  };
415
425
  const firstJsDoc = jsDoc[0];
416
- jsDocTags.description = firstJsDoc.comment ? typescript_1.default.getTextOfJSDocComment(firstJsDoc.comment) : '';
417
- firstJsDoc.tags?.forEach(tag => {
426
+ jsDocTags.description = firstJsDoc.comment
427
+ ? typescript_1.default.getTextOfJSDocComment(firstJsDoc.comment)
428
+ : '';
429
+ firstJsDoc.tags?.forEach((tag) => {
418
430
  const tagName = tag.tagName.text;
419
431
  const tagComment = typescript_1.default.getTextOfJSDocComment(tag.comment) || '';
420
432
  if (tagName === 'param' && typescript_1.default.isJSDocParameterTag(tag)) {
@@ -442,11 +454,12 @@ const parseJSDoc = (node) => {
442
454
  return jsDocTags;
443
455
  };
444
456
  const parseTSTypes = (node, sourceFile) => {
445
- const params = node.parameters.map(param => {
457
+ const params = node.parameters.map((param) => {
446
458
  const name = param.name.getText(sourceFile);
447
459
  const type = param.type?.getText(sourceFile);
448
- if (!type)
460
+ if (!type) {
449
461
  throw new Error(`Missing type for function argument '${name}' in file '${sourceFile.fileName}'.`);
462
+ }
450
463
  return {
451
464
  name,
452
465
  type,
@@ -454,8 +467,9 @@ const parseTSTypes = (node, sourceFile) => {
454
467
  };
455
468
  });
456
469
  const type = node.type?.getText(sourceFile);
457
- if (!type)
470
+ if (!type) {
458
471
  throw new Error(`Missing return type for function in file '${sourceFile.fileName}'. Use 'void' if no return type.`);
472
+ }
459
473
  const returns = {
460
474
  type,
461
475
  description: '',
@@ -470,7 +484,8 @@ const getFunctionDetails = (sourceFile, functionName) => {
470
484
  let functionDetails = null;
471
485
  let dirty = false;
472
486
  const visit = (node) => {
473
- if (typescript_1.default.isFunctionDeclaration(node) && node.name?.getText(sourceFile) === functionName) {
487
+ if (typescript_1.default.isFunctionDeclaration(node) &&
488
+ node.name?.getText(sourceFile) === functionName) {
474
489
  const jsDoc = parseJSDoc(node);
475
490
  const types = parseTSTypes(node, sourceFile);
476
491
  if (jsDoc &&
@@ -500,15 +515,16 @@ const getFunctionDetails = (sourceFile, functionName) => {
500
515
  }
501
516
  };
502
517
  visit(sourceFile);
503
- if (!functionDetails)
518
+ if (!functionDetails) {
504
519
  throw new Error(`Failed to find a function named '${functionName}' within file '${sourceFile.fileName}'. Verify that your polyConfig name matches a valid function declared within the same file.`);
520
+ }
505
521
  return functionDetails;
506
522
  };
507
523
  const parseDeployableFunction = (sourceFile, polyConfig, baseUrl, fileRevision, gitRevision) => {
508
524
  const [deployments, deploymentCommentRanges] = getDeployComments(sourceFile);
509
525
  const functionDetails = getFunctionDetails(sourceFile, polyConfig.name);
510
526
  const dependencies = (0, exports.getDependencies)(sourceFile.getFullText(), sourceFile.fileName, baseUrl);
511
- const typeSchemas = (0, exports.generateTypeSchemas)(sourceFile.fileName, baseUrl, deployables_1.DeployableTypeEntries.map(d => d[0]));
527
+ const typeSchemas = (0, exports.generateTypeSchemas)(sourceFile.fileName, baseUrl, deployables_1.DeployableTypeEntries.map((d) => d[0]));
512
528
  return {
513
529
  ...polyConfig,
514
530
  ...functionDetails,
@@ -533,7 +549,7 @@ const parseWebhook = (sourceFile, polyConfig, baseUrl, fileRevision, gitRevision
533
549
  };
534
550
  const parseDeployable = async (filePath, baseUrl, gitRevision) => {
535
551
  const sourceFile = await loadTsSourceFile(filePath);
536
- const polyConfig = getPolyConfig(deployables_1.DeployableTypeEntries.map(e => e[0]), sourceFile);
552
+ const polyConfig = getPolyConfig(deployables_1.DeployableTypeEntries.map((e) => e[0]), sourceFile);
537
553
  polyConfig.type = deployables_1.DeployableTsTypeToName[polyConfig.type];
538
554
  const fileContents = sourceFile.getFullText();
539
555
  const fileRevision = (0, deployables_1.getDeployableFileRevision)(fileContents);
@@ -541,9 +557,15 @@ const parseDeployable = async (filePath, baseUrl, gitRevision) => {
541
557
  switch (polyConfig.type) {
542
558
  case 'server-function':
543
559
  case 'client-function':
544
- return [parseDeployableFunction(sourceFile, polyConfig, baseUrl, fileRevision, gitRevision), fileContents];
560
+ return [
561
+ parseDeployableFunction(sourceFile, polyConfig, baseUrl, fileRevision, gitRevision),
562
+ fileContents,
563
+ ];
545
564
  case 'webhook':
546
- return [parseWebhook(sourceFile, polyConfig, baseUrl, fileRevision, gitRevision), fileContents];
565
+ return [
566
+ parseWebhook(sourceFile, polyConfig, baseUrl, fileRevision, gitRevision),
567
+ fileContents,
568
+ ];
547
569
  }
548
570
  throw new Error('Invalid Poly deployment with unsupported type');
549
571
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../src/transpiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../src/transpiler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,kDAA0B;AAC1B,sDAA4B;AAC5B,4DAA4B;AAC5B,4DAA8C;AAE9C,gDAAwB;AACxB,+CAQuB;AACvB,4CAAoB;AACpB,oDAA4B;AAI5B,MAAM,qBAAqB,GAAG;IAE5B,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,SAAS;IACT,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,OAAO;IACP,KAAK;IACL,IAAI;IACJ,MAAM;IACN,SAAS;IACT,UAAU;IACV,aAAa;IACb,UAAU;IACV,QAAQ;IACR,gBAAgB;IAChB,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,MAAM;IAGN,SAAS;IAGT,OAAO;CACR,CAAC;AAEK,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,QAAQ,GAAG,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAE,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC7E,IAAI,QAAQ,EAAE;QACZ,OAAO,oBAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,oBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;KAC5D;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB;AAEK,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,IAAA,mBAAW,GAAE,EAAE,EAAE,CACrD,MAAM,CAAC,eAAe,EAAE,OAAO,IAAI,SAAS,CAAC;AADlC,QAAA,YAAY,gBACsB;AAO/C,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAiB,EAAE;IAC3D,MAAM,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CACpC,QAAQ,EACR,WAAW,EACX,oBAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,oBAAE,CAAC,UAAU,CAAC,EAAE,CACjB,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAC7B,IAAY,EACZ,QAAgB,EAChB,OAA2B,EAC3B,EAAE;IACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,MAAM,eAAe,GAAG;QACtB,MAAM,EAAE,oBAAE,CAAC,UAAU,CAAC,QAAQ;QAC9B,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,IAAI;QACzB,OAAO;KACR,CAAC;IAEF,MAAM,YAAY,GAAG,oBAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC5D,oBAAE,CAAC,eAAe,CAAC,IAAI,EAAE;QACvB,eAAe;QACf,YAAY,EAAE;YACZ,MAAM,EAAE;gBACN,CAAC,OAAO,EAAE,EAAE;oBACV,OAAO,CAAC,UAAU,EAAE,EAAE;wBACpB,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;4BACzC,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;gCAChC,MAAM,UAAU,GAAI,IAAI,CAAC,eAAoC;qCAC1D,IAAI,CAAC;gCACR,MAAM,cAAc,GAAG,oBAAE,CAAC,iBAAiB,CACzC,UAAU,EACV,QAAQ,EACR,eAAe,EACf,YAAY,CACb,CAAC;gCAEF,IAAI,cAAc,CAAC,cAAc,EAAE;oCACjC,IAAI,cAAc,CAAC,cAAc,CAAC,uBAAuB,EAAE;wCACzD,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qCACnC;iCACF;qCAAM;oCAEL,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wCAC/B,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qCACnC;iCACF;6BACF;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC,CAAC;wBACF,OAAO,oBAAE,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzD,CAAC,CAAC;gBACJ,CAAC;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CACrD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CACtD,CAAC;IAEF,IAAI,YAAY,CAAC,MAAM,EAAE;QACvB,IAAI,WAAW,GAAQ,YAAE,CAAC,YAAY,CACpC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EACxC,OAAO,CACR,CAAC;QAEF,IAAI;YACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACd,iBAAK,CAAC,IAAI,CACR,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAC1B,6JAA6J,CAC9J,CAAC;SACH;QAED,MAAM,uBAAuB,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/D,MAAM,0BAA0B,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;QAErE,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE;YACrC,IACE,uBAAuB,CAAC,UAAU,CAAC;gBACnC,0BAA0B,CAAC,UAAU,CAAC,EACtC;gBACA,SAAS;aACV;YAED,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9C,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,eAAe,CAAC,GAAG,EAAE,CAAC;gBAEtB,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEpD,IACE,uBAAuB,CAAC,iBAAiB,CAAC;oBAC1C,0BAA0B,CAAC,iBAAiB,CAAC,EAC7C;oBACA,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE;wBACpD,IAAI,iBAAiB,KAAK,UAAU,EAAE;4BACpC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAClC;wBAED,OAAO,iBAAiB,CAAC;oBAC3B,CAAC,CAAC,CAAC;oBACH,MAAM;iBACP;aACF;SACF;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AA3GW,QAAA,eAAe,mBA2G1B;AAEK,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EAChB,OAA2B,EAC3B,gBAA2B,EACE,EAAE;IAC/B,MAAM,eAAe,GAAuB;QAC1C,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,CAAC,QAAQ,CAAC;QACf,OAAO;KACR,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAoB;QAChC,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IASxD,MAAM,8BAA8B,GAAG,CACrC,QAAgB,EAChB,UAAuB,EACvB,EAAE;QACF,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAClD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC9C,OAAO,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACxD,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,EAAE;gBACb,MAAM,YAAY,GAAG,OAAO;qBACzB,cAAc,EAAE;qBAChB,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,YAAY,EAAE;oBAGhB,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;oBAC9C,OAAO,IAAI,CAAC;iBACb;aACF;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE;YACpC,OAAO;SACR;QAED,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAAE,EAAE;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,OAAO,MAAM,EAAE;YACb,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,KAAK,EAAE;gBACvC,WAAW,GAAG,IAAI,CAAC;aACpB;iBAAM,IACL,MAAM,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,mBAAmB;gBACjD,WAAW,EACX;gBACA,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACxB;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE;QAChC,IAAI,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YAE/D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACxC,OAAO;aACR;YAED,MAAM,UAAU,GAAG,QAAQ,gBAAgB,MAAM,QAAQ,GAAG,CAAC;YAC7D,MAAM,OAAO,GAAG,YAAE,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAC5B,OAAO,EACP,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAC/C,CAAC;YACF,YAAE,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAE3C,IAAI;gBACF,MAAM,uBAAuB,GAAG,oBAAE,CAAC,aAAa,CAC9C,CAAC,QAAQ,EAAE,YAAY,CAAC,EACxB,eAAe,CAChB,CAAC;gBAEF,IAAI,MAAM,GAAG,GAAG,CAAC,cAAc,CAC7B,uBAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,GAAG,CAAC,cAAc,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CACtD,CAAC;gBACF,IAAI,MAAM,EAAE;oBACV,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,MAAM,CACpC,CAAC;oBACF,IAAI,WAAW,IAAI,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;wBAE3C,IAAI,MAAM,CAAC,KAAK,EAAE;4BAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;yBACrC;6BAAM;4BACL,MAAM,GAAG;gCACP,OAAO,EAAE,MAAM,CAAC,OAAO;gCACvB,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6BAC7D,CAAC;yBACH;qBACF;oBAED,UAAU,CAAC,QAAQ,CAAC,GAAG;wBACrB,MAAM;wBACN,uBAAuB,EAAE,EAAE;qBAC5B,CAAC;iBACH;aACF;oBAAS;gBACR,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aAC7B;SACF;QAED,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAEzC,IAAI,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACxC,OAAO;aACR;YAED,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAEtB,OAAO;aACR;YAED,8BAA8B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAErD,MAAM,uBAAuB,GAC3B,UAAU,CAAC,QAAQ,CAAC,EAAE,uBAAuB,IAAI,EAAE,CAAC;YAEtD,IAAI,aAAa,EAAE;gBACjB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,cAAc,GAAG,EAAE,CAAC;gBAE1B,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,EAAE;oBAE5C,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;wBACpD,IACE,oBAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC;4BACtC,oBAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC;4BACtC,oBAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAClC;4BACA,IACE,WAAW,CAAC,MAAM;gCAClB,oBAAE,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC;gCACnC,WAAW,CAAC,MAAM,CAAC,eAAe,EAClC;gCAEA,OAAO;6BACR;4BACD,cAAc,CAAC,IAAI,CACjB,GAAG,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,CACjC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAC3C,IAAI,EAAE,CAAC,CACT,CAAC;yBACH;oBACH,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,cAAc,CAAC,MAAM,EAAE;oBACzB,MAAM,oBAAoB,GAA2B,EAAE,CAAC;oBAExD,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE;wBAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,YAAY,EAAE;4BAChB,oBAAoB,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;yBAC9D;oBACH,CAAC,CAAC,CAAC;oBAEH,uBAAuB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBACpD;aACF;YAED,MAAM,MAAM,GACV,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM;gBAC5B,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACxE,IAAI,MAAM,EAAE;gBACV,UAAU,CAAC,QAAQ,CAAC,GAAG;oBACrB,MAAM;oBACN,uBAAuB;iBACxB,CAAC;aACH;SACF;QAED,oBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,oBAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAErC,+BAA+B,CAAC,UAAU,CAAC,CAAC;IAE5C,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC,CAAC;AAvNW,QAAA,mBAAmB,uBAuN9B;AAEF,MAAM,+BAA+B,GAAG,CACtC,UAAqC,EACrC,EAAE;IACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,SAAS,CAAC,uBAAuB,CAAC;QAEzD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC1B,OAAO;SACR;QACD,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YACvC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC1B,OAAO;aACR;YACD,MAAM,cAAc,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,MAAM,kBAAkB,GAAG;gBACzB,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW;gBAC/B,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE;oBAC9C,MAAM,sBAAsB,GAC1B,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;oBAE3C,OAAO;wBACL,GAAG,GAAG;wBACN,GAAG,sBAAsB,EAAE,MAAM,CAAC,WAAW;wBAC7C,CAAC,aAAa,CAAC,EAAE;4BACf,GAAG,sBAAsB,EAAE,MAAM;4BACjC,OAAO,EAAE,SAAS;4BAClB,WAAW,EAAE,SAAS;yBACvB;qBACF,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC;aACP,CAAC;YAEF,UAAU,CAAC,GAAG,QAAQ,IAAI,cAAc,GAAG,CAAC,GAAG;gBAC7C,MAAM,EAAE;oBACN,GAAG,SAAS,CAAC,MAAM;oBACnB,WAAW,EAAE,kBAAkB;iBAChC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,UAAqC,EAAE,EAAE,CAC/D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;IAC/C,OAAO;QACL,GAAG,GAAG;QACN,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM;KACxC,CAAC;AACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAc,EAAE;IAEhE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,0GAA0G,CAC3G,CAAC;IACF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;IAC5E,OAAO;QACL,IAAI;QACJ,OAAO;QACP,IAAI,EAAE,IAAuB;QAC7B,EAAE;QACF,QAAQ;QACR,YAAY;QAEZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YACpC,CAAC,CAAC,QAAQ;KACb,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B;AAKF,MAAM,iBAAiB,GAAG,CACxB,UAAyB,EACD,EAAE;IAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,EAAY,CAAC;IAC5B,MAAM,aAAa,GAAG,oBAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,aAAa,EAAE;QACjB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,CAAC,GAAG;oBACT,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C,CAAC,CAAC;aACJ;SACF;KACF;IACD,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC;AAGF,MAAM,aAAa,GAAG,CAAC,KAAe,EAAE,UAAyB,EAAO,EAAE;IACxE,IAAI,MAAM,GAAQ,IAAI,CAAC;IAEvB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;QAC9B,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACrE,IAAI,WAAW,IAAI,oBAAE,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE;oBAK5D,MAAM,GAAG,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC5C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;iBACpB;aACF;SACF;QACD,oBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;IAC9D,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC7D,CAAC,CAAC;AAGF,MAAM,UAAU,GAAG,CAAC,IAA4B,EAAO,EAAE;IACvD,IAAI,SAAS,GAAQ,IAAI,CAAC;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,oBAAE,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,SAAS,GAAG;YACV,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,EAAE;aAChB;SACF,CAAC;QACF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC,OAAO;YACxC,CAAC,CAAC,oBAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACjC,MAAM,UAAU,GAAG,oBAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,OAAO,KAAK,OAAO,IAAI,oBAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;gBACtD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,SAAS,GACb,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC5D,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEvD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gBAAgB;iBAC9B,CAAC,CAAC;aACJ;iBAAM,IAAI,OAAO,KAAK,SAAS,IAAI,oBAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBAC5D,SAAS,CAAC,OAAO,GAAG;oBAClB,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE;oBAC/D,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE;iBAC/B,CAAC;aACH;iBAAM;gBACL,SAAS,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,IAA4B,EAC5B,UAAyB,EACpB,EAAE;IACP,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,cAAc,UAAU,CAAC,QAAQ,IAAI,CACjF,CAAC;SACH;QACD,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CACb,6CAA6C,UAAU,CAAC,QAAQ,kCAAkC,CACnG,CAAC;KACH;IACD,MAAM,OAAO,GAAG;QACd,IAAI;QACJ,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,OAAO;QACL,MAAM;QACN,OAAO;QACP,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,kBAAkB,GAAG,CACzB,UAAyB,EACzB,YAAoB,EACpB,EAAE;IACF,IAAI,eAAe,GAGf,IAAI,CAAC;IACT,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;QAC9B,IACE,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,YAAY,EAC/C;YACA,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC7C,IACE,KAAK;gBACL,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,EACzC;gBAEA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC5B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBACtD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACtC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,CAAC;aACH;iBAAM;gBACL,KAAK,GAAG,IAAI,CAAC;aACd;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAErD,eAAe,GAAG;gBAChB,KAAK;gBACL,aAAa;gBACb,WAAW;gBACX,KAAK;aACN,CAAC;SACH;aAAM;YACL,oBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,kBAAkB,UAAU,CAAC,QAAQ,6FAA6F,CACnL,CAAC;KACH;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,UAAyB,EACzB,UAAkC,EAClC,OAAe,EACf,YAAoB,EACpB,WAAmB,EACD,EAAE;IACpB,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAA,uBAAe,EAClC,UAAU,CAAC,WAAW,EAAE,EACxB,UAAU,CAAC,QAAQ,EACnB,OAAO,CACR,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,2BAAmB,EACrC,UAAU,CAAC,QAAQ,EACnB,OAAO,EACP,mCAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvC,CAAC;IACF,OAAO;QACL,GAAG,UAAU;QACb,GAAG,eAAe;QAClB,WAAW;QACX,uBAAuB;QACvB,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,WAAW;QACX,IAAI,EAAE,UAAU,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,UAAyB,EACzB,UAAkC,EAClC,OAAe,EACf,YAAoB,EACpB,WAAmB,EACD,EAAE;IACpB,MAAM,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,UAAU;QACb,WAAW;QACX,YAAY;QACZ,WAAW;QACX,IAAI,EAAE,UAAU,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,KAAK,EAClC,QAAgB,EAChB,OAAe,EACf,WAAmB,EACkB,EAAE;IACvC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAG,aAAa,CAC9B,mCAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtC,UAAU,CACX,CAAC;IACF,UAAU,CAAC,IAAI,GAAG,oCAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAA,uCAAyB,EAAC,YAAY,CAAC,CAAC;IAC7D,IAAI;QACF,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,iBAAiB,CAAC;YACvB,KAAK,iBAAiB;gBACpB,OAAO;oBACL,uBAAuB,CACrB,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,WAAW,CACZ;oBACD,YAAY;iBACb,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO;oBACL,YAAY,CACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,WAAW,CACZ;oBACD,YAAY;iBACb,CAAC;SACL;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CACX,YAAY,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,IACpE,UAAU,CAAC,IACb,SAAS,CACV,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpB;AACH,CAAC,CAAC;AAjDW,QAAA,eAAe,mBAiD1B"}