rightsize 0.7.10 → 0.7.13

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 (61) hide show
  1. package/README.md +6 -4
  2. package/dist/backend-docker/backend.d.ts +25 -2
  3. package/dist/backend-docker/backend.d.ts.map +1 -1
  4. package/dist/backend-docker/backend.js +26 -3
  5. package/dist/backend-docker/backend.js.map +1 -1
  6. package/dist/backend-msb/backend.d.ts +39 -15
  7. package/dist/backend-msb/backend.d.ts.map +1 -1
  8. package/dist/backend-msb/backend.js +83 -16
  9. package/dist/backend-msb/backend.js.map +1 -1
  10. package/dist/backend-msb/commands.d.ts +7 -5
  11. package/dist/backend-msb/commands.d.ts.map +1 -1
  12. package/dist/backend-msb/commands.js +37 -7
  13. package/dist/backend-msb/commands.js.map +1 -1
  14. package/dist/backend-msb/network-links.d.ts +86 -1
  15. package/dist/backend-msb/network-links.d.ts.map +1 -1
  16. package/dist/backend-msb/network-links.js +119 -4
  17. package/dist/backend-msb/network-links.js.map +1 -1
  18. package/dist/backend-msb/provisioner.d.ts +1 -1
  19. package/dist/backend-msb/provisioner.js +1 -1
  20. package/dist/core/backend.d.ts +15 -1
  21. package/dist/core/backend.d.ts.map +1 -1
  22. package/dist/core/checkpoint/registry.d.ts +12 -0
  23. package/dist/core/checkpoint/registry.d.ts.map +1 -1
  24. package/dist/core/checkpoint/registry.js +24 -2
  25. package/dist/core/checkpoint/registry.js.map +1 -1
  26. package/dist/core/free-ports.d.ts +18 -0
  27. package/dist/core/free-ports.d.ts.map +1 -1
  28. package/dist/core/free-ports.js +61 -0
  29. package/dist/core/free-ports.js.map +1 -1
  30. package/dist/core/generic-container.d.ts +43 -2
  31. package/dist/core/generic-container.d.ts.map +1 -1
  32. package/dist/core/generic-container.js +177 -44
  33. package/dist/core/generic-container.js.map +1 -1
  34. package/dist/core/model.d.ts +37 -1
  35. package/dist/core/model.d.ts.map +1 -1
  36. package/dist/core/network.d.ts +6 -2
  37. package/dist/core/network.d.ts.map +1 -1
  38. package/dist/core/network.js +4 -1
  39. package/dist/core/network.js.map +1 -1
  40. package/dist/core/reuse/hash.d.ts +12 -0
  41. package/dist/core/reuse/hash.d.ts.map +1 -1
  42. package/dist/core/reuse/hash.js +1 -0
  43. package/dist/core/reuse/hash.js.map +1 -1
  44. package/dist/core/reuse/registry.d.ts +10 -1
  45. package/dist/core/reuse/registry.d.ts.map +1 -1
  46. package/dist/core/reuse/registry.js +15 -1
  47. package/dist/core/reuse/registry.js.map +1 -1
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/modules/cassandra.d.ts +12 -12
  51. package/dist/modules/cassandra.js +13 -13
  52. package/dist/modules/cassandra.js.map +1 -1
  53. package/dist/modules/minio.d.ts +8 -5
  54. package/dist/modules/minio.d.ts.map +1 -1
  55. package/dist/modules/minio.js +29 -17
  56. package/dist/modules/minio.js.map +1 -1
  57. package/dist/modules/postgres.d.ts +2 -2
  58. package/dist/modules/postgres.d.ts.map +1 -1
  59. package/dist/modules/postgres.js +11 -9
  60. package/dist/modules/postgres.js.map +1 -1
  61. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend-msb/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend-msb/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,iCAAiC,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,yBAAyB,GAAG,OAAO,CAAC,CAAC,0BAA0B;AACrE,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,2EAA2E;AAC3E,qEAAqE;AACrE,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,kCAAkC;AAClC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAC5C,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,2EAA2E;AAC3E,8DAA8D;AAC9D,2EAA2E;AAC3E,0BAA0B;AAC1B,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAC9C,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,yEAAyE;AACzE,4EAA4E;AAC5E,yEAAyE;AACzE,wCAAwC;AACxC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,wEAAwE;AACxE,uDAAuD;AACvD,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,2EAA2E;AAC3E,uEAAuE;AACvE,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAChD,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,uEAAuE;AACvE,2EAA2E;AAC3E,oEAAoE;AACpE,uEAAuE;AACvE,0EAA0E;AAC1E,yEAAyE;AACzE,wEAAwE;AACxE,2BAA2B;AAC3B,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,CAAC,CAAC;AACpD,yEAAyE;AACzE,yDAAyD;AACzD,yEAAyE;AACzE,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAC5C,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,gDAAgD,GAAG,MAAM,CAAC;AAChE,MAAM,+CAA+C,GAAG,KAAK,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,yBAA0B,SAAQ,KAAK;IACtB;IAArB,YAAqB,MAAc;QACjC,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;QAD7B,WAAM,GAAN,MAAM,CAAQ;IAEnC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,YAAa,SAAQ,KAAK;IACT;IAArB,YAAqB,MAAc;QACjC,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QAD3B,WAAM,GAAN,MAAM,CAAQ;IAEnC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,OAAO,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED;;aAEa;AACb,MAAM,sBAAuB,SAAQ,KAAK;IACnB;IAArB,YAAqB,MAAc;QACjC,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QAD1B,WAAM,GAAN,MAAM,CAAQ;IAEnC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,wBAAyB,SAAQ,KAAK;IACrB;IAArB,YAAqB,MAAc;QACjC,KAAK,CAAC,4DAA4D,MAAM,EAAE,CAAC,CAAC;QADzD,WAAM,GAAN,MAAM,CAAQ;IAEnC,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,yBAA0B,SAAQ,KAAK;IACtB;IAArB,YAAqB,MAAc;QACjC,KAAK,CAAC,mEAAmE,MAAM,EAAE,CAAC,CAAC;QADhE,WAAM,GAAN,MAAM,CAAQ;IAEnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAC5C,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAuB,EAAE,SAAiB;IACnF,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,WAAW,CAAC,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,SAAS,yBAAyB,CAAC,CAAC,CAAC;QAC7G,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC1B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,WAAW,CAAC,IAAI,YAAY,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,gCAAgC;QAChC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,WAAW,CAAC,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBACrG,OAAO;YACT,CAAC;YACD,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;8BAE8B;AAC9B,SAAS,YAAY,CAAC,IAA0B;IAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,IAAkB,CAAC;QAClC,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,6BAA6B,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,4CAA4C,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,8BAA8B,CAAC,GAAW;IACvD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,EAAE;SACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;SACvC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AA6BD,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,MAA6B,EAAE,IAAc;IAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,IAAc,EAAE,IAAY;IACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,+BAA+B,GAAG;IACtC,yEAAyE;IACzE,mEAAmE;IACnE,sDAAsD;IACtD,sCAAsC;IACtC,uEAAuE;IACvE,qDAAqD;IACrD,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,gDAAgD;IAChD,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;IACrB,oCAAoC;IACpC,QAAQ;IACR,0BAA0B;IAC1B,UAAU;IACV,MAAM;IACN,QAAQ;CACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,4BAA4B,CAAC,MAAc;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,sBAAsB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACpF,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAqCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,aAAa;IAqDL;IApDnB,kHAAkH;IACzG,IAAI,GAAG,cAAc,CAAC;IACtB,sBAAsB,GAAG,KAAK,CAAC;IACxC,+HAA+H;IACtH,YAAY,GAAwB;QAC3C,qDAAqD;QACrD,gBAAgB,EAAE,IAAI;QACtB,2DAA2D;QAC3D,UAAU,EAAE,IAAI;QAChB,kFAAkF;QAClF,0BAA0B,EAAE,IAAI;KACjC,CAAC;IAEF,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,wDAAwD;IACvC,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,2EAA2E;IAC3E,qEAAqE;IACrE,uEAAuE;IACvE,iEAAiE;IACzD,eAAe,CAAqB;IAC5C,sEAAsE;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,uCAAuC;IAC/B,0CAA0C,GAAG,gDAAgD,CAAC;IAC9F,yCAAyC,GAAG,+CAA+C,CAAC;IACpG,+EAA+E;IAC9D,aAAa,CAAwB;IACtD,0DAA0D;IAC1D,oEAAoE;IACpE,2EAA2E;IAC3E,qEAAqE;IACrE,mEAAmE;IACnE,qEAAqE;IAC7D,wBAAwB,GAAgC,SAAS,CAAC;IAC1E,kEAAkE;IAClE,qEAAqE;IACrE,yEAAyE;IACzE,kDAAkD;IAClD,2EAA2E;IAC3E,0DAA0D;IAClD,sBAAsB,GAAG,0BAA0B,CAAC;IACpD,yBAAyB,GAAG,6BAA6B,CAAC;IAElE,YACmB,cAA+B,EAChD,UAAgC,EAAE;QADjB,mBAAc,GAAd,cAAc,CAAiB;QAGhD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE;YACJ,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,CAAC,EACD,GAAG,EAAE;YACH,gEAAgE;YAChE,iEAAiE;YACjE,wCAAwC;QAC1C,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACK,iBAAiB;QACvB,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;QACpI,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,KAAK,CAAC,MAAqB;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CAAC,gCAAgC,MAAM,CAAC,EAAE,sCAAsC,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACK,KAAK,CAAC,cAAc,CAC1B,OAAe,EACf,MAAqB,EACrB,KAAkB,EAClB,UAAiF,EAAE,iBAAiB,EAAE,IAAI,EAAE;QAE5G,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,QAAQ,CAAC;QAChE,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,qEAAqE;gBACrE,iEAAiE;gBACjE,qEAAqE;gBACrE,mEAAmE;gBACnE,sEAAsE;gBACtE,mEAAmE;gBACnE,2BAA2B;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,4BAA4B,CAAC;gBAC3D,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAC7B,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;oBACzC,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;wBAC/D,OAAO;oBACT,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,CAAC,KAAK,YAAY,sBAAsB,CAAC,EAAE,CAAC;4BAC/C,MAAM,KAAK,CAAC;wBACd,CAAC;wBACD,IAAI,GAAG,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,YAAY,CACpB,uBAAuB,MAAM,CAAC,EAAE,oBAAoB,4BAA4B,GAAG,IAAI,IAAI;oBACzF,2FAA2F;oBAC3F,+EAA+E,IAAI,CAAC,MAAM,EAAE,CAC/F,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,qEAAqE;gBACrE,0BAA0B;gBAC1B,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,CAAC,MAAM,YAAY,YAAY,CAAC,EAAE,CAAC;wBACtC,MAAM,MAAM,CAAC;oBACf,CAAC;oBACD,MAAM,IAAI,YAAY,CACpB,uBAAuB,MAAM,CAAC,EAAE,mDAAmD;wBACjF,sFAAsF;wBACtF,kFAAkF;wBAClF,0BAA0B,KAAK,CAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAC3E,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC/B,iDAAiD;oBACjD,mEAAmE;oBACnE,mEAAmE;oBACnE,mDAAmD;oBACnD,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,YAAY,yBAAyB,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAyB,MAAM,MAAM,CAC7C,OAAO,EACP,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1C,eAAe,CAChB,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,MAAM,YAAY,yBAAyB,CAAC,EAAE,CAAC;gBACnD,MAAM,MAAM,CAAC;YACf,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,uBAAuB,MAAM,CAAC,EAAE,sDAAsD;gBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,oDAAoD,YAAY,CAAC,IAAI,CAAC,IAAI;gBAC/F,4FAA4F;gBAC5F,4FAA4F;gBAC5F,+CAA+C,WAAW,0BAA0B,MAAM,CAAC,MAAM,EAAE,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,QAAQ,CACpB,OAAe,EACf,MAAqB,EACrB,KAAkB,EAClB,oBAAuC,QAAQ;QAE/C,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAE7B,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACK,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAqB,EAAE,KAAkB;QAClF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,qEAAqE;QACrE,oDAAoD;QACpD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,MAA2C,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC;QACxD,SAAS,CAAC;YACR,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC;gBACD,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,qBAAqB,CAAC,uBAAuB,MAAM,CAAC,EAAE,gCAAgC,MAAM,EAAE,CAAC,CAAC;gBAC5G,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9E,4DAA4D;oBAC5D,iEAAiE;oBACjE,6DAA6D;oBAC7D,6DAA6D;oBAC7D,2DAA2D;oBAC3D,gEAAgE;oBAChE,0DAA0D;oBAC1D,gEAAgE;oBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,YAAY,CACpB,uBAAuB,MAAM,CAAC,EAAE,iBAAiB,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI;oBAC3E,qEAAqE;oBACrE,kBAAkB,MAAM,EAAE,CAC7B,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7D,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACvB,qEAAqE;gBACrE,6DAA6D;gBAC7D,oDAAoD;gBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,IAAI,YAAY,CACpB,WAAW,MAAM,CAAC,EAAE,iCAAiC,yBAAyB,GAAG,IAAI,WAAW;oBAC9F,4FAA4F;oBAC5F,iBAAiB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkFG;IACK,KAAK,CAAC,eAAe,CAC3B,OAAe,EACf,MAAqB,EACrB,KAAkB,EAClB,aAAgC,QAAQ;QAExC,MAAM,MAAM,GACV,UAAU,KAAK,QAAQ;YACrB,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;YAC3D,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACpC,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,qBAAqB,CAAC,2BAA2B,MAAM,CAAC,EAAE,gCAAgC,MAAM,EAAE,CAAC,CAAC;YAChH,CAAC;YACD,IAAI,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CACpB,2BAA2B,MAAM,CAAC,EAAE,iBAAiB,QAAQ,iCAAiC;oBAC5F,gCAAgC,MAAM,EAAE,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;QACD,yEAAyE;QACzE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,UAAU;QACV,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC;QAC7D,IAAI,cAAkC,CAAC;QACvC,SAAS,CAAC;YACR,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3F,iEAAiE;YACjE,qEAAqE;YACrE,mEAAmE;YACnE,wEAAwE;YACxE,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,mEAAmE;oBACnE,+DAA+D;oBAC/D,kEAAkE;oBAClE,8DAA8D;oBAC9D,mEAAmE;oBACnE,kEAAkE;oBAClE,MAAM;oBACN,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjE,MAAM,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC;gBAChC,MAAM,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;YACzG,CAAC;YACD,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,mBAAmB,CAC/B,OAAe,EACf,MAAqB,EACrB,KAAkB;QAElB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;YACrE,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,UAAU,CACR,IAAI,YAAY,CACd,2BAA2B,MAAM,CAAC,EAAE,wBAAwB,yBAAyB,GAAG,IAAI,MAAM;oBAChG,iDAAiD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9E,CACF,CAAC;YACJ,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,KAAK,CAAC,sBAAsB,CAClC,OAAe,EACf,MAAqB,EACrB,KAAkB;QAElB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAe,CACb,KAAK,CAAC,OAAO,EACb,6DAA6D,MAAM,CAAC,EAAE,6BAA6B;gBACjG,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjE,CAAC;YACF,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,eAAe,CACb,KAAK,CAAC,OAAO,EACb,2FAA2F;gBACzF,GAAG,MAAM,CAAC,EAAE,qEAAqE,CACpF,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjC,CAAC;QACD,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACjF,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,yBAAyB,CACrC,OAAe,EACf,EAAU,EACV,MAA0B,EAC1B,QAAiB;QAEjB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3G,MAAM,WAAW,GACf,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;YACvD,CAAC,CAAC,aAAa,EAAE,8BAA8B,SAAS,CAAC,MAAM,EAAE;YACjE,CAAC,CAAC,aAAa,EAAE,sCAAsC,CAAC;QAC5D,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,qEAAqE;QACrE,wDAAwD;QACxD,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,gCAAgC,yBAAyB,GAAG,IAAI,6BAA6B;gBAC7F,2BAA2B,MAAM,IAAI,iDAAiD,GAAG;YAC3F,CAAC,CAAC,MAAM,KAAK,SAAS;gBACpB,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,eAAe,MAAM,eAAe,CAAC;QAC3C,OAAO,WAAW,EAAE,8CAA8C,MAAM,mCAAmC,WAAW,EAAE,CAAC;IAC3H,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAqB,EAAE,KAAkB;QACrF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,qCAAqC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,MAA2C,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB,CAAC;QAC1D,OAAO,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;YAC3D,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,sEAAsE;YACtE,iEAAiE;YACjE,kBAAkB;YAClB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9E,wEAAwE;YACxE,mEAAmE;YACnE,wEAAwE;YACxE,+DAA+D;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,wBAAwB,MAAM,CAAC,EAAE,oCAAoC,MAAM,CAAC,IAAI,IAAI,SAAS,WAAW;YACtG,kEAAkE,MAAM,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,2BAA2B,CAAC,MAAqB;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,+BAA+B,CAAC,CAAC,CAAC;YACtF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAqB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,EAAU;QAC3D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3F,IAAI,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3G,OAAO,SAAS,KAAK,SAAS,IAAI,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAqB;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC;QACjC,sEAAsE;QACtE,sEAAsE;QACtE,gEAAgE;QAChE,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,qEAAqE;QACrE,wEAAwE;QACxE,6EAA6E;QAC7E,0CAA0C;QAC1C,sEAAsE;QACtE,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,kEAAkE;QAClE,2BAA2B;QAC3B,EAAE;QACF,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,mDAAmD;QACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3E,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,WAAW,EAAE,EAAE;gBAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,6BAA6B,CAAC,CAAC;gBAClF,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAqB;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACK,KAAK,CAAC,6BAA6B,CACzC,OAAe,EACf,MAAqB,EACrB,KAAkB,EAClB,KAA+B;QAE/B,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;QAC/B,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,kEAAkE;QAClE,oBAAoB;QACpB,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAErF,MAAM,UAAU,GAAsB,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAErF,IAAI,IAAI,GAAyD,KAAK,CAAC;QACvE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iCAAiC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9E,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,SAAS,GAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YAC9E,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;gBAClH,2DAA2D;gBAC3D,8DAA8D;gBAC9D,kEAAkE;gBAClE,+DAA+D;gBAC/D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvC,MAAM,aAAa,GAAG,MAA6C,CAAC;gBACpE,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;gBACxB,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;gBACpC,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,GAAG,YAAY,wBAAwB,IAAI,GAAG,YAAY,yBAAyB,CAAC;gBACvG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC3B,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,iEAAiE;gBACjE,kDAAkD;gBAClD,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC3B,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,GAAG,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,2BAA2B,YAAY,6DAA6D;YAClG,0BAA0B,iCAAiC,wCAAwC;YACnG,qGAAqG;YACrG,mEAAmE,IAAI,CAAC,MAAM,EAAE,CACnF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiEG;IACK,KAAK,CAAC,oBAAoB,CAChC,OAAe,EACf,UAAyB,EACzB,YAAoB,EACpB,eAAkD,EAClD,KAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,0CAA0C,CAAC;QAC9E,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAsE,CAAC;QAC3E,IAAI,UAAU,GAAsB,QAAQ,CAAC;QAC7C,SAAS,CAAC;YACR,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,YAAY,GAAkB;gBAClC,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,eAAe,EAAE;aAC3G,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;gBACrH,OAAO,YAAY,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,GAAG,YAAY,yBAAyB,IAAI,GAAG,YAAY,wBAAwB,CAAC;gBACvG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;wBAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,IAAI,GAAG,YAAY,wBAAwB,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACxE,mEAAmE;oBACnE,6CAA6C;oBAC7C,UAAU,GAAG,QAAQ,CAAC;gBACxB,CAAC;gBACD,kEAAkE;gBAClE,oEAAoE;gBACpE,8DAA8D;gBAC9D,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;oBAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,GAAG,GAAG,CAAC;gBACX,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,YAAY,CACpB,oFAAoF;wBAClF,GAAG,IAAI,CAAC,0CAA0C,GAAG,IAAI,YAAY,OAAO,UAAU;wBACtF,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iEAAiE;wBAC5F,iGAAiG;wBACjG,6FAA6F;wBAC7F,yBAAyB,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CACrD,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyHG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAqB,EAAE,GAAW;QACvD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC1C,8DAA8D;YAC9D,oEAAoE;YACpE,8BAA8B;YAC9B,MAAM,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,yEAAyE;QACzE,iEAAiE;QACjE,iEAAiE;QACjE,wEAAwE;QACxE,sEAAsE;QACtE,4CAA4C;QAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CAAC,gCAAgC,YAAY,sCAAsC,CAAC,CAAC;QAC7G,CAAC;QAED,kEAAkE;QAClE,iEAAiE;QACjE,uEAAuE;QACvE,iFAAiF;QACjF,mEAAmE;QACnE,oEAAoE;QACpE,iEAAiE;QACjE,+DAA+D;QAC/D,8EAA8E;QAC9E,aAAa;QACb,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvH,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;QAExC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExB,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,oEAAoE;QACpE,mEAAmE;QACnE,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,YAAY,GAAG,SAAS;YAC5B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjF,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CACpB,8BAA8B,YAAY,IAAI,GAAG,iBAAiB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK;gBAC1G,+CAA+C,YAAY,gCAAgC,CAC9F,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACpB,8BAA8B,YAAY,IAAI,GAAG,qDAAqD;gBACpG,2DAA2D,YAAY,iCAAiC;gBACxG,gBAAgB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAC9C,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAErF,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,kEAAkE;QAClE,mEAAmE;QACnE,0EAA0E;QAC1E,oEAAoE;QACpE,4DAA4D;QAC5D,kEAAkE;QAClE,yEAAyE;QACzE,wCAAwC;QACxC,EAAE;QACF,oEAAoE;QACpE,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,mEAAmE;QACnE,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,YAA2B,CAAC;QAChC,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAC7G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,YAAY,CACpB,YAAY,YAAY,4EAA4E;gBAClG,8CAA8C,MAAM,8CAA8C;gBAClG,eAAe,YAAY,sDAAsD,CACpF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;QAElC,qEAAqE;QACrE,+DAA+D;QAC/D,yEAAyE;QACzE,qEAAqE;QACrE,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,MAA6C,CAAC;QACpE,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC;QAC7B,aAAa,CAAC,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAEzD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjG,MAAM,IAAI,YAAY,CACpB,mBAAmB,GAAG,yBAAyB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU;gBAChG,6FAA6F;gBAC7F,gGAAgG;gBAChG,qCAAqC,CACxC,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,MAAM,8BAA8B,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE;iBACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;iBACvC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;iBAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC9F,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,wBAAwB,GAAG,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,QAAgB;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACvG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,IACE,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC5B,iCAAiC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChD,CAAC,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EACtC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,qBAAqB,GAAG,IAAI,QAAQ,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,IAAY;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAEnH,IAAI,YAAgC,CAAC;QACrC,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5B,YAAY,GAAG,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,YAAY,GAAG,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,YAAY,CACpB,qBAAqB,OAAO,WAAW,cAAc,iBAAiB,QAAQ,CAAC,QAAQ,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CACtH,CAAC;QACJ,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACpB,qBAAqB,OAAO,WAAW,cAAc,qDAAqD;gBACxG,wBAAwB,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;QACxE,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI,CAAC,MAAqB,EAAE,GAA0B;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,8BAA8B,CAAC;QAC7D,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC/F,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,CAAC,MAAqB;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;IACtF,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,UAAU,CAAC,MAAqB,EAAE,QAAgC;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAE3G,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,aAAa,EAAE,EAAE;YACrD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,SAAS,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,uEAAuE;QACvE,4DAA4D;QAC5D,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,YAAuC,CAAC;QAE5C,MAAM,aAAa,GAAG,KAAK,IAAmB,EAAE;YAC9C,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,UAAU,CAAC;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1F,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;YAC5C,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC;gBACrF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1B,MAAM,aAAa,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;QACF,YAAY,GAAG,WAAW,EAAE,CAAC;QAE7B,OAAO;YACL,KAAK,EAAE,KAAK,IAAmB,EAAE;gBAC/B,cAAc,GAAG,IAAI,CAAC;gBACtB,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,UAAU,CAAC;gBACjB,MAAM,YAAY,CAAC;gBACnB,qEAAqE;gBACrE,mEAAmE;gBACnE,mEAAmE;gBACnE,iEAAiE;YACnE,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACK,mBAAmB,CACzB,OAAe,EACf,MAAqB,EACrB,QAAgC;QAEhC,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,MAAM,UAAU,GAAG,CAAC,KAAK,IAAmB,EAAE;YAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,SAAS,CAAC;gBACR,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,6DAA6D;gBACvE,CAAC;gBACD,IAAI,OAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;oBACpE,IAAI,EAAE,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC9E,CAAC;oBACD,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;oBAC9F,OAAO;gBACT,CAAC;gBAED,IAAI,IAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;gBACvF,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,sEAAsE;gBACtE,mEAAmE;gBACnE,qEAAqE;gBACrE,mEAAmE;gBACnE,sEAAsE;gBACtE,kEAAkE;gBAClE,qEAAqE;gBACrE,mEAAmE;gBACnE,sDAAsD;gBACtD,IAAI,SAAS,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBACpD,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtE,MAAM,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;gBACjG,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,IAAI,cAAc,EAAE,CAAC;wBACnB,OAAO;oBACT,CAAC;oBACD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;gBAC/B,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO;YACL,KAAK,EAAE,KAAK,IAAmB,EAAE;gBAC/B,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,UAAU,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,mBAAmB,CAC/B,OAAe,EACf,EAAU,EACV,SAAiB,EACjB,QAAgC,EAChC,gBAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gCAAgC,CAAC;QAC/D,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;gBAC9E,MAAM;YACR,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,gBAAgB,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBACjD,MAAM;gBACR,CAAC;gBACD,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,sEAAsE;QACtE,wEAAwE;QACxE,0BAA0B;QAC1B,IAAI,SAAS,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YACxE,OAAO;QACT,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACrD,IAAI,gBAAgB,EAAE,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,8EAA8E;IAChF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,8DAA8D;IAChE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAqB,EAAE,KAAiC;QAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,yBAAyB,CACjC,mDAAmD,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EACxE,IAAI,CAAC,IAAI,EACT,qDAAqD,CACtD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAClF,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,yBAAyB,CACjC,sCAAsC,MAAM,CAAC,IAAI,CAAC,KAAK,sDAAsD,EAC7G,IAAI,CAAC,IAAI,EACT,6BAA6B,CAC9B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CAAC,2CAA2C,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,cAAc,CAAC,MAAqB,EAAE,IAAiB;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACtH,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,YAAY,CACpB,sDAAsD,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAC1G,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC7D,SAAS,CAAC;YACR,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrH,MAAM,IAAI,YAAY,CACpB,gCAAgC,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,sBAAsB;oBAClF,GAAG,IAAI,CAAC,yBAAyB,GAAG,IAAI,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAClF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,MAAqB,EAAE,QAAgB,EAAE,aAAqB;QAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;QAC9G,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,YAAY,CACpB,iBAAiB,MAAM,CAAC,EAAE,IAAI,aAAa,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,iBAAiB,CAAC,MAAqB,EAAE,aAAqB,EAAE,QAAgB;QACpF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;QAC/G,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,YAAY,CACpB,iBAAiB,MAAM,CAAC,EAAE,IAAI,aAAa,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,EAAU;QACpB,sEAAsE;QACtE,gEAAgE;QAChE,wEAAwE;QACxE,mEAAmE;QACnE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QACD,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,OAAe,EAAE,IAAuB;QAC9E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAChF,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACrC,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,IAAmB;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,oNAAoN;IACpN,KAAK,CAAC,iBAAiB;QACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IACjF,CAAC;CACF"}
@@ -2,9 +2,10 @@ import type { ContainerSpec } from "../core/model.js";
2
2
  /**
3
3
  * Pure msb CLI argv construction. Every spelling here was checked against the
4
4
  * real `msb` binary, not guessed from `--help` text alone. ATTACHED mode (no
5
- * `-d`) is the whole ballgame for `run()`: `msb run -d` boots the microVM but
6
- * never runs the image's own ENTRYPOINT/CMD, only attached mode does — see
7
- * `MsbCliBackend.start` for the supervision this forces. `restore()` is a
5
+ * `-d`) is the whole ballgame for `run()`: `msb run -d` runs the image's own
6
+ * ENTRYPOINT/CMD too, so attached mode isn't about starting the workload —
7
+ * see `MsbCliBackend.start` for the supervision it forces instead.
8
+ * `restore()` is a
8
9
  * different shape entirely — see its own doc and `MsbCliBackend.bootRestoreOnce`'s
9
10
  * for why: `msb restore` always detaches and exits once activation is
10
11
  * confirmed, well before the sandbox itself finishes booting, and it is
@@ -127,8 +128,9 @@ export declare const MsbCommands: {
127
128
  snapshotInspect(ref: string): string[];
128
129
  /**
129
130
  * `msb snapshot save <ref> <dest>` — writes a `.tar.zst` artifact archive;
130
- * deliberately never `--with-image` (its import fails an integrity check
131
- * in 0.6.6, see the checkpoints guide). Upstream renamed the subcommand
131
+ * deliberately never `--with-image` (see the checkpoints guide — this
132
+ * library doesn't bundle the OCI image into the archive yet, though
133
+ * upstream supports it). Upstream renamed the subcommand
132
134
  * from `export` to `save` for msb 0.7.1 (EMPIRICALLY VERIFIED against a
133
135
  * real 0.7.1 binary — `snapshot export` no longer exists at all); `<ref>`
134
136
  * and `<dest>` are still plain positionals with the explicit filename
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/backend-msb/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW;cACZ,aAAa,GAAG,MAAM,EAAE;IAyDlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;kBACW,aAAa,GAAG,MAAM,EAAE;IAsBtC;;;;;;;;;;;;;;;;OAgBG;4BACqB,MAAM,QAAQ,MAAM,YAAY,MAAM,GAAG,MAAM,EAAE;IAQzE;;;;;;;;;;;;OAYG;wBACiB,MAAM,GAAG,MAAM,EAAE;IAIrC;;;;;;;OAOG;yBACkB,MAAM,GAAG,MAAM,EAAE;IAItC;;;;;;;;;OASG;wBACiB,MAAM,QAAQ,MAAM,GAAG,MAAM,EAAE;IAInD;;;;;;;;;;;OAWG;4BACqB,MAAM,WAAW,MAAM,GAAG,MAAM,EAAE;IAI1D,yIAAyI;qBACxH,MAAM,QAAQ,MAAM,iBAAiB,MAAM,GAAG,MAAM,EAAE;IAIvE,2FAA2F;kBAC7E,MAAM,iBAAiB,MAAM,YAAY,MAAM,GAAG,MAAM,EAAE;eAI7D,MAAM,OAAO,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAIpD;;;;;;;;;;;;;;;OAeG;sBACe,MAAM,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;qBASzF,MAAM,OAAO,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;eAI/C,MAAM,GAAG,MAAM,EAAE;IAI5B;;;;;;;;OAQG;oBACa,MAAM,GAAG,MAAM,EAAE;qBAIhB,MAAM,GAAG,MAAM,EAAE;eAIvB,MAAM,GAAG,MAAM,EAAE;aAInB,MAAM,GAAG,MAAM,EAAE;UAIpB,MAAM,EAAE;IAKd;;;;;;;OAOG;2BACoB,MAAM,GAAG,MAAM,EAAE;CAGzC,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/backend-msb/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;cACZ,aAAa,GAAG,MAAM,EAAE;IAmElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;kBACW,aAAa,GAAG,MAAM,EAAE;IAwCtC;;;;;;;;;;;;;;;;OAgBG;4BACqB,MAAM,QAAQ,MAAM,YAAY,MAAM,GAAG,MAAM,EAAE;IAQzE;;;;;;;;;;;;OAYG;wBACiB,MAAM,GAAG,MAAM,EAAE;IAIrC;;;;;;;OAOG;yBACkB,MAAM,GAAG,MAAM,EAAE;IAItC;;;;;;;;;;OAUG;wBACiB,MAAM,QAAQ,MAAM,GAAG,MAAM,EAAE;IAInD;;;;;;;;;;;OAWG;4BACqB,MAAM,WAAW,MAAM,GAAG,MAAM,EAAE;IAI1D,yIAAyI;qBACxH,MAAM,QAAQ,MAAM,iBAAiB,MAAM,GAAG,MAAM,EAAE;IAIvE,2FAA2F;kBAC7E,MAAM,iBAAiB,MAAM,YAAY,MAAM,GAAG,MAAM,EAAE;eAI7D,MAAM,OAAO,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAIpD;;;;;;;;;;;;;;;OAeG;sBACe,MAAM,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;qBASzF,MAAM,OAAO,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;eAI/C,MAAM,GAAG,MAAM,EAAE;IAI5B;;;;;;;;OAQG;oBACa,MAAM,GAAG,MAAM,EAAE;qBAIhB,MAAM,GAAG,MAAM,EAAE;eAIvB,MAAM,GAAG,MAAM,EAAE;aAInB,MAAM,GAAG,MAAM,EAAE;UAIpB,MAAM,EAAE;IAKd;;;;;;;OAOG;2BACoB,MAAM,GAAG,MAAM,EAAE;CAGzC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Pure msb CLI argv construction. Every spelling here was checked against the
3
3
  * real `msb` binary, not guessed from `--help` text alone. ATTACHED mode (no
4
- * `-d`) is the whole ballgame for `run()`: `msb run -d` boots the microVM but
5
- * never runs the image's own ENTRYPOINT/CMD, only attached mode does — see
6
- * `MsbCliBackend.start` for the supervision this forces. `restore()` is a
4
+ * `-d`) is the whole ballgame for `run()`: `msb run -d` runs the image's own
5
+ * ENTRYPOINT/CMD too, so attached mode isn't about starting the workload —
6
+ * see `MsbCliBackend.start` for the supervision it forces instead.
7
+ * `restore()` is a
7
8
  * different shape entirely — see its own doc and `MsbCliBackend.bootRestoreOnce`'s
8
9
  * for why: `msb restore` always detaches and exits once activation is
9
10
  * confirmed, well before the sandbox itself finishes booting, and it is
@@ -30,8 +31,18 @@ export const MsbCommands = {
30
31
  if (spec.networkDisabled) {
31
32
  argv.push("--net", "private");
32
33
  }
34
+ // One rule per linked UDP target: a bare --net-rule (no --net flag) is
35
+ // PREPENDED to msb's default policy, so public internet, DNS, and this
36
+ // sandbox's own published-port ingress all keep working — only these
37
+ // specific host UDP ports open up, nothing broader.
38
+ for (const port of spec.hostUdpEgressPorts ?? []) {
39
+ argv.push("--net-rule", `allow@host:udp:${port}`);
40
+ }
33
41
  for (const port of spec.ports) {
34
- argv.push("-p", `${port.hostPort}:${port.guestPort}`);
42
+ // "/udp" only for a udp binding — the plain "HOST:GUEST" spelling for
43
+ // tcp is byte-identical to before this suffix existed, since msb (like
44
+ // docker) treats an unmarked port publish as tcp by default.
45
+ argv.push("-p", `${port.hostPort}:${port.guestPort}${port.protocol === "udp" ? "/udp" : ""}`);
35
46
  }
36
47
  for (const [key, value] of spec.env) {
37
48
  argv.push("-e", `${key}=${value}`);
@@ -148,8 +159,26 @@ export const MsbCommands = {
148
159
  if (spec.networkDisabled) {
149
160
  argv.push("--no-net");
150
161
  }
162
+ // Unlike run(), a bare --net-rule here is not additive: msb's restore
163
+ // drops whatever CLI policy the ORIGINAL sandbox booted with and falls
164
+ // back to its own default, so this has to re-supply the complete
165
+ // replacement policy, not just the extra rule. --net-rule only parses
166
+ // on restore alongside --net-default (there is no --net profile flag
167
+ // here, unlike run's --net private), and --net-default governs BOTH
168
+ // directions at once — so the published-port ingress a plain default
169
+ // policy gives for free must be re-added explicitly as
170
+ // allow:ingress@any, or this sandbox's own -p bindings restore
171
+ // unreachable.
172
+ const hostUdpEgressPorts = spec.hostUdpEgressPorts ?? [];
173
+ if (hostUdpEgressPorts.length > 0) {
174
+ const rules = ["allow@public", "allow@dns", ...hostUdpEgressPorts.map((port) => `allow@host:udp:${port}`), "allow:ingress@any"];
175
+ argv.push("--net-default", "deny", "--net-rule", rules.join(","));
176
+ }
151
177
  for (const port of spec.ports) {
152
- argv.push("-p", `${port.hostPort}:${port.guestPort}`);
178
+ // Same "/udp"-only-for-udp spelling as run() above — a checkpoint
179
+ // reboot re-publishes each binding's ORIGINAL protocol, never
180
+ // defaulting a udp binding back to tcp on restore.
181
+ argv.push("-p", `${port.hostPort}:${port.guestPort}${port.protocol === "udp" ? "/udp" : ""}`);
153
182
  }
154
183
  for (const mount of spec.mounts) {
155
184
  // Same option grammar and Windows rationale as `run()`'s `--mount-file` —
@@ -211,8 +240,9 @@ export const MsbCommands = {
211
240
  },
212
241
  /**
213
242
  * `msb snapshot save <ref> <dest>` — writes a `.tar.zst` artifact archive;
214
- * deliberately never `--with-image` (its import fails an integrity check
215
- * in 0.6.6, see the checkpoints guide). Upstream renamed the subcommand
243
+ * deliberately never `--with-image` (see the checkpoints guide — this
244
+ * library doesn't bundle the OCI image into the archive yet, though
245
+ * upstream supports it). Upstream renamed the subcommand
216
246
  * from `export` to `save` for msb 0.7.1 (EMPIRICALLY VERIFIED against a
217
247
  * real 0.7.1 binary — `snapshot export` no longer exists at all); `<ref>`
218
248
  * and `<dest>` are still plain positionals with the explicit filename
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/backend-msb/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/backend-msb/commands.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,92 @@
1
1
  import type { NetworkLink } from "../core/backend.js";
2
- /** Two siblings publishing the same guest port on one network have nowhere distinct to tunnel to. */
2
+ /**
3
+ * Two siblings publishing the same guest port ON THE SAME PROTOCOL have
4
+ * nowhere distinct to route to — checked per (protocol, guestPort), not
5
+ * guestPort alone, so a container exposing one guest port on BOTH
6
+ * protocols (DNS's 53, say) is never flagged: its TCP and UDP links each
7
+ * get their own independent route (an exec-tunnel, a forwarder script) and
8
+ * never collide with each other.
9
+ */
3
10
  export declare function requireNoDuplicateGuestPorts(links: readonly NetworkLink[]): void;
4
11
  export declare function requireAliasesAreValid(links: readonly NetworkLink[]): void;
5
12
  /** The `sh -c` script that appends one `/etc/hosts` line per distinct alias. */
6
13
  export declare function hostsAliasScript(links: readonly NetworkLink[]): string;
14
+ /** Where a UDP link's forwarder script/log live in the guest — the name itself is load-bearing: it is grepped back out of `/proc/<pid>/cmdline` by the script's own supervisor loop below. */
15
+ export declare function udpForwarderScriptPath(guestPort: number): string;
16
+ /** The forwarder's own launch log, tailed into a readiness-timeout error to give it something to diagnose from. */
17
+ export declare function udpForwarderLogPath(guestPort: number): string;
18
+ /**
19
+ * The in-guest UDP forwarder, one instance per linked UDP port: relays
20
+ * `guestPort` to `<gateway IPv4>:<targetHostPort>`, where the target's own
21
+ * host-published UDP port is listening. busybox `nc -u -l` locks onto the
22
+ * FIRST client's source port forever and never forks for a second one, so
23
+ * this supervises a chain of single-client listeners instead: each `nc`
24
+ * relays through a fresh `timeout 60 nc` leg to the target and, the moment
25
+ * it locks onto a client, this starts the next listener behind it. "Locked
26
+ * onto a client" is read from `/proc/$pid/cmdline`, not the process's own
27
+ * `comm` — busybox `timeout` keeps the ORIGINAL pid for the program it
28
+ * wraps and only forks the timer, so `comm` reads `nc` again once a client
29
+ * has connected, indistinguishable from the pre-connection listener by name
30
+ * alone. The FIRST inner wait blocks WHILE `cmdline` still contains this
31
+ * script's own `rz-udp-link` path: immediately after `&` forks the child,
32
+ * its cmdline is still THIS script's (the shell hasn't exec'd `nc` yet), and
33
+ * treating that as "locked" starts a flood of listeners on top of one
34
+ * another. The SECOND inner wait blocks WHILE `cmdline` still contains
35
+ * ` -l ` — the listener's own unlocked marker; once that's gone the
36
+ * listener has locked onto a client, and the loop starts the next one.
37
+ * `timeout 60` bounds each individual client's relay — msb's own UDP
38
+ * sessions idle out after 60s, so a client that keeps sending past that
39
+ * gets a fresh relay rather than a wedged one. The gateway's IPv4 literal
40
+ * (never the `host.microsandbox.internal` name) is read once from
41
+ * `/etc/hosts`; `: ${H:=host.microsandbox.internal}` falls back to the name
42
+ * itself when `/etc/hosts` carries no IPv4 gateway line. That name also
43
+ * resolves to an IPv6 gateway, which msb rewrites to `::1`, where the
44
+ * target's 127.0.0.1-bound port never listens.
45
+ *
46
+ * No argument here is ever quoted, and the script carries no `"` anywhere:
47
+ * on Windows hosts the JDK's default `ProcessBuilder` command-line building
48
+ * wraps an exec argument in quotes without escaping embedded ones, so a `"`
49
+ * reaching an exec argument this backend builds comes out mangled on
50
+ * `msb.exe`. Every variable in this script is a number (`$P`, `$HP`,
51
+ * `$pid`) or an IP literal (`$H`), so unquoted word-splitting is never a
52
+ * hazard.
53
+ */
54
+ export declare const UDP_FORWARDER_SCRIPT = "P=$1; HP=$2\nH=$(awk -v n=host.microsandbox.internal '$2 == n && $1 ~ /^[0-9.]+$/ { print $1; exit }' /etc/hosts)\n: ${H:=host.microsandbox.internal}\nwhile true; do\n nc -u -l -p $P -e timeout 60 nc -u $H $HP &\n pid=$!\n while [ -e /proc/$pid ] && grep -q rz-udp-link /proc/$pid/cmdline 2>/dev/null; do sleep 0.01; done\n while [ -e /proc/$pid ] && tr '\\0' ' ' < /proc/$pid/cmdline 2>/dev/null | grep -q -- ' -l '; do sleep 0.05; done\n [ -e /proc/$pid ] || sleep 0.2\ndone";
55
+ /**
56
+ * Capability probe for the forwarder's own dependencies — run once per
57
+ * `installNetworkLinks` call, only when at least one UDP link is present.
58
+ * The plain `command -v nc` the TCP exec-tunnel already probes says nothing
59
+ * about `-e`/`-u` or `timeout`, all three of which the forwarder needs.
60
+ * busybox prints its own usage to STDERR on `--help` with a non-zero exit,
61
+ * hence the `2>&1` merge rather than trusting the exit code alone.
62
+ */
63
+ export declare function udpForwarderProbeScript(): string;
64
+ /**
65
+ * The "one exec" that installs and launches a UDP link's forwarder: writes
66
+ * `UDP_FORWARDER_SCRIPT` to `udpForwarderScriptPath(guestPort)` via a QUOTED
67
+ * heredoc (`<<'EOF'`, never expanded while writing — the script's own `$1`/
68
+ * `$P`/`$pid`/... must reach the file literally, not this shell's
69
+ * evaluation of them), then launches it DETACHED, redirecting its output to
70
+ * `udpForwarderLogPath(guestPort)`. Launched as a FILE argument to `sh`
71
+ * (`sh <path>`), never `sh -c` with the content inlined: the script's own
72
+ * pre-exec wait (see `UDP_FORWARDER_SCRIPT`'s own doc) greps the freshly
73
+ * forked child's cmdline for `rz-udp-link`, which is only there because the
74
+ * path itself carries that substring — an inlined `-c` invocation's cmdline
75
+ * never would. A detached background process survives this exec session;
76
+ * guest processes die with the sandbox, so a UDP link needs no host-side
77
+ * teardown, and a checkpoint reboot's link replay simply reruns this
78
+ * against the rebooted (tmpfs-backed) `/tmp`.
79
+ */
80
+ export declare function installUdpForwarderScript(guestPort: number, targetHostPort: number): string;
81
+ /**
82
+ * True (exit 0) once `guestPort` shows up bound in `/proc/net/udp` or
83
+ * `/proc/net/udp6` — polled at a short interval after launching the
84
+ * forwarder, since `nc -u -l`'s bind happens after process startup and
85
+ * prints nothing to signal it. Matches on the LAST 4 hex digits of the
86
+ * local-address column (`<addr>:<PORT-hex>`) rather than the whole column,
87
+ * since the address part varies (`00000000` for an unbound-interface
88
+ * listener) and only the port is what this needs to confirm; `NR>1` skips
89
+ * the header line both files start with.
90
+ */
91
+ export declare function udpReadinessProbeScript(guestPort: number): string;
7
92
  //# sourceMappingURL=network-links.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-links.d.ts","sourceRoot":"","sources":["../../src/backend-msb/network-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD,qGAAqG;AACrG,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAWhF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAW1E;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAGtE"}
1
+ {"version":3,"file":"network-links.d.ts","sourceRoot":"","sources":["../../src/backend-msb/network-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAYhF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAW1E;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAGtE;AAED,8LAA8L;AAC9L,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,mHAAmH;AACnH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,oBAAoB,seAS5B,CAAC;AAEN;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAO3F;AAOD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMjE"}
@@ -5,14 +5,22 @@ const BACKEND_NAME = "microsandbox";
5
5
  // that could break out of the quoting, not to enforce a strict hostname
6
6
  // grammar.
7
7
  const ALIAS_CHARSET = /^[A-Za-z0-9._-]+$/;
8
- /** Two siblings publishing the same guest port on one network have nowhere distinct to tunnel to. */
8
+ /**
9
+ * Two siblings publishing the same guest port ON THE SAME PROTOCOL have
10
+ * nowhere distinct to route to — checked per (protocol, guestPort), not
11
+ * guestPort alone, so a container exposing one guest port on BOTH
12
+ * protocols (DNS's 53, say) is never flagged: its TCP and UDP links each
13
+ * get their own independent route (an exec-tunnel, a forwarder script) and
14
+ * never collide with each other.
15
+ */
9
16
  export function requireNoDuplicateGuestPorts(links) {
10
17
  const seen = new Set();
11
18
  for (const link of links) {
12
- if (seen.has(link.guestPort)) {
13
- throw new UnsupportedByBackendError(`two siblings exposing the same guest port ${link.guestPort} on one network`, BACKEND_NAME);
19
+ const key = `${link.protocol}:${link.guestPort}`;
20
+ if (seen.has(key)) {
21
+ throw new UnsupportedByBackendError(`two siblings exposing the same ${link.protocol} guest port ${link.guestPort} on one network`, BACKEND_NAME);
14
22
  }
15
- seen.add(link.guestPort);
23
+ seen.add(key);
16
24
  }
17
25
  }
18
26
  export function requireAliasesAreValid(links) {
@@ -28,4 +36,111 @@ export function hostsAliasScript(links) {
28
36
  const aliases = [...new Set(links.map((l) => l.alias))];
29
37
  return aliases.map((alias) => `echo '127.0.0.1 ${alias}' >> /etc/hosts`).join("; ");
30
38
  }
39
+ /** Where a UDP link's forwarder script/log live in the guest — the name itself is load-bearing: it is grepped back out of `/proc/<pid>/cmdline` by the script's own supervisor loop below. */
40
+ export function udpForwarderScriptPath(guestPort) {
41
+ return `/tmp/rz-udp-link-${guestPort}.sh`;
42
+ }
43
+ /** The forwarder's own launch log, tailed into a readiness-timeout error to give it something to diagnose from. */
44
+ export function udpForwarderLogPath(guestPort) {
45
+ return `/tmp/rz-udp-link-${guestPort}.log`;
46
+ }
47
+ /**
48
+ * The in-guest UDP forwarder, one instance per linked UDP port: relays
49
+ * `guestPort` to `<gateway IPv4>:<targetHostPort>`, where the target's own
50
+ * host-published UDP port is listening. busybox `nc -u -l` locks onto the
51
+ * FIRST client's source port forever and never forks for a second one, so
52
+ * this supervises a chain of single-client listeners instead: each `nc`
53
+ * relays through a fresh `timeout 60 nc` leg to the target and, the moment
54
+ * it locks onto a client, this starts the next listener behind it. "Locked
55
+ * onto a client" is read from `/proc/$pid/cmdline`, not the process's own
56
+ * `comm` — busybox `timeout` keeps the ORIGINAL pid for the program it
57
+ * wraps and only forks the timer, so `comm` reads `nc` again once a client
58
+ * has connected, indistinguishable from the pre-connection listener by name
59
+ * alone. The FIRST inner wait blocks WHILE `cmdline` still contains this
60
+ * script's own `rz-udp-link` path: immediately after `&` forks the child,
61
+ * its cmdline is still THIS script's (the shell hasn't exec'd `nc` yet), and
62
+ * treating that as "locked" starts a flood of listeners on top of one
63
+ * another. The SECOND inner wait blocks WHILE `cmdline` still contains
64
+ * ` -l ` — the listener's own unlocked marker; once that's gone the
65
+ * listener has locked onto a client, and the loop starts the next one.
66
+ * `timeout 60` bounds each individual client's relay — msb's own UDP
67
+ * sessions idle out after 60s, so a client that keeps sending past that
68
+ * gets a fresh relay rather than a wedged one. The gateway's IPv4 literal
69
+ * (never the `host.microsandbox.internal` name) is read once from
70
+ * `/etc/hosts`; `: ${H:=host.microsandbox.internal}` falls back to the name
71
+ * itself when `/etc/hosts` carries no IPv4 gateway line. That name also
72
+ * resolves to an IPv6 gateway, which msb rewrites to `::1`, where the
73
+ * target's 127.0.0.1-bound port never listens.
74
+ *
75
+ * No argument here is ever quoted, and the script carries no `"` anywhere:
76
+ * on Windows hosts the JDK's default `ProcessBuilder` command-line building
77
+ * wraps an exec argument in quotes without escaping embedded ones, so a `"`
78
+ * reaching an exec argument this backend builds comes out mangled on
79
+ * `msb.exe`. Every variable in this script is a number (`$P`, `$HP`,
80
+ * `$pid`) or an IP literal (`$H`), so unquoted word-splitting is never a
81
+ * hazard.
82
+ */
83
+ export const UDP_FORWARDER_SCRIPT = `P=$1; HP=$2
84
+ H=$(awk -v n=host.microsandbox.internal '$2 == n && $1 ~ /^[0-9.]+$/ { print $1; exit }' /etc/hosts)
85
+ : \${H:=host.microsandbox.internal}
86
+ while true; do
87
+ nc -u -l -p $P -e timeout 60 nc -u $H $HP &
88
+ pid=$!
89
+ while [ -e /proc/$pid ] && grep -q rz-udp-link /proc/$pid/cmdline 2>/dev/null; do sleep 0.01; done
90
+ while [ -e /proc/$pid ] && tr '\\0' ' ' < /proc/$pid/cmdline 2>/dev/null | grep -q -- ' -l '; do sleep 0.05; done
91
+ [ -e /proc/$pid ] || sleep 0.2
92
+ done`;
93
+ /**
94
+ * Capability probe for the forwarder's own dependencies — run once per
95
+ * `installNetworkLinks` call, only when at least one UDP link is present.
96
+ * The plain `command -v nc` the TCP exec-tunnel already probes says nothing
97
+ * about `-e`/`-u` or `timeout`, all three of which the forwarder needs.
98
+ * busybox prints its own usage to STDERR on `--help` with a non-zero exit,
99
+ * hence the `2>&1` merge rather than trusting the exit code alone.
100
+ */
101
+ export function udpForwarderProbeScript() {
102
+ return ("command -v nc >/dev/null && command -v timeout >/dev/null && " +
103
+ "nc --help 2>&1 | grep -q -- '-e PROG' && nc --help 2>&1 | grep -q -- '-u'");
104
+ }
105
+ /**
106
+ * The "one exec" that installs and launches a UDP link's forwarder: writes
107
+ * `UDP_FORWARDER_SCRIPT` to `udpForwarderScriptPath(guestPort)` via a QUOTED
108
+ * heredoc (`<<'EOF'`, never expanded while writing — the script's own `$1`/
109
+ * `$P`/`$pid`/... must reach the file literally, not this shell's
110
+ * evaluation of them), then launches it DETACHED, redirecting its output to
111
+ * `udpForwarderLogPath(guestPort)`. Launched as a FILE argument to `sh`
112
+ * (`sh <path>`), never `sh -c` with the content inlined: the script's own
113
+ * pre-exec wait (see `UDP_FORWARDER_SCRIPT`'s own doc) greps the freshly
114
+ * forked child's cmdline for `rz-udp-link`, which is only there because the
115
+ * path itself carries that substring — an inlined `-c` invocation's cmdline
116
+ * never would. A detached background process survives this exec session;
117
+ * guest processes die with the sandbox, so a UDP link needs no host-side
118
+ * teardown, and a checkpoint reboot's link replay simply reruns this
119
+ * against the rebooted (tmpfs-backed) `/tmp`.
120
+ */
121
+ export function installUdpForwarderScript(guestPort, targetHostPort) {
122
+ const scriptPath = udpForwarderScriptPath(guestPort);
123
+ const logPath = udpForwarderLogPath(guestPort);
124
+ return (`cat > ${scriptPath} <<'EOF'\n${UDP_FORWARDER_SCRIPT}\nEOF\n` +
125
+ `nohup sh ${scriptPath} ${guestPort} ${targetHostPort} >${logPath} 2>&1 &`);
126
+ }
127
+ /** `guestPort` as 4 uppercase hex digits — `/proc/net/udp{,6}`'s own local-address-column encoding (5000 → `"1388"`). */
128
+ function guestPortHex(guestPort) {
129
+ return guestPort.toString(16).toUpperCase().padStart(4, "0");
130
+ }
131
+ /**
132
+ * True (exit 0) once `guestPort` shows up bound in `/proc/net/udp` or
133
+ * `/proc/net/udp6` — polled at a short interval after launching the
134
+ * forwarder, since `nc -u -l`'s bind happens after process startup and
135
+ * prints nothing to signal it. Matches on the LAST 4 hex digits of the
136
+ * local-address column (`<addr>:<PORT-hex>`) rather than the whole column,
137
+ * since the address part varies (`00000000` for an unbound-interface
138
+ * listener) and only the port is what this needs to confirm; `NR>1` skips
139
+ * the header line both files start with.
140
+ */
141
+ export function udpReadinessProbeScript(guestPort) {
142
+ const hex = guestPortHex(guestPort);
143
+ return (`awk -v p=':${hex}' 'NR>1 && substr($2, length($2)-4) == p {f=1} END {exit !f}' ` +
144
+ "/proc/net/udp /proc/net/udp6");
145
+ }
31
146
  //# sourceMappingURL=network-links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-links.js","sourceRoot":"","sources":["../../src/backend-msb/network-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AACxE,WAAW;AACX,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAE1C,qGAAqG;AACrG,MAAM,UAAU,4BAA4B,CAAC,KAA6B;IACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,yBAAyB,CACjC,6CAA6C,IAAI,CAAC,SAAS,iBAAiB,EAC5E,YAAY,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA6B;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAyB,CACjC,kBAAkB,KAAK,GAAG,EAC1B,YAAY,EACZ,yEAAyE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,KAA6B;IAC5D,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"network-links.js","sourceRoot":"","sources":["../../src/backend-msb/network-links.ts"],"names":[],"mappings":"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"}