roku-debug 0.23.16 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/Exceptions.d.ts +4 -0
  3. package/dist/Exceptions.js.map +1 -1
  4. package/dist/FileUtils.js +4 -9
  5. package/dist/FileUtils.js.map +1 -1
  6. package/dist/LaunchConfiguration.d.ts +20 -2
  7. package/dist/PerfettoManager.d.ts +7 -1
  8. package/dist/PerfettoManager.js +11 -6
  9. package/dist/PerfettoManager.js.map +1 -1
  10. package/dist/RendezvousTracker.d.ts +2 -2
  11. package/dist/RendezvousTracker.js +14 -41
  12. package/dist/RendezvousTracker.js.map +1 -1
  13. package/dist/RokuECP.d.ts +11 -4
  14. package/dist/RokuECP.js +48 -62
  15. package/dist/RokuECP.js.map +1 -1
  16. package/dist/SceneGraphDebugCommandController.d.ts +28 -2
  17. package/dist/SceneGraphDebugCommandController.js +100 -4
  18. package/dist/SceneGraphDebugCommandController.js.map +1 -1
  19. package/dist/adapters/DebugProtocolAdapter.d.ts +6 -0
  20. package/dist/adapters/DebugProtocolAdapter.js +30 -11
  21. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  22. package/dist/adapters/TelnetAdapter.d.ts +6 -0
  23. package/dist/adapters/TelnetAdapter.js +21 -13
  24. package/dist/adapters/TelnetAdapter.js.map +1 -1
  25. package/dist/adapters/TelnetRequestPipeline.d.ts +3 -4
  26. package/dist/adapters/TelnetRequestPipeline.js.map +1 -1
  27. package/dist/debugProtocol/DebugProtocolClientReplaySession.js +1 -1
  28. package/dist/debugProtocol/DebugProtocolClientReplaySession.js.map +1 -1
  29. package/dist/debugProtocol/client/DebugProtocolClient.d.ts +13 -2
  30. package/dist/debugProtocol/client/DebugProtocolClient.js +21 -14
  31. package/dist/debugProtocol/client/DebugProtocolClient.js.map +1 -1
  32. package/dist/debugProtocol/client/DebugProtocolClientPlugin.d.ts +2 -3
  33. package/dist/debugSession/BrightScriptDebugSession.d.ts +68 -9
  34. package/dist/debugSession/BrightScriptDebugSession.js +286 -110
  35. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  36. package/dist/debugSession/Events.d.ts +5 -5
  37. package/dist/debugSession/Events.js +15 -2
  38. package/dist/debugSession/Events.js.map +1 -1
  39. package/dist/interfaces.d.ts +8 -1
  40. package/dist/interfaces.js.map +1 -1
  41. package/dist/managers/BreakpointManager.d.ts +9 -5
  42. package/dist/managers/BreakpointManager.js +22 -11
  43. package/dist/managers/BreakpointManager.js.map +1 -1
  44. package/dist/managers/LocationManager.js +2 -2
  45. package/dist/managers/LocationManager.js.map +1 -1
  46. package/dist/managers/ProjectManager.d.ts +56 -1
  47. package/dist/managers/ProjectManager.js +146 -23
  48. package/dist/managers/ProjectManager.js.map +1 -1
  49. package/dist/util.d.ts +46 -2
  50. package/dist/util.js +71 -1
  51. package/dist/util.js.map +1 -1
  52. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAUX;AAVD,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,gDAA+B,CAAA;IAC/B;;OAEG;IACH,oCAAmB,CAAA;AACvB,CAAC,EAVW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAUxB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAEA,IAAY,aAUX;AAVD,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,gDAA+B,CAAA;IAC/B;;OAEG;IACH,oCAAmB,CAAA;AACvB,CAAC,EAVW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAUxB"}
@@ -141,19 +141,23 @@ export declare class BreakpointManager {
141
141
  column?: number;
142
142
  }>(breakpoints: Array<T>): T[];
143
143
  /**
144
- * Reconcile every breakpoint against the project's staged files, marking any that can't be placed
145
- * (unsupported file type, or a file not in the project) as failed. Returns the placeable breakpoints
146
- * keyed by staging file path.
144
+ * Reconcile every breakpoint against the staged files of the given projects, marking any that can't be
145
+ * placed (unsupported file type, or a file not in any project) as failed. Returns the placeable
146
+ * breakpoints keyed by staging file path.
147
+ *
148
+ * Always pass every project in the session (main project and all component libraries) together: a
149
+ * breakpoint is only failed when it has no staging location in ANY of the given projects, so validating
150
+ * one project at a time would incorrectly fail every other project's breakpoints.
147
151
  *
148
152
  * For telnet there is no on-device breakpoint API, so this also bakes a literal `STOP` into the staged
149
153
  * files for each breakpoint and registers them as permanent/verified. DebugProtocol writes nothing
150
154
  * (the device breaks by line number). The choice is made here from `launchConfiguration.enableDebugProtocol`.
151
155
  */
152
- validateAndWriteBreakpointsForProject(project: Project): Promise<Record<string, BreakpointWorkItem[]>>;
156
+ validateAndWriteBreakpointsForProjects(projects: Project[]): Promise<Record<string, BreakpointWorkItem[]>>;
153
157
  /**
154
158
  * Write STOP statements into the project's staging files for each breakpoint location and update the
155
159
  * sourcemaps to match. Marks the written breakpoints as verified and registers them as permanent.
156
- * Telnet only — `validateAndWriteBreakpointsForProject` calls this when no on-device breakpoint API
160
+ * Telnet only — `validateAndWriteBreakpointsForProjects` calls this when no on-device breakpoint API
157
161
  * is available.
158
162
  */
159
163
  private writeBreakpointsForProject;
@@ -412,27 +412,38 @@ class BreakpointManager {
412
412
  return breakpoints;
413
413
  }
414
414
  /**
415
- * Reconcile every breakpoint against the project's staged files, marking any that can't be placed
416
- * (unsupported file type, or a file not in the project) as failed. Returns the placeable breakpoints
417
- * keyed by staging file path.
415
+ * Reconcile every breakpoint against the staged files of the given projects, marking any that can't be
416
+ * placed (unsupported file type, or a file not in any project) as failed. Returns the placeable
417
+ * breakpoints keyed by staging file path.
418
+ *
419
+ * Always pass every project in the session (main project and all component libraries) together: a
420
+ * breakpoint is only failed when it has no staging location in ANY of the given projects, so validating
421
+ * one project at a time would incorrectly fail every other project's breakpoints.
418
422
  *
419
423
  * For telnet there is no on-device breakpoint API, so this also bakes a literal `STOP` into the staged
420
424
  * files for each breakpoint and registers them as permanent/verified. DebugProtocol writes nothing
421
425
  * (the device breaks by line number). The choice is made here from `launchConfiguration.enableDebugProtocol`.
422
426
  */
423
- async validateAndWriteBreakpointsForProject(project) {
427
+ async validateAndWriteBreakpointsForProjects(projects) {
424
428
  var _a;
425
429
  //telnet bakes in a literal STOP per breakpoint; DebugProtocol breaks by line number and writes nothing
426
430
  const willInjectStop = !((_a = this.launchConfiguration) === null || _a === void 0 ? void 0 : _a.enableDebugProtocol);
427
- const breakpointsByStagingFilePath = await this.getBreakpointWork(project, willInjectStop);
428
- //track which breakpoints were successfully mapped to a staging location
431
+ //compute the breakpoint work for every project up front so the failure check below sees the whole session
432
+ const workForProjects = await Promise.all(projects.map(project => this.getBreakpointWork(project, willInjectStop)));
433
+ //track which breakpoints were successfully mapped to a staging location in at least one project.
434
+ //staging file paths are unique per project (each project has its own staging dir), so the work
435
+ //records can be safely merged into one
429
436
  const stagedSrcHashes = new Set();
430
- for (const stagingFilePath in breakpointsByStagingFilePath) {
431
- for (const breakpoint of breakpointsByStagingFilePath[stagingFilePath]) {
432
- stagedSrcHashes.add(breakpoint.srcHash);
437
+ const breakpointsByStagingFilePath = {};
438
+ for (const workForProject of workForProjects) {
439
+ for (const stagingFilePath in workForProject) {
440
+ for (const breakpoint of workForProject[stagingFilePath]) {
441
+ stagedSrcHashes.add(breakpoint.srcHash);
442
+ }
443
+ breakpointsByStagingFilePath[stagingFilePath] = workForProject[stagingFilePath];
433
444
  }
434
445
  }
435
- //fail any breakpoints that had no staging location
446
+ //fail any breakpoints that had no staging location in any project
436
447
  for (const [, breakpoints] of this.breakpointsByFilePath) {
437
448
  for (const bp of breakpoints) {
438
449
  if (!stagedSrcHashes.has(bp.srcHash) && bp.reason !== 'failed') {
@@ -456,7 +467,7 @@ class BreakpointManager {
456
467
  /**
457
468
  * Write STOP statements into the project's staging files for each breakpoint location and update the
458
469
  * sourcemaps to match. Marks the written breakpoints as verified and registers them as permanent.
459
- * Telnet only — `validateAndWriteBreakpointsForProject` calls this when no on-device breakpoint API
470
+ * Telnet only — `validateAndWriteBreakpointsForProjects` calls this when no on-device breakpoint API
460
471
  * is available.
461
472
  */
462
473
  async writeBreakpointsForProject(breakpointsByStagingFilePath) {
@@ -1 +1 @@
1
- {"version":3,"file":"BreakpointManager.js","sourceRoot":"","sources":["../../src/managers/BreakpointManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BreakpointManager.js","sourceRoot":"","sources":["../../src/managers/BreakpointManager.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,oCAAoC;AAEpC,mDAkBwB;AACxB,qDAA0C;AAE1C,2CAA2D;AAE3D,4CAA0D;AAE1D,6CAAmD;AAGnD,kCAA+B;AAC/B,iDAA6C;AAC7C,wCAA4C;AAE5C,MAAa,iBAAiB;IAE1B,YACY,gBAAkC,EAClC,eAAgC;IACxC;;;;;OAKG;IACK,gCAAgC,KAAK;QARrC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAiB;QAOhC,kCAA6B,GAA7B,6BAA6B,CAAQ;QAKzC,WAAM,GAAG,gBAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAc5C,YAAO,GAAG,IAAI,4BAAY,EAAE,CAAC;QA+BrC;;;;;WAKG;QACK,0BAAqB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAE/E;;WAEG;QACI,oBAAe,GAAG,EAA0B,CAAC;QAEpD;;WAEG;QACK,yBAAoB,GAAG,CAAC,CAAC;QAsKzB,uBAAkB,GAAG,IAAI,GAAG,EAAiD,CAAC;QAqC9E,qBAAgB,GAAG,IAAI,GAAG,EAA+D,CAAC;QAqTlG;;WAEG;QACK,kCAA6B,GAAG,IAAI,GAAG,EAAgC,CAAC;QAEhF;;;WAGG;QACK,wBAAmB,GAAG,IAAI,GAAG,EAA8C,CAAC;QAqL5E,YAAO,GAAG,CAAC,CAAC;QAySpB;;WAEG;QACK,4BAAuB,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE7D;;WAEG;QACK,qBAAgB,GAAG,KAAK,CAAC;QACzB,cAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IA/iC1D,CAAC;IAmBO,IAAI,CAAC,SAAiB,EAAE,IAAS;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAMM,EAAE,CAAC,SAAiB,EAAE,OAA2B;QACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;IACN,CAAC;IAMM,IAAI,CAAC,SAAiB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,SAAmC,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrE,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAoBD;;OAEG;IACI,aAAa,CAAC,OAAe,EAAE,UAAsE;;QACxG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAE5D,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAEhE,0GAA0G;QAC1G,8EAA8E;QAC9E,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,UAAU,0CAAE,MAAM,IAAG,CAAC,EAAE;YAClD,IAAI,eAAuB,CAAC;YAC5B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE;gBACzD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACvE,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBACjC,eAAe,GAAG,OAAO,CAAC;iBAC7B;aACJ;YACD,6DAA6D;YAC7D,IAAI,eAAe,EAAE;gBACjB,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;aAC1D;SACJ;QAED,qEAAqE;QACrE,IAAI,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEjE,iJAAiJ;QACjJ,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAA,UAAU,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;QAE3H,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;QAE5D,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,EAAE,EAAE;YAC7C,sGAAsG;YACtG,GAAG;gBACC,oDAAoD;gBACpD,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,SAAS;gBACpB,YAAY,EAAE,SAAS;gBACvB,UAAU,EAAE,SAAS;aACxB;YACD,GAAG,UAAU;YACb,OAAO,EAAE,OAAO;SACU,CAAC,CAAC;QAEhC,6GAA6G;QAC7G,uEAAuE;QACvE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEpD,6DAA6D;QAC7D,MAAA,EAAE,CAAC,EAAE,oCAAL,EAAE,CAAC,EAAE,GAAK,IAAI,CAAC,oBAAoB,EAAE,EAAC;QAEtC,6DAA6D;QAC7D,MAAA,EAAE,CAAC,QAAQ,oCAAX,EAAE,CAAC,QAAQ,GAAK,KAAK,EAAC;QAEtB,yGAAyG;QACzG,uGAAuG;QACvG,IAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,MAAK,EAAE,CAAC,OAAO,EAAE;YAC5C,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;QAED,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YACf,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;YAC5D,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC;SACxB;QAED,0GAA0G;QAC1G,IAAI,CAAC,kBAAkB,EAAE;YACrB,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7B;QAED,mHAAmH;QACnH,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAE5C,OAAO,EAAE,CAAC;IACd,CAAC;IAQM,gBAAgB,CAAC,GAAG,IAAmE;QAC1F,IAAI,CAAC,iBAAiB,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAgB,CAAC;SAC1C,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,IAAqB;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAE7C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,gBAAgB,EAAE;gBAClB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClF,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;aACvE;SACJ;IACL,CAAC;IAOM,aAAa,CAAC,GAAG,IAA4C;QAChE,IAAI,GAAkB,CAAC;QACvB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC5D,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACrD;aAAM;YACH,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,GAAkB;QAChC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO;SACV;QACD,MAAM;QACN,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,OAAO,GAAG,CAAC;SACd;QACD,yBAAyB;QACzB,IAAI,SAAS,IAAI,GAAG,EAAE;YAClB,OAAO,GAAG,CAAC,OAAO,CAAC;SACtB;QACD,yBAAyB;QACzB,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE;YACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACtD;IACL,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,IAAqB;QACvC,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,+DAA+D;QAC/D,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACtE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAID;;;QAGI;IACI,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACzD,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,qBAAqB,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB;QAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE;YACZ,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC;YAEjC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;SACf;aAAM;YACH,mFAAmF;YACnF,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAKD;;;;OAIG;IACK,UAAU,CAAC,KAA6B,EAAE,GAAkB;;QAChE,qCAAqC;QACrC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEtB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAClB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3D,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAwC,EAAE;oBAChD,WAAW,EAAE,WAAW;iBAC3B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,QAAgB,EAAE,UAAsE;;QACjH,MAAM,GAAG,GAAG,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,IAAI,MAAA,UAAU,CAAC,MAAM,mCAAI,CAAC,EAAE,CAAC;QAExF,MAAM,SAAS,GAAG,MAAA,UAAU,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,SAAS,EAAE;YACX,OAAO,GAAG,GAAG,cAAc,SAAS,EAAE,CAAC;SAC1C;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAA,UAAU,CAAC,YAAY,0CAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACtB,OAAO,GAAG,GAAG,iBAAiB,YAAY,EAAE,CAAC;SAChD;QAED,IAAI,UAAU,CAAC,UAAU,EAAE;YACvB,OAAO,GAAG,GAAG,eAAe,UAAU,CAAC,UAAU,EAAE,CAAC;SACvD;QAED,OAAO,GAAG,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,UAA8B;;QACxD,MAAM,GAAG,GAAG,GAAG,IAAA,2BAAe,EAAC,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,IAAI,IAAI,MAAA,UAAU,CAAC,MAAM,mCAAI,CAAC,EAAE,CAAC;QAE1G,MAAM,SAAS,GAAG,MAAA,UAAU,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,SAAS,EAAE;YACX,OAAO,GAAG,GAAG,cAAc,SAAS,EAAE,CAAC;SAC1C;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAA,UAAU,CAAC,YAAY,0CAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACtB,OAAO,GAAG,GAAG,iBAAiB,YAAY,EAAE,CAAC;SAChD;QAED,IAAI,UAAU,CAAC,UAAU,EAAE;YACvB,OAAO,GAAG,GAAG,eAAe,UAAU,CAAC,UAAU,EAAE,CAAC;SACvD;QAED,OAAO,GAAG,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,OAAe,EAAE,qBAAuD;QAC9F,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAE5G,0EAA0E;QAC1E,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC1B,OAAO,EACP,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAClF,CAAC;QAEF,mCAAmC;QACnC,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAgB,EAAE,cAAc,GAAG,KAAK;;QACpE,IAAI,MAAM,GAAG,EAA+C,CAAC;QAE7D,mDAAmD;QACnD,KAAK,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAClE,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;gBAChC,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,MAAK,QAAQ,EAAE;oBACjC,qDAAqD;oBACrD,sEAAsE;oBACtE,SAAS;iBACZ;gBACD,iFAAiF;gBACjF,oDAAoD;gBACpD,IAAI,sBAAsB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CACvE,cAAc,EACd,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,MAAM,EACjB;oBACI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,EAAE;oBAC5B,OAAO,CAAC,OAAO;iBAClB,EACD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,CACvB,CAAC;gBAEF,KAAK,IAAI,eAAe,IAAI,sBAAsB,CAAC,SAAS,EAAE;oBAC1D,+DAA+D;oBAC/D,4EAA4E;oBAC5E,0EAA0E;oBAC1E,4EAA4E;oBAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;oBACjE,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACjC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAA,6BAAC,EAAA,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE;4BACpE,SAAS;yBACZ;qBACJ;oBAED,oEAAoE;oBACpE,qFAAqF;oBACrF,sFAAsF;oBACtF,2FAA2F;oBAC3F,IAAI,IAAI,CAAC,6BAA6B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE;wBACjJ,SAAS;qBACZ;oBACD,IAAI,mBAAmB,GAAG,qBAAS,CAAC,sBAAsB,CACtD,eAAe,CAAC,QAAQ,EACxB,qBAAS,CAAC,eAAe,CACrB,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,CAC1D,EACD,EAAE,CACL,CAAC;oBACF,MAAM,OAAO,GAAG,OAAO,GAAG,qBAAS;wBAC/B,uEAAuE;yBACtE,sBAAsB,CACnB,IAAA,6BAAC,EAAA,GAAG,eAAe,CAAC,QAAQ,EAAE,EAC9B,IAAA,6BAAC,EAAA,GAAG,OAAO,CAAC,UAAU,EAAE,EACxB,EAAE,CACL;wBACD,+BAA+B;yBAC9B,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;wBACzB,sBAAsB;yBACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAExB,IAAI,GAAG,GAAuB;wBAC1B,yBAAyB;wBACzB,GAAG,UAAU;wBACb,qBAAqB;wBACrB,OAAO,EAAE,cAAc;wBACvB,QAAQ,EAAE,SAAS;wBACnB,eAAe,EAAE,IAAA,6BAAC,EAAA,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,EAAE;wBAC7D,IAAI,EAAE,eAAe,CAAC,UAAU;wBAChC,MAAM,EAAE,eAAe,CAAC,WAAW;wBACnC,eAAe,EAAE,eAAe,CAAC,QAAQ;wBACzC,IAAI,EAAE,sBAAsB,CAAC,IAAI;wBACjC,OAAO,EAAE,OAAO;wBAChB,oBAAoB,EAAG,OAAmC,CAAC,IAAI;qBAClE,CAAC;oBACF,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;oBAC/C,GAAG,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC;oBAEnE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;wBACnC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;qBACzC;oBACD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC9C;aACJ;SACJ;QACD,mCAAmC;QACnC,KAAK,IAAI,eAAe,IAAI,MAAM,EAAE;YAChC,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;SAC7F;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,iCAAiC,CACpC,WAAqB;QAErB,WAAW,GAAG,IAAA,yBAAO,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,gBAAgB,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,sCAAsC;YACtC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;gBAC/D,mFAAmF;gBACnF,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAChC;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,sCAAsC,CAAC,QAAmB;;QACnE,uGAAuG;QACvG,MAAM,cAAc,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,CAAA,CAAC;QAEtE,0GAA0G;QAC1G,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAC3E,CAAC;QAEF,iGAAiG;QACjG,+FAA+F;QAC/F,uCAAuC;QACvC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,4BAA4B,GAAyC,EAAE,CAAC;QAC9E,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;YAC1C,KAAK,MAAM,eAAe,IAAI,cAAc,EAAE;gBAC1C,KAAK,MAAM,UAAU,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE;oBACtD,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBAC3C;gBACD,4BAA4B,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;aACnF;SACJ;QAED,kEAAkE;QAClE,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YACtD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;gBAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE;oBAC5D,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACpB,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC;oBACrB,sFAAsF;oBACtF,iEAAiE;oBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;oBACtD,EAAE,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACjD,CAAC,CAAC,iCAAiC;wBACnC,CAAC,CAAC,SAAS,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;iBACvD;aACJ;SACJ;QAED,IAAI,cAAc,EAAE;YAChB,MAAM,IAAI,CAAC,0BAA0B,CAAC,4BAA4B,CAAC,CAAC;SACvE;QAED,OAAO,4BAA4B,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,0BAA0B,CAAC,4BAAkE;QACvG,MAAM,QAAQ,GAAG,EAAoB,CAAC;QACtC,KAAK,MAAM,eAAe,IAAI,4BAA4B,EAAE;YACxD,MAAM,WAAW,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;gBAClC,4DAA4D;gBAC5D,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;aAChD;SACJ;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,mDAAmD;QACnD,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,6BAA6B,EAAE;YACjE,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,EAAE,IAAA,yBAAO,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACnG;IACL,CAAC;IAEO,2BAA2B,CAAC,UAA8B;;QAC9D,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;QACpF,yDAAyD;QACzD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAaD;;;OAGG;IACI,wBAAwB;QAC3B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,KAAK;QACR,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACK,qBAAqB,CAAC,eAAuB,EAAE,UAAkB,EAAE,cAAc,GAAG,KAAK;;QAC7F,IAAI;YACA,MAAM,QAAQ,GAAG,IAAA,6BAAC,EAAA,GAAG,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAChE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;aACrE;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEtD,2EAA2E;YAC3E,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;YAElC,6CAA6C;YAC7C,sEAAsE;YACtE,+EAA+E;YAC/E,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,wCAAuB,EAAE,CAAC;YAC7C,IAAI,gBAAqC,CAAC;YAC1C,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACb,OAAO;iBACV;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE;oBACpC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO;iBACV;gBACD,mFAAmF;gBACnF,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE;oBACnC,aAAa,GAAG,IAAI,CAAC;iBACxB;gBACD,IAAI,IAAA,4BAAW,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC3D,gBAAgB,GAAG,IAAI,CAAC;iBAC3B;YACL,CAAC,EAAE;gBACC,QAAQ,EAAE,yBAAQ,CAAC,iBAAiB;gBACpC,MAAM,EAAE,MAAM,CAAC,KAAK;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,EAAE;gBACnB,iFAAiF;gBACjF,4FAA4F;gBAC5F,sFAAsF;gBACtF,2FAA2F;gBAC3F,0FAA0F;gBAC1F,iFAAiF;gBACjF,2FAA2F;gBAC3F,4FAA4F;gBAC5F,6FAA6F;gBAC7F,4BAA4B;gBAC5B,IAAI,aAAa,EAAE;oBACf,8EAA8E;oBAC9E,OAAO,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC;iBACvC;gBACD,6FAA6F;gBAC7F,gGAAgG;gBAChG,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAC;gBACnG,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;aACpD;YAED,mGAAmG;YACnG,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,EAAE;gBAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAC7B;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC5B;QAAC,OAAO,CAAC,EAAE;YACR,4DAA4D;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/H,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC5B;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,eAAuB,EAAE,WAAiC;QAE3F,wCAAwC;QACxC,IAAI,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YAC5C,WAAI,CAAC,GAAG,CAAC,kBAAkB,eAAe,EAAE,CAAC,CAAC;YAC9C,OAAO;SACV;QAED,2BAA2B;QAC3B,IAAI,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAExE,yFAAyF;QACzF,+EAA+E;QAC/E,MAAM,cAAc,GAAG,GAAG,eAAe,MAAM,CAAC;QAEhD,6EAA6E;QAC7E,uFAAuF;QACvF,uFAAuF;QACvF,iEAAiE;QACjE,IAAI,gBAAwB,CAAC;QAC7B,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;YACrC,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;SACrD;aAAM;YACH,2DAA2D;YAC3D,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7C;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,YAAY,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAEpG,uDAAuD;QACvD,IAAI,YAAY,CAAC,GAAG,EAAE;YAClB,2FAA2F;YAC3F,2FAA2F;YAC3F,uFAAuF;YACvF,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBACrC,0EAA0E;gBAC1E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;gBACtF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC9E,IAAI,WAAW,EAAE;oBACb,MAAM,8BAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACzD,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;oBAChE,CAAC,CAAC,CAAC;iBACN;aACJ;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACnD,iDAAiD;YACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;SACxD;QAED,sDAAsD;QACtD,MAAM,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAGM,8BAA8B,CAAC,YAAoB,EAAE,gBAAwB,EAAE,WAAiC;;QACnH,IAAI,MAAM,GAAG,EAAgC,CAAC;QAE9C,2BAA2B;QAC3B,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,iBAAiB,GAAG,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE;YACnF,IAAI,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACpC,kBAAkB;YAClB,IAAI,iBAAiB,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,OAAO,GAAG,EAAE,CAAC;aAChB;YACD,+FAA+F;YAC/F,IAAI,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,iBAAiB,CAAC,CAAC;YAClF,sDAAsD;YACtD,KAAK,IAAI,EAAE,IAAI,eAAe,EAAE;gBAC5B,4EAA4E;gBAC5E,8EAA8E;gBAC9E,qEAAqE;gBACrE,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAEvE,uDAAuD;gBACvD,KAAK,IAAI,MAAM,IAAI,kBAAkB,EAAE;oBACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACJ;YAED,2BAA2B;YAC3B,MAAM,CAAC,IAAI;YACP,wCAAwC;YACxC,IAAI,uBAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC,CAClF,CAAC;SACL;QAED,IAAI,IAAI,GAAG,IAAI,uBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAEhE,kFAAkF;QAClF,IAAI,CAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,gBAAgB,MAAK,KAAK,EAAE;YACtD,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACrB,GAAG,EAAE,SAAS;aACI,CAAC;SAC1B;aAAM;YACH,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;SACvC;IACL,CAAC;IAEO,kBAAkB,CAAC,UAA8B,EAAE,gBAAwB;QAC/E,IAAI,KAAK,GAAG,EAAgC,CAAC;QAC7C,IAAI,UAAU,CAAC,UAAU,EAAE;YACvB,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACvC,gCAAgC;YAChC,UAAU,GAAG,IAAI,UAAU,GAAG,CAAC;YAC/B,IAAI,gBAAgB,GAAG,YAAY,CAAC;YACpC,IAAI,KAAsB,CAAC;YAE3B,+CAA+C;YAC/C,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;gBAChD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACjE;YAED,6EAA6E;YAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAAC;SAC3F;aAAM,IAAI,UAAU,CAAC,SAAS,EAAE;YAC7B,mCAAmC;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC;SACvH;aAAM,IAAI,UAAU,CAAC,YAAY,EAAE;YAChC,IAAI,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAErD,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;gBAC3C,8CAA8C;gBAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;iBAAM;gBACH,IAAI,MAAM,GAAG,aAAa,CAAC;gBAC3B,IAAI,MAAM,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnC,IAAI,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,OAAO,YAAY,YAAY,CAAC;gBACtE,IAAI,SAAS,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,CAAC;gBAEzC,0EAA0E;gBAC1E,IAAI,kBAAkB,GAAG;mCACN,MAAM,iBAAiB,MAAM,IAAI,MAAM;uCACnC,MAAM;8BACf,MAAM,OAAO,MAAM;;8BAEnB,MAAM,IAAI,MAAM;;0BAEpB,SAAS,MAAM,SAAS;iBACjC,CAAC;gBACF,wCAAwC;gBACxC,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxF,qDAAqD;gBACrD,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC;aACxF;SACJ;aAAM;YACH,uGAAuG;YACvG,iEAAiE;YACjE,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;SAC5E;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAgB,EAAE,iBAAiB,GAAG,KAAK;;QACrE,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACzD,IAAI,iBAAiB,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,IAAY;QACtC,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,6BAA6B,EAAE;YAC9D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;gBAClC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE;oBAC7B,OAAO,UAAU,CAAC;iBACrB;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,8BAA8B,CAAC,OAAe;;QACjD,OAAO,MAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CACzC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CACvC,mCAAI,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,QAAgB;QAC1C,QAAQ,GAAG,qBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC1C,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE;gBAC9C,OAAO,GAAG,CAAC;aACd;SACJ;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,iBAAiB,CAAC,QAAmB,EAAE,OAAe,EAAE,IAAY;QAC7E,MAAM,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACpC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAC3D,CAAC,CAAC;QACH,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;YACrC,KAAK,IAAI,GAAG,IAAI,WAAW,EAAE;gBACzB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;oBACrB,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;wBACpD,OAAO,IAAI,CAAC;qBACf;iBACJ;aACJ;SACJ;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,QAAmB;;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE7B,8EAA8E;QAC9E,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,OAAO;gBACH,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aAC1C,CAAC;SACL;QACD,IAAI;YACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;YAC3D,MAAM,OAAO,CAAC,GAAG,CACb,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;;gBAC3B,uCAAuC;gBACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAEnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;gBAE9D,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;oBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;wBACvB,EAAE,CAAC,eAAe,GAAG,qBAAS,CAAC,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9F,EAAE,CAAC,OAAO,GAAG,qBAAS,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,MAAM,GAAG,GAAG;4BACR,EAAE,CAAC,eAAe;4BAClB,EAAE,CAAC,IAAI;4BACP,EAAE,CAAC,MAAM;4BACT,EAAE,CAAC,SAAS;4BACZ,EAAE,CAAC,YAAY;4BACf,EAAE,CAAC,UAAU;yBAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACb,2DAA2D;wBAC3D,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,0CAAE,QAAQ,EAAE,CAAC,CAAC;qBAClG;iBACJ;YACL,CAAC,CAAC,CACL,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAEjD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE;gBAClE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvC,WAAW;gBACX,IAAI,MAAM,IAAI,SAAS,EAAE;oBACrB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE1C,uBAAuB;iBAC1B;qBAAM,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;oBAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAEtC,yBAAyB;iBAC5B;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC7C;aACJ;YACD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAE9B,MAAM,MAAM,GAAG;gBACX,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;gBACvD,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;aACrC,CAAC;YACF,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,sDAAsD;YACtD,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE;gBAChF,UAAU,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC;aACpF;YACD,OAAO,MAAM,CAAC;SACjB;gBAAS;YACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SACjC;IACL,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,OAAe,EAAE,WAAyB,EAAE,SAAkB;QAC5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAI,UAAU,EAAE;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC5D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAOM,SAAS,CAAC,GAAG,IAAqC;;QACrD,IAAI,IAAY,CAAC;QACjB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;YACT,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,OAAO,MAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,KAAK,CAAC;IAC3D,CAAC;IAaM,wBAAwB;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACJ;AAlkCD,8CAkkCC;AAgID;;;;;;;;;;;;;;;GAeG;AACH,SAAS,uBAAuB,CAAC,IAAa;IAC1C,OAAO,CACH,IAAA,mCAAkB,EAAC,IAAI,CAAC;QACxB,IAAA,kCAAiB,EAAC,IAAI,CAAC;QACvB,IAAA,mCAAkB,EAAC,IAAI,CAAC;QACxB,IAAA,qCAAoB,EAAC,IAAI,CAAC;QAC1B,IAAA,iCAAgB,EAAC,IAAI,CAAC;QACtB,IAAA,gCAAe,EAAC,IAAI,CAAC;QACrB,IAAA,sCAAqB,EAAC,IAAI,CAAC;QAC3B,IAAA,qCAAoB,EAAC,IAAI,CAAC;QAC1B,IAAA,0CAAyB,EAAC,IAAI,CAAC;QAC/B,IAAA,2CAA0B,EAAC,IAAI,CAAC;QAChC,IAAA,iCAAgB,EAAC,IAAI,CAAC;QACtB,IAAA,iCAAgB,EAAC,IAAI,CAAC;QACtB,IAAA,gCAAe,EAAC,IAAI,CAAC,CACxB,CAAC;AACN,CAAC"}
@@ -4,7 +4,7 @@ exports.LocationManager = void 0;
4
4
  const fsExtra = require("fs-extra");
5
5
  const path = require("path");
6
6
  const FileUtils_1 = require("../FileUtils");
7
- const glob = require("glob");
7
+ const fastGlob = require("fast-glob");
8
8
  /**
9
9
  * Find original source locations based on debugger/staging locations.
10
10
  */
@@ -93,7 +93,7 @@ class LocationManager {
93
93
  sourceDirs = sourceDirs.map(x => (0, FileUtils_1.standardizePath) `${x}`);
94
94
  stagingDir = (0, FileUtils_1.standardizePath) `${stagingDir}`;
95
95
  //look through the sourcemaps in the staging folder for any instances of this source location
96
- let locations = await this.sourceMapManager.getGeneratedLocations(glob.sync('**/*.map', {
96
+ let locations = await this.sourceMapManager.getGeneratedLocations(fastGlob.sync('**/*.map', {
97
97
  cwd: stagingDir,
98
98
  absolute: true
99
99
  }), {
@@ -1 +1 @@
1
- {"version":3,"file":"LocationManager.js","sourceRoot":"","sources":["../../src/managers/LocationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocationManager.js","sourceRoot":"","sources":["../../src/managers/LocationManager.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,17 @@ export declare class ProjectManager {
48
48
  * Get the list of staging folder paths from all projects
49
49
  */
50
50
  getStagingDirs(): string[];
51
+ /**
52
+ * Rewrite `Library "file.brs"` statements across every project so a reference to a file exported by a
53
+ * component library points at that library's postfixed file name. Only rewritten when the consumer requires
54
+ * that library AND the library exports a file with that name (from its `libsource`).
55
+ *
56
+ * `bs_libs_required` is satisfied only by `bs_libs_provided`, and `sg_component_libs_required` only by
57
+ * `sg_component_libs_provided` - the two mechanisms never cross (though one library may declare both).
58
+ *
59
+ * Must run AFTER every component library has been staged and postfixed.
60
+ */
61
+ applyLibraryReferencePostfixes(): Promise<void>;
51
62
  /**
52
63
  * Get staging-dir info for every project. The main project is always first; component libraries
53
64
  * follow in order. This main-first ordering is a contract that clients rely on, so it is covered
@@ -130,6 +141,11 @@ export declare class Project {
130
141
  constructor(params: AddProjectParams);
131
142
  rootDir: string;
132
143
  outDir: string;
144
+ /**
145
+ * The filename of the zip package that gets created from the staging folder (relative to `outDir`).
146
+ * Component libraries override this with their computed out file name.
147
+ */
148
+ outFile: string;
133
149
  packagePath: string;
134
150
  sourceDirs: string[];
135
151
  files: Array<FileEntry>;
@@ -151,6 +167,16 @@ export declare class Project {
151
167
  injectRdbOnDeviceComponent: boolean;
152
168
  rdbFilesBasePath: string;
153
169
  enhanceREPLCompletions: boolean;
170
+ /**
171
+ * The names of the component libraries this project imports via `bs_libs_required` in its manifest.
172
+ * Populated during `stage()`. Used to know which libraries' files a `Library` statement may reference.
173
+ */
174
+ bsLibsRequired: string[];
175
+ /**
176
+ * The names of the component libraries this project imports via `sg_component_libs_required` in its manifest.
177
+ * Populated during `stage()`. Used to know which libraries' files a `Library` statement may reference.
178
+ */
179
+ sgComponentLibsRequired: string[];
154
180
  /**
155
181
  * A BrighterScript project for the stagingDir
156
182
  */
@@ -158,6 +184,15 @@ export declare class Project {
158
184
  get postfix(): string;
159
185
  private logger;
160
186
  stage(): Promise<void>;
187
+ /**
188
+ * Read the staged manifest's `bs_libs_required` and `sg_component_libs_required` values and store the
189
+ * (comma-delimited) library names this project imports under each mechanism. The two lists are kept separate
190
+ * because a `bs_libs_required` entry is only ever satisfied by a `bs_libs_provided` library, and an
191
+ * `sg_component_libs_required` entry only by an `sg_component_libs_provided` library. These names are later
192
+ * matched against the libraries that actually provide them so that only `Library` statements referencing
193
+ * files from a required library get postfixed.
194
+ */
195
+ private loadRequiredLibraryNames;
161
196
  /**
162
197
  * Get all of the functions available for all scopes for this file.
163
198
  * @param relativePath path to the file relative to rootDir
@@ -292,7 +327,6 @@ export interface ComponentLibraryConstructorParams extends AddProjectParams {
292
327
  }
293
328
  export declare class ComponentLibraryProject extends Project {
294
329
  constructor(params: ComponentLibraryConstructorParams);
295
- outFile: string;
296
330
  libraryIndex: number;
297
331
  install: boolean;
298
332
  /**
@@ -306,6 +340,19 @@ export declare class ComponentLibraryProject extends Project {
306
340
  * The name of the component library that this project represents. This is loaded during `this.computeOutFileName`
307
341
  */
308
342
  name: string;
343
+ /**
344
+ * The library names this project broadcasts via `sg_component_libs_provided` in its manifest. Only a consumer's
345
+ * `sg_component_libs_required` entries may resolve against these. Loaded during `this.computeOutFileName`.
346
+ */
347
+ sgComponentLibsProvided: string[];
348
+ /**
349
+ * The library names this project broadcasts via `bs_libs_provided` in its manifest. Only a consumer's
350
+ * `bs_libs_required` entries may resolve against these. Loaded during `this.computeOutFileName`.
351
+ *
352
+ * A library may broadcast itself under both mechanisms by declaring both manifest keys, in which case this
353
+ * and `sgComponentLibsProvided` are both populated.
354
+ */
355
+ bsLibsProvided: string[];
309
356
  /**
310
357
  * Takes a component Library and checks the outFile for replaceable values pulled from the libraries manifest
311
358
  * @param manifestPath the path to the manifest file to check
@@ -318,4 +365,12 @@ export declare class ComponentLibraryProject extends Project {
318
365
  */
319
366
  get postfix(): string;
320
367
  postfixFiles(): Promise<void>;
368
+ /**
369
+ * The set of `.brs` file names (basename only, e.g. `LibAlpha.brs`) that this component library exports
370
+ * from its `libsource` folder. These are the only files a consuming project may reference in a `Library`
371
+ * statement, so only files under `libsource` are eligible - any other staged `.brs` (components, source, etc.)
372
+ * is NOT a library export and must never be rewritten. Computed from `fileMappings`, which retain the
373
+ * original (pre-postfix) file names.
374
+ */
375
+ getExportedLibraryFileNames(): string[];
321
376
  }
@@ -46,6 +46,65 @@ class ProjectManager {
46
46
  ];
47
47
  return projects.map(x => x.stagingDir);
48
48
  }
49
+ /**
50
+ * Rewrite `Library "file.brs"` statements across every project so a reference to a file exported by a
51
+ * component library points at that library's postfixed file name. Only rewritten when the consumer requires
52
+ * that library AND the library exports a file with that name (from its `libsource`).
53
+ *
54
+ * `bs_libs_required` is satisfied only by `bs_libs_provided`, and `sg_component_libs_required` only by
55
+ * `sg_component_libs_provided` - the two mechanisms never cross (though one library may declare both).
56
+ *
57
+ * Must run AFTER every component library has been staged and postfixed.
58
+ */
59
+ async applyLibraryReferencePostfixes() {
60
+ for (const consumer of this.getAllProjects()) {
61
+ //skip the file walk unless at least one library we require is actually provided by a loaded library
62
+ //(matched per-mechanism, same as the rewrite below)
63
+ const hasProvidedLibrary = this.componentLibraryProjects.some(library => {
64
+ var _a, _b;
65
+ return ((_a = consumer.bsLibsRequired) === null || _a === void 0 ? void 0 : _a.some(name => { var _a; return (_a = library.bsLibsProvided) === null || _a === void 0 ? void 0 : _a.includes(name); })) ||
66
+ ((_b = consumer.sgComponentLibsRequired) === null || _b === void 0 ? void 0 : _b.some(name => { var _a; return (_a = library.sgComponentLibsProvided) === null || _a === void 0 ? void 0 : _a.includes(name); }));
67
+ });
68
+ if (!hasProvidedLibrary) {
69
+ continue;
70
+ }
71
+ await replaceInFile({
72
+ files: [
73
+ path.join(consumer.stagingDir, '**/*.brs')
74
+ ],
75
+ //don't throw when a project has no brs files
76
+ allowEmptyPaths: true,
77
+ from: /(Library\s+")([^"]+)(")/gi,
78
+ to: (match, prefix, fileName, suffix) => {
79
+ //which of the libraries we require via `bs_libs_required` exports this file? `bs_libs_required`
80
+ //is satisfied ONLY by `bs_libs_provided`
81
+ const bsLibrary = this.componentLibraryProjects.find(library => {
82
+ var _a;
83
+ return ((_a = consumer.bsLibsRequired) === null || _a === void 0 ? void 0 : _a.some(name => { var _a; return (_a = library.bsLibsProvided) === null || _a === void 0 ? void 0 : _a.includes(name); })) &&
84
+ library.getExportedLibraryFileNames().includes(fileName);
85
+ });
86
+ //same question for `sg_component_libs_required`, satisfied ONLY by `sg_component_libs_provided`
87
+ const sgComponentLibrary = this.componentLibraryProjects.find(library => {
88
+ var _a;
89
+ return ((_a = consumer.sgComponentLibsRequired) === null || _a === void 0 ? void 0 : _a.some(name => { var _a; return (_a = library.sgComponentLibsProvided) === null || _a === void 0 ? void 0 : _a.includes(name); })) &&
90
+ library.getExportedLibraryFileNames().includes(fileName);
91
+ });
92
+ //two DIFFERENT libraries export this file, one per mechanism, so we can't know which one the
93
+ //device would load. Warn, then make the educated guess: prefer the `bs_libs_provided` library.
94
+ //(one library declaring both manifest keys is fine: it resolves to itself either way)
95
+ if (bsLibrary && sgComponentLibrary && bsLibrary !== sgComponentLibrary) {
96
+ this.logger.warn(`Ambiguous 'Library "${fileName}"' in '${consumer.stagingDir}': provided by both`, `bs_libs_provided '${bsLibrary.name}' and sg_component_libs_provided`, `'${sgComponentLibrary.name}'. Using '${bsLibrary.name}'.`);
97
+ }
98
+ //leave the statement untouched if it doesn't reference a file from a required library
99
+ const library = bsLibrary !== null && bsLibrary !== void 0 ? bsLibrary : sgComponentLibrary;
100
+ if (!library) {
101
+ return match;
102
+ }
103
+ return `${prefix}${fileName.replace(/\.brs$/i, `${library.postfix}.brs`)}${suffix}`;
104
+ }
105
+ });
106
+ }
107
+ }
49
108
  /**
50
109
  * Get staging-dir info for every project. The main project is always first; component libraries
51
110
  * follow in order. This main-first ordering is a contract that clients rely on, so it is covered
@@ -266,6 +325,11 @@ exports.ProjectManager = ProjectManager;
266
325
  class Project {
267
326
  constructor(params) {
268
327
  var _a, _b, _c, _d, _e;
328
+ /**
329
+ * The filename of the zip package that gets created from the staging folder (relative to `outDir`).
330
+ * Component libraries override this with their computed out file name.
331
+ */
332
+ this.outFile = 'roku-deploy.zip';
269
333
  /**
270
334
  * Absolute staging paths of every file referenced by a `<script uri="...">` tag in any staged XML
271
335
  * component. Roku loads these as BrightScript regardless of file extension, so they are valid
@@ -273,6 +337,16 @@ class Project {
273
337
  * staging-file walk in `preprocessStagingFiles`) so consumers don't have to re-scan the staging dir.
274
338
  */
275
339
  this.scriptReferencedFiles = new Set();
340
+ /**
341
+ * The names of the component libraries this project imports via `bs_libs_required` in its manifest.
342
+ * Populated during `stage()`. Used to know which libraries' files a `Library` statement may reference.
343
+ */
344
+ this.bsLibsRequired = [];
345
+ /**
346
+ * The names of the component libraries this project imports via `sg_component_libs_required` in its manifest.
347
+ * Populated during `stage()`. Used to know which libraries' files a `Library` statement may reference.
348
+ */
349
+ this.sgComponentLibsRequired = [];
276
350
  /**
277
351
  * A BrighterScript project for the stagingDir
278
352
  */
@@ -292,7 +366,7 @@ class Project {
292
366
  throw new Error('outDir is required');
293
367
  }
294
368
  this.outDir = FileUtils_1.fileUtils.standardizePath(params.outDir);
295
- this.stagingDir = (_a = params.stagingDir) !== null && _a !== void 0 ? _a : roku_deploy_1.rokuDeploy.getOptions(this).stagingDir;
369
+ this.stagingDir = (_a = params.stagingDir) !== null && _a !== void 0 ? _a : util_1.util.getStagingDir({ outDir: this.outDir });
296
370
  this.bsConst = params.bsConst;
297
371
  this.sourceDirs = ((_b = params.sourceDirs) !== null && _b !== void 0 ? _b : [])
298
372
  //standardize every sourcedir
@@ -314,13 +388,10 @@ class Project {
314
388
  this.fileMappings = await this.getFileMappings();
315
389
  }
316
390
  //copy all project files to the staging folder
317
- await roku_deploy_1.rokuDeploy.prepublishToStaging({
391
+ await roku_deploy_1.rokuDeploy.stage({
318
392
  rootDir: this.rootDir,
319
- stagingDir: this.stagingDir,
320
- files: this.fileMappings,
321
- outDir: this.outDir,
322
- //we already fetched the file mappings ourselves, so roku-deploy doesn't need to glob the files again
323
- resolveFilesArray: false
393
+ files: this.files,
394
+ out: this.stagingDir
324
395
  });
325
396
  await this.preprocessStagingFiles();
326
397
  if (this.enhanceREPLCompletions) {
@@ -343,9 +414,24 @@ class Project {
343
414
  //preload the original location of every file
344
415
  await this.resolveFileMappingsForSourceDirs();
345
416
  await this.transformManifestWithBsConst();
417
+ await this.loadRequiredLibraryNames();
346
418
  await this.copyAndTransformRaleTrackerTask();
347
419
  await this.copyAndTransformRDB();
348
420
  }
421
+ /**
422
+ * Read the staged manifest's `bs_libs_required` and `sg_component_libs_required` values and store the
423
+ * (comma-delimited) library names this project imports under each mechanism. The two lists are kept separate
424
+ * because a `bs_libs_required` entry is only ever satisfied by a `bs_libs_provided` library, and an
425
+ * `sg_component_libs_required` entry only by an `sg_component_libs_provided` library. These names are later
426
+ * matched against the libraries that actually provide them so that only `Library` statements referencing
427
+ * files from a required library get postfixed.
428
+ */
429
+ async loadRequiredLibraryNames() {
430
+ const manifestPath = (0, FileUtils_1.standardizePath) `${this.stagingDir}/manifest`;
431
+ const manifestValues = await util_1.util.convertManifestToObject(manifestPath);
432
+ this.bsLibsRequired = util_1.util.splitAndTrim(manifestValues === null || manifestValues === void 0 ? void 0 : manifestValues.bs_libs_required);
433
+ this.sgComponentLibsRequired = util_1.util.splitAndTrim(manifestValues === null || manifestValues === void 0 ? void 0 : manifestValues.sg_component_libs_required);
434
+ }
349
435
  /**
350
436
  * Get all of the functions available for all scopes for this file.
351
437
  * @param relativePath path to the file relative to rootDir
@@ -779,29 +865,29 @@ class Project {
779
865
  * @param stagingPath
780
866
  */
781
867
  async zipPackage(params) {
782
- const options = roku_deploy_1.rokuDeploy.getOptions({
783
- ...this,
784
- ...params
785
- });
786
868
  let packagePath = this.packagePath;
787
869
  if (!this.packagePath) {
788
870
  //make sure the output folder exists
789
- await fsExtra.ensureDir(options.outDir);
790
- packagePath = roku_deploy_1.rokuDeploy.getOutputZipFilePath(options);
871
+ await fsExtra.ensureDir(this.outDir);
872
+ packagePath = util_1.util.getOutputZipPath({ outDir: this.outDir, outFile: this.outFile });
791
873
  }
792
874
  //ensure the manifest file exists in the staging folder
793
- if (!await roku_deploy_1.util.fileExistsCaseInsensitive(`${options.stagingDir}/manifest`)) {
794
- throw new Error(`Cannot zip package: missing manifest file in "${options.stagingDir}"`);
875
+ if (!await roku_deploy_1.util.fileExistsCaseInsensitive(`${this.stagingDir}/manifest`)) {
876
+ throw new Error(`Cannot zip package: missing manifest file in "${this.stagingDir}"`);
795
877
  }
796
878
  // create a zip of the staging folder
797
- await roku_deploy_1.rokuDeploy.zipFolder(options.stagingDir, packagePath, undefined, [
798
- '**/*',
799
- //exclude sourcemap files (they're large and can't be parsed on-device anyway...)
800
- '!**/*.map'
801
- ]);
879
+ await roku_deploy_1.rokuDeploy.zip({
880
+ dir: this.stagingDir,
881
+ out: packagePath,
882
+ files: [
883
+ '**/*',
884
+ //exclude sourcemap files (they're large and can't be parsed on-device anyway...)
885
+ '!**/*.map'
886
+ ]
887
+ });
802
888
  //delete the staging folder unless told to retain it.
803
- if (options.retainStagingDir !== true) {
804
- await fsExtra.remove(options.stagingDir);
889
+ if (params.retainStagingFolder !== true) {
890
+ await fsExtra.remove(this.stagingDir);
805
891
  }
806
892
  }
807
893
  /**
@@ -809,7 +895,10 @@ class Project {
809
895
  * (`dest` paths are relative in later versions of roku-deploy)
810
896
  */
811
897
  async getFileMappings() {
812
- let fileMappings = await roku_deploy_1.rokuDeploy.getFilePaths(this.files, this.rootDir, true, this.stagingDir);
898
+ let fileMappings = await roku_deploy_1.rokuDeploy.getFilePaths({ files: this.files, rootDir: this.rootDir });
899
+ for (let fileMapping of fileMappings) {
900
+ fileMapping.dest = (0, FileUtils_1.standardizePath) `${this.stagingDir}/${fileMapping.dest}`;
901
+ }
813
902
  return fileMappings;
814
903
  }
815
904
  dispose() {
@@ -844,6 +933,19 @@ class ComponentLibraryProject extends Project {
844
933
  constructor(params) {
845
934
  var _a, _b;
846
935
  super(params);
936
+ /**
937
+ * The library names this project broadcasts via `sg_component_libs_provided` in its manifest. Only a consumer's
938
+ * `sg_component_libs_required` entries may resolve against these. Loaded during `this.computeOutFileName`.
939
+ */
940
+ this.sgComponentLibsProvided = [];
941
+ /**
942
+ * The library names this project broadcasts via `bs_libs_provided` in its manifest. Only a consumer's
943
+ * `bs_libs_required` entries may resolve against these. Loaded during `this.computeOutFileName`.
944
+ *
945
+ * A library may broadcast itself under both mechanisms by declaring both manifest keys, in which case this
946
+ * and `sgComponentLibsProvided` are both populated.
947
+ */
948
+ this.bsLibsProvided = [];
847
949
  this.outFile = params.outFile;
848
950
  this.libraryIndex = params.libraryIndex;
849
951
  this.install = (_a = params.install) !== null && _a !== void 0 ? _a : false;
@@ -862,6 +964,10 @@ class ComponentLibraryProject extends Project {
862
964
  }
863
965
  //load the component libary name from the manifest
864
966
  this.name = manifestValues.sg_component_libs_provided || manifestValues.bs_libs_provided;
967
+ //track each `provided` mechanism separately so `Library` reference postfixing never matches a
968
+ //`bs_libs_required` against an `sg_component_libs_provided` (or vice versa)
969
+ this.sgComponentLibsProvided = util_1.util.splitAndTrim(manifestValues.sg_component_libs_provided);
970
+ this.bsLibsProvided = util_1.util.splitAndTrim(manifestValues.bs_libs_provided);
865
971
  // search the outFile for replaceable values such as ${title}
866
972
  while ((renamingMatch = regexp.exec(this.outFile))) {
867
973
  // replace the replaceable key with the manifest value
@@ -936,6 +1042,8 @@ class ComponentLibraryProject extends Project {
936
1042
  path.join(this.stagingDir, '**/*.xml'),
937
1043
  path.join(this.stagingDir, '**/*.brs')
938
1044
  ],
1045
+ //do not throw an error whenever we match zero files with the given glob (e.g. if there are no brs files or no xml files in the library)
1046
+ allowEmptyPaths: true,
939
1047
  from: /uri\s*=\s*"(.+)\.brs"/gi,
940
1048
  to: (match) => {
941
1049
  // only alter file ending if it is a) pkg:/ url or b) relative url
@@ -950,6 +1058,21 @@ class ComponentLibraryProject extends Project {
950
1058
  }
951
1059
  });
952
1060
  }
1061
+ /**
1062
+ * The set of `.brs` file names (basename only, e.g. `LibAlpha.brs`) that this component library exports
1063
+ * from its `libsource` folder. These are the only files a consuming project may reference in a `Library`
1064
+ * statement, so only files under `libsource` are eligible - any other staged `.brs` (components, source, etc.)
1065
+ * is NOT a library export and must never be rewritten. Computed from `fileMappings`, which retain the
1066
+ * original (pre-postfix) file names.
1067
+ */
1068
+ getExportedLibraryFileNames() {
1069
+ var _a;
1070
+ return ((_a = this.fileMappings) !== null && _a !== void 0 ? _a : [])
1071
+ //only files inside a `libsource` folder are library exports
1072
+ .filter(fileMapping => /(^|[\\/])libsource[\\/]/i.test(fileMapping.dest))
1073
+ .map(fileMapping => path.basename(fileMapping.dest))
1074
+ .filter(fileName => /\.brs$/i.test(fileName));
1075
+ }
953
1076
  }
954
1077
  exports.ComponentLibraryProject = ComponentLibraryProject;
955
1078
  //# sourceMappingURL=ProjectManager.js.map