build-raptor 0.129.0 → 0.131.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/build-raptor.js +7259 -0
  2. package/index.d.ts +22 -0
  3. package/index.js +7231 -0
  4. package/package.json +13 -17
  5. package/dist/deps/brand/brand.d.ts +0 -5
  6. package/dist/deps/brand/brand.js +0 -3
  7. package/dist/deps/brand/index.d.ts +0 -1
  8. package/dist/deps/brand/index.js +0 -18
  9. package/dist/deps/build-failed-error/build-failed-error.d.ts +0 -14
  10. package/dist/deps/build-failed-error/build-failed-error.js +0 -13
  11. package/dist/deps/build-failed-error/index.d.ts +0 -1
  12. package/dist/deps/build-failed-error/index.js +0 -18
  13. package/dist/deps/build-raptor-api/build-raptor-api.d.ts +0 -351
  14. package/dist/deps/build-raptor-api/build-raptor-api.js +0 -132
  15. package/dist/deps/build-raptor-api/index.d.ts +0 -2
  16. package/dist/deps/build-raptor-api/index.js +0 -19
  17. package/dist/deps/build-raptor-api/step-by-step-processor.d.ts +0 -35
  18. package/dist/deps/build-raptor-api/step-by-step-processor.js +0 -3
  19. package/dist/deps/build-raptor-core/breakdown.d.ts +0 -18
  20. package/dist/deps/build-raptor-core/breakdown.js +0 -99
  21. package/dist/deps/build-raptor-core/build-raptor-config.d.ts +0 -18
  22. package/dist/deps/build-raptor-core/build-raptor-config.js +0 -21
  23. package/dist/deps/build-raptor-core/default-asset-publisher.d.ts +0 -10
  24. package/dist/deps/build-raptor-core/default-asset-publisher.js +0 -16
  25. package/dist/deps/build-raptor-core/engine-bootstrapper.d.ts +0 -50
  26. package/dist/deps/build-raptor-core/engine-bootstrapper.js +0 -200
  27. package/dist/deps/build-raptor-core/engine-event-scheme.d.ts +0 -20
  28. package/dist/deps/build-raptor-core/engine-event-scheme.js +0 -3
  29. package/dist/deps/build-raptor-core/engine.d.ts +0 -66
  30. package/dist/deps/build-raptor-core/engine.js +0 -285
  31. package/dist/deps/build-raptor-core/examplify-zod.d.ts +0 -93
  32. package/dist/deps/build-raptor-core/examplify-zod.js +0 -257
  33. package/dist/deps/build-raptor-core/execution-plan.d.ts +0 -20
  34. package/dist/deps/build-raptor-core/execution-plan.js +0 -66
  35. package/dist/deps/build-raptor-core/execution-record.d.ts +0 -17
  36. package/dist/deps/build-raptor-core/execution-record.js +0 -3
  37. package/dist/deps/build-raptor-core/execution-type.d.ts +0 -2
  38. package/dist/deps/build-raptor-core/execution-type.js +0 -3
  39. package/dist/deps/build-raptor-core/find-repo-dir.d.ts +0 -1
  40. package/dist/deps/build-raptor-core/find-repo-dir.js +0 -27
  41. package/dist/deps/build-raptor-core/fingerprint-ledger.d.ts +0 -33
  42. package/dist/deps/build-raptor-core/fingerprint-ledger.js +0 -164
  43. package/dist/deps/build-raptor-core/fingerprint.d.ts +0 -3
  44. package/dist/deps/build-raptor-core/fingerprint.js +0 -13
  45. package/dist/deps/build-raptor-core/fingerprinter.d.ts +0 -14
  46. package/dist/deps/build-raptor-core/fingerprinter.js +0 -121
  47. package/dist/deps/build-raptor-core/hasher.d.ts +0 -21
  48. package/dist/deps/build-raptor-core/hasher.js +0 -93
  49. package/dist/deps/build-raptor-core/index.d.ts +0 -9
  50. package/dist/deps/build-raptor-core/index.js +0 -26
  51. package/dist/deps/build-raptor-core/model.d.ts +0 -17
  52. package/dist/deps/build-raptor-core/model.js +0 -40
  53. package/dist/deps/build-raptor-core/nop-asset-publisher.d.ts +0 -6
  54. package/dist/deps/build-raptor-core/nop-asset-publisher.js +0 -12
  55. package/dist/deps/build-raptor-core/performance-report.d.ts +0 -5
  56. package/dist/deps/build-raptor-core/performance-report.js +0 -3
  57. package/dist/deps/build-raptor-core/phase.d.ts +0 -1
  58. package/dist/deps/build-raptor-core/phase.js +0 -3
  59. package/dist/deps/build-raptor-core/planner.d.ts +0 -12
  60. package/dist/deps/build-raptor-core/planner.js +0 -43
  61. package/dist/deps/build-raptor-core/purger.d.ts +0 -11
  62. package/dist/deps/build-raptor-core/purger.js +0 -65
  63. package/dist/deps/build-raptor-core/slot-index.d.ts +0 -6
  64. package/dist/deps/build-raptor-core/slot-index.js +0 -17
  65. package/dist/deps/build-raptor-core/step-by-step-transmitter.d.ts +0 -15
  66. package/dist/deps/build-raptor-core/step-by-step-transmitter.js +0 -94
  67. package/dist/deps/build-raptor-core/tar-stream.d.ts +0 -20
  68. package/dist/deps/build-raptor-core/tar-stream.js +0 -194
  69. package/dist/deps/build-raptor-core/task-executor.d.ts +0 -32
  70. package/dist/deps/build-raptor-core/task-executor.js +0 -321
  71. package/dist/deps/build-raptor-core/task-store-cli.d.ts +0 -1
  72. package/dist/deps/build-raptor-core/task-store-cli.js +0 -61
  73. package/dist/deps/build-raptor-core/task-store-event.d.ts +0 -17
  74. package/dist/deps/build-raptor-core/task-store-event.js +0 -3
  75. package/dist/deps/build-raptor-core/task-store.d.ts +0 -41
  76. package/dist/deps/build-raptor-core/task-store.js +0 -302
  77. package/dist/deps/build-raptor-core/task-summary.d.ts +0 -12
  78. package/dist/deps/build-raptor-core/task-summary.js +0 -3
  79. package/dist/deps/build-raptor-core/task-tracker.d.ts +0 -23
  80. package/dist/deps/build-raptor-core/task-tracker.js +0 -97
  81. package/dist/deps/build-raptor-core/task.d.ts +0 -30
  82. package/dist/deps/build-raptor-core/task.js +0 -90
  83. package/dist/deps/build-raptor-core/updatable-task-output-registry.d.ts +0 -13
  84. package/dist/deps/build-raptor-core/updatable-task-output-registry.js +0 -75
  85. package/dist/deps/build-raptor-core/validate-task-infos.d.ts +0 -3
  86. package/dist/deps/build-raptor-core/validate-task-infos.js +0 -53
  87. package/dist/deps/build-raptor-core-testkit/build-raptor-core-testkit.d.ts +0 -1
  88. package/dist/deps/build-raptor-core-testkit/build-raptor-core-testkit.js +0 -18
  89. package/dist/deps/build-raptor-core-testkit/driver.d.ts +0 -119
  90. package/dist/deps/build-raptor-core-testkit/driver.js +0 -305
  91. package/dist/deps/build-raptor-core-testkit/index.d.ts +0 -3
  92. package/dist/deps/build-raptor-core-testkit/index.js +0 -20
  93. package/dist/deps/build-raptor-core-testkit/repo-protocol-testkit.d.ts +0 -35
  94. package/dist/deps/build-raptor-core-testkit/repo-protocol-testkit.js +0 -226
  95. package/dist/deps/build-raptor-core-testkit/simple-node-repo-protocol.d.ts +0 -27
  96. package/dist/deps/build-raptor-core-testkit/simple-node-repo-protocol.js +0 -140
  97. package/dist/deps/build-raptor-jest-reporter/index.d.ts +0 -0
  98. package/dist/deps/build-raptor-jest-reporter/index.js +0 -33
  99. package/dist/deps/build-run-id/build-run-id.d.ts +0 -3
  100. package/dist/deps/build-run-id/build-run-id.js +0 -13
  101. package/dist/deps/build-run-id/index.d.ts +0 -1
  102. package/dist/deps/build-run-id/index.js +0 -18
  103. package/dist/deps/core-types/core-types.d.ts +0 -29
  104. package/dist/deps/core-types/core-types.js +0 -81
  105. package/dist/deps/core-types/index.d.ts +0 -1
  106. package/dist/deps/core-types/index.js +0 -18
  107. package/dist/deps/logger/index.d.ts +0 -1
  108. package/dist/deps/logger/index.js +0 -18
  109. package/dist/deps/logger/logger.d.ts +0 -26
  110. package/dist/deps/logger/logger.js +0 -152
  111. package/dist/deps/misc/arrays.d.ts +0 -7
  112. package/dist/deps/misc/arrays.js +0 -67
  113. package/dist/deps/misc/camelize-record.d.ts +0 -6
  114. package/dist/deps/misc/camelize-record.js +0 -16
  115. package/dist/deps/misc/clean-directory.d.ts +0 -4
  116. package/dist/deps/misc/clean-directory.js +0 -80
  117. package/dist/deps/misc/constructs.d.ts +0 -106
  118. package/dist/deps/misc/constructs.js +0 -131
  119. package/dist/deps/misc/directory-scanner.d.ts +0 -49
  120. package/dist/deps/misc/directory-scanner.js +0 -165
  121. package/dist/deps/misc/executor.d.ts +0 -39
  122. package/dist/deps/misc/executor.js +0 -59
  123. package/dist/deps/misc/file-system-storage-client.d.ts +0 -23
  124. package/dist/deps/misc/file-system-storage-client.js +0 -93
  125. package/dist/deps/misc/folderify.d.ts +0 -8
  126. package/dist/deps/misc/folderify.js +0 -86
  127. package/dist/deps/misc/graph.d.ts +0 -29
  128. package/dist/deps/misc/graph.js +0 -200
  129. package/dist/deps/misc/in-memory-storage-client.d.ts +0 -21
  130. package/dist/deps/misc/in-memory-storage-client.js +0 -75
  131. package/dist/deps/misc/index.d.ts +0 -20
  132. package/dist/deps/misc/index.js +0 -37
  133. package/dist/deps/misc/int.d.ts +0 -10
  134. package/dist/deps/misc/int.js +0 -29
  135. package/dist/deps/misc/internal/graph-executor.d.ts +0 -15
  136. package/dist/deps/misc/internal/graph-executor.js +0 -93
  137. package/dist/deps/misc/maps.d.ts +0 -29
  138. package/dist/deps/misc/maps.js +0 -47
  139. package/dist/deps/misc/misc.d.ts +0 -23
  140. package/dist/deps/misc/misc.js +0 -94
  141. package/dist/deps/misc/object-map.d.ts +0 -10
  142. package/dist/deps/misc/object-map.js +0 -26
  143. package/dist/deps/misc/promises.d.ts +0 -39
  144. package/dist/deps/misc/promises.js +0 -78
  145. package/dist/deps/misc/records.d.ts +0 -11
  146. package/dist/deps/misc/records.js +0 -40
  147. package/dist/deps/misc/slurp-dir.d.ts +0 -1
  148. package/dist/deps/misc/slurp-dir.js +0 -14
  149. package/dist/deps/misc/storage-client.d.ts +0 -12
  150. package/dist/deps/misc/storage-client.js +0 -3
  151. package/dist/deps/misc/stream-to-buffer.d.ts +0 -2
  152. package/dist/deps/misc/stream-to-buffer.js +0 -26
  153. package/dist/deps/misc/strings.d.ts +0 -12
  154. package/dist/deps/misc/strings.js +0 -68
  155. package/dist/deps/misc/typed-publisher.d.ts +0 -17
  156. package/dist/deps/misc/typed-publisher.js +0 -65
  157. package/dist/deps/repo-protocol/index.d.ts +0 -3
  158. package/dist/deps/repo-protocol/index.js +0 -20
  159. package/dist/deps/repo-protocol/repo-protocol.d.ts +0 -49
  160. package/dist/deps/repo-protocol/repo-protocol.js +0 -3
  161. package/dist/deps/repo-protocol/task-info.d.ts +0 -18
  162. package/dist/deps/repo-protocol/task-info.js +0 -3
  163. package/dist/deps/repo-protocol/test-run-summary.d.ts +0 -54
  164. package/dist/deps/repo-protocol/test-run-summary.js +0 -32
  165. package/dist/deps/repo-protocol-toolbox/generate-task-infos.d.ts +0 -5
  166. package/dist/deps/repo-protocol-toolbox/generate-task-infos.js +0 -26
  167. package/dist/deps/repo-protocol-toolbox/index.d.ts +0 -3
  168. package/dist/deps/repo-protocol-toolbox/index.js +0 -20
  169. package/dist/deps/repo-protocol-toolbox/repo-protocol-toolbox.d.ts +0 -10
  170. package/dist/deps/repo-protocol-toolbox/repo-protocol-toolbox.js +0 -90
  171. package/dist/deps/repo-protocol-toolbox/task-definition.d.ts +0 -14
  172. package/dist/deps/repo-protocol-toolbox/task-definition.js +0 -3
  173. package/dist/deps/reporter-output/index.d.ts +0 -1
  174. package/dist/deps/reporter-output/index.js +0 -18
  175. package/dist/deps/reporter-output/reporter-output.d.ts +0 -49
  176. package/dist/deps/reporter-output/reporter-output.js +0 -25
  177. package/dist/deps/s3-storage-client/creds.d.ts +0 -4
  178. package/dist/deps/s3-storage-client/creds.js +0 -3
  179. package/dist/deps/s3-storage-client/get-s3-storage-client-factory.d.ts +0 -3
  180. package/dist/deps/s3-storage-client/get-s3-storage-client-factory.js +0 -45
  181. package/dist/deps/s3-storage-client/index.d.ts +0 -2
  182. package/dist/deps/s3-storage-client/index.js +0 -19
  183. package/dist/deps/s3-storage-client/main.d.ts +0 -1
  184. package/dist/deps/s3-storage-client/main.js +0 -20
  185. package/dist/deps/s3-storage-client/s3-storage-client.d.ts +0 -25
  186. package/dist/deps/s3-storage-client/s3-storage-client.js +0 -134
  187. package/dist/deps/task-name/index.d.ts +0 -1
  188. package/dist/deps/task-name/index.js +0 -18
  189. package/dist/deps/task-name/task-name.d.ts +0 -17
  190. package/dist/deps/task-name/task-name.js +0 -44
  191. package/dist/deps/unit-metadata/index.d.ts +0 -1
  192. package/dist/deps/unit-metadata/index.js +0 -18
  193. package/dist/deps/unit-metadata/unit-metadata.d.ts +0 -14
  194. package/dist/deps/unit-metadata/unit-metadata.js +0 -32
  195. package/dist/deps/yarn-repo-protocol/build-task-record.d.ts +0 -61
  196. package/dist/deps/yarn-repo-protocol/build-task-record.js +0 -29
  197. package/dist/deps/yarn-repo-protocol/generate-test-run-summary.d.ts +0 -4
  198. package/dist/deps/yarn-repo-protocol/generate-test-run-summary.js +0 -26
  199. package/dist/deps/yarn-repo-protocol/index.d.ts +0 -2
  200. package/dist/deps/yarn-repo-protocol/index.js +0 -19
  201. package/dist/deps/yarn-repo-protocol/rerun-list.d.ts +0 -12
  202. package/dist/deps/yarn-repo-protocol/rerun-list.js +0 -6
  203. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol-config.d.ts +0 -24
  204. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol-config.js +0 -33
  205. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol.d.ts +0 -82
  206. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol.js +0 -1036
  207. package/dist/src/build-raptor-cli.d.ts +0 -60
  208. package/dist/src/build-raptor-cli.js +0 -514
  209. package/dist/src/index.d.ts +0 -1
  210. package/dist/src/index.js +0 -20
  211. package/dist/src/main.d.ts +0 -2
  212. package/dist/src/main.js +0 -23
  213. package/dist/src/register-asset-request.d.ts +0 -18
  214. package/dist/src/register-asset-request.js +0 -11
  215. package/dist/src/task-execution-visualizer.d.ts +0 -17
  216. package/dist/src/task-execution-visualizer.js +0 -116
@@ -1,18 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const RegisterAssetRequest: z.ZodObject<{
3
- packageName: z.ZodString;
4
- commitHash: z.ZodString;
5
- prNumber: z.ZodOptional<z.ZodNumber>;
6
- casReference: z.ZodString;
7
- }, "strip", z.ZodTypeAny, {
8
- commitHash: string;
9
- packageName: string;
10
- casReference: string;
11
- prNumber?: number | undefined;
12
- }, {
13
- commitHash: string;
14
- packageName: string;
15
- casReference: string;
16
- prNumber?: number | undefined;
17
- }>;
18
- export type RegisterAssetRequest = z.infer<typeof RegisterAssetRequest>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RegisterAssetRequest = void 0;
4
- const zod_1 = require("zod");
5
- exports.RegisterAssetRequest = zod_1.z.object({
6
- packageName: zod_1.z.string(),
7
- commitHash: zod_1.z.string(),
8
- prNumber: zod_1.z.number().int().positive().optional(),
9
- casReference: zod_1.z.string(),
10
- });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYXNzZXQtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWdpc3Rlci1hc3NldC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUVWLFFBQUEsb0JBQW9CLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN2QixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN0QixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoRCxZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtDQUN6QixDQUFDLENBQUEifQ==
@@ -1,17 +0,0 @@
1
- export declare class TaskExecutionVisualizer {
2
- private numStarted;
3
- private numEnded;
4
- private numBlocked;
5
- private numFailed;
6
- private numSucceeded;
7
- private numExectuted;
8
- private numCached;
9
- private all;
10
- addTasks(names: string[]): void;
11
- private getLine;
12
- begin(taskName: string): string;
13
- private getGradient;
14
- ended(taskName: string, verdict: 'OK' | 'FAIL' | 'UNKNOWN' | 'CRASH', executionType: 'EXECUTED' | 'CACHED' | 'UNKNOWN' | 'CANNOT_START', durationMillis?: number): string | undefined;
15
- private formatDuration;
16
- summary(durationInMillis: number): string;
17
- }
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskExecutionVisualizer = void 0;
4
- const misc_1 = require("misc");
5
- class TaskExecutionVisualizer {
6
- constructor() {
7
- this.numStarted = 0;
8
- this.numEnded = 0;
9
- this.numBlocked = 0;
10
- this.numFailed = 0;
11
- this.numSucceeded = 0;
12
- this.numExectuted = 0;
13
- this.numCached = 0;
14
- this.all = 0;
15
- }
16
- addTasks(names) {
17
- this.all += names.length;
18
- }
19
- getLine(taskName, text) {
20
- if (text === undefined) {
21
- return `[${this.numEnded}/${this.numStarted}] 🚀 ${taskName}`;
22
- }
23
- return `[${this.numEnded}/${this.numStarted}] 🏁 ${taskName}`;
24
- }
25
- begin(taskName) {
26
- ++this.numStarted;
27
- return this.getLine(taskName);
28
- }
29
- getGradient(durationMillis) {
30
- const seconds = durationMillis / 1000;
31
- const steps = [
32
- [0, '▁'],
33
- [1, '▂'],
34
- [10, '▃'],
35
- [30, '▄'],
36
- [90, '▅'],
37
- [270, '▆'],
38
- [810, '▇'],
39
- ];
40
- const gradient = steps
41
- .filter(at => seconds >= at[0])
42
- .map(at => at[1])
43
- .join('');
44
- // Pad to 8 characters with spaces for alignment
45
- return gradient.padEnd(8, ' ');
46
- }
47
- ended(taskName, verdict, executionType, durationMillis) {
48
- if (executionType === 'CANNOT_START' || executionType === 'UNKNOWN') {
49
- // It looks like UNKNOWN cannot really happen once the task is started, so we ignore it.
50
- // CANNOT_START can happen but it clutters the output: after a (single) task that failed to build, there can be
51
- // long chain of dependent tasks that will be CANNOT_START. printing these tasks will distract the user.
52
- ++this.numBlocked;
53
- return undefined;
54
- }
55
- ++this.numEnded;
56
- const cacheIndicator = (0, misc_1.switchOn)(executionType, {
57
- CACHED: () => {
58
- ++this.numCached;
59
- return '🗃️ ';
60
- },
61
- EXECUTED: () => {
62
- ++this.numExectuted;
63
- return '✨';
64
- },
65
- });
66
- const verdictIndicator = (0, misc_1.switchOn)(verdict, {
67
- CRASH: () => {
68
- ++this.numFailed;
69
- return '❌';
70
- },
71
- FAIL: () => {
72
- ++this.numFailed;
73
- return '❌';
74
- },
75
- OK: () => {
76
- ++this.numSucceeded;
77
- return '✅';
78
- },
79
- UNKNOWN: () => '',
80
- });
81
- const full = `[${this.all}/${this.all}]`.length;
82
- const progress = `[${this.numEnded}/${this.all}]`;
83
- // Calculate gradient and format timing
84
- const gradient = durationMillis !== undefined ? this.getGradient(durationMillis) : ' ';
85
- const timing = durationMillis !== undefined ? this.formatDuration(durationMillis).padStart(6) : ' ';
86
- return `${progress.padStart(full, '.')} ${gradient} ${timing} ${verdictIndicator} ${cacheIndicator} ${taskName}`;
87
- }
88
- formatDuration(durationMillis) {
89
- const seconds = durationMillis / 1000;
90
- if (seconds < 600) {
91
- return `${seconds.toFixed(1)}s`;
92
- }
93
- else {
94
- const minutes = seconds / 60;
95
- return `${minutes.toFixed(1)}m`;
96
- }
97
- }
98
- summary(durationInMillis) {
99
- const tried = this.numExectuted + this.numCached;
100
- const width = this.all.toString().length;
101
- return [
102
- `Build Summary (${(durationInMillis / 1000).toFixed(1)}s):`,
103
- `✅ Succeeded: ${this.numSucceeded.toString().padStart(width)}/${this.all}`,
104
- this.numFailed > 0 ? `❌ Failed: ${this.numFailed.toString().padStart(width)}/${this.all}` : undefined,
105
- this.numBlocked > 0 ? `⛔ Could not start: ${this.numBlocked.toString().padStart(width)}/${this.all}` : undefined,
106
- ``,
107
- `✨ Executed: ${this.numExectuted.toString().padStart(width)}/${tried}`,
108
- `🗃️ Cache hit: ${this.numCached.toString().padStart(width)}/${tried} (${((100 * this.numCached) /
109
- tried).toFixed(1)}%)`,
110
- ]
111
- .filter(at => at !== undefined)
112
- .join('\n');
113
- }
114
- }
115
- exports.TaskExecutionVisualizer = TaskExecutionVisualizer;
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1leGVjdXRpb24tdmlzdWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrLWV4ZWN1dGlvbi12aXN1YWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUUvQixNQUFhLHVCQUF1QjtJQUFwQztRQUNVLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFDZCxhQUFRLEdBQUcsQ0FBQyxDQUFBO1FBQ1osZUFBVSxHQUFHLENBQUMsQ0FBQTtRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUE7UUFDYixpQkFBWSxHQUFHLENBQUMsQ0FBQTtRQUNoQixpQkFBWSxHQUFHLENBQUMsQ0FBQTtRQUNoQixjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2IsUUFBRyxHQUFHLENBQUMsQ0FBQTtJQTBIakIsQ0FBQztJQXhIQyxRQUFRLENBQUMsS0FBZTtRQUN0QixJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUE7SUFDMUIsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFnQixFQUFFLElBQWE7UUFDN0MsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsU0FBUyxRQUFRLEVBQUUsQ0FBQTtRQUNoRSxDQUFDO1FBRUQsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsU0FBUyxRQUFRLEVBQUUsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQWdCO1FBQ3BCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVPLFdBQVcsQ0FBQyxjQUFzQjtRQUN4QyxNQUFNLE9BQU8sR0FBRyxjQUFjLEdBQUcsSUFBSSxDQUFBO1FBRXJDLE1BQU0sS0FBSyxHQUFHO1lB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