tnp-helpers 18.0.24 → 19.0.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 (159) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  3. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  5. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  6. package/browser/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  7. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +5 -83
  8. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +22 -1
  9. package/browser/esm2022/lib/base/classes/base-vscode.mjs +1 -13
  10. package/browser/esm2022/lib/base/classes/index.mjs +1 -3
  11. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  12. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  13. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  14. package/browser/esm2022/lib/models.mjs +1 -1
  15. package/browser/fesm2022/tnp-helpers.mjs +468 -515
  16. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  17. package/{client/lib/base/classes → browser/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  18. package/browser/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  19. package/browser/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  20. package/browser/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  21. package/browser/lib/base/classes/base-node-modules.d.ts +7 -2
  22. package/browser/lib/base/classes/base-quick-fixes.d.ts +7 -0
  23. package/browser/lib/base/classes/base-vscode.d.ts +1 -1
  24. package/browser/lib/base/classes/index.d.ts +0 -2
  25. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  26. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  27. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  28. package/browser/lib/models.d.ts +3 -1
  29. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  30. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  31. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  32. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  33. package/client/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  34. package/client/esm2022/lib/base/classes/base-node-modules.mjs +5 -83
  35. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +22 -1
  36. package/client/esm2022/lib/base/classes/base-vscode.mjs +1 -13
  37. package/client/esm2022/lib/base/classes/index.mjs +1 -3
  38. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  39. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  40. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  41. package/client/esm2022/lib/models.mjs +1 -1
  42. package/client/fesm2022/tnp-helpers.mjs +468 -515
  43. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  44. package/{websql/lib/base/classes → client/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  45. package/client/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  46. package/client/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  47. package/client/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  48. package/client/lib/base/classes/base-node-modules.d.ts +7 -2
  49. package/client/lib/base/classes/base-quick-fixes.d.ts +7 -0
  50. package/client/lib/base/classes/base-vscode.d.ts +1 -1
  51. package/client/lib/base/classes/index.d.ts +0 -2
  52. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  53. package/client/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  54. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  55. package/client/lib/models.d.ts +3 -1
  56. package/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +1 -1
  57. package/lib/base/classes/base-cli-worker/base-cli-worker-config.js.map +1 -0
  58. package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js.map +1 -0
  59. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +39 -0
  60. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js +148 -0
  61. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js.map +1 -0
  62. package/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +9 -41
  63. package/lib/base/classes/{base-cli-worker.js → base-cli-worker/base-cli-worker.js} +43 -176
  64. package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -0
  65. package/lib/base/classes/base-cli-worker/index.d.ts +4 -0
  66. package/lib/base/classes/base-cli-worker/index.js +21 -0
  67. package/lib/base/classes/base-cli-worker/index.js.map +1 -0
  68. package/lib/base/classes/base-global-command-line.backend.js +1 -1
  69. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  70. package/lib/base/classes/base-node-modules.d.ts +7 -2
  71. package/lib/base/classes/base-node-modules.js +109 -137
  72. package/lib/base/classes/base-node-modules.js.map +1 -1
  73. package/lib/base/classes/base-npm-helpers.js +1 -1
  74. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  75. package/lib/base/classes/base-powershell.d.ts +57 -0
  76. package/lib/base/classes/base-powershell.js +83 -0
  77. package/lib/base/classes/base-powershell.js.map +1 -0
  78. package/lib/base/classes/base-quick-fixes.d.ts +7 -0
  79. package/lib/base/classes/base-quick-fixes.js +21 -0
  80. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  81. package/lib/base/classes/base-vscode.d.ts +1 -1
  82. package/lib/base/classes/base-vscode.js +9 -15
  83. package/lib/base/classes/base-vscode.js.map +1 -1
  84. package/lib/base/classes/index.d.ts +0 -2
  85. package/lib/base/classes/index.js +0 -2
  86. package/lib/base/classes/index.js.map +1 -1
  87. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  88. package/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  89. package/lib/base/tcp-udp-ports/ports.controller.js +2 -2
  90. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  91. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +32 -0
  92. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js +256 -0
  93. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js.map +1 -0
  94. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +4 -29
  95. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +7 -257
  96. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  97. package/lib/helpers/for-browser/angular.helper.js +2 -2
  98. package/lib/models.d.ts +2 -0
  99. package/lib/models.js.map +1 -1
  100. package/lib/old/base-component.js +2 -2
  101. package/lib/old/base-formly-component.js +2 -2
  102. package/lib/old/dual-component-ctrl.js +2 -2
  103. package/package.json +2 -2
  104. package/tmp-environment.json +24 -3
  105. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  106. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  107. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  108. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  109. package/websql/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  110. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +5 -83
  111. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +22 -1
  112. package/websql/esm2022/lib/base/classes/base-vscode.mjs +1 -13
  113. package/websql/esm2022/lib/base/classes/index.mjs +1 -3
  114. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  115. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  116. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  117. package/websql/esm2022/lib/models.mjs +1 -1
  118. package/websql/fesm2022/tnp-helpers.mjs +468 -515
  119. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  120. package/{browser/lib/base/classes → websql/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  121. package/websql/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  122. package/websql/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  123. package/websql/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  124. package/websql/lib/base/classes/base-node-modules.d.ts +7 -2
  125. package/websql/lib/base/classes/base-quick-fixes.d.ts +7 -0
  126. package/websql/lib/base/classes/base-vscode.d.ts +1 -1
  127. package/websql/lib/base/classes/index.d.ts +0 -2
  128. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  129. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  130. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  131. package/websql/lib/models.d.ts +3 -1
  132. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  133. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  134. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  135. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  136. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  137. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  138. package/lib/base/classes/base-cli-worker-config.js.map +0 -1
  139. package/lib/base/classes/base-cli-worker-controller.js.map +0 -1
  140. package/lib/base/classes/base-cli-worker.js.map +0 -1
  141. package/lib/base/classes/base-detached-service.d.ts +0 -5
  142. package/lib/base/classes/base-detached-service.js +0 -12
  143. package/lib/base/classes/base-detached-service.js.map +0 -1
  144. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +0 -104
  145. package/lib/helpers/for-backend/helpers-file-folders.backend.js +0 -896
  146. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +0 -1
  147. package/lib/helpers/for-backend/helpers-process.backend.d.ts +0 -87
  148. package/lib/helpers/for-backend/helpers-process.backend.js +0 -456
  149. package/lib/helpers/for-backend/helpers-process.backend.js.map +0 -1
  150. package/taon.jsonc +0 -34
  151. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  152. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  153. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  154. /package/browser/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  155. /package/client/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  156. /package/lib/base/classes/{base-cli-worker-config.js → base-cli-worker/base-cli-worker-config.js} +0 -0
  157. /package/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  158. /package/lib/base/classes/{base-cli-worker-controller.js → base-cli-worker/base-cli-worker-controller.js} +0 -0
  159. /package/websql/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
@@ -0,0 +1,404 @@
1
+ import { _, } from 'tnp-core/browser'; /* */
2
+ /* */
3
+ /* */
4
+ /* */
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ /* */
10
+ import { Helpers } from '../../../index';
11
+ import { BaseCliWorkerTerminalUI } from './base-cli-worker-terminal-ui';
12
+ const WORKER_INIT_START_TIME_LIMIT = 25; // 15 seconds max to start worker
13
+ const START_PORT_FOR_SERVICES = 3600;
14
+ export class BaseCliWorker {
15
+ get pathToProcessLocalInfoJson() {
16
+ /* */
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ return (void 0);
25
+ }
26
+ get processLocalInfoObj() {
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ return (void 0);
34
+ }
35
+ constructor(
36
+ /**
37
+ * unique id for service
38
+ */
39
+ serviceID,
40
+ /**
41
+ * external command that will start service
42
+ */
43
+ startCommand,
44
+ /**
45
+ * unique id for service
46
+ */
47
+ serviceVersion) {
48
+ this.serviceID = serviceID;
49
+ this.startCommand = startCommand;
50
+ this.serviceVersion = serviceVersion;
51
+ this.SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';
52
+ // @ts-ignore TODO weird inheritance problem
53
+ this.terminalUi = new BaseCliWorkerTerminalUI(this);
54
+ }
55
+ async startDetachedIfNeedsToBeStarted(options) {
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ return (void 0);
73
+ }
74
+ /**
75
+ * stop if started
76
+ */
77
+ async kill(options) {
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ return (void 0);
99
+ }
100
+ /**
101
+ * kill detached process and start again
102
+ * @param options.detached - default true
103
+ */
104
+ async restart(options) {
105
+ options = options || {};
106
+ options.detached = _.isUndefined(options.detached) ? true : false;
107
+ await this.kill();
108
+ //longer because os is disposing process previous process
109
+ if (options.detached) {
110
+ Helpers.info(`Restarting service "${this.serviceID}" in detached mode...`);
111
+ await this.startDetached(options);
112
+ }
113
+ else {
114
+ Helpers.info(`Restarting service "${this.serviceID}" in current process...`);
115
+ await this.startNormallyInCurrentProcess();
116
+ }
117
+ }
118
+ /**
119
+ * only for cli start
120
+ * @param cliParams on from cli
121
+ */
122
+ async cliStartProcedure(cliParams) {
123
+ const detached = !!cliParams['detached'] || !!cliParams['detach'];
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ return (void 0);
144
+ }
145
+ preventExternalConfigChange() {
146
+ /* */
147
+ /* */
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ /* */
159
+ return (void 0);
160
+ }
161
+ async preventStartIfAlreadyStarted() {
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
169
+ /* */
170
+ /* */
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ return (void 0);
176
+ }
177
+ async killWorkerWithLowerVersion() {
178
+ /* */
179
+ /* */
180
+ /* */
181
+ /* */
182
+ /* */
183
+ /* */
184
+ /* */
185
+ /* */
186
+ /* */
187
+ /* */
188
+ /* */
189
+ /* */
190
+ /* */
191
+ /* */
192
+ /* */
193
+ /* */
194
+ /* */
195
+ /* */
196
+ /* */
197
+ return (void 0);
198
+ }
199
+ /**
200
+ * This has 2 purposes:
201
+ * - infinite check when when detached process finished starting
202
+ * - quick check if service is healthy / already started
203
+ */
204
+ async isServiceHealthy(options) {
205
+ /* */
206
+ /* */
207
+ /* */
208
+ /* */
209
+ /* */
210
+ /* */
211
+ /* */
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ /* */
218
+ /* */
219
+ /* */
220
+ /* */
221
+ /* */
222
+ /* */
223
+ /* */
224
+ /* */
225
+ /* */
226
+ /* */
227
+ /* */
228
+ /* */
229
+ /* */
230
+ /* */
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ /* */
255
+ /* */
256
+ /* */
257
+ /* */
258
+ /* */
259
+ /* */
260
+ /* */
261
+ /* */
262
+ /* */
263
+ /* */
264
+ /* */
265
+ /* */
266
+ /* */
267
+ /* */
268
+ /* */
269
+ /* */
270
+ /* */
271
+ /* */
272
+ /* */
273
+ /* */
274
+ /* */
275
+ /* */
276
+ /* */
277
+ /* */
278
+ /* */
279
+ return (void 0);
280
+ }
281
+ /**
282
+ * start if not started detached process
283
+ */
284
+ async startDetached(options) {
285
+ /* */
286
+ /* */
287
+ /* */
288
+ /* */
289
+ /* */
290
+ /* */
291
+ /* */
292
+ /* */
293
+ /* */
294
+ /* */
295
+ /* */
296
+ /* */
297
+ /* */
298
+ /* */
299
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
309
+ /* */
310
+ /* */
311
+ /* */
312
+ /* */
313
+ /* */
314
+ return (void 0);
315
+ }
316
+ saveProcessInfo(processConfig) {
317
+ /* */
318
+ /* */
319
+ /* */
320
+ /* */
321
+ /* */
322
+ /* */
323
+ /* */
324
+ /* */
325
+ /* */
326
+ /* */
327
+ /* */
328
+ /* */
329
+ /* */
330
+ /* */
331
+ /* */
332
+ return (void 0);
333
+ }
334
+ async initializeWorkerMetadata() {
335
+ /* */
336
+ /* */
337
+ /* */
338
+ /* */
339
+ /* */
340
+ /* */
341
+ /* */
342
+ /* */
343
+ /* */
344
+ /* */
345
+ /* */
346
+ /* */
347
+ /* */
348
+ /* */
349
+ /* */
350
+ /* */
351
+ /* */
352
+ /* */
353
+ /* */
354
+ /* */
355
+ /* */
356
+ return (void 0);
357
+ }
358
+ async waitForProcessPortSavedToDisk() {
359
+ /* */
360
+ /* */
361
+ /* */
362
+ /* */
363
+ /* */
364
+ /* */
365
+ /* */
366
+ /* */
367
+ /* */
368
+ /* */
369
+ /* */
370
+ /* */
371
+ /* */
372
+ /* */
373
+ /* */
374
+ /* */
375
+ /* */
376
+ /* */
377
+ /* */
378
+ /* */
379
+ /* */
380
+ /* */
381
+ return (void 0);
382
+ }
383
+ async getServicePort() {
384
+ /* */
385
+ /* */
386
+ /* */
387
+ /* */
388
+ /* */
389
+ /* */
390
+ /* */
391
+ /* */
392
+ /* */
393
+ /* */
394
+ /* */
395
+ /* */
396
+ /* */
397
+ /* */
398
+ /* */
399
+ return (void 0);
400
+ }
401
+ }
402
+ ;
403
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker.ts
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jbGktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NsYXNzZXMvYmFzZS1jbGktd29ya2VyL2Jhc2UtY2xpLXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQWtDLENBQUMsR0FBK0QsTUFBTSxrQkFBa0IsQ0FBQyxDQUFBLEtBQUs7QUFDdkksS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxPQUFPLEVBQTBCLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXhFLE1BQU0sNEJBQTRCLEdBQUcsRUFBRSxDQUFDLENBQUMsaUNBQWlDO0FBQzFFLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDO0FBR3JDLE1BQU0sT0FBZ0IsYUFBYTtJQVVqQyxJQUFjLDBCQUEwQjtRQUMxQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFXLG1CQUFtQjtRQUNoQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBTUQ7SUFDRTs7T0FFRztJQUNhLFNBQWlCO0lBQ2pDOztPQUVHO0lBQ2EsWUFBb0I7SUFDcEM7O09BRUc7SUFDYSxjQUFzQjtRQVJ0QixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBSWpCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBSXBCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBN0N4QixpQ0FBNEIsR0FBRyxzQkFBc0IsQ0FBQztRQUV0RSw0Q0FBNEM7UUFDbkMsZUFBVSxHQUFnQixJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBMkNsRSxDQUFDO0lBVUcsS0FBSyxDQUFDLCtCQUErQixDQUFDLE9BRTVDO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBNEM7UUFDekQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUdiO1FBQ0MsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIseURBQXlEO1FBRXpELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsdUJBQXVCLElBQUksQ0FBQyxTQUFTLHVCQUF1QixDQUM3RCxDQUFDO1lBQ0YsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FDVix1QkFBdUIsSUFBSSxDQUFDLFNBQVMseUJBQXlCLENBQy9ELENBQUM7WUFDRixNQUFNLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBSUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQWM7UUFDcEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBSVMsMkJBQTJCO1FBQ3ZDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLDRCQUE0QjtRQUM5QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlTLEtBQUssQ0FBQywwQkFBMEI7UUFDNUMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRDs7OztPQUlHO0lBQ08sS0FBSyxDQUFDLGdCQUFnQixDQUFDLE9BRWhDO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDTyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BRTdCO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sZUFBZSxDQUFDLGFBQTJDO1FBQ3JFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsd0JBQXdCO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsNkJBQTZCO1FBQy9DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU0sS0FBSyxDQUFDLGNBQWM7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0RkFBNEYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL2Jyb3dzZXInO1xuaW1wb3J0IHsgICBjaGFsaywgICBjcm9zc1BsYXRmb3JtUGF0aCwgICBfLCAgIG9zLCAgIGNob2tpZGFyLCAgIFV0aWxzUHJvY2VzcywgICBVdGlscywgICBVdGlsc1Rlcm1pbmFsLCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuXG5pbXBvcnQgeyBDZm9udEFsaWduLCBDZm9udFN0eWxlLCBIZWxwZXJzIH0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuXG5pbXBvcnQgeyBCYXNlQ2xpV29ya2VyQ29uZmlnIH0gZnJvbSAnLi9iYXNlLWNsaS13b3JrZXItY29uZmlnJztcbmltcG9ydCB0eXBlIHsgQmFzZUNsaVdvcmtlckNvbnRyb2xsZXIgfSBmcm9tICcuL2Jhc2UtY2xpLXdvcmtlci1jb250cm9sbGVyJztcbmltcG9ydCB7IEJhc2VDbGlXb3JrZXJUZXJtaW5hbFVJIH0gZnJvbSAnLi9iYXNlLWNsaS13b3JrZXItdGVybWluYWwtdWknO1xuXG5cblxuY29uc3QgV09SS0VSX0lOSVRfU1RBUlRfVElNRV9MSU1JVCA9IDI1OyAvLyAxNSBzZWNvbmRzIG1heCB0byBzdGFydCB3b3JrZXJcbmNvbnN0IFNUQVJUX1BPUlRfRk9SX1NFUlZJQ0VTID0gMzYwMDtcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNsaVdvcmtlcjxcbiAgUkVNT1RFX0NUUkwgZXh0ZW5kcyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlcixcbiAgVEVSTUlOQUxfVUkgZXh0ZW5kcyBCYXNlQ2xpV29ya2VyVGVybWluYWxVSTxhbnk+LFxuPiB7XG5cbiAgcHVibGljIHJlYWRvbmx5IFNQRUNJQUxfV09SS0VSX1JFQURZX01FU1NBR0UgPSAnJCQkIFdPUktFUl9SRUFEWSAkJCQnO1xuXG4gIC8vIEB0cy1pZ25vcmUgVE9ETyB3ZWlyZCBpbmhlcml0YW5jZSBwcm9ibGVtXG4gIHJlYWRvbmx5IHRlcm1pbmFsVWk6IFRFUk1JTkFMX1VJID0gbmV3IEJhc2VDbGlXb3JrZXJUZXJtaW5hbFVJKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBnZXQgcGF0aFRvUHJvY2Vzc0xvY2FsSW5mb0pzb24oKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgZ2V0IHByb2Nlc3NMb2NhbEluZm9PYmooKTogQmFzZUNsaVdvcmtlckNvbmZpZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiB1bmlxdWUgaWQgZm9yIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZUlEOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogZXh0ZXJuYWwgY29tbWFuZCB0aGF0IHdpbGwgc3RhcnQgc2VydmljZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzdGFydENvbW1hbmQ6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiB1bmlxdWUgaWQgZm9yIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZVZlcnNpb246IHN0cmluZyxcbiAgKSB7fVxuXG5cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc3RhcnROb3JtYWxseUluQ3VycmVudFByb2Nlc3Mob3B0aW9ucz86IHt9KTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZ2V0Q29udHJvbGxlckZvclJlbW90ZUNvbm5lY3Rpb24oKTogUHJvbWlzZTxSRU1PVEVfQ1RSTD47XG5cblxuXG4gIHB1YmxpYyBhc3luYyBzdGFydERldGFjaGVkSWZOZWVkc1RvQmVTdGFydGVkKG9wdGlvbnM/OiB7XG4gICAgdXNlQ3VycmVudFdpbmRvd0ZvckRldGFjaD86IGJvb2xlYW47XG4gIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzdG9wIGlmIHN0YXJ0ZWRcbiAgICovXG4gIGFzeW5jIGtpbGwob3B0aW9ucz86IHsgZG9udFJlbW92ZUNvbmZpZ0ZpbGU/OiBib29sZWFuIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICoga2lsbCBkZXRhY2hlZCBwcm9jZXNzIGFuZCBzdGFydCBhZ2FpblxuICAgKiBAcGFyYW0gb3B0aW9ucy5kZXRhY2hlZCAtIGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYXN5bmMgcmVzdGFydChvcHRpb25zPzoge1xuICAgIGRldGFjaGVkPzogYm9vbGVhbjtcbiAgICB1c2VDdXJyZW50V2luZG93Rm9yRGV0YWNoPzogYm9vbGVhbjtcbiAgfSkge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMuZGV0YWNoZWQgPSBfLmlzVW5kZWZpbmVkKG9wdGlvbnMuZGV0YWNoZWQpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIGF3YWl0IHRoaXMua2lsbCgpO1xuICAgIC8vbG9uZ2VyIGJlY2F1c2Ugb3MgaXMgZGlzcG9zaW5nIHByb2Nlc3MgcHJldmlvdXMgcHJvY2Vzc1xuXG4gICAgaWYgKG9wdGlvbnMuZGV0YWNoZWQpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhcbiAgICAgICAgYFJlc3RhcnRpbmcgc2VydmljZSBcIiR7dGhpcy5zZXJ2aWNlSUR9XCIgaW4gZGV0YWNoZWQgbW9kZS4uLmAsXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5zdGFydERldGFjaGVkKG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBIZWxwZXJzLmluZm8oXG4gICAgICAgIGBSZXN0YXJ0aW5nIHNlcnZpY2UgXCIke3RoaXMuc2VydmljZUlEfVwiIGluIGN1cnJlbnQgcHJvY2Vzcy4uLmAsXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5zdGFydE5vcm1hbGx5SW5DdXJyZW50UHJvY2VzcygpO1xuICAgIH1cbiAgfVxuXG5cblxuICAvKipcbiAgICogb25seSBmb3IgY2xpIHN0YXJ0XG4gICAqIEBwYXJhbSBjbGlQYXJhbXMgb24gZnJvbSBjbGlcbiAgICovXG4gIGFzeW5jIGNsaVN0YXJ0UHJvY2VkdXJlKGNsaVBhcmFtczogYW55KSB7XG4gICAgY29uc3QgZGV0YWNoZWQgPSAhIWNsaVBhcmFtc1snZGV0YWNoZWQnXSB8fCAhIWNsaVBhcmFtc1snZGV0YWNoJ107XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBwcmV2ZW50RXh0ZXJuYWxDb25maWdDaGFuZ2UoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgcHJldmVudFN0YXJ0SWZBbHJlYWR5U3RhcnRlZCgpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBraWxsV29ya2VyV2l0aExvd2VyVmVyc2lvbigpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUaGlzIGhhcyAyIHB1cnBvc2VzOlxuICAgKiAtIGluZmluaXRlIGNoZWNrIHdoZW4gd2hlbiBkZXRhY2hlZCBwcm9jZXNzIGZpbmlzaGVkIHN0YXJ0aW5nXG4gICAqIC0gcXVpY2sgY2hlY2sgaWYgc2VydmljZSBpcyBoZWFsdGh5IC8gYWxyZWFkeSBzdGFydGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaXNTZXJ2aWNlSGVhbHRoeShvcHRpb25zOiB7XG4gICAgaGVhbHRoQ2hlY2tSZXF1ZXN0VHJ5cz86IG51bWJlcjtcbiAgfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzdGFydCBpZiBub3Qgc3RhcnRlZCBkZXRhY2hlZCBwcm9jZXNzXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgc3RhcnREZXRhY2hlZChvcHRpb25zPzoge1xuICAgIHVzZUN1cnJlbnRXaW5kb3dGb3JEZXRhY2g/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBzYXZlUHJvY2Vzc0luZm8ocHJvY2Vzc0NvbmZpZzogUGFydGlhbDxCYXNlQ2xpV29ya2VyQ29uZmlnPikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgaW5pdGlhbGl6ZVdvcmtlck1ldGFkYXRhKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgd2FpdEZvclByb2Nlc3NQb3J0U2F2ZWRUb0Rpc2soKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgYXN5bmMgZ2V0U2VydmljZVBvcnQoKTogUHJvbWlzZTxudW1iZXI+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLWNsaS13b3JrZXIvYmFzZS1jbGktd29ya2VyLnRzIl19
@@ -0,0 +1,7 @@
1
+ export * from './base-cli-worker';
2
+ export * from './base-cli-worker-controller';
3
+ export * from './base-cli-worker-config';
4
+ export * from './base-cli-worker-terminal-ui';
5
+ ;
6
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/index.ts
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLWNsaS13b3JrZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywrQkFBK0IsQ0FBQztBQUU3QyxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtGQUFrRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY2xpLXdvcmtlcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY2xpLXdvcmtlci1jb250cm9sbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1jbGktd29ya2VyLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY2xpLXdvcmtlci10ZXJtaW5hbC11aSc7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jbGFzc2VzL2Jhc2UtY2xpLXdvcmtlci9pbmRleC50cyJdfQ==
@@ -236,88 +236,7 @@ export class BaseNodeModules {
236
236
  * Prepare command for npm install
237
237
  * (or yarn install)
238
238
  */
239
- async prepareCommand(options) {
240
- /* */
241
- /* */
242
- /* */
243
- /* */
244
- /* */
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- /* */
251
- /* */
252
- /* */
253
- /* */
254
- /* */
255
- /* */
256
- /* */
257
- /* */
258
- /* */
259
- /* */
260
- /* */
261
- /* */
262
- /* */
263
- /* */
264
- /* */
265
- /* */
266
- /* */
267
- /* */
268
- /* */
269
- /* */
270
- /* */
271
- /* */
272
- /* */
273
- /* */
274
- /* */
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- /* */
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- /* */
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- return (void 0);
297
- }
298
- dedupePackages(packagesNames, countOnly = false, warnings = true) {
299
- /* */
300
- /* */
301
- /* */
302
- /* */
303
- /* */
304
- /* */
305
- /* */
306
- /* */
307
- /* */
308
- /* */
309
- /* */
310
- /* */
311
- /* */
312
- /* */
313
- /* */
314
- /* */
315
- /* */
316
- /* */
317
- /* */
318
- /* */
319
- /* */
320
- /* */
239
+ async prepareCommand(options, cwd = this.cwd) {
321
240
  /* */
322
241
  /* */
323
242
  /* */
@@ -381,6 +300,9 @@ export class BaseNodeModules {
381
300
  /* */
382
301
  /* */
383
302
  /* */
303
+ return (void 0);
304
+ }
305
+ dedupePackages(packagesConfig, countOnly = false) {
384
306
  /* */
385
307
  /* */
386
308
  /* */
@@ -492,4 +414,4 @@ export class BaseNodeModules {
492
414
  }
493
415
  ;
494
416
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-node-modules.ts
495
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ub2RlLW1vZHVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLW5vZGUtbW9kdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFrQixpQkFBaUIsRUFBSSxHQUFHLEVBQUksSUFBSSxHQUErQixNQUFNLGtCQUFrQixDQUFDLENBQUEsS0FBSztBQVV0SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXRDLE1BQU0sT0FBTyxlQUFlO0lBTTFCO0lBQ0U7O09BRUc7SUFDTyxHQUFXLEVBQ1gsVUFBdUI7UUFEdkIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLGVBQVUsR0FBVixVQUFVLENBQWE7UUFFakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUlEOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFJRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsV0FBbUI7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7Ozs7O09BS0c7SUFDSCxJQUFJLFFBQVE7UUFDVixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUlTLDJCQUEyQixDQUFDLElBQVk7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLENBQUMsS0FBSyxDQUNYLHVEQUF1RCxJQUFJLEdBQUcsQ0FDL0QsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLGlCQUFpQixDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBSUQsYUFBYSxDQUFDLE9BQTZCO1FBQzdDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELGNBQWMsQ0FBQyxRQUFnQjtRQUNqQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFtRDtRQUN6RSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUlELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBb0M7UUFDbkQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxhQUFhLENBQUMsYUFBcUI7UUFDckMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBbUQ7UUFDckUsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxPQUFPLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFJRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBSUQ7Ozs7T0FJRztJQUNILE9BQU87UUFDVCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQ2xCLE9BQXNDO1FBRTFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlNLGNBQWMsQ0FDbkIsYUFBd0IsRUFDeEIsU0FBUyxHQUFHLEtBQUssRUFDakIsUUFBUSxHQUFHLElBQUk7UUFFbkIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhFQUE4RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyAgIENvcmVNb2RlbHMsICAgY3Jvc3NQbGF0Zm9ybVBhdGgsICAgZnNlLCAgIHBhdGgsICAgXywgICBjaGFsaywgICBkYXRlZm9ybWF0LCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuIC8vIEB0cy1pZ25vcmVcbmltcG9ydCB0eXBlIHsgQmFzZU5wbUhlbHBlcnMgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VOb2RlTW9kdWxlczxcbiAgTlBNX0hFTFBFUlMgZXh0ZW5kcyBCYXNlTnBtSGVscGVycyA9IEJhc2VOcG1IZWxwZXJzLFxuPiB7XG4gIHByb3RlY3RlZCBfbnBtSGVscGVyc1R5cGU6IE5QTV9IRUxQRVJTO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogbXktcGF0aC9ub2RlX21vZHVsZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3dkOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIG5wbUhlbHBlcnM6IE5QTV9IRUxQRVJTLFxuICApIHtcbiAgICB0aGlzLm5wbUhlbHBlcnMgPSBucG1IZWxwZXJzO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBjd2QgKyBub2RlX21vZHVsZXNcbiAgICovXG4gIGdldCBwYXRoKCkge1xuICAgIHJldHVybiBjcm9zc1BsYXRmb3JtUGF0aChbdGhpcy5jd2QsIGNvbmZpZy5mb2xkZXIubm9kZV9tb2R1bGVzXSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFBhdGggdG8gcGFja2FnZSBpbnNpZGUgbm9kZV9tb2R1bGVzIGZvbGRlclxuICAgKiBAZXhhbXBsZSA8cHJvamVjdC1wYXRoPi9ub2RlX21vZHVsZXMvPHBhY2thZ2UtbmFtZT5cbiAgICovXG4gIHBhdGhGb3IocGFja2FnZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHJlYWwgcGF0aCBvZiBub2RlX21vZHVsZXNcbiAgICogaWYgbm9kZV9tb2R1bGVzIGlzIGEgbGlua1xuICAgKiBpdCB3aWxsIHJldHVybiByZWFsIHBhdGguXG4gICAqIGlmIG5vZGVfbW9kdWxlcyBpcyBmb2xkZXIgPSBwYXRoXG4gICAqL1xuICBnZXQgcmVhbFBhdGgoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlYWxQYXRoID0gZnNlLnJlYWxwYXRoU3luYyh0aGlzLnBhdGgpO1xuICAgICAgcmV0dXJuIHJlYWxQYXRoO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXRoO1xuICAgIH1cbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgcHJldmVudFdyb25nTGlua0Rlc3RpbmF0aW9uKGRlc3Q6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFwYXRoLmlzQWJzb2x1dGUoZGVzdCkpIHtcbiAgICAgIEhlbHBlcnMuZXJyb3IoXG4gICAgICAgIGBbbGlua1RvLi5dIHRhcmdldCBkZXN0aW5hdGlvbiBwYXRoIGlzIG5vdCBhYnNvbHV0ZSBcIiR7ZGVzdH1cImAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChkZXN0LmVuZHNXaXRoKGAvJHtjb25maWcuZm9sZGVyLm5vZGVfbW9kdWxlc31gKSkge1xuICAgICAgcmV0dXJuIGRlc3Q7XG4gICAgfVxuICAgIHJldHVybiBjcm9zc1BsYXRmb3JtUGF0aChbZGVzdCwgY29uZmlnLmZvbGRlci5ub2RlX21vZHVsZXNdKTtcbiAgfVxuXG5cblxuICBsaW5rVG9Qcm9qZWN0KHByb2plY3Q6IFBhcnRpYWw8QmFzZVByb2plY3Q+KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGlua1RvTG9jYXRpb24obG9jYXRpb246IHN0cmluZyk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgbWFrZVN1cmVJbnN0YWxsZWQob3B0aW9ucz86IE9taXQ8Q29yZU1vZGVscy5OcG1JbnN0YWxsT3B0aW9ucywgJ3BrZyc+KSB7XG4gICAgaWYgKHRoaXMuaXNFbXB0eSgpKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlaW5zdGFsbChvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgYXN5bmMgcmVtb3ZlKG9wdGlvbnM/OiB7IHNraXBRdWVzdGlvbj86IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVtb3ZlUGFja2FnZShwYWNrYWdlSW5zaWRlOiBzdHJpbmcpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgcmVpbnN0YWxsKG9wdGlvbnM/OiBPbWl0PENvcmVNb2RlbHMuTnBtSW5zdGFsbE9wdGlvbnMsICdwa2cnPikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc0xpbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEhlbHBlcnMuaXNTeW1saW5rRmlsZUV4aXRlZE9yVW5leGlzdGVkKHRoaXMucGF0aCk7XG4gIH1cblxuXG5cbiAgZ2V0IGVtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLmlzRW1wdHkoKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBub2RlX21vZHVsZXMgZm9sZGVyIGlzIGVtcHR5XG4gICAqIERFRVAgQ0hFQ0sgLSBhbHNvIGlmIG5vZGVfbW9kdWxlcyBpcyBhIGxpbmtcbiAgICogYW5kIGlzIG5vdCBleGlzdGVudFxuICAgKi9cbiAgaXNFbXB0eSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiAgUHJlcGFyZSBjb21tYW5kIGZvciBucG0gaW5zdGFsbFxuICAgKiAob3IgeWFybiBpbnN0YWxsKVxuICAgKi9cbiAgYXN5bmMgcHJlcGFyZUNvbW1hbmQoXG4gICAgb3B0aW9ucz86IENvcmVNb2RlbHMuTnBtSW5zdGFsbE9wdGlvbnMsXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHVibGljIGRlZHVwZVBhY2thZ2VzKFxuICAgIHBhY2thZ2VzTmFtZXM/OiBzdHJpbmdbXSxcbiAgICBjb3VudE9ubHkgPSBmYWxzZSxcbiAgICB3YXJuaW5ncyA9IHRydWUsXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NsYXNzZXMvYmFzZS1ub2RlLW1vZHVsZXMudHMiXX0=
417
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ub2RlLW1vZHVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLW5vZGUtbW9kdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFrQixpQkFBaUIsRUFBSSxHQUFHLEVBQUksSUFBSSxHQUErQixNQUFNLGtCQUFrQixDQUFDLENBQUEsS0FBSztBQVd0SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYXRDLE1BQU0sT0FBTyxlQUFlO0lBTTFCO0lBQ0U7O09BRUc7SUFDTyxHQUFXLEVBQ1gsVUFBdUI7UUFEdkIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLGVBQVUsR0FBVixVQUFVLENBQWE7UUFFakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUlEOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFJRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsV0FBbUI7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7Ozs7O09BS0c7SUFDSCxJQUFJLFFBQVE7UUFDVixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUlTLDJCQUEyQixDQUFDLElBQVk7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLENBQUMsS0FBSyxDQUNYLHVEQUF1RCxJQUFJLEdBQUcsQ0FDL0QsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLGlCQUFpQixDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBSUQsYUFBYSxDQUFDLE9BQTZCO1FBQzdDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELGNBQWMsQ0FBQyxRQUFnQjtRQUNqQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFtRDtRQUN6RSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUlELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBb0M7UUFDbkQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxhQUFhLENBQUMsYUFBcUI7UUFDckMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBbUQ7UUFDckUsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxPQUFPLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFJRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBSUQ7Ozs7T0FJRztJQUNILE9BQU87UUFDVCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQ2xCLE9BQXFDLEVBQ3JDLE1BQWMsSUFBSSxDQUFDLEdBQUc7UUFFMUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELGNBQWMsQ0FBQyxjQUFnQyxFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQ3BFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBR0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhFQUE4RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBVdGlsc09zIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyAgIENvcmVNb2RlbHMsICAgY3Jvc3NQbGF0Zm9ybVBhdGgsICAgZnNlLCAgIHBhdGgsICAgXywgICBjaGFsaywgICBkYXRlZm9ybWF0LCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuIC8vIEB0cy1pZ25vcmVcbmltcG9ydCB0eXBlIHsgQmFzZU5wbUhlbHBlcnMgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vLi4vaW5kZXgnO1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuXG5cbmV4cG9ydCB0eXBlIERlZHVwZVBhY2thZ2UgPVxuICB8IHN0cmluZ1xuICB8IHtcbiAgICAgIHBhY2thZ2U6IHN0cmluZztcbiAgICAgIGV4Y2x1ZGVGcm9tPzogc3RyaW5nW107XG4gICAgICBpbmNsdWRlT25seUluPzogc3RyaW5nW107XG4gICAgfTtcblxuZXhwb3J0IGNsYXNzIEJhc2VOb2RlTW9kdWxlczxcbiAgTlBNX0hFTFBFUlMgZXh0ZW5kcyBCYXNlTnBtSGVscGVycyA9IEJhc2VOcG1IZWxwZXJzLFxuPiB7XG4gIHByb3RlY3RlZCBfbnBtSGVscGVyc1R5cGU6IE5QTV9IRUxQRVJTO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogbXktcGF0aC9ub2RlX21vZHVsZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3dkOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIG5wbUhlbHBlcnM6IE5QTV9IRUxQRVJTLFxuICApIHtcbiAgICB0aGlzLm5wbUhlbHBlcnMgPSBucG1IZWxwZXJzO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBjd2QgKyBub2RlX21vZHVsZXNcbiAgICovXG4gIGdldCBwYXRoKCkge1xuICAgIHJldHVybiBjcm9zc1BsYXRmb3JtUGF0aChbdGhpcy5jd2QsIGNvbmZpZy5mb2xkZXIubm9kZV9tb2R1bGVzXSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFBhdGggdG8gcGFja2FnZSBpbnNpZGUgbm9kZV9tb2R1bGVzIGZvbGRlclxuICAgKiBAZXhhbXBsZSA8cHJvamVjdC1wYXRoPi9ub2RlX21vZHVsZXMvPHBhY2thZ2UtbmFtZT5cbiAgICovXG4gIHBhdGhGb3IocGFja2FnZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHJlYWwgcGF0aCBvZiBub2RlX21vZHVsZXNcbiAgICogaWYgbm9kZV9tb2R1bGVzIGlzIGEgbGlua1xuICAgKiBpdCB3aWxsIHJldHVybiByZWFsIHBhdGguXG4gICAqIGlmIG5vZGVfbW9kdWxlcyBpcyBmb2xkZXIgPSBwYXRoXG4gICAqL1xuICBnZXQgcmVhbFBhdGgoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlYWxQYXRoID0gZnNlLnJlYWxwYXRoU3luYyh0aGlzLnBhdGgpO1xuICAgICAgcmV0dXJuIHJlYWxQYXRoO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXRoO1xuICAgIH1cbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgcHJldmVudFdyb25nTGlua0Rlc3RpbmF0aW9uKGRlc3Q6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFwYXRoLmlzQWJzb2x1dGUoZGVzdCkpIHtcbiAgICAgIEhlbHBlcnMuZXJyb3IoXG4gICAgICAgIGBbbGlua1RvLi5dIHRhcmdldCBkZXN0aW5hdGlvbiBwYXRoIGlzIG5vdCBhYnNvbHV0ZSBcIiR7ZGVzdH1cImAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChkZXN0LmVuZHNXaXRoKGAvJHtjb25maWcuZm9sZGVyLm5vZGVfbW9kdWxlc31gKSkge1xuICAgICAgcmV0dXJuIGRlc3Q7XG4gICAgfVxuICAgIHJldHVybiBjcm9zc1BsYXRmb3JtUGF0aChbZGVzdCwgY29uZmlnLmZvbGRlci5ub2RlX21vZHVsZXNdKTtcbiAgfVxuXG5cblxuICBsaW5rVG9Qcm9qZWN0KHByb2plY3Q6IFBhcnRpYWw8QmFzZVByb2plY3Q+KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGlua1RvTG9jYXRpb24obG9jYXRpb246IHN0cmluZyk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgbWFrZVN1cmVJbnN0YWxsZWQob3B0aW9ucz86IE9taXQ8Q29yZU1vZGVscy5OcG1JbnN0YWxsT3B0aW9ucywgJ3BrZyc+KSB7XG4gICAgaWYgKHRoaXMuaXNFbXB0eSgpKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlaW5zdGFsbChvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgYXN5bmMgcmVtb3ZlKG9wdGlvbnM/OiB7IHNraXBRdWVzdGlvbj86IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVtb3ZlUGFja2FnZShwYWNrYWdlSW5zaWRlOiBzdHJpbmcpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgcmVpbnN0YWxsKG9wdGlvbnM/OiBPbWl0PENvcmVNb2RlbHMuTnBtSW5zdGFsbE9wdGlvbnMsICdwa2cnPikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc0xpbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEhlbHBlcnMuaXNTeW1saW5rRmlsZUV4aXRlZE9yVW5leGlzdGVkKHRoaXMucGF0aCk7XG4gIH1cblxuXG5cbiAgZ2V0IGVtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLmlzRW1wdHkoKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBub2RlX21vZHVsZXMgZm9sZGVyIGlzIGVtcHR5XG4gICAqIERFRVAgQ0hFQ0sgLSBhbHNvIGlmIG5vZGVfbW9kdWxlcyBpcyBhIGxpbmtcbiAgICogYW5kIGlzIG5vdCBleGlzdGVudFxuICAgKi9cbiAgaXNFbXB0eSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiAgUHJlcGFyZSBjb21tYW5kIGZvciBucG0gaW5zdGFsbFxuICAgKiAob3IgeWFybiBpbnN0YWxsKVxuICAgKi9cbiAgYXN5bmMgcHJlcGFyZUNvbW1hbmQoXG4gICAgb3B0aW9uczogQ29yZU1vZGVscy5OcG1JbnN0YWxsT3B0aW9ucyxcbiAgICBjd2Q6IHN0cmluZyA9IHRoaXMuY3dkLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBkZWR1cGVQYWNrYWdlcyhwYWNrYWdlc0NvbmZpZz86IERlZHVwZVBhY2thZ2VbXSwgY291bnRPbmx5ID0gZmFsc2UpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLW5vZGUtbW9kdWxlcy50cyJdfQ==
@@ -5,6 +5,27 @@ export class BaseQuickFixes extends BaseFeatureForProject {
5
5
  this.project = project;
6
6
  this.project = project;
7
7
  }
8
+ /**
9
+ * filesRelativePaths example:
10
+ * ['node_modules/@types/glob/index.d.ts', '/home/user/project/src/app.ts']
11
+ *
12
+ * @param filesRelativeAbsPaths\ Quick fix for typescript check
13
+ */
14
+ excludeNodeModulesDtsFromTypescriptCheck(filesRelativeAbsPaths) {
15
+ /* */
16
+ /* */
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ return (void 0);
28
+ }
8
29
  fixSQLLiteModuleInNodeModules() {
9
30
  /* */
10
31
  /* */
@@ -64,4 +85,4 @@ export class BaseQuickFixes extends BaseFeatureForProject {
64
85
  }
65
86
  ;
66
87
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-quick-fixes.ts
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWljay1maXhlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jbGFzc2VzL2Jhc2UtcXVpY2stZml4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbkUsTUFBTSxPQUFPLGNBRVgsU0FBUSxxQkFBOEI7SUFDdEMsWUFBbUIsT0FBZ0I7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREUsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUVqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBR0QsNkJBQTZCO1FBQy9CLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlNLGdDQUFnQyxDQUFDLG1CQUE2QixFQUFFO1FBQ3pFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNkVBQTZFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IF8sIGZzZSwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgUGFja2FnZUpzb24gfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBIZWxwZXJzLCBVdGlsc1F1aWNrRml4ZXMgfSBmcm9tICcuLi8uLi9pbmRleCc7XG5cbmltcG9ydCB7IEJhc2VGZWF0dXJlRm9yUHJvamVjdCB9IGZyb20gJy4vYmFzZS1mZWF0dXJlLWZvci1wcm9qZWN0JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VRdWlja0ZpeGVzPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3Q8YW55LCBhbnk+ID0gQmFzZVByb2plY3Q8YW55LCBhbnk+LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdDxQUk9KRUNUPiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwcm9qZWN0OiBQUk9KRUNUKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy5wcm9qZWN0ID0gcHJvamVjdDtcbiAgfVxuXG5cbiAgZml4U1FMTGl0ZU1vZHVsZUluTm9kZU1vZHVsZXMoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHVibGljIGNyZWF0ZUR1bW15RW1wdHlMaWJzUmVwbGFjZW1lbnRzKG1pc3NpbmdMaWJzTmFtZXM6IHN0cmluZ1tdID0gW10pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLXF1aWNrLWZpeGVzLnRzIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWljay1maXhlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jbGFzc2VzL2Jhc2UtcXVpY2stZml4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbkUsTUFBTSxPQUFPLGNBRVgsU0FBUSxxQkFBOEI7SUFDdEMsWUFBbUIsT0FBZ0I7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREUsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUVqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCx3Q0FBd0MsQ0FBQyxxQkFBOEI7UUFDekUsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFbEIsQ0FBQztJQUdELDZCQUE2QjtRQUMvQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJTSxnQ0FBZ0MsQ0FBQyxtQkFBNkIsRUFBRTtRQUN6RSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZFQUE2RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBfLCBmc2UsIHBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFBhY2thZ2VKc29uIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgSGVscGVycywgVXRpbHNRdWlja0ZpeGVzIH0gZnJvbSAnLi4vLi4vaW5kZXgnO1xuXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuXG5cbmV4cG9ydCBjbGFzcyBCYXNlUXVpY2tGaXhlczxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0PGFueSwgYW55PiA9IEJhc2VQcm9qZWN0PGFueSwgYW55Pixcbj4gZXh0ZW5kcyBCYXNlRmVhdHVyZUZvclByb2plY3Q8UFJPSkVDVD4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHJvamVjdDogUFJPSkVDVCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIHRoaXMucHJvamVjdCA9IHByb2plY3Q7XG4gIH1cblxuICAvKipcbiAgICogZmlsZXNSZWxhdGl2ZVBhdGhzIGV4YW1wbGU6XG4gICAqIFsnbm9kZV9tb2R1bGVzL0B0eXBlcy9nbG9iL2luZGV4LmQudHMnLCAnL2hvbWUvdXNlci9wcm9qZWN0L3NyYy9hcHAudHMnXVxuICAgKlxuICAgKiBAcGFyYW0gZmlsZXNSZWxhdGl2ZUFic1BhdGhzXFwgUXVpY2sgZml4IGZvciB0eXBlc2NyaXB0IGNoZWNrXG4gICAqL1xuICBleGNsdWRlTm9kZU1vZHVsZXNEdHNGcm9tVHlwZXNjcmlwdENoZWNrKGZpbGVzUmVsYXRpdmVBYnNQYXRoczpzdHJpbmdbXSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcblxuICB9XG5cblxuICBmaXhTUUxMaXRlTW9kdWxlSW5Ob2RlTW9kdWxlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgY3JlYXRlRHVtbXlFbXB0eUxpYnNSZXBsYWNlbWVudHMobWlzc2luZ0xpYnNOYW1lczogc3RyaW5nW10gPSBbXSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jbGFzc2VzL2Jhc2UtcXVpY2stZml4ZXMudHMiXX0=