@zenstackhq/sdk 1.10.0 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/utils.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAuthModel = exports.getPreviewFeatures = exports.getContainingModel = exports.isFromStdlib = exports.isFutureExpr = exports.getFunctionExpressionContext = exports.parseOptionAsStrings = exports.requireOption = exports.resolvePath = exports.isForeignKeyField = exports.isRelationshipField = exports.isIdField = exports.getModelUniqueFields = exports.getModelIdFields = exports.isDataModelFieldReference = exports.isEnumFieldReference = exports.getAttributeArgLiteral = exports.getAttributeArg = exports.getAttributeArgs = exports.getAttribute = exports.hasAttribute = exports.indentString = exports.getObjectLiteral = exports.getLiteralArray = exports.getArray = exports.getLiteral = exports.resolved = exports.getDataModels = void 0;
6
+ exports.getRecursiveBases = exports.getModelFieldsWithBases = exports.getDataModelFieldReference = exports.getIdFields = exports.isDiscriminatorField = exports.isDelegateModel = exports.getAuthModel = exports.getPreviewFeatures = exports.getContainingModel = exports.isFromStdlib = exports.isAuthInvocation = exports.isFutureExpr = exports.getFunctionExpressionContext = exports.parseOptionAsStrings = exports.requireOption = exports.resolvePath = exports.getRelationField = exports.getForeignKeyFields = exports.isForeignKeyField = exports.isRelationshipField = exports.isIdField = exports.getModelUniqueFields = exports.getModelIdFields = exports.isDataModelFieldReference = exports.isEnumFieldReference = exports.getAttributeArgLiteral = exports.getAttributeArg = exports.getAttributeArgs = exports.getAttribute = exports.hasAttribute = exports.indentString = exports.getObjectLiteral = exports.getLiteralArray = exports.getArray = exports.getLiteral = exports.resolved = exports.getDataModels = void 0;
7
7
  const ast_1 = require("@zenstackhq/language/ast");
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const constants_1 = require("./constants");
@@ -137,7 +137,7 @@ exports.isDataModelFieldReference = isDataModelFieldReference;
137
137
  * Gets `@@id` fields declared at the data model level
138
138
  */
139
139
  function getModelIdFields(model) {
140
- const idAttr = model.attributes.find((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@id'; });
140
+ const idAttr = model.attributes.find((attr) => attr.decl.$refText === '@@id');
141
141
  if (!idAttr) {
142
142
  return [];
143
143
  }
@@ -154,7 +154,7 @@ exports.getModelIdFields = getModelIdFields;
154
154
  * Gets `@@unique` fields declared at the data model level
155
155
  */
156
156
  function getModelUniqueFields(model) {
157
- const uniqueAttr = model.attributes.find((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@unique'; });
157
+ const uniqueAttr = model.attributes.find((attr) => attr.decl.$refText === '@@unique');
158
158
  if (!uniqueAttr) {
159
159
  return [];
160
160
  }
@@ -233,12 +233,49 @@ function isForeignKeyField(field) {
233
233
  });
234
234
  }
235
235
  exports.isForeignKeyField = isForeignKeyField;
236
+ /**
237
+ * Gets the foreign key fields of the given relation field.
238
+ */
239
+ function getForeignKeyFields(relationField) {
240
+ if (!isRelationshipField(relationField)) {
241
+ return [];
242
+ }
243
+ const relAttr = relationField.attributes.find((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@relation'; });
244
+ if (relAttr) {
245
+ // find "fields" arg
246
+ const fieldsArg = getAttributeArg(relAttr, 'fields');
247
+ if (fieldsArg && (0, ast_1.isArrayExpr)(fieldsArg)) {
248
+ return fieldsArg.items
249
+ .filter((item) => (0, ast_1.isReferenceExpr)(item))
250
+ .map((item) => item.target.ref);
251
+ }
252
+ }
253
+ return [];
254
+ }
255
+ exports.getForeignKeyFields = getForeignKeyFields;
256
+ /**
257
+ * Gets the relation field of the given foreign key field.
258
+ */
259
+ function getRelationField(fkField) {
260
+ const model = fkField.$container;
261
+ return model.fields.find((f) => {
262
+ const relAttr = f.attributes.find((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@relation'; });
263
+ if (relAttr) {
264
+ const fieldsArg = getAttributeArg(relAttr, 'fields');
265
+ if (fieldsArg && (0, ast_1.isArrayExpr)(fieldsArg)) {
266
+ return fieldsArg.items.some((item) => (0, ast_1.isReferenceExpr)(item) && item.target.ref === fkField);
267
+ }
268
+ }
269
+ return false;
270
+ });
271
+ }
272
+ exports.getRelationField = getRelationField;
236
273
  function resolvePath(_path, options) {
237
274
  if (path_1.default.isAbsolute(_path)) {
238
275
  return _path;
239
276
  }
240
277
  else {
241
- return path_1.default.join(path_1.default.dirname(options.schemaPath), _path);
278
+ return path_1.default.resolve(path_1.default.dirname(options.schemaPath), _path);
242
279
  }
243
280
  }
244
281
  exports.resolvePath = resolvePath;
@@ -250,8 +287,8 @@ function requireOption(options, name, pluginName) {
250
287
  return value;
251
288
  }
252
289
  exports.requireOption = requireOption;
253
- function parseOptionAsStrings(options, optionaName, pluginName) {
254
- const value = options[optionaName];
290
+ function parseOptionAsStrings(options, optionName, pluginName) {
291
+ const value = options[optionName];
255
292
  if (value === undefined) {
256
293
  return undefined;
257
294
  }
@@ -267,7 +304,7 @@ function parseOptionAsStrings(options, optionaName, pluginName) {
267
304
  return value;
268
305
  }
269
306
  else {
270
- throw new types_1.PluginError(pluginName, `Invalid "${optionaName}" option: must be a comma-separated string or an array of strings`);
307
+ throw new types_1.PluginError(pluginName, `Invalid "${optionName}" option: must be a comma-separated string or an array of strings`);
271
308
  }
272
309
  }
273
310
  exports.parseOptionAsStrings = parseOptionAsStrings;
@@ -289,9 +326,14 @@ function getFunctionExpressionContext(funcDecl) {
289
326
  exports.getFunctionExpressionContext = getFunctionExpressionContext;
290
327
  function isFutureExpr(node) {
291
328
  var _a;
292
- return !!((0, ast_1.isInvocationExpr)(node) && ((_a = node.function.ref) === null || _a === void 0 ? void 0 : _a.name) === 'future' && isFromStdlib(node.function.ref));
329
+ return (0, ast_1.isInvocationExpr)(node) && ((_a = node.function.ref) === null || _a === void 0 ? void 0 : _a.name) === 'future' && isFromStdlib(node.function.ref);
293
330
  }
294
331
  exports.isFutureExpr = isFutureExpr;
332
+ function isAuthInvocation(node) {
333
+ var _a;
334
+ return (0, ast_1.isInvocationExpr)(node) && ((_a = node.function.ref) === null || _a === void 0 ? void 0 : _a.name) === 'auth' && isFromStdlib(node.function.ref);
335
+ }
336
+ exports.isAuthInvocation = isAuthInvocation;
295
337
  function isFromStdlib(node) {
296
338
  const model = getContainingModel(node);
297
339
  return !!model && !!model.$document && model.$document.uri.path.endsWith(constants_1.STD_LIB_MODULE_NAME);
@@ -324,4 +366,69 @@ function getAuthModel(dataModels) {
324
366
  return authModel;
325
367
  }
326
368
  exports.getAuthModel = getAuthModel;
369
+ function isDelegateModel(node) {
370
+ return (0, ast_1.isDataModel)(node) && hasAttribute(node, '@@delegate');
371
+ }
372
+ exports.isDelegateModel = isDelegateModel;
373
+ function isDiscriminatorField(field) {
374
+ var _a, _b;
375
+ const model = (_a = field.$inheritedFrom) !== null && _a !== void 0 ? _a : field.$container;
376
+ const delegateAttr = getAttribute(model, '@@delegate');
377
+ if (!delegateAttr) {
378
+ return false;
379
+ }
380
+ const arg = (_b = delegateAttr.args[0]) === null || _b === void 0 ? void 0 : _b.value;
381
+ return isDataModelFieldReference(arg) && arg.target.$refText === field.name;
382
+ }
383
+ exports.isDiscriminatorField = isDiscriminatorField;
384
+ function getIdFields(dataModel) {
385
+ const fieldLevelId = getModelFieldsWithBases(dataModel).find((f) => f.attributes.some((attr) => attr.decl.$refText === '@id'));
386
+ if (fieldLevelId) {
387
+ return [fieldLevelId];
388
+ }
389
+ else {
390
+ // get model level @@id attribute
391
+ const modelIdAttr = dataModel.attributes.find((attr) => { var _a, _b; return ((_b = (_a = attr.decl) === null || _a === void 0 ? void 0 : _a.ref) === null || _b === void 0 ? void 0 : _b.name) === '@@id'; });
392
+ if (modelIdAttr) {
393
+ // get fields referenced in the attribute: @@id([field1, field2]])
394
+ if (!(0, ast_1.isArrayExpr)(modelIdAttr.args[0].value)) {
395
+ return [];
396
+ }
397
+ const argValue = modelIdAttr.args[0].value;
398
+ return argValue.items
399
+ .filter((expr) => (0, ast_1.isReferenceExpr)(expr) && !!getDataModelFieldReference(expr))
400
+ .map((expr) => expr.target.ref);
401
+ }
402
+ }
403
+ return [];
404
+ }
405
+ exports.getIdFields = getIdFields;
406
+ function getDataModelFieldReference(expr) {
407
+ if ((0, ast_1.isReferenceExpr)(expr) && (0, ast_1.isDataModelField)(expr.target.ref)) {
408
+ return expr.target.ref;
409
+ }
410
+ else if ((0, ast_1.isMemberAccessExpr)(expr) && (0, ast_1.isDataModelField)(expr.member.ref)) {
411
+ return expr.member.ref;
412
+ }
413
+ else {
414
+ return undefined;
415
+ }
416
+ }
417
+ exports.getDataModelFieldReference = getDataModelFieldReference;
418
+ function getModelFieldsWithBases(model) {
419
+ return [...model.fields, ...getRecursiveBases(model).flatMap((base) => base.fields)];
420
+ }
421
+ exports.getModelFieldsWithBases = getModelFieldsWithBases;
422
+ function getRecursiveBases(dataModel) {
423
+ const result = [];
424
+ dataModel.superTypes.forEach((superType) => {
425
+ const baseDecl = superType.ref;
426
+ if (baseDecl) {
427
+ result.push(baseDecl);
428
+ result.push(...getRecursiveBases(baseDecl));
429
+ }
430
+ });
431
+ return result;
432
+ }
433
+ exports.getRecursiveBases = getRecursiveBases;
327
434
  //# sourceMappingURL=utils.js.map
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,kDA+BkC;AAClC,gDAAwB;AACxB,2CAAqE;AACrE,mCAAsF;AAEtF;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAY,EAAE,cAAc,GAAG,KAAK;IAC9D,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,IAAA,iBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC;IACb,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAPD,sCAOC;AAED,SAAgB,QAAQ,CAAoB,GAAiB;IACzD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC;AACnB,CAAC;AALD,4BAKC;AAED,8DAA8D;AAC9D,SAAgB,UAAU,CACtB,IAAyC;IAEzC,QAAQ,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC;QAClB,KAAK,YAAY;YACb,OAAO,gBAAgB,CAAI,IAAI,CAAC,CAAC;QACrC,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB;YACjB,OAAO,IAAI,CAAC,KAAU,CAAC;QAC3B,KAAK,eAAe;YAChB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAM,CAAC;QACvC;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAdD,gCAcC;AAED,SAAgB,QAAQ,CAAC,IAAyC;IAC9D,OAAO,IAAA,iBAAW,EAAC,IAAI,CAAC,IAAI,IAAA,uBAAiB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAFD,4BAEC;AAED,SAAgB,eAAe,CAG7B,IAAyC;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,IAAI,CAAC,IAAI,UAAU,CAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAC/G,CAAC;AATD,0CASC;AAED,SAAgB,gBAAgB,CAAI,IAAyC;IACzE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,kBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,UAAmB,CAAC;QACxB,IAAI,IAAA,mBAAa,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAA,iBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,IAAA,kBAAY,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QACpC,CAAC;IACL,CAAC;IACD,OAAO,MAAW,CAAC;AACvB,CAAC;AArBD,4CAqBC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,KAAK,GAAG,CAAC;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC;IACnB,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,CAAC;AAHD,oCAGC;AAED,SAAgB,YAAY,CACxB,IAA+F,EAC/F,IAAY;IAEZ,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AALD,oCAKC;AAED,SAAgB,YAAY,CACxB,IAA+F,EAC/F,IAAY;IAEZ,OAAQ,IAAI,CAAC,UAA+D,CAAC,IAAI,CAC7E,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CACxC,CAAC;AACN,CAAC;AAPD,oCAOC;AAED,SAAgB,gBAAgB,CAC5B,IAAsE;IAEtE,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACtB,SAAS;QACb,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAXD,4CAWC;AAED,SAAgB,eAAe,CAC3B,IAAsE,EACtE,IAAY;;IAEZ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAA,MAAA,GAAG,CAAC,cAAc,0CAAE,IAAI,MAAK,IAAI,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAVD,0CAUC;AAED,SAAgB,sBAAsB,CAClC,IAAkD,EAClD,IAAY;;IAEZ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAA,MAAA,GAAG,CAAC,cAAc,0CAAE,IAAI,MAAK,IAAI,EAAE,CAAC;YACpC,OAAO,UAAU,CAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAVD,wDAUC;AAED,SAAgB,oBAAoB,CAAC,IAAa;IAC9C,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,IAAA,iBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAFD,oDAEC;AAED,SAAgB,yBAAyB,CAAC,IAAa;IACnD,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC;AAFD,8DAEC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAgB;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,cAAc,0CAAE,IAAI,MAAK,QAAQ,CAAA,EAAA,CAAC,CAAC;IAC/E,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,iBAAW,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK;SACvB,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAmB,CAAC,CAAC;AAChE,CAAC;AAbD,4CAaC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAgB;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACtF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,cAAc,0CAAE,IAAI,MAAK,QAAQ,CAAA,EAAA,CAAC,CAAC;IACnF,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,iBAAW,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK;SACvB,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAmB,CAAC,CAAC;AAChE,CAAC;AAbD,oDAaC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAqB;IAC3C,4BAA4B;IAC5B,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAuB,CAAC;IAE5C,mDAAmD;IACnD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,mEAAmE;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9E,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,gBAAgB,KAAK,KAAK,CAAC;IACtC,CAAC;IAED,yDAAyD;IACzD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAhCD,8BAgCC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAqB;;IACrD,OAAO,IAAA,iBAAW,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAqB;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAuB,CAAC;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,2BAA2B;QAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,WAAW,CAAA,EAAA,CAAC,CAAC;QACjF,IAAI,OAAO,EAAE,CAAC;YACV,oBAAoB;YACpB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,cAAc,0CAAE,IAAI,MAAK,QAAQ,CAAA,EAAA,CAAC,CAAC;YAEhF,IAAI,SAAS,IAAI,IAAA,iBAAW,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,kCAAkC;gBAClC,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAyB,EAAE;oBAC9D,IAAI,IAAA,qBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACJ,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAtBD,8CAsBC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,aAA6B;IAC7D,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,WAAW,CAAA,EAAA,CAAC,CAAC;IAC7F,IAAI,OAAO,EAAE,CAAC;QACV,oBAAoB;QACpB,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,SAAS,IAAI,IAAA,iBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC,KAAK;iBACjB,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAC;iBAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAqB,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAjBD,kDAiBC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAuB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAuB,CAAC;IAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,WAAW,CAAA,EAAA,CAAC,CAAC;QACjF,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,SAAS,IAAI,IAAA,iBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;YAChG,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAZD,4CAYC;AAED,SAAgB,WAAW,CAAC,KAAa,EAAE,OAA0C;IACjF,IAAI,cAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,CAAC;QACJ,OAAO,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAND,kCAMC;AAED,SAAgB,aAAa,CAAI,OAA8B,EAAE,IAAY,EAAE,UAAkB;IAC7F,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,mBAAW,CAAC,UAAU,EAAE,WAAW,OAAO,CAAC,IAAI,iCAAiC,IAAI,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,KAAU,CAAC;AACtB,CAAC;AAND,sCAMC;AAED,SAAgB,oBAAoB,CAAC,OAA8B,EAAE,UAAkB,EAAE,UAAkB;IACvG,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,yBAAyB;QACzB,OAAO,KAAK;aACP,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC3E,eAAe;QACf,OAAO,KAAiB,CAAC;IAC7B,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,mBAAW,CACjB,UAAU,EACV,YAAY,UAAU,mEAAmE,CAC5F,CAAC;IACN,CAAC;AACL,CAAC;AAnBD,oDAmBC;AAED,SAAgB,4BAA4B,CAAC,QAAsB;IAC/D,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,sBAAsB,CAAC,CAAC;IACnG,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,IAAI,IAAA,iBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAA6B,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAdD,oEAcC;AAED,SAAgB,YAAY,CAAC,IAAa;;IACtC,OAAO,IAAA,sBAAgB,EAAC,IAAI,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,MAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7G,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAAC,IAAa;;IAC1C,OAAO,IAAA,sBAAgB,EAAC,IAAI,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,MAAK,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC3G,CAAC;AAFD,4CAEC;AAED,SAAgB,YAAY,CAAC,IAAa;IACtC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAAmB,CAAC,CAAC;AAClG,CAAC;AAHD,oCAGC;AAED,SAAgB,kBAAkB,CAAC,IAAyB;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtE,CAAC;AALD,gDAKC;AAED,SAAgB,kBAAkB,CAAC,KAAY;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CACF,IAAA,qBAAe,EAAC,CAAC,CAAC;QAClB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAS,CAAC,CAAC,KAAK,CAAC,KAAK,kBAAkB,CAAC,CAC3E,CAAC;IAE/B,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAC1F,IAAI,oBAAoB,EAAE,CAAC;YACvB,OAAO,eAAe,CAAS,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,OAAO,EAAc,CAAC;AAC1B,CAAC;AAfD,gDAeC;AAED,SAAgB,YAAY,CAAC,UAAuB;IAChD,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAND,oCAMC;AAED,SAAgB,eAAe,CAAC,IAAa;IACzC,OAAO,IAAA,iBAAW,EAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACjE,CAAC;AAFD,0CAEC;AAED,SAAgB,oBAAoB,CAAC,KAAqB;;IACtD,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,cAAc,mCAAI,KAAK,CAAC,UAAU,CAAC;IACvD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,MAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC;IACxC,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC;AAChF,CAAC;AARD,oDAQC;AAED,SAAgB,WAAW,CAAC,SAAoB;IAC5C,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/D,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAC5D,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACJ,iCAAiC;QACjC,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,0CAAE,IAAI,MAAK,MAAM,CAAA,EAAA,CAAC,CAAC;QACzF,IAAI,WAAW,EAAE,CAAC;YACd,kEAAkE;YAClE,IAAI,CAAC,IAAA,iBAAW,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3C,OAAO,QAAQ,CAAC,KAAK;iBAChB,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;iBACpG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAqB,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AArBD,kCAqBC;AAED,SAAgB,0BAA0B,CAAC,IAAgB;IACvD,IAAI,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,CAAC;SAAM,IAAI,IAAA,wBAAkB,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AARD,gEAQC;AAED,SAAgB,uBAAuB,CAAC,KAAgB;IACpD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACzF,CAAC;AAFD,0DAEC;AAED,SAAgB,iBAAiB,CAAC,SAAoB;IAClD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAVD,8CAUC"}