@voxgig/apidef 5.11.0 → 6.1.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.
@@ -6,6 +6,7 @@ const jostraca_1 = require("jostraca");
6
6
  const struct_1 = require("@voxgig/struct");
7
7
  const utility_1 = require("../utility");
8
8
  const jostraca_2 = require("jostraca");
9
+ const entity_1 = require("../transform/entity");
9
10
  const KONSOLE_LOG = console['log'];
10
11
  // Log non - fatal wierdness.
11
12
  const dlog = (0, utility_1.getdlog)('apidef', __filename);
@@ -61,6 +62,13 @@ async function heuristic01(ctx) {
61
62
  throw result.err;
62
63
  }
63
64
  const guide = result.data.guide;
65
+ // Reassign single-segment collection paths (e.g. "/people") onto the entity
66
+ // that owns the per-instance path ("/people/{id}"). Heuristic discovery can
67
+ // split the two when response schemas wrap the resource in a search/pagination
68
+ // component. Running this here — before base-guide.jsonic is serialised —
69
+ // means the same merged layout flows into both guide-case (transformers off)
70
+ // and model-case (transformers on), so they agree on the final guide.
71
+ (0, entity_1.mergeCollectionPaths)(guide, ctx.log);
64
72
  const metrics = guide.metrics;
65
73
  const entities = Object.values(guide.entity);
66
74
  const entityCount = entities.length;
@@ -1 +1 @@
1
- {"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":";;AAyvDE,kCAAW;AAxvDb,+BAA2B;AAI3B,uCAA+B;AAE/B,2CAA6E;AA+B7E,wCAgBmB;AAEnB,uCAAkC;AAOlC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;AAGlC,6BAA6B;AAC7B,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAE1C,oFAAoF;AACpF,yCAAyC;AACzC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAClC,MAAM,mBAAmB,GAAG,IAAI,CAAA;AAIhC,MAAM,WAAW,GAA2B;IAC1C,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACnB,CAAA;AAED,MAAM,qBAAqB,GAA2B;IACpD,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;CACf,CAAA;AAID,KAAK,UAAU,WAAW,CAAC,GAAkB;IAE3C,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,IAAI,WAAI,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;QACxD,OAAO;QACP;YACE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC1B,WAAW;gBACX,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;gBACpC,WAAW;aACZ;SACF;QACD,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;QAC7C;YACE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE;gBAC/B,sBAAsB;gBACtB,iBAAiB;gBACjB,YAAY;gBACZ,WAAW;gBACX,gBAAgB;gBAChB,gBAAgB;gBAChB,YAAY;aACb;SACF;QACD,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE;KAC9C,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAEzC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,GAAG,CAAA;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,KAAK,MAAM,GAAG,IAAI,QAAiB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC3C,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,QAAQ,IAAI,IAAA,oBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;QACrD,CAAC;IACH,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACX,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,YAAY,WAAW,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACzD,YAAY,OAAO,CAAC,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5D,SAAS,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5B,iBAAiB,UAAU,eAAe,QAAQ,EAAE;KACvD,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAEd,CAAC;AAGD,SAAS,QAAQ,CAAC,IAAc;IAC9B,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACnD,CAAC;AAGD,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,KAAK,GAAU;QACnB,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,EAAE;aAChB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,GAAG,EAAE,EAAE;aACR;SACF;KACF,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;QACjB,KAAK;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,UAAU,EAAE,CAAC;iBACd;aACF;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAGD,4BAA4B;AAC5B,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,gCAAgC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE7B,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAEpB,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CACtB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAA;AAEH,CAAC;AAGD,qCAAqC;AACrC,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,kCAAkC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE/B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAA;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,QAAQ,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;oBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG;wBACvB,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,IAAA,kBAAQ,EAAC,GAAG,CAAC;qBACrB,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE7B,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxD,EAAE,EAAE,EAAE;KACP,CAAA;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAA;AAClC,CAAC;AAGD,SAAS,cAAc,CAAC,OAAY,EAAE,IAAc;IAClD,MAAM,GAAG,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;SACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAA;IAE1E,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC7E,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACnB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAA;QAEjC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,gBAAgB,CAAC,OAAY,EAAE,IAAc;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,8BAA8B;IAE9B;;;;;;;;;;;;;;;;;;;;;;MAsBE;IAEF,IAAI,MAAM,GAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAA,uBAAa,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAA,uBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAE9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI;gBACJ,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aACI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,CAAA;QACV,CAAC;aACI,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aACI,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,CAAA;QACV,CAAC;aACI,CAAC;YACJ,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;AAC7B,CAAC;AAGD,SAAS,sBAAsB,CAAC,IAAc;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAA;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAA;IAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;IAEzC,IAAI,OAAO,GAAa,EAAE,CAAA;IAE1B,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IAEnC,IAAI,SAAS,GAAU,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzF,GAAG;KACJ,CAAC,CAAC,CAAA;IAEH,IAAI,QAAQ,GAAG,SAAS;SACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC/E,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACtD,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC5C,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;YACd,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACnB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;QAEjC,mCAAmC;SAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAE7C,IAAI,UAAU,GAAG,QAAQ;SACtB,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,CAAC,GAAG,GAAG,IAAA,4BAAkB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEJ,IAAI,SAAS,GAAG,UAAU;SACvB,MAAM,CAAC,IAAI,CAAC,EAAE;QACb,IACE,UAAU,CAAC,MAAM,IAAI,CAAC;eACnB,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACvD,yDAAyD;eACtD,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EACtC,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,+DAA+D;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAA;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;QACjC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAExD,MAAM,UAAU,GACd,WAAW,GAAG,qBAAqB;eAChC,SAAS,GAAG,mBAAmB,CAAA;QAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EACzC,IAAI,CAAC,GAAG,EACR,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAC7C,OAAO,EAAE,SAAS,EAAE,mBAAmB,CACxC,CAAA;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAC,CAAA;IAEJ,iDAAiD;IAGjD,MAAM,IAAI,GAAQ,SAAS,CAAC,CAAC,CAAC,CAAA;IAE9B,IAAI,GAAG,GAAiC,SAAS,CAAA;IAEjD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,GAAG,GAAG,oBAAoB,CAAC;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,GAAG;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAA;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,CAAA;QAC3B,OAAO,CACL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,oBAAoB;eAC3C,IAAI,IAAI,IAAI,CAAC,6BAA6B;SAC9C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAEtF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAExB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE/C,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBAChB,GAAG,GAAG,oBAAoB,CAAC;oBACzB,GAAG,EAAE,KAAK;oBACV,GAAG,EAAE,OAAO,CAAC,KAAK;oBAClB,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB,CAAC,CAAA;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,CAAC;iBACI,IACH,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;mBAChF,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,KAAK,EAC5B,CAAC;gBACD,GAAG,GAAG,oBAAoB,CAAC;oBACzB,GAAG,EAAE,KAAK;oBACV,GAAG,EAAE,OAAO,CAAC,KAAK;oBAClB,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB,CAAC,CAAA;gBACF,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;QACrB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;QACnE,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClF,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAExF,SAAS,CAAC,YAAY,GAAG,GAAG,CAAA;IAC9B,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC7F,CAAC;AAID,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IAEtB,MAAM,KAAK,GAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAExB,IAAI,IAA+B,CAAA;IACnC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAEzB,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxB,KAAK,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAC7C,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;IAEtC,IAAI,OAAO,CAAA;IAEX,IAAI,EAAE,GAAG,SAAS,CAAA;IAElB,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC3D,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACzD,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;SAEI,CAAC;QACJ,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACjD,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;YAC9B,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAA;QACnD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,IAAA,6BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;QAC7D,IAAI,EAAE,OAAO;QACb,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/C,EAAE,EAAE,EAAE;QACN,QAAQ;QACR,GAAG,IAAI;KACR,CAAA;IAED,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;QAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACrB,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,EAAE;KACH,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;IACzD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAEZ,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAClD,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACxE,CAAC;AAID,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,oEAAoE;IACpE,0DAA0D;IAC1D,kEAAkE;IAClE,0FAA0F;IAC1F,gDAAgD;IAChD,mDAAmD;IAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACpD,QAAQ,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAEhE,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACzC,QAAQ,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAEjD,MAAM,kBAAkB,GAAG;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7D,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;KAC3E,CAAA;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAE5B,yEAAyE;IACzE,4EAA4E;IAC5E,uEAAuE;IACvE,oEAAoE;IACpE,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAClC,IAAI,CAAC,CAAC;gBAAE,SAAQ;YAChB,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,IAAA,kBAAO,EAAC,IAAA,4BAAkB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YACnE,IAAI,KAAK,KAAK,WAAW,IAAI,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClF,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;gBACjF,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAC/D,KAAK,EAAE,YAAY,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,sBAAsB;IACtB,MAAM,iBAAiB,GAAG,IAAA,mBAAS,EAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvD,IAAI,iBAAiB,EAAE,CAAC;QACtB,oBAAoB,EAAE,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;QACvC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAA;QACxC,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAA;IACzB,MAAM,WAAW,GACf,IAAI,IAAI,OAAO;QACf,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU;QAC5B,KAAK,CAAC,WAAW,GAAG,qBAAqB,CAAA;IAE3C,MAAM,UAAU,GAAG,EAAE,CAAA;IAErB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAE1B,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;YAEjD,MAAM,GAAG,GAAG,EAAE,CAAA;YAEd,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACzD,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YAE3E,MAAM,QAAQ,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAC3C,MAAM,cAAc,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YACjD,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAC5C,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAChE,MAAM,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAA;YACtC,MAAM,cAAc,GAClB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;mBACpB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;mBACvB,IAAA,kBAAQ,EAAC,QAAQ,CAAC,KAAK,UAAU,CAAA;YAEtC,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC3E,QAAQ;gBACR,cAAc;gBACd,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,YAAY;gBACZ,cAAc;aACf,CAAC,CAAA;YAEF,oDAAoD;YACpD,yBAAyB;YACzB,IACE,cAAc;mBACX,SAAS;mBACT,WAAW,EACd,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAExB,qBAAqB;gBACrB,IACE,cAAc;uBACX,CACD,CACE,UAAU,KAAK,OAAO,CAAC,IAAI;2BACxB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAC7C;wBACD,6BAA6B;2BAC1B,UAAU,KAAK,OAAO,CAC1B,EACD,CAAC;oBACD,0BAA0B;oBAC1B,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;oBACxC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAElB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAC/B,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAA;gBAC7D,CAAC;qBAEI,IAAI,SAAS,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBAC7C,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,eAAe,CAAC,CAAA;oBACxB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAC3B,CAAC;qBAEI,IAAI,SAAS,IAAI,UAAU,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,eAAe,CAAC,CAAA;oBACxB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAC3B,CAAC;qBAEI,CAAC;oBACJ,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,UAAU,GAAG,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,CAAA;oBAC7C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,sDAAsD;YAGtD,6BAA6B;YAC7B,mBAAmB;iBACd,IACH,QAAQ;mBACL,YAAY;mBACZ,CAAC,CAAC,SAAS;uBACT,CACD,UAAU,KAAK,OAAO,CAAC,IAAI;2BACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC,CAC3C,CACF;mBACE,CAAC,CAAC,WAAW,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7C,CAAC;gBACD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,GAAG,GAAG,UAAU;oBACxE,OAAO,GAAG,WAAW,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAA;gBACjE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpB,CAAC;YAED,4CAA4C;YAC5C,gCAAgC;iBAC3B,IACH,WAAW;mBACR,CAAC,GAAG,KAAK;mBACT,SAAS,EACZ,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAEtB,8CAA8C;gBAC9C,IACE,cAAc,EACd,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBAEvB,IACE,IAAI,KAAK,QAAQ;wBACjB,0CAA0C;2BACvC,IAAA,kBAAQ,EAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,EACrC,CAAC;wBACD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,YAAY,CAAC,CAAA;wBACrB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAEtB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAC/B,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;oBACtD,CAAC;yBACI,CAAC;wBACJ,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;oBAC5B,CAAC;gBACH,CAAC;gBAED,6BAA6B;qBACxB,IACH,SAAS;uBACN,UAAU,KAAK,OAAO,EACzB,CAAC;oBACD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,aAAa,CAAC,CAAA;oBAEtB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBACvB,gCAAgC;oBAChC,gDAAgD;gBAClD,CAAC;gBAED,mBAAmB;qBACd,CAAC;oBACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBAEnB,IAAI,YAAY,GAAG,UAAU,GAAG,KAAK,CAAA;oBACrC,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;wBAC7B,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,YAAY,EAAE,aAAa,CAAC,CAAA;wBAC9B,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;wBAEvB,wCAAwC;wBACxC,gDAAgD;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEhB,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACtB,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC1C,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzC,CAAC;YAED,sCAAsC;YACtC,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAC3C;gBACE,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,GAAG;gBACH,QAAQ;gBACR,QAAQ;gBACR,cAAc;gBACd,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,YAAY;gBACZ,cAAc;gBACd,WAAW;gBACX,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,OAAO;gBACP,kBAAkB;gBAClB,OAAO;aACR,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,oBAAoB,EAAE,CAAA;IAEtB,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;IACvC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAA;IACxC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;AAC/B,CAAC;AAGD,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,mDAAmD;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACzC,QAAQ,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;IAEnD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9C,MAAM,mBAAmB,GAAG,IAAA,kBAAQ,EAAC,cAAc,CAAC,CAAA;IACpD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC7C,MAAM,kBAAkB,GAAG,IAAA,kBAAQ,EAAC,aAAa,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9C,MAAM,mBAAmB,GAAG,IAAA,kBAAQ,EAAC,cAAc,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,MAAM,aAAa,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAA;IAExC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IAEpB,0EAA0E;IAC1E,IACE,mBAAmB,KAAK,GAAG;WACxB,mBAAmB,KAAK,IAAI,CAAC,OAAO;WACpC,mBAAmB,KAAK,OAAO,EAClC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED,2BAA2B;SACtB,IACH,kBAAkB,KAAK,GAAG;WACvB,kBAAkB,KAAK,IAAI,CAAC,OAAO;WACnC,kBAAkB,KAAK,OAAO,EACjC,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EACjE,oBAAoB,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,qCAAqC;SAChC,IACH,mBAAmB,KAAK,GAAG;WACxB,mBAAmB,KAAK,IAAI,CAAC,OAAO;WACpC,mBAAmB,KAAK,OAAO,EAClC,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7E,MAAM,aAAa,GAAG,cAAc,GAAG,GAAG,GAAG,QAAQ,CAAA;YACrD,MAAM,UAAU,GAAG,mBAAmB,GAAG,GAAG,GAAG,aAAa,CAAA;YAC5D,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EACnE,oBAAoB,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAEhG,yBAAyB;AAC3B,CAAC;AAGD,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,KAAK,GAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IACvC,MAAM,IAAI,GAAqB,KAAK,CAAC,YAAY,CAAA;IAEjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,KAAK,GAAa,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;IAEnD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,MAAM,MAAM,GAAa,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAEzC,IAAI,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,eAAe,GAAG,MAAM,CAAA;IAE5B,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAA;QAClC,OAAM;IACR,CAAC;IAED,qFAAqF;IACrF,qCAAqC;IAErC,0EAA0E;IAC1E,mCAAmC;IACnC,iEAAiE;IACjE,2BAA2B;IAC3B,mEAAmE;IACnE,gFAAgF;IAGhF,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACrD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;MAgBE;SAGG,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzB,CAAC;IAED,kCAAkC;IAElC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;IAExB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAA;IAEnC,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACzB,CAAA;IAED,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,6BAA6B;IAC7B,kCAAkC;SAC7B,CAAC;QACJ,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAA;IACtC,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;AACzF,CAAC;AAGD,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,mDAAmD;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAA;IAEtB,mDAAmD;IACnD,MAAM,SAAS,GAAwB;QACrC,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;KACf,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;IACxD,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,CAAA;IAEjE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA;QACnD,CAAC;aACI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACxD,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,CAAA;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;QACrD,CAAC;aACI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAA;QACjD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAA,gBAAO,EAAC,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA;IAClC,CAAC;AACH,CAAC;AAID,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE7B,MAAM,KAAK,GAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IACpC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAgC,KAAK,CAAC,MAAM,CAAA;IAE3D,MAAM,IAAI,GAA8B,EAAE,CAAA;IAE1C,MAAM,YAAY,GAAG,CAAC,QAAa,EAAE,EAAE;QACrC,MAAM,GAAG,GAAqC,EAAE,CAAA;QAChD,IAAA,eAAI,EAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAS,EAAE,EAAE;YACxC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACf,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;aACrD,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED,IAAA,eAAI,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAa,EAAE,OAAe,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE;gBACN,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC;aAC9B;YACD,EAAE,EAAE,QAAQ,CAAC,EAAE;SAChB,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,IAAI;KACL,CAAA;AAEH,CAAC;AAQD,SAAS,oBAAoB,CAC3B,IAAyC,EACzC,EAAa,EACb,KAAU,EACV,GAAa;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACvB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IACpC,IAAI,GAAG,GAAG,SAAS,CAAA;IAEnB,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;QAClB,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;SAEI,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACpD,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;YAClB,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;aACI,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;aACI,IAAI,CAAC,GAAG,IAAA,6BAAmB,EAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAClE,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;aACI,CAAC;YACJ,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAA;YACnD,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,mCAAmC;SAC9B,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACxB,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAAS,EAAE,EAAa;IAC3C,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAGD,SAAS,SAAS,CAAC,IAAS,EAAE,IAAY;IACxC,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAC3D,CAAC;AAGD,SAAS,kBAAkB,CAAC,KAAe,EAAE,OAAe;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAA,kBAAQ,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,OAAO,CAAC,CAAA;AAC/E,CAAC;AAGD,SAAS,mBAAmB,CAC1B,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,yCAAyC;IACzC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,mBAAmB,CAC1B,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,kBAAkB,CACzB,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,yCAAyC;IACzC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,mBAAmB,CAC1B,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACtB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,yCAAyC;IACzC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,oBAAoB,CAAC,WAAgB;IAC5C,OAAO,WAAW,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM;QACvD,WAAW,EAAE,MAAM,CAAA;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAa;IACtC,OAAO,QAAQ,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM;QACpD,QAAQ,EAAE,MAAM,CAAA;AACpB,CAAC;AAGD,SAAS,eAAe,CACtB,KAAU,EACV,KAAe,EACf,GAAa;IAGb,yEAAyE;IACzE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC3B,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAC1B,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,qEAAqE;AACrE,SAAS,oBAAoB,CAC3B,IAAkB,EAClB,KAAU,EACV,EAAa,EACb,GAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAA;IACjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAE/C,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;IACrE,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;IAExE,IAAI,QAAQ,GAAG,EAAE,CAAA;IAEjB,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,IAAI,UAAU,EAAE,CAAC;QACf,mEAAmE;QACnE,QAAQ,GAAG,OAAO,CAAA;QAClB,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;SAEI,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,IACE,MAAM,KAAK,KAAK,CAAC,MAAM;eACpB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAE3B,oEAAoE;YACpE,uCAAuC;eACpC,CAAC,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EACvD,CAAC;YACD,QAAQ,GAAG,MAAM,CAAA;YACjB,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;aAEI,IACH,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC;eACjD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC1B,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAA;YACnB,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;IACH,CAAC;SACI,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,QAAQ,GAAG,KAAK,CAAA;QAChB,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAElD,IAAA,mBAAS,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,0BAA0B,EAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEpD,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAA;IAExF,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,cAAc,CACrB,IAAyC,EACzC,OAAe,EACf,KAAU,EACV,GAAa;IAOb,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,IAAI,GAAG,GAAG;QACR,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;QAC7B,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI;KACd,CAAA;IAED,MAAM,aAAa,GAAG,CACpB,IAAI,CAAC,WAAW,GAAG,qBAAqB;WACrC,IAAI,CAAC,SAAS,GAAG,mBAAmB,CACxC,CAAA;IAED,IACE,IAAI,IAAI,IAAI,CAAC,GAAG;WACb,OAAO,IAAI,IAAI,CAAC,GAAG;WACnB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAChC,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACvB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;YACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;YACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,CAAC;aACI,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;YACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;YACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,CAAC;aACI,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;SAEI,IACH,QAAQ,KAAK,KAAK,CAAC,MAAM;WACtB,IAAI,IAAI,IAAI,CAAC,GAAG,EACnB,CAAC;QACD,IAAI,IAAI,GACN,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAE3D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACtB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;YAC1B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,CAAC;aACI,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;SAEI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,CAAC;IAED,IAAA,mBAAS,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI,EAC/D,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAC5C,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;IAE7C,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,SAAS,eAAe,CAAC,IAA6B,EAAE,OAAe;IACrE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAA;QACrC,IAAA,eAAI,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAiB,EAAE,OAAe,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;YAExD,KAAK;iBACF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC1D,CAAC;AAMD,SAAS,cAAc,CACrB,KAA0B,EAC1B,OAAe,EACf,GAAa;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;IAElB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,MAAM,CAAA;IAEV,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,CAAC;SACI,CAAC;QACJ,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;QACjE,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAEpC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,CAAC;aACI,CAAC;YACJ,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACjB,MAAM,GAAG,IAAI,CAAA;YACf,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;gBAElD,IAAA,eAAI,EAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC1B,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;wBACnC,MAAM,GAAG,IAAI,CAAA;oBACf,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAGD,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAEhE,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,uBAAuB,CAAC,MAAW;IAC1C,IAAI,UAAU,GAAwB,EAAE,CAAA;IAExC,gCAAgC;IAChC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAClD,UAAU,GAAG,IAAA,cAAK,EAAC,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,UAAU,GAAG,IAAA,cAAK,EAAC,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AASD,SAAS,YAAY,CACnB,UAAkB,EAClB,QAAgB,EAChB,UAAkB,EAClB,UAAsB,EACtB,QAAwB,EACxB,GAAW;IAEX;IACE,sCAAsC;IACtC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAC;WAC5C,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACtC,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG;YAC5B,sBAAsB;YACtB,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC;SACpF,CAAA;IACH,CAAC;AACH,CAAC;AAID,SAAS,iBAAiB,CACxB,GAAkB,EAClB,IAAyC,EACzC,IAAY,EACZ,MAAc,EACd,kBAGC,EACD,YAAoB,EACpB,YAAoB,EACpB,GAAW;IAEX,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAExD,IAAA,mBAAS,EAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;IAEjG,IAAI,IAAI,IAAI,eAAe,EAAE,CAAC;QAC5B,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;SACI,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;QACzC,oCAAoC;QACpC,0BAA0B;QAC1B,IAAI;IACN,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC;YACP,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG;YACnD,IAAI,EAAE,mCAAmC;gBACvC,YAAY,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI;gBAC5E,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI;gBACrD,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,MAAM;SAC9C,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAID,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAClE,CAAC;AAGD;;;;;;;EAOE;AAGF,SAAS,QAAQ,CACf,IAAyC,EACzC,OAAe,EACf,UAAoB,EACpB,IAAyB;IAEzB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAEhC,0BAA0B;IAE1B,IAAA,eAAI,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,EAAa,EAAE,EAAE;QACrB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE;YAC5B,IAAI,KAAK,GAAG,IAAA,cAAI,EAAE,EAAU,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YAG1C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAqB,EAAE,EAAE;gBAClC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;gBACpE,IAAI,CAAC,EAAE,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzD,CAAC,EAAE,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC;AAGD,SAAS,oBAAoB,CAAC,IAAyB;IACrD,IAAI,IAAI,GAAqB;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;QAEnC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAChD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;KAClC,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,uBAAuB,CAAC,OAAe,EAAE,UAAkB,EAAE,SAAc;IAClF,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/B,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QACpD,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7B,CAAC;iBACI,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAA;IAC9D,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAS,SAAS,CAAC,GAAQ,EAAE,OAAe,EAAE,UAAkB;IAC9D,MAAM,OAAO,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,CACZ,IAAI,IAAI,OAAO;WACZ,CACD,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;eACtC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAC7C,CACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":";;AAowDE,kCAAW;AAnwDb,+BAA2B;AAI3B,uCAA+B;AAE/B,2CAA6E;AA+B7E,wCAgBmB;AAEnB,uCAAkC;AAElC,gDAA0D;AAO1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;AAGlC,6BAA6B;AAC7B,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAE1C,oFAAoF;AACpF,yCAAyC;AACzC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAClC,MAAM,mBAAmB,GAAG,IAAI,CAAA;AAIhC,MAAM,WAAW,GAA2B;IAC1C,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACnB,CAAA;AAED,MAAM,qBAAqB,GAA2B;IACpD,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;CACf,CAAA;AAID,KAAK,UAAU,WAAW,CAAC,GAAkB;IAE3C,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,IAAI,WAAI,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;QACxD,OAAO;QACP;YACE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC1B,WAAW;gBACX,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;gBACpC,WAAW;aACZ;SACF;QACD,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;QAC7C;YACE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE;gBAC/B,sBAAsB;gBACtB,iBAAiB;gBACjB,YAAY;gBACZ,WAAW;gBACX,gBAAgB;gBAChB,gBAAgB;gBAChB,YAAY;aACb;SACF;QACD,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE;KAC9C,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAEzC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,GAAG,CAAA;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAA;IAE/B,4EAA4E;IAC5E,4EAA4E;IAC5E,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,sEAAsE;IACtE,IAAA,6BAAoB,EAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,KAAK,MAAM,GAAG,IAAI,QAAiB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC3C,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,QAAQ,IAAI,IAAA,oBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;QACrD,CAAC;IACH,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACX,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,YAAY,WAAW,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACzD,YAAY,OAAO,CAAC,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5D,SAAS,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5B,iBAAiB,UAAU,eAAe,QAAQ,EAAE;KACvD,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAEd,CAAC;AAGD,SAAS,QAAQ,CAAC,IAAc;IAC9B,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACnD,CAAC;AAGD,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,KAAK,GAAU;QACnB,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,EAAE;aAChB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,GAAG,EAAE,EAAE;aACR;SACF;KACF,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;QACjB,KAAK;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,UAAU,EAAE,CAAC;iBACd;aACF;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAGD,4BAA4B;AAC5B,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,gCAAgC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE7B,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAEpB,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CACtB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAA;AAEH,CAAC;AAGD,qCAAqC;AACrC,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,kCAAkC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE/B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAA;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,QAAQ,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;oBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG;wBACvB,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,IAAA,kBAAQ,EAAC,GAAG,CAAC;qBACrB,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE7B,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxD,EAAE,EAAE,EAAE;KACP,CAAA;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAA;AAClC,CAAC;AAGD,SAAS,cAAc,CAAC,OAAY,EAAE,IAAc;IAClD,MAAM,GAAG,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;SACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAA;IAE1E,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC7E,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACnB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAA;QAEjC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,gBAAgB,CAAC,OAAY,EAAE,IAAc;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,8BAA8B;IAE9B;;;;;;;;;;;;;;;;;;;;;;MAsBE;IAEF,IAAI,MAAM,GAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAA,uBAAa,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAA,uBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAE9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI;gBACJ,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aACI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,CAAA;QACV,CAAC;aACI,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aACI,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,CAAA;QACV,CAAC;aACI,CAAC;YACJ,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;AAC7B,CAAC;AAGD,SAAS,sBAAsB,CAAC,IAAc;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAA;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAA;IAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;IAEzC,IAAI,OAAO,GAAa,EAAE,CAAA;IAE1B,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IAEnC,IAAI,SAAS,GAAU,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzF,GAAG;KACJ,CAAC,CAAC,CAAA;IAEH,IAAI,QAAQ,GAAG,SAAS;SACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC/E,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACtD,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC5C,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;YACd,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACnB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;QAEjC,mCAAmC;SAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAE7C,IAAI,UAAU,GAAG,QAAQ;SACtB,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,CAAC,GAAG,GAAG,IAAA,4BAAkB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEJ,IAAI,SAAS,GAAG,UAAU;SACvB,MAAM,CAAC,IAAI,CAAC,EAAE;QACb,IACE,UAAU,CAAC,MAAM,IAAI,CAAC;eACnB,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACvD,yDAAyD;eACtD,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EACtC,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,+DAA+D;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAA;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;QACjC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAExD,MAAM,UAAU,GACd,WAAW,GAAG,qBAAqB;eAChC,SAAS,GAAG,mBAAmB,CAAA;QAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EACzC,IAAI,CAAC,GAAG,EACR,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAC7C,OAAO,EAAE,SAAS,EAAE,mBAAmB,CACxC,CAAA;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAC,CAAA;IAEJ,iDAAiD;IAGjD,MAAM,IAAI,GAAQ,SAAS,CAAC,CAAC,CAAC,CAAA;IAE9B,IAAI,GAAG,GAAiC,SAAS,CAAA;IAEjD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,GAAG,GAAG,oBAAoB,CAAC;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,GAAG;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAA;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,CAAA;QAC3B,OAAO,CACL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,oBAAoB;eAC3C,IAAI,IAAI,IAAI,CAAC,6BAA6B;SAC9C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAEtF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAExB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE/C,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBAChB,GAAG,GAAG,oBAAoB,CAAC;oBACzB,GAAG,EAAE,KAAK;oBACV,GAAG,EAAE,OAAO,CAAC,KAAK;oBAClB,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB,CAAC,CAAA;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,CAAC;iBACI,IACH,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;mBAChF,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,KAAK,EAC5B,CAAC;gBACD,GAAG,GAAG,oBAAoB,CAAC;oBACzB,GAAG,EAAE,KAAK;oBACV,GAAG,EAAE,OAAO,CAAC,KAAK;oBAClB,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB,CAAC,CAAA;gBACF,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;QACrB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;QACnE,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClF,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAExF,SAAS,CAAC,YAAY,GAAG,GAAG,CAAA;IAC9B,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC7F,CAAC;AAID,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IAEtB,MAAM,KAAK,GAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAExB,IAAI,IAA+B,CAAA;IACnC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAEzB,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxB,KAAK,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAC7C,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;IAEtC,IAAI,OAAO,CAAA;IAEX,IAAI,EAAE,GAAG,SAAS,CAAA;IAElB,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC3D,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACzD,CAAC;SAEI,IAAI,EAAE,GAAG,IAAA,mBAAS,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;SAEI,CAAC;QACJ,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACjD,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;YAC9B,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAA;QACnD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,IAAA,6BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;QAC7D,IAAI,EAAE,OAAO;QACb,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/C,EAAE,EAAE,EAAE;QACN,QAAQ;QACR,GAAG,IAAI;KACR,CAAA;IAED,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;QAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACrB,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,EAAE;KACH,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;IACzD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAEZ,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAClD,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACxE,CAAC;AAID,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,oEAAoE;IACpE,0DAA0D;IAC1D,kEAAkE;IAClE,0FAA0F;IAC1F,gDAAgD;IAChD,mDAAmD;IAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACpD,QAAQ,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAEhE,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACzC,QAAQ,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAEjD,MAAM,kBAAkB,GAAG;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7D,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;KAC3E,CAAA;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAE5B,yEAAyE;IACzE,4EAA4E;IAC5E,uEAAuE;IACvE,oEAAoE;IACpE,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAClC,IAAI,CAAC,CAAC;gBAAE,SAAQ;YAChB,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,IAAA,kBAAO,EAAC,IAAA,4BAAkB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YACnE,IAAI,KAAK,KAAK,WAAW,IAAI,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClF,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;gBACjF,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAC/D,KAAK,EAAE,YAAY,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,sBAAsB;IACtB,MAAM,iBAAiB,GAAG,IAAA,mBAAS,EAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvD,IAAI,iBAAiB,EAAE,CAAC;QACtB,oBAAoB,EAAE,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;QACvC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAA;QACxC,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAA;IACzB,MAAM,WAAW,GACf,IAAI,IAAI,OAAO;QACf,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU;QAC5B,KAAK,CAAC,WAAW,GAAG,qBAAqB,CAAA;IAE3C,MAAM,UAAU,GAAG,EAAE,CAAA;IAErB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAE1B,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;YAEjD,MAAM,GAAG,GAAG,EAAE,CAAA;YAEd,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACzD,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YAE3E,MAAM,QAAQ,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAC3C,MAAM,cAAc,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YACjD,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAC5C,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAChE,MAAM,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAA;YACtC,MAAM,cAAc,GAClB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;mBACpB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;mBACvB,IAAA,kBAAQ,EAAC,QAAQ,CAAC,KAAK,UAAU,CAAA;YAEtC,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC3E,QAAQ;gBACR,cAAc;gBACd,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,YAAY;gBACZ,cAAc;aACf,CAAC,CAAA;YAEF,oDAAoD;YACpD,yBAAyB;YACzB,IACE,cAAc;mBACX,SAAS;mBACT,WAAW,EACd,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAExB,qBAAqB;gBACrB,IACE,cAAc;uBACX,CACD,CACE,UAAU,KAAK,OAAO,CAAC,IAAI;2BACxB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAC7C;wBACD,6BAA6B;2BAC1B,UAAU,KAAK,OAAO,CAC1B,EACD,CAAC;oBACD,0BAA0B;oBAC1B,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;oBACxC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAElB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAC/B,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAA;gBAC7D,CAAC;qBAEI,IAAI,SAAS,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBAC7C,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,eAAe,CAAC,CAAA;oBACxB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAC3B,CAAC;qBAEI,IAAI,SAAS,IAAI,UAAU,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,eAAe,CAAC,CAAA;oBACxB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAC3B,CAAC;qBAEI,CAAC;oBACJ,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,UAAU,GAAG,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,CAAA;oBAC7C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,sDAAsD;YAGtD,6BAA6B;YAC7B,mBAAmB;iBACd,IACH,QAAQ;mBACL,YAAY;mBACZ,CAAC,CAAC,SAAS;uBACT,CACD,UAAU,KAAK,OAAO,CAAC,IAAI;2BACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC,CAC3C,CACF;mBACE,CAAC,CAAC,WAAW,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7C,CAAC;gBACD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,GAAG,GAAG,UAAU;oBACxE,OAAO,GAAG,WAAW,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAA;gBACjE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpB,CAAC;YAED,4CAA4C;YAC5C,gCAAgC;iBAC3B,IACH,WAAW;mBACR,CAAC,GAAG,KAAK;mBACT,SAAS,EACZ,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAEtB,8CAA8C;gBAC9C,IACE,cAAc,EACd,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBAEvB,IACE,IAAI,KAAK,QAAQ;wBACjB,0CAA0C;2BACvC,IAAA,kBAAQ,EAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,EACrC,CAAC;wBACD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,YAAY,CAAC,CAAA;wBACrB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAEtB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAC/B,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;oBACtD,CAAC;yBACI,CAAC;wBACJ,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;oBAC5B,CAAC;gBACH,CAAC;gBAED,6BAA6B;qBACxB,IACH,SAAS;uBACN,UAAU,KAAK,OAAO,EACzB,CAAC;oBACD,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,IAAI,EAAE,aAAa,CAAC,CAAA;oBAEtB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBACvB,gCAAgC;oBAChC,gDAAgD;gBAClD,CAAC;gBAED,mBAAmB;qBACd,CAAC;oBACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBAEnB,IAAI,YAAY,GAAG,UAAU,GAAG,KAAK,CAAA;oBACrC,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;wBAC7B,iBAAiB,CACf,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAC5D,YAAY,EAAE,aAAa,CAAC,CAAA;wBAC9B,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;wBAEvB,wCAAwC;wBACxC,gDAAgD;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEhB,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACtB,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC1C,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzC,CAAC;YAED,sCAAsC;YACtC,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAC3C;gBACE,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,GAAG;gBACH,QAAQ;gBACR,QAAQ;gBACR,cAAc;gBACd,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,YAAY;gBACZ,cAAc;gBACd,WAAW;gBACX,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,OAAO;gBACP,kBAAkB;gBAClB,OAAO;aACR,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,oBAAoB,EAAE,CAAA;IAEtB,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;IACvC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAA;IACxC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;AAC/B,CAAC;AAGD,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,mDAAmD;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACzC,QAAQ,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;IAEnD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9C,MAAM,mBAAmB,GAAG,IAAA,kBAAQ,EAAC,cAAc,CAAC,CAAA;IACpD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC7C,MAAM,kBAAkB,GAAG,IAAA,kBAAQ,EAAC,aAAa,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9C,MAAM,mBAAmB,GAAG,IAAA,kBAAQ,EAAC,cAAc,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,MAAM,aAAa,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAA;IAExC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IAEpB,0EAA0E;IAC1E,IACE,mBAAmB,KAAK,GAAG;WACxB,mBAAmB,KAAK,IAAI,CAAC,OAAO;WACpC,mBAAmB,KAAK,OAAO,EAClC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED,2BAA2B;SACtB,IACH,kBAAkB,KAAK,GAAG;WACvB,kBAAkB,KAAK,IAAI,CAAC,OAAO;WACnC,kBAAkB,KAAK,OAAO,EACjC,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EACjE,oBAAoB,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,qCAAqC;SAChC,IACH,mBAAmB,KAAK,GAAG;WACxB,mBAAmB,KAAK,IAAI,CAAC,OAAO;WACpC,mBAAmB,KAAK,OAAO,EAClC,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7E,MAAM,aAAa,GAAG,cAAc,GAAG,GAAG,GAAG,QAAQ,CAAA;YACrD,MAAM,UAAU,GAAG,mBAAmB,GAAG,GAAG,GAAG,aAAa,CAAA;YAC5D,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EACnE,oBAAoB,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAEhG,yBAAyB;AAC3B,CAAC;AAGD,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,KAAK,GAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IACvC,MAAM,IAAI,GAAqB,KAAK,CAAC,YAAY,CAAA;IAEjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,KAAK,GAAa,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;IAEnD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,MAAM,MAAM,GAAa,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAEzC,IAAI,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,eAAe,GAAG,MAAM,CAAA;IAE5B,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAA;QAClC,OAAM;IACR,CAAC;IAED,qFAAqF;IACrF,qCAAqC;IAErC,0EAA0E;IAC1E,mCAAmC;IACnC,iEAAiE;IACjE,2BAA2B;IAC3B,mEAAmE;IACnE,gFAAgF;IAGhF,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACrD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;MAgBE;SAGG,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzB,CAAC;IAED,kCAAkC;IAElC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;IAExB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAA;IAEnC,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACzB,CAAA;IAED,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,6BAA6B;IAC7B,kCAAkC;SAC7B,CAAC;QACJ,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAA;IACtC,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;AACzF,CAAC;AAGD,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,mDAAmD;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAA;IAEtB,mDAAmD;IACnD,MAAM,SAAS,GAAwB;QACrC,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;KACf,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;IACxD,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,CAAA;IAEjE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA;QACnD,CAAC;aACI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACxD,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,CAAA;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;QACrD,CAAC;aACI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAA;QACjD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAA,gBAAO,EAAC,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA;IAClC,CAAC;AACH,CAAC;AAID,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAE7B,MAAM,KAAK,GAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IACpC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAgC,KAAK,CAAC,MAAM,CAAA;IAE3D,MAAM,IAAI,GAA8B,EAAE,CAAA;IAE1C,MAAM,YAAY,GAAG,CAAC,QAAa,EAAE,EAAE;QACrC,MAAM,GAAG,GAAqC,EAAE,CAAA;QAChD,IAAA,eAAI,EAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAS,EAAE,EAAE;YACxC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACf,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;aACrD,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED,IAAA,eAAI,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAa,EAAE,OAAe,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE;gBACN,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC;aAC9B;YACD,EAAE,EAAE,QAAQ,CAAC,EAAE;SAChB,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,IAAI;KACL,CAAA;AAEH,CAAC;AAQD,SAAS,oBAAoB,CAC3B,IAAyC,EACzC,EAAa,EACb,KAAU,EACV,GAAa;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACvB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IACpC,IAAI,GAAG,GAAG,SAAS,CAAA;IAEnB,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;QAClB,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;SAEI,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACpD,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;YAClB,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;aACI,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;aACI,IAAI,CAAC,GAAG,IAAA,6BAAmB,EAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAClE,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;aACI,CAAC;YACJ,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAA;YACnD,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,mCAAmC;SAC9B,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACxB,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAAS,EAAE,EAAa;IAC3C,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAO,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAGD,SAAS,SAAS,CAAC,IAAS,EAAE,IAAY;IACxC,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAC3D,CAAC;AAGD,SAAS,kBAAkB,CAAC,KAAe,EAAE,OAAe;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAA,kBAAQ,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,OAAO,CAAC,CAAA;AAC/E,CAAC;AAGD,SAAS,mBAAmB,CAC1B,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,yCAAyC;IACzC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,mBAAmB,CAC1B,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,kBAAkB,CACzB,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,yCAAyC;IACzC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,mBAAmB,CAC1B,IAAyC,EACzC,EAAa,EAAE,KAAU,EAAE,GAAa;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,aAAa,GAAG,CAAC,CAAA;IAEvB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACtB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,CAAA;IACtC,yCAAyC;IACzC,IAAI,OAAO,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAA;IAEpC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACnE,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,oBAAoB,CAAC,WAAgB;IAC5C,OAAO,WAAW,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM;QACvD,WAAW,EAAE,MAAM,CAAA;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAa;IACtC,OAAO,QAAQ,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM;QACpD,QAAQ,EAAE,MAAM,CAAA;AACpB,CAAC;AAGD,SAAS,eAAe,CACtB,KAAU,EACV,KAAe,EACf,GAAa;IAGb,yEAAyE;IACzE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC3B,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAC1B,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,qEAAqE;AACrE,SAAS,oBAAoB,CAC3B,IAAkB,EAClB,KAAU,EACV,EAAa,EACb,GAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAA;IACjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAE/C,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;IACrE,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;IAExE,IAAI,QAAQ,GAAG,EAAE,CAAA;IAEjB,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,IAAI,UAAU,EAAE,CAAC;QACf,mEAAmE;QACnE,QAAQ,GAAG,OAAO,CAAA;QAClB,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;SAEI,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,IACE,MAAM,KAAK,KAAK,CAAC,MAAM;eACpB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAE3B,oEAAoE;YACpE,uCAAuC;eACpC,CAAC,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EACvD,CAAC;YACD,QAAQ,GAAG,MAAM,CAAA;YACjB,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;aAEI,IACH,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC;eACjD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC1B,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAA;YACnB,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;IACH,CAAC;SACI,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,QAAQ,GAAG,KAAK,CAAA;QAChB,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAElD,IAAA,mBAAS,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,0BAA0B,EAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEpD,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAA;IAExF,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,cAAc,CACrB,IAAyC,EACzC,OAAe,EACf,KAAU,EACV,GAAa;IAOb,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAE/B,IAAI,GAAG,GAAG;QACR,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;QAC7B,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI;KACd,CAAA;IAED,MAAM,aAAa,GAAG,CACpB,IAAI,CAAC,WAAW,GAAG,qBAAqB;WACrC,IAAI,CAAC,SAAS,GAAG,mBAAmB,CACxC,CAAA;IAED,IACE,IAAI,IAAI,IAAI,CAAC,GAAG;WACb,OAAO,IAAI,IAAI,CAAC,GAAG;WACnB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAChC,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACvB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;YACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;YACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,CAAC;aACI,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;YACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;YACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,CAAC;aACI,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;SAEI,IACH,QAAQ,KAAK,KAAK,CAAC,MAAM;WACtB,IAAI,IAAI,IAAI,CAAC,GAAG,EACnB,CAAC;QACD,IAAI,IAAI,GACN,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAE3D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACtB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;YAC1B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,CAAC;aACI,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;SAEI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,CAAC;IAED,IAAA,mBAAS,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI,EAC/D,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAC5C,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;IAE7C,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,SAAS,eAAe,CAAC,IAA6B,EAAE,OAAe;IACrE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAA;QACrC,IAAA,eAAI,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAiB,EAAE,OAAe,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;YAExD,KAAK;iBACF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC1D,CAAC;AAMD,SAAS,cAAc,CACrB,KAA0B,EAC1B,OAAe,EACf,GAAa;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;IAElB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,MAAM,CAAA;IAEV,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,CAAC;SACI,CAAC;QACJ,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;QACjE,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAEpC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,CAAC;aACI,CAAC;YACJ,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACjB,MAAM,GAAG,IAAI,CAAA;YACf,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;gBAElD,IAAA,eAAI,EAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC1B,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;wBACnC,MAAM,GAAG,IAAI,CAAA;oBACf,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAGD,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAEhE,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,uBAAuB,CAAC,MAAW;IAC1C,IAAI,UAAU,GAAwB,EAAE,CAAA;IAExC,gCAAgC;IAChC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAClD,UAAU,GAAG,IAAA,cAAK,EAAC,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,UAAU,GAAG,IAAA,cAAK,EAAC,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AASD,SAAS,YAAY,CACnB,UAAkB,EAClB,QAAgB,EAChB,UAAkB,EAClB,UAAsB,EACtB,QAAwB,EACxB,GAAW;IAEX;IACE,sCAAsC;IACtC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAC;WAC5C,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACtC,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG;YAC5B,sBAAsB;YACtB,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC;SACpF,CAAA;IACH,CAAC;AACH,CAAC;AAID,SAAS,iBAAiB,CACxB,GAAkB,EAClB,IAAyC,EACzC,IAAY,EACZ,MAAc,EACd,kBAGC,EACD,YAAoB,EACpB,YAAoB,EACpB,GAAW;IAEX,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAExD,IAAA,mBAAS,EAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;IAEjG,IAAI,IAAI,IAAI,eAAe,EAAE,CAAC;QAC5B,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;SACI,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;QACzC,oCAAoC;QACpC,0BAA0B;QAC1B,IAAI;IACN,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC;YACP,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG;YACnD,IAAI,EAAE,mCAAmC;gBACvC,YAAY,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI;gBAC5E,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI;gBACrD,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,MAAM;SAC9C,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAID,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAClE,CAAC;AAGD;;;;;;;EAOE;AAGF,SAAS,QAAQ,CACf,IAAyC,EACzC,OAAe,EACf,UAAoB,EACpB,IAAyB;IAEzB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAEhC,0BAA0B;IAE1B,IAAA,eAAI,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,EAAa,EAAE,EAAE;QACrB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE;YAC5B,IAAI,KAAK,GAAG,IAAA,cAAI,EAAE,EAAU,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YAG1C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAqB,EAAE,EAAE;gBAClC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;gBACpE,IAAI,CAAC,EAAE,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzD,CAAC,EAAE,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC;AAGD,SAAS,oBAAoB,CAAC,IAAyB;IACrD,IAAI,IAAI,GAAqB;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;QAEnC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAChD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;KAClC,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,uBAAuB,CAAC,OAAe,EAAE,UAAkB,EAAE,SAAc;IAClF,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/B,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QACpD,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7B,CAAC;iBACI,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAA,mBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAA;IAC9D,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAS,SAAS,CAAC,GAAQ,EAAE,OAAe,EAAE,UAAkB;IAC9D,MAAM,OAAO,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,CACZ,IAAI,IAAI,OAAO;WACZ,CACD,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;eACtC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAC7C,CACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -2,10 +2,11 @@ import type { Transform } from '../transform';
2
2
  import type { GuideEntity } from '../types';
3
3
  import type { PathDesc } from '../desc';
4
4
  declare const entityTransform: Transform;
5
+ declare function mergeCollectionPaths(guide: any, log?: any): void;
5
6
  declare function resolvePathList(guideEntity: GuideEntity, def: {
6
7
  paths: Record<string, any>;
7
8
  }): PathDesc[];
8
9
  declare function buildRelations(guideEntity: any, paths$: PathDesc[]): {
9
10
  ancestors: any[];
10
11
  };
11
- export { resolvePathList, buildRelations, entityTransform, };
12
+ export { resolvePathList, buildRelations, entityTransform, mergeCollectionPaths, };
@@ -3,12 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.entityTransform = void 0;
4
4
  exports.resolvePathList = resolvePathList;
5
5
  exports.buildRelations = buildRelations;
6
+ exports.mergeCollectionPaths = mergeCollectionPaths;
6
7
  const jostraca_1 = require("jostraca");
7
8
  const types_1 = require("../types");
9
+ const utility_1 = require("../utility");
8
10
  const entityTransform = async function (ctx) {
9
11
  const { apimodel, guide } = ctx;
10
12
  const kit = apimodel.main[types_1.KIT];
11
13
  let msg = '';
14
+ // Pre-pass: merge collection paths into the entity that owns the
15
+ // per-instance paths. Heuristic01 sometimes assigns "/people" to a
16
+ // separate "*_search" entity (because the response wraps Person in
17
+ // a search/pagination component) while "/people/{id}" and
18
+ // "/people/{id}/anime" land on "person". Result: the person entity has
19
+ // no primary list endpoint, so direct-load tests can't bootstrap an
20
+ // ID. Move "/people" onto person here; this also clears the way for
21
+ // sensible flow generation (one entity, one collection, multiple
22
+ // sub-resources).
23
+ mergeCollectionPaths(guide, ctx.log);
12
24
  (0, jostraca_1.each)(guide.entity, (guideEntity, entname) => {
13
25
  ctx.log.debug({ point: 'guide-entity', note: entname });
14
26
  const paths$ = resolvePathList(guideEntity, ctx.def);
@@ -25,6 +37,103 @@ const entityTransform = async function (ctx) {
25
37
  return { ok: true, msg };
26
38
  };
27
39
  exports.entityTransform = entityTransform;
40
+ // Move "/X" paths onto the entity that owns "/X/{id}" or "/X/{id}/sub".
41
+ // Only acts when the path "/X" sits on a different entity than the
42
+ // per-instance paths — leaves correctly-classified APIs alone.
43
+ function mergeCollectionPaths(guide, log) {
44
+ const entities = guide.entity;
45
+ // First pass: build collectionRoot -> owner-entity-name map.
46
+ // owner is the entity whose name contains "/X/{...}" paths; we prefer
47
+ // the owner whose direct-load path is "/X/{id}" (no further segments)
48
+ // so that nested-resource entities don't claim the root.
49
+ const rootOwners = {};
50
+ for (const [ename, entity] of Object.entries(entities)) {
51
+ for (const pathStr of Object.keys(entity.path ?? {})) {
52
+ // Match /A/{...} or /A/{...}/...
53
+ const m = pathStr.match(/^\/([^\/{}]+)\/\{[^}]+\}(\/.*)?$/);
54
+ if (!m)
55
+ continue;
56
+ const root = m[1];
57
+ const trailing = m[2] ?? '';
58
+ // Depth = number of segments after the {id} placeholder. Lower
59
+ // depth wins (e.g. "/people/{id}" beats "/people/{id}/anime").
60
+ const depth = trailing === '' ? 0 : trailing.split('/').filter(Boolean).length;
61
+ const cur = rootOwners[root];
62
+ if (!cur || depth < cur.depth) {
63
+ rootOwners[root] = { ename, depth };
64
+ }
65
+ }
66
+ }
67
+ // Second pass: for each entity with a "/X" path, if X has an owner
68
+ // elsewhere, move the path there.
69
+ for (const [ename, entity] of Object.entries(entities)) {
70
+ if (entity.path == null)
71
+ continue;
72
+ const pathsToMove = [];
73
+ for (const pathStr of Object.keys(entity.path)) {
74
+ // Match exactly /X (one literal segment, no params).
75
+ const m = pathStr.match(/^\/([^\/{}]+)$/);
76
+ if (!m)
77
+ continue;
78
+ const root = m[1];
79
+ const owner = rootOwners[root];
80
+ if (owner && owner.ename !== ename) {
81
+ pathsToMove.push(pathStr);
82
+ }
83
+ }
84
+ for (const pathStr of pathsToMove) {
85
+ const owner = rootOwners[pathStr.slice(1)];
86
+ const targetEntity = entities[owner.ename];
87
+ if (targetEntity == null)
88
+ continue;
89
+ targetEntity.path = targetEntity.path ?? {};
90
+ const srcPath = entity.path[pathStr];
91
+ const tgtPath = targetEntity.path[pathStr];
92
+ if (tgtPath == null) {
93
+ targetEntity.path[pathStr] = srcPath;
94
+ }
95
+ else {
96
+ // Target already owns this path under a different heuristic-discovered
97
+ // entity (e.g. `/gists` GET on `base_gist`, `/gists` POST on `gist`).
98
+ // Merge op/action/rename sets so no method is silently lost — without
99
+ // this, the second source's contribution drops on the floor and the
100
+ // base-guide loses paths that were in the original spec.
101
+ if (srcPath?.op) {
102
+ tgtPath.op = tgtPath.op ?? {};
103
+ for (const opname of Object.keys(srcPath.op)) {
104
+ if (tgtPath.op[opname] == null) {
105
+ tgtPath.op[opname] = srcPath.op[opname];
106
+ }
107
+ }
108
+ }
109
+ if (srcPath?.action) {
110
+ tgtPath.action = tgtPath.action ?? {};
111
+ for (const aname of Object.keys(srcPath.action)) {
112
+ if (tgtPath.action[aname] == null) {
113
+ tgtPath.action[aname] = srcPath.action[aname];
114
+ }
115
+ }
116
+ }
117
+ if (srcPath?.rename?.param) {
118
+ tgtPath.rename = tgtPath.rename ?? {};
119
+ tgtPath.rename.param = tgtPath.rename.param ?? {};
120
+ for (const p of Object.keys(srcPath.rename.param)) {
121
+ if (tgtPath.rename.param[p] == null) {
122
+ tgtPath.rename.param[p] = srcPath.rename.param[p];
123
+ }
124
+ }
125
+ }
126
+ }
127
+ delete entity.path[pathStr];
128
+ log?.debug?.({
129
+ point: 'merge-collection-path',
130
+ path: pathStr,
131
+ from: ename,
132
+ to: owner.ename,
133
+ });
134
+ }
135
+ }
136
+ }
28
137
  function resolvePathList(guideEntity, def) {
29
138
  const paths$ = [];
30
139
  (0, jostraca_1.each)(guideEntity.path, (guidePath, orig) => {
@@ -49,9 +158,23 @@ function resolvePathList(guideEntity, def) {
49
158
  return paths$;
50
159
  }
51
160
  function buildRelations(guideEntity, paths$) {
161
+ // An ancestor is a literal collection segment (e.g. "rems") followed by
162
+ // a path-param placeholder that names an instance ID. We only collect
163
+ // the literal parts — placeholder parts like "{año}" must be excluded
164
+ // even when they're themselves followed by another placeholder, otherwise
165
+ // downstream code treats `{año}` as an ancestor name and emits broken
166
+ // idmap entries / match keys.
167
+ //
168
+ // Each captured segment is then normalised to its entity name —
169
+ // depluralize+snakify — so that "files"/"audit-log" become "file"/"audit_log",
170
+ // i.e. the same keys downstream code uses to look up entities. Without this,
171
+ // `apimodel.main.kit.entity[ancestorName]` misses the parent entity for
172
+ // pluralised path segments.
52
173
  let ancestors = paths$
53
174
  .map(pli => pli.parts
54
- .map((p, i) => (pli.parts[i + 1]?.[0] === '{' && pli.parts[i + 1] !== '{id}') ? p : null)
175
+ .map((p, i) => ('{' !== p[0] &&
176
+ pli.parts[i + 1]?.[0] === '{' &&
177
+ pli.parts[i + 1] !== '{id}') ? (0, utility_1.depluralize)((0, jostraca_1.snakify)(p)) : null)
55
178
  .filter(p => null != p))
56
179
  .filter(n => 0 < n.length)
57
180
  .sort((a, b) => a.length - b.length);
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/transform/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/transform/entity.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,14 @@ const topTransform = async function (ctx) {
24
24
  url: (def.schemes?.[0] ?? 'https') + '://' + (0, struct_1.join)([def.host, def.basePath], '/', true)
25
25
  });
26
26
  }
27
+ // A usable SDK requires a base URL. OpenAPI 3 puts it in `servers[].url`;
28
+ // Swagger 2 derives it from `host` + `basePath`. If neither yields a
29
+ // non-empty url, the generated SDK has no way to issue requests, so fail
30
+ // the apidef model build rather than emit broken code.
31
+ const firstServerUrl = kit.info.servers?.[0]?.url;
32
+ if (null == firstServerUrl || '' === String(firstServerUrl).trim()) {
33
+ throw new Error('apidef: no server URL found in API definition (servers[0].url is required).');
34
+ }
27
35
  return { ok: true, msg: 'top' };
28
36
  };
29
37
  exports.topTransform = topTransform;
@@ -1 +1 @@
1
- {"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AACA,2CAAqC;AAErC,oCAA8B;AAmB9B,6BAA6B;AAC7B,yCAAyC;AACzC,8BAA8B;AAC9B,gCAAgC;AAGhC,uBAAuB;AACvB,kBAAkB;AAClB,oCAAoC;AAEpC,uBAAuB;AACvB,iCAAiC;AACjC,IAAI;AAGJ,MAAM,YAAY,GAAG,KAAK,WACxB,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IAC7B,MAAM,GAAG,GAAa,QAAQ,CAAC,IAAI,CAAC,WAAG,CAAC,CAAA;IAExC,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAE1D,cAAc;IACd,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAA,aAAI,EAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;SACvF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC,CAAA;AA4BC,oCAAY;AAzBd,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,sDAAsD;AACtD,SAAS,oBAAoB,CAAC,IAAS;IACrC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAC9D,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAQD,gBAAgB;AAChB,iBAAiB;AACjB,IAAI"}
1
+ {"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AACA,2CAAqC;AAErC,oCAA8B;AAmB9B,6BAA6B;AAC7B,yCAAyC;AACzC,8BAA8B;AAC9B,gCAAgC;AAGhC,uBAAuB;AACvB,kBAAkB;AAClB,oCAAoC;AAEpC,uBAAuB;AACvB,iCAAiC;AACjC,IAAI;AAGJ,MAAM,YAAY,GAAG,KAAK,WACxB,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IAC7B,MAAM,GAAG,GAAa,QAAQ,CAAC,IAAI,CAAC,WAAG,CAAC,CAAA;IAExC,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAE1D,cAAc;IACd,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAA,aAAI,EAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;SACvF,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,cAAc,GAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IACtD,IAAI,IAAI,IAAI,cAAc,IAAI,EAAE,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAA;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC,CAAA;AA4BC,oCAAY;AAzBd,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,sDAAsD;AACtD,SAAS,oBAAoB,CAAC,IAAS;IACrC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAC9D,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAQD,gBAAgB;AAChB,iBAAiB;AACjB,IAAI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/apidef",
3
- "version": "5.11.0",
3
+ "version": "6.1.1",
4
4
  "main": "dist/apidef.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/apidef.d.ts",
@@ -40,7 +40,7 @@
40
40
  "LICENSE"
41
41
  ],
42
42
  "devDependencies": {
43
- "@types/node": "25.6.0",
43
+ "@types/node": "25.7.0",
44
44
  "typescript": "6.0.3"
45
45
  },
46
46
  "peerDependencies": {
@@ -56,6 +56,8 @@ import {
56
56
 
57
57
  import { snakify } from 'jostraca'
58
58
 
59
+ import { mergeCollectionPaths } from '../transform/entity'
60
+
59
61
  import type {
60
62
  PathMatch
61
63
  } from '../utility'
@@ -130,6 +132,15 @@ async function heuristic01(ctx: ApiDefContext): Promise<Guide> {
130
132
  }
131
133
 
132
134
  const guide = result.data.guide
135
+
136
+ // Reassign single-segment collection paths (e.g. "/people") onto the entity
137
+ // that owns the per-instance path ("/people/{id}"). Heuristic discovery can
138
+ // split the two when response schemas wrap the resource in a search/pagination
139
+ // component. Running this here — before base-guide.jsonic is serialised —
140
+ // means the same merged layout flows into both guide-case (transformers off)
141
+ // and model-case (transformers on), so they agree on the final guide.
142
+ mergeCollectionPaths(guide, ctx.log)
143
+
133
144
  const metrics = guide.metrics
134
145
 
135
146
  const entities = Object.values(guide.entity)
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- import { each } from 'jostraca'
3
+ import { each, snakify } from 'jostraca'
4
4
 
5
5
  import type { TransformResult, Transform } from '../transform'
6
6
 
@@ -21,6 +21,8 @@ import type {
21
21
  ModelEntity,
22
22
  } from '../model'
23
23
 
24
+ import { depluralize } from '../utility'
25
+
24
26
 
25
27
 
26
28
  const entityTransform: Transform = async function(
@@ -31,6 +33,17 @@ const entityTransform: Transform = async function(
31
33
 
32
34
  let msg = ''
33
35
 
36
+ // Pre-pass: merge collection paths into the entity that owns the
37
+ // per-instance paths. Heuristic01 sometimes assigns "/people" to a
38
+ // separate "*_search" entity (because the response wraps Person in
39
+ // a search/pagination component) while "/people/{id}" and
40
+ // "/people/{id}/anime" land on "person". Result: the person entity has
41
+ // no primary list endpoint, so direct-load tests can't bootstrap an
42
+ // ID. Move "/people" onto person here; this also clears the way for
43
+ // sensible flow generation (one entity, one collection, multiple
44
+ // sub-resources).
45
+ mergeCollectionPaths(guide, ctx.log)
46
+
34
47
  each(guide.entity, (guideEntity: GuideEntity, entname: string) => {
35
48
  ctx.log.debug({ point: 'guide-entity', note: entname })
36
49
 
@@ -53,6 +66,107 @@ const entityTransform: Transform = async function(
53
66
  }
54
67
 
55
68
 
69
+ // Move "/X" paths onto the entity that owns "/X/{id}" or "/X/{id}/sub".
70
+ // Only acts when the path "/X" sits on a different entity than the
71
+ // per-instance paths — leaves correctly-classified APIs alone.
72
+ function mergeCollectionPaths(guide: any, log?: any) {
73
+ const entities = guide.entity as Record<string, any>
74
+
75
+ // First pass: build collectionRoot -> owner-entity-name map.
76
+ // owner is the entity whose name contains "/X/{...}" paths; we prefer
77
+ // the owner whose direct-load path is "/X/{id}" (no further segments)
78
+ // so that nested-resource entities don't claim the root.
79
+ const rootOwners: Record<string, { ename: string, depth: number }> = {}
80
+
81
+ for (const [ename, entity] of Object.entries(entities)) {
82
+ for (const pathStr of Object.keys(entity.path ?? {})) {
83
+ // Match /A/{...} or /A/{...}/...
84
+ const m = pathStr.match(/^\/([^\/{}]+)\/\{[^}]+\}(\/.*)?$/)
85
+ if (!m) continue
86
+ const root = m[1]
87
+ const trailing = m[2] ?? ''
88
+ // Depth = number of segments after the {id} placeholder. Lower
89
+ // depth wins (e.g. "/people/{id}" beats "/people/{id}/anime").
90
+ const depth = trailing === '' ? 0 : trailing.split('/').filter(Boolean).length
91
+
92
+ const cur = rootOwners[root]
93
+ if (!cur || depth < cur.depth) {
94
+ rootOwners[root] = { ename, depth }
95
+ }
96
+ }
97
+ }
98
+
99
+ // Second pass: for each entity with a "/X" path, if X has an owner
100
+ // elsewhere, move the path there.
101
+ for (const [ename, entity] of Object.entries(entities)) {
102
+ if (entity.path == null) continue
103
+ const pathsToMove: string[] = []
104
+
105
+ for (const pathStr of Object.keys(entity.path)) {
106
+ // Match exactly /X (one literal segment, no params).
107
+ const m = pathStr.match(/^\/([^\/{}]+)$/)
108
+ if (!m) continue
109
+ const root = m[1]
110
+ const owner = rootOwners[root]
111
+ if (owner && owner.ename !== ename) {
112
+ pathsToMove.push(pathStr)
113
+ }
114
+ }
115
+
116
+ for (const pathStr of pathsToMove) {
117
+ const owner = rootOwners[pathStr.slice(1)]
118
+ const targetEntity = entities[owner.ename]
119
+ if (targetEntity == null) continue
120
+ targetEntity.path = targetEntity.path ?? {}
121
+ const srcPath = entity.path[pathStr]
122
+ const tgtPath = targetEntity.path[pathStr]
123
+ if (tgtPath == null) {
124
+ targetEntity.path[pathStr] = srcPath
125
+ }
126
+ else {
127
+ // Target already owns this path under a different heuristic-discovered
128
+ // entity (e.g. `/gists` GET on `base_gist`, `/gists` POST on `gist`).
129
+ // Merge op/action/rename sets so no method is silently lost — without
130
+ // this, the second source's contribution drops on the floor and the
131
+ // base-guide loses paths that were in the original spec.
132
+ if (srcPath?.op) {
133
+ tgtPath.op = tgtPath.op ?? {}
134
+ for (const opname of Object.keys(srcPath.op)) {
135
+ if (tgtPath.op[opname] == null) {
136
+ tgtPath.op[opname] = srcPath.op[opname]
137
+ }
138
+ }
139
+ }
140
+ if (srcPath?.action) {
141
+ tgtPath.action = tgtPath.action ?? {}
142
+ for (const aname of Object.keys(srcPath.action)) {
143
+ if (tgtPath.action[aname] == null) {
144
+ tgtPath.action[aname] = srcPath.action[aname]
145
+ }
146
+ }
147
+ }
148
+ if (srcPath?.rename?.param) {
149
+ tgtPath.rename = tgtPath.rename ?? {}
150
+ tgtPath.rename.param = tgtPath.rename.param ?? {}
151
+ for (const p of Object.keys(srcPath.rename.param)) {
152
+ if (tgtPath.rename.param[p] == null) {
153
+ tgtPath.rename.param[p] = srcPath.rename.param[p]
154
+ }
155
+ }
156
+ }
157
+ }
158
+ delete entity.path[pathStr]
159
+ log?.debug?.({
160
+ point: 'merge-collection-path',
161
+ path: pathStr,
162
+ from: ename,
163
+ to: owner.ename,
164
+ })
165
+ }
166
+ }
167
+ }
168
+
169
+
56
170
 
57
171
  function resolvePathList(guideEntity: GuideEntity, def: { paths: Record<string, any> }) {
58
172
  const paths$: PathDesc[] = []
@@ -86,10 +200,24 @@ function resolvePathList(guideEntity: GuideEntity, def: { paths: Record<string,
86
200
 
87
201
 
88
202
  function buildRelations(guideEntity: any, paths$: PathDesc[]) {
203
+ // An ancestor is a literal collection segment (e.g. "rems") followed by
204
+ // a path-param placeholder that names an instance ID. We only collect
205
+ // the literal parts — placeholder parts like "{año}" must be excluded
206
+ // even when they're themselves followed by another placeholder, otherwise
207
+ // downstream code treats `{año}` as an ancestor name and emits broken
208
+ // idmap entries / match keys.
209
+ //
210
+ // Each captured segment is then normalised to its entity name —
211
+ // depluralize+snakify — so that "files"/"audit-log" become "file"/"audit_log",
212
+ // i.e. the same keys downstream code uses to look up entities. Without this,
213
+ // `apimodel.main.kit.entity[ancestorName]` misses the parent entity for
214
+ // pluralised path segments.
89
215
  let ancestors: any[] = paths$
90
216
  .map(pli => pli.parts
91
217
  .map((p, i) =>
92
- (pli.parts[i + 1]?.[0] === '{' && pli.parts[i + 1] !== '{id}') ? p : null)
218
+ ('{' !== p[0] &&
219
+ pli.parts[i + 1]?.[0] === '{' &&
220
+ pli.parts[i + 1] !== '{id}') ? depluralize(snakify(p)) : null)
93
221
  .filter(p => null != p))
94
222
  .filter(n => 0 < n.length)
95
223
  .sort((a, b) => a.length - b.length)
@@ -128,4 +256,5 @@ export {
128
256
  resolvePathList,
129
257
  buildRelations,
130
258
  entityTransform,
259
+ mergeCollectionPaths,
131
260
  }
@@ -51,6 +51,17 @@ const topTransform = async function(
51
51
  })
52
52
  }
53
53
 
54
+ // A usable SDK requires a base URL. OpenAPI 3 puts it in `servers[].url`;
55
+ // Swagger 2 derives it from `host` + `basePath`. If neither yields a
56
+ // non-empty url, the generated SDK has no way to issue requests, so fail
57
+ // the apidef model build rather than emit broken code.
58
+ const firstServerUrl: any = kit.info.servers?.[0]?.url
59
+ if (null == firstServerUrl || '' === String(firstServerUrl).trim()) {
60
+ throw new Error(
61
+ 'apidef: no server URL found in API definition (servers[0].url is required).'
62
+ )
63
+ }
64
+
54
65
  return { ok: true, msg: 'top' }
55
66
  }
56
67