tnp-config 13.0.28 → 13.0.31
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.
- package/app.js +1 -1
- package/browser/esm2020/lib/config.mjs +3 -1
- package/browser/fesm2015/tnp-config.mjs +2 -1
- package/browser/fesm2015/tnp-config.mjs.map +1 -1
- package/browser/fesm2020/tnp-config.mjs +2 -0
- package/browser/fesm2020/tnp-config.mjs.map +1 -1
- package/browser/lib/config.d.ts +3 -0
- package/client/esm2020/lib/config.mjs +3 -1
- package/client/fesm2015/tnp-config.mjs +2 -1
- package/client/fesm2015/tnp-config.mjs.map +1 -1
- package/client/fesm2020/tnp-config.mjs +2 -0
- package/client/fesm2020/tnp-config.mjs.map +1 -1
- package/client/lib/config.d.ts +3 -0
- package/index.js +1 -1
- package/lib/config.d.ts +3 -0
- package/lib/config.js +3 -2
- package/lib/config.js.map +1 -1
- package/lib/index.js +1 -1
- package/package.json +3 -3
- package/tmp-environment.json +30 -31
- package/websql/README.md +24 -0
- package/websql/esm2020/lib/config.mjs +718 -0
- package/websql/esm2020/lib/index.mjs +2 -0
- package/websql/esm2020/public-api.mjs +2 -0
- package/websql/esm2020/tnp-config.mjs +5 -0
- package/websql/fesm2015/tnp-config.mjs +653 -0
- package/websql/fesm2015/tnp-config.mjs.map +1 -0
- package/websql/fesm2020/tnp-config.mjs +718 -0
- package/websql/fesm2020/tnp-config.mjs.map +1 -0
- package/websql/lib/config.d.ts +316 -0
- package/websql/lib/index.d.ts +1 -0
- package/websql/package.json +31 -0
- package/websql/public-api.d.ts +1 -0
- package/websql/tnp-config.d.ts +5 -0
@@ -0,0 +1,718 @@
|
|
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
|
+
export { CoreHelpers as Helpers } from 'tnp-core/websql';
|
14
|
+
export const GlobalLibTypeName = {
|
15
|
+
isomorphicLib: 'isomorphic-lib',
|
16
|
+
angularLib: 'angular-lib',
|
17
|
+
electronClient: 'electron-client',
|
18
|
+
ionicLib: 'ionic-lib',
|
19
|
+
angularClient: 'angular-client',
|
20
|
+
ionicClient: 'ionic-client',
|
21
|
+
workspace: 'workspace',
|
22
|
+
container: 'container',
|
23
|
+
docker: 'docker',
|
24
|
+
unknowNpmProject: 'unknow-npm-project',
|
25
|
+
vscodeExt: 'vscode-ext',
|
26
|
+
chromeExt: 'chrome-ext',
|
27
|
+
singleFileProject: 'single-file-project',
|
28
|
+
navi: 'navi',
|
29
|
+
scenario: 'scenario'
|
30
|
+
};
|
31
|
+
export const LibTypeArr = [
|
32
|
+
GlobalLibTypeName.angularLib,
|
33
|
+
GlobalLibTypeName.isomorphicLib,
|
34
|
+
GlobalLibTypeName.angularClient,
|
35
|
+
GlobalLibTypeName.ionicClient,
|
36
|
+
GlobalLibTypeName.electronClient,
|
37
|
+
GlobalLibTypeName.workspace,
|
38
|
+
GlobalLibTypeName.container,
|
39
|
+
GlobalLibTypeName.docker,
|
40
|
+
GlobalLibTypeName.unknowNpmProject,
|
41
|
+
GlobalLibTypeName.vscodeExt,
|
42
|
+
GlobalLibTypeName.chromeExt,
|
43
|
+
GlobalLibTypeName.navi,
|
44
|
+
GlobalLibTypeName.scenario,
|
45
|
+
];
|
46
|
+
export const CoreLibCategoryArr = [
|
47
|
+
GlobalLibTypeName.angularLib,
|
48
|
+
GlobalLibTypeName.isomorphicLib,
|
49
|
+
GlobalLibTypeName.angularClient,
|
50
|
+
GlobalLibTypeName.electronClient,
|
51
|
+
GlobalLibTypeName.ionicClient,
|
52
|
+
GlobalLibTypeName.docker,
|
53
|
+
'common'
|
54
|
+
];
|
55
|
+
//#endregion
|
56
|
+
const allowedEnvironments = ['static', 'dev', 'prod', 'stage', 'online', 'test', 'qa', 'custom'];
|
57
|
+
const allowedEnvironmentsObj = {};
|
58
|
+
allowedEnvironments.forEach(s => {
|
59
|
+
// @ts-ignore
|
60
|
+
allowedEnvironmentsObj[s] = s;
|
61
|
+
});
|
62
|
+
const firedev = 'firedev';
|
63
|
+
const morphi = 'morphi';
|
64
|
+
/* */
|
65
|
+
/* */
|
66
|
+
const urlMorphi = 'https://github.com/darekf77/morphi.git';
|
67
|
+
const filesNotAllowedToClean = {
|
68
|
+
_gitignore: '.gitignore',
|
69
|
+
_npmrc: '.npmrc',
|
70
|
+
_npmignore: '.npmignore',
|
71
|
+
tslint_json: 'tslint.json',
|
72
|
+
_editorconfig: '.editorconfig',
|
73
|
+
_angularCli_json: '.angular-cli.json',
|
74
|
+
_vscode_launch_json: '.vscode/launch.json',
|
75
|
+
};
|
76
|
+
const file = {
|
77
|
+
_bowerrc: '.bowerrc',
|
78
|
+
bower_json: 'bower.json',
|
79
|
+
controllers_ts: 'controllers.ts',
|
80
|
+
entities_ts: 'entities.ts',
|
81
|
+
angular_json: 'angular.json',
|
82
|
+
autob_actions_js: 'auto-actions.js',
|
83
|
+
local_config_js: 'local-config.js',
|
84
|
+
build_config_js: 'build-config.js',
|
85
|
+
local_config: 'local-config',
|
86
|
+
start_backend_ts: 'start.backend.ts',
|
87
|
+
package_json: 'package.json',
|
88
|
+
result_packages_json: 'result-packages.json',
|
89
|
+
package_json5: 'package.json5',
|
90
|
+
package_json__tnp_json: 'package.json_tnp.json',
|
91
|
+
package_json__tnp_json5: 'package.json_tnp.json5',
|
92
|
+
package_json__devDependencies_json: 'package.json_devDependencies.json',
|
93
|
+
yarn_lock: 'yarn.lock',
|
94
|
+
package_lock_json: 'package-lock.json',
|
95
|
+
tnpEnvironment_json: 'tmp-environment.json',
|
96
|
+
environment: 'environment',
|
97
|
+
environment_js: 'environment.js',
|
98
|
+
tmp_transaction_pid_txt: 'tmp-transaction-pid.txt',
|
99
|
+
manifest_webmanifest: 'manifest.webmanifest',
|
100
|
+
publicApi_ts: 'public_api.ts',
|
101
|
+
publicApi_d_ts: 'public_api.d.ts',
|
102
|
+
publicapi_ts: 'public-api.ts',
|
103
|
+
_babelrc: '.babelrc',
|
104
|
+
index_d_ts: 'index.d.ts',
|
105
|
+
index_ts: 'index.ts',
|
106
|
+
index_js: 'index.js',
|
107
|
+
index_js_map: 'index.js.map',
|
108
|
+
db_json: 'db.json',
|
109
|
+
db_for_tests_json: 'db-for-tests.json',
|
110
|
+
tmpDockerImageId: 'tmp-docker-image-id',
|
111
|
+
tmp_recent_json: 'recent.json',
|
112
|
+
tmpIsomorphicPackagesJson: 'tmp-isomorphic-packages.json',
|
113
|
+
tsconfig_json: 'tsconfig.json',
|
114
|
+
README_MD: 'README.md',
|
115
|
+
server_key: 'server.key',
|
116
|
+
server_cert: 'server.cert',
|
117
|
+
server_chain_cert: 'server-chain.cert',
|
118
|
+
meta_config_md: 'meta-content.md',
|
119
|
+
...filesNotAllowedToClean
|
120
|
+
};
|
121
|
+
const packageJsonSplit = [
|
122
|
+
file.package_json__tnp_json,
|
123
|
+
file.package_json__tnp_json5,
|
124
|
+
file.package_json__devDependencies_json,
|
125
|
+
];
|
126
|
+
const tempFolders = {
|
127
|
+
bundle: 'bundle',
|
128
|
+
vendor: 'vendor',
|
129
|
+
docs: 'docs',
|
130
|
+
dist: 'dist',
|
131
|
+
tmp: 'tmp',
|
132
|
+
tmpBundleRelease: 'tmp-bundle-release',
|
133
|
+
tempSrc: 'tmp-src',
|
134
|
+
tempSrcDist: 'tmp-src-dist',
|
135
|
+
previewDistApp: 'dist-app',
|
136
|
+
preview: 'preview',
|
137
|
+
browser: 'browser',
|
138
|
+
websql: 'websql',
|
139
|
+
_browser: '.browser',
|
140
|
+
module: 'module',
|
141
|
+
backup: 'backup',
|
142
|
+
node_modules: 'node_modules',
|
143
|
+
client: 'client',
|
144
|
+
tnp_tests_context: 'tmp-tests-context',
|
145
|
+
tmpPackage: 'tmp-package',
|
146
|
+
tmpScenarios: 'tmp-scenarios',
|
147
|
+
tmpTestsEnvironments: 'tmp-tests-environments',
|
148
|
+
testsEnvironments: 'tests-environments',
|
149
|
+
};
|
150
|
+
const stylesFilesExtension = [
|
151
|
+
'css',
|
152
|
+
'sass',
|
153
|
+
'scss',
|
154
|
+
'less',
|
155
|
+
];
|
156
|
+
const folder = {
|
157
|
+
scripts: 'scripts',
|
158
|
+
scenarios: 'scenarios',
|
159
|
+
bower: 'bower',
|
160
|
+
src: 'src',
|
161
|
+
out: 'out',
|
162
|
+
lib: 'lib',
|
163
|
+
custom: 'custom',
|
164
|
+
components: 'components',
|
165
|
+
assets: 'assets',
|
166
|
+
apps: 'apps',
|
167
|
+
// entities: 'entities',
|
168
|
+
// controllers: 'controllers',
|
169
|
+
// projects: 'projects',
|
170
|
+
workspace: 'workspace',
|
171
|
+
container: 'container',
|
172
|
+
bin: 'bin',
|
173
|
+
_bin: '.bin',
|
174
|
+
_vscode: '.vscode',
|
175
|
+
project: 'project',
|
176
|
+
external: 'external',
|
177
|
+
tmpDist: 'tmp-dist',
|
178
|
+
tmpFor(d) {
|
179
|
+
return `tmp-src-${d}`;
|
180
|
+
},
|
181
|
+
targetProjects: {
|
182
|
+
DEFAULT_PATH_GENERATED: 'tmp-target-projects/generated',
|
183
|
+
DEFAULT_PATH_ORIGINS: 'tmp-target-projects/origins',
|
184
|
+
},
|
185
|
+
...tempFolders
|
186
|
+
};
|
187
|
+
// @LAST RESOLVE TNP LOCATION !!! for each context and RELEASE TNP-CONFIG
|
188
|
+
let dirnameForTnp;
|
189
|
+
/* */
|
190
|
+
/* */
|
191
|
+
const firedevProjectsRelative = `../firedev-projects`;
|
192
|
+
/* */
|
193
|
+
/* */
|
194
|
+
/* */
|
195
|
+
/* */
|
196
|
+
/* */
|
197
|
+
/* */
|
198
|
+
/* */
|
199
|
+
/* */
|
200
|
+
/* */
|
201
|
+
/* */
|
202
|
+
/* */
|
203
|
+
/* */
|
204
|
+
/* */
|
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
|
+
const moduleNameAngularLib = [
|
275
|
+
folder.components,
|
276
|
+
folder.module,
|
277
|
+
folder.dist,
|
278
|
+
folder.browser,
|
279
|
+
];
|
280
|
+
const moduleNameIsomorphicLib = [
|
281
|
+
folder.src,
|
282
|
+
folder.dist,
|
283
|
+
folder.browser,
|
284
|
+
];
|
285
|
+
const argsReplacementsBuild = {
|
286
|
+
// SHORTCUTS
|
287
|
+
'ba': 'build:app',
|
288
|
+
'baw': 'build:app:watch',
|
289
|
+
'bw': 'build:watch',
|
290
|
+
'bap': 'build:app:prod',
|
291
|
+
'bapw': 'build:app:prod:watch',
|
292
|
+
// (dist)app build for normal development - watch is ng serve
|
293
|
+
'bda': 'build:dist:app',
|
294
|
+
'bdaw': 'build:dist:app:watch',
|
295
|
+
// (dist)app build for normal development (PRODUCTION MINIFIED CODE)
|
296
|
+
'badpw': 'build:app:dist:prod:watch',
|
297
|
+
'badp': 'build:app:dist:prod',
|
298
|
+
// (dist)lib build - watch is ng build
|
299
|
+
'bd': 'build:dist', 'bdw': 'build:dist:watch',
|
300
|
+
// (dist)lib build - watch is ng build (PRODUCTION MINIFIED CODE)
|
301
|
+
'bdp': 'build:dist:prod', 'bdpw': 'build:dist:prod:watch',
|
302
|
+
// (bundle)app build for static code (firedev plugins, project final code, etc.)
|
303
|
+
'bba': 'build:bundle:app', 'bbaw': 'build:bundle:app:watch',
|
304
|
+
// (bunle)lib build for static code (firedev plugins, project final code, etc.)
|
305
|
+
'bb': 'build:bundle', 'bbw': 'build:bundle:watch',
|
306
|
+
// (bunle)lib build for static code with ng build (PRODUCTION MINIFIED CODE)
|
307
|
+
'bbp': 'build:bundle:prod', 'bbpw': 'build:bundle:prod:watch',
|
308
|
+
'sb': 'static:build',
|
309
|
+
'sbp': 'static:build:prod',
|
310
|
+
'sbd': 'static:build:dist',
|
311
|
+
'sbl': 'static:build:lib',
|
312
|
+
'sba': 'static:build:app',
|
313
|
+
'cb': 'clean:build'
|
314
|
+
};
|
315
|
+
const argsReplacementsOther = {
|
316
|
+
// github docs
|
317
|
+
'ghpush': 'githubpush',
|
318
|
+
'ghpull': 'githubpull',
|
319
|
+
// last
|
320
|
+
'l': 'last',
|
321
|
+
'sl': 'show:last',
|
322
|
+
'lb': 'last:build',
|
323
|
+
// install
|
324
|
+
'i': 'install',
|
325
|
+
'si': 'sinstall',
|
326
|
+
'il': 'install:locally',
|
327
|
+
'rc': 'recommit',
|
328
|
+
// release
|
329
|
+
'rp': 'release:prod',
|
330
|
+
'r': 'release',
|
331
|
+
'rm': 'release:major',
|
332
|
+
'ra': 'release:all',
|
333
|
+
'ar': 'auto:release',
|
334
|
+
// versopm
|
335
|
+
'--version': 'version',
|
336
|
+
'-v': 'version',
|
337
|
+
// open
|
338
|
+
'occ': 'open:core:container',
|
339
|
+
'ocp': 'open:core:project',
|
340
|
+
// test
|
341
|
+
'twd': 'test:watch:debug',
|
342
|
+
'tdw': 'test:watch:debug',
|
343
|
+
'tw': 'test:watch',
|
344
|
+
'td': 'test:debug',
|
345
|
+
't': 'test',
|
346
|
+
// git push
|
347
|
+
'pt': 'push:tag',
|
348
|
+
'p': 'push',
|
349
|
+
'pa': 'pushalll',
|
350
|
+
// other
|
351
|
+
'sj': 'select:java',
|
352
|
+
'scm': 'showcoremodules',
|
353
|
+
'tpu': 'target:proj:update',
|
354
|
+
'ugd': 'update:global:deps',
|
355
|
+
'ud': 'update:deps',
|
356
|
+
'dgl': 'detect:global:libs',
|
357
|
+
'pr': 'print:relatives',
|
358
|
+
};
|
359
|
+
const areTrustedForPatchUpdate = [
|
360
|
+
'@angular',
|
361
|
+
'@ngrx',
|
362
|
+
'rxjs',
|
363
|
+
'zone.js',
|
364
|
+
'tslib',
|
365
|
+
'typescript',
|
366
|
+
'webpack'
|
367
|
+
];
|
368
|
+
export const config = {
|
369
|
+
packagesThat: {
|
370
|
+
areTrustedForPatchUpdate,
|
371
|
+
},
|
372
|
+
/* */
|
373
|
+
/* */
|
374
|
+
/* */
|
375
|
+
/* */
|
376
|
+
/* */
|
377
|
+
/* */
|
378
|
+
/* */
|
379
|
+
/* */
|
380
|
+
/* */
|
381
|
+
/* */
|
382
|
+
coreProjectVersions: ['v1', 'v2', 'v3'],
|
383
|
+
quickFixes: {
|
384
|
+
missingLibs: [
|
385
|
+
'react-native-sqlite-storage'
|
386
|
+
]
|
387
|
+
},
|
388
|
+
packageJsonSplit,
|
389
|
+
regexString: {
|
390
|
+
pathPartStringRegex: `(\/([a-zA-Z0-9]|\\-|\\_|\\+|\\.)*)`
|
391
|
+
},
|
392
|
+
placeholders: {
|
393
|
+
forProjectsInEnvironmentFile: '//<PLACEHOLDER_FOR_PROJECTS>'
|
394
|
+
},
|
395
|
+
array: {
|
396
|
+
isomorphicPackages: 'isomorphicPackages'
|
397
|
+
},
|
398
|
+
defaultFrameworkVersion: 'v3',
|
399
|
+
CONST: {
|
400
|
+
UNIT_TEST_TIMEOUT: 30000,
|
401
|
+
INTEGRATION_TEST: 30000,
|
402
|
+
BACKEND_HTTP_REQUEST_TIMEOUT: 3000,
|
403
|
+
},
|
404
|
+
debug: {
|
405
|
+
sourceModifier: [],
|
406
|
+
baselineSiteJoin: {
|
407
|
+
DEBUG_PATHES: [
|
408
|
+
// "src/apps/auth/AuthController.ts",
|
409
|
+
// '/src/app/+preview-components/preview-components.component.ts',
|
410
|
+
// '/src/controllers.ts',
|
411
|
+
// '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
|
412
|
+
],
|
413
|
+
DEBUG_MERGE_PATHES: [
|
414
|
+
// "src/apps/auth/AuthController.ts",
|
415
|
+
// '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
|
416
|
+
// '/components/formly/base-components/editor/editor-wrapper.component.ts'
|
417
|
+
// '/src/app/+preview-components/components/+preview-buildtnpprocess/preview-buildtnpprocess.component.ts'
|
418
|
+
]
|
419
|
+
}
|
420
|
+
},
|
421
|
+
/* */
|
422
|
+
/* */
|
423
|
+
frameworkNames: {
|
424
|
+
tnp: 'tnp',
|
425
|
+
firedev: 'firedev'
|
426
|
+
},
|
427
|
+
startPort: 6001,
|
428
|
+
frameworks: ['bootstrap', 'ionic', 'material'],
|
429
|
+
/* */
|
430
|
+
/* */
|
431
|
+
/* */
|
432
|
+
/* */
|
433
|
+
/* */
|
434
|
+
/* */
|
435
|
+
/* */
|
436
|
+
/* */
|
437
|
+
/* */
|
438
|
+
/* */
|
439
|
+
/* */
|
440
|
+
/* */
|
441
|
+
/* */
|
442
|
+
/* */
|
443
|
+
/* */
|
444
|
+
/* */
|
445
|
+
/* */
|
446
|
+
/* */
|
447
|
+
/* */
|
448
|
+
/* */
|
449
|
+
/* */
|
450
|
+
/* */
|
451
|
+
/* */
|
452
|
+
/* */
|
453
|
+
/* */
|
454
|
+
/* */
|
455
|
+
/* */
|
456
|
+
/* */
|
457
|
+
/* */
|
458
|
+
/* */
|
459
|
+
/* */
|
460
|
+
/* */
|
461
|
+
/* */
|
462
|
+
/* */
|
463
|
+
/* */
|
464
|
+
/* */
|
465
|
+
/* */
|
466
|
+
/* */
|
467
|
+
/* */
|
468
|
+
/* */
|
469
|
+
/* */
|
470
|
+
/* */
|
471
|
+
/* */
|
472
|
+
/* */
|
473
|
+
/* */
|
474
|
+
/* */
|
475
|
+
/* */
|
476
|
+
/* */
|
477
|
+
/* */
|
478
|
+
/* */
|
479
|
+
/* */
|
480
|
+
/* */
|
481
|
+
/* */
|
482
|
+
/* */
|
483
|
+
/* */
|
484
|
+
/* */
|
485
|
+
/* */
|
486
|
+
/* */
|
487
|
+
/* */
|
488
|
+
/* */
|
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
|
+
allowedEnvironments,
|
528
|
+
folder,
|
529
|
+
tempFolders,
|
530
|
+
// @ts-ignore
|
531
|
+
filesNotAllowedToClean: Object.keys(filesNotAllowedToClean).map(key => filesNotAllowedToClean[key]),
|
532
|
+
file,
|
533
|
+
default: {
|
534
|
+
cloud: {
|
535
|
+
environment: {
|
536
|
+
name: 'online'
|
537
|
+
}
|
538
|
+
}
|
539
|
+
},
|
540
|
+
SUBERIZED_PREFIX: `---stuberized`,
|
541
|
+
names: {
|
542
|
+
env: allowedEnvironmentsObj,
|
543
|
+
baseline: 'baseline',
|
544
|
+
defaultServer: 'default server',
|
545
|
+
},
|
546
|
+
reservedArgumentsNamesUglify: [
|
547
|
+
'reservedExpOne',
|
548
|
+
'reservedExpSec'
|
549
|
+
],
|
550
|
+
extensions: {
|
551
|
+
/**
|
552
|
+
* Modify source: import,export, requires
|
553
|
+
*/
|
554
|
+
get modificableByReplaceFn() {
|
555
|
+
return [
|
556
|
+
'ts',
|
557
|
+
'js',
|
558
|
+
...stylesFilesExtension,
|
559
|
+
].map(f => `.${f}`);
|
560
|
+
},
|
561
|
+
},
|
562
|
+
notFiredevProjects: [
|
563
|
+
'unknow', 'unknow-npm-project', 'scenario', 'navi'
|
564
|
+
],
|
565
|
+
/**
|
566
|
+
* Build allowed types
|
567
|
+
*/
|
568
|
+
allowedTypes: {
|
569
|
+
/**
|
570
|
+
* Projects for build:app:watch command
|
571
|
+
*/
|
572
|
+
app: [
|
573
|
+
GlobalLibTypeName.angularClient,
|
574
|
+
GlobalLibTypeName.angularLib,
|
575
|
+
GlobalLibTypeName.isomorphicLib,
|
576
|
+
GlobalLibTypeName.ionicClient,
|
577
|
+
GlobalLibTypeName.docker,
|
578
|
+
GlobalLibTypeName.container,
|
579
|
+
GlobalLibTypeName.vscodeExt,
|
580
|
+
],
|
581
|
+
/**
|
582
|
+
* Projects for build:(dist|bundle):(watch) command
|
583
|
+
*/
|
584
|
+
libs: [
|
585
|
+
GlobalLibTypeName.angularLib,
|
586
|
+
GlobalLibTypeName.isomorphicLib,
|
587
|
+
GlobalLibTypeName.workspace,
|
588
|
+
GlobalLibTypeName.container,
|
589
|
+
GlobalLibTypeName.docker,
|
590
|
+
GlobalLibTypeName.vscodeExt,
|
591
|
+
]
|
592
|
+
},
|
593
|
+
moduleNameAngularLib,
|
594
|
+
moduleNameIsomorphicLib,
|
595
|
+
filesExtensions: {
|
596
|
+
filetemplate: 'filetemplate',
|
597
|
+
styles: stylesFilesExtension,
|
598
|
+
},
|
599
|
+
projectTypes: {
|
600
|
+
forNpmLibs: [
|
601
|
+
GlobalLibTypeName.angularLib,
|
602
|
+
GlobalLibTypeName.isomorphicLib,
|
603
|
+
],
|
604
|
+
with: {
|
605
|
+
angularAsCore: [
|
606
|
+
GlobalLibTypeName.angularClient,
|
607
|
+
GlobalLibTypeName.angularLib,
|
608
|
+
GlobalLibTypeName.ionicClient,
|
609
|
+
],
|
610
|
+
componetsAsSrc: [
|
611
|
+
GlobalLibTypeName.angularLib,
|
612
|
+
],
|
613
|
+
}
|
614
|
+
},
|
615
|
+
// environmentName,
|
616
|
+
localLibs: [
|
617
|
+
'eslint',
|
618
|
+
'mkdirp',
|
619
|
+
'gulp',
|
620
|
+
'npm-run',
|
621
|
+
'rimraf',
|
622
|
+
'nodemon',
|
623
|
+
'release-it',
|
624
|
+
'tsc',
|
625
|
+
'watch',
|
626
|
+
'http-server',
|
627
|
+
'ts-node',
|
628
|
+
'sort-package-json',
|
629
|
+
'concurrently',
|
630
|
+
'sloc',
|
631
|
+
'morphi'
|
632
|
+
],
|
633
|
+
helpAlias: [
|
634
|
+
'-h',
|
635
|
+
'--help',
|
636
|
+
'-help',
|
637
|
+
'help'
|
638
|
+
],
|
639
|
+
required: {
|
640
|
+
npm: [
|
641
|
+
{ name: '@angular/cli', version: '13' },
|
642
|
+
{ name: 'extract-zip', version: '1.6.7' },
|
643
|
+
{ name: 'watch', version: '1.0.2' },
|
644
|
+
{ name: 'cpr' },
|
645
|
+
{ name: 'check-node-version' },
|
646
|
+
{ name: 'npm-run', version: '4.1.2' },
|
647
|
+
{ name: 'rimraf' },
|
648
|
+
{ name: 'mkdirp' },
|
649
|
+
{ name: 'renamer', version: '2.0.1' },
|
650
|
+
{ name: 'nodemon' },
|
651
|
+
{ name: 'madge' },
|
652
|
+
{ name: 'yarn' },
|
653
|
+
{ name: 'http-server' },
|
654
|
+
{ name: 'increase-memory-limit' },
|
655
|
+
{ name: 'bower' },
|
656
|
+
{ name: 'fkill', installName: 'fkill-cli' },
|
657
|
+
// { name: 'yo' },
|
658
|
+
{ name: 'mocha' },
|
659
|
+
// { name: 'chai' },
|
660
|
+
{ name: 'ts-node' },
|
661
|
+
{ name: 'vsce' },
|
662
|
+
// { name: 'stmux' },
|
663
|
+
{ name: 'webpack-bundle-analyzer' },
|
664
|
+
// { name: 'ng', installName: '@angular/cli' },
|
665
|
+
// { name: 'ngx-pwa-icons', version: '0.1.2' },
|
666
|
+
// { name: 'real-favicon', installName: 'cli-real-favicon' },
|
667
|
+
{ name: 'babel', installName: 'babel-cli' },
|
668
|
+
{ name: 'javascript-obfuscator', version: '4' },
|
669
|
+
{ name: 'uglifyjs', installName: 'uglify-js' },
|
670
|
+
],
|
671
|
+
niceTools: [
|
672
|
+
{ name: 'speed-test' },
|
673
|
+
{ name: 'npm-name' },
|
674
|
+
{ name: 'vantage', platform: 'linux' },
|
675
|
+
{ name: 'clinic', platform: 'linux' },
|
676
|
+
{ name: 'vtop', platform: 'linux' },
|
677
|
+
{ name: 'public-ip' },
|
678
|
+
{ name: 'empty-trash' },
|
679
|
+
{ name: 'is-up' },
|
680
|
+
{ name: 'is-online' },
|
681
|
+
{ name: 'ttystudio' },
|
682
|
+
{ name: 'bcat' },
|
683
|
+
{ name: 'wifi-password', installName: 'wifi-password-cli' },
|
684
|
+
{ name: 'wallpaper', installName: 'wallpaper-cli' },
|
685
|
+
{ name: 'brightness', installName: 'brightness-cli' },
|
686
|
+
{ name: 'subdownloader' },
|
687
|
+
{ name: 'rtail' },
|
688
|
+
{ name: 'iponmap' },
|
689
|
+
{ name: 'jsome' },
|
690
|
+
{ name: 'drawille', isNotCli: true },
|
691
|
+
{ name: 'columnify', isNotCli: true },
|
692
|
+
{ name: 'multispinner', isNotCli: true },
|
693
|
+
{ name: 'cfonts' }, // draw super nice fonts in console
|
694
|
+
],
|
695
|
+
programs: [,
|
696
|
+
{
|
697
|
+
name: 'code',
|
698
|
+
website: 'https://code.visualstudio.com/'
|
699
|
+
}
|
700
|
+
]
|
701
|
+
}
|
702
|
+
};
|
703
|
+
// export const GlobalIsomorphicDependencies: ConfigModels.GlobalDependencies = {
|
704
|
+
// npm: [
|
705
|
+
// { name: 'rimraf' },
|
706
|
+
// { name: 'npm-run', version: '4.1.2' },
|
707
|
+
// { name: 'cpr' },
|
708
|
+
// { name: 'check-node-version' },
|
709
|
+
// { name: 'vsce' },
|
710
|
+
// ],
|
711
|
+
// programs: [
|
712
|
+
// // {
|
713
|
+
// // name: 'code',
|
714
|
+
// // website: 'https://code.visualstudio.com/'
|
715
|
+
// // }
|
716
|
+
// ] as { name: string; website: string }[]
|
717
|
+
// };
|
718
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdG5wLWNvbmZpZy9wcm9qZWN0cy90bnAtY29uZmlnL3NyYy9saWIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLFdBQVcsSUFBSSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXdFekQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixVQUFVLEVBQUUsYUFBYTtJQUN6QixjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsU0FBUyxFQUFFLFdBQVc7SUFDdEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsZ0JBQWdCLEVBQUUsb0JBQW9CO0lBQ3RDLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLGlCQUFpQixFQUFFLHFCQUFxQjtJQUN4QyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTJCO0lBQ2hELGlCQUFpQixDQUFDLFVBQVU7SUFDNUIsaUJBQWlCLENBQUMsYUFBYTtJQUMvQixpQkFBaUIsQ0FBQyxhQUFhO0lBQy9CLGlCQUFpQixDQUFDLFdBQVc7SUFDN0IsaUJBQWlCLENBQUMsY0FBYztJQUNoQyxpQkFBaUIsQ0FBQyxTQUFTO0lBQzNCLGlCQUFpQixDQUFDLFNBQVM7SUFDM0IsaUJBQWlCLENBQUMsTUFBTTtJQUN4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RUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ2hCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7WUFDM0QsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUU7WUFDbkQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRTtZQUNyRCxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDekIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2pCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNuQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDakIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDcEMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDckMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDeEMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsbUNBQW1DO1NBQ3hEO1FBQ0QsUUFBUSxFQUFFLENBQUM7WUFDVDtnQkFDRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsZ0NBQWdDO2FBQzFDO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFJRixpRkFBaUY7QUFDakYsV0FBVztBQUNYLDBCQUEwQjtBQUMxQiw2Q0FBNkM7QUFDN0MsdUJBQXVCO0FBQ3ZCLHNDQUFzQztBQUN0Qyx3QkFBd0I7QUFDeEIsT0FBTztBQUNQLGdCQUFnQjtBQUNoQixXQUFXO0FBQ1gseUJBQXlCO0FBQ3pCLHFEQUFxRDtBQUNyRCxXQUFXO0FBQ1gsNkNBQTZDO0FBQzdDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERhcml1c3ogRmlsaXBpYWtcbiAqIEBhdXRob3IgZGFyZWtmNzdAZ21haWwuY29tXG4gKiBSZWNvbW1lbmRlZCBjb25maWcgZm9yIGFsbCBpc29tb3JwaGljIGxpYnMgKlxuICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuZXhwb3J0IHsgQ29yZUhlbHBlcnMgYXMgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5cbi8vI3JlZ2lvbiBjb25maWcgbW9kZWxzXG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlnTW9kZWxzIHtcbiAgZXhwb3J0IHR5cGUgRW52aXJvbm1lbnROYW1lID0gJ2xvY2FsJyB8ICdzdGF0aWMnIHwgJ2RldicgfCAnc3RhZ2UnIHwgJ3Byb2QnIHwgJ29ubGluZScgfCAndGVzdCcgfCAncWEnIHwgJ2N1c3RvbSc7XG4gIGV4cG9ydCB0eXBlIFVJRnJhbWV3b3JrID0gJ2Jvb3RzdHJhcCcgfCAnbWF0ZXJpYWwnIHwgJ2lvbmljJztcbiAgZXhwb3J0IHR5cGUgRnJhbWV3b3JrVmVyc2lvbiA9ICd2MScgfCAndjInIHwgJ3YzJztcbiAgZXhwb3J0IHR5cGUgQ3V0YWJsZUZpbGVFeHQgPSAnc2NzcycgfCAnY3NzJyB8ICdzYXNzJyB8ICdodG1sJyB8ICd0cyc7XG4gIGV4cG9ydCB0eXBlIEltYWdlRmlsZUV4dGVuc2lvbiA9ICdqcGcnIHwgJ2pwZWcnIHwgJ3BuZycgfCAnc3ZnJztcbiAgZXhwb3J0IHR5cGUgRmlsZUV4dGVuc2lvbiA9ICd0cycgfCAnanMnIHwgJ2pzb24nIHwgJ2h0bWwnIHwgSW1hZ2VGaWxlRXh0ZW5zaW9uIHwgJ3R4dCcgfCBDdXRhYmxlRmlsZUV4dDtcblxuXG4gIGV4cG9ydCB0eXBlIEh0dHBNZXRob2QgPSAnZ2V0JyB8ICdwb3N0JyB8ICdwdXQnIHwgJ2RlbGV0ZScgfCAncGF0Y2gnIHwgJ2hlYWQnIHwgJ2pzb25wJztcbiAgZXhwb3J0IHR5cGUgUGFyYW1UeXBlID0gJ1BhdGgnIHwgJ1F1ZXJ5JyB8ICdDb29raWUnIHwgJ0hlYWRlcicgfCAnQm9keSc7XG4gIGV4cG9ydCB0eXBlIFRzVXNhZ2UgPSAnaW1wb3J0JyB8ICdleHBvcnQnO1xuXG4gIGV4cG9ydCB0eXBlIExpYlR5cGUgPSAndW5rbm93J1xuICAgIHwgJ2lzb21vcnBoaWMtbGliJ1xuICAgIHwgJ2FuZ3VsYXItbGliJyAvLyBodHRwczovL2NsaS5hbmd1bGFyLmlvL1xuICAgIHwgJ2VsZWN0cm9uLWNsaWVudCcgLy8gaHR0cHM6Ly9naXRodWIuY29tL21heGltZWdyaXMvYW5ndWxhci1lbGVjdHJvblxuICAgIHwgJ2lvbmljLWxpYidcbiAgICB8ICdhbmd1bGFyLWNsaWVudCdcbiAgICB8ICdpb25pYy1jbGllbnQnXG4gICAgfCAnd29ya3NwYWNlJ1xuICAgIHwgJ2NvbnRhaW5lcidcbiAgICB8ICdkb2NrZXInXG4gICAgfCAndnNjb2RlLWV4dCdcbiAgICB8ICdjaHJvbWUtZXh0J1xuICAgIHwgJ3Vua25vdy1ucG0tcHJvamVjdCdcbiAgICB8ICdzY2VuYXJpbydcbiAgICB8ICduYXZpJ1xuICAgIHwgJ2xlYWYnXG4gICAgfCAnZ2FtZS1lbmdpbmUtbGliLXBpeGknIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpanMvcGl4aS5qc1xuICAgIHwgJ2dhbWUtZW5naW5lLWxpYi1waGFzZXInIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waG90b25zdG9ybS9waGFzZXJcbiAgICB8ICdnYW1lLWVuZ2luZS1saWItZXhjYWxpYnVyJyAvLyBodHRwczovL2dpdGh1Yi5jb20vZXhjYWxpYnVyanMvRXhjYWxpYnVyXG4gICAgfCAnZ2FtZS1lbmdpbmUtbGliLWJhYnlsb24nIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9CYWJ5bG9uSlMvQmFieWxvbi5qc1xuICAgIDtcblxuICBleHBvcnQgdHlwZSBOZXdGYWN0b3J5VHlwZSA9IExpYlR5cGUgfCAnbW9kZWwnIHwgJ3NpbmdsZS1maWxlLXByb2plY3QnO1xuICBleHBvcnQgdHlwZSBDb3JlTGliQ2F0ZWdvcnkgPSBMaWJUeXBlIHwgJ2NvbW1vbic7XG4gIGV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb24ge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFNpemUge1xuICAgIHc6IG51bWJlcjtcbiAgICBoOiBudW1iZXI7XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsTnBtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nOyBpbnN0YWxsTmFtZT86IHN0cmluZzsgdmVyc2lvbj86IHN0cmluZyB8IG51bWJlcjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29tbWFuZExpbmVQcm9ncmFtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nOyB3ZWJzaXRlOiBzdHJpbmc7IHZlcnNpb24/OiBzdHJpbmc7XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBHbG9iYWxEZXBlbmRlbmNpZXMge1xuICAgIG5wbT86IEdsb2JhbE5wbURlcGVuZGVuY3lbXTtcbiAgICBwcm9ncmFtcz86IEdsb2JhbENvbW1hbmRMaW5lUHJvZ3JhbURlcGVuZGVuY3lbXTtcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIEZpbGVFdmVudCA9ICdjcmVhdGVkJyB8ICdjaGFuZ2VkJyB8ICdyZW1vdmVkJyB8ICdyZW5hbWUnO1xuICBleHBvcnQgdHlwZSBPdXRGb2xkZXIgPSAnZGlzdCcgfCAnYnVuZGxlJyB8ICdicm93c2VyJztcbiAgZXhwb3J0IHR5cGUgRm9ybWx5SW5wdXRUeXBlID0gJ2lucHV0JyB8ICdzd2l0Y2gnIHwgJ2RhdGVwaWNrZXInIHwgJ3JlcGVhdCcgfCAnZ3JvdXAnO1xuICBleHBvcnQgdHlwZSBEYXRhYmFzZVR5cGUgPSAnYmV0dGVyLXNxbGl0ZTMnIHwgJ3NxbGl0ZScgfCAnbXlzcWwnO1xuXG59XG5cblxuZXhwb3J0IGNvbnN0IEdsb2JhbExpYlR5cGVOYW1lID0ge1xuICBpc29tb3JwaGljTGliOiAnaXNvbW9ycGhpYy1saWInLFxuICBhbmd1bGFyTGliOiAnYW5ndWxhci1saWInLFxuICBlbGVjdHJvbkNsaWVudDogJ2VsZWN0cm9uLWNsaWVudCcsXG4gIGlvbmljTGliOiAnaW9uaWMtbGliJyxcbiAgYW5ndWxhckNsaWVudDogJ2FuZ3VsYXItY2xpZW50JyxcbiAgaW9uaWNDbGllbnQ6ICdpb25pYy1jbGllbnQnLFxuICB3b3Jrc3BhY2U6ICd3b3Jrc3BhY2UnLFxuICBjb250YWluZXI6ICdjb250YWluZXInLFxuICBkb2NrZXI6ICdkb2NrZXInLFxuICB1bmtub3dOcG1Qcm9qZWN0OiAndW5rbm93LW5wbS1wcm9qZWN0JyxcbiAgdnNjb2RlRXh0OiAndnNjb2RlLWV4dCcsXG4gIGNocm9tZUV4dDogJ2Nocm9tZS1leHQnLFxuICBzaW5nbGVGaWxlUHJvamVjdDogJ3NpbmdsZS1maWxlLXByb2plY3QnLFxuICBuYXZpOiAnbmF2aScsXG4gIHNjZW5hcmlvOiAnc2NlbmFyaW8nXG59O1xuXG5leHBvcnQgY29uc3QgTGliVHlwZUFycjogQ29uZmlnTW9kZWxzLkxpYlR5cGVbXSA9IFtcbiAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckxpYixcbiAgR2xvYmFsTGliVHlwZU5hbWUuaXNvbW9ycGhpY0xpYixcbiAgR2xvYmFsTGliVHlwZU5hbWUuYW5ndWxhckNsaWVudCxcbiAgR2xvYmFsTGliVHlwZU5hbWUuaW9uaWNDbGllbnQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmVsZWN0cm9uQ2xpZW50LFxuICBHbG9iYWxMaWJUeXBlTmFtZS53b3Jrc3BhY2UsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmNvbnRhaW5lcixcbiAgR2xvYmFsTGliVHlwZU5hbWUuZG9ja2VyLFxuICBHbG9iYWxMaWJUeXBlTmFtZS51bmtub3dOcG1Qcm9qZWN0LFxuICBHbG9iYWxMaWJUeXBlTmFtZS52c2NvZGVFeHQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmNocm9tZUV4dCxcbiAgR2xvYmFsTGliVHlwZU5hbWUubmF2aSxcbiAgR2xvYmFsTGliVHlwZU5hbWUuc2NlbmFyaW8sXG5dIGFzIENvbmZpZ01vZGVscy5MaWJUeXBlW107XG5cblxuZXhwb3J0IGNvbnN0IENvcmVMaWJDYXRlZ29yeUFycjogQ29uZmlnTW9kZWxzLkNvcmVMaWJDYXRlZ29yeVtdID0gWyAvLyBUT0RPIHRoaXMgaXMgZm9yIHdoYXQgP1xuICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyTGliLFxuICBHbG9iYWxMaWJUeXBlTmFtZS5pc29tb3JwaGljTGliLFxuICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyQ2xpZW50LFxuICBHbG9iYWxMaWJUeXBlTmFtZS5lbGVjdHJvbkNsaWVudCxcbiAgR2xvYmFsTGliVHlwZU5hbWUuaW9uaWNDbGllbnQsXG4gIEdsb2JhbExpYlR5cGVOYW1lLmRvY2tlcixcbiAgJ2NvbW1vbidcbl0gYXMgQ29uZmlnTW9kZWxzLkNvcmVMaWJDYXRlZ29yeVtdO1xuXG4vLyNlbmRyZWdpb25cblxuXG5cbmNvbnN0IGFsbG93ZWRFbnZpcm9ubWVudHM6IENvbmZpZ01vZGVscy5FbnZpcm9ubWVudE5hbWVbXSA9IFsnc3RhdGljJywgJ2RldicsICdwcm9kJywgJ3N0YWdlJywgJ29ubGluZScsICd0ZXN0JywgJ3FhJywgJ2N1c3RvbSddO1xuY29uc3QgYWxsb3dlZEVudmlyb25tZW50c09iaiA9IHt9O1xuYWxsb3dlZEVudmlyb25tZW50cy5mb3JFYWNoKHMgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIGFsbG93ZWRFbnZpcm9ubWVudHNPYmpbc10gPSBzO1xufSk7XG5cbmNvbnN0IGZpcmVkZXYgPSAnZmlyZWRldic7XG5jb25zdCBtb3JwaGkgPSAnbW9ycGhpJztcbi8qICovXG4vKiAqL1xuICBcbmNvbnN0IHVybE1vcnBoaSA9ICdodHRwczovL2dpdGh1Yi5jb20vZGFyZWtmNzcvbW9ycGhpLmdpdCc7XG5cbmNvbnN0IGZpbGVzTm90QWxsb3dlZFRvQ2xlYW4gPSB7XG4gIF9naXRpZ25vcmU6ICcuZ2l0aWdub3JlJyxcbiAgX25wbXJjOiAnLm5wbXJjJyxcbiAgX25wbWlnbm9yZTogJy5ucG1pZ25vcmUnLFxuICB0c2xpbnRfanNvbjogJ3RzbGludC5qc29uJyxcbiAgX2VkaXRvcmNvbmZpZzogJy5lZGl0b3Jjb25maWcnLFxuICBfYW5ndWxhckNsaV9qc29uOiAnLmFuZ3VsYXItY2xpLmpzb24nLFxuICBfdnNjb2RlX2xhdW5jaF9qc29uOiAnLnZzY29kZS9sYXVuY2guanNvbicsXG59O1xuXG5jb25zdCBmaWxlID0ge1xuICBfYm93ZXJyYzogJy5ib3dlcnJjJyxcbiAgYm93ZXJfanNvbjogJ2Jvd2VyLmpzb24nLFxuICBjb250cm9sbGVyc190czogJ2NvbnRyb2xsZXJzLnRzJyxcbiAgZW50aXRpZXNfdHM6ICdlbnRpdGllcy50cycsXG4gIGFuZ3VsYXJfanNvbjogJ2FuZ3VsYXIuanNvbicsXG4gIGF1dG9iX2FjdGlvbnNfanM6ICdhdXRvLWFjdGlvbnMuanMnLFxuICBsb2NhbF9jb25maWdfanM6ICdsb2NhbC1jb25maWcuanMnLFxuICBidWlsZF9jb25maWdfanM6ICdidWlsZC1jb25maWcuanMnLFxuICBsb2NhbF9jb25maWc6ICdsb2NhbC1jb25maWcnLFxuICBzdGFydF9iYWNrZW5kX3RzOiAnc3RhcnQuYmFja2VuZC50cycsXG4gIHBhY2thZ2VfanNvbjogJ3BhY2thZ2UuanNvbicsXG4gIHJlc3VsdF9wYWNrYWdlc19qc29uOiAncmVzdWx0LXBhY2thZ2VzLmpzb24nLFxuICBwYWNrYWdlX2pzb241OiAncGFja2FnZS5qc29uNScsXG4gIHBhY2thZ2VfanNvbl9fdG5wX2pzb246ICdwYWNrYWdlLmpzb25fdG5wLmpzb24nLFxuICBwYWNrYWdlX2pzb25fX3RucF9qc29uNTogJ3BhY2thZ2UuanNvbl90bnAuanNvbjUnLFxuICBwYWNrYWdlX2pzb25fX2RldkRlcGVuZGVuY2llc19qc29uOiAncGFja2FnZS5qc29uX2RldkRlcGVuZGVuY2llcy5qc29uJyxcbiAgeWFybl9sb2NrOiAneWFybi5sb2NrJyxcbiAgcGFja2FnZV9sb2NrX2pzb246ICdwYWNrYWdlLWxvY2suanNvbicsXG4gIHRucEVudmlyb25tZW50X2pzb246ICd0bXAtZW52aXJvbm1lbnQuanNvbicsXG4gIGVudmlyb25tZW50OiAnZW52aXJvbm1lbnQnLFxuICBlbnZpcm9ubWVudF9qczogJ2Vudmlyb25tZW50LmpzJyxcbiAgdG1wX3RyYW5zYWN0aW9uX3BpZF90eHQ6ICd0bXAtdHJhbnNhY3Rpb24tcGlkLnR4dCcsXG4gIG1hbmlmZXN0X3dlYm1hbmlmZXN0OiAnbWFuaWZlc3Qud2VibWFuaWZlc3QnLFxuICBwdWJsaWNBcGlfdHM6ICdwdWJsaWNfYXBpLnRzJyxcbiAgcHVibGljQXBpX2RfdHM6ICdwdWJsaWNfYXBpLmQudHMnLFxuICBwdWJsaWNhcGlfdHM6ICdwdWJsaWMtYXBpLnRzJyxcbiAgX2JhYmVscmM6ICcuYmFiZWxyYycsXG4gIGluZGV4X2RfdHM6ICdpbmRleC5kLnRzJyxcbiAgaW5kZXhfdHM6ICdpbmRleC50cycsXG4gIGluZGV4X2pzOiAnaW5kZXguanMnLFxuICBpbmRleF9qc19tYXA6ICdpbmRleC5qcy5tYXAnLFxuICBkYl9qc29uOiAnZGIuanNvbicsXG4gIGRiX2Zvcl90ZXN0c19qc29uOiAnZGItZm9yLXRlc3RzLmpzb24nLFxuICB0bXBEb2NrZXJJbWFnZUlkOiAndG1wLWRvY2tlci1pbWFnZS1pZCcsXG4gIHRtcF9yZWNlbnRfanNvbjogJ3JlY2VudC5qc29uJyxcbiAgdG1wSXNvbW9ycGhpY1BhY2thZ2VzSnNvbjogJ3RtcC1pc29tb3JwaGljLXBhY2thZ2VzLmpzb24nLFxuICB0c2NvbmZpZ19qc29uOiAndHNjb25maWcuanNvbicsXG4gIFJFQURNRV9NRDogJ1JFQURNRS5tZCcsXG4gIHNlcnZlcl9rZXk6ICdzZXJ2ZXIua2V5JyxcbiAgc2VydmVyX2NlcnQ6ICdzZXJ2ZXIuY2VydCcsXG4gIHNlcnZlcl9jaGFpbl9jZXJ0OiAnc2VydmVyLWNoYWluLmNlcnQnLFxuICBtZXRhX2NvbmZpZ19tZDogJ21ldGEtY29udGVudC5tZCcsXG4gIC4uLmZpbGVzTm90QWxsb3dlZFRvQ2xlYW5cbn07XG5cbmNvbnN0IHBhY2thZ2VKc29uU3BsaXQgPSBbXG4gIGZpbGUucGFja2FnZV9qc29uX190bnBfanNvbixcbiAgZmlsZS5wYWNrYWdlX2pzb25fX3RucF9qc29uNSxcbiAgZmlsZS5wYWNrYWdlX2pzb25fX2RldkRlcGVuZGVuY2llc19qc29uLFxuXTtcblxuY29uc3QgdGVtcEZvbGRlcnMgPSB7XG4gIGJ1bmRsZTogJ2J1bmRsZScsXG4gIHZlbmRvcjogJ3ZlbmRvcicsXG4gIGRvY3M6ICdkb2NzJyxcbiAgZGlzdDogJ2Rpc3QnLFxuICB0bXA6ICd0bXAnLFxuICB0bXBCdW5kbGVSZWxlYXNlOiAndG1wLWJ1bmRsZS1yZWxlYXNlJyxcbiAgdGVtcFNyYzogJ3RtcC1zcmMnLFxuICB0ZW1wU3JjRGlzdDogJ3RtcC1zcmMtZGlzdCcsXG4gIHByZXZpZXdEaXN0QXBwOiAnZGlzdC1hcHAnLFxuICBwcmV2aWV3OiAncHJldmlldycsXG4gIGJyb3dzZXI6ICdicm93c2VyJyxcbiAgd2Vic3FsOiAnd2Vic3FsJyxcbiAgX2Jyb3dzZXI6ICcuYnJvd3NlcicsXG4gIG1vZHVsZTogJ21vZHVsZScsXG4gIGJhY2t1cDogJ2JhY2t1cCcsXG4gIG5vZGVfbW9kdWxlczogJ25vZGVfbW9kdWxlcycsXG4gIGNsaWVudDogJ2NsaWVudCcsXG4gIHRucF90ZXN0c19jb250ZXh0OiAndG1wLXRlc3RzLWNvbnRleHQnLFxuICB0bXBQYWNrYWdlOiAndG1wLXBhY2thZ2UnLFxuICB0bXBTY2VuYXJpb3M6ICd0bXAtc2NlbmFyaW9zJyxcbiAgdG1wVGVzdHNFbnZpcm9ubWVudHM6ICd0bXAtdGVzdHMtZW52aXJvbm1lbnRzJyxcbiAgdGVzdHNFbnZpcm9ubWVudHM6ICd0ZXN0cy1lbnZpcm9ubWVudHMnLFxufTtcblxuY29uc3Qgc3R5bGVzRmlsZXNFeHRlbnNpb24gPSBbXG4gICdjc3MnLFxuICAnc2FzcycsXG4gICdzY3NzJyxcbiAgJ2xlc3MnLFxuXTtcblxuY29uc3QgZm9sZGVyID0ge1xuICBzY3JpcHRzOiAnc2NyaXB0cycsXG4gIHNjZW5hcmlvczogJ3NjZW5hcmlvcycsXG4gIGJvd2VyOiAnYm93ZXInLFxuICBzcmM6ICdzcmMnLFxuICBvdXQ6ICdvdXQnLFxuICBsaWI6ICdsaWInLFxuICBjdXN0b206ICdjdXN0b20nLFxuICBjb21wb25lbnRzOiAnY29tcG9uZW50cycsXG4gIGFzc2V0czogJ2Fzc2V0cycsXG4gIGFwcHM6ICdhcHBzJyxcbiAgLy8gZW50aXRpZXM6ICdlbnRpdGllcycsXG4gIC8vIGNvbnRyb2xsZXJzOiAnY29udHJvbGxlcnMnLFxuICAvLyBwcm9qZWN0czogJ3Byb2plY3RzJyxcbiAgd29ya3NwYWNlOiAnd29ya3NwYWNlJyxcbiAgY29udGFpbmVyOiAnY29udGFpbmVyJyxcbiAgYmluOiAnYmluJyxcbiAgX2JpbjogJy5iaW4nLFxuICBfdnNjb2RlOiAnLnZzY29kZScsXG4gIHByb2plY3Q6ICdwcm9qZWN0JyxcbiAgZXh0ZXJuYWw6ICdleHRlcm5hbCcsXG4gIHRtcERpc3Q6ICd0bXAtZGlzdCcsXG4gIHRtcEZvcihkOiBDb25maWdNb2RlbHMuT3V0Rm9sZGVyKSB7XG4gICAgcmV0dXJuIGB0bXAtc3JjLSR7ZH1gO1xuICB9LFxuICB0YXJnZXRQcm9qZWN0czoge1xuICAgIERFRkFVTFRfUEFUSF9HRU5FUkFURUQ6ICd0bXAtdGFyZ2V0LXByb2plY3RzL2dlbmVyYXRlZCcsXG4gICAgREVGQVVMVF9QQVRIX09SSUdJTlM6ICd0bXAtdGFyZ2V0LXByb2plY3RzL29yaWdpbnMnLFxuICB9LFxuICAuLi50ZW1wRm9sZGVyc1xufTtcblxuLy8gQExBU1QgUkVTT0xWRSBUTlAgTE9DQVRJT04gISEhIGZvciBlYWNoIGNvbnRleHQgYW5kIFJFTEVBU0UgVE5QLUNPTkZJR1xubGV0IGRpcm5hbWVGb3JUbnA6IHN0cmluZztcbi8qICovXG4vKiAqL1xuICBcbmNvbnN0IGZpcmVkZXZQcm9qZWN0c1JlbGF0aXZlID0gYC4uL2ZpcmVkZXYtcHJvamVjdHNgO1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuY29uc3QgbW9kdWxlTmFtZUFuZ3VsYXJMaWIgPSBbXG4gIGZvbGRlci5jb21wb25lbnRzLFxuICBmb2xkZXIubW9kdWxlLFxuICBmb2xkZXIuZGlzdCxcbiAgZm9sZGVyLmJyb3dzZXIsXG5dO1xuXG5jb25zdCBtb2R1bGVOYW1lSXNvbW9ycGhpY0xpYiA9IFtcbiAgZm9sZGVyLnNyYyxcbiAgZm9sZGVyLmRpc3QsXG4gIGZvbGRlci5icm93c2VyLFxuXTtcblxuY29uc3QgYXJnc1JlcGxhY2VtZW50c0J1aWxkID0ge1xuICAvLyBTSE9SVENVVFNcbiAgJ2JhJzogJ2J1aWxkOmFwcCcsXG4gICdiYXcnOiAnYnVpbGQ6YXBwOndhdGNoJyxcbiAgJ2J3JzogJ2J1aWxkOndhdGNoJywgLy8gYnVpZCBkaXN0IHdhdGNoIHdpdGggYXV0b21hdGljIGNvbnRhaW5lci9wcmV2aWV3UHJvamVjdHMgcG9wdWlsYXRpb25cbiAgJ2JhcCc6ICdidWlsZDphcHA6cHJvZCcsXG4gICdiYXB3JzogJ2J1aWxkOmFwcDpwcm9kOndhdGNoJyxcblxuICAvLyAoZGlzdClhcHAgYnVpbGQgZm9yIG5vcm1hbCBkZXZlbG9wbWVudCAtIHdhdGNoIGlzIG5nIHNlcnZlXG4gICdiZGEnOiAnYnVpbGQ6ZGlzdDphcHAnLFxuICAnYmRhdyc6ICdidWlsZDpkaXN0OmFwcDp3YXRjaCcsXG5cbiAgLy8gKGRpc3QpYXBwIGJ1aWxkIGZvciBub3JtYWwgZGV2ZWxvcG1lbnQgKFBST0RVQ1RJT04gTUlOSUZJRUQgQ09ERSlcbiAgJ2JhZHB3JzogJ2J1aWxkOmFwcDpkaXN0OnByb2Q6d2F0Y2gnLFxuICAnYmFkcCc6ICdidWlsZDphcHA6ZGlzdDpwcm9kJyxcblxuICAvLyAoZGlzdClsaWIgYnVpbGQgLSB3YXRjaCBpcyBuZyBidWlsZFxuICAnYmQnOiAnYnVpbGQ6ZGlzdCcsICdiZHcnOiAnYnVpbGQ6ZGlzdDp3YXRjaCcsXG4gIC8vIChkaXN0KWxpYiBidWlsZCAtIHdhdGNoIGlzIG5nIGJ1aWxkIChQUk9EVUNUSU9OIE1JTklGSUVEIENPREUpXG4gICdiZHAnOiAnYnVpbGQ6ZGlzdDpwcm9kJywgJ2JkcHcnOiAnYnVpbGQ6ZGlzdDpwcm9kOndhdGNoJyxcblxuICAvLyAoYnVuZGxlKWFwcCBidWlsZCBmb3Igc3RhdGljIGNvZGUgKGZpcmVkZXYgcGx1Z2lucywgcHJvamVjdCBmaW5hbCBjb2RlLCBldGMuKVxuICAnYmJhJzogJ2J1aWxkOmJ1bmRsZTphcHAnLCAnYmJhdyc6ICdidWlsZDpidW5kbGU6YXBwOndhdGNoJyxcbiAgLy8gKGJ1bmxlKWxpYiBidWlsZCBmb3Igc3RhdGljIGNvZGUgKGZpcmVkZXYgcGx1Z2lucywgcHJvamVjdCBmaW5hbCBjb2RlLCBldGMuKVxuICAnYmInOiAnYnVpbGQ6YnVuZGxlJywgJ2Jidyc6ICdidWlsZDpidW5kbGU6d2F0Y2gnLFxuICAvLyAoYnVubGUpbGliIGJ1aWxkIGZvciBzdGF0aWMgY29kZSB3aXRoIG5nIGJ1aWxkIChQUk9EVUNUSU9OIE1JTklGSUVEIENPREUpXG4gICdiYnAnOiAnYnVpbGQ6YnVuZGxlOnByb2QnLCAnYmJwdyc6ICdidWlsZDpidW5kbGU6cHJvZDp3YXRjaCcsXG5cbiAgJ3NiJzogJ3N0YXRpYzpidWlsZCcsXG4gICdzYnAnOiAnc3RhdGljOmJ1aWxkOnByb2QnLFxuICAnc2JkJzogJ3N0YXRpYzpidWlsZDpkaXN0JyxcbiAgJ3NibCc6ICdzdGF0aWM6YnVpbGQ6bGliJyxcbiAgJ3NiYSc6ICdzdGF0aWM6YnVpbGQ6YXBwJyxcbiAgJ2NiJzogJ2NsZWFuOmJ1aWxkJ1xufTtcblxuY29uc3QgYXJnc1JlcGxhY2VtZW50c090aGVyID0ge1xuICAvLyBnaXRodWIgZG9jc1xuICAnZ2hwdXNoJzogJ2dpdGh1YnB1c2gnLFxuICAnZ2hwdWxsJzogJ2dpdGh1YnB1bGwnLFxuICAvLyBsYXN0XG4gICdsJzogJ2xhc3QnLFxuICAnc2wnOiAnc2hvdzpsYXN0JyxcbiAgJ2xiJzogJ2xhc3Q6YnVpbGQnLFxuICAvLyBpbnN0YWxsXG4gICdpJzogJ2luc3RhbGwnLFxuICAnc2knOiAnc2luc3RhbGwnLFxuICAnaWwnOiAnaW5zdGFsbDpsb2NhbGx5JyxcbiAgJ3JjJzogJ3JlY29tbWl0JyxcbiAgLy8gcmVsZWFzZVxuICAncnAnOiAncmVsZWFzZTpwcm9kJyxcbiAgJ3InOiAncmVsZWFzZScsXG4gICdybSc6ICdyZWxlYXNlOm1ham9yJyxcbiAgJ3JhJzogJ3JlbGVhc2U6YWxsJyxcbiAgJ2FyJzogJ2F1dG86cmVsZWFzZScsXG4gIC8vIHZlcnNvcG1cbiAgJy0tdmVyc2lvbic6ICd2ZXJzaW9uJyxcbiAgJy12JzogJ3ZlcnNpb24nLFxuICAvLyBvcGVuXG4gICdvY2MnOiAnb3Blbjpjb3JlOmNvbnRhaW5lcicsXG4gICdvY3AnOiAnb3Blbjpjb3JlOnByb2plY3QnLFxuICAvLyB0ZXN0XG4gICd0d2QnOiAndGVzdDp3YXRjaDpkZWJ1ZycsXG4gICd0ZHcnOiAndGVzdDp3YXRjaDpkZWJ1ZycsXG4gICd0dyc6ICd0ZXN0OndhdGNoJyxcbiAgJ3RkJzogJ3Rlc3Q6ZGVidWcnLFxuICAndCc6ICd0ZXN0JyxcbiAgLy8gZ2l0IHB1c2hcbiAgJ3B0JzogJ3B1c2g6dGFnJyxcbiAgJ3AnOiAncHVzaCcsXG4gICdwYSc6ICdwdXNoYWxsbCcsXG4gIC8vIG90aGVyXG4gICdzaic6ICdzZWxlY3Q6amF2YScsXG4gICdzY20nOiAnc2hvd2NvcmVtb2R1bGVzJyxcbiAgJ3RwdSc6ICd0YXJnZXQ6cHJvajp1cGRhdGUnLFxuICAndWdkJzogJ3VwZGF0ZTpnbG9iYWw6ZGVwcycsXG4gICd1ZCc6ICd1cGRhdGU6ZGVwcycsIC8vIHNhbWUgYXMgbnBtIGlcbiAgJ2RnbCc6ICdkZXRlY3Q6Z2xvYmFsOmxpYnMnLFxuICAncHInOiAncHJpbnQ6cmVsYXRpdmVzJyxcbn07XG5cbmNvbnN0IGFyZVRydXN0ZWRGb3JQYXRjaFVwZGF0ZSA9IFtcbiAgJ0Bhbmd1bGFyJyxcbiAgJ0BuZ3J4JyxcbiAgJ3J4anMnLFxuICAnem9uZS5qcycsXG4gICd0c2xpYicsXG4gICd0eXBlc2NyaXB0JyxcbiAgJ3dlYnBhY2snXG5dO1xuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICBwYWNrYWdlc1RoYXQ6IHtcbiAgICBhcmVUcnVzdGVkRm9yUGF0Y2hVcGRhdGUsXG4gIH0sXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgY29yZVByb2plY3RWZXJzaW9uczogWyd2MScsICd2MicsICd2MyddLFxuICBxdWlja0ZpeGVzOiB7XG4gICAgbWlzc2luZ0xpYnM6IFtcbiAgICAgICdyZWFjdC1uYXRpdmUtc3FsaXRlLXN0b3JhZ2UnXG4gICAgXVxuICB9LFxuICBwYWNrYWdlSnNvblNwbGl0LFxuICByZWdleFN0cmluZzoge1xuICAgIHBhdGhQYXJ0U3RyaW5nUmVnZXg6IGAoXFwvKFthLXpBLVowLTldfFxcXFwtfFxcXFxffFxcXFwrfFxcXFwuKSopYFxuICB9LFxuICBwbGFjZWhvbGRlcnM6IHtcbiAgICBmb3JQcm9qZWN0c0luRW52aXJvbm1lbnRGaWxlOiAnLy88UExBQ0VIT0xERVJfRk9SX1BST0pFQ1RTPidcbiAgfSxcbiAgYXJyYXk6IHtcbiAgICBpc29tb3JwaGljUGFja2FnZXM6ICdpc29tb3JwaGljUGFja2FnZXMnXG4gIH0sXG4gIGRlZmF1bHRGcmFtZXdvcmtWZXJzaW9uOiAndjMnIGFzIENvbmZpZ01vZGVscy5GcmFtZXdvcmtWZXJzaW9uLFxuICBDT05TVDoge1xuICAgIFVOSVRfVEVTVF9USU1FT1VUOiAzMDAwMCxcbiAgICBJTlRFR1JBVElPTl9URVNUOiAzMDAwMCxcbiAgICBCQUNLRU5EX0hUVFBfUkVRVUVTVF9USU1FT1VUOiAzMDAwLFxuICB9LFxuICBkZWJ1Zzoge1xuICAgIHNvdXJjZU1vZGlmaWVyOiBbXG5cbiAgICBdLFxuICAgIGJhc2VsaW5lU2l0ZUpvaW46IHtcbiAgICAgIERFQlVHX1BBVEhFUzogW1xuICAgICAgICAvLyBcInNyYy9hcHBzL2F1dGgvQXV0aENvbnRyb2xsZXIudHNcIixcbiAgICAgICAgLy8gJy9zcmMvYXBwLytwcmV2aWV3LWNvbXBvbmVudHMvcHJldmlldy1jb21wb25lbnRzLmNvbXBvbmVudC50cycsXG4gICAgICAgIC8vICcvc3JjL2NvbnRyb2xsZXJzLnRzJyxcbiAgICAgICAgLy8gJy9zcmMvYXBwLytwcmV2aWV3LWNvbXBvbmVudHMvY29tcG9uZW50cy8rcHJldmlldy1idWlsZHRucHByb2Nlc3MvcHJldmlldy1idWlsZHRucHByb2Nlc3MuY29tcG9uZW50LnRzJ1xuICAgICAgXSxcbiAgICAgIERFQlVHX01FUkdFX1BBVEhFUzogW1xuICAgICAgICAvLyBcInNyYy9hcHBzL2F1dGgvQXV0aENvbnRyb2xsZXIudHNcIixcbiAgICAgICAgLy8gJy9zcmMvYXBwLytwcmV2aWV3LWNvbXBvbmVudHMvY29tcG9uZW50cy8rcHJldmlldy1idWlsZHRucHByb2Nlc3MvcHJldmlldy1idWlsZHRucHByb2Nlc3MuY29tcG9uZW50LnRzJ1xuICAgICAgICAvLyAnL2NvbXBvbmVudHMvZm9ybWx5L2Jhc2UtY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLXdyYXBwZXIuY29tcG9uZW50LnRzJ1xuICAgICAgICAvLyAnL3NyYy9hcHAvK3ByZXZpZXctY29tcG9uZW50cy9jb21wb25lbnRzLytwcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy9wcmV2aWV3LWJ1aWxkdG5wcHJvY2Vzcy5jb21wb25lbnQudHMnXG4gICAgICBdXG4gICAgfVxuICB9LFxuLyogKi9cbi8qICovXG4gIFxuICBmcmFtZXdvcmtOYW1lczoge1xuICAgIHRucDogJ3RucCcsXG4gICAgZmlyZWRldjogJ2ZpcmVkZXYnXG4gIH0sXG4gIHN0YXJ0UG9ydDogNjAwMSxcbiAgZnJhbWV3b3JrczogWydib290c3RyYXAnLCAnaW9uaWMnLCAnbWF0ZXJpYWwnXSBhcyBDb25maWdNb2RlbHMuVUlGcmFtZXdvcmtbXSxcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgYWxsb3dlZEVudmlyb25tZW50cyxcbiAgZm9sZGVyLFxuICB0ZW1wRm9sZGVycyxcbiAgLy8gQHRzLWlnbm9yZVxuICBmaWxlc05vdEFsbG93ZWRUb0NsZWFuOiBPYmplY3Qua2V5cyhmaWxlc05vdEFsbG93ZWRUb0NsZWFuKS5tYXAoa2V5ID0+IGZpbGVzTm90QWxsb3dlZFRvQ2xlYW5ba2V5XSkgYXMgc3RyaW5nW10sXG4gIGZpbGUsXG4gIGRlZmF1bHQ6IHtcbiAgICBjbG91ZDoge1xuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgbmFtZTogJ29ubGluZScgYXMgQ29uZmlnTW9kZWxzLkVudmlyb25tZW50TmFtZVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgU1VCRVJJWkVEX1BSRUZJWDogYC0tLXN0dWJlcml6ZWRgLFxuICBuYW1lczoge1xuICAgIGVudjogYWxsb3dlZEVudmlyb25tZW50c09iaixcbiAgICBiYXNlbGluZTogJ2Jhc2VsaW5lJyxcbiAgICBkZWZhdWx0U2VydmVyOiAnZGVmYXVsdCBzZXJ2ZXInLFxuICB9LFxuICByZXNlcnZlZEFyZ3VtZW50c05hbWVzVWdsaWZ5OiBbXG4gICAgJ3Jlc2VydmVkRXhwT25lJyxcbiAgICAncmVzZXJ2ZWRFeHBTZWMnXG4gIF0sXG4gIGV4dGVuc2lvbnM6IHtcbiAgICAvKipcbiAgICAgICAqIE1vZGlmeSBzb3VyY2U6IGltcG9ydCxleHBvcnQsIHJlcXVpcmVzXG4gICAgICAgKi9cbiAgICBnZXQgbW9kaWZpY2FibGVCeVJlcGxhY2VGbigpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgICd0cycsXG4gICAgICAgICdqcycsXG4gICAgICAgIC4uLnN0eWxlc0ZpbGVzRXh0ZW5zaW9uLFxuICAgICAgXS5tYXAoZiA9PiBgLiR7Zn1gKTtcbiAgICB9LFxuICB9LFxuICBub3RGaXJlZGV2UHJvamVjdHM6IFtcbiAgICAndW5rbm93JywgJ3Vua25vdy1ucG0tcHJvamVjdCcsICdzY2VuYXJpbycsICduYXZpJ1xuICBdIGFzIENvbmZpZ01vZGVscy5MaWJUeXBlW10sXG4gIC8qKlxuICAgKiBCdWlsZCBhbGxvd2VkIHR5cGVzXG4gICAqL1xuICBhbGxvd2VkVHlwZXM6IHtcbiAgICAvKipcbiAgICAgKiBQcm9qZWN0cyBmb3IgYnVpbGQ6YXBwOndhdGNoIGNvbW1hbmRcbiAgICAgKi9cbiAgICBhcHA6IFtcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJDbGllbnQsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyTGliLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuaXNvbW9ycGhpY0xpYixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmlvbmljQ2xpZW50LFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuZG9ja2VyLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuY29udGFpbmVyLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUudnNjb2RlRXh0LFxuICAgIF0gYXMgQ29uZmlnTW9kZWxzLkxpYlR5cGVbXSxcbiAgICAvKipcbiAgICAgKiBQcm9qZWN0cyBmb3IgYnVpbGQ6KGRpc3R8YnVuZGxlKTood2F0Y2gpIGNvbW1hbmRcbiAgICAgKi9cbiAgICBsaWJzOiBbXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyTGliLFxuICAgICAgR2xvYmFsTGliVHlwZU5hbWUuaXNvbW9ycGhpY0xpYixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLndvcmtzcGFjZSxcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmNvbnRhaW5lcixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmRvY2tlcixcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLnZzY29kZUV4dCxcbiAgICBdIGFzIENvbmZpZ01vZGVscy5MaWJUeXBlW11cbiAgfSxcbiAgbW9kdWxlTmFtZUFuZ3VsYXJMaWIsXG4gIG1vZHVsZU5hbWVJc29tb3JwaGljTGliLFxuICBmaWxlc0V4dGVuc2lvbnM6IHtcbiAgICBmaWxldGVtcGxhdGU6ICdmaWxldGVtcGxhdGUnLFxuICAgIHN0eWxlczogc3R5bGVzRmlsZXNFeHRlbnNpb24sXG4gIH0sXG4gIHByb2plY3RUeXBlczoge1xuICAgIGZvck5wbUxpYnM6IFtcbiAgICAgIEdsb2JhbExpYlR5cGVOYW1lLmFuZ3VsYXJMaWIsXG4gICAgICBHbG9iYWxMaWJUeXBlTmFtZS5pc29tb3JwaGljTGliLFxuICAgIF0sXG4gICAgd2l0aDoge1xuICAgICAgYW5ndWxhckFzQ29yZTogW1xuICAgICAgICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyQ2xpZW50LFxuICAgICAgICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyTGliLFxuICAgICAgICBHbG9iYWxMaWJUeXBlTmFtZS5pb25pY0NsaWVudCxcbiAgICAgIF0sXG4gICAgICBjb21wb25ldHNBc1NyYzogW1xuICAgICAgICBHbG9iYWxMaWJUeXBlTmFtZS5hbmd1bGFyTGliLFxuICAgICAgXSxcbiAgICB9XG4gIH0sXG4gIC8vIGVudmlyb25tZW50TmFtZSxcbiAgbG9jYWxMaWJzOiBbXG4gICAgJ2VzbGludCcsXG4gICAgJ21rZGlycCcsXG4gICAgJ2d1bHAnLFxuICAgICducG0tcnVuJyxcbiAgICAncmltcmFmJyxcbiAgICAnbm9kZW1vbicsXG4gICAgJ3JlbGVhc2UtaXQnLFxuICAgICd0c2MnLFxuICAgICd3YXRjaCcsXG4gICAgJ2h0dHAtc2VydmVyJyxcbiAgICAndHMtbm9kZScsXG4gICAgJ3NvcnQtcGFja2FnZS1qc29uJyxcbiAgICAnY29uY3VycmVudGx5JyxcbiAgICAnc2xvYycsXG4gICAgJ21vcnBoaSdcbiAgXSxcbiAgaGVscEFsaWFzOiBbXG4gICAgJy1oJyxcbiAgICAnLS1oZWxwJyxcbiAgICAnLWhlbHAnLFxuICAgICdoZWxwJ1xuICBdLFxuICByZXF1aXJlZDoge1xuICAgIG5wbTogW1xuICAgICAgeyBuYW1lOiAnQGFuZ3VsYXIvY2xpJywgdmVyc2lvbjogJzEzJyB9LFxuICAgICAgeyBuYW1lOiAnZXh0cmFjdC16aXAnLCB2ZXJzaW9uOiAnMS42LjcnIH0sXG4gICAgICB7IG5hbWU6ICd3YXRjaCcsIHZlcnNpb246ICcxLjAuMicgfSxcbiAgICAgIHsgbmFtZTogJ2NwcicgfSxcbiAgICAgIHsgbmFtZTogJ2NoZWNrLW5vZGUtdmVyc2lvbicgfSxcbiAgICAgIHsgbmFtZTogJ25wbS1ydW4nLCB2ZXJzaW9uOiAnNC4xLjInIH0sXG4gICAgICB7IG5hbWU6ICdyaW1yYWYnIH0sXG4gICAgICB7IG5hbWU6ICdta2RpcnAnIH0sXG4gICAgICB7IG5hbWU6ICdyZW5hbWVyJywgdmVyc2lvbjogJzIuMC4xJyB9LFxuICAgICAgeyBuYW1lOiAnbm9kZW1vbicgfSxcbiAgICAgIHsgbmFtZTogJ21hZGdlJyB9LFxuICAgICAgeyBuYW1lOiAneWFybicgfSxcbiAgICAgIHsgbmFtZTogJ2h0dHAtc2VydmVyJyB9LFxuICAgICAgeyBuYW1lOiAnaW5jcmVhc2UtbWVtb3J5LWxpbWl0JyB9LFxuICAgICAgeyBuYW1lOiAnYm93ZXInIH0sXG4gICAgICB7IG5hbWU6ICdma2lsbCcsIGluc3RhbGxOYW1lOiAnZmtpbGwtY2xpJyB9LFxuICAgICAgLy8geyBuYW1lOiAneW8nIH0sXG4gICAgICB7IG5hbWU6ICdtb2NoYScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2NoYWknIH0sXG4gICAgICB7IG5hbWU6ICd0cy1ub2RlJyB9LFxuICAgICAgeyBuYW1lOiAndnNjZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3N0bXV4JyB9LFxuICAgICAgeyBuYW1lOiAnd2VicGFjay1idW5kbGUtYW5hbHl6ZXInIH0sXG4gICAgICAvLyB7IG5hbWU6ICduZycsIGluc3RhbGxOYW1lOiAnQGFuZ3VsYXIvY2xpJyB9LFxuICAgICAgLy8geyBuYW1lOiAnbmd4LXB3YS1pY29ucycsIHZlcnNpb246ICcwLjEuMicgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3JlYWwtZmF2aWNvbicsIGluc3RhbGxOYW1lOiAnY2xpLXJlYWwtZmF2aWNvbicgfSxcbiAgICAgIHsgbmFtZTogJ2JhYmVsJywgaW5zdGFsbE5hbWU6ICdiYWJlbC1jbGknIH0sXG4gICAgICB7IG5hbWU6ICdqYXZhc2NyaXB0LW9iZnVzY2F0b3InLCB2ZXJzaW9uOiAnNCcgfSxcbiAgICAgIHsgbmFtZTogJ3VnbGlmeWpzJywgaW5zdGFsbE5hbWU6ICd1Z2xpZnktanMnIH0sXG4gICAgXSxcbiAgICBuaWNlVG9vbHM6IFtcbiAgICAgIHsgbmFtZTogJ3NwZWVkLXRlc3QnIH0sXG4gICAgICB7IG5hbWU6ICducG0tbmFtZScgfSwgLy8gY2hlY2sgaWYgbmFtZSBpcyBhdmFpbGFibGUgb24gbnBtXG4gICAgICB7IG5hbWU6ICd2YW50YWdlJywgcGxhdGZvcm06ICdsaW51eCcgfSwgLy8gaW5zcGVjdCB5b3UgbGl2ZSBhcHBsaWNhaXRvblxuICAgICAgeyBuYW1lOiAnY2xpbmljJywgcGxhdGZvcm06ICdsaW51eCcgfSwgLy8gY2hlY2sgd2h5IG5vZGVqcyBpcyBzbG93XG4gICAgICB7IG5hbWU6ICd2dG9wJywgcGxhdGZvcm06ICdsaW51eCcgfSwgLy8gaW5zcGVjdCB5b3UgbGl2ZSBhcHBsaWNhaXRvbixcbiAgICAgIHsgbmFtZTogJ3B1YmxpYy1pcCcgfSxcbiAgICAgIHsgbmFtZTogJ2VtcHR5LXRyYXNoJyB9LFxuICAgICAgeyBuYW1lOiAnaXMtdXAnIH0sIC8vIGNoZWNrIGlmIHdlYnNpdGUgaXMgb2tcbiAgICAgIHsgbmFtZTogJ2lzLW9ubGluZScgfSwgLy8gY2hlY2sgaWYgaW50ZXJuZXQgaXMgb2ssXG4gICAgICB7IG5hbWU6ICd0dHlzdHVkaW8nIH0sIC8vIHJlY29yZCB0ZXJtaW5hbCBhY3Rpb25zLFxuICAgICAgeyBuYW1lOiAnYmNhdCcgfSwgLy8gcmVkaXJlY3QgYW55IHN0cmVhbSB0byBicm93c2VyLFxuICAgICAgeyBuYW1lOiAnd2lmaS1wYXNzd29yZCcsIGluc3RhbGxOYW1lOiAnd2lmaS1wYXNzd29yZC1jbGknIH0sXG4gICAgICB7IG5hbWU6ICd3YWxscGFwZXInLCBpbnN0YWxsTmFtZTogJ3dhbGxwYXBlci1jbGknIH0sXG4gICAgICB7IG5hbWU6ICdicmlnaHRuZXNzJywgaW5zdGFsbE5hbWU6ICdicmlnaHRuZXNzLWNsaScgfSxcbiAgICAgIHsgbmFtZTogJ3N1YmRvd25sb2FkZXInIH0sXG4gICAgICB7IG5hbWU6ICdydGFpbCcgfSwgLy8gbW9uaXRvciBtdWx0aXBsZSBzZXJ2ZXJcbiAgICAgIHsgbmFtZTogJ2lwb25tYXAnIH0sIC8vIHNob3cgaXAgaW4gdGVybWluYWwgbWFwLFxuICAgICAgeyBuYW1lOiAnanNvbWUnIH0sIC8vIGRpc3BsYXkgY29sb3JlZCBqc29ucyxcbiAgICAgIHsgbmFtZTogJ2RyYXdpbGxlJywgaXNOb3RDbGk6IHRydWUgfSwgLy8gM2QgZHJ3YSBpbiB0ZW1yaW5hbFxuICAgICAgeyBuYW1lOiAnY29sdW1uaWZ5JywgaXNOb3RDbGk6IHRydWUgfSwgLy8gZHJhdyBuaWNlIGNvbHVtbnMgaW4gbm9kZSxcbiAgICAgIHsgbmFtZTogJ211bHRpc3Bpbm5lcicsIGlzTm90Q2xpOiB0cnVlIH0sIC8vIHByb2dyZXMgZm9yIG11bHRpcGxlIGFzeW5jIGFjdGlvbnNcbiAgICAgIHsgbmFtZTogJ2Nmb250cycgfSwgLy8gZHJhdyBzdXBlciBuaWNlIGZvbnRzIGluIGNvbnNvbGVcbiAgICBdLFxuICAgIHByb2dyYW1zOiBbLFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29kZScsXG4gICAgICAgIHdlYnNpdGU6ICdodHRwczovL2NvZGUudmlzdWFsc3R1ZGlvLmNvbS8nXG4gICAgICB9XG4gICAgXVxuICB9XG59O1xuXG5cblxuLy8gZXhwb3J0IGNvbnN0IEdsb2JhbElzb21vcnBoaWNEZXBlbmRlbmNpZXM6IENvbmZpZ01vZGVscy5HbG9iYWxEZXBlbmRlbmNpZXMgPSB7XG4vLyAgIG5wbTogW1xuLy8gICAgIHsgbmFtZTogJ3JpbXJhZicgfSxcbi8vICAgICB7IG5hbWU6ICducG0tcnVuJywgdmVyc2lvbjogJzQuMS4yJyB9LFxuLy8gICAgIHsgbmFtZTogJ2NwcicgfSxcbi8vICAgICB7IG5hbWU6ICdjaGVjay1ub2RlLXZlcnNpb24nIH0sXG4vLyAgICAgeyBuYW1lOiAndnNjZScgfSxcbi8vICAgXSxcbi8vICAgcHJvZ3JhbXM6IFtcbi8vICAgICAvLyB7XG4vLyAgICAgLy8gICBuYW1lOiAnY29kZScsXG4vLyAgICAgLy8gICB3ZWJzaXRlOiAnaHR0cHM6Ly9jb2RlLnZpc3VhbHN0dWRpby5jb20vJ1xuLy8gICAgIC8vIH1cbi8vICAgXSBhcyB7IG5hbWU6IHN0cmluZzsgd2Vic2l0ZTogc3RyaW5nIH1bXVxuLy8gfTtcbiJdfQ==
|