ng2-rest-swagger-generator 16.0.3 → 16.5.1

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.
@@ -13,13 +13,11 @@
13
13
  "includeAsDev": [],
14
14
  "includeOnly": [
15
15
  "tnp-helpers",
16
- "chalk"
16
+ "chalk",
17
+ "tslint",
18
+ "typescript-formatter"
17
19
  ],
18
- "dependencies": {
19
- "tslint": "^5.9.1",
20
- "typescript-formatter": "~7.2.2",
21
- "codelyzer": "^4.0.2"
22
- },
20
+ "dependencies": {},
23
21
  "linkedFolders": [],
24
22
  "npmFixes": []
25
23
  },
@@ -54,7 +52,7 @@
54
52
  "workerPlugins": {}
55
53
  },
56
54
  "name": "ng2-rest-swagger-generator",
57
- "version": "16.0.3",
55
+ "version": "16.5.1",
58
56
  "description": "Generate Angualr 2 Service from swagger json",
59
57
  "directories": {
60
58
  "doc": "docs"
@@ -82,7 +80,9 @@
82
80
  "homepage": "https://github.com/darekf77/ng2-rest-swagger-generator#readme",
83
81
  "dependencies": {
84
82
  "chalk": "2.3.2",
85
- "tnp-helpers": "~16.0.6"
83
+ "tnp-helpers": "~16.5.1",
84
+ "tslint": "5.9.1",
85
+ "typescript-formatter": "~7.2.2"
86
86
  },
87
87
  "devDependencies": {
88
88
  "@angular-devkit/build-angular": "~16.0.5",
@@ -104,6 +104,10 @@
104
104
  "@angular/router": "~16.0.0",
105
105
  "@angular/service-worker": "~16.0.4",
106
106
  "@babel/cli": "7.18.6",
107
+ "@commitlint/cli": "12.1.1",
108
+ "@commitlint/config-conventional": "12.1.1",
109
+ "@commitlint/prompt-cli": "12.1.1",
110
+ "@compodoc/compodoc": "1.1.20",
107
111
  "@iconify/icons-fa-solid": "1.2.2",
108
112
  "@iconify/icons-mdi": "1.2.1",
109
113
  "@mdi/js": "7.2.96",
@@ -121,11 +125,11 @@
121
125
  "@ngrx/store": "~16.0.1",
122
126
  "@ngrx/store-devtools": "~16.0.1",
123
127
  "@ngx-formly/core": "6.1.7",
124
- "@ngx-formly/material": "6.1.7",
128
+ "@ngx-formly/material": "6.1.8",
125
129
  "@ngx-translate/core": "15.0.0",
126
130
  "@ngx-translate/http-loader": "8.0.0",
131
+ "@parcel/watcher": "2.3.0",
127
132
  "@sweetalert2/ngx-sweetalert2": "12.1.0",
128
- "@testdeck/jasmine": "0.3.3",
129
133
  "@testdeck/jest": "0.3.3",
130
134
  "@testdeck/mocha": "0.3.3",
131
135
  "@types/chai": "4.1.2",
@@ -138,8 +142,7 @@
138
142
  "@types/glob": "5.0.35",
139
143
  "@types/http-proxy": "1.16.0",
140
144
  "@types/http-proxy-middleware": "0.19.2",
141
- "@types/inquirer": "7.3.1",
142
- "@types/jasmine": "4.3.0",
145
+ "@types/jest": "29.5.2",
143
146
  "@types/json-stringify-safe": "5.0.0",
144
147
  "@types/json5": "0.0.29",
145
148
  "@types/lockfile": "1.0.0",
@@ -158,10 +161,13 @@
158
161
  "@types/vinyl": "2.0.2",
159
162
  "@types/watch": "1.0.0",
160
163
  "accepts": "1.3.4",
164
+ "ajv": "8.12.0",
161
165
  "angular-material-css-vars": "5.0.2",
162
- "any-project-cli": "~16.0.31",
166
+ "angular-resize-event": "3.2.0",
167
+ "animate.css": "4.1.1 ",
168
+ "any-project-cli": "~16.5.1",
163
169
  "axios": "1.3.5",
164
- "background-worker-process": "~16.0.48",
170
+ "background-worker-process": "~16.5.1",
165
171
  "base32": "0.0.7",
166
172
  "bcryptjs": "2.4.3",
167
173
  "better-sqlite3": "7.6.2",
@@ -169,16 +175,17 @@
169
175
  "bootstrap": "4.6.2",
170
176
  "buffer-shims": "1.0.0",
171
177
  "callsite-record": "4.1.3",
172
- "chai": "4.2.0",
178
+ "chai": "4.3.7",
173
179
  "check-node-version": "3.2.0",
174
180
  "cheerio": "1.0.0-rc.3",
175
- "chokidar": "3.5.1",
181
+ "chokidar": "3.5.3",
176
182
  "circular-json": "0.5.1",
177
183
  "class-validator": "0.14.0",
178
184
  "command-exists": "1.2.2",
179
185
  "compression": "1.7.4",
180
186
  "concurrently": "3.5.1",
181
187
  "content-type": "1.0.4",
188
+ "conventional-changelog-cli": "3.0.0",
182
189
  "cookie-parser": "1.4.3",
183
190
  "copy-paste": "1.5.3",
184
191
  "cors": "2.8.4",
@@ -187,6 +194,10 @@
187
194
  "dateformat": "3.0.3",
188
195
  "detect-mocha": "0.1.0",
189
196
  "diff": "3.2.0",
197
+ "electron": "25.2.0",
198
+ "electron-builder": "24.4.0",
199
+ "electron-debug": "3.2.0",
200
+ "electron-reloader": "1.2.3",
190
201
  "element-resize-detector": "1.1.15",
191
202
  "enquirer": "2.3.0",
192
203
  "enum-values": "1.2.1",
@@ -200,14 +211,15 @@
200
211
  "express-session": "1.17.3",
201
212
  "file-loader": "1.1.5",
202
213
  "file-saver": "2.0.5",
214
+ "file-type": "18.5.0",
203
215
  "firedev": "^16",
204
- "firedev-crud": "~16.0.53",
205
- "firedev-crud-deamon": "~16.0.43",
206
- "firedev-ports": "~16.0.48",
207
- "firedev-storage": "~16.0.40",
208
- "firedev-type-sql": "~16.0.1",
209
- "firedev-typeorm": "~16.0.37",
210
- "firedev-ui": "~16.0.7",
216
+ "firedev-crud": "~16.5.1",
217
+ "firedev-crud-deamon": "~16.5.1",
218
+ "firedev-ports": "~16.5.1",
219
+ "firedev-storage": "~16.5.1",
220
+ "firedev-type-sql": "~16.5.1",
221
+ "firedev-typeorm": "~16.5.1",
222
+ "firedev-ui": "~16.5.1",
211
223
  "fkill": "6.1.0",
212
224
  "font-awesome": "4.7.0",
213
225
  "form-data": "4.0.0",
@@ -215,58 +227,63 @@
215
227
  "fuzzy": "0.1.3",
216
228
  "glob": "7.1.2",
217
229
  "gulp": "3.9.1",
230
+ "helmet": "7.0.0",
218
231
  "hostile": "1.3.3",
219
232
  "howler": "2.2.3",
220
233
  "http-proxy": "1.16.2",
221
234
  "http-proxy-middleware": "0.19.1",
222
235
  "http-server": "0.11.1",
236
+ "image-focus": "1.2.1",
237
+ "immer": "10.0.2",
223
238
  "immutable": "4.3.0",
224
- "incremental-compiler": "~16.0.30",
239
+ "incremental-compiler": "~16.5.1",
225
240
  "inquirer": "7.3.3",
226
241
  "inquirer-autocomplete-prompt": "1.3.0",
227
242
  "is-elevated": "3.0.0",
228
- "isomorphic-region-loader": "~16.0.41",
243
+ "isomorphic-region-loader": "~16.5.1",
229
244
  "istanbul-instrumenter-loader": "2.0.0",
230
- "jasmine-core": "4.6.0",
245
+ "jest": "29.5.0",
246
+ "jest-date-mock": "1.0.8",
247
+ "jest-junit": "16.0.0",
248
+ "jest-marbles": "latest",
249
+ "jest-preset-angular": "13.1.1",
231
250
  "jimp": "0.22.8",
251
+ "joi": "17.9.2",
232
252
  "jscodeshift": "0.6.3",
233
253
  "json-stringify-safe": "5.0.1",
234
- "json10": "~16.0.48",
235
- "json10-writer": "~16.0.44",
254
+ "json10": "~16.5.1",
255
+ "json10-writer": "~16.5.1",
236
256
  "json5": "2.2.1",
237
257
  "json5-writer": "0.2.0",
238
258
  "jszip": "3.10.1",
239
- "karma": "6.4.0",
240
- "karma-chrome-launcher": "3.2.0",
241
259
  "karma-cli": "1.0.1",
242
- "karma-coverage": "2.2.0",
243
- "karma-jasmine": "5.1.0",
244
- "karma-jasmine-html-reporter": "2.0.0",
245
260
  "lnk": "1.0.1",
246
261
  "localforage": "1.10.0",
247
262
  "lockfile": "1.0.4",
248
263
  "lodash": "4.17.20",
249
- "lodash-walk-object": "~16.0.48",
264
+ "lodash-walk-object": "~16.5.1",
250
265
  "lowdb": "1.0.0",
251
- "magic-renamer": "~16.0.45",
266
+ "magic-renamer": "~16.5.1",
252
267
  "material-design-icons": "3.0.1",
253
268
  "method-override": "2.3.10",
254
269
  "minimist": "1.2.0",
255
270
  "mkdirp": "0.5.1",
256
- "mocha": "5.2.0",
271
+ "mocha": "10.2.0",
257
272
  "moment": "2.29.3",
258
- "morphi": "~16.0.5",
273
+ "morphi": "~16.5.1",
259
274
  "ng-for-track-by-property": "16.0.1",
260
275
  "ng-in-viewport": "15.0.2",
261
276
  "ng-lock": "16.0.1",
262
277
  "ng-packagr": "16.0.1",
263
- "ng-talkback": "~13.1.19",
264
- "ng2-logger": "~16.0.4",
265
- "ng2-rest": "~16.0.12",
278
+ "ng-talkback": "~16.5.1",
279
+ "ng2-logger": "~16.5.1",
280
+ "ng2-rest": "~16.5.1",
266
281
  "ngx-ace-wrapper": "14.0.0",
267
282
  "ngx-editor": "15.3.0",
268
283
  "ngx-highlightjs": "9.0.0",
269
284
  "ngx-moment": "6.0.2",
285
+ "ngx-monaco-editor": "12.0.0",
286
+ "ngx-photo-editor": "0.4.4",
270
287
  "ngx-pipes": "3.2.2",
271
288
  "ngx-progressbar": "11.0.0",
272
289
  "ngx-scrollbar": "12.0.0",
@@ -276,6 +293,7 @@
276
293
  "node-cli-tester": "~16.0.2",
277
294
  "node-localstorage": "2.1.6",
278
295
  "node-notifier": "6.0.0",
296
+ "node-polyfill-webpack-plugin": "2.0.1",
279
297
  "nodemon": "1.14.11",
280
298
  "npm-get-dependents": "1.0.1",
281
299
  "npm-run": "4.1.2",
@@ -287,35 +305,42 @@
287
305
  "password-hash": "1.2.2",
288
306
  "pica": "9.0.1",
289
307
  "portfinder": "1.0.21",
290
- "prettier": "2.5.1",
308
+ "prettier": "3.0.0",
309
+ "pretty-error": "4.0.0",
310
+ "primeflex": "3.3.1",
311
+ "primeicons": "6.0.1",
312
+ "primeng": "16.7.0",
291
313
  "progress": "2.0.3",
292
314
  "prompts": "0.1.8",
293
315
  "ps-list": "6.1.0",
294
316
  "ps-node": "0.1.6",
295
317
  "q": "1.5.1",
318
+ "rallax.js": "2.0.4",
296
319
  "randomcolor": "0.5.3",
297
- "record-replay-req-res-scenario": "~13.1.20",
320
+ "record-replay-req-res-scenario": "~16.0.1",
298
321
  "reflect-metadata": "0.1.10",
299
322
  "rimraf": "2.6.2",
300
323
  "rxjs": "~7.8.0",
301
324
  "semver": "6.3.0",
302
325
  "simple-git": "1.96.0",
326
+ "sinon": "15.2.0",
303
327
  "sloc": "0.2.0",
304
328
  "socket.io": "2.4.1",
305
329
  "sort-package-json": "1.11.0",
306
330
  "sql.js": "1.8.0",
307
- "static-columns": "~16.0.5",
331
+ "static-columns": "~16.5.1",
308
332
  "string-similarity": "4.0.2",
309
333
  "sudo-block": "3.0.0",
334
+ "supertest": "6.3.3",
310
335
  "sweetalert2": "11.7.12",
311
336
  "systeminformation": "3.45.7",
312
337
  "task.js": "0.1.5",
313
338
  "threads": "1.7.0",
314
- "tnp-cli": "~16.0.5",
315
- "tnp-config": "~16.0.8",
316
- "tnp-core": "~16.0.10",
317
- "tnp-db": "~16.0.26",
318
- "tnp-models": "~16.0.35",
339
+ "tnp-cli": "~16.0.8",
340
+ "tnp-config": "~16.5.1",
341
+ "tnp-core": "~16.5.1",
342
+ "tnp-db": "~16.5.1",
343
+ "tnp-models": "~16.5.1",
319
344
  "ts-debug": "1.3.0",
320
345
  "ts-loader": "2.3.1",
321
346
  "ts-node": "10.9.1",
@@ -323,25 +348,25 @@
323
348
  "turndown": "7.1.2",
324
349
  "typeorm": "~0.3.10",
325
350
  "typescript": "~5.0.2",
326
- "typescript-class-helpers": "~16.0.16",
351
+ "typescript-class-helpers": "~16.5.1",
327
352
  "underscore": "1.9.1",
328
353
  "uuid": "8.3.2",
329
354
  "validator": "9.2.0",
330
355
  "video.js": "8.3.0",
331
- "vpn-split": "~13.1.23",
356
+ "vpn-split": "~16.0.3",
332
357
  "watch": "1.0.2",
333
358
  "yup": "1.1.1",
334
359
  "zone.js": "~0.13.0"
335
360
  },
336
361
  "license": "MIT",
337
362
  "private": false,
338
- "lastBuildTagHash": "36107f8553b6546959380bfe76f473d493f16302",
363
+ "lastBuildTagHash": "66321300712a88c328998302c0cb1568ea907fbe",
339
364
  "main": "karma.conf.js"
340
365
  },
341
366
  "build": {
342
- "number": 179,
343
- "date": "2023-06-20T09:38:07.000Z",
344
- "hash": "392a2fe15d1291c55f53f31fb73232d65e84c85e",
367
+ "number": 185,
368
+ "date": "2023-12-10T23:58:39.000Z",
369
+ "hash": "fce0ede1de29de832707c4ef8400bdc99ab6db83",
345
370
  "options": {}
346
371
  },
347
372
  "currentProjectName": "ng2-rest-swagger-generator",
@@ -349,17 +374,15 @@
349
374
  "currentProjectLaunchConfiguration": "{\"version\":\"0.2.0\",\"configurations\":[{\"type\":\"node\",\"request\":\"launch\",\"name\":\"Launch Server standalone\",\"program\":\"${workspaceFolder}/run.js\",\"args\":[\"--ENVoverride=%7B%0A%20%20%20%20%22clientProjectName%22%3A%20%22ng2-rest-swagger-generator%22%0A%7D\"],\"runtimeArgs\":[\"--nolazy\",\"-r\",\"ts-node/register\",\"--experimental-worker\"]},{\"name\":\"Debugger with ng serve\",\"type\":\"chrome\",\"request\":\"launch\",\"preLaunchTask\":\"Ng Serve\",\"postDebugTask\":\"terminateall\",\"sourceMaps\":true,\"webRoot\":\"${workspaceFolder}\",\"sourceMapPathOverrides\":{\"webpack:/*\":\"${webRoot}/*\",\"/./*\":\"${webRoot}/*\",\"/tmp-src/*\":\"${webRoot}/*\",\"/*\":\"*\",\"/./~/*\":\"${webRoot}/node_modules/*\"}},{\"type\":\"node\",\"request\":\"attach\",\"name\":\"Attach to global cli tool\",\"port\":9229,\"skipFiles\":[\"<node_internals>/**\"]}],\"compounds\":[{\"name\":\"Debug backend/frontend\",\"configurations\":[\"Launch Server standalone\",\"Debugger with ng serve\"]}]}",
350
375
  "currentProjectTasksConfiguration": "{\"version\":\"2.0.0\",\"tasks\":[{\"label\":\"terminateall\",\"command\":\"echo ${input:terminate}\",\"type\":\"shell\",\"problemMatcher\":[]},{\"label\":\"Ng Serve\",\"type\":\"shell\",\"command\":\"tnp build\",\"isBackground\":true,\"presentation\":{\"reveal\":\"always\"},\"group\":{\"kind\":\"build\",\"isDefault\":true},\"problemMatcher\":{\"owner\":\"typescript\",\"source\":\"ts\",\"applyTo\":\"closedDocuments\",\"fileLocation\":[\"relative\",\"${cwd}\"],\"pattern\":\"$tsc\",\"background\":{\"activeOnStart\":true,\"beginsPattern\":{\"regexp\":\"(.*?)\"},\"endsPattern\":{\"regexp\":\"Compiled |Failed to compile.\"}}}}],\"inputs\":[{\"id\":\"terminate\",\"type\":\"command\",\"command\":\"workbench.action.tasks.terminate\",\"args\":\"terminateAll\"}]}",
351
376
  "currentProjectType": "isomorphic-lib",
352
- "currentFrameworkVersion": "16.0.17",
353
- "currentProjectIsStrictSite": false,
354
- "currentProjectIsDependencySite": false,
355
- "currentProjectIsStatic": false,
377
+ "currentFrameworkVersion": "16.5.1",
356
378
  "isStandaloneProject": true,
379
+ "isSmartContainer": false,
357
380
  "frameworks": [
358
381
  "bootstrap",
359
382
  "ionic",
360
383
  "material"
361
384
  ],
362
- "pathesTsconfig": "\"paths\": {},",
385
+ "pathesTsconfig": "\"paths\": {\"ng2-rest-swagger-generator\":[\"./src/lib\"],\"ng2-rest-swagger-generator/*\":[\"./src/lib/*\"]},",
363
386
  "customRootDir": "\"rootDir\": \"./src\",",
364
387
  "currentLibProjectSourceFolder": "src"
365
388
  }
@@ -385,4 +385,4 @@ class HelpersSwagger extends TnpHelpers {
385
385
  export { HelpersSwagger };
386
386
  ;
387
387
  ({}); // @--end-of-file-for-module=ng2-rest-swagger-generator lib/helpers.ts
388
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3Byb2plY3RzL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVUsS0FBSyxDQUFDLEtBQUssQ0FBTSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyxDQUFBLEtBQUs7QUFRbEUsT0FBTyxFQUFFLFdBQVcsSUFBSSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1RCxNQUFhLGNBQWUsU0FBUSxVQUFVO2FBRXJDLFdBQU0sR0FBRztRQUNkLFNBQVMsRUFBRSxNQUFNLEVBQUU7UUFDbkIsYUFBYSxFQUFFLE1BQU0sRUFBRTtLQUN4QixDQUFBO0lBSUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFtQyxFQUFFLFVBQWtCO1FBQ3pFLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUE7UUFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBZ0MsRUFBRSxRQUFnQixFQUFFLGFBQXNCO1FBQzVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUV0QyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUNwRyxJQUFJLENBQUMsR0FB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QUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNoRSxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FFakU7UUFJRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFSCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO2FBRVksV0FBTSxHQUFHLENBQUMsQ0FBQztJQUUxQixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQWU7UUFJcEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7U0FuZFUsY0FBYztBQW1nQjFCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0VBQXNFIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyAgIHBhdGgsIC8qICovIC8qICovICAgICAgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDb3JlSGVscGVycyBhcyBUbnBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtaGVscGVycy93ZWJzcWwnO1xuXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzU3dhZ2dlciBleHRlbmRzIFRucEhlbHBlcnMge1xuXG4gIHN0YXRpYyBTWU1CT0wgPSB7XG4gICAgSU5ERVhfU1dHOiBTeW1ib2woKSxcbiAgICBPVVRQVVRfRk9MREVSOiBTeW1ib2woKVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgb3V0cHV0OiBzdHJpbmc7XG4gIHByaXZhdGUgc3RhdGljIGFwaXM6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbFtdO1xuICBzdGF0aWMgcHJlcGFyZVBhdGhzKGFwaXM6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbFtdLCBvdXRwdXRCYXNlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm91dHB1dCA9IGAke3Byb2Nlc3MuY3dkKCl9LyR7b3V0cHV0QmFzZX1gXG4gICAgdGhpcy5hcGlzID0gYXBpcztcbiAgfVxuXG4gIHN0YXRpYyBwcmVwYXJlTW9kZWwoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwsIGluZGV4U3dnOiBudW1iZXIsIGlzSHR0cHNFbmFibGU6IGJvb2xlYW4pIHtcbiAgICBzd2dbdGhpcy5TWU1CT0wuSU5ERVhfU1dHXSA9IGluZGV4U3dnO1xuXG4gICAgc3dnLmhvc3QgPSBzd2cuaG9zdCAmJiAoaXNIdHRwc0VuYWJsZSA/ICdodHRwcycgOiAnaHR0cCcpICsgYDovLyR7c3dnLmhvc3QucmVwbGFjZSgvOlswLTldKi9nLCAnJyl9YFxuICAgIGlmICghc3dnLmJhc2VQYXRoKSB7XG4gICAgICBzd2cuYmFzZVBhdGggPSAnJ1xuICAgIH1cbiAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4gIHN0YXRpYyBnZXQgc2VydmljZUZyb21UYWcoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG5cblxuICAgIHJldHVybiB7XG4gICAgICBhbGxDbGFzc05hbWVzKCkge1xuICAgICAgICBjb25zdCBuYW1lcyA9IFtdXG4gICAgICAgIHNlbGYuYXBpcy5tYXAoc3dnID0+IHtcbiAgICAgICAgICBzd2cudGFncy5mb3JFYWNoKHRhZyA9PiB7IC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIG5hbWVzLnB1c2goc2VsZi5zZXJ2aWNlRnJvbVRhZy5jbGFzc05hbWUoc3dnLCB0YWcpKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBuYW1lcztcbiAgICAgIH0sXG4gICAgICBjbGFzc05hbWUoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwsIHRhZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlclRhZykge1xuICAgICAgICBjb25zdCBncm91cEZvbGRlck5hbWUgPSBzZWxmLmdyb3VwRnJvbUpTT04uZm9sZGVyTmFtZShzd2cpXG5cbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gXy51cHBlckZpcnN0KF8uY2FtZWxDYXNlKHRhZy5uYW1lKSkgKyAnU2VydmljZSc7XG4gICAgICAgIHJldHVybiBgJHtncm91cEZvbGRlck5hbWV9JHtjbGFzc05hbWUucmVwbGFjZSgvXFwvL2csICcnKX1gO1xuICAgICAgfSxcbiAgICAgIGFic29sdXRlRmlsZVBhdGgoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwsIHRhZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlclRhZykge1xuXG4gICAgICAgIHJldHVybiBgJHtzZWxmLmFic29sdXRlUGF0aC5QYXRoRm9sZGVyX3NlcnZpY2VzX2dyb3VwTmFtZShzd2cpfS8ke3NlbGYuc2VydmljZUZyb21UYWcuY2xhc3NOYW1lKHN3ZywgdGFnKX0udHNgO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXQgZW5kcG9pbnRzKCkge1xuICAgIHJldHVybiB0aGlzLmFwaXMubWFwKHN3ZyA9PiB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5ncm91cEZyb21KU09OLmZvbGRlck5hbWUoc3dnKX06JyR7c3dnLmhvc3R9J2BcbiAgICB9KVxuICB9XG5cblxuXG4gIHN0YXRpYyBnZXQgYWJzb2x1dGVQYXRoKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IG91dHB1dCgpIHtcbiAgICAgICAgcmV0dXJuIHNlbGYub3V0cHV0O1xuICAgICAgfSxcblxuICAgICAgZ2V0IFBhdGhGaWxlX2luZGV4X3RzKCkge1xuICAgICAgICBjb25zdCBBUElwYXRoID0gc2VsZi5vdXRwdXQ7XG4gICAgICAgIHJldHVybiBgJHtBUElwYXRofS9pbmRleC50c2A7XG4gICAgICB9LFxuICAgICAgZ2V0IFBhdGhGaWxlX21vZHVsZV90cygpIHtcbiAgICAgICAgY29uc3QgQVBJcGF0aCA9IHNlbGYub3V0cHV0O1xuICAgICAgICByZXR1cm4gYCR7QVBJcGF0aH0vbW9kdWxlLnRzYDtcbiAgICAgIH0sXG5cbiAgICAgIGdldCBQYXRoRm9sZGVyX3NlcnZpY2VzKCkge1xuICAgICAgICBjb25zdCBBUElwYXRoID0gc2VsZi5vdXRwdXQ7XG4gICAgICAgIHJldHVybiBgJHtBUElwYXRofS9zZXJ2aWNlc2A7XG4gICAgICB9LFxuXG4gICAgICBnZXQgUGF0aEZpbGVfc2VydmljZXNfaW5kZXhfdHMoKSB7XG4gICAgICAgIHJldHVybiBgJHtzZWxmLmFic29sdXRlUGF0aC5QYXRoRm9sZGVyX3NlcnZpY2VzfS9pbmRleC50c2A7XG4gICAgICB9LFxuXG4gICAgICBQYXRoRm9sZGVyX3NlcnZpY2VzX2dyb3VwTmFtZShzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCkge1xuICAgICAgICBjb25zdCBncm91cEZvbGRlck5hbWUgPSBzZWxmLmdyb3VwRnJvbUpTT04uZm9sZGVyTmFtZShzd2cpXG5cbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXN9LyR7Z3JvdXBGb2xkZXJOYW1lfWA7XG4gICAgICB9LFxuXG4gICAgICBQYXRoRmlsZV9zZXJ2aWNlc19ncm91cE5hbWVfaW5kZXhfdHMoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9L2luZGV4LnRzYDtcbiAgICAgIH0sXG5cbiAgICAgIFBhdGhGaWxlX3NlcnZpY2VzX2dyb3VwTkFtZV9zZXJ2aWNlTmFtZV90cyhzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCwgdGFnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyVGFnKSB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VGaWxlTmFtZSA9IHNlbGYuc2VydmljZUZyb21UYWcuY2xhc3NOYW1lKHN3ZywgdGFnKTtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9LyR7c2VydmljZUZpbGVOYW1lfS50c2A7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0IGdyb3VwRnJvbUpTT04oKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBhbGxHcm91cE5hbWVzKCkge1xuICAgICAgICBjb25zdCBuYW1lcyA9IFtdXG4gICAgICAgIHNlbGYuYXBpcy5tYXAoc3dnID0+IHsgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBuYW1lcy5wdXNoKHNlbGYuZ3JvdXBGcm9tSlNPTi5mb2xkZXJOYW1lKHN3ZykpXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBuYW1lcztcbiAgICAgIH0sXG4gICAgICBmb2xkZXJOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoOiBzdHJpbmcgPSBzd2cuYmFzZVBhdGg7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBzd2dbc2VsZi5TWU1CT0wuSU5ERVhfU1dHXTtcbiAgICAgICAgcmV0dXJuIF8udXBwZXJGaXJzdChfLmNhbWVsQ2FzZShiYXNlUGF0aC50cmltKCkgPT09ICcnID8gYGpzb24ke2luZGV4fWAgOiBiYXNlUGF0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaW5kVGFncyhzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCkge1xuICAgIGNvbnN0IHRhZ3MgPSBbXVxuICAgIE9iamVjdC5rZXlzKHN3Zy5wYXRocykuZm9yRWFjaChwID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKHN3Zy5wYXRoc1twXSkuZm9yRWFjaChtID0+IHtcbiAgICAgICAgY29uc3QgYSA9IHN3Zy5wYXRoc1twXVttXTtcbiAgICAgICAgaWYgKF8uaXNBcnJheShhLnRhZ3MpKSB7XG4gICAgICAgICAgYS50YWdzLmZvckVhY2godGFnID0+IHtcbiAgICAgICAgICAgIGlmICh0YWdzLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWUgPT09IHRhZykubGVuZ3RoID09PSAwKSB7ICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRhZ3MucHVzaCh7IG5hbWU6IHRhZyB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gICAgcmV0dXJuIHRhZ3M7XG4gIH1cblxuXG5cblxuXG5cbiAgLyoqXG4gICAqIFRvIGdlbmVyYXRlIGdldC9ib29rcy97aWR9ID0+IGdldF9ib29rc19faWRfXG4gICAqL1xuICBzdGF0aWMgY2xlYW5QYXRoKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBwYXRoLnJlcGxhY2UoL3svZywgXCJfXCIpLnJlcGxhY2UoL30vZywgXCJfXCIpLnJlcGxhY2UoL1xcLy9nLCBcIl9cIikucmVwbGFjZSgvLS9nLCBcIl9cIik7XG4gIH1cblxuXG4gIHN0YXRpYyBjbGVhblBhdGhNb2RlbChwYXRoTW9kZWw6IHN0cmluZykge1xuICAgIHJldHVybiBwYXRoTW9kZWwucmVwbGFjZSgvXFwvey9nLCAnLzonKS5yZXBsYWNlKC99L2csICcnKTtcbiAgfVxuXG5cbiAgc3RhdGljIHN3YWdnZXJUeXBlVG9KUyh0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiaW50ZWdlclwiIHwgXCJib29sZWFuXCIgfCBcImFycmF5XCIgfCBcImZpbGVcIiwgaXRlbXNUeXBlOiBhbnkgPSAnYW55Jykge1xuICAgIHJldHVybiAodHlwZSA9PT0gJ2ludGVnZXInKSA/ICdudW1iZXInXG4gICAgICA6ICh0eXBlID09PSAnYXJyYXknKSA/ICFpdGVtc1R5cGUgPyAnYW55JyA6IGAke3RoaXMuc3dhZ2dlclR5cGVUb0pTKGl0ZW1zVHlwZSl9W11gXG4gICAgICAgIDogKHR5cGUgPT09ICdmaWxlJykgPyAnYW55JyA6IHR5cGU7XG4gIH1cblxuXG5cbiAgc3RhdGljIGdldE9iamVjdERlZmluaXRpb24ocmVmOiBzdHJpbmcsIHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCBkZWVwID0gMCk6IHN0cmluZyB7XG4gICAgaWYgKGRlZXAgPT0gMSkgcmV0dXJuICcnO1xuICAgIGlmICghcmVmKSB7XG4gICAgICBjb25zb2xlLmxvZygnQmFkIGpzb24gJHJlZiBpbnNpZGUgc3dhZ2dlcicpXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGxldCByZXMgPSAnJztcbiAgICByZWYgPSByZWYucmVwbGFjZSgnIy8nLCAnJykucmVwbGFjZSgvXFwvL2csICcuJyk7XG5cbiAgICBsZXQgb2JqOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyRGVmID0gPE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJEZWY+Xy5nZXQoc3dnLCByZWYpO1xuXG5cblxuXG5cblxuXG5cblxuICAgIF8uZm9yT3duKG9iai5wcm9wZXJ0aWVzLCAodiwgaykgPT4ge1xuXG4gICAgICBpZiAodi4kcmVmICYmIHR5cGVvZiB2LiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi4kcmVmLCBzd2csIGRlZXArKykgKyBcIn07XFxuXCI7XG4gICAgICB9IGVsc2UgaWYgKHYuc2NoZW1hICYmIHYuc2NoZW1hLiRyZWYgJiYgdHlwZW9mIHYuc2NoZW1hLiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi5zY2hlbWEuJHJlZiwgc3dnLCBkZWVwKyspICsgXCJ9O1xcblwiO1xuXG4gICAgICB9IGVsc2UgaWYgKHYuaXRlbXMgJiYgdi5pdGVtcy4kcmVmICYmIHR5cGVvZiB2Lml0ZW1zLiRyZWYgPT09IFwic3RyaW5nXCIgJiYgdi50eXBlICYmIHYudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICByZXMgKz0gayArIFwiOntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbih2Lml0ZW1zLiRyZWYsIHN3ZywgZGVlcCsrKSArIFwifVtdO1xcblwiO1xuXG5cbiAgICAgIH0gZWxzZSBpZiAodi5pdGVtcyAmJiB2Lml0ZW1zLiRyZWYgJiYgdHlwZW9mIHYuaXRlbXMuJHJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXMgKz0gayArIFwiOntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbih2Lml0ZW1zLiRyZWYsIHN3ZywgZGVlcCsrKSArIFwifTtcXG5cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBpc1JlcXVpcmVkID0gKG9iai5yZXF1aXJlZCAmJiBvYmoucmVxdWlyZWQgaW5zdGFuY2VvZiBBcnJheSAmJiBvYmoucmVxdWlyZWQuZmlsdGVyKG8gPT4gbyA9PT0gaykubGVuZ3RoID4gMClcbiAgICAgICAgbGV0IHR5cGUgPSAodi5lbnVtICYmIHYuZW51bSBpbnN0YW5jZW9mIEFycmF5ICYmIHYuZW51bS5sZW5ndGggPiAwKVxuICAgICAgICAgID8gdi5lbnVtLm1hcChlID0+ICdcIicgKyBlICsgJ1wiJykuam9pbignfCcpIDogdGhpcy5zd2FnZ2VyVHlwZVRvSlModi50eXBlLCB2Lml0ZW1zID8gdi5pdGVtcy50eXBlIDogJ2FueScpO1xuXG4gICAgICAgIHJlcyArPSBrICsgKCFpc1JlcXVpcmVkID8gJz8nIDogXCJcIikgKyBcIjpcIiArIHR5cGUgKyBcIjtcXG5cIlxuICAgICAgfVxuICAgIH0pO1xuXG5cblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHByaXZhdGUgcGF0aGVzID0ge1xuICAgKiAgICAgIGdldF9hbGxfY29tcGFuaWVzOiBuZXcgU2ltcGxlUmVzb3VyY2U8XG4gICAqICAgICAgICAgIHN0cmluZywgQSwgVEEsIFJQIGV4dGVuZHMgT2JqZWN0LCBRUCBleHRlbmRzIFJlc3QuVXJsUGFyYW1zPihlbmRwb2ludCwgbW9kZWwpLFxuICAgKiAgICAgIGdldF9ieWlkX2NvbXBhbmllczogbmV3IFNpbXBsZVJlc291cmNlPFxuICAgKiAgICAgICAgICBzdHJpbmcsIEEsIFRBLCBSUCBleHRlbmRzIE9iamVjdCwgUVAgZXh0ZW5kcyBSZXN0LlVybFBhcmFtcz4oZW5kcG9pbnQsIG1vZGVsKVxuICAgKiB9XG4gICAqL1xuICBzdGF0aWMgZ2V0QW5ndWxhclByaXZhdGVQYXRoZXNCeVRhZyhzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCwgdGFnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyVGFnKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBiYXNlID0gc3dnLmJhc2VQYXRoLnJlcGxhY2UoJy8nLCAnJyk7XG5cbiAgICBsZXQgcGF0aGVzOiBPYmplY3QgPSB7fTtcbiAgICBfLmZvck93bihzd2cucGF0aHMsICh2LCBrKSA9PiB7XG4gICAgICBfLmZvck93bih2LCAodjIsIGsyKSA9PiB7XG4gICAgICAgIGlmIChfLmlzQXJyYXkodjIudGFncykgJiYgdjIudGFncy5maWx0ZXIoZiA9PiBmID09PSB0YWcubmFtZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGxldCByZXNwID0gdjIucmVzcG9uc2VzWycyMDAnXSAmJiB2Mi5yZXNwb25zZXNbJzIwMCddLnNjaGVtYTtcblxuXG5cblxuICAgICAgICAgIGlmIChwYXRoZXNba10gPT09IHZvaWQgMCkgcGF0aGVzW2tdID0ge307IC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBsZXQgdHlwZSA9IHRoaXMuZ2V0UmVzcG9uc2VUeXBlKHJlc3AsIHN3Zyk7XG5cbiAgICAgICAgICBpZiAodHlwZS5sZW5ndGggPiAzICYmIHR5cGUuY2hhckF0KHR5cGUubGVuZ3RoIC0gMSkgPT09ICddJyAmJiB0eXBlLmNoYXJBdCh0eXBlLmxlbmd0aCAtIDIpID09PSAnWydcbiAgICAgICAgICAgICYmICFwYXRoZXNba11bJ2FycmF5J10pIHtcbiAgICAgICAgICAgIHBhdGhlc1trXVsnYXJyYXknXSA9IHR5cGU7XG4gICAgICAgICAgfSBlbHNlIGlmIChrMiAhPT0gJ2RlbGV0ZScgJiYgIXBhdGhlc1trXVsnc2luZ2xlJ10pIHtcbiAgICAgICAgICAgIHBhdGhlc1trXVsnc2luZ2xlJ10gPSB0eXBlO1xuICAgICAgICAgIH1cblxuXG5cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgbGV0IHBhdGhSZXNvdXJjZXM6IE1vZGVscy5QYXRoUmVzb3VyY2VbXSA9IFtdO1xuXG4gICAgXy5mb3JPd24ocGF0aGVzLCAodiwgcCkgPT4ge1xuXG4gICAgICBwYXRoUmVzb3VyY2VzLnB1c2goe1xuICAgICAgICBjbGVhbl9wYXRoOiB0aGlzLmNsZWFuUGF0aChwKSxcbiAgICAgICAgbW9kZWw6IHRoaXMuY2xlYW5QYXRoTW9kZWwocCksXG4gICAgICAgIGVuZHBvaW50OiBzd2cuYmFzZVBhdGgsXG4gICAgICAgIHNpbmdsZU1vZGVsVHlwZTogIXZbJ3NpbmdsZSddID8gJ2FueScgOiB2WydzaW5nbGUnXSxcbiAgICAgICAgbXVsdGlwbGVNb2RlbFR5cGU6ICF2WydhcnJheSddID8gJ2FueScgOiB2WydhcnJheSddLFxuICAgICAgICBxdWVyeVBhcmFtc1R5cGU6ICdhbnknLFxuICAgICAgICBwYXRoUGFyYW1zVHlwZTogJ2FueSdcbiAgICAgIH0pXG4gICAgfSlcblxuXG4gICAgcGF0aFJlc291cmNlcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgcmVzLnB1c2goYCR7cC5jbGVhbl9wYXRofTogbmV3IFNpbXBsZVJlc291cmNlPFxcbiR7cC5zaW5nbGVNb2RlbFR5cGV9LFxcbiR7cC5tdWx0aXBsZU1vZGVsVHlwZX1cXG4+KCBOZzJSZXN0R2VuTW9kdWxlLmVucG9pbnRVcmxzLiR7dGhpcy5ncm91cEZyb21KU09OLmZvbGRlck5hbWUoc3dnKX0sICcke3AubW9kZWx9JyApYCk7XG4gICAgfSlcblxuICAgIHJldHVybiBgcHJpdmF0ZSBwYXRoZXMgPSB7IFxcbiR7cmVzLmpvaW4oJyxcXG4nKX1cXG59O2BcbiAgfVxuXG5cbiAgLypcbiAgIHNjaGVtYVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9Db21wYW55RFRPXCJcbiAgICAgIH1cbiAgfVxuXG4gIFwic2NoZW1hXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvQ29tcGFueURUT1wiXG4gIH1cbiAgICovXG5cbiAgc3RhdGljIGdldFJlc3BvbnNlVHlwZShvOiBNb2RlbHMuU3dhZ2dlci5PYmpTY2hlbWEsIHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsKSB7XG4gICAgbGV0IHJlcyA9ICd7fSB8IGFueSc7XG4gICAgaWYgKG8gJiYgby4kcmVmICYmIHR5cGVvZiBvLiRyZWYgPT09ICdzdHJpbmcnICYmIG8uJHJlZi50cmltKCkgIT09ICcnKSB7XG4gICAgICByZXMgPSBcIntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbihvLiRyZWYsIHN3ZykgKyBcIn1cIjtcblxuICAgIH0gZWxzZSBpZiAobyAmJiBvLnR5cGUgPT09ICdhcnJheScgJiYgby5pdGVtcyAmJiBvLml0ZW1zLiRyZWYgJiZcbiAgICAgIHR5cGVvZiBvLml0ZW1zLiRyZWYgPT09ICdzdHJpbmcnICYmIG8uaXRlbXMuJHJlZi50cmltKCkgIT09ICcnKSB7XG4gICAgICByZXMgPSBcIntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbihvLml0ZW1zLiRyZWYsIHN3ZykgKyBcIn1bXVwiO1xuXG4gICAgfVxuXG5cblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIHByaXZhdGUgc3RhdGljIGNvdW50MSA9IDA7XG5cbiAgc3RhdGljIHJlY3JlYXRlU3VtbWFyeShzdW1tYXJ5OiBzdHJpbmcpIHtcblxuXG5cbiAgICByZXR1cm4gc3VtbWFyeTtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IgbGliL2hlbHBlcnMudHMiXX0=
388
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3Byb2plY3RzL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQVUsS0FBSyxDQUFDLEtBQUssQ0FBTSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyxDQUFBLEtBQUs7QUFRbEUsT0FBTyxFQUFFLFdBQVcsSUFBSSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1RCxNQUFhLGNBQWUsU0FBUSxVQUFVO2FBRXJDLFdBQU0sR0FBRztRQUNkLFNBQVMsRUFBRSxNQUFNLEVBQUU7UUFDbkIsYUFBYSxFQUFFLE1BQU0sRUFBRTtLQUN4QixDQUFBO0lBSUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFtQyxFQUFFLFVBQWtCO1FBQ3pFLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUE7UUFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBZ0MsRUFBRSxRQUFnQixFQUFFLGFBQXNCO1FBQzVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUV0QyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUNwRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNqQixHQUFHLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtTQUNsQjtJQUNILENBQUM7SUFFSCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBSUgsTUFBTSxLQUFLLGNBQWM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBR2xCLE9BQU87WUFDTCxhQUFhO2dCQUNYLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQTtnQkFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFBO29CQUNyRCxDQUFDLENBQUMsQ0FBQTtnQkFDSixDQUFDLENBQUMsQ0FBQTtnQkFDRixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxTQUFTLENBQUMsR0FBZ0MsRUFBRSxHQUE4QjtnQkFDeEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBRTFELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ2xFLE9BQU8sR0FBRyxlQUFlLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxDQUFDO1lBQ0QsZ0JBQWdCLENBQUMsR0FBZ0MsRUFBRSxHQUE4QjtnQkFFL0UsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDakgsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxLQUFLLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6QixPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxDQUFBO1FBQzlELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUlELE1BQU0sS0FBSyxZQUFZO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUdsQixPQUFPO1lBQ0wsSUFBSSxNQUFNO2dCQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNyQixDQUFDO1lBRUQsSUFBSSxpQkFBaUI7Z0JBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLE9BQU8sR0FBRyxPQUFPLFdBQVcsQ0FBQztZQUMvQixDQUFDO1lBQ0QsSUFBSSxrQkFBa0I7Z0JBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLE9BQU8sR0FBRyxPQUFPLFlBQVksQ0FBQztZQUNoQyxDQUFDO1lBRUQsSUFBSSxtQkFBbUI7Z0JBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLE9BQU8sR0FBRyxPQUFPLFdBQVcsQ0FBQztZQUMvQixDQUFDO1lBRUQsSUFBSSwwQkFBMEI7Z0JBQzVCLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixXQUFXLENBQUM7WUFDN0QsQ0FBQztZQUVELDZCQUE2QixDQUFDLEdBQWdDO2dCQUM1RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFFMUQsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLElBQUksZUFBZSxFQUFFLENBQUM7WUFDdkUsQ0FBQztZQUVELG9DQUFvQyxDQUFDLEdBQWdDO2dCQUNuRSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQzVFLENBQUM7WUFFRCwwQ0FBMEMsQ0FBQyxHQUFnQyxFQUFFLEdBQThCO2dCQUN6RyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2hFLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQWUsS0FBSyxDQUFDO1lBQ3pGLENBQUM7U0FFRixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sS0FBSyxhQUFhO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPO1lBQ0wsSUFBSSxhQUFhO2dCQUNmLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQTtnQkFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDaEQsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsVUFBVSxDQUFDLEdBQWdDO2dCQUN6QyxNQUFNLFFBQVEsR0FBVyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUN0QyxNQUFNLEtBQUssR0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDakQsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN2RixDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQWdDO1FBQzlDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3JCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxFQUFHLGFBQWE7NEJBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTt5QkFDekI7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBT0Q7O09BRUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBR0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFpQjtRQUNyQyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdELE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBb0UsRUFBRSxZQUFpQixLQUFLO1FBQ2pILE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFDcEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUk7Z0JBQ2hGLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUlELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXLEVBQUUsR0FBZ0MsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUNoRixJQUFJLElBQUksSUFBSSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQTtZQUMzQyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFaEQsSUFBSSxHQUFHLEdBQXlELENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBVWhGLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUVoQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDeEMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO2FBQzFFO2lCQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDekUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQzthQUVqRjtpQkFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDdEcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQzthQUdsRjtpQkFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3RFLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7YUFDaEY7aUJBQU07Z0JBQ0wsSUFBSSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLFlBQVksS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDaEgsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTVHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQTthQUN6RDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBSUgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBSUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxHQUFnQyxFQUFFLEdBQThCO1FBQ2xHLElBQUksR0FBRyxHQUFhLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekMsSUFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDeEUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFLN0QsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO3dCQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxhQUFhO29CQUN2RCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFFM0MsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHOzJCQUM5RixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDM0I7eUJBQU0sSUFBSSxFQUFFLEtBQUssUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO3dCQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO3FCQUM1QjtpQkFJRjtZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLGFBQWEsR0FBMEIsRUFBRSxDQUFDO1FBRTlDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBRXhCLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7Z0JBQ3RCLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUNuRCxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNuRCxlQUFlLEVBQUUsS0FBSztnQkFDdEIsY0FBYyxFQUFFLEtBQUs7YUFDdEIsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7UUFHRixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSwwQkFBMEIsQ0FBQyxDQUFDLGVBQWUsTUFBTSxDQUFDLENBQUMsaUJBQWlCLHFDQUFxQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztRQUN6TCxDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQTtJQUN0RCxDQUFDO0lBR0Q7Ozs7Ozs7Ozs7O09BV0c7SUFFSCxNQUFNLENBQUMsZUFBZSxDQUFDLENBQTJCLEVBQUUsR0FBZ0M7UUFDbEYsSUFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNyRSxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUV6RDthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJO1lBQzNELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNoRSxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FFakU7UUFJRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFSCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO2FBRVksV0FBTSxHQUFHLENBQUMsQ0FBQztJQUUxQixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQWU7UUFJcEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7U0FuZFUsY0FBYztBQW1nQjFCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0VBQXNFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgICBwYXRoLCAvKiAqLyAvKiAqLyAgICAgIF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMgYXMgVG5wSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWhlbHBlcnMvd2Vic3FsJztcblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc1N3YWdnZXIgZXh0ZW5kcyBUbnBIZWxwZXJzIHtcblxuICBzdGF0aWMgU1lNQk9MID0ge1xuICAgIElOREVYX1NXRzogU3ltYm9sKCksXG4gICAgT1VUUFVUX0ZPTERFUjogU3ltYm9sKClcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG91dHB1dDogc3RyaW5nO1xuICBwcml2YXRlIHN0YXRpYyBhcGlzOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWxbXTtcbiAgc3RhdGljIHByZXBhcmVQYXRocyhhcGlzOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWxbXSwgb3V0cHV0QmFzZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vdXRwdXQgPSBgJHtwcm9jZXNzLmN3ZCgpfS8ke291dHB1dEJhc2V9YFxuICAgIHRoaXMuYXBpcyA9IGFwaXM7XG4gIH1cblxuICBzdGF0aWMgcHJlcGFyZU1vZGVsKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCBpbmRleFN3ZzogbnVtYmVyLCBpc0h0dHBzRW5hYmxlOiBib29sZWFuKSB7XG4gICAgc3dnW3RoaXMuU1lNQk9MLklOREVYX1NXR10gPSBpbmRleFN3ZztcblxuICAgIHN3Zy5ob3N0ID0gc3dnLmhvc3QgJiYgKGlzSHR0cHNFbmFibGUgPyAnaHR0cHMnIDogJ2h0dHAnKSArIGA6Ly8ke3N3Zy5ob3N0LnJlcGxhY2UoLzpbMC05XSovZywgJycpfWBcbiAgICBpZiAoIXN3Zy5iYXNlUGF0aCkge1xuICAgICAgc3dnLmJhc2VQYXRoID0gJydcbiAgICB9XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuICBzdGF0aWMgZ2V0IHNlcnZpY2VGcm9tVGFnKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cbiAgICByZXR1cm4ge1xuICAgICAgYWxsQ2xhc3NOYW1lcygpIHtcbiAgICAgICAgY29uc3QgbmFtZXMgPSBbXVxuICAgICAgICBzZWxmLmFwaXMubWFwKHN3ZyA9PiB7XG4gICAgICAgICAgc3dnLnRhZ3MuZm9yRWFjaCh0YWcgPT4geyAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBuYW1lcy5wdXNoKHNlbGYuc2VydmljZUZyb21UYWcuY2xhc3NOYW1lKHN3ZywgdGFnKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gbmFtZXM7XG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCB0YWc6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJUYWcpIHtcbiAgICAgICAgY29uc3QgZ3JvdXBGb2xkZXJOYW1lID0gc2VsZi5ncm91cEZyb21KU09OLmZvbGRlck5hbWUoc3dnKVxuXG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IF8udXBwZXJGaXJzdChfLmNhbWVsQ2FzZSh0YWcubmFtZSkpICsgJ1NlcnZpY2UnO1xuICAgICAgICByZXR1cm4gYCR7Z3JvdXBGb2xkZXJOYW1lfSR7Y2xhc3NOYW1lLnJlcGxhY2UoL1xcLy9nLCAnJyl9YDtcbiAgICAgIH0sXG4gICAgICBhYnNvbHV0ZUZpbGVQYXRoKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCB0YWc6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJUYWcpIHtcblxuICAgICAgICByZXR1cm4gYCR7c2VsZi5hYnNvbHV0ZVBhdGguUGF0aEZvbGRlcl9zZXJ2aWNlc19ncm91cE5hbWUoc3dnKX0vJHtzZWxmLnNlcnZpY2VGcm9tVGFnLmNsYXNzTmFtZShzd2csIHRhZyl9LnRzYDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0IGVuZHBvaW50cygpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlzLm1hcChzd2cgPT4ge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZ3JvdXBGcm9tSlNPTi5mb2xkZXJOYW1lKHN3Zyl9Oicke3N3Zy5ob3N0fSdgXG4gICAgfSlcbiAgfVxuXG5cblxuICBzdGF0aWMgZ2V0IGFic29sdXRlUGF0aCgpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBvdXRwdXQoKSB7XG4gICAgICAgIHJldHVybiBzZWxmLm91dHB1dDtcbiAgICAgIH0sXG5cbiAgICAgIGdldCBQYXRoRmlsZV9pbmRleF90cygpIHtcbiAgICAgICAgY29uc3QgQVBJcGF0aCA9IHNlbGYub3V0cHV0O1xuICAgICAgICByZXR1cm4gYCR7QVBJcGF0aH0vaW5kZXgudHNgO1xuICAgICAgfSxcbiAgICAgIGdldCBQYXRoRmlsZV9tb2R1bGVfdHMoKSB7XG4gICAgICAgIGNvbnN0IEFQSXBhdGggPSBzZWxmLm91dHB1dDtcbiAgICAgICAgcmV0dXJuIGAke0FQSXBhdGh9L21vZHVsZS50c2A7XG4gICAgICB9LFxuXG4gICAgICBnZXQgUGF0aEZvbGRlcl9zZXJ2aWNlcygpIHtcbiAgICAgICAgY29uc3QgQVBJcGF0aCA9IHNlbGYub3V0cHV0O1xuICAgICAgICByZXR1cm4gYCR7QVBJcGF0aH0vc2VydmljZXNgO1xuICAgICAgfSxcblxuICAgICAgZ2V0IFBhdGhGaWxlX3NlcnZpY2VzX2luZGV4X3RzKCkge1xuICAgICAgICByZXR1cm4gYCR7c2VsZi5hYnNvbHV0ZVBhdGguUGF0aEZvbGRlcl9zZXJ2aWNlc30vaW5kZXgudHNgO1xuICAgICAgfSxcblxuICAgICAgUGF0aEZvbGRlcl9zZXJ2aWNlc19ncm91cE5hbWUoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwpIHtcbiAgICAgICAgY29uc3QgZ3JvdXBGb2xkZXJOYW1lID0gc2VsZi5ncm91cEZyb21KU09OLmZvbGRlck5hbWUoc3dnKVxuXG4gICAgICAgIHJldHVybiBgJHtzZWxmLmFic29sdXRlUGF0aC5QYXRoRm9sZGVyX3NlcnZpY2VzfS8ke2dyb3VwRm9sZGVyTmFtZX1gO1xuICAgICAgfSxcblxuICAgICAgUGF0aEZpbGVfc2VydmljZXNfZ3JvdXBOYW1lX2luZGV4X3RzKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsKSB7XG4gICAgICAgIHJldHVybiBgJHtzZWxmLmFic29sdXRlUGF0aC5QYXRoRm9sZGVyX3NlcnZpY2VzX2dyb3VwTmFtZShzd2cpfS9pbmRleC50c2A7XG4gICAgICB9LFxuXG4gICAgICBQYXRoRmlsZV9zZXJ2aWNlc19ncm91cE5BbWVfc2VydmljZU5hbWVfdHMoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwsIHRhZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlclRhZykge1xuICAgICAgICBjb25zdCBzZXJ2aWNlRmlsZU5hbWUgPSBzZWxmLnNlcnZpY2VGcm9tVGFnLmNsYXNzTmFtZShzd2csIHRhZyk7XG4gICAgICAgIHJldHVybiBgJHtzZWxmLmFic29sdXRlUGF0aC5QYXRoRm9sZGVyX3NlcnZpY2VzX2dyb3VwTmFtZShzd2cpfS8ke3NlcnZpY2VGaWxlTmFtZX0udHNgO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldCBncm91cEZyb21KU09OKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiB7XG4gICAgICBnZXQgYWxsR3JvdXBOYW1lcygpIHtcbiAgICAgICAgY29uc3QgbmFtZXMgPSBbXVxuICAgICAgICBzZWxmLmFwaXMubWFwKHN3ZyA9PiB7ICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgbmFtZXMucHVzaChzZWxmLmdyb3VwRnJvbUpTT04uZm9sZGVyTmFtZShzd2cpKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gbmFtZXM7XG4gICAgICB9LFxuICAgICAgZm9sZGVyTmFtZShzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCkge1xuICAgICAgICBjb25zdCBiYXNlUGF0aDogc3RyaW5nID0gc3dnLmJhc2VQYXRoO1xuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gc3dnW3NlbGYuU1lNQk9MLklOREVYX1NXR107XG4gICAgICAgIHJldHVybiBfLnVwcGVyRmlyc3QoXy5jYW1lbENhc2UoYmFzZVBhdGgudHJpbSgpID09PSAnJyA/IGBqc29uJHtpbmRleH1gIDogYmFzZVBhdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZmluZFRhZ3Moc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwpIHtcbiAgICBjb25zdCB0YWdzID0gW11cbiAgICBPYmplY3Qua2V5cyhzd2cucGF0aHMpLmZvckVhY2gocCA9PiB7XG4gICAgICBPYmplY3Qua2V5cyhzd2cucGF0aHNbcF0pLmZvckVhY2gobSA9PiB7XG4gICAgICAgIGNvbnN0IGEgPSBzd2cucGF0aHNbcF1bbV07XG4gICAgICAgIGlmIChfLmlzQXJyYXkoYS50YWdzKSkge1xuICAgICAgICAgIGEudGFncy5mb3JFYWNoKHRhZyA9PiB7XG4gICAgICAgICAgICBpZiAodGFncy5maWx0ZXIoKHsgbmFtZSB9KSA9PiBuYW1lID09PSB0YWcpLmxlbmd0aCA9PT0gMCkgeyAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICB0YWdzLnB1c2goeyBuYW1lOiB0YWcgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICAgIHJldHVybiB0YWdzO1xuICB9XG5cblxuXG5cblxuXG4gIC8qKlxuICAgKiBUbyBnZW5lcmF0ZSBnZXQvYm9va3Mve2lkfSA9PiBnZXRfYm9va3NfX2lkX1xuICAgKi9cbiAgc3RhdGljIGNsZWFuUGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC97L2csIFwiX1wiKS5yZXBsYWNlKC99L2csIFwiX1wiKS5yZXBsYWNlKC9cXC8vZywgXCJfXCIpLnJlcGxhY2UoLy0vZywgXCJfXCIpO1xuICB9XG5cblxuICBzdGF0aWMgY2xlYW5QYXRoTW9kZWwocGF0aE1vZGVsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcGF0aE1vZGVsLnJlcGxhY2UoL1xcL3svZywgJy86JykucmVwbGFjZSgvfS9nLCAnJyk7XG4gIH1cblxuXG4gIHN0YXRpYyBzd2FnZ2VyVHlwZVRvSlModHlwZTogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImludGVnZXJcIiB8IFwiYm9vbGVhblwiIHwgXCJhcnJheVwiIHwgXCJmaWxlXCIsIGl0ZW1zVHlwZTogYW55ID0gJ2FueScpIHtcbiAgICByZXR1cm4gKHR5cGUgPT09ICdpbnRlZ2VyJykgPyAnbnVtYmVyJ1xuICAgICAgOiAodHlwZSA9PT0gJ2FycmF5JykgPyAhaXRlbXNUeXBlID8gJ2FueScgOiBgJHt0aGlzLnN3YWdnZXJUeXBlVG9KUyhpdGVtc1R5cGUpfVtdYFxuICAgICAgICA6ICh0eXBlID09PSAnZmlsZScpID8gJ2FueScgOiB0eXBlO1xuICB9XG5cblxuXG4gIHN0YXRpYyBnZXRPYmplY3REZWZpbml0aW9uKHJlZjogc3RyaW5nLCBzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCwgZGVlcCA9IDApOiBzdHJpbmcge1xuICAgIGlmIChkZWVwID09IDEpIHJldHVybiAnJztcbiAgICBpZiAoIXJlZikge1xuICAgICAgY29uc29sZS5sb2coJ0JhZCBqc29uICRyZWYgaW5zaWRlIHN3YWdnZXInKVxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBsZXQgcmVzID0gJyc7XG4gICAgcmVmID0gcmVmLnJlcGxhY2UoJyMvJywgJycpLnJlcGxhY2UoL1xcLy9nLCAnLicpO1xuXG4gICAgbGV0IG9iajogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlckRlZiA9IDxNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyRGVmPl8uZ2V0KHN3ZywgcmVmKTtcblxuXG5cblxuXG5cblxuXG5cbiAgICBfLmZvck93bihvYmoucHJvcGVydGllcywgKHYsIGspID0+IHtcblxuICAgICAgaWYgKHYuJHJlZiAmJiB0eXBlb2Ygdi4kcmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJlcyArPSBrICsgXCI6e1wiICsgdGhpcy5nZXRPYmplY3REZWZpbml0aW9uKHYuJHJlZiwgc3dnLCBkZWVwKyspICsgXCJ9O1xcblwiO1xuICAgICAgfSBlbHNlIGlmICh2LnNjaGVtYSAmJiB2LnNjaGVtYS4kcmVmICYmIHR5cGVvZiB2LnNjaGVtYS4kcmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJlcyArPSBrICsgXCI6e1wiICsgdGhpcy5nZXRPYmplY3REZWZpbml0aW9uKHYuc2NoZW1hLiRyZWYsIHN3ZywgZGVlcCsrKSArIFwifTtcXG5cIjtcblxuICAgICAgfSBlbHNlIGlmICh2Lml0ZW1zICYmIHYuaXRlbXMuJHJlZiAmJiB0eXBlb2Ygdi5pdGVtcy4kcmVmID09PSBcInN0cmluZ1wiICYmIHYudHlwZSAmJiB2LnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi5pdGVtcy4kcmVmLCBzd2csIGRlZXArKykgKyBcIn1bXTtcXG5cIjtcblxuXG4gICAgICB9IGVsc2UgaWYgKHYuaXRlbXMgJiYgdi5pdGVtcy4kcmVmICYmIHR5cGVvZiB2Lml0ZW1zLiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi5pdGVtcy4kcmVmLCBzd2csIGRlZXArKykgKyBcIn07XFxuXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaXNSZXF1aXJlZCA9IChvYmoucmVxdWlyZWQgJiYgb2JqLnJlcXVpcmVkIGluc3RhbmNlb2YgQXJyYXkgJiYgb2JqLnJlcXVpcmVkLmZpbHRlcihvID0+IG8gPT09IGspLmxlbmd0aCA+IDApXG4gICAgICAgIGxldCB0eXBlID0gKHYuZW51bSAmJiB2LmVudW0gaW5zdGFuY2VvZiBBcnJheSAmJiB2LmVudW0ubGVuZ3RoID4gMClcbiAgICAgICAgICA/IHYuZW51bS5tYXAoZSA9PiAnXCInICsgZSArICdcIicpLmpvaW4oJ3wnKSA6IHRoaXMuc3dhZ2dlclR5cGVUb0pTKHYudHlwZSwgdi5pdGVtcyA/IHYuaXRlbXMudHlwZSA6ICdhbnknKTtcblxuICAgICAgICByZXMgKz0gayArICghaXNSZXF1aXJlZCA/ICc/JyA6IFwiXCIpICsgXCI6XCIgKyB0eXBlICsgXCI7XFxuXCJcbiAgICAgIH1cbiAgICB9KTtcblxuXG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBwcml2YXRlIHBhdGhlcyA9IHtcbiAgICogICAgICBnZXRfYWxsX2NvbXBhbmllczogbmV3IFNpbXBsZVJlc291cmNlPFxuICAgKiAgICAgICAgICBzdHJpbmcsIEEsIFRBLCBSUCBleHRlbmRzIE9iamVjdCwgUVAgZXh0ZW5kcyBSZXN0LlVybFBhcmFtcz4oZW5kcG9pbnQsIG1vZGVsKSxcbiAgICogICAgICBnZXRfYnlpZF9jb21wYW5pZXM6IG5ldyBTaW1wbGVSZXNvdXJjZTxcbiAgICogICAgICAgICAgc3RyaW5nLCBBLCBUQSwgUlAgZXh0ZW5kcyBPYmplY3QsIFFQIGV4dGVuZHMgUmVzdC5VcmxQYXJhbXM+KGVuZHBvaW50LCBtb2RlbClcbiAgICogfVxuICAgKi9cbiAgc3RhdGljIGdldEFuZ3VsYXJQcml2YXRlUGF0aGVzQnlUYWcoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwsIHRhZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlclRhZyk6IHN0cmluZyB7XG4gICAgbGV0IHJlczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgYmFzZSA9IHN3Zy5iYXNlUGF0aC5yZXBsYWNlKCcvJywgJycpO1xuXG4gICAgbGV0IHBhdGhlczogT2JqZWN0ID0ge307XG4gICAgXy5mb3JPd24oc3dnLnBhdGhzLCAodiwgaykgPT4ge1xuICAgICAgXy5mb3JPd24odiwgKHYyLCBrMikgPT4ge1xuICAgICAgICBpZiAoXy5pc0FycmF5KHYyLnRhZ3MpICYmIHYyLnRhZ3MuZmlsdGVyKGYgPT4gZiA9PT0gdGFnLm5hbWUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBsZXQgcmVzcCA9IHYyLnJlc3BvbnNlc1snMjAwJ10gJiYgdjIucmVzcG9uc2VzWycyMDAnXS5zY2hlbWE7XG5cblxuXG5cbiAgICAgICAgICBpZiAocGF0aGVzW2tdID09PSB2b2lkIDApIHBhdGhlc1trXSA9IHt9OyAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgbGV0IHR5cGUgPSB0aGlzLmdldFJlc3BvbnNlVHlwZShyZXNwLCBzd2cpO1xuXG4gICAgICAgICAgaWYgKHR5cGUubGVuZ3RoID4gMyAmJiB0eXBlLmNoYXJBdCh0eXBlLmxlbmd0aCAtIDEpID09PSAnXScgJiYgdHlwZS5jaGFyQXQodHlwZS5sZW5ndGggLSAyKSA9PT0gJ1snXG4gICAgICAgICAgICAmJiAhcGF0aGVzW2tdWydhcnJheSddKSB7XG4gICAgICAgICAgICBwYXRoZXNba11bJ2FycmF5J10gPSB0eXBlO1xuICAgICAgICAgIH0gZWxzZSBpZiAoazIgIT09ICdkZWxldGUnICYmICFwYXRoZXNba11bJ3NpbmdsZSddKSB7XG4gICAgICAgICAgICBwYXRoZXNba11bJ3NpbmdsZSddID0gdHlwZTtcbiAgICAgICAgICB9XG5cblxuXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGxldCBwYXRoUmVzb3VyY2VzOiBNb2RlbHMuUGF0aFJlc291cmNlW10gPSBbXTtcblxuICAgIF8uZm9yT3duKHBhdGhlcywgKHYsIHApID0+IHtcblxuICAgICAgcGF0aFJlc291cmNlcy5wdXNoKHtcbiAgICAgICAgY2xlYW5fcGF0aDogdGhpcy5jbGVhblBhdGgocCksXG4gICAgICAgIG1vZGVsOiB0aGlzLmNsZWFuUGF0aE1vZGVsKHApLFxuICAgICAgICBlbmRwb2ludDogc3dnLmJhc2VQYXRoLFxuICAgICAgICBzaW5nbGVNb2RlbFR5cGU6ICF2WydzaW5nbGUnXSA/ICdhbnknIDogdlsnc2luZ2xlJ10sXG4gICAgICAgIG11bHRpcGxlTW9kZWxUeXBlOiAhdlsnYXJyYXknXSA/ICdhbnknIDogdlsnYXJyYXknXSxcbiAgICAgICAgcXVlcnlQYXJhbXNUeXBlOiAnYW55JyxcbiAgICAgICAgcGF0aFBhcmFtc1R5cGU6ICdhbnknXG4gICAgICB9KVxuICAgIH0pXG5cblxuICAgIHBhdGhSZXNvdXJjZXMuZm9yRWFjaChwID0+IHtcbiAgICAgIHJlcy5wdXNoKGAke3AuY2xlYW5fcGF0aH06IG5ldyBTaW1wbGVSZXNvdXJjZTxcXG4ke3Auc2luZ2xlTW9kZWxUeXBlfSxcXG4ke3AubXVsdGlwbGVNb2RlbFR5cGV9XFxuPiggTmcyUmVzdEdlbk1vZHVsZS5lbnBvaW50VXJscy4ke3RoaXMuZ3JvdXBGcm9tSlNPTi5mb2xkZXJOYW1lKHN3Zyl9LCAnJHtwLm1vZGVsfScgKWApO1xuICAgIH0pXG5cbiAgICByZXR1cm4gYHByaXZhdGUgcGF0aGVzID0geyBcXG4ke3Jlcy5qb2luKCcsXFxuJyl9XFxufTtgXG4gIH1cblxuXG4gIC8qXG4gICBzY2hlbWFcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvQ29tcGFueURUT1wiXG4gICAgICB9XG4gIH1cblxuICBcInNjaGVtYVwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL0NvbXBhbnlEVE9cIlxuICB9XG4gICAqL1xuXG4gIHN0YXRpYyBnZXRSZXNwb25zZVR5cGUobzogTW9kZWxzLlN3YWdnZXIuT2JqU2NoZW1hLCBzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCkge1xuICAgIGxldCByZXMgPSAne30gfCBhbnknO1xuICAgIGlmIChvICYmIG8uJHJlZiAmJiB0eXBlb2Ygby4kcmVmID09PSAnc3RyaW5nJyAmJiBvLiRyZWYudHJpbSgpICE9PSAnJykge1xuICAgICAgcmVzID0gXCJ7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24oby4kcmVmLCBzd2cpICsgXCJ9XCI7XG5cbiAgICB9IGVsc2UgaWYgKG8gJiYgby50eXBlID09PSAnYXJyYXknICYmIG8uaXRlbXMgJiYgby5pdGVtcy4kcmVmICYmXG4gICAgICB0eXBlb2Ygby5pdGVtcy4kcmVmID09PSAnc3RyaW5nJyAmJiBvLml0ZW1zLiRyZWYudHJpbSgpICE9PSAnJykge1xuICAgICAgcmVzID0gXCJ7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24oby5pdGVtcy4kcmVmLCBzd2cpICsgXCJ9W11cIjtcblxuICAgIH1cblxuXG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICBwcml2YXRlIHN0YXRpYyBjb3VudDEgPSAwO1xuXG4gIHN0YXRpYyByZWNyZWF0ZVN1bW1hcnkoc3VtbWFyeTogc3RyaW5nKSB7XG5cblxuXG4gICAgcmV0dXJuIHN1bW1hcnk7XG4gIH1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yIGxpYi9oZWxwZXJzLnRzIl19
@@ -1,4 +1,4 @@
1
1
  export * from './helpers';
2
2
  ;
3
3
  ({}); // @--end-of-file-for-module=ng2-rest-swagger-generator lib/index.ts
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9wcm9qZWN0cy9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBRXpCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0VBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yIGxpYi9pbmRleC50cyJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9wcm9qZWN0cy9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsV0FBVyxDQUFDO0FBRXpCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0VBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvciBsaWIvaW5kZXgudHMiXX0=
@@ -5,4 +5,4 @@ export var Models;
5
5
  })(Models || (Models = {}));
6
6
  ;
7
7
  ({}); // @--end-of-file-for-module=ng2-rest-swagger-generator lib/models.ts
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IvcHJvamVjdHMvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3Ivc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxLQUFXLE1BQU0sQ0EyTHRCO0FBM0xELFdBQWlCLE1BQU07SUFDUCxhQUFNLEdBQUcsWUFBWSxDQUFDO0FBMEx0QyxDQUFDLEVBM0xnQixNQUFNLEtBQU4sTUFBTSxRQTJMdEI7QUFDQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFFQUFxRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVscyBhcyBNb3JwaGlNb2RlbHMgfSBmcm9tICdtb3JwaGkvd2Vic3FsJztcblxuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG4gIGV4cG9ydCBpbXBvcnQgTW9ycGhpID0gTW9ycGhpTW9kZWxzO1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGF0aFJlc291cmNlIHtcbiAgICBjbGVhbl9wYXRoPzogc3RyaW5nO1xuICAgIHNpbmdsZU1vZGVsVHlwZT86IHN0cmluZztcbiAgICBtdWx0aXBsZU1vZGVsVHlwZT86IHN0cmluZztcbiAgICBwYXRoUGFyYW1zVHlwZT86IHN0cmluZztcbiAgICBxdWVyeVBhcmFtc1R5cGU/OiBzdHJpbmc7XG4gICAgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gICAgbW9kZWw/OiBzdHJpbmc7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFBhcmFtIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nOyAvLyBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiaW50ZWdlclwiIHwgXCJib29sZWFuXCIgfCBcImFycmF5XCIgfCBcImZpbGVcIjtcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBpc09iamVjdD86IGJvb2xlYW47XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VNZXRob2Qge1xuICAgIHN1bW1hcnk6IHN0cmluZztcbiAgICBwYXRoX2NsZWFuZDogc3RyaW5nO1xuICAgIHBhcmFtczoge1xuICAgICAgcGF0aD86IFBhcmFtW107XG4gICAgICBxdWVyeT86IFBhcmFtW107XG4gICAgICBib2R5PzogUGFyYW1bXTtcbiAgICB9XG4gICAgbWV0aG9kOiBNb3JwaGkuUmVzdC5IdHRwTWV0aG9kO1xuICAgIGlzQXJyYXk6IGJvb2xlYW47XG4gICAgY29tbWVudD86IHN0cmluZztcbiAgfVxuXG5cblxuICBleHBvcnQgbmFtZXNwYWNlIFN3YWdnZXIge1xuICAgIGV4cG9ydCB0eXBlIERhdGFGb3JtYXQgPSAnaW50MzInIHwgJ2ludDY0JyB8ICdkb3VibGUnIHwgJ2Zsb2F0J1xuICAgIGV4cG9ydCB0eXBlIERhdGFUeXBlID0gJ29iamVjdCcgfCAnYXJyYXknIHwgJ3N0cmluZycgfCAnYm9vbGVhbidcblxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBQcm9wZXJ0eU5hbWUge1xuICAgICAgW25hbWU6IHN0cmluZ106IFBhcmFtZXRlclxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlckRlZiB7XG4gICAgICByZXF1aXJlZDogc3RyaW5nW107XG4gICAgICB0eXBlOiBEYXRhVHlwZTtcbiAgICAgIHByb3BlcnRpZXM6IFByb3BlcnR5TmFtZTtcbiAgICB9XG5cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlckRlZmluaXRpb24ge1xuICAgICAgW25hbWU6IHN0cmluZ106IFN3YWdnZXJEZWY7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBPYmpTY2hlbWEge1xuICAgICAgJHJlZjogc3RyaW5nO1xuICAgICAgdHlwZTogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImludGVnZXJcIiB8IFwiYm9vbGVhblwiIHwgXCJhcnJheVwiIHwgXCJmaWxlXCI7XG4gICAgICBpdGVtczoge1xuICAgICAgICAkcmVmOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZSB7XG4gICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgc2NoZW1hOiBPYmpTY2hlbWE7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyUmVzcG9uc2Uge1xuICAgICAgW3BhdGg6IHN0cmluZ106IFJlc3BvbnNlO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyIHtcbiAgICAgICRyZWY6IHN0cmluZztcbiAgICAgIC8qKlxuICAgICAgICogXHRSZXF1aXJlZC4gVGhlIHNjaGVtYSBkZWZpbmluZyB0aGUgdHlwZSB1c2VkIGZvciB0aGUgYm9keSBwYXJhbWV0ZXIuXG4gICAgICAgKi9cbiAgICAgIHNjaGVtYToge1xuICAgICAgICAkcmVmOiBzdHJpbmc7XG4gICAgICAgIGl0ZW1zOiBQYXJhbWV0ZXI7XG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgICAgfVxuICAgICAgLyoqXG4gICAgICAgKiBSZXF1aXJlZC4gVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlci4gUGFyYW1ldGVyIG5hbWVzIGFyZSBjYXNlIHNlbnNpdGl2ZS5cbiAgICAgICAqIElmIGluIGlzIFwicGF0aFwiLCB0aGUgbmFtZSBmaWVsZCBNVVNUIGNvcnJlc3BvbmQgdG8gdGhlIGFzc29jaWF0ZWQgcGF0aCBzZWdtZW50XG4gICAgICAgKiBmcm9tIHRoZSBwYXRoIGZpZWxkIGluIHRoZSBQYXRocyBPYmplY3QuIFNlZSBQYXRoIFRlbXBsYXRpbmcgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uXG4gICAgICAgKiBGb3IgYWxsIG90aGVyIGNhc2VzLCB0aGUgbmFtZSBjb3JyZXNwb25kcyB0byB0aGUgcGFyYW1ldGVyIG5hbWUgdXNlZCBiYXNlZCBvbiB0aGUgaW4gcHJvcGVydHkuXG4gICAgICAgKi9cbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIGluOiAncXVlcnknIHwgJ3BhdGgnIHwgJ2JvZHknIHwgJ2Zvcm1EYXRhJyB8ICdoZWFkZXInO1xuICAgICAgLyoqXG4gICAgICAgKiBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXIuIFRoaXMgY291bGQgY29udGFpbiBleGFtcGxlcyBvZiB1c2UuXG4gICAgICAgKiAgR0ZNIHN5bnRheCBjYW4gYmUgdXNlZCBmb3IgcmljaCB0ZXh0IHJlcHJlc2VudGF0aW9uLlxuICAgICAgICovXG4gICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgLyoqXG4gICAgICAgKiBSZXF1aXJlZCBpZiB0eXBlIGlzIFwiYXJyYXlcIi4gRGVzY3JpYmVzIHRoZSB0eXBlIG9mIGl0ZW1zIGluIHRoZSBhcnJheS5cbiAgICAgICAqL1xuICAgICAgaXRlbXM6IFBhcmFtZXRlcjtcbiAgICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBTZXRzIHRoZSBhYmlsaXR5IHRvIHBhc3MgZW1wdHktdmFsdWVkIHBhcmFtZXRlcnMuIFRoaXMgaXMgdmFsaWQgb25seVxuICAgICAgICogZm9yIGVpdGhlciBxdWVyeSBvciBmb3JtRGF0YSBwYXJhbWV0ZXJzIGFuZCBhbGxvd3MgeW91IHRvIHNlbmQgYSBwYXJhbWV0ZXJcbiAgICAgICAqICB3aXRoIGEgbmFtZSBvbmx5IG9yIGFuIGVtcHR5IHZhbHVlLiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgICAgICovXG4gICAgICBhbGxvd0VtcHR5VmFsdWU6IGJvb2xlYW47XG4gICAgICAvKipcbiAgICAgICAqIFJlcXVpcmVkLiBUaGUgdHlwZSBvZiB0aGUgcGFyYW1ldGVyLiBTaW5jZSB0aGUgcGFyYW1ldGVyIGlzIG5vdCBsb2NhdGVkXG4gICAgICAgKiBhdCB0aGUgcmVxdWVzdCBib2R5LCBpdCBpcyBsaW1pdGVkIHRvIHNpbXBsZSB0eXBlcyAodGhhdCBpcywgbm90IGFuIG9iamVjdCkuXG4gICAgICAgKiAgVGhlIHZhbHVlIE1VU1QgYmUgb25lIG9mIFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIFwiaW50ZWdlclwiLCBcImJvb2xlYW5cIiwgXCJhcnJheVwiXG4gICAgICAgKiBvciBcImZpbGVcIi4gSWYgdHlwZSBpcyBcImZpbGVcIiwgdGhlIGNvbnN1bWVzIE1VU1QgYmUgZWl0aGVyIFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgICAgICogXCIgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIgb3IgYm90aCBhbmQgdGhlIHBhcmFtZXRlciBNVVNUIGJlIGluIFwiZm9ybURhdGFcIi5cbiAgICAgICAqL1xuICAgICAgdHlwZTogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImludGVnZXJcIiB8IFwiYm9vbGVhblwiIHwgXCJhcnJheVwiIHwgXCJmaWxlXCI7XG4gICAgICBmb3JtYXQ6IFwiaW50MzJcIiB8IFwiaW50NjRcIiB8IFwiZmxvYXRcIiB8IFwiZG91YmxlXCIgfCBcImJ5dGVcIiB8IFwiYmluYXJ5XCIgfCBcImRhdGVcIiB8IFwiZGF0ZS10aW1lXCIgfCBcInBhc3N3b3JkXCI7XG4gICAgICAvKipcbiAgICAgICAqIERldGVybWluZXMgdGhlIGZvcm1hdCBvZiB0aGUgYXJyYXkgaWYgdHlwZSBhcnJheSBpcyB1c2VkLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOlxuICAgICAgICogY3N2IC0gY29tbWEgc2VwYXJhdGVkIHZhbHVlcyBmb28sYmFyLlxuICAgICAgICogc3N2IC0gc3BhY2Ugc2VwYXJhdGVkIHZhbHVlcyBmb28gYmFyLlxuICAgICAgICogdHN2IC0gdGFiIHNlcGFyYXRlZCB2YWx1ZXMgZm9vXFx0YmFyLlxuICAgICAgICogcGlwZXMgLSBwaXBlIHNlcGFyYXRlZCB2YWx1ZXMgZm9vfGJhci5cbiAgICAgICAqIERlZmF1bHQgdmFsdWUgaXMgY3N2LlxuICAgICAgICovXG4gICAgICBjb2xsZWN0aW9uRm9ybWF0OiAnY3N2JyB8ICdzc3YnIHwgJ3RzdicgfCAncGlwZXMnO1xuICAgICAgLyoqXG4gICAgICAgKiBEZWNsYXJlcyB0aGUgdmFsdWUgb2YgdGhlIGl0ZW0gdGhhdCB0aGUgc2VydmVyIHdpbGwgdXNlIGlmIG5vbmUgaXMgcHJvdmlkZWQuXG4gICAgICAgKiAoTm90ZTogXCJkZWZhdWx0XCIgaGFzIG5vIG1lYW5pbmcgZm9yIHJlcXVpcmVkIGl0ZW1zLilcbiAgICAgICAqIFNlZSBodHRwOi8vanNvbi1zY2hlbWEub3JnL2xhdGVzdC9qc29uLXNjaGVtYS12YWxpZGF0aW9uLmh0bWwjYW5jaG9yMTAxLlxuICAgICAgICogIFVubGlrZSBKU09OIFNjaGVtYSB0aGlzIHZhbHVlIE1VU1QgY29uZm9ybSB0byB0aGUgZGVmaW5lZCB0eXBlIGZvciB0aGUgZGF0YSB0eXBlLlxuICAgICAgICovXG4gICAgICBkZWZhdWx0OiBhbnk7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSB2YWx1ZSBvZiB0aGlzIGtleXdvcmQgTVVTVCBiZSBhbiBhcnJheS5cbiAgICAgICAqIFRoaXMgYXJyYXkgU0hPVUxEIGhhdmUgYXQgbGVhc3Qgb25lIGVsZW1lbnQuXG4gICAgICAgKiBFbGVtZW50cyBpbiB0aGUgYXJyYXkgU0hPVUxEIGJlIHVuaXF1ZS5cbiAgICAgICAqIEVsZW1lbnRzIGluIHRoZSBhcnJheSBNQVkgYmUgb2YgYW55IHR5cGUsIGluY2x1ZGluZyBudWxsLlxuICAgICAgICogQW4gaW5zdGFuY2UgdmFsaWRhdGVzIHN1Y2Nlc3NmdWxseSBhZ2FpbnN0IHRoaXMga2V5d29yZCBpZiBpdHMgdmFsdWVcbiAgICAgICAqIGlzIGVxdWFsIHRvIG9uZSBvZiB0aGUgZWxlbWVudHMgaW4gdGhpcyBrZXl3b3JkJ3MgYXJyYXkgdmFsdWUuXG4gICAgICAgKi9cbiAgICAgIGVudW06IGFueVtdO1xuICAgICAgbWF4TGVuZ3RoOiBudW1iZXI7XG4gICAgICBtaW5MZW5ndGg6IG51bWJlcjtcbiAgICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gICAgICBtaW5JdGVtczogbnVtYmVyO1xuICAgICAgdW5pcXVlSXRlbXM6IGJvb2xlYW47XG4gICAgICBwYXR0ZXJuOiBudW1iZXI7XG4gICAgICBtYXhpbXVtOiBudW1iZXI7XG4gICAgICBleGNsdXNpdmVNYXhpbXVtOiBib29sZWFuO1xuICAgICAgbWluaW11bTogbnVtYmVyO1xuICAgICAgZXhjbHVzaXZlTWluaW11bTogbnVtYmVyO1xuICAgICAgbXVsdGlwbGVPZjogYm9vbGVhbjtcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIE1ldGhvZCB7XG4gICAgICB0YWdzOiBzdHJpbmdbXTtcbiAgICAgIHN1bW1hcnk6IHN0cmluZztcbiAgICAgIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gICAgICBjb25zdW1lczogc3RyaW5nW107XG4gICAgICBwcm9kdWNlczogc3RyaW5nW107XG4gICAgICBwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJbXTtcbiAgICAgIHJlc3BvbnNlczogU3dhZ2dlclJlc3BvbnNlW107XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyTWV0aG9kIHtcbiAgICAgIFtwYXRoOiBzdHJpbmddOiBNZXRob2Q7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyUGF0aCB7XG4gICAgICBbcGF0aDogc3RyaW5nXTogU3dhZ2dlck1ldGhvZDtcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJUYWcge1xuICAgICAgbmFtZTogc3RyaW5nO1xuXG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyTW9kZWwge1xuICAgICAgaG9zdDogc3RyaW5nO1xuICAgICAgYmFzZVBhdGg6IHN0cmluZztcbiAgICAgIHRhZ3M6IFN3YWdnZXJUYWdbXTtcbiAgICAgIHBhdGhzOiBTd2FnZ2VyUGF0aDtcbiAgICAgIGRlZmluaXRpb25zOiBTd2FnZ2VyRGVmaW5pdGlvbjtcbiAgICB9XG5cblxuICB9XG5cbn1cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvciBsaWIvbW9kZWxzLnRzIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IvcHJvamVjdHMvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3Ivc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxLQUFXLE1BQU0sQ0EyTHRCO0FBM0xELFdBQWlCLE1BQU07SUFDUCxhQUFNLEdBQUcsWUFBWSxDQUFDO0FBMEx0QyxDQUFDLEVBM0xnQixNQUFNLEtBQU4sTUFBTSxRQTJMdEI7QUFDQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFFQUFxRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBNb2RlbHMgYXMgTW9ycGhpTW9kZWxzIH0gZnJvbSAnbW9ycGhpL3dlYnNxbCc7XG5cblxuZXhwb3J0IG5hbWVzcGFjZSBNb2RlbHMge1xuICBleHBvcnQgaW1wb3J0IE1vcnBoaSA9IE1vcnBoaU1vZGVscztcblxuICBleHBvcnQgaW50ZXJmYWNlIFBhdGhSZXNvdXJjZSB7XG4gICAgY2xlYW5fcGF0aD86IHN0cmluZztcbiAgICBzaW5nbGVNb2RlbFR5cGU/OiBzdHJpbmc7XG4gICAgbXVsdGlwbGVNb2RlbFR5cGU/OiBzdHJpbmc7XG4gICAgcGF0aFBhcmFtc1R5cGU/OiBzdHJpbmc7XG4gICAgcXVlcnlQYXJhbXNUeXBlPzogc3RyaW5nO1xuICAgIGVuZHBvaW50Pzogc3RyaW5nO1xuICAgIG1vZGVsPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQYXJhbSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZzsgLy8gXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImludGVnZXJcIiB8IFwiYm9vbGVhblwiIHwgXCJhcnJheVwiIHwgXCJmaWxlXCI7XG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgaXNPYmplY3Q/OiBib29sZWFuO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlTWV0aG9kIHtcbiAgICBzdW1tYXJ5OiBzdHJpbmc7XG4gICAgcGF0aF9jbGVhbmQ6IHN0cmluZztcbiAgICBwYXJhbXM6IHtcbiAgICAgIHBhdGg/OiBQYXJhbVtdO1xuICAgICAgcXVlcnk/OiBQYXJhbVtdO1xuICAgICAgYm9keT86IFBhcmFtW107XG4gICAgfVxuICAgIG1ldGhvZDogTW9ycGhpLlJlc3QuSHR0cE1ldGhvZDtcbiAgICBpc0FycmF5OiBib29sZWFuO1xuICAgIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIH1cblxuXG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBTd2FnZ2VyIHtcbiAgICBleHBvcnQgdHlwZSBEYXRhRm9ybWF0ID0gJ2ludDMyJyB8ICdpbnQ2NCcgfCAnZG91YmxlJyB8ICdmbG9hdCdcbiAgICBleHBvcnQgdHlwZSBEYXRhVHlwZSA9ICdvYmplY3QnIHwgJ2FycmF5JyB8ICdzdHJpbmcnIHwgJ2Jvb2xlYW4nXG5cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgUHJvcGVydHlOYW1lIHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBQYXJhbWV0ZXJcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJEZWYge1xuICAgICAgcmVxdWlyZWQ6IHN0cmluZ1tdO1xuICAgICAgdHlwZTogRGF0YVR5cGU7XG4gICAgICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eU5hbWU7XG4gICAgfVxuXG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJEZWZpbml0aW9uIHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBTd2FnZ2VyRGVmO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgT2JqU2NoZW1hIHtcbiAgICAgICRyZWY6IHN0cmluZztcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgICAgaXRlbXM6IHtcbiAgICAgICAgJHJlZjogc3RyaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2Uge1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIHNjaGVtYTogT2JqU2NoZW1hO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlclJlc3BvbnNlIHtcbiAgICAgIFtwYXRoOiBzdHJpbmddOiBSZXNwb25zZTtcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlciB7XG4gICAgICAkcmVmOiBzdHJpbmc7XG4gICAgICAvKipcbiAgICAgICAqIFx0UmVxdWlyZWQuIFRoZSBzY2hlbWEgZGVmaW5pbmcgdGhlIHR5cGUgdXNlZCBmb3IgdGhlIGJvZHkgcGFyYW1ldGVyLlxuICAgICAgICovXG4gICAgICBzY2hlbWE6IHtcbiAgICAgICAgJHJlZjogc3RyaW5nO1xuICAgICAgICBpdGVtczogUGFyYW1ldGVyO1xuICAgICAgICB0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiaW50ZWdlclwiIHwgXCJib29sZWFuXCIgfCBcImFycmF5XCIgfCBcImZpbGVcIjtcbiAgICAgIH1cbiAgICAgIC8qKlxuICAgICAgICogUmVxdWlyZWQuIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuIFBhcmFtZXRlciBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUuXG4gICAgICAgKiBJZiBpbiBpcyBcInBhdGhcIiwgdGhlIG5hbWUgZmllbGQgTVVTVCBjb3JyZXNwb25kIHRvIHRoZSBhc3NvY2lhdGVkIHBhdGggc2VnbWVudFxuICAgICAgICogZnJvbSB0aGUgcGF0aCBmaWVsZCBpbiB0aGUgUGF0aHMgT2JqZWN0LiBTZWUgUGF0aCBUZW1wbGF0aW5nIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLlxuICAgICAgICogRm9yIGFsbCBvdGhlciBjYXNlcywgdGhlIG5hbWUgY29ycmVzcG9uZHMgdG8gdGhlIHBhcmFtZXRlciBuYW1lIHVzZWQgYmFzZWQgb24gdGhlIGluIHByb3BlcnR5LlxuICAgICAgICovXG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBpbjogJ3F1ZXJ5JyB8ICdwYXRoJyB8ICdib2R5JyB8ICdmb3JtRGF0YScgfCAnaGVhZGVyJztcbiAgICAgIC8qKlxuICAgICAgICogQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLiBUaGlzIGNvdWxkIGNvbnRhaW4gZXhhbXBsZXMgb2YgdXNlLlxuICAgICAgICogIEdGTSBzeW50YXggY2FuIGJlIHVzZWQgZm9yIHJpY2ggdGV4dCByZXByZXNlbnRhdGlvbi5cbiAgICAgICAqL1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIC8qKlxuICAgICAgICogUmVxdWlyZWQgaWYgdHlwZSBpcyBcImFycmF5XCIuIERlc2NyaWJlcyB0aGUgdHlwZSBvZiBpdGVtcyBpbiB0aGUgYXJyYXkuXG4gICAgICAgKi9cbiAgICAgIGl0ZW1zOiBQYXJhbWV0ZXI7XG4gICAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICAgIC8qKlxuICAgICAgICogU2V0cyB0aGUgYWJpbGl0eSB0byBwYXNzIGVtcHR5LXZhbHVlZCBwYXJhbWV0ZXJzLiBUaGlzIGlzIHZhbGlkIG9ubHlcbiAgICAgICAqIGZvciBlaXRoZXIgcXVlcnkgb3IgZm9ybURhdGEgcGFyYW1ldGVycyBhbmQgYWxsb3dzIHlvdSB0byBzZW5kIGEgcGFyYW1ldGVyXG4gICAgICAgKiAgd2l0aCBhIG5hbWUgb25seSBvciBhbiBlbXB0eSB2YWx1ZS4gRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICAgICAqL1xuICAgICAgYWxsb3dFbXB0eVZhbHVlOiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBSZXF1aXJlZC4gVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlci4gU2luY2UgdGhlIHBhcmFtZXRlciBpcyBub3QgbG9jYXRlZFxuICAgICAgICogYXQgdGhlIHJlcXVlc3QgYm9keSwgaXQgaXMgbGltaXRlZCB0byBzaW1wbGUgdHlwZXMgKHRoYXQgaXMsIG5vdCBhbiBvYmplY3QpLlxuICAgICAgICogIFRoZSB2YWx1ZSBNVVNUIGJlIG9uZSBvZiBcInN0cmluZ1wiLCBcIm51bWJlclwiLCBcImludGVnZXJcIiwgXCJib29sZWFuXCIsIFwiYXJyYXlcIlxuICAgICAgICogb3IgXCJmaWxlXCIuIElmIHR5cGUgaXMgXCJmaWxlXCIsIHRoZSBjb25zdW1lcyBNVVNUIGJlIGVpdGhlciBcIm11bHRpcGFydC9mb3JtLWRhdGFcIixcbiAgICAgICAqIFwiIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiIG9yIGJvdGggYW5kIHRoZSBwYXJhbWV0ZXIgTVVTVCBiZSBpbiBcImZvcm1EYXRhXCIuXG4gICAgICAgKi9cbiAgICAgIHR5cGU6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgICAgZm9ybWF0OiBcImludDMyXCIgfCBcImludDY0XCIgfCBcImZsb2F0XCIgfCBcImRvdWJsZVwiIHwgXCJieXRlXCIgfCBcImJpbmFyeVwiIHwgXCJkYXRlXCIgfCBcImRhdGUtdGltZVwiIHwgXCJwYXNzd29yZFwiO1xuICAgICAgLyoqXG4gICAgICAgKiBEZXRlcm1pbmVzIHRoZSBmb3JtYXQgb2YgdGhlIGFycmF5IGlmIHR5cGUgYXJyYXkgaXMgdXNlZC4gUG9zc2libGUgdmFsdWVzIGFyZTpcbiAgICAgICAqIGNzdiAtIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMgZm9vLGJhci5cbiAgICAgICAqIHNzdiAtIHNwYWNlIHNlcGFyYXRlZCB2YWx1ZXMgZm9vIGJhci5cbiAgICAgICAqIHRzdiAtIHRhYiBzZXBhcmF0ZWQgdmFsdWVzIGZvb1xcdGJhci5cbiAgICAgICAqIHBpcGVzIC0gcGlwZSBzZXBhcmF0ZWQgdmFsdWVzIGZvb3xiYXIuXG4gICAgICAgKiBEZWZhdWx0IHZhbHVlIGlzIGNzdi5cbiAgICAgICAqL1xuICAgICAgY29sbGVjdGlvbkZvcm1hdDogJ2NzdicgfCAnc3N2JyB8ICd0c3YnIHwgJ3BpcGVzJztcbiAgICAgIC8qKlxuICAgICAgICogRGVjbGFyZXMgdGhlIHZhbHVlIG9mIHRoZSBpdGVtIHRoYXQgdGhlIHNlcnZlciB3aWxsIHVzZSBpZiBub25lIGlzIHByb3ZpZGVkLlxuICAgICAgICogKE5vdGU6IFwiZGVmYXVsdFwiIGhhcyBubyBtZWFuaW5nIGZvciByZXF1aXJlZCBpdGVtcy4pXG4gICAgICAgKiBTZWUgaHR0cDovL2pzb24tc2NoZW1hLm9yZy9sYXRlc3QvanNvbi1zY2hlbWEtdmFsaWRhdGlvbi5odG1sI2FuY2hvcjEwMS5cbiAgICAgICAqICBVbmxpa2UgSlNPTiBTY2hlbWEgdGhpcyB2YWx1ZSBNVVNUIGNvbmZvcm0gdG8gdGhlIGRlZmluZWQgdHlwZSBmb3IgdGhlIGRhdGEgdHlwZS5cbiAgICAgICAqL1xuICAgICAgZGVmYXVsdDogYW55O1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdmFsdWUgb2YgdGhpcyBrZXl3b3JkIE1VU1QgYmUgYW4gYXJyYXkuXG4gICAgICAgKiBUaGlzIGFycmF5IFNIT1VMRCBoYXZlIGF0IGxlYXN0IG9uZSBlbGVtZW50LlxuICAgICAgICogRWxlbWVudHMgaW4gdGhlIGFycmF5IFNIT1VMRCBiZSB1bmlxdWUuXG4gICAgICAgKiBFbGVtZW50cyBpbiB0aGUgYXJyYXkgTUFZIGJlIG9mIGFueSB0eXBlLCBpbmNsdWRpbmcgbnVsbC5cbiAgICAgICAqIEFuIGluc3RhbmNlIHZhbGlkYXRlcyBzdWNjZXNzZnVsbHkgYWdhaW5zdCB0aGlzIGtleXdvcmQgaWYgaXRzIHZhbHVlXG4gICAgICAgKiBpcyBlcXVhbCB0byBvbmUgb2YgdGhlIGVsZW1lbnRzIGluIHRoaXMga2V5d29yZCdzIGFycmF5IHZhbHVlLlxuICAgICAgICovXG4gICAgICBlbnVtOiBhbnlbXTtcbiAgICAgIG1heExlbmd0aDogbnVtYmVyO1xuICAgICAgbWluTGVuZ3RoOiBudW1iZXI7XG4gICAgICBtYXhJdGVtczogbnVtYmVyO1xuICAgICAgbWluSXRlbXM6IG51bWJlcjtcbiAgICAgIHVuaXF1ZUl0ZW1zOiBib29sZWFuO1xuICAgICAgcGF0dGVybjogbnVtYmVyO1xuICAgICAgbWF4aW11bTogbnVtYmVyO1xuICAgICAgZXhjbHVzaXZlTWF4aW11bTogYm9vbGVhbjtcbiAgICAgIG1pbmltdW06IG51bWJlcjtcbiAgICAgIGV4Y2x1c2l2ZU1pbmltdW06IG51bWJlcjtcbiAgICAgIG11bHRpcGxlT2Y6IGJvb2xlYW47XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBNZXRob2Qge1xuICAgICAgdGFnczogc3RyaW5nW107XG4gICAgICBzdW1tYXJ5OiBzdHJpbmc7XG4gICAgICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAgICAgY29uc3VtZXM6IHN0cmluZ1tdO1xuICAgICAgcHJvZHVjZXM6IHN0cmluZ1tdO1xuICAgICAgcGFyYW1ldGVyczogUGFyYW1ldGVyW107XG4gICAgICByZXNwb25zZXM6IFN3YWdnZXJSZXNwb25zZVtdO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlck1ldGhvZCB7XG4gICAgICBbcGF0aDogc3RyaW5nXTogTWV0aG9kO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlclBhdGgge1xuICAgICAgW3BhdGg6IHN0cmluZ106IFN3YWdnZXJNZXRob2Q7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyVGFnIHtcbiAgICAgIG5hbWU6IHN0cmluZztcblxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlck1vZGVsIHtcbiAgICAgIGhvc3Q6IHN0cmluZztcbiAgICAgIGJhc2VQYXRoOiBzdHJpbmc7XG4gICAgICB0YWdzOiBTd2FnZ2VyVGFnW107XG4gICAgICBwYXRoczogU3dhZ2dlclBhdGg7XG4gICAgICBkZWZpbml0aW9uczogU3dhZ2dlckRlZmluaXRpb247XG4gICAgfVxuXG5cbiAgfVxuXG59XG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IgbGliL21vZGVscy50cyJdfQ==