tnp-config 13.1.76 → 16.0.3

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 (51) hide show
  1. package/README.md +17 -17
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/browser/README.md +24 -24
  4. package/{client/esm2020 → browser/esm2022}/lib/config.mjs +5 -3
  5. package/{client/fesm2020 → browser/fesm2022}/tnp-config.mjs +11 -2
  6. package/browser/fesm2022/tnp-config.mjs.map +1 -0
  7. package/browser/lib/config.d.ts +3 -2
  8. package/browser/package.json +6 -12
  9. package/client/README.md +24 -24
  10. package/client/esm2022/lib/config.mjs +774 -0
  11. package/{browser/fesm2020 → client/fesm2022}/tnp-config.mjs +11 -2
  12. package/client/fesm2022/tnp-config.mjs.map +1 -0
  13. package/client/lib/config.d.ts +3 -2
  14. package/client/package.json +84 -82
  15. package/index.js.map +1 -1
  16. package/lib/config.d.ts +3 -2
  17. package/lib/config.js +4 -2
  18. package/lib/config.js.map +1 -1
  19. package/lib/index.js.map +1 -1
  20. package/package.json +3 -3
  21. package/package.json_devDependencies.json +218 -218
  22. package/package.json_tnp.json5 +37 -37
  23. package/tmp-environment.json +89 -87
  24. package/websql/README.md +24 -24
  25. package/{browser/esm2020 → websql/esm2022}/lib/config.mjs +7 -5
  26. package/websql/{fesm2020 → fesm2022}/tnp-config.mjs +11 -2
  27. package/websql/fesm2022/tnp-config.mjs.map +1 -0
  28. package/websql/lib/config.d.ts +3 -2
  29. package/websql/package.json +6 -12
  30. package/browser/fesm2015/tnp-config.mjs +0 -701
  31. package/browser/fesm2015/tnp-config.mjs.map +0 -1
  32. package/browser/fesm2020/tnp-config.mjs.map +0 -1
  33. package/client/fesm2015/tnp-config.mjs +0 -701
  34. package/client/fesm2015/tnp-config.mjs.map +0 -1
  35. package/client/fesm2020/tnp-config.mjs.map +0 -1
  36. package/websql/esm2020/lib/config.mjs +0 -772
  37. package/websql/fesm2015/tnp-config.mjs +0 -701
  38. package/websql/fesm2015/tnp-config.mjs.map +0 -1
  39. package/websql/fesm2020/tnp-config.mjs.map +0 -1
  40. /package/browser/{esm2020 → esm2022}/lib/index.mjs +0 -0
  41. /package/browser/{esm2020 → esm2022}/public-api.mjs +0 -0
  42. /package/browser/{esm2020 → esm2022}/tnp-config.mjs +0 -0
  43. /package/browser/{tnp-config.d.ts → index.d.ts} +0 -0
  44. /package/client/{esm2020 → esm2022}/lib/index.mjs +0 -0
  45. /package/client/{esm2020 → esm2022}/public-api.mjs +0 -0
  46. /package/client/{esm2020 → esm2022}/tnp-config.mjs +0 -0
  47. /package/client/{tnp-config.d.ts → index.d.ts} +0 -0
  48. /package/websql/{esm2020 → esm2022}/lib/index.mjs +0 -0
  49. /package/websql/{esm2020 → esm2022}/public-api.mjs +0 -0
  50. /package/websql/{esm2020 → esm2022}/tnp-config.mjs +0 -0
  51. /package/websql/{tnp-config.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,774 @@
1
+ /**
2
+ * Dariusz Filipiak
3
+ * @author darekf77@gmail.com
4
+ * Recommended config for all isomorphic libs *
5
+ */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ /* */
10
+ /* */
11
+ /* */
12
+ /* */
13
+ import { frameworkName } from 'tnp-core/browser';
14
+ export { CoreHelpers as Helpers } from 'tnp-core/browser';
15
+ export const GlobalLibTypeName = {
16
+ /* */
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ };
33
+ export const LibTypeArr = [
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ ];
49
+ export const CoreLibCategoryArr = [ // TODO this is for what ?
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ ];
59
+ const allowedEnvironments = [
60
+ /* */
61
+ /* */
62
+ ];
63
+ const allowedEnvironmentsObj = {};
64
+ allowedEnvironments.forEach(s => {
65
+ // @ts-ignore
66
+ allowedEnvironmentsObj[s] = s;
67
+ });
68
+ const firedev = 'firedev';
69
+ const morphi = 'morphi';
70
+ /* */
71
+ /* */
72
+ const urlMorphi = 'https://github.com/darekf77/morphi.git';
73
+ const filesNotAllowedToClean = {
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ };
83
+ const file = {
84
+ _bowerrc: '.bowerrc',
85
+ bower_json: 'bower.json',
86
+ controllers_ts: 'controllers.ts',
87
+ entities_ts: 'entities.ts',
88
+ angular_json: 'angular.json',
89
+ autob_actions_js: 'auto-actions.js',
90
+ local_config_js: 'local-config.js',
91
+ build_config_js: 'build-config.js',
92
+ local_config: 'local-config',
93
+ start_backend_ts: 'start.backend.ts',
94
+ package_json: 'package.json',
95
+ result_packages_json: 'result-packages.json',
96
+ package_json5: 'package.json5',
97
+ package_json__tnp_json: 'package.json_tnp.json',
98
+ package_json__tnp_json5: 'package.json_tnp.json5',
99
+ package_json__devDependencies_json: 'package.json_devDependencies.json',
100
+ yarn_lock: 'yarn.lock',
101
+ package_lock_json: 'package-lock.json',
102
+ tnpEnvironment_json: 'tmp-environment.json',
103
+ environment: 'environment',
104
+ environment_js: 'environment.js',
105
+ tmp_transaction_pid_txt: 'tmp-transaction-pid.txt',
106
+ manifest_webmanifest: 'manifest.webmanifest',
107
+ public_api_d_ts: 'public-api.d.ts',
108
+ public_api_ts: 'public-api.ts',
109
+ public_api: 'public-api',
110
+ _babelrc: '.babelrc',
111
+ index: 'index',
112
+ index_d_ts: 'index.d.ts',
113
+ index_ts: 'index.ts',
114
+ index_js: 'index.js',
115
+ index_js_map: 'index.js.map',
116
+ db_json: 'db.json',
117
+ db_for_tests_json: 'db-for-tests.json',
118
+ tmpDockerImageId: 'tmp-docker-image-id',
119
+ tmp_recent_json: 'recent.json',
120
+ tmpIsomorphicPackagesJson: 'tmp-isomorphic-packages.json',
121
+ tsconfig_json: 'tsconfig.json',
122
+ README_MD: 'README.md',
123
+ server_key: 'server.key',
124
+ server_cert: 'server.cert',
125
+ server_chain_cert: 'server-chain.cert',
126
+ meta_config_md: 'meta-content.md',
127
+ logo_png: 'logo.png',
128
+ logo_svg: 'logo.svg',
129
+ ...filesNotAllowedToClean
130
+ };
131
+ const packageJsonSplit = [
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ ];
137
+ const tempFolders = {
138
+ bundle: 'bundle',
139
+ vendor: 'vendor',
140
+ docs: 'docs',
141
+ dist: 'dist',
142
+ tmp: 'tmp',
143
+ tmpBundleRelease: 'tmp-bundle-release',
144
+ tempSrc: 'tmp-src',
145
+ tempSrcDist: 'tmp-src-dist',
146
+ previewDistApp: 'dist-app',
147
+ preview: 'preview',
148
+ browser: 'browser',
149
+ websql: 'websql',
150
+ _browser: '.browser',
151
+ module: 'module',
152
+ backup: 'backup',
153
+ node_modules: 'node_modules',
154
+ client: 'client',
155
+ tnp_tests_context: 'tmp-tests-context',
156
+ tmpPackage: 'tmp-package',
157
+ tmpScenarios: 'tmp-scenarios',
158
+ tmpTestsEnvironments: 'tmp-tests-environments',
159
+ testsEnvironments: 'tests-environments',
160
+ };
161
+ const stylesFilesExtension = [
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ ];
168
+ const folder = {
169
+ scripts: 'scripts',
170
+ scenarios: 'scenarios',
171
+ bower: 'bower',
172
+ src: 'src',
173
+ out: 'out',
174
+ app: 'app',
175
+ lib: 'lib',
176
+ libs: 'libs',
177
+ source: 'source',
178
+ custom: 'custom',
179
+ components: 'components',
180
+ assets: 'assets',
181
+ generated: 'generated',
182
+ apps: 'apps',
183
+ shared: 'shared',
184
+ workspace: 'workspace',
185
+ container: 'container',
186
+ bin: 'bin',
187
+ _bin: '.bin',
188
+ _vscode: '.vscode',
189
+ project: 'project',
190
+ external: 'external',
191
+ tmpDist: 'tmp-dist',
192
+ tmpFor(d) {
193
+ return `tmp-src-${d}`;
194
+ },
195
+ targetProjects: {
196
+ DEFAULT_PATH_GENERATED: 'tmp-target-projects/generated',
197
+ DEFAULT_PATH_ORIGINS: 'tmp-target-projects/origins',
198
+ },
199
+ ...tempFolders
200
+ };
201
+ let dirnameForTnp;
202
+ /* */
203
+ /* */
204
+ const firedevProjectsRelative = `../morphi/projects`;
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
+ /* */
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
285
+ /* */
286
+ /* */
287
+ /* */
288
+ /* */
289
+ /* */
290
+ /* */
291
+ /* */
292
+ /* */
293
+ /* */
294
+ const moduleNameAngularLib = [
295
+ /* */
296
+ /* */
297
+ /* */
298
+ /* */
299
+ /* */
300
+ ];
301
+ const moduleNameIsomorphicLib = [
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ ];
307
+ const argsReplacementsBuild = {
308
+ /* */
309
+ /* */
310
+ /* */
311
+ /* */
312
+ /* */
313
+ /* */
314
+ /* */
315
+ /* */
316
+ /* */
317
+ /* */
318
+ /* */
319
+ /* */
320
+ /* */
321
+ /* */
322
+ /* */
323
+ /* */
324
+ /* */
325
+ /* */
326
+ /* */
327
+ /* */
328
+ /* */
329
+ /* */
330
+ /* */
331
+ /* */
332
+ /* */
333
+ /* */
334
+ /* */
335
+ /* */
336
+ /* */
337
+ /* */
338
+ /* */
339
+ /* */
340
+ /* */
341
+ /* */
342
+ /* */
343
+ /* */
344
+ /* */
345
+ /* */
346
+ /* */
347
+ /* */
348
+ /* */
349
+ /* */
350
+ /* */
351
+ /* */
352
+ /* */
353
+ /* */
354
+ /* */
355
+ };
356
+ const argsReplacementsOther = {
357
+ /* */
358
+ /* */
359
+ /* */
360
+ /* */
361
+ /* */
362
+ /* */
363
+ /* */
364
+ /* */
365
+ /* */
366
+ /* */
367
+ /* */
368
+ /* */
369
+ /* */
370
+ /* */
371
+ /* */
372
+ /* */
373
+ /* */
374
+ /* */
375
+ /* */
376
+ /* */
377
+ /* */
378
+ /* */
379
+ /* */
380
+ /* */
381
+ /* */
382
+ /* */
383
+ /* */
384
+ /* */
385
+ /* */
386
+ /* */
387
+ /* */
388
+ /* */
389
+ /* */
390
+ /* */
391
+ /* */
392
+ /* */
393
+ /* */
394
+ /* */
395
+ /* */
396
+ /* */
397
+ /* */
398
+ /* */
399
+ /* */
400
+ /* */
401
+ /* */
402
+ /* */
403
+ /* */
404
+ /* */
405
+ /* */
406
+ /* */
407
+ /* */
408
+ /* */
409
+ /* */
410
+ /* */
411
+ /* */
412
+ /* */
413
+ };
414
+ const areTrustedForPatchUpdate = [
415
+ /* */
416
+ /* */
417
+ /* */
418
+ /* */
419
+ /* */
420
+ /* */
421
+ /* */
422
+ /* */
423
+ ];
424
+ const activeFramewrokVersions = ['v3', 'v4'];
425
+ export const config = {
426
+ packagesThat: {
427
+ areTrustedForPatchUpdate,
428
+ },
429
+ /* */
430
+ /* */
431
+ /* */
432
+ /* */
433
+ /* */
434
+ /* */
435
+ /* */
436
+ /* */
437
+ /* */
438
+ /* */
439
+ quickFixes: {
440
+ /* */
441
+ /* */
442
+ },
443
+ packageJsonSplit,
444
+ regexString: {
445
+ pathPartStringRegex: `(\/([a-zA-Z0-9]|\\-|\\_|\\+|\\.)*)`
446
+ },
447
+ placeholders: {
448
+ forProjectsInEnvironmentFile: '//<PLACEHOLDER_FOR_PROJECTS>'
449
+ },
450
+ array: {
451
+ isomorphicPackages: 'isomorphicPackages'
452
+ },
453
+ defaultFrameworkVersion: 'v4',
454
+ activeFramewrokVersions,
455
+ coreProjectVersions: ['v1', ...activeFramewrokVersions],
456
+ CONST: {
457
+ /* */
458
+ /* */
459
+ /* */
460
+ /* */
461
+ },
462
+ debug: {
463
+ /* */
464
+ /* */
465
+ /* */
466
+ /* */
467
+ /* */
468
+ /* */
469
+ /* */
470
+ /* */
471
+ /* */
472
+ /* */
473
+ /* */
474
+ /* */
475
+ /* */
476
+ /* */
477
+ /* */
478
+ /* */
479
+ /* */
480
+ /* */
481
+ },
482
+ frameworkName,
483
+ frameworkNames: {
484
+ tnp: 'tnp',
485
+ firedev: 'firedev'
486
+ },
487
+ startPort: 6001,
488
+ frameworks: ['bootstrap', 'ionic', 'material'],
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
493
+ /* */
494
+ /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
508
+ /* */
509
+ /* */
510
+ /* */
511
+ /* */
512
+ /* */
513
+ /* */
514
+ /* */
515
+ /* */
516
+ /* */
517
+ /* */
518
+ /* */
519
+ /* */
520
+ /* */
521
+ /* */
522
+ /* */
523
+ /* */
524
+ /* */
525
+ /* */
526
+ /* */
527
+ /* */
528
+ /* */
529
+ /* */
530
+ /* */
531
+ /* */
532
+ /* */
533
+ /* */
534
+ /* */
535
+ /* */
536
+ /* */
537
+ /* */
538
+ /* */
539
+ /* */
540
+ /* */
541
+ /* */
542
+ /* */
543
+ /* */
544
+ /* */
545
+ /* */
546
+ /* */
547
+ /* */
548
+ /* */
549
+ /* */
550
+ /* */
551
+ /* */
552
+ /* */
553
+ /* */
554
+ /* */
555
+ /* */
556
+ /* */
557
+ /* */
558
+ /* */
559
+ /* */
560
+ /* */
561
+ /* */
562
+ /* */
563
+ /* */
564
+ /* */
565
+ /* */
566
+ /* */
567
+ /* */
568
+ /* */
569
+ /* */
570
+ /* */
571
+ /* */
572
+ /* */
573
+ /* */
574
+ /* */
575
+ /* */
576
+ /* */
577
+ /* */
578
+ /* */
579
+ /* */
580
+ /* */
581
+ /* */
582
+ /* */
583
+ /* */
584
+ /* */
585
+ /* */
586
+ /* */
587
+ allowedEnvironments,
588
+ folder,
589
+ tempFolders,
590
+ // @ts-ignore
591
+ filesNotAllowedToClean: Object.keys(filesNotAllowedToClean).map(key => filesNotAllowedToClean[key]),
592
+ file,
593
+ default: {
594
+ /* */
595
+ /* */
596
+ /* */
597
+ /* */
598
+ /* */
599
+ /* */
600
+ },
601
+ SUBERIZED_PREFIX: `---stuberized`,
602
+ names: {
603
+ env: allowedEnvironmentsObj,
604
+ baseline: 'baseline',
605
+ defaultServer: 'default server',
606
+ },
607
+ reservedArgumentsNamesUglify: [
608
+ 'reservedExpOne',
609
+ 'reservedExpSec'
610
+ ],
611
+ extensions: {
612
+ /* */
613
+ /* */
614
+ /* */
615
+ /* */
616
+ /* */
617
+ /* */
618
+ /* */
619
+ /* */
620
+ /* */
621
+ /* */
622
+ /* */
623
+ },
624
+ notFiredevProjects: [
625
+ /* */
626
+ /* */
627
+ ],
628
+ /**
629
+ * Build allowed types
630
+ */
631
+ allowedTypes: {
632
+ /* */
633
+ /* */
634
+ /* */
635
+ /* */
636
+ /* */
637
+ /* */
638
+ /* */
639
+ /* */
640
+ /* */
641
+ /* */
642
+ /* */
643
+ /* */
644
+ /* */
645
+ /* */
646
+ /* */
647
+ /* */
648
+ /* */
649
+ /* */
650
+ /* */
651
+ /* */
652
+ /* */
653
+ /* */
654
+ /* */
655
+ /* */
656
+ },
657
+ moduleNameAngularLib,
658
+ moduleNameIsomorphicLib,
659
+ filesExtensions: {
660
+ filetemplate: 'filetemplate',
661
+ styles: stylesFilesExtension,
662
+ },
663
+ projectTypes: {
664
+ /* */
665
+ /* */
666
+ /* */
667
+ /* */
668
+ /* */
669
+ /* */
670
+ /* */
671
+ /* */
672
+ /* */
673
+ /* */
674
+ /* */
675
+ /* */
676
+ /* */
677
+ /* */
678
+ /* */
679
+ },
680
+ localLibs: [
681
+ /* */
682
+ /* */
683
+ /* */
684
+ /* */
685
+ /* */
686
+ /* */
687
+ /* */
688
+ /* */
689
+ /* */
690
+ /* */
691
+ /* */
692
+ /* */
693
+ /* */
694
+ /* */
695
+ /* */
696
+ /* */
697
+ ],
698
+ helpAlias: [
699
+ '-h',
700
+ '--help',
701
+ '-help',
702
+ 'help'
703
+ ],
704
+ required: {
705
+ npm: [
706
+ /* */
707
+ /* */
708
+ /* */
709
+ /* */
710
+ /* */
711
+ /* */
712
+ /* */
713
+ /* */
714
+ /* */
715
+ /* */
716
+ /* */
717
+ /* */
718
+ /* */
719
+ /* */
720
+ /* */
721
+ /* */
722
+ /* */
723
+ /* */
724
+ /* */
725
+ /* */
726
+ /* */
727
+ /* */
728
+ /* */
729
+ /* */
730
+ /* */
731
+ /* */
732
+ /* */
733
+ /* */
734
+ /* */
735
+ /* */
736
+ /* */
737
+ ],
738
+ niceTools: [
739
+ /* */
740
+ /* */
741
+ /* */
742
+ /* */
743
+ /* */
744
+ /* */
745
+ /* */
746
+ /* */
747
+ /* */
748
+ /* */
749
+ /* */
750
+ /* */
751
+ /* */
752
+ /* */
753
+ /* */
754
+ /* */
755
+ /* */
756
+ /* */
757
+ /* */
758
+ /* */
759
+ /* */
760
+ /* */
761
+ /* */
762
+ ],
763
+ programs: [,
764
+ /* */
765
+ /* */
766
+ /* */
767
+ /* */
768
+ /* */
769
+ ]
770
+ }
771
+ };
772
+ ;
773
+ ({}); // @--end-of-file-for-module=tnp-config lib/config.ts
774
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtY29uZmlnL3Byb2plY3RzL3RucC1jb25maWcvc3JjL2xpYi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsSUFBSSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQXdFMUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7QUFDakMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztDQUVKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTJCO0FBQ2xELEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0NBRXNCLENBQUM7QUFHNUIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQW1DLEVBQUUsMEJBQTBCO0FBQzlGLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0NBRThCLENBQUM7QUFJcEMsTUFBTSxtQkFBbUIsR0FBbUM7QUFDNUQs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LHNCQUFzQixFQUFFLCtCQUErQjtRQUN2RCxvQkFBb0IsRUFBRSw2QkFBNkI7S0FDcEQ7SUFDRCxHQUFHLFdBQVc7Q0FFZixDQUFDO0FBR0YsSUFBSSxhQUFxQixDQUFDO0FBQzFCLEtBQUs7QUFDTCxLQUFLO0FBRUwsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQztBQUVyRCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUdMLE1BQU0sb0JBQW9CLEdBQUc7QUFDN0IsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7Q0FFSixDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRztBQUNoQyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0NBRUosQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUc7QUFDOUIsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7Q0FFSixDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRztBQUM5QixLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0ws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QUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFFSCxtQkFBbUI7SUFDbkIsTUFBTTtJQUNOLFdBQVc7SUFDWCxhQUFhO0lBQ2Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFhO0lBQy9HLElBQUk7SUFDSixPQUFPLEVBQUU7SUFDWCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7S0FFRjtJQUNELGdCQUFnQixFQUFFLGVBQWU7SUFDakMsS0FBSyxFQUFFO1FBQ0wsR0FBRyxFQUFFLHNCQUFzQjtRQUMzQixRQUFRLEVBQUUsVUFBVTtRQUNwQixhQUFhLEVBQUUsZ0JBQWdCO0tBQ2hDO0lBQ0QsNEJBQTRCLEVBQUU7UUFDNUIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtLQUNqQjtJQUNELFVBQVUsRUFBRTtJQUNkLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0tBRUY7SUFDRCxrQkFBa0IsRUFBRTtJQUN0QixLQUFLO0lBQ0wsS0FBSztLQUV3QjtJQUMzQjs7T0FFRztJQUNILFlBQVksRUFBRTtJQUNoQixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7S0FFRjtJQUNELG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsZUFBZSxFQUFFO1FBQ2YsWUFBWSxFQUFFLGNBQWM7UUFDNUIsTUFBTSxFQUFFLG9CQUFvQjtLQUM3QjtJQUNELFlBQVksRUFBRTtJQUNoQixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7S0FFRjtJQUVELFNBQVMsRUFBRTtJQUNiLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7S0FFRjtJQUNELFNBQVMsRUFBRTtRQUNULElBQUk7UUFDSixRQUFRO1FBQ1IsT0FBTztRQUNQLE1BQU07S0FDUDtJQUNELFFBQVEsRUFBRTtRQUNSLEdBQUcsRUFBRTtRQUNULEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7U0FFQTtRQUNELFNBQVMsRUFBRTtRQUNmLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1NBRUE7UUFDRCxRQUFRLEVBQUUsQ0FBQztZQUNmLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1NBRUE7S0FDRjtDQUNGLENBQUM7QUFvQkQsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxREFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERhcml1c3ogRmlsaXBpYWtcbiAqIEBhdXRob3IgZGFyZWtmNzdAZ21haWwuY29tXG4gKiBSZWNvbW1lbmRlZCBjb25maWcgZm9yIGFsbCBpc29tb3JwaGljIGxpYnMgKlxuICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuaW1wb3J0IHsgZnJhbWV3b3JrTmFtZSB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5leHBvcnQgeyBDb3JlSGVscGVycyBhcyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cblxuXG5leHBvcnQgbmFtZXNwYWNlIENvbmZpZ01vZGVscyB7XG4gIGV4cG9ydCB0eXBlIEVudmlyb25tZW50TmFtZSA9ICdsb2NhbCcgfCAnc3RhdGljJyB8ICdkZXYnIHwgJ3N0YWdlJyB8ICdwcm9kJyB8ICdvbmxpbmUnIHwgJ3Rlc3QnIHwgJ3FhJyB8ICdjdXN0b20nO1xuICBleHBvcnQgdHlwZSBVSUZyYW1ld29yayA9ICdib290c3RyYXAnIHwgJ21hdGVyaWFsJyB8ICdpb25pYyc7XG4gIGV4cG9ydCB0eXBlIEZyYW1ld29ya1ZlcnNpb24gPSAndjEnIHwgJ3YyJyB8ICd2MycgfCAndjQnIHwgJ3Y1JyB8ICd2NicgfCAndjcnIHwgJ3Y4JyB8ICd2OSc7XG4gIGV4cG9ydCB0eXBlIEN1dGFibGVGaWxlRXh0ID0gJ3Njc3MnIHwgJ2NzcycgfCAnc2FzcycgfCAnaHRtbCcgfCAndHMnO1xuICBleHBvcnQgdHlwZSBJbWFnZUZpbGVFeHRlbnNpb24gPSAnanBnJyB8ICdqcGVnJyB8ICdwbmcnIHwgJ3N2Zyc7XG4gIGV4cG9ydCB0eXBlIEZpbGVFeHRlbnNpb24gPSAndHMnIHwgJ2pzJyB8ICdqc29uJyB8ICdodG1sJyB8IEltYWdlRmlsZUV4dGVuc2lvbiB8ICd0eHQnIHwgQ3V0YWJsZUZpbGVFeHQ7XG5cblxuICBleHBvcnQgdHlwZSBIdHRwTWV0aG9kID0gJ2dldCcgfCAncG9zdCcgfCAncHV0JyB8ICdkZWxldGUnIHwgJ3BhdGNoJyB8ICdoZWFkJyB8ICdqc29ucCc7XG4gIGV4cG9ydCB0eXBlIFBhcmFtVHlwZSA9ICdQYXRoJyB8ICdRdWVyeScgfCAnQ29va2llJyB8ICdIZWFkZXInIHwgJ0JvZHknO1xuICBleHBvcnQgdHlwZSBUc1VzYWdlID0gJ2ltcG9ydCcgfCAnZXhwb3J0JztcblxuICBleHBvcnQgdHlwZSBMaWJUeXBlID0gJ3Vua25vdydcbiAgICB8ICdpc29tb3JwaGljLWxpYidcbiAgICB8ICdhbmd1bGFyLWxpYicgLy8gaHR0cHM6Ly9jbGkuYW5ndWxhci5pby9cbiAgICB8ICdlbGVjdHJvbi1jbGllbnQnIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhpbWVncmlzL2FuZ3VsYXItZWxlY3Ryb25cbiAgICB8ICdpb25pYy1saWInXG4gICAgfCAnYW5ndWxhci1jbGllbnQnXG4gICAgfCAnaW9uaWMtY2xpZW50J1xuICAgIHwgJ3dvcmtzcGFjZSdcbiAgICB8ICdjb250YWluZXInXG4gICAgfCAnZG9ja2VyJ1xuICAgIHwgJ3ZzY29kZS1leHQnXG4gICAgfCAnY2hyb21lLWV4dCdcbiAgICB8ICd1bmtub3ctbnBtLXByb2plY3QnXG4gICAgfCAnc2NlbmFyaW8nXG4gICAgfCAnbmF2aSdcbiAgICB8ICdsZWFmJ1xuICAgIHwgJ2dhbWUtZW5naW5lLWxpYi1waXhpJyAvLyBodHRwczovL2dpdGh1Yi5jb20vcGl4aWpzL3BpeGkuanNcbiAgICB8ICdnYW1lLWVuZ2luZS1saWItcGhhc2VyJyAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhvdG9uc3Rvcm0vcGhhc2VyXG4gICAgfCAnZ2FtZS1lbmdpbmUtbGliLWV4Y2FsaWJ1cicgLy8gaHR0cHM6Ly9naXRodWIuY29tL2V4Y2FsaWJ1cmpzL0V4Y2FsaWJ1clxuICAgIHwgJ2dhbWUtZW5naW5lLWxpYi1iYWJ5bG9uJyAvLyBodHRwczovL2dpdGh1Yi5jb20vQmFieWxvbkpTL0JhYnlsb24uanNcbiAgICA7XG5cbiAgZXhwb3J0IHR5cGUgTmV3RmFjdG9yeVR5cGUgPSBMaWJUeXBlIHwgJ21vZGVsJyB8ICdzaW5nbGUtZmlsZS1wcm9qZWN0JztcbiAgZXhwb3J0IHR5cGUgQ29yZUxpYkNhdGVnb3J5ID0gTGliVHlwZSB8ICdjb21tb24nO1xuICBleHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBTaXplIHtcbiAgICB3OiBudW1iZXI7XG4gICAgaDogbnVtYmVyO1xuICB9XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIEdsb2JhbE5wbURlcGVuZGVuY3kge1xuICAgIG5hbWU6IHN0cmluZzsgaW5zdGFsbE5hbWU/OiBzdHJpbmc7IHZlcnNpb24/OiBzdHJpbmcgfCBudW1iZXI7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEdsb2JhbENvbW1hbmRMaW5lUHJvZ3JhbURlcGVuZGVuY3kge1xuICAgIG5hbWU6IHN0cmluZzsgd2Vic2l0ZTogc3RyaW5nOyB2ZXJzaW9uPzogc3RyaW5nO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsRGVwZW5kZW5jaWVzIHtcbiAgICBucG0/OiBHbG9iYWxOcG1EZXBlbmRlbmN5W107XG4gICAgcHJvZ3JhbXM/OiBHbG9iYWxDb21tYW5kTGluZVByb2dyYW1EZXBlbmRlbmN5W107XG4gIH1cblxuICBleHBvcnQgdHlwZSBGaWxlRXZlbnQgPSAnY3JlYXRlZCcgfCAnY2hhbmdlZCcgfCAncmVtb3ZlZCcgfCAncmVuYW1lJztcbiAgZXhwb3J0IHR5cGUgT3V0Rm9sZGVyID0gJ2Rpc3QnIHwgJ2J1bmRsZScgfCAnYnJvd3Nlcic7XG4gIGV4cG9ydCB0eXBlIERhdGFiYXNlVHlwZSA9ICdiZXR0ZXItc3FsaXRlMycgfCAnbXlzcWwnO1xuXG59XG5cblxuZXhwb3J0IGNvbnN0IEdsb2JhbExpYlR5cGVOYW1lID0ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59O1xuXG5leHBvcnQgY29uc3QgTGliVHlwZUFycjogQ29uZmlnTW9kZWxzLkxpYlR5cGVbXSA9IFtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbl0gYXMgQ29uZmlnTW9kZWxzLkxpYlR5cGVbXTtcblxuXG5leHBvcnQgY29uc3QgQ29yZUxpYkNhdGVnb3J5QXJyOiBDb25maWdNb2RlbHMuQ29yZUxpYkNhdGVnb3J5W10gPSBbIC8vIFRPRE8gdGhpcyBpcyBmb3Igd2hhdCA/XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5dIGFzIENvbmZpZ01vZGVscy5Db3JlTGliQ2F0ZWdvcnlbXTtcblxuXG5cbmNvbnN0IGFsbG93ZWRFbnZpcm9ubWVudHM6IENvbmZpZ01vZGVscy5FbnZpcm9ubWVudE5hbWVbXSA9IFtcbi8qICovXG4vKiAqL1xuICBcbl07XG5cbmNvbnN0IGFsbG93ZWRFbnZpcm9ubWVudHNPYmogPSB7fTtcbmFsbG93ZWRFbnZpcm9ubWVudHMuZm9yRWFjaChzID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBhbGxvd2VkRW52aXJvbm1lbnRzT2JqW3NdID0gcztcbn0pO1xuXG5jb25zdCBmaXJlZGV2ID0gJ2ZpcmVkZXYnO1xuY29uc3QgbW9ycGhpID0gJ21vcnBoaSc7XG4vKiAqL1xuLyogKi9cbiAgXG5jb25zdCB1cmxNb3JwaGkgPSAnaHR0cHM6Ly9naXRodWIuY29tL2RhcmVrZjc3L21vcnBoaS5naXQnO1xuXG5jb25zdCBmaWxlc05vdEFsbG93ZWRUb0NsZWFuID0ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufTtcblxuY29uc3QgZmlsZSA9IHtcblxuICBfYm93ZXJyYzogJy5ib3dlcnJjJyxcbiAgYm93ZXJfanNvbjogJ2Jvd2VyLmpzb24nLFxuICBjb250cm9sbGVyc190czogJ2NvbnRyb2xsZXJzLnRzJyxcbiAgZW50aXRpZXNfdHM6ICdlbnRpdGllcy50cycsXG4gIGFuZ3VsYXJfanNvbjogJ2FuZ3VsYXIuanNvbicsXG4gIGF1dG9iX2FjdGlvbnNfanM6ICdhdXRvLWFjdGlvbnMuanMnLFxuICBsb2NhbF9jb25maWdfanM6ICdsb2NhbC1jb25maWcuanMnLFxuICBidWlsZF9jb25maWdfanM6ICdidWlsZC1jb25maWcuanMnLFxuICBsb2NhbF9jb25maWc6ICdsb2NhbC1jb25maWcnLFxuICBzdGFydF9iYWNrZW5kX3RzOiAnc3RhcnQuYmFja2VuZC50cycsXG4gIHBhY2thZ2VfanNvbjogJ3BhY2thZ2UuanNvbicsXG4gIHJlc3VsdF9wYWNrYWdlc19qc29uOiAncmVzdWx0LXBhY2thZ2VzLmpzb24nLFxuICBwYWNrYWdlX2pzb241OiAncGFja2FnZS5qc29uNScsXG4gIHBhY2thZ2VfanNvbl9fdG5wX2pzb246ICdwYWNrYWdlLmpzb25fdG5wLmpzb24nLFxuICBwYWNrYWdlX2pzb25fX3RucF9qc29uNTogJ3BhY2thZ2UuanNvbl90bnAuanNvbjUnLFxuICBwYWNrYWdlX2pzb25fX2RldkRlcGVuZGVuY2llc19qc29uOiAncGFja2FnZS5qc29uX2RldkRlcGVuZGVuY2llcy5qc29uJyxcbiAgeWFybl9sb2NrOiAneWFybi5sb2NrJyxcbiAgcGFja2FnZV9sb2NrX2pzb246ICdwYWNrYWdlLWxvY2suanNvbicsXG4gIHRucEVudmlyb25tZW50X2pzb246ICd0bXAtZW52aXJvbm1lbnQuanNvbicsXG4gIGVudmlyb25tZW50OiAnZW52aXJvbm1lbnQnLFxuICBlbnZpcm9ubWVudF9qczogJ2Vudmlyb25tZW50LmpzJyxcbiAgdG1wX3RyYW5zYWN0aW9uX3BpZF90eHQ6ICd0bXAtdHJhbnNhY3Rpb24tcGlkLnR4dCcsXG4gIG1hbmlmZXN0X3dlYm1hbmlmZXN0OiAnbWFuaWZlc3Qud2VibWFuaWZlc3QnLFxuICBwdWJsaWNfYXBpX2RfdHM6ICdwdWJsaWMtYXBpLmQudHMnLFxuICBwdWJsaWNfYXBpX3RzOiAncHVibGljLWFwaS50cycsXG4gIHB1YmxpY19hcGk6ICdwdWJsaWMtYXBpJyxcbiAgX2JhYmVscmM6ICcuYmFiZWxyYycsXG4gIGluZGV4OiAnaW5kZXgnLFxuICBpbmRleF9kX3RzOiAnaW5kZXguZC50cycsXG4gIGluZGV4X3RzOiAnaW5kZXgudHMnLFxuICBpbmRleF9qczogJ2luZGV4LmpzJyxcbiAgaW5kZXhfanNfbWFwOiAnaW5kZXguanMubWFwJyxcbiAgZGJfanNvbjogJ2RiLmpzb24nLFxuICBkYl9mb3JfdGVzdHNfanNvbjogJ2RiLWZvci10ZXN0cy5qc29uJyxcbiAgdG1wRG9ja2VySW1hZ2VJZDogJ3RtcC1kb2NrZXItaW1hZ2UtaWQnLFxuICB0bXBfcmVjZW50X2pzb246ICdyZWNlbnQuanNvbicsXG4gIHRtcElzb21vcnBoaWNQYWNrYWdlc0pzb246ICd0bXAtaXNvbW9ycGhpYy1wYWNrYWdlcy5qc29uJyxcbiAgdHNjb25maWdfanNvbjogJ3RzY29uZmlnLmpzb24nLFxuICBSRUFETUVfTUQ6ICdSRUFETUUubWQnLFxuICBzZXJ2ZXJfa2V5OiAnc2VydmVyLmtleScsXG4gIHNlcnZlcl9jZXJ0OiAnc2VydmVyLmNlcnQnLFxuICBzZXJ2ZXJfY2hhaW5fY2VydDogJ3NlcnZlci1jaGFpbi5jZXJ0JyxcbiAgbWV0YV9jb25maWdfbWQ6ICdtZXRhLWNvbnRlbnQubWQnLFxuICBsb2dvX3BuZzogJ2xvZ28ucG5nJyxcbiAgbG9nb19zdmc6ICdsb2dvLnN2ZycsXG4gIC4uLmZpbGVzTm90QWxsb3dlZFRvQ2xlYW5cblxufTtcblxuY29uc3QgcGFja2FnZUpzb25TcGxpdCA9IFtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXTtcblxuY29uc3QgdGVtcEZvbGRlcnMgPSB7IC8vIERPIE5PVCBQVVQgQU5ZVEhJTkcgU1VQSUQgSEVSRSEhIVxuXG4gIGJ1bmRsZTogJ2J1bmRsZScsXG4gIHZlbmRvcjogJ3ZlbmRvcicsXG4gIGRvY3M6ICdkb2NzJyxcbiAgZGlzdDogJ2Rpc3QnLFxuICB0bXA6ICd0bXAnLFxuICB0bXBCdW5kbGVSZWxlYXNlOiAndG1wLWJ1bmRsZS1yZWxlYXNlJyxcbiAgdGVtcFNyYzogJ3RtcC1zcmMnLFxuICB0ZW1wU3JjRGlzdDogJ3RtcC1zcmMtZGlzdCcsXG4gIHByZXZpZXdEaXN0QXBwOiAnZGlzdC1hcHAnLFxuICBwcmV2aWV3OiAncHJldmlldycsXG4gIGJyb3dzZXI6ICdicm93c2VyJyxcbiAgd2Vic3FsOiAnd2Vic3FsJyxcbiAgX2Jyb3dzZXI6ICcuYnJvd3NlcicsXG4gIG1vZHVsZTogJ21vZHVsZScsXG4gIGJhY2t1cDogJ2JhY2t1cCcsXG4gIG5vZGVfbW9kdWxlczogJ25vZGVfbW9kdWxlcycsXG4gIGNsaWVudDogJ2NsaWVudCcsXG4gIHRucF90ZXN0c19jb250ZXh0OiAndG1wLXRlc3RzLWNvbnRleHQnLFxuICB0bXBQYWNrYWdlOiAndG1wLXBhY2thZ2UnLFxuICB0bXBTY2VuYXJpb3M6ICd0bXAtc2NlbmFyaW9zJyxcbiAgdG1wVGVzdHNFbnZpcm9ubWVudHM6ICd0bXAtdGVzdHMtZW52aXJvbm1lbnRzJyxcbiAgdGVzdHNFbnZpcm9ubWVudHM6ICd0ZXN0cy1lbnZpcm9ubWVudHMnLFxuXG59O1xuXG5jb25zdCBzdHlsZXNGaWxlc0V4dGVuc2lvbiA9IFtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbl07XG5cbmNvbnN0IGZvbGRlciA9IHtcblxuICBzY3JpcHRzOiAnc2NyaXB0cycsXG4gIHNjZW5hcmlvczogJ3NjZW5hcmlvcycsXG4gIGJvd2VyOiAnYm93ZXInLFxuICBzcmM6ICdzcmMnLFxuICBvdXQ6ICdvdXQnLFxuICBhcHA6ICdhcHAnLFxuICBsaWI6ICdsaWInLFxuICBsaWJzOiAnbGlicycsXG4gIHNvdXJjZTogJ3NvdXJjZScsXG4gIGN1c3RvbTogJ2N1c3RvbScsXG4gIGNvbXBvbmVudHM6ICdjb21wb25lbnRzJyxcbiAgYXNzZXRzOiAnYXNzZXRzJyxcbiAgZ2VuZXJhdGVkOiAnZ2VuZXJhdGVkJyxcbiAgYXBwczogJ2FwcHMnLFxuICBzaGFyZWQ6ICdzaGFyZWQnLFxuXG5cblxuICB3b3Jrc3BhY2U6ICd3b3Jrc3BhY2UnLFxuICBjb250YWluZXI6ICdjb250YWluZXInLFxuICBiaW46ICdiaW4nLFxuICBfYmluOiAnLmJpbicsXG4gIF92c2NvZGU6ICcudnNjb2RlJyxcbiAgcHJvamVjdDogJ3Byb2plY3QnLFxuICBleHRlcm5hbDogJ2V4dGVybmFsJyxcbiAgdG1wRGlzdDogJ3RtcC1kaXN0JyxcbiAgdG1wRm9yKGQ6IENvbmZpZ01vZGVscy5PdXRGb2xkZXIpIHtcbiAgICByZXR1cm4gYHRtcC1zcmMtJHtkfWA7XG4gIH0sXG4gIHRhcmdldFByb2plY3RzOiB7XG4gICAgREVGQVVMVF9QQVRIX0dFTkVSQVRFRDogJ3RtcC10YXJnZXQtcHJvamVjdHMvZ2VuZXJhdGVkJyxcbiAgICBERUZBVUxUX1BBVEhfT1JJR0lOUzogJ3RtcC10YXJnZXQtcHJvamVjdHMvb3JpZ2lucycsXG4gIH0sXG4gIC4uLnRlbXBGb2xkZXJzXG5cbn07XG5cblxubGV0IGRpcm5hbWVGb3JUbnA6IHN0cmluZztcbi8qICovXG4vKiAqL1xuICBcbmNvbnN0IGZpcmVkZXZQcm9qZWN0c1JlbGF0aXZlID0gYC4uL21vcnBoaS9wcm9qZWN0c2A7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuY29uc3QgbW9kdWxlTmFtZUFuZ3VsYXJMaWIgPSBbXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5dO1xuXG5jb25zdCBtb2R1bGVOYW1lSXNvbW9ycGhpY0xpYiA9IFtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXTtcblxuY29uc3QgYXJnc1JlcGxhY2VtZW50c0J1aWxkID0ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufTtcblxuY29uc3QgYXJnc1JlcGxhY2VtZW50c090aGVyID0ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufTtcblxuY29uc3QgYXJlVHJ1c3RlZEZvclBhdGNoVXBkYXRlID0gW1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXTtcblxuY29uc3QgYWN0aXZlRnJhbWV3cm9rVmVyc2lvbnMgPSBbJ3YzJywgJ3Y0J10gYXMgQ29uZmlnTW9kZWxzLkZyYW1ld29ya1ZlcnNpb25bXTtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IHtcbiAgcGFja2FnZXNUaGF0OiB7XG4gICAgYXJlVHJ1c3RlZEZvclBhdGNoVXBkYXRlLFxuICB9LFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiAgcXVpY2tGaXhlczoge1xuLyogKi9cbi8qICovXG4gIFxuICB9LFxuICBwYWNrYWdlSnNvblNwbGl0LFxuICByZWdleFN0cmluZzoge1xuICAgIHBhdGhQYXJ0U3RyaW5nUmVnZXg6IGAoXFwvKFthLXpBLVowLTldfFxcXFwtfFxcXFxffFxcXFwrfFxcXFwuKSopYFxuICB9LFxuICBwbGFjZWhvbGRlcnM6IHtcbiAgICBmb3JQcm9qZWN0c0luRW52aXJvbm1lbnRGaWxlOiAnLy88UExBQ0VIT0xERVJfRk9SX1BST0pFQ1RTPidcbiAgfSxcbiAgYXJyYXk6IHtcbiAgICBpc29tb3JwaGljUGFja2FnZXM6ICdpc29tb3JwaGljUGFja2FnZXMnXG4gIH0sXG4gIGRlZmF1bHRGcmFtZXdvcmtWZXJzaW9uOiAndjQnIGFzIENvbmZpZ01vZGVscy5GcmFtZXdvcmtWZXJzaW9uLFxuICBhY3RpdmVGcmFtZXdyb2tWZXJzaW9ucyxcbiAgY29yZVByb2plY3RWZXJzaW9uczogWyd2MScsIC4uLmFjdGl2ZUZyYW1ld3Jva1ZlcnNpb25zXSxcbiAgQ09OU1Q6IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9LFxuICBkZWJ1Zzoge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfSxcbiAgZnJhbWV3b3JrTmFtZSxcbiAgZnJhbWV3b3JrTmFtZXM6IHtcbiAgICB0bnA6ICd0bnAnLFxuICAgIGZpcmVkZXY6ICdmaXJlZGV2J1xuICB9LFxuICBzdGFydFBvcnQ6IDYwMDEsXG4gIGZyYW1ld29ya3M6IFsnYm9vdHN0cmFwJywgJ2lvbmljJywgJ21hdGVyaWFsJ10gYXMgQ29uZmlnTW9kZWxzLlVJRnJhbWV3b3JrW10sXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIGFsbG93ZWRFbnZpcm9ubWVudHMsXG4gIGZvbGRlcixcbiAgdGVtcEZvbGRlcnMsXG4gIC8vIEB0cy1pZ25vcmVcbiAgZmlsZXNOb3RBbGxvd2VkVG9DbGVhbjogT2JqZWN0LmtleXMoZmlsZXNOb3RBbGxvd2VkVG9DbGVhbikubWFwKGtleSA9PiBmaWxlc05vdEFsbG93ZWRUb0NsZWFuW2tleV0pIGFzIHN0cmluZ1tdLFxuICBmaWxlLFxuICBkZWZhdWx0OiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9LFxuICBTVUJFUklaRURfUFJFRklYOiBgLS0tc3R1YmVyaXplZGAsXG4gIG5hbWVzOiB7XG4gICAgZW52OiBhbGxvd2VkRW52aXJvbm1lbnRzT2JqLFxuICAgIGJhc2VsaW5lOiAnYmFzZWxpbmUnLFxuICAgIGRlZmF1bHRTZXJ2ZXI6ICdkZWZhdWx0IHNlcnZlcicsXG4gIH0sXG4gIHJlc2VydmVkQXJndW1lbnRzTmFtZXNVZ2xpZnk6IFtcbiAgICAncmVzZXJ2ZWRFeHBPbmUnLFxuICAgICdyZXNlcnZlZEV4cFNlYydcbiAgXSxcbiAgZXh0ZW5zaW9uczoge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9LFxuICBub3RGaXJlZGV2UHJvamVjdHM6IFtcbi8qICovXG4vKiAqL1xuICBcbiAgXSBhcyBDb25maWdNb2RlbHMuTGliVHlwZVtdLFxuICAvKipcbiAgICogQnVpbGQgYWxsb3dlZCB0eXBlc1xuICAgKi9cbiAgYWxsb3dlZFR5cGVzOiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9LFxuICBtb2R1bGVOYW1lQW5ndWxhckxpYixcbiAgbW9kdWxlTmFtZUlzb21vcnBoaWNMaWIsXG4gIGZpbGVzRXh0ZW5zaW9uczoge1xuICAgIGZpbGV0ZW1wbGF0ZTogJ2ZpbGV0ZW1wbGF0ZScsXG4gICAgc3R5bGVzOiBzdHlsZXNGaWxlc0V4dGVuc2lvbixcbiAgfSxcbiAgcHJvamVjdFR5cGVzOiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9LFxuXG4gIGxvY2FsTGliczogW1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIF0sXG4gIGhlbHBBbGlhczogW1xuICAgICctaCcsXG4gICAgJy0taGVscCcsXG4gICAgJy1oZWxwJyxcbiAgICAnaGVscCdcbiAgXSxcbiAgcmVxdWlyZWQ6IHtcbiAgICBucG06IFtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIF0sXG4gICAgbmljZVRvb2xzOiBbXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgXSxcbiAgICBwcm9ncmFtczogWyxcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICBdXG4gIH1cbn07XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29uZmlnIGxpYi9jb25maWcudHMiXX0=