@indigoai-us/hq-cloud 6.18.94 → 6.18.96

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 (114) hide show
  1. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  2. package/dist/bin/sync-runner-company.js +3 -0
  3. package/dist/bin/sync-runner-company.js.map +1 -1
  4. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  5. package/dist/bin/sync-runner-watch-loop.js +12 -3
  6. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  7. package/dist/bin/sync-runner.d.ts +28 -1
  8. package/dist/bin/sync-runner.d.ts.map +1 -1
  9. package/dist/bin/sync-runner.js +33 -2
  10. package/dist/bin/sync-runner.js.map +1 -1
  11. package/dist/cli/conflict.d.ts +12 -1
  12. package/dist/cli/conflict.d.ts.map +1 -1
  13. package/dist/cli/conflict.js +6 -2
  14. package/dist/cli/conflict.js.map +1 -1
  15. package/dist/cli/reindex.d.ts +24 -0
  16. package/dist/cli/reindex.d.ts.map +1 -1
  17. package/dist/cli/reindex.js +26 -1
  18. package/dist/cli/reindex.js.map +1 -1
  19. package/dist/cli/rescue.d.ts +8 -0
  20. package/dist/cli/rescue.d.ts.map +1 -1
  21. package/dist/cli/rescue.js +43 -2
  22. package/dist/cli/rescue.js.map +1 -1
  23. package/dist/cli/share.d.ts +46 -5
  24. package/dist/cli/share.d.ts.map +1 -1
  25. package/dist/cli/share.js +187 -23
  26. package/dist/cli/share.js.map +1 -1
  27. package/dist/cli/sync.d.ts +48 -2
  28. package/dist/cli/sync.d.ts.map +1 -1
  29. package/dist/cli/sync.js +211 -20
  30. package/dist/cli/sync.js.map +1 -1
  31. package/dist/cli/tombstones.d.ts +8 -0
  32. package/dist/cli/tombstones.d.ts.map +1 -1
  33. package/dist/cli/tombstones.js +9 -0
  34. package/dist/cli/tombstones.js.map +1 -1
  35. package/dist/context.d.ts.map +1 -1
  36. package/dist/context.js +61 -79
  37. package/dist/context.js.map +1 -1
  38. package/dist/hq-root-recovery.d.ts +37 -6
  39. package/dist/hq-root-recovery.d.ts.map +1 -1
  40. package/dist/hq-root-recovery.js +266 -22
  41. package/dist/hq-root-recovery.js.map +1 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +2 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/journal.d.ts +68 -1
  47. package/dist/journal.d.ts.map +1 -1
  48. package/dist/journal.js +265 -2
  49. package/dist/journal.js.map +1 -1
  50. package/dist/lib/cloud-authoritative.d.ts +10 -0
  51. package/dist/lib/cloud-authoritative.d.ts.map +1 -1
  52. package/dist/lib/cloud-authoritative.js +23 -0
  53. package/dist/lib/cloud-authoritative.js.map +1 -1
  54. package/dist/lib/net-errors.d.ts +14 -0
  55. package/dist/lib/net-errors.d.ts.map +1 -1
  56. package/dist/lib/net-errors.js +49 -0
  57. package/dist/lib/net-errors.js.map +1 -1
  58. package/dist/lib/server-owned-skips.d.ts +64 -0
  59. package/dist/lib/server-owned-skips.d.ts.map +1 -0
  60. package/dist/lib/server-owned-skips.js +182 -0
  61. package/dist/lib/server-owned-skips.js.map +1 -0
  62. package/dist/manifest-reconcile.d.ts +14 -0
  63. package/dist/manifest-reconcile.d.ts.map +1 -1
  64. package/dist/manifest-reconcile.js +20 -2
  65. package/dist/manifest-reconcile.js.map +1 -1
  66. package/dist/outposts/client.d.ts +6 -1
  67. package/dist/outposts/client.d.ts.map +1 -1
  68. package/dist/outposts/client.js +13 -1
  69. package/dist/outposts/client.js.map +1 -1
  70. package/dist/outposts/command.d.ts +1 -1
  71. package/dist/outposts/command.d.ts.map +1 -1
  72. package/dist/outposts/command.js +58 -2
  73. package/dist/outposts/command.js.map +1 -1
  74. package/dist/outposts/company.d.ts +15 -1
  75. package/dist/outposts/company.d.ts.map +1 -1
  76. package/dist/outposts/company.js +36 -1
  77. package/dist/outposts/company.js.map +1 -1
  78. package/dist/s3.d.ts +22 -0
  79. package/dist/s3.d.ts.map +1 -1
  80. package/dist/s3.js +44 -0
  81. package/dist/s3.js.map +1 -1
  82. package/dist/session-log-capture.d.ts.map +1 -1
  83. package/dist/session-log-capture.js +5 -2
  84. package/dist/session-log-capture.js.map +1 -1
  85. package/dist/sync/area-ledger.d.ts.map +1 -1
  86. package/dist/sync/area-ledger.js +3 -3
  87. package/dist/sync/area-ledger.js.map +1 -1
  88. package/dist/sync/durable-apply.js +2 -2
  89. package/dist/sync/durable-apply.js.map +1 -1
  90. package/dist/sync/per-area-maintenance.js +2 -2
  91. package/dist/sync/per-area-maintenance.js.map +1 -1
  92. package/dist/sync/reconcile-cursor.js +2 -2
  93. package/dist/sync/reconcile-cursor.js.map +1 -1
  94. package/dist/sync/secret-path-policy.d.ts +37 -11
  95. package/dist/sync/secret-path-policy.d.ts.map +1 -1
  96. package/dist/sync/secret-path-policy.js +68 -34
  97. package/dist/sync/secret-path-policy.js.map +1 -1
  98. package/dist/sync/snapshot-client.js +2 -2
  99. package/dist/sync/snapshot-client.js.map +1 -1
  100. package/dist/sync/state-store.d.ts +26 -0
  101. package/dist/sync/state-store.d.ts.map +1 -1
  102. package/dist/sync/state-store.js +275 -8
  103. package/dist/sync/state-store.js.map +1 -1
  104. package/dist/sync/uploader-finalization.d.ts.map +1 -1
  105. package/dist/sync/uploader-finalization.js +2 -2
  106. package/dist/sync/uploader-finalization.js.map +1 -1
  107. package/dist/test-fixtures/unknown-journal-generation.d.ts +9 -0
  108. package/dist/test-fixtures/unknown-journal-generation.d.ts.map +1 -0
  109. package/dist/test-fixtures/unknown-journal-generation.js +37 -0
  110. package/dist/test-fixtures/unknown-journal-generation.js.map +1 -0
  111. package/dist/watcher.d.ts.map +1 -1
  112. package/dist/watcher.js +3 -3
  113. package/dist/watcher.js.map +1 -1
  114. package/package.json +1 -1
@@ -36,6 +36,14 @@ export declare const FETCH_TOMBSTONES_BODY_IDLE_TIMEOUT_MS = 60000;
36
36
  * failed attempt so a sync pass cannot hang forever on one request.
37
37
  */
38
38
  export declare const FETCH_TOMBSTONES_BODY_MAX_MS: number;
39
+ /**
40
+ * Rows requested per tombstone page. The server's default page holds up to
41
+ * 10,000 rows (about 2.8 MB), which a slow link may not finish downloading
42
+ * before the per-page ceiling. Smaller pages let each page finish and be
43
+ * checkpointed, so a retry resumes from the last saved cursor. A server that
44
+ * predates the `limit` parameter ignores it and returns its default page.
45
+ */
46
+ export declare const FETCH_TOMBSTONES_PAGE_LIMIT = 2000;
39
47
  /**
40
48
  * Extra attempts for vault 429/502/503/504 so a few-second throttle can
41
49
  * clear. Other non-ok statuses and network errors still use
@@ -1 +1 @@
1
- {"version":3,"file":"tombstones.d.ts","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAetD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD;;;GAGG;AACH,eAAO,MAAM,qCAAqC,QAAS,CAAC;AAC5D;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAc,CAAC;AAIxD;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,IAAI,CAAC;AAoCzD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAM/D;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC;AAEhF;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;gBAE1B,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM;CAK1D;AAwKD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAqHxC"}
1
+ {"version":3,"file":"tombstones.d.ts","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAetD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD;;;GAGG;AACH,eAAO,MAAM,qCAAqC,QAAS,CAAC;AAC5D;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAc,CAAC;AACxD;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAIjD;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,IAAI,CAAC;AAoCzD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAM/D;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC;AAEhF;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;gBAE1B,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM;CAK1D;AAwKD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAsHxC"}
@@ -45,6 +45,14 @@ export const FETCH_TOMBSTONES_BODY_IDLE_TIMEOUT_MS = 60_000;
45
45
  * failed attempt so a sync pass cannot hang forever on one request.
46
46
  */
47
47
  export const FETCH_TOMBSTONES_BODY_MAX_MS = 10 * 60_000;
48
+ /**
49
+ * Rows requested per tombstone page. The server's default page holds up to
50
+ * 10,000 rows (about 2.8 MB), which a slow link may not finish downloading
51
+ * before the per-page ceiling. Smaller pages let each page finish and be
52
+ * checkpointed, so a retry resumes from the last saved cursor. A server that
53
+ * predates the `limit` parameter ignores it and returns its default page.
54
+ */
55
+ export const FETCH_TOMBSTONES_PAGE_LIMIT = 2_000;
48
56
  /** A short bounded retry is cheaper and safer than making delete authority optional. */
49
57
  const FETCH_TOMBSTONES_MAX_ATTEMPTS = 3;
50
58
  const FETCH_TOMBSTONES_RETRY_DELAYS_MS = [250, 750];
@@ -293,6 +301,7 @@ export async function fetchFileTombstones(vaultConfig, scope) {
293
301
  const params = new URLSearchParams(selector);
294
302
  if (cursor)
295
303
  params.set("cursor", cursor);
304
+ params.set("limit", String(FETCH_TOMBSTONES_PAGE_LIMIT));
296
305
  const url = `${base}/v1/files/tombstones?${params.toString()}`;
297
306
  const body = await fetchTombstonePage(url, token);
298
307
  pagesFetched += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"tombstones.js","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tombstones.js","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAClD;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC;AAC5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,GAAG,MAAM,CAAC;AACxD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AACjD,wFAAwF;AACxF,MAAM,6BAA6B,GAAG,CAAC,CAAC;AACxC,MAAM,gCAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAU,CAAC;AAC7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC;AACzD,8EAA8E;AAC9E,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,wCAAwC,GAAG,KAAK,CAAC;AACvD,MAAM,mCAAmC,GAAG,MAAM,CAAC;AACnD,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAElD,SAAS,cAAc,CAAC,GAAa,EAAE,IAAY;IACjD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAe,EACf,GAAyB,EACzB,QAAgB;IAEhB,MAAM,WAAW,GAAG,kCAAkC,GAAG,QAAQ,CAAC;IAClE,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,wCAAwC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,GAAG;QACvB,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,YAAY,GAChB,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,mCAAmC,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,IAAI,CAAC,GAAG,CACb,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAClD,WAAW,CACZ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,QAAQ,CAAS;IAE1B,YAAY,OAAe,EAAE,QAAgB,EAAE,KAAe;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC9C,CAAC;CACF;AAID;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,KAAK,CAAwB;IAEtC,YAAY,KAA4B,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,kFAAkF;AAClF,MAAM,mCAAoC,SAAQ,mBAAmB;IACnE,YAAY,KAAe;QACzB,KAAK,CACH,gGAAgG,EAChG,CAAC,EACD,KAAK,CACN,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AAgBD,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAC5D,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAE9C,SAAS,iBAAiB,CACxB,IAAY,EACZ,KAAqB,EACrB,KAAa;IAEb,MAAM,QAAQ,GAAG,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,UAAU,EAAE,CAAC;IAClF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,sEAAsE;IACtE,yEAAyE;IACzE,OAAO,GAAG,IAAI,SAAS,QAAQ,SAAS,MAAM,SAAS,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,2BAA2B,GAAG,MAAM,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,KAAqC,CAAC;IACxD,OAAO,SAAS,CAAC,aAAa,KAAK,mCAAmC;QACpE,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC1E,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjD,OAAQ,KAAK,CAAC,CAAC,CAAsB,CAAC,SAAS,KAAK,QAAQ,CAC7D,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAAC,cAAsB;IACtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC;IACD,IAAI,OAAO;QAAE,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,wCAAwC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxF,MAAM,kCAAkC,GAAG,IAAI,GAAG,EAAU,CAAC;AAE7D;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,GAAW;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,wCAAwC,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,KAAK,CAAC;QAC3F,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,yEAAyE,IAAI,oBAAoB,CAAC,CAAC;QAClH,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,sBAAsB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/G,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAsB;IACrD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,YAAY,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,yEAAyE;IAC3E,CAAC;IACD,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAC9B,cAAsB,EACtB,UAA+B;IAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,GAAG,cAAc,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;IACpF,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oEAAoE;QACpE,sDAAsD;QACtD,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,IAAK,YAAsC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9D,OAAO,CAAC,KAAK,CACX,kEAAkE,aAAa,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE,CAC3G,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,wBAAwB,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAa;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAC7C,IAA2B,CAAC,IAAI,KAAK,yBAAyB,CAAC;AACpE,CAAC;AAoBD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAA+B,EAC/B,KAAqB;IAErB,MAAM,KAAK,GACT,OAAO,WAAW,CAAC,SAAS,KAAK,UAAU;QACzC,CAAC,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE;QAC/B,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,IAAI,UAAU,IAAI,KAAK;QAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;;QAClD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,MAAM;QAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5F,OAAO,iBAAiB,CACtB,QAAQ,EACR,wBAAwB,WAAW,EAAE,EACrC,KAAK,IAAI,EAAE;QACT,IAAI,UAAU,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,SAAS,CAAC;YACR,MAAM,GAAG,GAAG,IAAI,GAAG,CAA2B,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;YAC5E,IAAI,MAAM,GAAuB,UAAU,EAAE,MAAM,CAAC;YACpD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,CAAC;gBACH,OAAO,YAAY,GAAG,0BAA0B,EAAE,CAAC;oBACjD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,MAAM;wBAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACzC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;oBACzD,MAAM,GAAG,GAAG,GAAG,IAAI,wBAAwB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC/D,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAClD,YAAY,IAAI,CAAC,CAAC;oBAClB,mBAAmB,IAAI,CAAC,CAAC;oBACzB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;wBAC9C,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;4BAAE,SAAS;wBAC3F,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BACjC,8EAA8E;4BAC9E,OAAO,CAAC,IAAI,CACV,6DAA6D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAC7F,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;oBACzE,CAAC;oBAED,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;wBAC1E,CAAC,CAAC,IAAI,CAAC,MAAM;wBACb,CAAC,CAAC,SAAS,CAAC;oBACd,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI;wBACzC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC;oBAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,wBAAwB,CAAC,cAAc,CAAC,CAAC;wBACzC,IAAI,eAAe,EAAE,CAAC;4BACpB,OAAO,CAAC,KAAK,CACX,2DAA2D,mBAAmB,eAAe,GAAG,CAAC,IAAI,EAAE,CACxG,CAAC;wBACJ,CAAC;wBACD,OAAO,GAAG,CAAC;oBACb,CAAC;oBACD,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,wBAAwB,CAAC,cAAc,CAAC,CAAC;wBACzC,MAAM,IAAI,mBAAmB,CAC3B,wGAAwG,EACxG,YAAY,CACb,CAAC;oBACJ,CAAC;oBACD,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAChC,wBAAwB,CAAC,cAAc,CAAC,CAAC;wBACzC,MAAM,IAAI,mBAAmB,CAC3B,sFAAsF,EACtF,YAAY,CACb,CAAC;oBACJ,CAAC;oBACD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC5B,MAAM,GAAG,UAAU,CAAC;oBACpB,UAAU,GAAG;wBACX,aAAa,EAAE,mCAAmC;wBAClD,MAAM;wBACN,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;qBACtC,CAAC;oBACF,uBAAuB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBACtD,CAAC;gBAED,MAAM,IAAI,mBAAmB,CAC3B,sCAAsC,0BAA0B,qDAAqD,EACrH,YAAY,CACb,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,mCAAmC,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACzE,wBAAwB,CAAC,cAAc,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CACX,2GAA2G,CAC5G,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,mEAAmE;gBACnE,qEAAqE;gBACrE,qEAAqE;gBACrE,OAAO,CAAC,KAAK,CACX,wGAAwG,CACzG,CAAC;gBACF,eAAe,GAAG,IAAI,CAAC;gBACvB,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC,EACD;QACE,KAAK,EAAE,wBAAwB,WAAW,EAAE;QAC5C,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;QACrB,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC;AAQD,SAAS,UAAU,CAAC,GAAa;IAC/B,MAAM,IAAI,GAAI,GAA0B,CAAC,IAAI,CAAC;IAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,SAAS,GAAI,IAAgC,CAAC,SAAS,CAAC;IAC9D,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACtD,OAAQ,SAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAa,EACb,UAA2B;IAE3B,IAAI,YAA+C,CAAC;IACpD,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,KAA4B,EAAE,EAAE;QAC5C,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,KAAK,CAAC;QACrB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,MAAM;YAAE,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,IAAI,qBAAqB,CAC5B,cAAc,EACd,iDAAiD,4BAA4B,KAAK;YAChF,aAAa,aAAa,SAAS,CACtC,CAAC,CAAC;IACL,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACjC,IAAI,SAAoD,CAAC;IACzD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACrD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,qBAAqB,CAC5B,cAAc,EACd,0DAA0D,qCAAqC,KAAK;gBAClG,aAAa,aAAa,SAAS,CACtC,CAAC,CAAC;QACL,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,oEAAoE;YACpE,mEAAmE;YACnE,IAAI,CAAC;gBACH,OAAO,MAAM,GAAG,CAAC,IAAI,EAAa,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,IAAI,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,SAAS,CAAC;YACR,IAAI,KAA4C,CAAC;YACjD,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,IAAI,KAAK,CAAC;YAC9B,CAAC;YACD,kEAAkE;YAClE,qDAAqD;YACrD,IAAI,YAAY;gBAAE,MAAM,YAAY,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI;gBAAE,MAAM;YACtB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC9C,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAa;IAC1D,IAAI,SAAkB,CAAC;IACvB,IAAI,UAA8B,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,uCAAuC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACvF,YAAY,GAAG,OAAO,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,cAAiD,CAAC;QACtD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,cAAc,GAAG,IAAI,qBAAqB,CACxC,SAAS,EACT,kDAAkD,2BAA2B,IAAI,CAClF,CAAC;YACF,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAChC,IAAI,GAAyB,CAAC;QAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;oBAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,cAAc,IAAI,KAAK,CAAC;YAChC,CAAC;oBAAS,CAAC;gBACT,qEAAqE;gBACrE,yDAAyD;gBACzD,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,cAAc,CAAC,8BAA8B,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,2BAA2B,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,mCAAmC,CAAC,YAAY,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,YAA6B,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,YAAY,mCAAmC,EAAE,CAAC;gBAC5F,MAAM,KAAK,CAAC;YACd,CAAC;YACD,SAAS,GAAG,KAAK,CAAC;YAClB,UAAU,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,IAAI,2BAA2B,CAAC,UAAU,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,SAAS;gBAC3B,CAAC,CAAC,uCAAuC;gBACzC,CAAC,CAAC,6BAA6B,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,SAAS;oBAChB,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC;oBAC/C,CAAC,CAAC,CAAC,gCAAgC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS;gBACrC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,aAAa,MAAM,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG;gBAC1E,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CACX,0CAA0C,OAAO,IAAI,WAAW,UAAU,MAAM,IAAI;gBAClF,uCAAuC,OAAO,EAAE,CACnD,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS;oBACrC,CAAC,CAAC,eAAe,UAAU,GAAG;oBAC9B,CAAC,CAAC,KAAK,YAAY,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,mBAAmB,CAC3B,qCAAqC,YAAY,yDAAyD,MAAM,EAAE,EAClH,YAAY,EACZ,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,QAAQ,IAAI,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,mBAAmB,CAC3B,qCAAqC,YAAY,wDAAwD,EACzG,YAAY,EACZ,SAAS,CACV,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAyEpE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,mCAAoC,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CAuGxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAqCD,yEAAyE;AACzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnE;AAYD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,GACjD,IAAI,CAEN;AAaD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAWvF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAoDpE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,mCAAoC,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CAgHxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAqCD,yEAAyE;AACzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnE;AAYD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,GACjD,IAAI,CAEN;AAaD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAWvF"}
package/dist/context.js CHANGED
@@ -5,6 +5,7 @@
5
5
  * and returns an EntityContext for S3 operations. Handles auto-refresh when
6
6
  * credentials are within 2 minutes of expiry.
7
7
  */
8
+ import { createHash } from "node:crypto";
8
9
  import { buildClientHeaders } from "./client-info.js";
9
10
  import { DEFAULT_VAULT_REQUEST_TIMEOUT_MS } from "./vault-client.js";
10
11
  import { assertCredentialScopeUsable, credentialScopeErrorFromBody, } from "./credential-scope-error.js";
@@ -19,53 +20,30 @@ const DEFAULT_SESSION_DURATION_SECONDS = 900;
19
20
  * thus never re-hits) the company `/sts/vend` route the gate keys on.
20
21
  */
21
22
  const PRESIGN_NO_VEND_EXPIRES_AT = "9999-12-31T23:59:59.000Z";
22
- /**
23
- * Cached contexts.
24
- *
25
- * Two keying schemes share the map:
26
- * - UID keys: bare `cmp_xxx` / `prs_xxx`. Globally unique by ULID, so
27
- * the cached context is safe to return to any caller asking by uid.
28
- * - Slug keys: `slug:${callerSub}#${slug}`. Under the per-user-namespace
29
- * model on hq-pro (PR 67, live 2026-05-15), the same slug can
30
- * legitimately resolve to different company UIDs for different
31
- * callers. Keying slug entries by `(callerSub, slug)` prevents one
32
- * caller's resolution from being served to another caller against
33
- * the wrong tenant. Codex flagged this as a P1 on PR 67's hq-cloud
34
- * follow-up.
35
- */
23
+ /** Credentials are scoped to their authenticated caller, service, region and
24
+ * transport mode, even when the requested entity UID is globally unique. */
36
25
  const contextCache = new Map();
37
- /**
38
- * Extract the Cognito sub claim from a JWT without verifying the
39
- * signature. We don't need verification here — the token already
40
- * authorized the upstream API call; we're only using `sub` as a
41
- * per-caller cache discriminator. If the token is malformed or
42
- * missing a sub, fall back to a hash of the whole token (slightly
43
- * larger key space, same correctness — different tokens still
44
- * get distinct cache entries).
45
- */
26
+ const scopeGenerations = new Map();
27
+ let contextCacheEpoch = 0;
28
+ /** Bind cached authority to the exact credential, not an unverified JWT sub.
29
+ * Tokens are opaque here: two tokens claiming the same subject may carry
30
+ * different grants, or one may not be valid at all. Retain only a digest. */
46
31
  function callerKeyFromAccessToken(accessToken) {
47
- const parts = accessToken.split(".");
48
- if (parts.length === 3) {
49
- try {
50
- // base64url decode (Node-compatible, no padding required)
51
- const padded = parts[1].replace(/-/g, "+").replace(/_/g, "/");
52
- const payload = Buffer.from(padded, "base64").toString("utf8");
53
- const claims = JSON.parse(payload);
54
- if (typeof claims.sub === "string" && claims.sub.length > 0) {
55
- return claims.sub;
56
- }
57
- }
58
- catch {
59
- // fall through to token-hash fallback
60
- }
61
- }
62
- // Stable fallback — same token → same key, different tokens → different keys.
63
- // (Avoids importing crypto for a sha; the raw token suffix is sufficient as
64
- // a cache discriminator and isn't exposed outside this process.)
65
- return `tok:${accessToken.slice(-32)}`;
32
+ return createHash("sha256").update(accessToken).digest("hex");
66
33
  }
67
- function slugCacheKey(callerKey, slug) {
68
- return `slug:${callerKey}#${slug}`;
34
+ function contextScopeKey(config, token) {
35
+ const endpoint = new URL(config.apiUrl);
36
+ endpoint.hash = "";
37
+ endpoint.pathname = endpoint.pathname.replace(/\/+$/, "");
38
+ return JSON.stringify([
39
+ endpoint.toString(),
40
+ config.region ?? "us-east-1",
41
+ config.companyVaultUsesPresign === true,
42
+ callerKeyFromAccessToken(token),
43
+ ]);
44
+ }
45
+ function scopedCacheKey(scope, kind, target) {
46
+ return JSON.stringify([scope, kind, target]);
69
47
  }
70
48
  /**
71
49
  * Closed-set of recognised entity-UID prefixes. Adding a new entity type
@@ -102,28 +80,34 @@ export async function resolveEntityContext(companyUidOrSlug, config) {
102
80
  // not the membership-gated company `POST /sts/vend`. (US-013, unblocks
103
81
  // US-004: an agent box self-vends its own `hq-vault-agt-<uid>` vault.)
104
82
  const looksLikePerson = companyUidOrSlug.startsWith("prs_") || companyUidOrSlug.startsWith("agt_");
105
- // For slug lookups, scope the cache key by the caller. Resolving the
106
- // access token here (once) doubles as a way to extract the sub for
107
- // the key — same hop the downstream fetch makes anyway.
108
- let cacheKey;
109
- let callerKey = null;
110
- if (looksLikeUid) {
111
- cacheKey = companyUidOrSlug;
112
- }
113
- else {
114
- const token = await resolveAuthToken(config);
115
- callerKey = callerKeyFromAccessToken(token);
116
- cacheKey = slugCacheKey(callerKey, companyUidOrSlug);
117
- }
83
+ // The UID identifies the target, not the caller who owns these credentials.
84
+ // Scope every lookup before accepting a cached authorization context.
85
+ const initialToken = await resolveAuthToken(config);
86
+ const scope = contextScopeKey(config, initialToken);
87
+ const cacheKey = scopedCacheKey(scope, looksLikeUid ? "uid" : "slug", companyUidOrSlug);
88
+ const generation = scopeGenerations.get(scope) ?? 0;
89
+ const epoch = contextCacheEpoch;
90
+ // Resolve refreshable tokens per request, but never let an identity switch
91
+ // authorize a context that will be cached under the earlier caller.
92
+ const scopedConfig = {
93
+ ...config,
94
+ authToken: async () => {
95
+ const token = await resolveAuthToken(config);
96
+ if (contextScopeKey(config, token) !== scope) {
97
+ throw new Error("Vault caller or service changed during context resolution; retry under the current identity.");
98
+ }
99
+ return token;
100
+ },
101
+ };
118
102
  // Check cache — return if credentials still fresh.
119
103
  const cached = contextCache.get(cacheKey);
120
- if (cached && !isExpiringSoon(cached.expiresAt)) {
121
- return cached;
104
+ if (cached && cached.generation === generation && !isExpiringSoon(cached.context.expiresAt)) {
105
+ return cached.context;
122
106
  }
123
107
  // Step 1: Resolve entity — direct fetch by UID or namespace lookup by slug.
124
108
  const entity = looksLikeUid
125
- ? await fetchEntity(companyUidOrSlug, config)
126
- : await fetchEntityBySlug("company", companyUidOrSlug, config);
109
+ ? await fetchEntity(companyUidOrSlug, scopedConfig)
110
+ : await fetchEntityBySlug("company", companyUidOrSlug, scopedConfig);
127
111
  if (!entity.bucketName) {
128
112
  throw new Error(`Entity ${entity.uid} (${entity.slug}) has no bucket provisioned. ` +
129
113
  `Run VLT-2 bucket provisioning first.`);
@@ -159,8 +143,8 @@ export async function resolveEntityContext(companyUidOrSlug, config) {
159
143
  }
160
144
  else {
161
145
  const vendResult = looksLikePerson
162
- ? await vendSelfCredentials(entity.uid, config)
163
- : await vendCredentials(entity.uid, config);
146
+ ? await vendSelfCredentials(entity.uid, scopedConfig)
147
+ : await vendCredentials(entity.uid, scopedConfig);
164
148
  ctx = {
165
149
  uid: entity.uid,
166
150
  slug: entity.slug,
@@ -174,13 +158,16 @@ export async function resolveEntityContext(companyUidOrSlug, config) {
174
158
  expiresAt: vendResult.expiresAt,
175
159
  };
176
160
  }
177
- // Cache by UID (globally unique) and — if the caller asked by slug —
178
- // by `(callerSub, slug)` so the same slug can resolve to different
179
- // entities per caller without cross-caller poisoning.
180
- contextCache.set(entity.uid, ctx);
181
- if (callerKey) {
182
- contextCache.set(slugCacheKey(callerKey, entity.slug), ctx);
161
+ // A caller may switch while a request is in flight. Do not publish or
162
+ // return that completed context to the replacement caller.
163
+ await resolveAuthToken(scopedConfig);
164
+ if (contextCacheEpoch !== epoch || (scopeGenerations.get(scope) ?? 0) !== generation) {
165
+ throw new Error("Vault context was refreshed during resolution; retry with the current generation.");
183
166
  }
167
+ const entry = { context: ctx, generation };
168
+ contextCache.set(scopedCacheKey(scope, "uid", entity.uid), entry);
169
+ if (!looksLikeUid)
170
+ contextCache.set(scopedCacheKey(scope, "slug", entity.slug), entry);
184
171
  return ctx;
185
172
  }
186
173
  /**
@@ -196,24 +183,19 @@ export function isExpiringSoon(expiresAt) {
196
183
  * an expired credentials error.
197
184
  */
198
185
  export async function refreshEntityContext(companyUidOrSlug, config) {
199
- // Evict the entry under whichever key shape applies. UID inputs key
200
- // the cache by the bare uid; slug inputs key by `(callerSub, slug)`.
186
+ const scope = contextScopeKey(config, await resolveAuthToken(config));
187
+ scopeGenerations.set(scope, (scopeGenerations.get(scope) ?? 0) + 1);
201
188
  const looksLikeUid = KNOWN_UID_PREFIXES.some((p) => companyUidOrSlug.startsWith(p));
202
- if (looksLikeUid) {
203
- contextCache.delete(companyUidOrSlug);
204
- }
205
- else {
206
- const token = await resolveAuthToken(config);
207
- const callerKey = callerKeyFromAccessToken(token);
208
- contextCache.delete(slugCacheKey(callerKey, companyUidOrSlug));
209
- }
189
+ contextCache.delete(scopedCacheKey(scope, looksLikeUid ? "uid" : "slug", companyUidOrSlug));
210
190
  return resolveEntityContext(companyUidOrSlug, config);
211
191
  }
212
192
  /**
213
193
  * Clear the entire context cache. Useful for tests.
214
194
  */
215
195
  export function clearContextCache() {
196
+ contextCacheEpoch += 1;
216
197
  contextCache.clear();
198
+ scopeGenerations.clear();
217
199
  }
218
200
  /**
219
201
  * Resolve the current bearer token from a VaultServiceConfig. Accepts either
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,9 @@ export type GitSidecarAction = "restored" | "snapshotted" | "unchanged" | "absen
17
17
  /** A background snapshot was skipped because a recent attempt failed. */
18
18
  | "deferred"
19
19
  /** A background snapshot was skipped: the copy would not leave the free-space reserve. */
20
- | "insufficient-space";
20
+ | "insufficient-space"
21
+ /** Another process holds the snapshot lock for this sidecar. */
22
+ | "in-progress";
21
23
  export declare function gitSidecarDir(hqRoot: string, homeDir?: string): string;
22
24
  export declare function shouldCopyGitSidecarEntry(src: string): boolean;
23
25
  /**
@@ -39,6 +41,15 @@ export declare const GIT_SIDECAR_RETRY_AFTER_MS: number;
39
41
  * stops sync itself (ENOSPC on its own lock and state files).
40
42
  */
41
43
  export declare const GIT_SIDECAR_MIN_FREE_BYTES: number;
44
+ /**
45
+ * A legacy `${dest}.tmp` staging dir (from releases that shared one staging
46
+ * path) older than this is abandoned. A process on such a release may still be
47
+ * copying into a younger one, so it is left alone.
48
+ */
49
+ export declare const GIT_SIDECAR_STALE_STAGING_MS: number;
50
+ /** A snapshot lock older than this is taken over even if its pid is alive (pid reuse). */
51
+ export declare const GIT_SIDECAR_LOCK_STALE_MS: number;
52
+ export type GitSidecarCopyMethod = "clone" | "copy";
42
53
  export interface GitSidecarSnapshotOptions {
43
54
  homeDir?: string;
44
55
  /** Test seam; production uses Date.now. */
@@ -47,15 +58,35 @@ export interface GitSidecarSnapshotOptions {
47
58
  /** Test seam; production reads `fs.promises.statfs` for the destination volume. */
48
59
  freeBytes?: (dir: string) => Promise<number>;
49
60
  minFreeBytes?: number;
61
+ /** Test seam; production picks "clone" on APFS when `.git` and the sidecar share a volume. */
62
+ copyMethod?: (gitDir: string, sidecarParent: string) => Promise<GitSidecarCopyMethod>;
63
+ /** Test seam; production clones with `/bin/cp -c` or copies with `fs.promises.cp`. */
64
+ copyTree?: (gitDir: string, staging: string, method: GitSidecarCopyMethod) => Promise<void>;
50
65
  }
66
+ /**
67
+ * A clone shares data blocks with the source, so a 9 GB `.git` costs almost
68
+ * no space to snapshot. Node's `COPYFILE_FICLONE` does not clone on APFS and
69
+ * `COPYFILE_FICLONE_FORCE` fails with ENOSYS there, so macOS uses
70
+ * `/bin/cp -c`, which clones only within one APFS volume.
71
+ */
72
+ export declare function gitSidecarCopyMethod(gitDir: string, sidecarParent: string): Promise<GitSidecarCopyMethod>;
73
+ /** `cp -R` has no filter: drop lock files, FIFOs, sockets and devices after the clone. */
74
+ export declare function pruneUncopyableEntries(root: string): Promise<void>;
75
+ export declare function gitSidecarLockPath(dest: string): string;
76
+ /**
77
+ * The failure backoff is also written next to the sidecar, so each new
78
+ * `hq sync` process honors it instead of starting another multi-gigabyte copy.
79
+ */
80
+ export declare function gitSidecarStatePath(dest: string): string;
51
81
  /**
52
82
  * Snapshot `.git` without blocking the caller's event loop. The HQ `.git` can
53
83
  * be many gigabytes, and the watch runner calls this at startup and on every
54
- * pass, so the copy runs on libuv's threadpool through `fs.promises.cp`.
55
- * Concurrent calls for one sidecar share a single copy, and after a failed
56
- * copy the next attempt waits `retryAfterMs` instead of recopying every pass.
57
- * The copy is skipped when it would leave less than `minFreeBytes` free on
58
- * the destination volume.
84
+ * pass, so the copy runs off the event loop, as a copy-on-write clone where
85
+ * the volume supports one. Concurrent calls for one sidecar share a single
86
+ * copy: in this process through one promise, across processes through a lock
87
+ * file. After a failed or skipped copy, every process waits `retryAfterMs`
88
+ * before the next attempt. The copy is skipped when it would leave less than
89
+ * `minFreeBytes` free on the destination volume.
59
90
  * The returned promise never rejects.
60
91
  */
61
92
  export declare function snapshotHqGitInBackground(hqRoot: string, opts?: GitSidecarSnapshotOptions): Promise<GitSidecarAction>;
@@ -1 +1 @@
1
- {"version":3,"file":"hq-root-recovery.d.ts","sourceRoot":"","sources":["../src/hq-root-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAQzB,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,aAAa,GACb,WAAW,GACX,QAAQ;AACV,0DAA0D;GACxD,QAAQ;AACV,yEAAyE;GACvE,UAAU;AACZ,0FAA0F;GACxF,oBAAoB,CAAC;AAEzB,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAqB,GAAG,MAAM,CAEpF;AAMD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,CAElE;AAoCD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,gBAAgB,CA4BlB;AAED,wEAAwE;AACxE,eAAO,MAAM,0BAA0B,QAAc,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAgB,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA8FD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAuB3B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,gBAAgB,CAkBlB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAmB5D;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,GAAG,EAAE,gBAAgB,GAAG,WAAW,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,oBAAoB,CAStB"}
1
+ {"version":3,"file":"hq-root-recovery.d.ts","sourceRoot":"","sources":["../src/hq-root-recovery.ts"],"names":[],"mappings":"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"}