@ondewo/csi-client-angular 5.0.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/api/ondewo/csi/conversation.pb.d.ts +4 -1
  2. package/api/ondewo/s2t/speech-to-text.pb.d.ts +5 -1
  3. package/fesm2022/ondewo-csi-client-angular.mjs +60 -53
  4. package/fesm2022/ondewo-csi-client-angular.mjs.map +1 -1
  5. package/package.json +1 -3
  6. package/esm2022/api/google/api/annotations.pb.mjs +0 -2
  7. package/esm2022/api/google/api/http.pb.mjs +0 -524
  8. package/esm2022/api/google/rpc/status.pb.mjs +0 -138
  9. package/esm2022/api/google/type/latlng.pb.mjs +0 -119
  10. package/esm2022/api/ondewo/csi/conversation.pb.mjs +0 -2070
  11. package/esm2022/api/ondewo/csi/conversation.pbconf.mjs +0 -13
  12. package/esm2022/api/ondewo/csi/conversation.pbsc.mjs +0 -315
  13. package/esm2022/api/ondewo/nlu/agent.pb.mjs +0 -11502
  14. package/esm2022/api/ondewo/nlu/agent.pbconf.mjs +0 -13
  15. package/esm2022/api/ondewo/nlu/agent.pbsc.mjs +0 -1246
  16. package/esm2022/api/ondewo/nlu/aiservices.pb.mjs +0 -5313
  17. package/esm2022/api/ondewo/nlu/aiservices.pbconf.mjs +0 -13
  18. package/esm2022/api/ondewo/nlu/aiservices.pbsc.mjs +0 -374
  19. package/esm2022/api/ondewo/nlu/ccai-project.pb.mjs +0 -2691
  20. package/esm2022/api/ondewo/nlu/ccai-project.pbconf.mjs +0 -13
  21. package/esm2022/api/ondewo/nlu/ccai-project.pbsc.mjs +0 -224
  22. package/esm2022/api/ondewo/nlu/common.pb.mjs +0 -1963
  23. package/esm2022/api/ondewo/nlu/context.pb.mjs +0 -1380
  24. package/esm2022/api/ondewo/nlu/context.pbconf.mjs +0 -13
  25. package/esm2022/api/ondewo/nlu/context.pbsc.mjs +0 -225
  26. package/esm2022/api/ondewo/nlu/entity-type.pb.mjs +0 -3909
  27. package/esm2022/api/ondewo/nlu/entity-type.pbconf.mjs +0 -13
  28. package/esm2022/api/ondewo/nlu/entity-type.pbsc.mjs +0 -526
  29. package/esm2022/api/ondewo/nlu/intent.pb.mjs +0 -11252
  30. package/esm2022/api/ondewo/nlu/intent.pbconf.mjs +0 -13
  31. package/esm2022/api/ondewo/nlu/intent.pbsc.mjs +0 -856
  32. package/esm2022/api/ondewo/nlu/operation-metadata.pb.mjs +0 -487
  33. package/esm2022/api/ondewo/nlu/operations.pb.mjs +0 -1003
  34. package/esm2022/api/ondewo/nlu/operations.pbconf.mjs +0 -13
  35. package/esm2022/api/ondewo/nlu/operations.pbsc.mjs +0 -165
  36. package/esm2022/api/ondewo/nlu/project-role.pb.mjs +0 -1061
  37. package/esm2022/api/ondewo/nlu/project-role.pbconf.mjs +0 -13
  38. package/esm2022/api/ondewo/nlu/project-role.pbsc.mjs +0 -195
  39. package/esm2022/api/ondewo/nlu/project-statistics.pb.mjs +0 -460
  40. package/esm2022/api/ondewo/nlu/project-statistics.pbconf.mjs +0 -13
  41. package/esm2022/api/ondewo/nlu/project-statistics.pbsc.mjs +0 -285
  42. package/esm2022/api/ondewo/nlu/server-statistics.pb.mjs +0 -103
  43. package/esm2022/api/ondewo/nlu/server-statistics.pbconf.mjs +0 -13
  44. package/esm2022/api/ondewo/nlu/server-statistics.pbsc.mjs +0 -136
  45. package/esm2022/api/ondewo/nlu/session.pb.mjs +0 -13750
  46. package/esm2022/api/ondewo/nlu/session.pbconf.mjs +0 -13
  47. package/esm2022/api/ondewo/nlu/session.pbsc.mjs +0 -1246
  48. package/esm2022/api/ondewo/nlu/user.pb.mjs +0 -3865
  49. package/esm2022/api/ondewo/nlu/user.pbconf.mjs +0 -13
  50. package/esm2022/api/ondewo/nlu/user.pbsc.mjs +0 -706
  51. package/esm2022/api/ondewo/nlu/utility.pb.mjs +0 -3302
  52. package/esm2022/api/ondewo/nlu/utility.pbconf.mjs +0 -13
  53. package/esm2022/api/ondewo/nlu/utility.pbsc.mjs +0 -284
  54. package/esm2022/api/ondewo/nlu/webhook.pb.mjs +0 -1596
  55. package/esm2022/api/ondewo/nlu/webhook.pbconf.mjs +0 -13
  56. package/esm2022/api/ondewo/nlu/webhook.pbsc.mjs +0 -225
  57. package/esm2022/api/ondewo/s2t/speech-to-text.pb.mjs +0 -8346
  58. package/esm2022/api/ondewo/s2t/speech-to-text.pbconf.mjs +0 -13
  59. package/esm2022/api/ondewo/s2t/speech-to-text.pbsc.mjs +0 -495
  60. package/esm2022/api/ondewo/t2s/text-to-speech.pb.mjs +0 -7974
  61. package/esm2022/api/ondewo/t2s/text-to-speech.pbconf.mjs +0 -13
  62. package/esm2022/api/ondewo/t2s/text-to-speech.pbsc.mjs +0 -525
  63. package/esm2022/ondewo-csi-client-angular.mjs +0 -5
  64. package/esm2022/public-api.mjs +0 -58
@@ -1,13 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- // @ts-nocheck
4
- //
5
- // THIS IS A GENERATED FILE
6
- // DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST
7
- import { InjectionToken } from '@angular/core';
8
- /**
9
- * Specific GrpcClientSettings for AiServices.
10
- * Use it only if your default settings are not set or the service requires other settings.
11
- */
12
- export const GRPC_AI_SERVICES_CLIENT_SETTINGS = new InjectionToken('GRPC_AI_SERVICES_CLIENT_SETTINGS');
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlzZXJ2aWNlcy5wYmNvbmYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9hcGkvb25kZXdvL25sdS9haXNlcnZpY2VzLnBiY29uZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLGNBQWM7QUFDZCxFQUFFO0FBQ0YsMkJBQTJCO0FBQzNCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksY0FBYyxDQUNoRSxrQ0FBa0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuLy8gQHRzLW5vY2hlY2tcbi8vXG4vLyBUSElTIElTIEEgR0VORVJBVEVEIEZJTEVcbi8vIERPIE5PVCBNT0RJRlkgSVQhIFlPVVIgQ0hBTkdFUyBXSUxMIEJFIExPU1RcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU3BlY2lmaWMgR3JwY0NsaWVudFNldHRpbmdzIGZvciBBaVNlcnZpY2VzLlxuICogVXNlIGl0IG9ubHkgaWYgeW91ciBkZWZhdWx0IHNldHRpbmdzIGFyZSBub3Qgc2V0IG9yIHRoZSBzZXJ2aWNlIHJlcXVpcmVzIG90aGVyIHNldHRpbmdzLlxuICovXG5leHBvcnQgY29uc3QgR1JQQ19BSV9TRVJWSUNFU19DTElFTlRfU0VUVElOR1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PihcbiAgJ0dSUENfQUlfU0VSVklDRVNfQ0xJRU5UX1NFVFRJTkdTJ1xuKTtcbiJdfQ==
@@ -1,374 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- // @ts-nocheck
4
- //
5
- // THIS IS A GENERATED FILE
6
- // DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST
7
- import { Inject, Injectable, Optional } from '@angular/core';
8
- import { GrpcCallType, GrpcMetadata } from '@ngx-grpc/common';
9
- import { GRPC_CLIENT_FACTORY, takeMessages, throwStatusErrors } from '@ngx-grpc/core';
10
- import * as thisProto from './aiservices.pb';
11
- import { GRPC_AI_SERVICES_CLIENT_SETTINGS } from './aiservices.pbconf';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@ngx-grpc/core";
14
- /**
15
- * Service client implementation for ondewo.nlu.AiServices
16
- */
17
- export class AiServicesClient {
18
- constructor(settings, clientFactory, handler) {
19
- this.handler = handler;
20
- /**
21
- * Raw RPC implementation for each service client method.
22
- * The raw methods provide more control on the incoming data and events. E.g. they can be useful to read status `OK` metadata.
23
- * Attention: these methods do not throw errors when non-zero status codes are received.
24
- */
25
- this.$raw = {
26
- /**
27
- * Unary call: /ondewo.nlu.AiServices/ExtractEntities
28
- *
29
- * @param requestMessage Request message
30
- * @param requestMetadata Request metadata
31
- * @returns Observable<GrpcEvent<thisProto.ExtractEntitiesResponse>>
32
- */
33
- extractEntities: (requestData, requestMetadata = new GrpcMetadata()) => {
34
- return this.handler.handle({
35
- type: GrpcCallType.unary,
36
- client: this.client,
37
- path: '/ondewo.nlu.AiServices/ExtractEntities',
38
- requestData,
39
- requestMetadata,
40
- requestClass: thisProto.ExtractEntitiesRequest,
41
- responseClass: thisProto.ExtractEntitiesResponse
42
- });
43
- },
44
- /**
45
- * Unary call: /ondewo.nlu.AiServices/GenerateUserSays
46
- *
47
- * @param requestMessage Request message
48
- * @param requestMetadata Request metadata
49
- * @returns Observable<GrpcEvent<thisProto.GenerateUserSaysResponse>>
50
- */
51
- generateUserSays: (requestData, requestMetadata = new GrpcMetadata()) => {
52
- return this.handler.handle({
53
- type: GrpcCallType.unary,
54
- client: this.client,
55
- path: '/ondewo.nlu.AiServices/GenerateUserSays',
56
- requestData,
57
- requestMetadata,
58
- requestClass: thisProto.GenerateUserSaysRequest,
59
- responseClass: thisProto.GenerateUserSaysResponse
60
- });
61
- },
62
- /**
63
- * Unary call: /ondewo.nlu.AiServices/GenerateResponses
64
- *
65
- * @param requestMessage Request message
66
- * @param requestMetadata Request metadata
67
- * @returns Observable<GrpcEvent<thisProto.GenerateResponsesResponse>>
68
- */
69
- generateResponses: (requestData, requestMetadata = new GrpcMetadata()) => {
70
- return this.handler.handle({
71
- type: GrpcCallType.unary,
72
- client: this.client,
73
- path: '/ondewo.nlu.AiServices/GenerateResponses',
74
- requestData,
75
- requestMetadata,
76
- requestClass: thisProto.GenerateResponsesRequest,
77
- responseClass: thisProto.GenerateResponsesResponse
78
- });
79
- },
80
- /**
81
- * Unary call: /ondewo.nlu.AiServices/GetAlternativeSentences
82
- *
83
- * @param requestMessage Request message
84
- * @param requestMetadata Request metadata
85
- * @returns Observable<GrpcEvent<thisProto.GetAlternativeSentencesResponse>>
86
- */
87
- getAlternativeSentences: (requestData, requestMetadata = new GrpcMetadata()) => {
88
- return this.handler.handle({
89
- type: GrpcCallType.unary,
90
- client: this.client,
91
- path: '/ondewo.nlu.AiServices/GetAlternativeSentences',
92
- requestData,
93
- requestMetadata,
94
- requestClass: thisProto.GetAlternativeSentencesRequest,
95
- responseClass: thisProto.GetAlternativeSentencesResponse
96
- });
97
- },
98
- /**
99
- * Unary call: /ondewo.nlu.AiServices/GetAlternativeTrainingPhrases
100
- *
101
- * @param requestMessage Request message
102
- * @param requestMetadata Request metadata
103
- * @returns Observable<GrpcEvent<thisProto.GetAlternativeTrainingPhrasesResponse>>
104
- */
105
- getAlternativeTrainingPhrases: (requestData, requestMetadata = new GrpcMetadata()) => {
106
- return this.handler.handle({
107
- type: GrpcCallType.unary,
108
- client: this.client,
109
- path: '/ondewo.nlu.AiServices/GetAlternativeTrainingPhrases',
110
- requestData,
111
- requestMetadata,
112
- requestClass: thisProto.GetAlternativeTrainingPhrasesRequest,
113
- responseClass: thisProto.GetAlternativeTrainingPhrasesResponse
114
- });
115
- },
116
- /**
117
- * Unary call: /ondewo.nlu.AiServices/GetSynonyms
118
- *
119
- * @param requestMessage Request message
120
- * @param requestMetadata Request metadata
121
- * @returns Observable<GrpcEvent<thisProto.GetSynonymsResponse>>
122
- */
123
- getSynonyms: (requestData, requestMetadata = new GrpcMetadata()) => {
124
- return this.handler.handle({
125
- type: GrpcCallType.unary,
126
- client: this.client,
127
- path: '/ondewo.nlu.AiServices/GetSynonyms',
128
- requestData,
129
- requestMetadata,
130
- requestClass: thisProto.GetSynonymsRequest,
131
- responseClass: thisProto.GetSynonymsResponse
132
- });
133
- },
134
- /**
135
- * Unary call: /ondewo.nlu.AiServices/ClassifyIntents
136
- *
137
- * @param requestMessage Request message
138
- * @param requestMetadata Request metadata
139
- * @returns Observable<GrpcEvent<thisProto.ClassifyIntentsResponse>>
140
- */
141
- classifyIntents: (requestData, requestMetadata = new GrpcMetadata()) => {
142
- return this.handler.handle({
143
- type: GrpcCallType.unary,
144
- client: this.client,
145
- path: '/ondewo.nlu.AiServices/ClassifyIntents',
146
- requestData,
147
- requestMetadata,
148
- requestClass: thisProto.ClassifyIntentsRequest,
149
- responseClass: thisProto.ClassifyIntentsResponse
150
- });
151
- },
152
- /**
153
- * Unary call: /ondewo.nlu.AiServices/ExtractEntitiesFuzzy
154
- *
155
- * @param requestMessage Request message
156
- * @param requestMetadata Request metadata
157
- * @returns Observable<GrpcEvent<thisProto.ExtractEntitiesResponse>>
158
- */
159
- extractEntitiesFuzzy: (requestData, requestMetadata = new GrpcMetadata()) => {
160
- return this.handler.handle({
161
- type: GrpcCallType.unary,
162
- client: this.client,
163
- path: '/ondewo.nlu.AiServices/ExtractEntitiesFuzzy',
164
- requestData,
165
- requestMetadata,
166
- requestClass: thisProto.ExtractEntitiesFuzzyRequest,
167
- responseClass: thisProto.ExtractEntitiesResponse
168
- });
169
- },
170
- /**
171
- * Unary call: /ondewo.nlu.AiServices/LlmGenerate
172
- *
173
- * @param requestMessage Request message
174
- * @param requestMetadata Request metadata
175
- * @returns Observable<GrpcEvent<thisProto.LlmGenerateResponse>>
176
- */
177
- llmGenerate: (requestData, requestMetadata = new GrpcMetadata()) => {
178
- return this.handler.handle({
179
- type: GrpcCallType.unary,
180
- client: this.client,
181
- path: '/ondewo.nlu.AiServices/LlmGenerate',
182
- requestData,
183
- requestMetadata,
184
- requestClass: thisProto.LlmGenerateRequest,
185
- responseClass: thisProto.LlmGenerateResponse
186
- });
187
- },
188
- /**
189
- * Server streaming: /ondewo.nlu.AiServices/StreamingLlmGenerate
190
- *
191
- * @param requestMessage Request message
192
- * @param requestMetadata Request metadata
193
- * @returns Observable<GrpcEvent<thisProto.StreamingLlmGenerateResponse>>
194
- */
195
- streamingLlmGenerate: (requestData, requestMetadata = new GrpcMetadata()) => {
196
- return this.handler.handle({
197
- type: GrpcCallType.serverStream,
198
- client: this.client,
199
- path: '/ondewo.nlu.AiServices/StreamingLlmGenerate',
200
- requestData,
201
- requestMetadata,
202
- requestClass: thisProto.LlmGenerateRequest,
203
- responseClass: thisProto.StreamingLlmGenerateResponse
204
- });
205
- },
206
- /**
207
- * Unary call: /ondewo.nlu.AiServices/ListLlmModels
208
- *
209
- * @param requestMessage Request message
210
- * @param requestMetadata Request metadata
211
- * @returns Observable<GrpcEvent<thisProto.ListLlmModelsResponse>>
212
- */
213
- listLlmModels: (requestData, requestMetadata = new GrpcMetadata()) => {
214
- return this.handler.handle({
215
- type: GrpcCallType.unary,
216
- client: this.client,
217
- path: '/ondewo.nlu.AiServices/ListLlmModels',
218
- requestData,
219
- requestMetadata,
220
- requestClass: thisProto.ListLlmModelsRequest,
221
- responseClass: thisProto.ListLlmModelsResponse
222
- });
223
- }
224
- };
225
- this.client = clientFactory.createClient('ondewo.nlu.AiServices', settings);
226
- }
227
- /**
228
- * Unary call @/ondewo.nlu.AiServices/ExtractEntities
229
- *
230
- * @param requestMessage Request message
231
- * @param requestMetadata Request metadata
232
- * @returns Observable<thisProto.ExtractEntitiesResponse>
233
- */
234
- extractEntities(requestData, requestMetadata = new GrpcMetadata()) {
235
- return this.$raw
236
- .extractEntities(requestData, requestMetadata)
237
- .pipe(throwStatusErrors(), takeMessages());
238
- }
239
- /**
240
- * Unary call @/ondewo.nlu.AiServices/GenerateUserSays
241
- *
242
- * @param requestMessage Request message
243
- * @param requestMetadata Request metadata
244
- * @returns Observable<thisProto.GenerateUserSaysResponse>
245
- */
246
- generateUserSays(requestData, requestMetadata = new GrpcMetadata()) {
247
- return this.$raw
248
- .generateUserSays(requestData, requestMetadata)
249
- .pipe(throwStatusErrors(), takeMessages());
250
- }
251
- /**
252
- * Unary call @/ondewo.nlu.AiServices/GenerateResponses
253
- *
254
- * @param requestMessage Request message
255
- * @param requestMetadata Request metadata
256
- * @returns Observable<thisProto.GenerateResponsesResponse>
257
- */
258
- generateResponses(requestData, requestMetadata = new GrpcMetadata()) {
259
- return this.$raw
260
- .generateResponses(requestData, requestMetadata)
261
- .pipe(throwStatusErrors(), takeMessages());
262
- }
263
- /**
264
- * Unary call @/ondewo.nlu.AiServices/GetAlternativeSentences
265
- *
266
- * @param requestMessage Request message
267
- * @param requestMetadata Request metadata
268
- * @returns Observable<thisProto.GetAlternativeSentencesResponse>
269
- */
270
- getAlternativeSentences(requestData, requestMetadata = new GrpcMetadata()) {
271
- return this.$raw
272
- .getAlternativeSentences(requestData, requestMetadata)
273
- .pipe(throwStatusErrors(), takeMessages());
274
- }
275
- /**
276
- * Unary call @/ondewo.nlu.AiServices/GetAlternativeTrainingPhrases
277
- *
278
- * @param requestMessage Request message
279
- * @param requestMetadata Request metadata
280
- * @returns Observable<thisProto.GetAlternativeTrainingPhrasesResponse>
281
- */
282
- getAlternativeTrainingPhrases(requestData, requestMetadata = new GrpcMetadata()) {
283
- return this.$raw
284
- .getAlternativeTrainingPhrases(requestData, requestMetadata)
285
- .pipe(throwStatusErrors(), takeMessages());
286
- }
287
- /**
288
- * Unary call @/ondewo.nlu.AiServices/GetSynonyms
289
- *
290
- * @param requestMessage Request message
291
- * @param requestMetadata Request metadata
292
- * @returns Observable<thisProto.GetSynonymsResponse>
293
- */
294
- getSynonyms(requestData, requestMetadata = new GrpcMetadata()) {
295
- return this.$raw
296
- .getSynonyms(requestData, requestMetadata)
297
- .pipe(throwStatusErrors(), takeMessages());
298
- }
299
- /**
300
- * Unary call @/ondewo.nlu.AiServices/ClassifyIntents
301
- *
302
- * @param requestMessage Request message
303
- * @param requestMetadata Request metadata
304
- * @returns Observable<thisProto.ClassifyIntentsResponse>
305
- */
306
- classifyIntents(requestData, requestMetadata = new GrpcMetadata()) {
307
- return this.$raw
308
- .classifyIntents(requestData, requestMetadata)
309
- .pipe(throwStatusErrors(), takeMessages());
310
- }
311
- /**
312
- * Unary call @/ondewo.nlu.AiServices/ExtractEntitiesFuzzy
313
- *
314
- * @param requestMessage Request message
315
- * @param requestMetadata Request metadata
316
- * @returns Observable<thisProto.ExtractEntitiesResponse>
317
- */
318
- extractEntitiesFuzzy(requestData, requestMetadata = new GrpcMetadata()) {
319
- return this.$raw
320
- .extractEntitiesFuzzy(requestData, requestMetadata)
321
- .pipe(throwStatusErrors(), takeMessages());
322
- }
323
- /**
324
- * Unary call @/ondewo.nlu.AiServices/LlmGenerate
325
- *
326
- * @param requestMessage Request message
327
- * @param requestMetadata Request metadata
328
- * @returns Observable<thisProto.LlmGenerateResponse>
329
- */
330
- llmGenerate(requestData, requestMetadata = new GrpcMetadata()) {
331
- return this.$raw
332
- .llmGenerate(requestData, requestMetadata)
333
- .pipe(throwStatusErrors(), takeMessages());
334
- }
335
- /**
336
- * Server streaming @/ondewo.nlu.AiServices/StreamingLlmGenerate
337
- *
338
- * @param requestMessage Request message
339
- * @param requestMetadata Request metadata
340
- * @returns Observable<thisProto.StreamingLlmGenerateResponse>
341
- */
342
- streamingLlmGenerate(requestData, requestMetadata = new GrpcMetadata()) {
343
- return this.$raw
344
- .streamingLlmGenerate(requestData, requestMetadata)
345
- .pipe(throwStatusErrors(), takeMessages());
346
- }
347
- /**
348
- * Unary call @/ondewo.nlu.AiServices/ListLlmModels
349
- *
350
- * @param requestMessage Request message
351
- * @param requestMetadata Request metadata
352
- * @returns Observable<thisProto.ListLlmModelsResponse>
353
- */
354
- listLlmModels(requestData, requestMetadata = new GrpcMetadata()) {
355
- return this.$raw
356
- .listLlmModels(requestData, requestMetadata)
357
- .pipe(throwStatusErrors(), takeMessages());
358
- }
359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AiServicesClient, deps: [{ token: GRPC_AI_SERVICES_CLIENT_SETTINGS, optional: true }, { token: GRPC_CLIENT_FACTORY }, { token: i1.GrpcHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
360
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AiServicesClient, providedIn: 'any' }); }
361
- }
362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AiServicesClient, decorators: [{
363
- type: Injectable,
364
- args: [{ providedIn: 'any' }]
365
- }], ctorParameters: () => [{ type: undefined, decorators: [{
366
- type: Optional
367
- }, {
368
- type: Inject,
369
- args: [GRPC_AI_SERVICES_CLIENT_SETTINGS]
370
- }] }, { type: undefined, decorators: [{
371
- type: Inject,
372
- args: [GRPC_CLIENT_FACTORY]
373
- }] }, { type: i1.GrpcHandler }] });
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlzZXJ2aWNlcy5wYnNjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBpL29uZGV3by9ubHUvYWlzZXJ2aWNlcy5wYnNjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIsY0FBYztBQUNkLEVBQUU7QUFDRiwyQkFBMkI7QUFDM0IsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsWUFBWSxFQUlaLFlBQVksRUFDYixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsWUFBWSxFQUNaLGlCQUFpQixFQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sS0FBSyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFpQjdDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFDdkU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBb1AzQixZQUN3RCxRQUFhLEVBQ3RDLGFBQXFDLEVBQzFELE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFwUDlCOzs7O1dBSUc7UUFDSCxTQUFJLEdBQUc7WUFDTDs7Ozs7O2VBTUc7WUFDSCxlQUFlLEVBQUUsQ0FDZixXQUE2QyxFQUM3QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFDc0IsRUFBRTtnQkFDNUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSx3Q0FBd0M7b0JBQzlDLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixZQUFZLEVBQUUsU0FBUyxDQUFDLHNCQUFzQjtvQkFDOUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyx1QkFBdUI7aUJBQ2pELENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxnQkFBZ0IsRUFBRSxDQUNoQixXQUE4QyxFQUM5QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFDdUIsRUFBRTtnQkFDN0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSx5Q0FBeUM7b0JBQy9DLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixZQUFZLEVBQUUsU0FBUyxDQUFDLHVCQUF1QjtvQkFDL0MsYUFBYSxFQUFFLFNBQVMsQ0FBQyx3QkFBd0I7aUJBQ2xELENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxpQkFBaUIsRUFBRSxDQUNqQixXQUErQyxFQUMvQyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFDd0IsRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSwwQ0FBMEM7b0JBQ2hELFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixZQUFZLEVBQUUsU0FBUyxDQUFDLHdCQUF3QjtvQkFDaEQsYUFBYSxFQUFFLFNBQVMsQ0FBQyx5QkFBeUI7aUJBQ25ELENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCx1QkFBdUIsRUFBRSxDQUN2QixXQUFxRCxFQUNyRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFDOEIsRUFBRTtnQkFDcEUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSxnREFBZ0Q7b0JBQ3RELFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixZQUFZLEVBQUUsU0FBUyxDQUFDLDhCQUE4QjtvQkFDdEQsYUFBYSxFQUFFLFNBQVMsQ0FBQywrQkFBK0I7aUJBQ3pELENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCw2QkFBNkIsRUFBRSxDQUM3QixXQUEyRCxFQUMzRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLHNEQUFzRDtvQkFDNUQsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxTQUFTLENBQUMsb0NBQW9DO29CQUM1RCxhQUFhLEVBQUUsU0FBUyxDQUFDLHFDQUFxQztpQkFDL0QsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILFdBQVcsRUFBRSxDQUNYLFdBQXlDLEVBQ3pDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUNrQixFQUFFO2dCQUN4RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLG9DQUFvQztvQkFDMUMsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxTQUFTLENBQUMsa0JBQWtCO29CQUMxQyxhQUFhLEVBQUUsU0FBUyxDQUFDLG1CQUFtQjtpQkFDN0MsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILGVBQWUsRUFBRSxDQUNmLFdBQTZDLEVBQzdDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUNzQixFQUFFO2dCQUM1RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLHdDQUF3QztvQkFDOUMsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxTQUFTLENBQUMsc0JBQXNCO29CQUM5QyxhQUFhLEVBQUUsU0FBUyxDQUFDLHVCQUF1QjtpQkFDakQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILG9CQUFvQixFQUFFLENBQ3BCLFdBQWtELEVBQ2xELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUNzQixFQUFFO2dCQUM1RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLDZDQUE2QztvQkFDbkQsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxTQUFTLENBQUMsMkJBQTJCO29CQUNuRCxhQUFhLEVBQUUsU0FBUyxDQUFDLHVCQUF1QjtpQkFDakQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILFdBQVcsRUFBRSxDQUNYLFdBQXlDLEVBQ3pDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUNrQixFQUFFO2dCQUN4RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLG9DQUFvQztvQkFDMUMsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxTQUFTLENBQUMsa0JBQWtCO29CQUMxQyxhQUFhLEVBQUUsU0FBUyxDQUFDLG1CQUFtQjtpQkFDN0MsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILG9CQUFvQixFQUFFLENBQ3BCLFdBQXlDLEVBQ3pDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUMyQixFQUFFO2dCQUNqRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVk7b0JBQy9CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLDZDQUE2QztvQkFDbkQsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxTQUFTLENBQUMsa0JBQWtCO29CQUMxQyxhQUFhLEVBQUUsU0FBUyxDQUFDLDRCQUE0QjtpQkFDdEQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILGFBQWEsRUFBRSxDQUNiLFdBQTJDLEVBQzNDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUNvQixFQUFFO2dCQUMxRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLHNDQUFzQztvQkFDNUMsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxTQUFTLENBQUMsb0JBQW9CO29CQUM1QyxhQUFhLEVBQUUsU0FBUyxDQUFDLHFCQUFxQjtpQkFDL0MsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUM7UUFPQSxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGVBQWUsQ0FDYixXQUE2QyxFQUM3QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLGVBQWUsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQzdDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUNkLFdBQThDLEVBQzlDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQzthQUM5QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxpQkFBaUIsQ0FDZixXQUErQyxFQUMvQyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDL0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsdUJBQXVCLENBQ3JCLFdBQXFELEVBQ3JELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsdUJBQXVCLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQzthQUNyRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCw2QkFBNkIsQ0FDM0IsV0FBMkQsRUFDM0QsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFO1FBRXBDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYiw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQzNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FDVCxXQUF5QyxFQUN6QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLFdBQVcsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGVBQWUsQ0FDYixXQUE2QyxFQUM3QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLGVBQWUsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQzdDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILG9CQUFvQixDQUNsQixXQUFrRCxFQUNsRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDbEQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUNULFdBQXlDLEVBQ3pDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsV0FBVyxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDekMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsb0JBQW9CLENBQ2xCLFdBQXlDLEVBQ3pDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2Isb0JBQW9CLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQzthQUNsRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQ1gsV0FBMkMsRUFDM0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFO1FBRXBDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixhQUFhLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQzthQUMzQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7K0dBMWFVLGdCQUFnQixrQkFxUEwsZ0NBQWdDLDZCQUM1QyxtQkFBbUI7bUhBdFBsQixnQkFBZ0IsY0FESCxLQUFLOzs0RkFDbEIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTs7MEJBc1A1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdDQUFnQzs7MEJBQ25ELE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG4vLyBAdHMtbm9jaGVja1xuLy9cbi8vIFRISVMgSVMgQSBHRU5FUkFURUQgRklMRVxuLy8gRE8gTk9UIE1PRElGWSBJVCEgWU9VUiBDSEFOR0VTIFdJTEwgQkUgTE9TVFxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgR3JwY0NhbGxUeXBlLFxuICBHcnBjQ2xpZW50LFxuICBHcnBjQ2xpZW50RmFjdG9yeSxcbiAgR3JwY0V2ZW50LFxuICBHcnBjTWV0YWRhdGFcbn0gZnJvbSAnQG5neC1ncnBjL2NvbW1vbic7XG5pbXBvcnQge1xuICBHUlBDX0NMSUVOVF9GQUNUT1JZLFxuICBHcnBjSGFuZGxlcixcbiAgdGFrZU1lc3NhZ2VzLFxuICB0aHJvd1N0YXR1c0Vycm9yc1xufSBmcm9tICdAbmd4LWdycGMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyB0aGlzUHJvdG8gZnJvbSAnLi9haXNlcnZpY2VzLnBiJztcbmltcG9ydCAqIGFzIGdvb2dsZUFwaTAwMCBmcm9tICcuLi8uLi9nb29nbGUvYXBpL2h0dHAucGInO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDEgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDIgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDMgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDQgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgb25kZXdvTmx1MDA1IGZyb20gJy4uLy4uL29uZGV3by9ubHUvY29tbW9uLnBiJztcbmltcG9ydCAqIGFzIGdvb2dsZUFwaTAwNiBmcm9tICcuLi8uLi9nb29nbGUvYXBpL2Fubm90YXRpb25zLnBiJztcbmltcG9ydCAqIGFzIG9uZGV3b05sdTAwNyBmcm9tICcuLi8uLi9vbmRld28vbmx1L2NvbnRleHQucGInO1xuaW1wb3J0ICogYXMgb25kZXdvTmx1MDA4IGZyb20gJy4uLy4uL29uZGV3by9ubHUvb3BlcmF0aW9ucy5wYic7XG5pbXBvcnQgKiBhcyBnb29nbGVQcm90b2J1ZjAwOSBmcm9tICdAbmd4LWdycGMvd2VsbC1rbm93bi10eXBlcyc7XG5pbXBvcnQgKiBhcyBnb29nbGVScGMwMTAgZnJvbSAnLi4vLi4vZ29vZ2xlL3JwYy9zdGF0dXMucGInO1xuaW1wb3J0ICogYXMgZ29vZ2xlVHlwZTAxMSBmcm9tICcuLi8uLi9nb29nbGUvdHlwZS9sYXRsbmcucGInO1xuaW1wb3J0ICogYXMgb25kZXdvTmx1MDEyIGZyb20gJy4uLy4uL29uZGV3by9ubHUvaW50ZW50LnBiJztcbmltcG9ydCAqIGFzIG9uZGV3b05sdTAxMyBmcm9tICcuLi8uLi9vbmRld28vbmx1L2VudGl0eS10eXBlLnBiJztcbmltcG9ydCAqIGFzIG9uZGV3b05sdTAxNCBmcm9tICcuLi8uLi9vbmRld28vbmx1L2NjYWktcHJvamVjdC5wYic7XG5pbXBvcnQgKiBhcyBvbmRld29ObHUwMTUgZnJvbSAnLi4vLi4vb25kZXdvL25sdS9zZXNzaW9uLnBiJztcbmltcG9ydCB7IEdSUENfQUlfU0VSVklDRVNfQ0xJRU5UX1NFVFRJTkdTIH0gZnJvbSAnLi9haXNlcnZpY2VzLnBiY29uZic7XG4vKipcbiAqIFNlcnZpY2UgY2xpZW50IGltcGxlbWVudGF0aW9uIGZvciBvbmRld28ubmx1LkFpU2VydmljZXNcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIEFpU2VydmljZXNDbGllbnQge1xuICBwcml2YXRlIGNsaWVudDogR3JwY0NsaWVudDxhbnk+O1xuXG4gIC8qKlxuICAgKiBSYXcgUlBDIGltcGxlbWVudGF0aW9uIGZvciBlYWNoIHNlcnZpY2UgY2xpZW50IG1ldGhvZC5cbiAgICogVGhlIHJhdyBtZXRob2RzIHByb3ZpZGUgbW9yZSBjb250cm9sIG9uIHRoZSBpbmNvbWluZyBkYXRhIGFuZCBldmVudHMuIEUuZy4gdGhleSBjYW4gYmUgdXNlZnVsIHRvIHJlYWQgc3RhdHVzIGBPS2AgbWV0YWRhdGEuXG4gICAqIEF0dGVudGlvbjogdGhlc2UgbWV0aG9kcyBkbyBub3QgdGhyb3cgZXJyb3JzIHdoZW4gbm9uLXplcm8gc3RhdHVzIGNvZGVzIGFyZSByZWNlaXZlZC5cbiAgICovXG4gICRyYXcgPSB7XG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9FeHRyYWN0RW50aXRpZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uRXh0cmFjdEVudGl0aWVzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGV4dHJhY3RFbnRpdGllczogKFxuICAgICAgcmVxdWVzdERhdGE6IHRoaXNQcm90by5FeHRyYWN0RW50aXRpZXNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8dGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0V4dHJhY3RFbnRpdGllcycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogdGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc1JlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IHRoaXNQcm90by5FeHRyYWN0RW50aXRpZXNSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0dlbmVyYXRlVXNlclNheXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uR2VuZXJhdGVVc2VyU2F5c1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZVVzZXJTYXlzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkdlbmVyYXRlVXNlclNheXNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8dGhpc1Byb3RvLkdlbmVyYXRlVXNlclNheXNSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZW5lcmF0ZVVzZXJTYXlzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiB0aGlzUHJvdG8uR2VuZXJhdGVVc2VyU2F5c1JlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IHRoaXNQcm90by5HZW5lcmF0ZVVzZXJTYXlzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZW5lcmF0ZVJlc3BvbnNlc1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PHRoaXNQcm90by5HZW5lcmF0ZVJlc3BvbnNlc1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZVJlc3BvbnNlczogKFxuICAgICAgcmVxdWVzdERhdGE6IHRoaXNQcm90by5HZW5lcmF0ZVJlc3BvbnNlc1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uR2VuZXJhdGVSZXNwb25zZXNSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZW5lcmF0ZVJlc3BvbnNlcycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogdGhpc1Byb3RvLkdlbmVyYXRlUmVzcG9uc2VzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogdGhpc1Byb3RvLkdlbmVyYXRlUmVzcG9uc2VzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZXRBbHRlcm5hdGl2ZVNlbnRlbmNlc1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PHRoaXNQcm90by5HZXRBbHRlcm5hdGl2ZVNlbnRlbmNlc1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZXRBbHRlcm5hdGl2ZVNlbnRlbmNlczogKFxuICAgICAgcmVxdWVzdERhdGE6IHRoaXNQcm90by5HZXRBbHRlcm5hdGl2ZVNlbnRlbmNlc1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uR2V0QWx0ZXJuYXRpdmVTZW50ZW5jZXNSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZXRBbHRlcm5hdGl2ZVNlbnRlbmNlcycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogdGhpc1Byb3RvLkdldEFsdGVybmF0aXZlU2VudGVuY2VzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogdGhpc1Byb3RvLkdldEFsdGVybmF0aXZlU2VudGVuY2VzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZXRBbHRlcm5hdGl2ZVRyYWluaW5nUGhyYXNlc1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PHRoaXNQcm90by5HZXRBbHRlcm5hdGl2ZVRyYWluaW5nUGhyYXNlc1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZXRBbHRlcm5hdGl2ZVRyYWluaW5nUGhyYXNlczogKFxuICAgICAgcmVxdWVzdERhdGE6IHRoaXNQcm90by5HZXRBbHRlcm5hdGl2ZVRyYWluaW5nUGhyYXNlc1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PHRoaXNQcm90by5HZXRBbHRlcm5hdGl2ZVRyYWluaW5nUGhyYXNlc1Jlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0dldEFsdGVybmF0aXZlVHJhaW5pbmdQaHJhc2VzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiB0aGlzUHJvdG8uR2V0QWx0ZXJuYXRpdmVUcmFpbmluZ1BocmFzZXNSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiB0aGlzUHJvdG8uR2V0QWx0ZXJuYXRpdmVUcmFpbmluZ1BocmFzZXNSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0dldFN5bm9ueW1zXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8dGhpc1Byb3RvLkdldFN5bm9ueW1zUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldFN5bm9ueW1zOiAoXG4gICAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkdldFN5bm9ueW1zUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8R3JwY0V2ZW50PHRoaXNQcm90by5HZXRTeW5vbnltc1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0dldFN5bm9ueW1zJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiB0aGlzUHJvdG8uR2V0U3lub255bXNSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiB0aGlzUHJvdG8uR2V0U3lub255bXNSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0NsYXNzaWZ5SW50ZW50c1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PHRoaXNQcm90by5DbGFzc2lmeUludGVudHNSZXNwb25zZT4+XG4gICAgICovXG4gICAgY2xhc3NpZnlJbnRlbnRzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkNsYXNzaWZ5SW50ZW50c1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uQ2xhc3NpZnlJbnRlbnRzUmVzcG9uc2U+PiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9vbmRld28ubmx1LkFpU2VydmljZXMvQ2xhc3NpZnlJbnRlbnRzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiB0aGlzUHJvdG8uQ2xhc3NpZnlJbnRlbnRzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogdGhpc1Byb3RvLkNsYXNzaWZ5SW50ZW50c1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9vbmRld28ubmx1LkFpU2VydmljZXMvRXh0cmFjdEVudGl0aWVzRnV6enlcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uRXh0cmFjdEVudGl0aWVzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGV4dHJhY3RFbnRpdGllc0Z1enp5OiAoXG4gICAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc0Z1enp5UmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8R3JwY0V2ZW50PHRoaXNQcm90by5FeHRyYWN0RW50aXRpZXNSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9FeHRyYWN0RW50aXRpZXNGdXp6eScsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogdGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc0Z1enp5UmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogdGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9vbmRld28ubmx1LkFpU2VydmljZXMvTGxtR2VuZXJhdGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uTGxtR2VuZXJhdGVSZXNwb25zZT4+XG4gICAgICovXG4gICAgbGxtR2VuZXJhdGU6IChcbiAgICAgIHJlcXVlc3REYXRhOiB0aGlzUHJvdG8uTGxtR2VuZXJhdGVSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8dGhpc1Byb3RvLkxsbUdlbmVyYXRlUmVzcG9uc2U+PiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9vbmRld28ubmx1LkFpU2VydmljZXMvTGxtR2VuZXJhdGUnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IHRoaXNQcm90by5MbG1HZW5lcmF0ZVJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IHRoaXNQcm90by5MbG1HZW5lcmF0ZVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFNlcnZlciBzdHJlYW1pbmc6IC9vbmRld28ubmx1LkFpU2VydmljZXMvU3RyZWFtaW5nTGxtR2VuZXJhdGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uU3RyZWFtaW5nTGxtR2VuZXJhdGVSZXNwb25zZT4+XG4gICAgICovXG4gICAgc3RyZWFtaW5nTGxtR2VuZXJhdGU6IChcbiAgICAgIHJlcXVlc3REYXRhOiB0aGlzUHJvdG8uTGxtR2VuZXJhdGVSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8dGhpc1Byb3RvLlN0cmVhbWluZ0xsbUdlbmVyYXRlUmVzcG9uc2U+PiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS5zZXJ2ZXJTdHJlYW0sXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvb25kZXdvLm5sdS5BaVNlcnZpY2VzL1N0cmVhbWluZ0xsbUdlbmVyYXRlJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiB0aGlzUHJvdG8uTGxtR2VuZXJhdGVSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiB0aGlzUHJvdG8uU3RyZWFtaW5nTGxtR2VuZXJhdGVSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0xpc3RMbG1Nb2RlbHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDx0aGlzUHJvdG8uTGlzdExsbU1vZGVsc1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBsaXN0TGxtTW9kZWxzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkxpc3RMbG1Nb2RlbHNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8dGhpc1Byb3RvLkxpc3RMbG1Nb2RlbHNSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9MaXN0TGxtTW9kZWxzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiB0aGlzUHJvdG8uTGlzdExsbU1vZGVsc1JlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IHRoaXNQcm90by5MaXN0TGxtTW9kZWxzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEdSUENfQUlfU0VSVklDRVNfQ0xJRU5UX1NFVFRJTkdTKSBzZXR0aW5nczogYW55LFxuICAgIEBJbmplY3QoR1JQQ19DTElFTlRfRkFDVE9SWSkgY2xpZW50RmFjdG9yeTogR3JwY0NsaWVudEZhY3Rvcnk8YW55PixcbiAgICBwcml2YXRlIGhhbmRsZXI6IEdycGNIYW5kbGVyXG4gICkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50RmFjdG9yeS5jcmVhdGVDbGllbnQoJ29uZGV3by5ubHUuQWlTZXJ2aWNlcycsIHNldHRpbmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0V4dHJhY3RFbnRpdGllc1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHRoaXNQcm90by5FeHRyYWN0RW50aXRpZXNSZXNwb25zZT5cbiAgICovXG4gIGV4dHJhY3RFbnRpdGllcyhcbiAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc1JlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8dGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmV4dHJhY3RFbnRpdGllcyhyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9vbmRld28ubmx1LkFpU2VydmljZXMvR2VuZXJhdGVVc2VyU2F5c1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHRoaXNQcm90by5HZW5lcmF0ZVVzZXJTYXlzUmVzcG9uc2U+XG4gICAqL1xuICBnZW5lcmF0ZVVzZXJTYXlzKFxuICAgIHJlcXVlc3REYXRhOiB0aGlzUHJvdG8uR2VuZXJhdGVVc2VyU2F5c1JlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8dGhpc1Byb3RvLkdlbmVyYXRlVXNlclNheXNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5nZW5lcmF0ZVVzZXJTYXlzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZW5lcmF0ZVJlc3BvbnNlc1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHRoaXNQcm90by5HZW5lcmF0ZVJlc3BvbnNlc1Jlc3BvbnNlPlxuICAgKi9cbiAgZ2VuZXJhdGVSZXNwb25zZXMoXG4gICAgcmVxdWVzdERhdGE6IHRoaXNQcm90by5HZW5lcmF0ZVJlc3BvbnNlc1JlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8dGhpc1Byb3RvLkdlbmVyYXRlUmVzcG9uc2VzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2VuZXJhdGVSZXNwb25zZXMocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0dldEFsdGVybmF0aXZlU2VudGVuY2VzXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8dGhpc1Byb3RvLkdldEFsdGVybmF0aXZlU2VudGVuY2VzUmVzcG9uc2U+XG4gICAqL1xuICBnZXRBbHRlcm5hdGl2ZVNlbnRlbmNlcyhcbiAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkdldEFsdGVybmF0aXZlU2VudGVuY2VzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTx0aGlzUHJvdG8uR2V0QWx0ZXJuYXRpdmVTZW50ZW5jZXNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5nZXRBbHRlcm5hdGl2ZVNlbnRlbmNlcyhyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9vbmRld28ubmx1LkFpU2VydmljZXMvR2V0QWx0ZXJuYXRpdmVUcmFpbmluZ1BocmFzZXNcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTx0aGlzUHJvdG8uR2V0QWx0ZXJuYXRpdmVUcmFpbmluZ1BocmFzZXNSZXNwb25zZT5cbiAgICovXG4gIGdldEFsdGVybmF0aXZlVHJhaW5pbmdQaHJhc2VzKFxuICAgIHJlcXVlc3REYXRhOiB0aGlzUHJvdG8uR2V0QWx0ZXJuYXRpdmVUcmFpbmluZ1BocmFzZXNSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPHRoaXNQcm90by5HZXRBbHRlcm5hdGl2ZVRyYWluaW5nUGhyYXNlc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmdldEFsdGVybmF0aXZlVHJhaW5pbmdQaHJhc2VzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9HZXRTeW5vbnltc1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHRoaXNQcm90by5HZXRTeW5vbnltc1Jlc3BvbnNlPlxuICAgKi9cbiAgZ2V0U3lub255bXMoXG4gICAgcmVxdWVzdERhdGE6IHRoaXNQcm90by5HZXRTeW5vbnltc1JlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8dGhpc1Byb3RvLkdldFN5bm9ueW1zUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0U3lub255bXMocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0NsYXNzaWZ5SW50ZW50c1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHRoaXNQcm90by5DbGFzc2lmeUludGVudHNSZXNwb25zZT5cbiAgICovXG4gIGNsYXNzaWZ5SW50ZW50cyhcbiAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkNsYXNzaWZ5SW50ZW50c1JlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8dGhpc1Byb3RvLkNsYXNzaWZ5SW50ZW50c1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmNsYXNzaWZ5SW50ZW50cyhyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9vbmRld28ubmx1LkFpU2VydmljZXMvRXh0cmFjdEVudGl0aWVzRnV6enlcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTx0aGlzUHJvdG8uRXh0cmFjdEVudGl0aWVzUmVzcG9uc2U+XG4gICAqL1xuICBleHRyYWN0RW50aXRpZXNGdXp6eShcbiAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkV4dHJhY3RFbnRpdGllc0Z1enp5UmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTx0aGlzUHJvdG8uRXh0cmFjdEVudGl0aWVzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZXh0cmFjdEVudGl0aWVzRnV6enkocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvb25kZXdvLm5sdS5BaVNlcnZpY2VzL0xsbUdlbmVyYXRlXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8dGhpc1Byb3RvLkxsbUdlbmVyYXRlUmVzcG9uc2U+XG4gICAqL1xuICBsbG1HZW5lcmF0ZShcbiAgICByZXF1ZXN0RGF0YTogdGhpc1Byb3RvLkxsbUdlbmVyYXRlUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTx0aGlzUHJvdG8uTGxtR2VuZXJhdGVSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5sbG1HZW5lcmF0ZShyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZlciBzdHJlYW1pbmcgQC9vbmRld28ubmx1LkFpU2VydmljZXMvU3RyZWFtaW5nTGxtR2VuZXJhdGVcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTx0aGlzUHJvdG8uU3RyZWFtaW5nTGxtR2VuZXJhdGVSZXNwb25zZT5cbiAgICovXG4gIHN0cmVhbWluZ0xsbUdlbmVyYXRlKFxuICAgIHJlcXVlc3REYXRhOiB0aGlzUHJvdG8uTGxtR2VuZXJhdGVSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPHRoaXNQcm90by5TdHJlYW1pbmdMbG1HZW5lcmF0ZVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLnN0cmVhbWluZ0xsbUdlbmVyYXRlKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL29uZGV3by5ubHUuQWlTZXJ2aWNlcy9MaXN0TGxtTW9kZWxzXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8dGhpc1Byb3RvLkxpc3RMbG1Nb2RlbHNSZXNwb25zZT5cbiAgICovXG4gIGxpc3RMbG1Nb2RlbHMoXG4gICAgcmVxdWVzdERhdGE6IHRoaXNQcm90by5MaXN0TGxtTW9kZWxzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTx0aGlzUHJvdG8uTGlzdExsbU1vZGVsc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmxpc3RMbG1Nb2RlbHMocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxufVxuIl19