tnp-helpers 18.0.18 → 18.0.20

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 (174) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +57 -8
  4. package/browser/esm2022/lib/base/classes/base-git.mjs +16 -1
  5. package/browser/esm2022/lib/base/classes/base-library-build.mjs +31 -10
  6. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +5 -6
  7. package/browser/esm2022/lib/base/classes/base-project.mjs +12 -31
  8. package/browser/esm2022/lib/base/classes/base-release-process.mjs +8 -43
  9. package/browser/esm2022/lib/base/classes/base-vscode.mjs +28 -1
  10. package/browser/esm2022/lib/base/commit-data.mjs +5 -6
  11. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  12. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  13. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  14. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  15. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  16. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  17. package/browser/esm2022/lib/index.mjs +1 -4
  18. package/browser/esm2022/lib/models.mjs +1 -1
  19. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  20. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  21. package/browser/fesm2022/tnp-helpers.mjs +544 -150
  22. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  23. package/browser/lib/base/classes/base-cli-worker.d.ts +28 -5
  24. package/browser/lib/base/classes/base-git.d.ts +8 -0
  25. package/browser/lib/base/classes/base-library-build.d.ts +3 -6
  26. package/browser/lib/base/classes/base-npm-helpers.d.ts +5 -1
  27. package/browser/lib/base/classes/base-project.d.ts +3 -2
  28. package/browser/lib/base/classes/base-release-process.d.ts +13 -10
  29. package/browser/lib/base/core-project.d.ts +1 -1
  30. package/browser/lib/base/tcp-udp-ports/index.d.ts +0 -1
  31. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  32. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  33. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  34. package/browser/lib/index.d.ts +1 -3
  35. package/browser/lib/models.d.ts +0 -6
  36. package/client/README.md +24 -24
  37. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +57 -8
  38. package/client/esm2022/lib/base/classes/base-git.mjs +16 -1
  39. package/client/esm2022/lib/base/classes/base-library-build.mjs +31 -10
  40. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +5 -6
  41. package/client/esm2022/lib/base/classes/base-project.mjs +12 -31
  42. package/client/esm2022/lib/base/classes/base-release-process.mjs +8 -43
  43. package/client/esm2022/lib/base/classes/base-vscode.mjs +28 -1
  44. package/client/esm2022/lib/base/commit-data.mjs +5 -6
  45. package/client/esm2022/lib/base/core-project.mjs +1 -1
  46. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  47. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  48. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  49. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  50. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  51. package/client/esm2022/lib/index.mjs +1 -4
  52. package/client/esm2022/lib/models.mjs +1 -1
  53. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  54. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  55. package/client/fesm2022/tnp-helpers.mjs +544 -150
  56. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  57. package/client/lib/base/classes/base-cli-worker.d.ts +28 -5
  58. package/client/lib/base/classes/base-git.d.ts +8 -0
  59. package/client/lib/base/classes/base-library-build.d.ts +3 -6
  60. package/client/lib/base/classes/base-npm-helpers.d.ts +5 -1
  61. package/client/lib/base/classes/base-project.d.ts +3 -2
  62. package/client/lib/base/classes/base-release-process.d.ts +13 -10
  63. package/client/lib/base/core-project.d.ts +1 -1
  64. package/client/lib/base/tcp-udp-ports/index.d.ts +0 -1
  65. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  66. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  67. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  68. package/client/lib/index.d.ts +1 -3
  69. package/client/lib/models.d.ts +0 -6
  70. package/lib/base/classes/base-cli-worker-controller.js +1 -1
  71. package/lib/base/classes/base-cli-worker-controller.js.map +1 -1
  72. package/lib/base/classes/base-cli-worker.d.ts +28 -5
  73. package/lib/base/classes/base-cli-worker.js +104 -34
  74. package/lib/base/classes/base-cli-worker.js.map +1 -1
  75. package/lib/base/classes/base-git.d.ts +8 -0
  76. package/lib/base/classes/base-git.js +32 -0
  77. package/lib/base/classes/base-git.js.map +1 -1
  78. package/lib/base/classes/base-global-command-line.backend.d.ts +4 -0
  79. package/lib/base/classes/base-global-command-line.backend.js +25 -0
  80. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  81. package/lib/base/classes/base-library-build.d.ts +3 -6
  82. package/lib/base/classes/base-library-build.js +46 -29
  83. package/lib/base/classes/base-library-build.js.map +1 -1
  84. package/lib/base/classes/base-npm-helpers.d.ts +2 -0
  85. package/lib/base/classes/base-npm-helpers.js +11 -3
  86. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  87. package/lib/base/classes/base-project.d.ts +3 -2
  88. package/lib/base/classes/base-project.js +18 -43
  89. package/lib/base/classes/base-project.js.map +1 -1
  90. package/lib/base/classes/base-release-process.d.ts +13 -10
  91. package/lib/base/classes/base-release-process.js +15 -88
  92. package/lib/base/classes/base-release-process.js.map +1 -1
  93. package/lib/base/classes/base-start-config.backend.js +1 -1
  94. package/lib/base/classes/base-start-config.backend.js.map +1 -1
  95. package/lib/base/classes/base-vscode.js +45 -25
  96. package/lib/base/classes/base-vscode.js.map +1 -1
  97. package/lib/base/commit-data.js +9 -10
  98. package/lib/base/commit-data.js.map +1 -1
  99. package/lib/base/core-project.d.ts +1 -1
  100. package/lib/base/tcp-udp-ports/index.d.ts +0 -1
  101. package/lib/base/tcp-udp-ports/index.js +0 -1
  102. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  103. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -6
  104. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -42
  105. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  106. package/lib/base/tcp-udp-ports/ports.controller.d.ts +14 -5
  107. package/lib/base/tcp-udp-ports/ports.controller.js +227 -19
  108. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  109. package/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  110. package/lib/base/tcp-udp-ports/ports.entity.js +32 -2
  111. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  112. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +1 -2
  113. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  114. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +14 -8
  115. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +293 -30
  116. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  117. package/lib/helpers/for-backend/helpers-git.backend.d.ts +10 -0
  118. package/lib/helpers/for-backend/helpers-git.backend.js +59 -0
  119. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  120. package/lib/helpers/for-browser/angular.helper.js +2 -2
  121. package/lib/index.d.ts +1 -3
  122. package/lib/index.js +0 -3
  123. package/lib/index.js.map +1 -1
  124. package/lib/models.d.ts +0 -6
  125. package/lib/old/base-component.js +2 -2
  126. package/lib/old/base-formly-component.js +2 -2
  127. package/lib/old/dual-component-ctrl.js +2 -2
  128. package/migrations/1736199486472_addingNotAssignablePorts.js +33 -10
  129. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  130. package/migrations/1736454437350_addFreePorts.js +42 -14
  131. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  132. package/package.json +5 -5
  133. package/taon.jsonc +49 -49
  134. package/tmp-environment.json +29 -29
  135. package/websql/README.md +24 -24
  136. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +57 -8
  137. package/websql/esm2022/lib/base/classes/base-git.mjs +16 -1
  138. package/websql/esm2022/lib/base/classes/base-library-build.mjs +31 -10
  139. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +5 -6
  140. package/websql/esm2022/lib/base/classes/base-project.mjs +12 -31
  141. package/websql/esm2022/lib/base/classes/base-release-process.mjs +8 -43
  142. package/websql/esm2022/lib/base/classes/base-vscode.mjs +28 -1
  143. package/websql/esm2022/lib/base/commit-data.mjs +5 -6
  144. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  145. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  146. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  147. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +25 -3
  148. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  149. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  150. package/websql/esm2022/lib/index.mjs +1 -4
  151. package/websql/esm2022/lib/models.mjs +1 -1
  152. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  153. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  154. package/websql/fesm2022/tnp-helpers.mjs +560 -166
  155. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  156. package/websql/lib/base/classes/base-cli-worker.d.ts +28 -5
  157. package/websql/lib/base/classes/base-git.d.ts +8 -0
  158. package/websql/lib/base/classes/base-library-build.d.ts +3 -6
  159. package/websql/lib/base/classes/base-npm-helpers.d.ts +2 -0
  160. package/websql/lib/base/classes/base-project.d.ts +3 -2
  161. package/websql/lib/base/classes/base-release-process.d.ts +13 -10
  162. package/websql/lib/base/core-project.d.ts +1 -1
  163. package/websql/lib/base/tcp-udp-ports/index.d.ts +0 -1
  164. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  165. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  166. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  167. package/websql/lib/index.d.ts +1 -3
  168. package/websql/lib/models.d.ts +0 -6
  169. package/browser/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  170. package/browser/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  171. package/client/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  172. package/client/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  173. package/websql/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -34
  174. package/websql/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Taon } from 'taon/browser';
3
- import { NotAssignablePort, PortsController } from '../lib';
3
+ import { Port, PortsController } from '../lib';
4
4
  const portsWithDescription = {
5
5
  3000: 'Commonly used for development servers',
6
6
  3001: 'Alternate development server port',
@@ -28,20 +28,28 @@ let PortsContext_1736199486472_addingNotAssignablePorts = class PortsContext_173
28
28
  this.commonPortsFrom3000to6000 = Object.keys(portsWithDescription).map(Number);
29
29
  }
30
30
  async up(queryRunner) {
31
- const db = await queryRunner.manager.getRepository(NotAssignablePort);
32
- const allPorts = this.commonPortsFrom3000to6000.map(port => NotAssignablePort.from({
31
+ const db = await queryRunner.manager.getRepository(Port);
32
+ const allPorts = this.commonPortsFrom3000to6000.map(port => Port.from({
33
33
  port,
34
34
  serviceId: `not assignable (${portsWithDescription[port]})`,
35
+ status: 'assigned-taken-by-os',
35
36
  }));
36
37
  await db.save(allPorts);
37
38
  for (const commonPortObj of allPorts) {
38
- this.portsController.takenByOsPorts.set(commonPortObj.port, commonPortObj);
39
+ this.portsController.portsCache.set(commonPortObj.serviceId, commonPortObj);
39
40
  }
40
41
  }
41
42
  async down(queryRunner) {
42
- const db = await queryRunner.manager.getRepository(NotAssignablePort);
43
- db.clear();
44
- this.portsController.takenByOsPorts.clear();
43
+ const db = await queryRunner.manager.getRepository(Port);
44
+ await db.remove(await db.find({
45
+ where: {
46
+ status: 'assigned-taken-by-os',
47
+ },
48
+ }));
49
+ const allPorts = Array.from(this.portsController.portsCache.values()).filter(f => f.status === 'assigned-taken-by-os');
50
+ for (const port of allPorts) {
51
+ this.portsController.portsCache.delete(port.serviceId);
52
+ }
45
53
  }
46
54
  };
47
55
  PortsContext_1736199486472_addingNotAssignablePorts = __decorate([
@@ -52,4 +60,4 @@ PortsContext_1736199486472_addingNotAssignablePorts = __decorate([
52
60
  export { PortsContext_1736199486472_addingNotAssignablePorts };
53
61
  ;
54
62
  ({}); // @--end-of-file-for-module=tnp-helpers migrations/1736199486472_addingNotAssignablePorts.ts
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbWlncmF0aW9ucy8xNzM2MTk5NDg2NDcyX2FkZGluZ05vdEFzc2lnbmFibGVQb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdwQyxPQUFPLEVBQUUsaUJBQWlCLEVBQVEsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWxFLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsSUFBSSxFQUFFLHVDQUF1QztJQUM3QyxJQUFJLEVBQUUsbUNBQW1DO0lBQ3pDLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLCtCQUErQjtJQUNyQyxJQUFJLEVBQUUsNENBQTRDO0lBQ2xELElBQUksRUFBRSxxQ0FBcUM7SUFDM0MsSUFBSSxFQUFFLGdDQUFnQztJQUN0QyxJQUFJLEVBQUUscUJBQXFCO0lBQzNCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsSUFBSSxFQUFFLG1EQUFtRDtJQUN6RCxJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsaUNBQWlDO0lBQ3ZDLElBQUksRUFBRSxVQUFVO0lBQ2hCLElBQUksRUFBRSwyQkFBMkI7SUFDakMsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSw4QkFBOEI7Q0FDckMsQ0FBQztBQUtLLElBQU0sbURBQW1ELEdBQXpELE1BQU0sbURBQW9ELFNBQVEsSUFBSTtLQUMxRSxJQUFJLENBQUMsU0FBUztJQURWOztRQUVLLG9CQUFlLEdBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV4Qiw4QkFBeUIsR0FDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQXlCbEQsQ0FBQztJQXZCQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO1FBQy9CLE1BQU0sRUFBRSxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3pELGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJO1lBQ0osU0FBUyxFQUFFLG1CQUFtQixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRztTQUM1RCxDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixLQUFLLE1BQU0sYUFBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckMsYUFBYSxDQUFDLElBQUksRUFDbEIsYUFBYSxDQUNkLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBd0I7UUFDakMsTUFBTSxFQUFFLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDRixDQUFBO0FBL0JZLG1EQUFtRDtJQUgvRCxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2QsU0FBUyxFQUFFLHFEQUFxRDtLQUNqRSxDQUFDO0dBQ1csbURBQW1ELENBK0IvRDs7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZGQUE2RiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBUYW9uIH0gZnJvbSAndGFvbi9icm93c2VyJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFF1ZXJ5UnVubmVyIH0gZnJvbSAndGFvbi10eXBlb3JtL2Jyb3dzZXInO1xuaW1wb3J0IHsgTm90QXNzaWduYWJsZVBvcnQsIFBvcnQsIFBvcnRzQ29udHJvbGxlciB9IGZyb20gJy4uL2xpYic7XG5cbmNvbnN0IHBvcnRzV2l0aERlc2NyaXB0aW9uID0ge1xuICAzMDAwOiAnQ29tbW9ubHkgdXNlZCBmb3IgZGV2ZWxvcG1lbnQgc2VydmVycycsXG4gIDMwMDE6ICdBbHRlcm5hdGUgZGV2ZWxvcG1lbnQgc2VydmVyIHBvcnQnLFxuICAzMzA2OiAnTXlTUUwnLFxuICAzMzg5OiAnUmVtb3RlIERlc2t0b3AgUHJvdG9jb2wgKFJEUCknLFxuICAzNDc4OiAnU1RVTiAoU2Vzc2lvbiBUcmF2ZXJzYWwgVXRpbGl0aWVzIGZvciBOQVQpJyxcbiAgNDAwMDogJ0FsdGVybmF0aXZlIGRldmVsb3BtZW50IHNlcnZlciBwb3J0JyxcbiAgNDIwMDogJ0FuZ3VsYXIgQ0xJIERldmVsb3BtZW50IFNlcnZlcicsXG4gIDQ1MDA6ICdJUFNlYyBOQVQgdHJhdmVyc2FsJyxcbiAgNDU2NzogJ1NpbmF0cmEgRGVmYXVsdCBQb3J0JyxcbiAgNTAwMDogJ0ZsYXNrLCBQeXRob24gZGV2ZWxvcG1lbnQgc2VydmVyLCBvciBOb2RlLmpzIGFwcHMnLFxuICA1NDMyOiAnUG9zdGdyZVNRTCcsXG4gIDU1MDA6ICdMaXZlIFNlcnZlciAoVlMgQ29kZSBFeHRlbnNpb24pJyxcbiAgNTY3MjogJ1JhYmJpdE1RJyxcbiAgNTgwMDogJ1ZOQyBSZW1vdGUgRGVza3RvcCAoSFRUUCknLFxuICA1OTAwOiAnVk5DIFJlbW90ZSBEZXNrdG9wJyxcbiAgNTk4NDogJ0NvdWNoREInLFxuICA2MDAwOiAnaW4gdXNlIGJ5IHNvbWV0aGluZyBpbiBtYWNvcycsXG59O1xuXG5AVGFvbi5NaWdyYXRpb24oe1xuICBjbGFzc05hbWU6ICdQb3J0c0NvbnRleHRfMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3J0c0NvbnRleHRfMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMgZXh0ZW5kcyBUYW9uXG4gIC5CYXNlLk1pZ3JhdGlvbiB7XG4gIHByb3RlY3RlZCBwb3J0c0NvbnRyb2xsZXI6IFBvcnRzQ29udHJvbGxlciA9XG4gICAgdGhpcy5pbmplY3RDb250cm9sbGVyKFBvcnRzQ29udHJvbGxlcik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb21tb25Qb3J0c0Zyb20zMDAwdG82MDAwOiBudW1iZXJbXSA9XG4gICAgT2JqZWN0LmtleXMocG9ydHNXaXRoRGVzY3JpcHRpb24pLm1hcChOdW1iZXIpO1xuXG4gIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZGIgPSBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoTm90QXNzaWduYWJsZVBvcnQpO1xuXG4gICAgY29uc3QgYWxsUG9ydHMgPSB0aGlzLmNvbW1vblBvcnRzRnJvbTMwMDB0bzYwMDAubWFwKHBvcnQgPT5cbiAgICAgIE5vdEFzc2lnbmFibGVQb3J0LmZyb20oe1xuICAgICAgICBwb3J0LFxuICAgICAgICBzZXJ2aWNlSWQ6IGBub3QgYXNzaWduYWJsZSAoJHtwb3J0c1dpdGhEZXNjcmlwdGlvbltwb3J0XX0pYCxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgYXdhaXQgZGIuc2F2ZShhbGxQb3J0cyk7XG4gICAgZm9yIChjb25zdCBjb21tb25Qb3J0T2JqIG9mIGFsbFBvcnRzKSB7XG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci50YWtlbkJ5T3NQb3J0cy5zZXQoXG4gICAgICAgIGNvbW1vblBvcnRPYmoucG9ydCxcbiAgICAgICAgY29tbW9uUG9ydE9iaixcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGRiID0gYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KE5vdEFzc2lnbmFibGVQb3J0KTtcbiAgICBkYi5jbGVhcigpO1xuICAgIHRoaXMucG9ydHNDb250cm9sbGVyLnRha2VuQnlPc1BvcnRzLmNsZWFyKCk7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIG1pZ3JhdGlvbnMvMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMudHMiXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbWlncmF0aW9ucy8xNzM2MTk5NDg2NDcyX2FkZGluZ05vdEFzc2lnbmFibGVQb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUvQyxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLElBQUksRUFBRSx1Q0FBdUM7SUFDN0MsSUFBSSxFQUFFLG1DQUFtQztJQUN6QyxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSwrQkFBK0I7SUFDckMsSUFBSSxFQUFFLDRDQUE0QztJQUNsRCxJQUFJLEVBQUUscUNBQXFDO0lBQzNDLElBQUksRUFBRSxnQ0FBZ0M7SUFDdEMsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLElBQUksRUFBRSxtREFBbUQ7SUFDekQsSUFBSSxFQUFFLFlBQVk7SUFDbEIsSUFBSSxFQUFFLGlDQUFpQztJQUN2QyxJQUFJLEVBQUUsVUFBVTtJQUNoQixJQUFJLEVBQUUsMkJBQTJCO0lBQ2pDLElBQUksRUFBRSxvQkFBb0I7SUFDMUIsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsOEJBQThCO0NBQ3JDLENBQUM7QUFLSyxJQUFNLG1EQUFtRCxHQUF6RCxNQUFNLG1EQUFvRCxTQUFRLElBQUk7S0FDMUUsSUFBSSxDQUFDLFNBQVM7SUFEVjs7UUFFSyxvQkFBZSxHQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFeEIsOEJBQXlCLEdBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFxQ2xELENBQUM7SUFuQ0MsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUF3QjtRQUMvQixNQUFNLEVBQUUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDekQsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUk7WUFDSixTQUFTLEVBQUUsbUJBQW1CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHO1lBQzNELE1BQU0sRUFBRSxzQkFBc0I7U0FDL0IsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsS0FBSyxNQUFNLGFBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ2pDLGFBQWEsQ0FBQyxTQUFTLEVBQ3ZCLGFBQWEsQ0FDZCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ2pDLE1BQU0sRUFBRSxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUNiLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsc0JBQXNCO2FBQy9CO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FDekMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLHNCQUFzQixDQUFDLENBQUM7UUFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQTNDWSxtREFBbUQ7SUFIL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNkLFNBQVMsRUFBRSxxREFBcUQ7S0FDakUsQ0FBQztHQUNXLG1EQUFtRCxDQTJDL0Q7O0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2RkFBNkYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgVGFvbiB9IGZyb20gJ3Rhb24vYnJvd3Nlcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gJ3Rhb24tdHlwZW9ybS9icm93c2VyJztcbmltcG9ydCB7IFBvcnQsIFBvcnRzQ29udHJvbGxlciB9IGZyb20gJy4uL2xpYic7XG5cbmNvbnN0IHBvcnRzV2l0aERlc2NyaXB0aW9uID0ge1xuICAzMDAwOiAnQ29tbW9ubHkgdXNlZCBmb3IgZGV2ZWxvcG1lbnQgc2VydmVycycsXG4gIDMwMDE6ICdBbHRlcm5hdGUgZGV2ZWxvcG1lbnQgc2VydmVyIHBvcnQnLFxuICAzMzA2OiAnTXlTUUwnLFxuICAzMzg5OiAnUmVtb3RlIERlc2t0b3AgUHJvdG9jb2wgKFJEUCknLFxuICAzNDc4OiAnU1RVTiAoU2Vzc2lvbiBUcmF2ZXJzYWwgVXRpbGl0aWVzIGZvciBOQVQpJyxcbiAgNDAwMDogJ0FsdGVybmF0aXZlIGRldmVsb3BtZW50IHNlcnZlciBwb3J0JyxcbiAgNDIwMDogJ0FuZ3VsYXIgQ0xJIERldmVsb3BtZW50IFNlcnZlcicsXG4gIDQ1MDA6ICdJUFNlYyBOQVQgdHJhdmVyc2FsJyxcbiAgNDU2NzogJ1NpbmF0cmEgRGVmYXVsdCBQb3J0JyxcbiAgNTAwMDogJ0ZsYXNrLCBQeXRob24gZGV2ZWxvcG1lbnQgc2VydmVyLCBvciBOb2RlLmpzIGFwcHMnLFxuICA1NDMyOiAnUG9zdGdyZVNRTCcsXG4gIDU1MDA6ICdMaXZlIFNlcnZlciAoVlMgQ29kZSBFeHRlbnNpb24pJyxcbiAgNTY3MjogJ1JhYmJpdE1RJyxcbiAgNTgwMDogJ1ZOQyBSZW1vdGUgRGVza3RvcCAoSFRUUCknLFxuICA1OTAwOiAnVk5DIFJlbW90ZSBEZXNrdG9wJyxcbiAgNTk4NDogJ0NvdWNoREInLFxuICA2MDAwOiAnaW4gdXNlIGJ5IHNvbWV0aGluZyBpbiBtYWNvcycsXG59O1xuXG5AVGFvbi5NaWdyYXRpb24oe1xuICBjbGFzc05hbWU6ICdQb3J0c0NvbnRleHRfMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3J0c0NvbnRleHRfMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMgZXh0ZW5kcyBUYW9uXG4gIC5CYXNlLk1pZ3JhdGlvbiB7XG4gIHByb3RlY3RlZCBwb3J0c0NvbnRyb2xsZXI6IFBvcnRzQ29udHJvbGxlciA9XG4gICAgdGhpcy5pbmplY3RDb250cm9sbGVyKFBvcnRzQ29udHJvbGxlcik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb21tb25Qb3J0c0Zyb20zMDAwdG82MDAwOiBudW1iZXJbXSA9XG4gICAgT2JqZWN0LmtleXMocG9ydHNXaXRoRGVzY3JpcHRpb24pLm1hcChOdW1iZXIpO1xuXG4gIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZGIgPSBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoUG9ydCk7XG5cbiAgICBjb25zdCBhbGxQb3J0cyA9IHRoaXMuY29tbW9uUG9ydHNGcm9tMzAwMHRvNjAwMC5tYXAocG9ydCA9PlxuICAgICAgUG9ydC5mcm9tKHtcbiAgICAgICAgcG9ydCxcbiAgICAgICAgc2VydmljZUlkOiBgbm90IGFzc2lnbmFibGUgKCR7cG9ydHNXaXRoRGVzY3JpcHRpb25bcG9ydF19KWAsXG4gICAgICAgIHN0YXR1czogJ2Fzc2lnbmVkLXRha2VuLWJ5LW9zJyxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgYXdhaXQgZGIuc2F2ZShhbGxQb3J0cyk7XG4gICAgZm9yIChjb25zdCBjb21tb25Qb3J0T2JqIG9mIGFsbFBvcnRzKSB7XG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5wb3J0c0NhY2hlLnNldChcbiAgICAgICAgY29tbW9uUG9ydE9iai5zZXJ2aWNlSWQsXG4gICAgICAgIGNvbW1vblBvcnRPYmosXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRvd24ocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBkYiA9IGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShQb3J0KTtcbiAgICBhd2FpdCBkYi5yZW1vdmUoXG4gICAgICBhd2FpdCBkYi5maW5kKHtcbiAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICBzdGF0dXM6ICdhc3NpZ25lZC10YWtlbi1ieS1vcycsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICAgIGNvbnN0IGFsbFBvcnRzID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucG9ydHNDb250cm9sbGVyLnBvcnRzQ2FjaGUudmFsdWVzKCksXG4gICAgKS5maWx0ZXIoZiA9PiBmLnN0YXR1cyA9PT0gJ2Fzc2lnbmVkLXRha2VuLWJ5LW9zJyk7XG4gICAgZm9yIChjb25zdCBwb3J0IG9mIGFsbFBvcnRzKSB7XG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5wb3J0c0NhY2hlLmRlbGV0ZShwb3J0LnNlcnZpY2VJZCk7XG4gICAgfVxuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBtaWdyYXRpb25zLzE3MzYxOTk0ODY0NzJfYWRkaW5nTm90QXNzaWduYWJsZVBvcnRzLnRzIl19
@@ -11,19 +11,32 @@ let PortsContext_1736454437350_addFreePorts = class PortsContext_1736454437350_a
11
11
  async up(queryRunner) {
12
12
  const portsTableRepo = await queryRunner.manager.getRepository(Port);
13
13
  const addFreePortsInRange = _.range(this.portsController.START_PORT, this.portsController.END_PORT + 1);
14
+ const allTakeByOsPort = (await portsTableRepo.find({
15
+ where: {
16
+ status: 'assigned-taken-by-os',
17
+ },
18
+ })).map(f => f.port);
14
19
  const freePortsInRange = addFreePortsInRange.map(port => Port.from({
15
20
  port: port,
16
- serviceId: `free port ${port}`,
17
- }));
21
+ serviceId: Port.getTitleForFreePort(port),
22
+ status: 'unassigned',
23
+ })).filter(f => !allTakeByOsPort.includes(f.port));
18
24
  await portsTableRepo.save(freePortsInRange);
19
25
  for (const port of freePortsInRange) {
20
- this.portsController.assignedPorts.set(port.serviceId, port);
26
+ this.portsController.portsCache.set(port.serviceId, port);
21
27
  }
22
28
  }
23
29
  async down(queryRunner) {
24
- this.portsController.assignedPorts.clear();
25
- const portsTableRepo = await queryRunner.manager.getRepository(Port);
26
- portsTableRepo.clear();
30
+ const db = await queryRunner.manager.getRepository(Port);
31
+ await db.remove(await db.find({
32
+ where: {
33
+ status: 'unassigned',
34
+ },
35
+ }));
36
+ const allPorts = Array.from(this.portsController.portsCache.values()).filter(f => f.status === 'unassigned');
37
+ for (const port of allPorts) {
38
+ this.portsController.portsCache.delete(port.serviceId);
39
+ }
27
40
  }
28
41
  };
29
42
  PortsContext_1736454437350_addFreePorts = __decorate([
@@ -34,4 +47,4 @@ PortsContext_1736454437350_addFreePorts = __decorate([
34
47
  export { PortsContext_1736454437350_addFreePorts };
35
48
  ;
36
49
  ({}); // @--end-of-file-for-module=tnp-helpers migrations/1736454437350_addFreePorts.ts
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbWlncmF0aW9ucy8xNzM2NDU0NDM3MzUwX2FkZEZyZWVQb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFxQixJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSzNELElBQU0sdUNBQXVDLEdBQTdDLE1BQU0sdUNBQXdDLFNBQVEsSUFBSSxDQUFDLElBQUk7S0FDbkUsU0FBUztJQURMOztRQUVLLG9CQUFlLEdBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQTZCM0MsQ0FBQztJQTFCQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO1FBQy9CLE1BQU0sY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUNsQyxDQUFDO1FBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdEQsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLGFBQWEsSUFBSSxFQUFFO1NBQy9CLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFNUMsS0FBSyxNQUFNLElBQUksSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF3QjtRQUVqQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JFLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YsQ0FBQTtBQWhDWSx1Q0FBdUM7SUFIbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNkLFNBQVMsRUFBRSx5Q0FBeUM7S0FDckQsQ0FBQztHQUNXLHVDQUF1QyxDQWdDbkQ7O0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpRkFBaUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgVGFvbiB9IGZyb20gJ3Rhb24vYnJvd3Nlcic7XG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gJ3Rhb24tdHlwZW9ybS9icm93c2VyJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IE5vdEFzc2lnbmFibGVQb3J0LCBQb3J0LCBQb3J0c0NvbnRyb2xsZXIgfSBmcm9tICcuLi9saWInO1xuXG5AVGFvbi5NaWdyYXRpb24oe1xuICBjbGFzc05hbWU6ICdQb3J0c0NvbnRleHRfMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3J0c0NvbnRleHRfMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMgZXh0ZW5kcyBUYW9uLkJhc2VcbiAgLk1pZ3JhdGlvbiB7XG4gIHByb3RlY3RlZCBwb3J0c0NvbnRyb2xsZXI6IFBvcnRzQ29udHJvbGxlciA9XG4gICAgdGhpcy5pbmplY3RDb250cm9sbGVyKFBvcnRzQ29udHJvbGxlcik7XG5cblxuICBhc3luYyB1cChxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHBvcnRzVGFibGVSZXBvID0gYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KFBvcnQpO1xuICAgIGNvbnN0IGFkZEZyZWVQb3J0c0luUmFuZ2UgPSBfLnJhbmdlKFxuICAgICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIuU1RBUlRfUE9SVCxcbiAgICAgIHRoaXMucG9ydHNDb250cm9sbGVyLkVORF9QT1JUICsgMSxcbiAgICApO1xuICAgIGNvbnN0IGZyZWVQb3J0c0luUmFuZ2UgPSBhZGRGcmVlUG9ydHNJblJhbmdlLm1hcChwb3J0ID0+XG4gICAgICBQb3J0LmZyb20oe1xuICAgICAgICBwb3J0OiBwb3J0LFxuICAgICAgICBzZXJ2aWNlSWQ6IGBmcmVlIHBvcnQgJHtwb3J0fWAsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgYXdhaXQgcG9ydHNUYWJsZVJlcG8uc2F2ZShmcmVlUG9ydHNJblJhbmdlKTtcblxuICAgIGZvciAoY29uc3QgcG9ydCBvZiBmcmVlUG9ydHNJblJhbmdlKSB7XG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5hc3NpZ25lZFBvcnRzLnNldChwb3J0LnNlcnZpY2VJZCwgcG9ydCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPGFueT4ge1xuXG4gICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIuYXNzaWduZWRQb3J0cy5jbGVhcigpO1xuICAgIGNvbnN0IHBvcnRzVGFibGVSZXBvID0gYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KFBvcnQpO1xuICAgIHBvcnRzVGFibGVSZXBvLmNsZWFyKCk7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIG1pZ3JhdGlvbnMvMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMudHMiXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbWlncmF0aW9ucy8xNzM2NDU0NDM3MzUwX2FkZEZyZWVQb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFLeEMsSUFBTSx1Q0FBdUMsR0FBN0MsTUFBTSx1Q0FBd0MsU0FBUSxJQUFJLENBQUMsSUFBSTtLQUNuRSxTQUFTO0lBREw7O1FBRUssb0JBQWUsR0FDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBaUQzQyxDQUFDO0lBL0NDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBd0I7UUFDL0IsTUFBTSxjQUFjLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRSxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQ2xDLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxDQUN0QixNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLE1BQU0sRUFBRSxzQkFBc0I7YUFDL0I7U0FDRixDQUFDLENBQ0gsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkIsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdEQsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDekMsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUNILENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWpELE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTVDLEtBQUssTUFBTSxJQUFJLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBd0I7UUFFakMsTUFBTSxFQUFFLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQ2IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1osS0FBSyxFQUFFO2dCQUNMLE1BQU0sRUFBRSxZQUFZO2FBQ3JCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FDekMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFwRFksdUNBQXVDO0lBSG5ELElBQUksQ0FBQyxTQUFTLENBQUM7UUFDZCxTQUFTLEVBQUUseUNBQXlDO0tBQ3JELENBQUM7R0FDVyx1Q0FBdUMsQ0FvRG5EOztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUZBQWlGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IFRhb24gfSBmcm9tICd0YW9uL2Jyb3dzZXInO1xuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tICd0YW9uLXR5cGVvcm0vYnJvd3Nlcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBQb3J0LCBQb3J0c0NvbnRyb2xsZXIgfSBmcm9tICcuLi9saWInO1xuXG5AVGFvbi5NaWdyYXRpb24oe1xuICBjbGFzc05hbWU6ICdQb3J0c0NvbnRleHRfMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3J0c0NvbnRleHRfMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMgZXh0ZW5kcyBUYW9uLkJhc2VcbiAgLk1pZ3JhdGlvbiB7XG4gIHByb3RlY3RlZCBwb3J0c0NvbnRyb2xsZXI6IFBvcnRzQ29udHJvbGxlciA9XG4gICAgdGhpcy5pbmplY3RDb250cm9sbGVyKFBvcnRzQ29udHJvbGxlcik7XG5cbiAgYXN5bmMgdXAocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBwb3J0c1RhYmxlUmVwbyA9IGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShQb3J0KTtcbiAgICBjb25zdCBhZGRGcmVlUG9ydHNJblJhbmdlID0gXy5yYW5nZShcbiAgICAgIHRoaXMucG9ydHNDb250cm9sbGVyLlNUQVJUX1BPUlQsXG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5FTkRfUE9SVCArIDEsXG4gICAgKTtcblxuICAgIGNvbnN0IGFsbFRha2VCeU9zUG9ydCA9IChcbiAgICAgIGF3YWl0IHBvcnRzVGFibGVSZXBvLmZpbmQoe1xuICAgICAgICB3aGVyZToge1xuICAgICAgICAgIHN0YXR1czogJ2Fzc2lnbmVkLXRha2VuLWJ5LW9zJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKS5tYXAoZiA9PiBmLnBvcnQpO1xuXG4gICAgY29uc3QgZnJlZVBvcnRzSW5SYW5nZSA9IGFkZEZyZWVQb3J0c0luUmFuZ2UubWFwKHBvcnQgPT5cbiAgICAgIFBvcnQuZnJvbSh7XG4gICAgICAgIHBvcnQ6IHBvcnQsXG4gICAgICAgIHNlcnZpY2VJZDogUG9ydC5nZXRUaXRsZUZvckZyZWVQb3J0KHBvcnQpLFxuICAgICAgICBzdGF0dXM6ICd1bmFzc2lnbmVkJyxcbiAgICAgIH0pLFxuICAgICkuZmlsdGVyKGYgPT4gIWFsbFRha2VCeU9zUG9ydC5pbmNsdWRlcyhmLnBvcnQpKTtcblxuICAgIGF3YWl0IHBvcnRzVGFibGVSZXBvLnNhdmUoZnJlZVBvcnRzSW5SYW5nZSk7XG5cbiAgICBmb3IgKGNvbnN0IHBvcnQgb2YgZnJlZVBvcnRzSW5SYW5nZSkge1xuICAgICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIucG9ydHNDYWNoZS5zZXQocG9ydC5zZXJ2aWNlSWQsIHBvcnQpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRvd24ocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTxhbnk+IHtcblxuICAgIGNvbnN0IGRiID0gYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KFBvcnQpO1xuICAgIGF3YWl0IGRiLnJlbW92ZShcbiAgICAgIGF3YWl0IGRiLmZpbmQoe1xuICAgICAgICB3aGVyZToge1xuICAgICAgICAgIHN0YXR1czogJ3VuYXNzaWduZWQnLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgICBjb25zdCBhbGxQb3J0cyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5wb3J0c0NhY2hlLnZhbHVlcygpLFxuICAgICkuZmlsdGVyKGYgPT4gZi5zdGF0dXMgPT09ICd1bmFzc2lnbmVkJyk7XG4gICAgZm9yIChjb25zdCBwb3J0IG9mIGFsbFBvcnRzKSB7XG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5wb3J0c0NhY2hlLmRlbGV0ZShwb3J0LnNlcnZpY2VJZCk7XG4gICAgfVxuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBtaWdyYXRpb25zLzE3MzY0NTQ0MzczNTBfYWRkRnJlZVBvcnRzLnRzIl19