signalk-container 1.2.1 → 1.3.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.
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/jobs.d.ts +19 -1
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.js +149 -0
- package/dist/jobs.js.map +1 -1
- package/dist/types.d.ts +59 -0
- package/dist/types.d.ts.map +1 -1
- package/doc/plugin-developer-guide.md +51 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -564,6 +564,12 @@ module.exports = (app) => {
|
|
|
564
564
|
throw new Error("No container runtime available");
|
|
565
565
|
return (0, jobs_1.runJob)(runtimeInfo, config);
|
|
566
566
|
},
|
|
567
|
+
async cleanupOrphanedJobs(filter) {
|
|
568
|
+
if (!runtimeInfo) {
|
|
569
|
+
return { reaped: [] };
|
|
570
|
+
}
|
|
571
|
+
return (0, jobs_1.cleanupOrphanedJobs)(runtimeInfo, filter.ownerPluginId);
|
|
572
|
+
},
|
|
567
573
|
async prune() {
|
|
568
574
|
if (!runtimeInfo)
|
|
569
575
|
throw new Error("No container runtime available");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AAexB,2CAOqB;AACrB,uCAA2D;AAC3D,6CAuBsB;AACtB,iCAAgC;AAChC,+CAAkD;AAClD,2CAAkD;AAClD,6CAAwD;AAsBxD,MAAM,CAAC,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC5B,IAAI,WAAW,GAAgC,IAAI,CAAC;IACpD,IAAI,UAAU,GAA0B,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;IACvD,IAAI,aAAa,GAAyB,IAAI,CAAC;IAE/C;;;;;;;;;;;OAWG;IACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD,IAAI,gBAAgB,GAA4C,EAAE,CAAC;IACnE,uEAAuE;IACvE,gEAAgE;IAChE,yEAAyE;IACzE,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,iBAAiB,GAA2B,IAAI,CAAC;IACrD,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,IAAI,qBAAqB,GAAgC,SAAS,CAAC;IACnE,IAAI,eAAe,GAAoC,IAAI,CAAC;IAC5D,KAAK,UAAU,2BAA2B;QACxC,IAAI,qBAAqB,KAAK,SAAS;YAAE,OAAO,qBAAqB,CAAC;QACtE,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAC5C,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAA,mCAAsB,EAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAChE,eAAe,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAChC,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACjC,qBAAqB,GAAG,QAAQ,CAAC;YACnC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,eAAe,KAAK,QAAQ;gBAAE,eAAe,GAAG,IAAI,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,mEAAmE;IACnE,0EAA0E;IAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,0EAA0E;IAC1E,oEAAoE;IACpE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,UAAU,sBAAsB;QACnC,IAAI,gBAAgB;YAAE,OAAO,gBAAgB,CAAC;QAC9C,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC;QAChD,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,qCAAwB,EAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3E,iBAAiB,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;YACzC,kEAAkE;YAClE,kEAAkE;YAClE,2DAA2D;YAC3D,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBACnC,gBAAgB,GAAG,QAAQ,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,8BAA8B,gBAAgB,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,iBAAiB,KAAK,QAAQ;gBAAE,iBAAiB,GAAG,IAAI,CAAC;QAC/D,CAAC;IACH,CAAC;IACD;;;;;;;;;OASG;IACH,SAAS,uBAAuB,CAAC,IAAY;QAC3C,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;gBAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAmC,CAAC;IACtE,sEAAsE;IACtE,kEAAkE;IAClE,sEAAsE;IACtE,sEAAsE;IACtE,0DAA0D;IAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmC,CAAC;IAClE,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,IAAI,aAAa,GAAwB,IAAI,CAAC;IAE9C;;;;;;;;;;;;;OAaG;IACH,SAAS,sBAAsB,CAAC,YAAoB;QAClD,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,CACP,0BAA0B,YAAY,6BAA6B,aAAa,KAAK,IAAI,uBAAuB,CAAC,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAC3I,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG;YACb,GAAG,aAAa;YAChB,kBAAkB,EAAE,EAAE,GAAG,gBAAgB,EAAE;SAC5C,CAAC;QACF,iEAAiE;QACjE,0BAA0B;QAC1B,aAAa,GAAG,MAAM,CAAC;QACvB,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACpC,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,KAAK,CACP,iDAAiD,YAAY,MAAM,GAAG,CAAC,OAAO,IAAI;oBAChF,+EAA+E,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CACP,0BAA0B,YAAY,gCAAgC,CACvE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,SAAS,cAAc,CAAC,IAAY,EAAE,MAA+B;QACnE,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,aAAa;YAC7B,CAAC,CAAC,IAAA,4BAAgB,EAAC,MAAM,EAAE,aAAa,CAAC;YACzC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,sBAAsB,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,SAAS,aAAa,CAAC,IAAY;QACjC,IAAI,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC;YAAE,OAAO;QACxC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9B,sBAAsB,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAwB;QAC/B,UAAU;YACR,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,UAAkC;YAC/D,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,sBAAS,EACb,WAAW,EACX,IAAA,yBAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,EAC1C,UAAU,CACX,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,KAAa;YAC7B,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC/B,OAAO,IAAA,wBAAW,EAChB,WAAW,EACX,IAAA,yBAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,CAC3C,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,gBAAwB;YAC3C,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,OAAO,IAAA,2BAAc,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,MAAuB,EACvB,OAA4B;YAE5B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAEpE,uEAAuE;YACvE,qEAAqE;YACrE,qDAAqD;YACrD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;gBAC9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBAClD,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpC,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,wBAAwB,gBAAgB,uCAAuC,QAAQ,2BAA2B,MAAM,GAAG,CACjJ,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG;oBACP,GAAG,IAAI;oBACP,OAAO,EAAE;wBACP,GAAG,IAAI,CAAC,OAAO;wBACf,CAAC,gBAAgB,CAAC,EAAE,MAAM;qBAC3B;iBACF,CAAC;YACJ,CAAC;YAED,+DAA+D;YAC/D,iEAAiE;YACjE,iEAAiE;YACjE,EAAE;YACF,qEAAqE;YACrE,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;YAEjD,IAAI,MAAM,CAAC,sBAAsB,EAAE,MAAM,EAAE,CAAC;gBAC1C,qEAAqE;gBACrE,gEAAgE;gBAChE,MAAM,EACJ,sBAAsB,EACtB,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,YAAY,EACnB,GAAG,SAAS,EACb,GAAG,MAAM,CAAC;gBAEX,iEAAiE;gBACjE,kEAAkE;gBAClE,+DAA+D;gBAC/D,IAAI,kBAAkB,EAAE,CAAC;oBACvB,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,2DAA2D;wBAC9E,IAAI,kBAAkB,uBAAuB;wBAC7C,kEAAkE,CACrE,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzD,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,qDAAqD;wBACxE,+FAA+F;wBAC/F,4DAA4D,CAC/D,CAAC;gBACJ,CAAC;gBAED,iEAAiE;gBACjE,yDAAyD;gBACzD,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;oBACnD,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC;gBAClD,CAAC;gBAED,sEAAsE;gBACtE,qEAAqE;gBACrE,mEAAmE;gBACnE,qEAAqE;gBACrE,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,IAAA,yBAAe,GAAE;oBAChC,CAAC,CAAC,MAAM,2BAA2B,EAAE;oBACrC,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBAE5C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,iEAAiE;oBACjE,gEAAgE;oBAChE,kCAAkC;oBAClC,MAAM,YAAY,GAA2B,EAAE,CAAC;oBAChD,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;wBACnD,iEAAiE;wBACjE,2DAA2D;wBAC3D,gEAAgE;wBAChE,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;wBAC5C,IAAI,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAiB,EAAC,aAAa,CAAC,CAAC;4BACxD,OAAO,GAAG,aAAa,QAAQ,EAAE,CAAC;4BAClC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;4BACtC,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gCAC/B,GAAG,CAAC,KAAK,CACP,0BAA0B,IAAI,WAAW,aAAa,yBAAyB,QAAQ,EAAE,CAC1F,CAAC;4BACJ,CAAC;wBACH,CAAC;wBACD,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,QAAQ,EAAE,CAAC;oBAChE,CAAC;oBACD,kEAAkE;oBAClE,4DAA4D;oBAC5D,uDAAuD;oBACvD,MAAM,GAAG;wBACP,GAAG,SAAS;wBACZ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,EAAE;qBACzB,CAAC;gBACvB,CAAC;qBAAM,IAAI,aAAa,EAAE,CAAC;oBACzB,iEAAiE;oBACjE,6DAA6D;oBAC7D,8DAA8D;oBAC9D,uCAAuC;oBACvC,IAAI,kBAAkB,IAAI,kBAAkB,KAAK,aAAa,EAAE,CAAC;wBAC/D,GAAG,CAAC,KAAK,CACP,0BAA0B,IAAI,uCAAuC,kBAAkB,2BAA2B,aAAa,GAAG,CACnI,CAAC;oBACJ,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;oBAC9D,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;wBACnD,cAAc,CAAC,GAAG,CAChB,GAAG,IAAI,IAAI,aAAa,EAAE,EAC1B,GAAG,QAAQ,IAAI,aAAa,EAAE,CAC/B,CAAC;oBACJ,CAAC;oBACD,kEAAkE;oBAClE,+BAA+B;oBAC/B,MAAM,GAAG;wBACP,GAAG,SAAS;wBACZ,WAAW,EAAE,aAAa;qBACR,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,gEAAgE;oBAChE,oEAAoE;oBACpE,EAAE;oBACF,4DAA4D;oBAC5D,mEAAmE;oBACnE,4DAA4D;oBAC5D,kEAAkE;oBAClE,kEAAkE;oBAClE,oEAAoE;oBACpE,gEAAgE;oBAChE,+DAA+D;oBAC/D,+DAA+D;oBAC/D,qEAAqE;oBACrE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAC1C,GAAG,CAAC,KAAK,CACP,0BAA0B,IAAI,2DAA2D,MAAM,EAAE,CAClG,CAAC;oBACF,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;wBACnD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;wBAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAClC,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAiB,EAAC,aAAa,CAAC,CAAC;4BACtD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gCAC7B,sDAAsD;gCACtD,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC;gCAC5B,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,WAAW,aAAa,qBAAqB;oCACzE,8CAA8C,MAAM,KAAK;oCACzD,wCAAwC,CAC3C,CAAC;4BACJ,CAAC;4BACD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,aAAa,EAAE,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;oBACD,kEAAkE;oBAClE,gDAAgD;oBAChD,MAAM,GAAG;wBACP,GAAG,SAAS;wBACZ,WAAW,EAAE,aAAa,MAAM,EAAE;qBAChB,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,gEAAgE;YAChE,kEAAkE;YAClE,yDAAyD;YACzD,kDAAkD;YAClD,+DAA+D;YAC/D,uCAAuC;YACvC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAE1D,gEAAgE;YAChE,iEAAiE;YACjE,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAA,+BAAmB,EAChC,MAAM,CAAC,SAAS,EAChB,gBAAgB,CAAC,IAAI,CAAC,CACvB,CAAC;YACF,gEAAgE;YAChE,2DAA2D;YAC3D,8DAA8D;YAC9D,gEAAgE;YAChE,oCAAoC;YACpC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAA,mCAAuB,EACnE,MAAM,EACN,WAAW,CACZ,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,wBAAwB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,eAAe,GAAoB;gBACvC,GAAG,MAAM;gBACT,SAAS,EAAE,cAAc;aAC1B,CAAC;YAEF,4DAA4D;YAC5D,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACvC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAE7C,4DAA4D;YAC5D,+DAA+D;YAC/D,uDAAuD;YACvD,0DAA0D;YAC1D,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAgB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACH,MAAM,IAAA,0BAAa,EACjB,WAAW,EACX,IAAI,EACJ,eAAe,EACf,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EACvB,OAAO,CACR,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kEAAkE;gBAClE,oEAAoE;gBACpE,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,iEAAiE;YACjE,+DAA+D;YAC/D,6DAA6D;YAC7D,sEAAsE;YACtE,gEAAgE;YAChE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;gBACzC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,gEAAgE;YAChE,+DAA+D;YAC/D,8DAA8D;YAC9D,2DAA2D;YAC3D,IAAI,CAAC,IAAA,+BAAmB,EAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;gBAE9D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,wDAAwD;gBACxD,6DAA6D;gBAC7D,mDAAmD;gBACnD,MAAM,WAAW,GAAG,IAAA,2CAA+B,EACjD,SAAS,EACT,cAAc,CACf,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,+BAA+B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;wBACzG,sFAAsF;wBACtF,sDAAsD,IAAI,iCAAiC,CAC9F,CAAC;oBACF,kEAAkE;gBACpE,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAa,EAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACxE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACb,yDAAyD;oBACzD,wDAAwD;oBACxD,wDAAwD;oBACxD,qDAAqD;oBACrD,sDAAsD;oBACtD,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,mCAAmC,IAAI,CAAC,MAAM,IAAI,gBAAgB,IAAI;wBACzF,6CAA6C;wBAC7C,4BAA4B,IAAI,iCAAiC,CACpE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,+CAA+C,CACrE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,QAAQ;oBAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAEtC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;oBACnC,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,WAAY,EAAE,CAAC;wBACxC,IAAI,CAAC,EAAE,EAAE,CAAC;4BACR,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,WAAW,EAAE,CACnB,IAAI,EACJ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;oBACJ,CAAC;gBACH,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,uBAAuB,CAC3B,aAAqB,EACrB,aAAqB;YAErB,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,2BAA2B,aAAa,KAAK,aAAa,KAAK;oBAC7D,qFAAqF;oBACrF,wDAAwD,CAC3D,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,uBAAuB;YAC3B,4DAA4D;YAC5D,6DAA6D;YAC7D,4DAA4D;YAC5D,8DAA8D;YAC9D,6BAA6B;YAC7B,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,cAAc;gBAAE,OAAO,IAAI,CAAC;YACrD,OAAO,sBAAsB,EAAE,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,OAAe;YACnC,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,OAAO,IAAA,4BAAe,EAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,IAAY;YACtB,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,2BAAc,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAY;YACrB,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAY;YACvB,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACzC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,IAAY;YACzB,IAAI,CAAC,WAAW;gBAAE,OAAO,YAAY,CAAC;YACtC,OAAO,IAAA,8BAAiB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAA0B;YACrC,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,OAAO,IAAA,aAAM,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,OAAO,IAAA,wBAAW,EAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,cAAc;YAClB,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC;YAC5B,OAAO,IAAA,2BAAc,EAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,OAAiB;YACnD,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,OAAO,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAY;YAC9B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAY;YAC9B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,WAAmB;YAC/D,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,6BAAgB,EAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,aAAqB,EAAE,WAAmB;YACpE,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,kCAAqB,EAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,MAA+B;YAE/B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,+DAA+D;YAC/D,kEAAkE;YAClE,6DAA6D;YAC7D,2DAA2D;YAC3D,iEAAiE;YACjE,8DAA8D;YAC9D,6DAA6D;YAC7D,wDAAwD;YACxD,EAAE;YACF,8DAA8D;YAC9D,6DAA6D;YAC7D,2DAA2D;YAC3D,iDAAiD;YACjD,4DAA4D;YAC5D,qDAAqD;YACrD,EAAE;YACF,oDAAoD;YACpD,mEAAmE;YACnE,+DAA+D;YAC/D,4DAA4D;YAC5D,WAAW;YACX,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,YAAY,GAAG,IAAA,+BAAmB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAEhE,+DAA+D;YAC/D,uDAAuD;YACvD,8DAA8D;YAC9D,2DAA2D;YAC3D,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAA,mCAAuB,EACnE,YAAY,EACZ,WAAW,CACZ,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,4DAA4D;YAC5D,iEAAiE;YACjE,yDAAyD;YACzD,qCAAqC;YACrC,6DAA6D;YAC7D,+DAA+D;YAC/D,4DAA4D;YAC5D,iEAAiE;YACjE,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAgB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE7D,6DAA6D;YAC7D,mEAAmE;YACnE,iEAAiE;YACjE,6DAA6D;YAC7D,kCAAkC;YAClC,IAAI,IAAA,+BAAmB,EAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,IAAA,8BAAiB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,iBAAiB,CACxD,CAAC;gBACJ,CAAC;gBACD,uDAAuD;gBACvD,2DAA2D;gBAC3D,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;gBACpD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7B,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACjD,CAAC;YACJ,CAAC;YAED,kEAAkE;YAClE,gEAAgE;YAChE,+DAA+D;YAC/D,gEAAgE;YAChE,kDAAkD;YAClD,MAAM,oBAAoB,GAAG,IAAA,2CAA+B,EAC1D,UAAU,EACV,cAAc,CACf,CAAC;YACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;YACtD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,CAAC,GAAG,yDAAyD,SAAS,EAAE,CAAC;gBAC/E,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,4DAA4D;YAC5D,4DAA4D;YAC5D,iEAAiE;YACjE,MAAM,IAAI,GAAG,aAAa;gBACxB,CAAC,CAAC;oBACE,EAAE,EAAE,KAAc;oBAClB,MAAM,EAAE,0DAA0D;iBACnE;gBACH,CAAC,CAAC,MAAM,IAAA,yBAAa,EAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;gBACpD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7B,yDAAyD;gBACzD,yDAAyD;gBACzD,gBAAgB;gBAChB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,MAAM,EAAE,CAAC;oBACX,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;wBACpB,GAAG,MAAM;wBACT,SAAS,EAAE,EAAE,GAAG,cAAc,EAAE;qBACjC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACjD,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,kEAAkE;YAClE,mCAAmC;YACnC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,gCAAgC;oBACtE,uBAAuB,IAAI,CAAC,MAAM,IAAI,gBAAgB,IAAI;oBAC1D,sDAAsD,CACzD,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,SAAS,GAAoB;gBACjC,GAAG,YAAY;gBACf,SAAS,EAAE,EAAE,GAAG,cAAc,EAAE;aACjC,CAAC;YAEF,wDAAwD;YACxD,6DAA6D;YAC7D,6DAA6D;YAC7D,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CACX,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACxD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,CAAC;YACJ,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,6DAA6D;gBAC7D,0DAA0D;gBAC1D,wDAAwD;gBACxD,MAAM,WAAW,GACf,WAAW,YAAY,KAAK;oBAC1B,CAAC,CAAC,WAAW,CAAC,OAAO;oBACrB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC1B,GAAG,CAAC,KAAK,CACP,mBAAmB,IAAI,4DAA4D,WAAW,EAAE,CACjG,CAAC;gBAEF,IAAI,CAAC;oBACH,qDAAqD;oBACrD,MAAM,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACzD,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3D,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,CAAC;oBACF,4DAA4D;oBAC5D,8DAA8D;oBAC9D,2DAA2D;oBAC3D,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,KAAK,WAAW,IAAI;wBAC3D,4EAA4E,EAC9E,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;gBACJ,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,wDAAwD;oBACxD,8DAA8D;oBAC9D,0DAA0D;oBAC1D,MAAM,WAAW,GACf,WAAW,YAAY,KAAK;wBAC1B,CAAC,CAAC,WAAW,CAAC,OAAO;wBACrB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC1B,4DAA4D;oBAC5D,6DAA6D;oBAC7D,SAAS;oBACT,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;wBAC/D,6DAA6D;wBAC7D,MAAM,WAAW,CAAC;oBACpB,CAAC;oBACD,IAAI,WAAW,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;wBAC5D,2DAA2D;wBAC3D,MAAM,WAAW,CAAC;oBACpB,CAAC;oBACD,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChC,GAAG,CAAC,cAAc,CAChB,aAAa,IAAI,iCAAiC;wBAChD,oBAAoB,WAAW,0BAA0B,WAAW,KAAK;wBACzE,+BAA+B,CAClC,CAAC;oBACF,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,KAAK,WAAW,IAAI;wBAC3D,4BAA4B,WAAW,KAAK;wBAC5C,uEAAuE,EACzE,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACjC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;YACpD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAC3C,CAAC;QAED,YAAY,CAAC,IAAY;YACvB,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACrD,CAAC;QAED,+DAA+D;QAC/D,+DAA+D;QAC/D,IAAI,OAAO;YACT,OAAO,aAAa,IAAI,iBAAiB,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF;;;;OAIG;IACH,MAAM,iBAAiB,GAAG;QACxB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;QACpB,QAAQ,EAAE,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;QACxB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;QACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrB,KAAK,CAAC,KAAK;oBACT,OAAO;wBACL,IAAI,EAAE,OAAgB;wBACtB,KAAK,EAAE,mCAAmC;qBAC3C,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpB,KAAK,CAAC,KAAK;oBACT,OAAO;wBACL,IAAI,EAAE,OAAgB;wBACtB,KAAK,EAAE,mCAAmC;qBAC3C,CAAC;gBACJ,CAAC;aACF,CAAC;SACH;KAC0B,CAAC;IAE9B,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QAEzB,MAAM,EAAE;YACN,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBAClC,OAAO,EAAE,MAAM;oBACf,KAAK,EAAE,mBAAmB;oBAC1B,WAAW,EACT,6DAA6D;iBAChE;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;oBAClC,OAAO,EAAE,QAAQ;oBACjB,KAAK,EAAE,4BAA4B;iBACpC;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,KAAK,EAAE,8BAA8B;oBACrC,WAAW,EAAE,yCAAyC;iBACvD;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,uBAAuB;oBAC9B,WAAW,EACT,6EAA6E;iBAChF;gBACD,sBAAsB,EAAE;oBACtB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,0BAA0B;oBACjC,WAAW,EACT,gJAAgJ;iBACnJ;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAiB;oBACvB,KAAK,EAAE,kCAAkC;oBACzC,WAAW,EACT,sWAAsW;oBACxW,oBAAoB,EAAE;wBACpB,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE;4BACjE,SAAS,EAAE;gCACT,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,gCAAgC;6BACxC;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,4CAA4C;6BACpD;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,oCAAoC;6BAC5C;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,uDAAuD;6BAC/D;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,mBAAmB;6BAC3B;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,oBAAoB;6BAC5B;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,oCAAoC;6BAC5C;yBACF;qBACF;oBACD,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;QAED,KAAK,CAAC,MAAoB;YACxB,kEAAkE;YAClE,gEAAgE;YAChE,8CAA8C;YAC9C,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAC9B,8DAA8D;YAC9D,yDAAyD;YACzD,6DAA6D;YAC7D,+DAA+D;YAC/D,8DAA8D;YAC9D,uDAAuD;YACvD,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAEnD,2DAA2D;YAC3D,2DAA2D;YAC3D,wDAAwD;YACxD,yDAAyD;YACzD,uDAAuD;YACvD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc;gBAChC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE;gBACtB,CAAC,CAAC,wBAAwB,CAAC;YAC7B,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,sBAAsB,CACvC,MAAM,CAAC,mBAAmB,EAC1B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACpB,CAAC;YACF,aAAa,GAAG,IAAI,uBAAa,CAAC;gBAChC,GAAG,EAAE;oBACH,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;oBAChD,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;oBAChD,aAAa,EAAE,GAAG,CAAC,aAAa;wBAC9B,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,aAAc,CAAC,EAAE,EAAE,KAAK,CAAC;wBAC9C,CAAC,CAAC,SAAS;iBACd;gBACD,UAAU,EAAE;oBACV,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW;oBAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CACjB,WAAW;wBACT,CAAC,CAAC,IAAA,8BAAiB,EAAC,WAAW,EAAE,IAAI,CAAC;wBACtC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAA8B,CAAC;oBACrD,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;wBACzB,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBACpE,MAAM,IAAA,sBAAS,EACb,WAAW,EACX,IAAA,yBAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,CAC3C,CAAC;oBACJ,CAAC;oBACD,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;wBACzC,IAAI,CAAC,WAAW;4BAAE,OAAO,IAAI,CAAC;wBAC9B,OAAO,IAAA,2BAAc,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;oBACvD,CAAC;iBACF;gBACD,KAAK,EAAE;oBACL,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC;oBAClD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAwB,CAAC;iBAC/D;gBACD,KAAK,EAAE,IAAI,uBAAe,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9D,sBAAsB,EAAE,UAAU;gBAClC,gBAAgB,EAAE,MAAM,CAAC,sBAAsB,KAAK,KAAK;aAC1D,CAAC,CAAC;YAEH,qDAAqD;YACrD,8DAA8D;YAC9D,iEAAiE;YAChE,UAAkB,CAAC,0BAA0B,GAAG,GAAG,CAAC;YAErD,6CAA6C;YAC7C,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;gBAC5C,MAAM,aAAa,GAAG,IAAA,yBAAe,GAAE,CAAC;gBACxC,IAAI,aAAa,EAAE,CAAC;oBAClB,GAAG,CAAC,KAAK,CACP,4DAA4D;wBAC1D,iEAAiE,CACpE,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;gBAC1D,WAAW,GAAG,MAAM,IAAA,uBAAa,EAAC,UAAU,CAAC,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;gBAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,GAAG,GAAG,aAAa;wBACvB,CAAC,CAAC,2EAA2E;4BAC3E,iEAAiE;wBACnE,CAAC,CAAC,qEAAqE,CAAC;oBAC1E,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,eAAe,CACjB,GAAG,YAAY,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CACxH,CAAC;gBAEF,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;oBAC3D,MAAM,UAAU,GACd,MAAM,CAAC,aAAa,KAAK,QAAQ;wBAC/B,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;wBACzB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBAC/B,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;wBAClC,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAW,EAAC,WAAY,CAAC,CAAC;4BAC/C,GAAG,CAAC,KAAK,CACP,UAAU,MAAM,CAAC,aAAa,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAC5E,CAAC;wBACJ,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC,EAAE,UAAU,CAAC,CAAC;gBACjB,CAAC;gBAED,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,GAAG,CAAC,cAAc,CAChB,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1C,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,EAAE,CAAC;gBACrB,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,gBAAgB,GAAG,EAAE,CAAC;YACtB,aAAa,GAAG,IAAI,CAAC;YACrB,gBAAgB,GAAG,IAAI,CAAC;YACxB,iBAAiB,GAAG,IAAI,CAAC;YACzB,qBAAqB,GAAG,SAAS,CAAC;YAClC,eAAe,GAAG,IAAI,CAAC;YACvB,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAQ,UAAkB,CAAC,0BAA0B,CAAC;QACxD,CAAC;QAED,kBAAkB,CAAC,MAAe;YAChC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACvC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAChD,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC3D,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACzD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI;oBACJ,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI;iBACzC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAChE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACvD,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI;wBACJ,GAAG,MAAM;wBACT,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;wBACjC,yDAAyD;wBACzD,qDAAqD;wBACrD,8CAA8C;wBAC9C,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI;qBACzC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH;;;;;;;;;;;;eAYG;YACH,MAAM,CAAC,MAAM,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAClE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EACH,kCAAkC,IAAI,wBAAwB;4BAC9D,+DAA+D;4BAC/D,qBAAqB;qBACxB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,gEAAgE;oBAChE,4DAA4D;oBAC5D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,wBAAwB;oBACxB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBAC9D,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI;wBACJ,OAAO,EAAE,IAAI;wBACb,GAAG,MAAM;wBACT,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;wBACjC,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC3D,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5D,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC7D,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC5C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,yDAAyD;YACzD,wCAAwC;YACxC,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAA,6BAAoB,EAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,SAAS,sBAAsB,CAC7B,KAAyB,EACzB,QAAgB;IAEhB,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,CAAC,CAAC;QACX,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,IAAI,CAAC;QAClB,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACvB,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACjC;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/jobs.d.ts
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
import { ContainerJobConfig, ContainerJobResult, ContainerRuntimeInfo } from "./types";
|
|
1
|
+
import { ContainerJobConfig, ContainerJobResult, ContainerRuntimeInfo, CleanupOrphansResult, OrphanJobInfo } from "./types";
|
|
2
2
|
export declare function runJob(runtime: ContainerRuntimeInfo, config: ContainerJobConfig): Promise<ContainerJobResult>;
|
|
3
|
+
/**
|
|
4
|
+
* Parse one tab-separated line emitted by `podman ps --format
|
|
5
|
+
* "{{.Names}}\t{{.Image}}\t{{.Labels}}"` into an OrphanJobInfo.
|
|
6
|
+
* Returns null for malformed lines. Exposed for unit tests; the
|
|
7
|
+
* runtime CLI is not mocked in the test harness.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseOrphanLine(line: string, ownerPluginId: string): OrphanJobInfo | null;
|
|
10
|
+
/**
|
|
11
|
+
* Find every running `sk-job-*` container labelled with the given
|
|
12
|
+
* `ownerPluginId`, stop and remove each one (`rm --force`), and
|
|
13
|
+
* return the list so the caller can roll back any persistent state
|
|
14
|
+
* tied to those jobs.
|
|
15
|
+
*
|
|
16
|
+
* Used by consumer plugins on their `start()` to clean up after a
|
|
17
|
+
* Signal K crash that left helper containers running with no parent
|
|
18
|
+
* listener.
|
|
19
|
+
*/
|
|
20
|
+
export declare function cleanupOrphanedJobs(runtime: ContainerRuntimeInfo, ownerPluginId: string): Promise<CleanupOrphansResult>;
|
|
3
21
|
//# sourceMappingURL=jobs.d.ts.map
|
package/dist/jobs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,SAAS,CAAC;AAKjB,wBAAsB,MAAM,CAC1B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA8H7B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,aAAa,GAAG,IAAI,CAwDtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAsE/B"}
|
package/dist/jobs.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runJob = runJob;
|
|
4
|
+
exports.parseOrphanLine = parseOrphanLine;
|
|
5
|
+
exports.cleanupOrphanedJobs = cleanupOrphanedJobs;
|
|
4
6
|
const crypto_1 = require("crypto");
|
|
5
7
|
const runtime_1 = require("./runtime");
|
|
6
8
|
const containers_1 = require("./containers");
|
|
@@ -43,6 +45,24 @@ async function runJob(runtime, config) {
|
|
|
43
45
|
result.status = "running";
|
|
44
46
|
result.startedAt = new Date().toISOString();
|
|
45
47
|
const args = ["run", "--rm", "--name", jobName];
|
|
48
|
+
// Label every job container so cleanupOrphanedJobs can find ours
|
|
49
|
+
// after a Signal K crash. `sk-charts-job=1` is the broad "this is
|
|
50
|
+
// a managed sk-job from signalk-container" marker; `sk-job-owner`
|
|
51
|
+
// narrows to a specific plugin so a future docking of multiple
|
|
52
|
+
// sk-container-using plugins doesn't have plugins reaping each
|
|
53
|
+
// other's orphans.
|
|
54
|
+
//
|
|
55
|
+
// The labels column we read back from `ps` is comma-delimited, so
|
|
56
|
+
// any commas inside a label value would silently truncate. Use
|
|
57
|
+
// encodeURIComponent on values that could contain user-supplied
|
|
58
|
+
// text; parseOrphanLine decodes on the way back.
|
|
59
|
+
args.push("--label", "sk-charts-job=1");
|
|
60
|
+
if (config.ownerPluginId) {
|
|
61
|
+
args.push("--label", `sk-job-owner=${encodeURIComponent(config.ownerPluginId)}`);
|
|
62
|
+
}
|
|
63
|
+
if (config.label) {
|
|
64
|
+
args.push("--label", `sk-job-label=${encodeURIComponent(config.label)}`);
|
|
65
|
+
}
|
|
46
66
|
if (config.inputs) {
|
|
47
67
|
for (const [containerPath, hostPath] of Object.entries(config.inputs)) {
|
|
48
68
|
args.push("-v", (0, containers_1.volumeArg)(hostPath, containerPath, runtime, true));
|
|
@@ -85,4 +105,133 @@ async function runJob(runtime, config) {
|
|
|
85
105
|
}
|
|
86
106
|
return result;
|
|
87
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Parse one tab-separated line emitted by `podman ps --format
|
|
110
|
+
* "{{.Names}}\t{{.Image}}\t{{.Labels}}"` into an OrphanJobInfo.
|
|
111
|
+
* Returns null for malformed lines. Exposed for unit tests; the
|
|
112
|
+
* runtime CLI is not mocked in the test harness.
|
|
113
|
+
*/
|
|
114
|
+
function parseOrphanLine(line, ownerPluginId) {
|
|
115
|
+
// Don't trim first: leading whitespace would collapse a leading
|
|
116
|
+
// empty column (e.g. an empty `name` field), which would shift the
|
|
117
|
+
// remaining columns and cause the parser to accept a malformed line
|
|
118
|
+
// as a real job. Skip blank lines explicitly via a regex check.
|
|
119
|
+
if (!/\S/.test(line)) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
// Require the exact three-column format the `ps --format` template
|
|
123
|
+
// produces. Fewer columns means a truncated row; more means an
|
|
124
|
+
// unexpected tab somewhere — both signal that the emitter shifted
|
|
125
|
+
// shape, so refuse to claim the row without proof.
|
|
126
|
+
const parts = line.split("\t");
|
|
127
|
+
if (parts.length !== 3) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
const [name, image, labels] = parts;
|
|
131
|
+
if (!name || !image) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
// Labels come back as `key=value,key=value`. Pull our two values out
|
|
135
|
+
// without depending on a particular emitter ordering. Values were
|
|
136
|
+
// percent-encoded at write time (see runJob) to survive the comma
|
|
137
|
+
// delimiter, so decode on the way out.
|
|
138
|
+
const labelMap = new Map();
|
|
139
|
+
for (const kv of (labels ?? "").split(",")) {
|
|
140
|
+
const eq = kv.indexOf("=");
|
|
141
|
+
if (eq > 0) {
|
|
142
|
+
try {
|
|
143
|
+
labelMap.set(kv.slice(0, eq).trim(), decodeURIComponent(kv.slice(eq + 1).trim()));
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
// Malformed encoding (shouldn't happen for our own labels).
|
|
147
|
+
// Fall back to the raw value rather than dropping the entry.
|
|
148
|
+
labelMap.set(kv.slice(0, eq).trim(), kv.slice(eq + 1).trim());
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// Require a positive owner-label match. The runtime's
|
|
153
|
+
// `--filter label=sk-job-owner=...` query should already restrict
|
|
154
|
+
// the input set, but never trust filter output enough to send `rm
|
|
155
|
+
// --force` to a row that doesn't actively claim our owner — a row
|
|
156
|
+
// with no `sk-job-owner` label, or a different owner, is not ours.
|
|
157
|
+
const labelOwner = labelMap.get("sk-job-owner");
|
|
158
|
+
if (labelOwner !== ownerPluginId) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
name,
|
|
163
|
+
image,
|
|
164
|
+
ownerPluginId,
|
|
165
|
+
label: labelMap.get("sk-job-label"),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Find every running `sk-job-*` container labelled with the given
|
|
170
|
+
* `ownerPluginId`, stop and remove each one (`rm --force`), and
|
|
171
|
+
* return the list so the caller can roll back any persistent state
|
|
172
|
+
* tied to those jobs.
|
|
173
|
+
*
|
|
174
|
+
* Used by consumer plugins on their `start()` to clean up after a
|
|
175
|
+
* Signal K crash that left helper containers running with no parent
|
|
176
|
+
* listener.
|
|
177
|
+
*/
|
|
178
|
+
async function cleanupOrphanedJobs(runtime, ownerPluginId) {
|
|
179
|
+
// List with the format we need to construct OrphanJobInfo. `--filter
|
|
180
|
+
// label=key=value` is supported by both podman and docker; combine
|
|
181
|
+
// with our two markers so we never reap something some unrelated
|
|
182
|
+
// tool happens to have running.
|
|
183
|
+
const psResult = await (0, runtime_1.execRuntime)(runtime, [
|
|
184
|
+
"ps",
|
|
185
|
+
"-a",
|
|
186
|
+
"--filter",
|
|
187
|
+
"label=sk-charts-job=1",
|
|
188
|
+
// Match the encoding runJob applied so a hypothetical owner id
|
|
189
|
+
// containing characters that conflict with the labels column
|
|
190
|
+
// delimiter still finds its containers.
|
|
191
|
+
"--filter",
|
|
192
|
+
`label=sk-job-owner=${encodeURIComponent(ownerPluginId)}`,
|
|
193
|
+
"--format",
|
|
194
|
+
"{{.Names}}\t{{.Image}}\t{{.Labels}}",
|
|
195
|
+
]);
|
|
196
|
+
// A non-zero `ps` exit means cleanup never inspected the runtime —
|
|
197
|
+
// not that there were zero leaked jobs. Returning `{ reaped: [] }`
|
|
198
|
+
// there would make the caller skip rollback while orphan helpers
|
|
199
|
+
// may still be alive. Surface the failure so the caller's catch can
|
|
200
|
+
// log it; an empty stdout on a successful exit means there really
|
|
201
|
+
// are no orphans and that's the only "no orphans" case.
|
|
202
|
+
if (psResult.exitCode !== 0) {
|
|
203
|
+
throw new Error(`cleanupOrphanedJobs: ps failed: ${psResult.stderr.trim() || "unknown error"}`);
|
|
204
|
+
}
|
|
205
|
+
if (!psResult.stdout) {
|
|
206
|
+
return { reaped: [] };
|
|
207
|
+
}
|
|
208
|
+
const reaped = [];
|
|
209
|
+
for (const line of psResult.stdout.split("\n")) {
|
|
210
|
+
const parsed = parseOrphanLine(line, ownerPluginId);
|
|
211
|
+
if (!parsed) {
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
// `rm --force` stops a running container before removing it, so
|
|
215
|
+
// one call covers both states. A non-zero exit code is the
|
|
216
|
+
// TOCTOU case where the container exited between `ps` and `rm`
|
|
217
|
+
// — harmless, the container is gone and rollback is correct.
|
|
218
|
+
// A thrown failure is different: execRuntime never finished, so
|
|
219
|
+
// the helper might still be alive. In that case skip the entry
|
|
220
|
+
// (don't claim a successful reap) and log; the next start() call
|
|
221
|
+
// will pick the orphan up again.
|
|
222
|
+
let rmResult;
|
|
223
|
+
try {
|
|
224
|
+
rmResult = await (0, runtime_1.execRuntime)(runtime, ["rm", "--force", parsed.name]);
|
|
225
|
+
}
|
|
226
|
+
catch (err) {
|
|
227
|
+
console.warn(`[signalk-container] cleanupOrphanedJobs: rm --force ${parsed.name} threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
if (rmResult.exitCode !== 0) {
|
|
231
|
+
console.warn(`[signalk-container] cleanupOrphanedJobs: rm --force ${parsed.name} exited ${rmResult.exitCode}: ${rmResult.stderr.trim()}`);
|
|
232
|
+
}
|
|
233
|
+
reaped.push(parsed);
|
|
234
|
+
}
|
|
235
|
+
return { reaped };
|
|
236
|
+
}
|
|
88
237
|
//# sourceMappingURL=jobs.js.map
|
package/dist/jobs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -168,6 +168,23 @@ export interface ContainerJobConfig {
|
|
|
168
168
|
*/
|
|
169
169
|
resources?: ContainerResourceLimits;
|
|
170
170
|
label?: string;
|
|
171
|
+
/**
|
|
172
|
+
* Owning plugin's `id` from its package.json (e.g.
|
|
173
|
+
* `"signalk-charts-provider-simple"`). When set, the job container
|
|
174
|
+
* carries an `sk-job-owner=<id>` label, which is what
|
|
175
|
+
* `cleanupOrphanedJobs({ ownerPluginId })` uses to find and reap
|
|
176
|
+
* containers leaked by a previous server lifecycle (Signal K
|
|
177
|
+
* crashed mid-job, the conversion container kept running, the
|
|
178
|
+
* plugin's listener was lost).
|
|
179
|
+
*
|
|
180
|
+
* Optional but strongly recommended for any long-running job —
|
|
181
|
+
* without it, leaked containers from a prior crash will keep
|
|
182
|
+
* running until the host reboots, and the plugin can't tell which
|
|
183
|
+
* orphans belong to it.
|
|
184
|
+
*
|
|
185
|
+
* Available in signalk-container >= 1.3.0.
|
|
186
|
+
*/
|
|
187
|
+
ownerPluginId?: string;
|
|
171
188
|
}
|
|
172
189
|
export type ContainerJobStatus = "pending" | "pulling" | "running" | "completed" | "failed";
|
|
173
190
|
export interface ContainerJobResult {
|
|
@@ -188,6 +205,26 @@ export interface PruneResult {
|
|
|
188
205
|
imagesRemoved: number;
|
|
189
206
|
spaceReclaimed: string;
|
|
190
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Per-orphan record returned by `cleanupOrphanedJobs`. One entry per
|
|
210
|
+
* stale `sk-job-*` container that was found running and has been
|
|
211
|
+
* stopped + removed. The plugin uses this to roll back any
|
|
212
|
+
* persistent state it had associated with the job (e.g. a
|
|
213
|
+
* "currently converting" flag, an install record).
|
|
214
|
+
*/
|
|
215
|
+
export interface OrphanJobInfo {
|
|
216
|
+
/** Container name as the runtime saw it (e.g. `sk-job-7d4839a9`). */
|
|
217
|
+
name: string;
|
|
218
|
+
/** Image the container was running. */
|
|
219
|
+
image: string;
|
|
220
|
+
/** Owning plugin's id, copied from the `sk-job-owner` label. */
|
|
221
|
+
ownerPluginId: string;
|
|
222
|
+
/** Free-form label set on the original `runJob` config. */
|
|
223
|
+
label?: string;
|
|
224
|
+
}
|
|
225
|
+
export interface CleanupOrphansResult {
|
|
226
|
+
reaped: OrphanJobInfo[];
|
|
227
|
+
}
|
|
191
228
|
export interface HealthCheckOptions {
|
|
192
229
|
healthCheck?: () => Promise<boolean>;
|
|
193
230
|
onUnhealthy?: (name: string, error: string) => void;
|
|
@@ -283,6 +320,28 @@ export interface ContainerManagerApi {
|
|
|
283
320
|
remove(name: string): Promise<void>;
|
|
284
321
|
getState(name: string): Promise<ContainerState>;
|
|
285
322
|
runJob(config: ContainerJobConfig): Promise<ContainerJobResult>;
|
|
323
|
+
/**
|
|
324
|
+
* Reap `sk-job-*` containers leaked by a previous server lifecycle
|
|
325
|
+
* (Signal K crashed or restarted mid-job, the helper container kept
|
|
326
|
+
* running, the plugin's job listener was lost). Stops and removes
|
|
327
|
+
* each matching container with `--force` and returns a record of
|
|
328
|
+
* what was reaped so the plugin can scrub any persistent state it
|
|
329
|
+
* had associated with those jobs (a "currently converting" flag,
|
|
330
|
+
* an install record that was written before the conversion ran,
|
|
331
|
+
* etc.).
|
|
332
|
+
*
|
|
333
|
+
* Filters by the `ownerPluginId` label written by `runJob` when
|
|
334
|
+
* the caller provided `ContainerJobConfig.ownerPluginId`. Plugins
|
|
335
|
+
* that omit `ownerPluginId` on their job configs cannot be reaped
|
|
336
|
+
* by this API — there's no safe way for one plugin to claim
|
|
337
|
+
* another's containers.
|
|
338
|
+
*
|
|
339
|
+
* Idempotent: if there are no orphans, returns `{ reaped: [] }`.
|
|
340
|
+
* Available in signalk-container >= 1.3.0.
|
|
341
|
+
*/
|
|
342
|
+
cleanupOrphanedJobs(filter: {
|
|
343
|
+
ownerPluginId: string;
|
|
344
|
+
}): Promise<CleanupOrphansResult>;
|
|
286
345
|
prune(): Promise<PruneResult>;
|
|
287
346
|
listContainers(): Promise<ContainerInfo[]>;
|
|
288
347
|
ensureNetwork(name: string): Promise<void>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,IAAI,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -313,6 +313,11 @@ const result = await containers.runJob({
|
|
|
313
313
|
// any in-process thread cap the caller may have set via env.
|
|
314
314
|
resources: { cpus: 2, memory: "1g" },
|
|
315
315
|
label: "parquet-export",
|
|
316
|
+
// Strongly recommended for any long-running job. Tags the container
|
|
317
|
+
// with `sk-job-owner=<id>` so cleanupOrphanedJobs() can find and reap
|
|
318
|
+
// it after a Signal K crash. Use your plugin's `id` from package.json.
|
|
319
|
+
// Available in signalk-container >= 1.3.0.
|
|
320
|
+
ownerPluginId: "signalk-charts-provider-simple",
|
|
316
321
|
});
|
|
317
322
|
|
|
318
323
|
if (result.status === "completed") {
|
|
@@ -321,6 +326,44 @@ if (result.status === "completed") {
|
|
|
321
326
|
}
|
|
322
327
|
```
|
|
323
328
|
|
|
329
|
+
### `cleanupOrphanedJobs(filter): Promise<CleanupOrphansResult>`
|
|
330
|
+
|
|
331
|
+
Reap `sk-job-*` containers leaked by a previous server lifecycle (Signal K crashed or restarted mid-job, the helper container kept running with no parent listener). Stops and removes each matching container with `--force` and returns a record of what was reaped, so the plugin can scrub any persistent state it had associated with those jobs (a "currently converting" flag, an install record that was written before the conversion ran, etc.).
|
|
332
|
+
|
|
333
|
+
Filters by the `sk-job-owner` label written by `runJob` when the caller provided `ContainerJobConfig.ownerPluginId`. Plugins that omit `ownerPluginId` on their job configs cannot be reaped by this API — there is no safe way for one plugin to claim another's containers.
|
|
334
|
+
|
|
335
|
+
Idempotent: if there are no orphans, returns `{ reaped: [] }`. Available in signalk-container >= 1.3.0.
|
|
336
|
+
|
|
337
|
+
Typical wiring in the consumer plugin's `start()`, after the manager has been resolved via the polling pattern shown in the "Startup order" section above:
|
|
338
|
+
|
|
339
|
+
```typescript
|
|
340
|
+
const containers = (globalThis as any).__signalk_containerManager;
|
|
341
|
+
if (!containers || !containers.getRuntime()) {
|
|
342
|
+
return; // signalk-container not available; normal degraded path
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// Reap any helper containers leaked by a previous Signal K crash mid-job.
|
|
346
|
+
// Each entry in `reaped` is one orphan we just stopped + removed.
|
|
347
|
+
const cleanup = await containers.cleanupOrphanedJobs({
|
|
348
|
+
ownerPluginId: "signalk-charts-provider-simple",
|
|
349
|
+
});
|
|
350
|
+
for (const orphan of cleanup.reaped) {
|
|
351
|
+
app.debug(
|
|
352
|
+
`Reaped orphan job: ${orphan.name} (${orphan.label ?? "no label"})`,
|
|
353
|
+
);
|
|
354
|
+
// Plugin-specific rollback: clear the converting flag, drop the install
|
|
355
|
+
// record we wrote before the job ran, etc. The runtime layer can't know
|
|
356
|
+
// what semantic state your plugin attached to the job. Guard against
|
|
357
|
+
// an orphan that wasn't tagged with a label — without one there's
|
|
358
|
+
// nothing to identify which install record to roll back.
|
|
359
|
+
if (orphan.label) {
|
|
360
|
+
removeStaleInstallByJobLabel(orphan.label);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
The label that comes back on each `OrphanJobInfo.label` is whatever the caller passed in `runJob({ label: "..." })`. A common pattern is to encode the entity the job operated on (`label: \`tippecanoe-${chartNumber}\``) so the cleanup pass can identify which install record to roll back.
|
|
366
|
+
|
|
324
367
|
### `prune(): Promise<PruneResult>`
|
|
325
368
|
|
|
326
369
|
Removes dangling images.
|
|
@@ -748,6 +791,14 @@ interface ContainerManagerApi {
|
|
|
748
791
|
runJob: (
|
|
749
792
|
config: unknown,
|
|
750
793
|
) => Promise<{ status: string; exitCode?: number; log: string[] }>;
|
|
794
|
+
cleanupOrphanedJobs: (filter: { ownerPluginId: string }) => Promise<{
|
|
795
|
+
reaped: Array<{
|
|
796
|
+
name: string;
|
|
797
|
+
image: string;
|
|
798
|
+
ownerPluginId: string;
|
|
799
|
+
label?: string;
|
|
800
|
+
}>;
|
|
801
|
+
}>;
|
|
751
802
|
prune: () => Promise<{ imagesRemoved: number; spaceReclaimed: string }>;
|
|
752
803
|
listContainers: () => Promise<unknown[]>;
|
|
753
804
|
updates: {
|