@aneoconsultingfr/armonik.api.angular 3.11.0-edge.89.ab31d7c → 3.11.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 (55) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/generated/applications-common.pb.mjs +22 -618
  3. package/esm2022/lib/generated/applications-fields.pb.mjs +231 -0
  4. package/esm2022/lib/generated/applications-filters.pb.mjs +349 -0
  5. package/esm2022/lib/generated/applications-service.pb.mjs +1 -1
  6. package/esm2022/lib/generated/applications-service.pbsc.mjs +6 -36
  7. package/esm2022/lib/generated/events-common.pb.mjs +19 -3
  8. package/esm2022/lib/generated/filters-common.pb.mjs +642 -0
  9. package/esm2022/lib/generated/partitions-common.pb.mjs +25 -433
  10. package/esm2022/lib/generated/partitions-fields.pb.mjs +233 -0
  11. package/esm2022/lib/generated/partitions-filters.pb.mjs +431 -0
  12. package/esm2022/lib/generated/partitions-service.pb.mjs +1 -1
  13. package/esm2022/lib/generated/partitions-service.pbsc.mjs +10 -10
  14. package/esm2022/lib/generated/results-common.pb.mjs +33 -565
  15. package/esm2022/lib/generated/results-fields.pb.mjs +234 -0
  16. package/esm2022/lib/generated/results-filters.pb.mjs +546 -0
  17. package/esm2022/lib/generated/results-service.pb.mjs +1 -1
  18. package/esm2022/lib/generated/results-service.pbsc.mjs +39 -39
  19. package/esm2022/lib/generated/sessions-common.pb.mjs +104 -822
  20. package/esm2022/lib/generated/sessions-fields.pb.mjs +504 -0
  21. package/esm2022/lib/generated/sessions-filters.pb.mjs +602 -0
  22. package/esm2022/lib/generated/sessions-service.pb.mjs +1 -1
  23. package/esm2022/lib/generated/sessions-service.pbsc.mjs +24 -24
  24. package/esm2022/lib/generated/tasks-common.pb.mjs +166 -900
  25. package/esm2022/lib/generated/tasks-fields.pb.mjs +513 -0
  26. package/esm2022/lib/generated/tasks-filters.pb.mjs +602 -0
  27. package/esm2022/lib/generated/tasks-service.pb.mjs +1 -1
  28. package/esm2022/lib/generated/tasks-service.pbsc.mjs +36 -36
  29. package/esm2022/lib/index.mjs +22 -12
  30. package/fesm2022/aneoconsultingfr-armonik.api.angular.mjs +11857 -10006
  31. package/fesm2022/aneoconsultingfr-armonik.api.angular.mjs.map +1 -1
  32. package/lib/generated/applications-common.pb.d.ts +11 -388
  33. package/lib/generated/applications-fields.pb.d.ts +153 -0
  34. package/lib/generated/applications-filters.pb.d.ts +222 -0
  35. package/lib/generated/applications-service.pbsc.d.ts +5 -21
  36. package/lib/generated/events-common.pb.d.ts +5 -0
  37. package/lib/generated/filters-common.pb.d.ts +408 -0
  38. package/lib/generated/partitions-common.pb.d.ts +15 -260
  39. package/lib/generated/partitions-fields.pb.d.ts +155 -0
  40. package/lib/generated/partitions-filters.pb.d.ts +240 -0
  41. package/lib/generated/partitions-service.pbsc.d.ts +9 -9
  42. package/lib/generated/results-common.pb.d.ts +24 -295
  43. package/lib/generated/results-fields.pb.d.ts +156 -0
  44. package/lib/generated/results-filters.pb.d.ts +315 -0
  45. package/lib/generated/results-service.pbsc.d.ts +38 -38
  46. package/lib/generated/sessions-common.pb.d.ts +76 -489
  47. package/lib/generated/sessions-fields.pb.d.ts +318 -0
  48. package/lib/generated/sessions-filters.pb.d.ts +327 -0
  49. package/lib/generated/sessions-service.pbsc.d.ts +19 -19
  50. package/lib/generated/tasks-common.pb.d.ts +139 -561
  51. package/lib/generated/tasks-fields.pb.d.ts +327 -0
  52. package/lib/generated/tasks-filters.pb.d.ts +327 -0
  53. package/lib/generated/tasks-service.pbsc.d.ts +31 -31
  54. package/lib/index.d.ts +21 -11
  55. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3Mtc2VydmljZS5wYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZW9jb25zdWx0aW5nZnIvYXJtb25pay5hcGkuYW5ndWxhci9zcmMvbGliL2dlbmVyYXRlZC90YXNrcy1zZXJ2aWNlLnBiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIEB0cy1ub2NoZWNrXG4vL1xuLy8gVEhJUyBJUyBBIEdFTkVSQVRFRCBGSUxFXG4vLyBETyBOT1QgTU9ESUZZIElUISBZT1VSIENIQU5HRVMgV0lMTCBCRSBMT1NUXG5pbXBvcnQgKiBhcyBnb29nbGVQcm90b2J1ZjAwMCBmcm9tICdAbmd4LWdycGMvd2VsbC1rbm93bi10eXBlcyc7XG5pbXBvcnQgKiBhcyBnb29nbGVQcm90b2J1ZjAwMSBmcm9tICdAbmd4LWdycGMvd2VsbC1rbm93bi10eXBlcyc7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxMDAyIGZyb20gJy4vb2JqZWN0cy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxU29ydF9kaXJlY3Rpb24wMDMgZnJvbSAnLi9zb3J0LWRpcmVjdGlvbi5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxVGFza19zdGF0dXMwMDQgZnJvbSAnLi90YXNrLXN0YXR1cy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUgZnJvbSAnLi90YXNrcy1jb21tb24ucGInO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3Mtc2VydmljZS5wYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZW9jb25zdWx0aW5nZnIvYXJtb25pay5hcGkuYW5ndWxhci9zcmMvbGliL2dlbmVyYXRlZC90YXNrcy1zZXJ2aWNlLnBiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIEB0cy1ub2NoZWNrXG4vL1xuLy8gVEhJUyBJUyBBIEdFTkVSQVRFRCBGSUxFXG4vLyBETyBOT1QgTU9ESUZZIElUISBZT1VSIENIQU5HRVMgV0lMTCBCRSBMT1NUXG5pbXBvcnQgKiBhcyBnb29nbGVQcm90b2J1ZjAwMCBmcm9tICdAbmd4LWdycGMvd2VsbC1rbm93bi10eXBlcyc7XG5pbXBvcnQgKiBhcyBnb29nbGVQcm90b2J1ZjAwMSBmcm9tICdAbmd4LWdycGMvd2VsbC1rbm93bi10eXBlcyc7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxMDAyIGZyb20gJy4vb2JqZWN0cy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxU29ydF9kaXJlY3Rpb24wMDMgZnJvbSAnLi9zb3J0LWRpcmVjdGlvbi5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxVGFza19zdGF0dXMwMDQgZnJvbSAnLi90YXNrLXN0YXR1cy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUgZnJvbSAnLi90YXNrcy1maWVsZHMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVRhc2tzMDA2IGZyb20gJy4vdGFza3MtZmlsdGVycy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcgZnJvbSAnLi90YXNrcy1jb21tb24ucGInO1xuIl19
@@ -7,7 +7,7 @@
7
7
  import { Inject, Injectable, Optional } from '@angular/core';
8
8
  import { GrpcCallType, GrpcMetadata } from '@ngx-grpc/common';
9
9
  import { GRPC_CLIENT_FACTORY, takeMessages, throwStatusErrors } from '@ngx-grpc/core';
10
- import * as armonikApiGrpcV1Tasks005 from './tasks-common.pb';
10
+ import * as armonikApiGrpcV1Tasks007 from './tasks-common.pb';
11
11
  import { GRPC_TASKS_CLIENT_SETTINGS } from './tasks-service.pbconf';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "@ngx-grpc/core";
@@ -28,7 +28,7 @@ export class TasksClient {
28
28
  *
29
29
  * @param requestMessage Request message
30
30
  * @param requestMetadata Request metadata
31
- * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks005.ListTasksResponse>>
31
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks007.ListTasksResponse>>
32
32
  */
33
33
  listTasks: (requestData, requestMetadata = new GrpcMetadata()) => {
34
34
  return this.handler.handle({
@@ -37,26 +37,26 @@ export class TasksClient {
37
37
  path: '/armonik.api.grpc.v1.tasks.Tasks/ListTasks',
38
38
  requestData,
39
39
  requestMetadata,
40
- requestClass: armonikApiGrpcV1Tasks005.ListTasksRequest,
41
- responseClass: armonikApiGrpcV1Tasks005.ListTasksResponse
40
+ requestClass: armonikApiGrpcV1Tasks007.ListTasksRequest,
41
+ responseClass: armonikApiGrpcV1Tasks007.ListTasksResponse
42
42
  });
43
43
  },
44
44
  /**
45
- * Unary call: /armonik.api.grpc.v1.tasks.Tasks/ListTasksRaw
45
+ * Unary call: /armonik.api.grpc.v1.tasks.Tasks/ListTasksDetailed
46
46
  *
47
47
  * @param requestMessage Request message
48
48
  * @param requestMetadata Request metadata
49
- * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks005.ListTasksRawResponse>>
49
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks007.ListTasksDetailedResponse>>
50
50
  */
51
- listTasksRaw: (requestData, requestMetadata = new GrpcMetadata()) => {
51
+ listTasksDetailed: (requestData, requestMetadata = new GrpcMetadata()) => {
52
52
  return this.handler.handle({
53
53
  type: GrpcCallType.unary,
54
54
  client: this.client,
55
- path: '/armonik.api.grpc.v1.tasks.Tasks/ListTasksRaw',
55
+ path: '/armonik.api.grpc.v1.tasks.Tasks/ListTasksDetailed',
56
56
  requestData,
57
57
  requestMetadata,
58
- requestClass: armonikApiGrpcV1Tasks005.ListTasksRequest,
59
- responseClass: armonikApiGrpcV1Tasks005.ListTasksRawResponse
58
+ requestClass: armonikApiGrpcV1Tasks007.ListTasksRequest,
59
+ responseClass: armonikApiGrpcV1Tasks007.ListTasksDetailedResponse
60
60
  });
61
61
  },
62
62
  /**
@@ -64,7 +64,7 @@ export class TasksClient {
64
64
  *
65
65
  * @param requestMessage Request message
66
66
  * @param requestMetadata Request metadata
67
- * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks005.GetTaskResponse>>
67
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks007.GetTaskResponse>>
68
68
  */
69
69
  getTask: (requestData, requestMetadata = new GrpcMetadata()) => {
70
70
  return this.handler.handle({
@@ -73,8 +73,8 @@ export class TasksClient {
73
73
  path: '/armonik.api.grpc.v1.tasks.Tasks/GetTask',
74
74
  requestData,
75
75
  requestMetadata,
76
- requestClass: armonikApiGrpcV1Tasks005.GetTaskRequest,
77
- responseClass: armonikApiGrpcV1Tasks005.GetTaskResponse
76
+ requestClass: armonikApiGrpcV1Tasks007.GetTaskRequest,
77
+ responseClass: armonikApiGrpcV1Tasks007.GetTaskResponse
78
78
  });
79
79
  },
80
80
  /**
@@ -82,7 +82,7 @@ export class TasksClient {
82
82
  *
83
83
  * @param requestMessage Request message
84
84
  * @param requestMetadata Request metadata
85
- * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks005.CancelTasksResponse>>
85
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks007.CancelTasksResponse>>
86
86
  */
87
87
  cancelTasks: (requestData, requestMetadata = new GrpcMetadata()) => {
88
88
  return this.handler.handle({
@@ -91,8 +91,8 @@ export class TasksClient {
91
91
  path: '/armonik.api.grpc.v1.tasks.Tasks/CancelTasks',
92
92
  requestData,
93
93
  requestMetadata,
94
- requestClass: armonikApiGrpcV1Tasks005.CancelTasksRequest,
95
- responseClass: armonikApiGrpcV1Tasks005.CancelTasksResponse
94
+ requestClass: armonikApiGrpcV1Tasks007.CancelTasksRequest,
95
+ responseClass: armonikApiGrpcV1Tasks007.CancelTasksResponse
96
96
  });
97
97
  },
98
98
  /**
@@ -100,7 +100,7 @@ export class TasksClient {
100
100
  *
101
101
  * @param requestMessage Request message
102
102
  * @param requestMetadata Request metadata
103
- * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks005.GetResultIdsResponse>>
103
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks007.GetResultIdsResponse>>
104
104
  */
105
105
  getResultIds: (requestData, requestMetadata = new GrpcMetadata()) => {
106
106
  return this.handler.handle({
@@ -109,8 +109,8 @@ export class TasksClient {
109
109
  path: '/armonik.api.grpc.v1.tasks.Tasks/GetResultIds',
110
110
  requestData,
111
111
  requestMetadata,
112
- requestClass: armonikApiGrpcV1Tasks005.GetResultIdsRequest,
113
- responseClass: armonikApiGrpcV1Tasks005.GetResultIdsResponse
112
+ requestClass: armonikApiGrpcV1Tasks007.GetResultIdsRequest,
113
+ responseClass: armonikApiGrpcV1Tasks007.GetResultIdsResponse
114
114
  });
115
115
  },
116
116
  /**
@@ -118,7 +118,7 @@ export class TasksClient {
118
118
  *
119
119
  * @param requestMessage Request message
120
120
  * @param requestMetadata Request metadata
121
- * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks005.CountTasksByStatusResponse>>
121
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks007.CountTasksByStatusResponse>>
122
122
  */
123
123
  countTasksByStatus: (requestData, requestMetadata = new GrpcMetadata()) => {
124
124
  return this.handler.handle({
@@ -127,8 +127,8 @@ export class TasksClient {
127
127
  path: '/armonik.api.grpc.v1.tasks.Tasks/CountTasksByStatus',
128
128
  requestData,
129
129
  requestMetadata,
130
- requestClass: armonikApiGrpcV1Tasks005.CountTasksByStatusRequest,
131
- responseClass: armonikApiGrpcV1Tasks005.CountTasksByStatusResponse
130
+ requestClass: armonikApiGrpcV1Tasks007.CountTasksByStatusRequest,
131
+ responseClass: armonikApiGrpcV1Tasks007.CountTasksByStatusResponse
132
132
  });
133
133
  },
134
134
  /**
@@ -136,7 +136,7 @@ export class TasksClient {
136
136
  *
137
137
  * @param requestMessage Request message
138
138
  * @param requestMetadata Request metadata
139
- * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks005.SubmitTasksResponse>>
139
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Tasks007.SubmitTasksResponse>>
140
140
  */
141
141
  submitTasks: (requestData, requestMetadata = new GrpcMetadata()) => {
142
142
  return this.handler.handle({
@@ -145,8 +145,8 @@ export class TasksClient {
145
145
  path: '/armonik.api.grpc.v1.tasks.Tasks/SubmitTasks',
146
146
  requestData,
147
147
  requestMetadata,
148
- requestClass: armonikApiGrpcV1Tasks005.SubmitTasksRequest,
149
- responseClass: armonikApiGrpcV1Tasks005.SubmitTasksResponse
148
+ requestClass: armonikApiGrpcV1Tasks007.SubmitTasksRequest,
149
+ responseClass: armonikApiGrpcV1Tasks007.SubmitTasksResponse
150
150
  });
151
151
  }
152
152
  };
@@ -157,7 +157,7 @@ export class TasksClient {
157
157
  *
158
158
  * @param requestMessage Request message
159
159
  * @param requestMetadata Request metadata
160
- * @returns Observable<armonikApiGrpcV1Tasks005.ListTasksResponse>
160
+ * @returns Observable<armonikApiGrpcV1Tasks007.ListTasksResponse>
161
161
  */
162
162
  listTasks(requestData, requestMetadata = new GrpcMetadata()) {
163
163
  return this.$raw
@@ -165,15 +165,15 @@ export class TasksClient {
165
165
  .pipe(throwStatusErrors(), takeMessages());
166
166
  }
167
167
  /**
168
- * Unary call @/armonik.api.grpc.v1.tasks.Tasks/ListTasksRaw
168
+ * Unary call @/armonik.api.grpc.v1.tasks.Tasks/ListTasksDetailed
169
169
  *
170
170
  * @param requestMessage Request message
171
171
  * @param requestMetadata Request metadata
172
- * @returns Observable<armonikApiGrpcV1Tasks005.ListTasksRawResponse>
172
+ * @returns Observable<armonikApiGrpcV1Tasks007.ListTasksDetailedResponse>
173
173
  */
174
- listTasksRaw(requestData, requestMetadata = new GrpcMetadata()) {
174
+ listTasksDetailed(requestData, requestMetadata = new GrpcMetadata()) {
175
175
  return this.$raw
176
- .listTasksRaw(requestData, requestMetadata)
176
+ .listTasksDetailed(requestData, requestMetadata)
177
177
  .pipe(throwStatusErrors(), takeMessages());
178
178
  }
179
179
  /**
@@ -181,7 +181,7 @@ export class TasksClient {
181
181
  *
182
182
  * @param requestMessage Request message
183
183
  * @param requestMetadata Request metadata
184
- * @returns Observable<armonikApiGrpcV1Tasks005.GetTaskResponse>
184
+ * @returns Observable<armonikApiGrpcV1Tasks007.GetTaskResponse>
185
185
  */
186
186
  getTask(requestData, requestMetadata = new GrpcMetadata()) {
187
187
  return this.$raw
@@ -193,7 +193,7 @@ export class TasksClient {
193
193
  *
194
194
  * @param requestMessage Request message
195
195
  * @param requestMetadata Request metadata
196
- * @returns Observable<armonikApiGrpcV1Tasks005.CancelTasksResponse>
196
+ * @returns Observable<armonikApiGrpcV1Tasks007.CancelTasksResponse>
197
197
  */
198
198
  cancelTasks(requestData, requestMetadata = new GrpcMetadata()) {
199
199
  return this.$raw
@@ -205,7 +205,7 @@ export class TasksClient {
205
205
  *
206
206
  * @param requestMessage Request message
207
207
  * @param requestMetadata Request metadata
208
- * @returns Observable<armonikApiGrpcV1Tasks005.GetResultIdsResponse>
208
+ * @returns Observable<armonikApiGrpcV1Tasks007.GetResultIdsResponse>
209
209
  */
210
210
  getResultIds(requestData, requestMetadata = new GrpcMetadata()) {
211
211
  return this.$raw
@@ -217,7 +217,7 @@ export class TasksClient {
217
217
  *
218
218
  * @param requestMessage Request message
219
219
  * @param requestMetadata Request metadata
220
- * @returns Observable<armonikApiGrpcV1Tasks005.CountTasksByStatusResponse>
220
+ * @returns Observable<armonikApiGrpcV1Tasks007.CountTasksByStatusResponse>
221
221
  */
222
222
  countTasksByStatus(requestData, requestMetadata = new GrpcMetadata()) {
223
223
  return this.$raw
@@ -229,7 +229,7 @@ export class TasksClient {
229
229
  *
230
230
  * @param requestMessage Request message
231
231
  * @param requestMetadata Request metadata
232
- * @returns Observable<armonikApiGrpcV1Tasks005.SubmitTasksResponse>
232
+ * @returns Observable<armonikApiGrpcV1Tasks007.SubmitTasksResponse>
233
233
  */
234
234
  submitTasks(requestData, requestMetadata = new GrpcMetadata()) {
235
235
  return this.$raw
@@ -251,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
251
251
  type: Inject,
252
252
  args: [GRPC_CLIENT_FACTORY]
253
253
  }] }, { type: i1.GrpcHandler }]; } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3Mtc2VydmljZS5wYnNjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5lb2NvbnN1bHRpbmdmci9hcm1vbmlrLmFwaS5hbmd1bGFyL3NyYy9saWIvZ2VuZXJhdGVkL3Rhc2tzLXNlcnZpY2UucGJzYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLGNBQWM7QUFDZCxFQUFFO0FBQ0YsMkJBQTJCO0FBQzNCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLFlBQVksRUFJWixZQUFZLEVBQ2IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQ0wsbUJBQW1CLEVBRW5CLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQVF4QixPQUFPLEtBQUssd0JBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUNwRTs7R0FFRztBQUVILE1BQU0sT0FBTyxXQUFXO0lBZ0t0QixZQUNrRCxRQUFhLEVBQ2hDLGFBQXFDLEVBQzFELE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFoSzlCOzs7O1dBSUc7UUFDSCxTQUFJLEdBQUc7WUFDTDs7Ozs7O2VBTUc7WUFDSCxTQUFTLEVBQUUsQ0FDVCxXQUFzRCxFQUN0RCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFDK0IsRUFBRTtnQkFDckUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSw0Q0FBNEM7b0JBQ2xELFdBQVc7b0JB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QUFXLGNBREUsS0FBSzs7MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFOzswQkFrSzVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCOzswQkFDN0MsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIEB0cy1ub2NoZWNrXG4vL1xuLy8gVEhJUyBJUyBBIEdFTkVSQVRFRCBGSUxFXG4vLyBETyBOT1QgTU9ESUZZIElUISBZT1VSIENIQU5HRVMgV0lMTCBCRSBMT1NUXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHcnBjQ2FsbFR5cGUsXG4gIEdycGNDbGllbnQsXG4gIEdycGNDbGllbnRGYWN0b3J5LFxuICBHcnBjRXZlbnQsXG4gIEdycGNNZXRhZGF0YVxufSBmcm9tICdAbmd4LWdycGMvY29tbW9uJztcbmltcG9ydCB7XG4gIEdSUENfQ0xJRU5UX0ZBQ1RPUlksXG4gIEdycGNIYW5kbGVyLFxuICB0YWtlTWVzc2FnZXMsXG4gIHRocm93U3RhdHVzRXJyb3JzXG59IGZyb20gJ0BuZ3gtZ3JwYy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHRoaXNQcm90byBmcm9tICcuL3Rhc2tzLXNlcnZpY2UucGInO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDAgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDEgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMTAwMiBmcm9tICcuL29iamVjdHMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVNvcnRfZGlyZWN0aW9uMDAzIGZyb20gJy4vc29ydC1kaXJlY3Rpb24ucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVRhc2tfc3RhdHVzMDA0IGZyb20gJy4vdGFzay1zdGF0dXMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1IGZyb20gJy4vdGFza3MtY29tbW9uLnBiJztcbmltcG9ydCB7IEdSUENfVEFTS1NfQ0xJRU5UX1NFVFRJTkdTIH0gZnJvbSAnLi90YXNrcy1zZXJ2aWNlLnBiY29uZic7XG4vKipcbiAqIFNlcnZpY2UgY2xpZW50IGltcGxlbWVudGF0aW9uIGZvciBhcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ2FueScgfSlcbmV4cG9ydCBjbGFzcyBUYXNrc0NsaWVudCB7XG4gIHByaXZhdGUgY2xpZW50OiBHcnBjQ2xpZW50PGFueT47XG5cbiAgLyoqXG4gICAqIFJhdyBSUEMgaW1wbGVtZW50YXRpb24gZm9yIGVhY2ggc2VydmljZSBjbGllbnQgbWV0aG9kLlxuICAgKiBUaGUgcmF3IG1ldGhvZHMgcHJvdmlkZSBtb3JlIGNvbnRyb2wgb24gdGhlIGluY29taW5nIGRhdGEgYW5kIGV2ZW50cy4gRS5nLiB0aGV5IGNhbiBiZSB1c2VmdWwgdG8gcmVhZCBzdGF0dXMgYE9LYCBtZXRhZGF0YS5cbiAgICogQXR0ZW50aW9uOiB0aGVzZSBtZXRob2RzIGRvIG5vdCB0aHJvdyBlcnJvcnMgd2hlbiBub24temVybyBzdGF0dXMgY29kZXMgYXJlIHJlY2VpdmVkLlxuICAgKi9cbiAgJHJhdyA9IHtcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9MaXN0VGFza3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGxpc3RUYXNrczogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5MaXN0VGFza3NSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1Lkxpc3RUYXNrc1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9MaXN0VGFza3MnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5MaXN0VGFza3NSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvTGlzdFRhc2tzUmF3XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1Lkxpc3RUYXNrc1Jhd1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBsaXN0VGFza3NSYXc6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5MaXN0VGFza3NSYXdSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvTGlzdFRhc2tzUmF3JyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1Lkxpc3RUYXNrc1Jhd1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzL0dldFRhc2tcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuR2V0VGFza1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZXRUYXNrOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkdldFRhc2tSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkdldFRhc2tSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0VGFzaycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkdldFRhc2tSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuR2V0VGFza1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzL0NhbmNlbFRhc2tzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkNhbmNlbFRhc2tzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGNhbmNlbFRhc2tzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkNhbmNlbFRhc2tzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5DYW5jZWxUYXNrc1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9DYW5jZWxUYXNrcycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkNhbmNlbFRhc2tzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkNhbmNlbFRhc2tzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0UmVzdWx0SWRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkdldFJlc3VsdElkc1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZXRSZXN1bHRJZHM6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuR2V0UmVzdWx0SWRzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5HZXRSZXN1bHRJZHNSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0UmVzdWx0SWRzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuR2V0UmVzdWx0SWRzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkdldFJlc3VsdElkc1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzL0NvdW50VGFza3NCeVN0YXR1c1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5Db3VudFRhc2tzQnlTdGF0dXNSZXNwb25zZT4+XG4gICAgICovXG4gICAgY291bnRUYXNrc0J5U3RhdHVzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkNvdW50VGFza3NCeVN0YXR1c1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5Db3VudFRhc2tzQnlTdGF0dXNSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvQ291bnRUYXNrc0J5U3RhdHVzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuQ291bnRUYXNrc0J5U3RhdHVzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkNvdW50VGFza3NCeVN0YXR1c1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzL1N1Ym1pdFRhc2tzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LlN1Ym1pdFRhc2tzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIHN1Ym1pdFRhc2tzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LlN1Ym1pdFRhc2tzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5TdWJtaXRUYXNrc1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9TdWJtaXRUYXNrcycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LlN1Ym1pdFRhc2tzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LlN1Ym1pdFRhc2tzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEdSUENfVEFTS1NfQ0xJRU5UX1NFVFRJTkdTKSBzZXR0aW5nczogYW55LFxuICAgIEBJbmplY3QoR1JQQ19DTElFTlRfRkFDVE9SWSkgY2xpZW50RmFjdG9yeTogR3JwY0NsaWVudEZhY3Rvcnk8YW55PixcbiAgICBwcml2YXRlIGhhbmRsZXI6IEdycGNIYW5kbGVyXG4gICkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50RmFjdG9yeS5jcmVhdGVDbGllbnQoXG4gICAgICAnYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcycsXG4gICAgICBzZXR0aW5nc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvTGlzdFRhc2tzXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1Lkxpc3RUYXNrc1Jlc3BvbnNlPlxuICAgKi9cbiAgbGlzdFRhc2tzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAubGlzdFRhc2tzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvTGlzdFRhc2tzUmF3XG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1Lkxpc3RUYXNrc1Jhd1Jlc3BvbnNlPlxuICAgKi9cbiAgbGlzdFRhc2tzUmF3KFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuTGlzdFRhc2tzUmF3UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAubGlzdFRhc2tzUmF3KHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0VGFza1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5HZXRUYXNrUmVzcG9uc2U+XG4gICAqL1xuICBnZXRUYXNrKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuR2V0VGFza1JlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkdldFRhc2tSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5nZXRUYXNrKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvQ2FuY2VsVGFza3NcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuQ2FuY2VsVGFza3NSZXNwb25zZT5cbiAgICovXG4gIGNhbmNlbFRhc2tzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuQ2FuY2VsVGFza3NSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5DYW5jZWxUYXNrc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmNhbmNlbFRhc2tzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0UmVzdWx0SWRzXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkdldFJlc3VsdElkc1Jlc3BvbnNlPlxuICAgKi9cbiAgZ2V0UmVzdWx0SWRzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuR2V0UmVzdWx0SWRzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuR2V0UmVzdWx0SWRzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0UmVzdWx0SWRzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvQ291bnRUYXNrc0J5U3RhdHVzXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA1LkNvdW50VGFza3NCeVN0YXR1c1Jlc3BvbnNlPlxuICAgKi9cbiAgY291bnRUYXNrc0J5U3RhdHVzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuQ291bnRUYXNrc0J5U3RhdHVzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuQ291bnRUYXNrc0J5U3RhdHVzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuY291bnRUYXNrc0J5U3RhdHVzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvU3VibWl0VGFza3NcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuU3VibWl0VGFza3NSZXNwb25zZT5cbiAgICovXG4gIHN1Ym1pdFRhc2tzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDUuU3VibWl0VGFza3NSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNS5TdWJtaXRUYXNrc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLnN1Ym1pdFRhc2tzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cbn1cbiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3Mtc2VydmljZS5wYnNjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5lb2NvbnN1bHRpbmdmci9hcm1vbmlrLmFwaS5hbmd1bGFyL3NyYy9saWIvZ2VuZXJhdGVkL3Rhc2tzLXNlcnZpY2UucGJzYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLGNBQWM7QUFDZCxFQUFFO0FBQ0YsMkJBQTJCO0FBQzNCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLFlBQVksRUFJWixZQUFZLEVBQ2IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQ0wsbUJBQW1CLEVBRW5CLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQVV4QixPQUFPLEtBQUssd0JBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUNwRTs7R0FFRztBQUVILE1BQU0sT0FBTyxXQUFXO0lBa0t0QixZQUNrRCxRQUFhLEVBQ2hDLGFBQXFDLEVBQzFELE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFsSzlCOzs7O1dBSUc7UUFDSCxTQUFJLEdBQUc7WUFDTDs7Ozs7O2VBTUc7WUFDSCxTQUFTLEVBQUUsQ0FDVCxXQUFzRCxFQUN0RCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFDK0IsRUFBRTtnQkFDckUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSw0Q0FBNEM7b0JBQ2xELFdBQVc7b0JB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cEtsQixXQUFXLGNBREUsS0FBSzs7MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFOzswQkFvSzVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCOzswQkFDN0MsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIEB0cy1ub2NoZWNrXG4vL1xuLy8gVEhJUyBJUyBBIEdFTkVSQVRFRCBGSUxFXG4vLyBETyBOT1QgTU9ESUZZIElUISBZT1VSIENIQU5HRVMgV0lMTCBCRSBMT1NUXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHcnBjQ2FsbFR5cGUsXG4gIEdycGNDbGllbnQsXG4gIEdycGNDbGllbnRGYWN0b3J5LFxuICBHcnBjRXZlbnQsXG4gIEdycGNNZXRhZGF0YVxufSBmcm9tICdAbmd4LWdycGMvY29tbW9uJztcbmltcG9ydCB7XG4gIEdSUENfQ0xJRU5UX0ZBQ1RPUlksXG4gIEdycGNIYW5kbGVyLFxuICB0YWtlTWVzc2FnZXMsXG4gIHRocm93U3RhdHVzRXJyb3JzXG59IGZyb20gJ0BuZ3gtZ3JwYy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHRoaXNQcm90byBmcm9tICcuL3Rhc2tzLXNlcnZpY2UucGInO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDAgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDEgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMTAwMiBmcm9tICcuL29iamVjdHMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVNvcnRfZGlyZWN0aW9uMDAzIGZyb20gJy4vc29ydC1kaXJlY3Rpb24ucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVRhc2tfc3RhdHVzMDA0IGZyb20gJy4vdGFzay1zdGF0dXMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVRhc2tzMDA1IGZyb20gJy4vdGFza3MtZmllbGRzLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNiBmcm9tICcuL3Rhc2tzLWZpbHRlcnMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVRhc2tzMDA3IGZyb20gJy4vdGFza3MtY29tbW9uLnBiJztcbmltcG9ydCB7IEdSUENfVEFTS1NfQ0xJRU5UX1NFVFRJTkdTIH0gZnJvbSAnLi90YXNrcy1zZXJ2aWNlLnBiY29uZic7XG4vKipcbiAqIFNlcnZpY2UgY2xpZW50IGltcGxlbWVudGF0aW9uIGZvciBhcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ2FueScgfSlcbmV4cG9ydCBjbGFzcyBUYXNrc0NsaWVudCB7XG4gIHByaXZhdGUgY2xpZW50OiBHcnBjQ2xpZW50PGFueT47XG5cbiAgLyoqXG4gICAqIFJhdyBSUEMgaW1wbGVtZW50YXRpb24gZm9yIGVhY2ggc2VydmljZSBjbGllbnQgbWV0aG9kLlxuICAgKiBUaGUgcmF3IG1ldGhvZHMgcHJvdmlkZSBtb3JlIGNvbnRyb2wgb24gdGhlIGluY29taW5nIGRhdGEgYW5kIGV2ZW50cy4gRS5nLiB0aGV5IGNhbiBiZSB1c2VmdWwgdG8gcmVhZCBzdGF0dXMgYE9LYCBtZXRhZGF0YS5cbiAgICogQXR0ZW50aW9uOiB0aGVzZSBtZXRob2RzIGRvIG5vdCB0aHJvdyBlcnJvcnMgd2hlbiBub24temVybyBzdGF0dXMgY29kZXMgYXJlIHJlY2VpdmVkLlxuICAgKi9cbiAgJHJhdyA9IHtcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9MaXN0VGFza3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuTGlzdFRhc2tzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGxpc3RUYXNrczogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5MaXN0VGFza3NSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3Lkxpc3RUYXNrc1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9MaXN0VGFza3MnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5MaXN0VGFza3NSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuTGlzdFRhc2tzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvTGlzdFRhc2tzRGV0YWlsZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuTGlzdFRhc2tzRGV0YWlsZWRSZXNwb25zZT4+XG4gICAgICovXG4gICAgbGlzdFRhc2tzRGV0YWlsZWQ6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuTGlzdFRhc2tzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3Lkxpc3RUYXNrc0RldGFpbGVkUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzL0xpc3RUYXNrc0RldGFpbGVkJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuTGlzdFRhc2tzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVRhc2tzMDA3Lkxpc3RUYXNrc0RldGFpbGVkUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0VGFza1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5HZXRUYXNrUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldFRhc2s6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0VGFza1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0VGFza1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9HZXRUYXNrJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0VGFza1JlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5HZXRUYXNrUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvQ2FuY2VsVGFza3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ2FuY2VsVGFza3NSZXNwb25zZT4+XG4gICAgICovXG4gICAgY2FuY2VsVGFza3M6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ2FuY2VsVGFza3NSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LkNhbmNlbFRhc2tzUmVzcG9uc2U+PiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzL0NhbmNlbFRhc2tzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ2FuY2VsVGFza3NSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ2FuY2VsVGFza3NSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9HZXRSZXN1bHRJZHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0UmVzdWx0SWRzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldFJlc3VsdElkczogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5HZXRSZXN1bHRJZHNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LkdldFJlc3VsdElkc1Jlc3BvbnNlPj4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9HZXRSZXN1bHRJZHMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5HZXRSZXN1bHRJZHNSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0UmVzdWx0SWRzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvQ291bnRUYXNrc0J5U3RhdHVzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LkNvdW50VGFza3NCeVN0YXR1c1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBjb3VudFRhc2tzQnlTdGF0dXM6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ291bnRUYXNrc0J5U3RhdHVzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LkNvdW50VGFza3NCeVN0YXR1c1Jlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9Db3VudFRhc2tzQnlTdGF0dXMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5Db3VudFRhc2tzQnlTdGF0dXNSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ291bnRUYXNrc0J5U3RhdHVzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvU3VibWl0VGFza3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuU3VibWl0VGFza3NSZXNwb25zZT4+XG4gICAgICovXG4gICAgc3VibWl0VGFza3M6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuU3VibWl0VGFza3NSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LlN1Ym1pdFRhc2tzUmVzcG9uc2U+PiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzL1N1Ym1pdFRhc2tzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuU3VibWl0VGFza3NSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuU3VibWl0VGFza3NSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoR1JQQ19UQVNLU19DTElFTlRfU0VUVElOR1MpIHNldHRpbmdzOiBhbnksXG4gICAgQEluamVjdChHUlBDX0NMSUVOVF9GQUNUT1JZKSBjbGllbnRGYWN0b3J5OiBHcnBjQ2xpZW50RmFjdG9yeTxhbnk+LFxuICAgIHByaXZhdGUgaGFuZGxlcjogR3JwY0hhbmRsZXJcbiAgKSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRGYWN0b3J5LmNyZWF0ZUNsaWVudChcbiAgICAgICdhcm1vbmlrLmFwaS5ncnBjLnYxLnRhc2tzLlRhc2tzJyxcbiAgICAgIHNldHRpbmdzXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9MaXN0VGFza3NcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuTGlzdFRhc2tzUmVzcG9uc2U+XG4gICAqL1xuICBsaXN0VGFza3MoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5MaXN0VGFza3NSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5MaXN0VGFza3NSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5saXN0VGFza3MocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS50YXNrcy5UYXNrcy9MaXN0VGFza3NEZXRhaWxlZFxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5MaXN0VGFza3NEZXRhaWxlZFJlc3BvbnNlPlxuICAgKi9cbiAgbGlzdFRhc2tzRGV0YWlsZWQoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5MaXN0VGFza3NSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5MaXN0VGFza3NEZXRhaWxlZFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmxpc3RUYXNrc0RldGFpbGVkKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0VGFza1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5HZXRUYXNrUmVzcG9uc2U+XG4gICAqL1xuICBnZXRUYXNrKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0VGFza1JlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LkdldFRhc2tSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5nZXRUYXNrKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvQ2FuY2VsVGFza3NcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ2FuY2VsVGFza3NSZXNwb25zZT5cbiAgICovXG4gIGNhbmNlbFRhc2tzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ2FuY2VsVGFza3NSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5DYW5jZWxUYXNrc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmNhbmNlbFRhc2tzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvR2V0UmVzdWx0SWRzXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LkdldFJlc3VsdElkc1Jlc3BvbnNlPlxuICAgKi9cbiAgZ2V0UmVzdWx0SWRzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0UmVzdWx0SWRzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuR2V0UmVzdWx0SWRzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0UmVzdWx0SWRzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvQ291bnRUYXNrc0J5U3RhdHVzXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVRhc2tzMDA3LkNvdW50VGFza3NCeVN0YXR1c1Jlc3BvbnNlPlxuICAgKi9cbiAgY291bnRUYXNrc0J5U3RhdHVzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ291bnRUYXNrc0J5U3RhdHVzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuQ291bnRUYXNrc0J5U3RhdHVzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuY291bnRUYXNrc0J5U3RhdHVzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEudGFza3MuVGFza3MvU3VibWl0VGFza3NcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuU3VibWl0VGFza3NSZXNwb25zZT5cbiAgICovXG4gIHN1Ym1pdFRhc2tzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxVGFza3MwMDcuU3VibWl0VGFza3NSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFUYXNrczAwNy5TdWJtaXRUYXNrc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLnN1Ym1pdFRhc2tzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,23 +1,33 @@
1
- export { SortDirection } from "./generated/sort-direction.pb";
2
- export { ListApplicationsRequest, ListApplicationsResponse, CountTasksByStatusRequest as CountTasksByStatusApplicationRequest, CountTasksByStatusResponse as CountTasksByStatusApplicationResponse, ApplicationRaw, ApplicationRawEnumField, ApplicationField, ApplicationRawField } from "./generated/applications-common.pb";
1
+ export { ApplicationRaw, ListApplicationsRequest, ListApplicationsResponse } from "./generated/applications-common.pb";
2
+ export { ApplicationField, ApplicationRawEnumField, ApplicationRawField } from "./generated/applications-fields.pb";
3
+ export { FilterField as ApplicationFilterField, Filters as ApplicationFilters, FiltersAnd as ApplicationFiltersAnd, } from "./generated/applications-filters.pb";
3
4
  export { ApplicationsClient } from "./generated/applications-service.pbsc";
4
5
  export { GetCurrentUserRequest, GetCurrentUserResponse, User } from "./generated/auth-common.pb";
5
6
  export { AuthenticationClient } from "./generated/auth-service.pbsc";
7
+ export { EventSubscriptionRequest, EventSubscriptionResponse } from './generated/events-common.pb';
8
+ export { EventsClient } from "./generated/events-service.pbsc";
9
+ export { FilterArrayOperator, FilterDateOperator, FilterNumberOperator, FilterStatusOperator, FilterStringOperator, FilterArray, FilterBoolean, FilterDate, FilterNumber, FilterString, FilterBooleanOperator, } from "./generated/filters-common.pb";
10
+ export { StatusCount, TaskOptions } from "./generated/objects.pb";
11
+ export { GetPartitionRequest, GetPartitionResponse, ListPartitionsRequest, ListPartitionsResponse, PartitionRaw } from "./generated/partitions-common.pb";
12
+ export { PartitionField, PartitionRawEnumField, PartitionRawField } from "./generated/partitions-fields.pb";
13
+ export { FilterField as PartitionFilterField, Filters as PartitionFilters, FiltersAnd as PartitionFiltersAnd, } from "./generated/partitions-filters.pb";
14
+ export { PartitionsClient } from "./generated/partitions-service.pbsc";
6
15
  export { ResultStatus } from "./generated/result-status.pb";
7
- export { GetOwnerTaskIdRequest, GetOwnerTaskIdResponse, ListResultsRequest, ListResultsResponse, GetResultRequest, GetResultResponse, ResultRaw, ResultRawEnumField, ResultField, ResultRawField, } from "./generated/results-common.pb";
16
+ export { GetOwnerTaskIdRequest, GetOwnerTaskIdResponse, GetResultRequest, GetResultResponse, ListResultsRequest, ListResultsResponse, ResultRaw } from "./generated/results-common.pb";
17
+ export { ResultField, ResultRawEnumField, ResultRawField } from "./generated/results-fields.pb";
18
+ export { FilterField as ResultFilterField, Filters as ResultFilters, FiltersAnd as ResultFiltersAnd, FilterStatus as ResultFilterStatus } from "./generated/results-filters.pb";
8
19
  export { ResultsClient } from "./generated/results-service.pbsc";
9
20
  export { SessionStatus } from "./generated/session-status.pb";
10
- export { CancelSessionRequest, CancelSessionResponse, GetSessionRequest, GetSessionResponse, ListSessionsRequest, ListSessionsResponse, CountTasksByStatusRequest as CountTasksByStatusSessionRequest, CountTasksByStatusResponse as CountTasksByStatusSessionResponse, SessionRaw, SessionRawEnumField, SessionRawField, TaskOptionEnumField as SessionTaskOptionEnumField, TaskOptionField as SessionTaskOptionField, TaskOptionGenericField as SessionTaskOptionGenericField, SessionField } from "./generated/sessions-common.pb";
21
+ export { CancelSessionRequest, CancelSessionResponse, GetSessionRequest, GetSessionResponse, ListSessionsRequest, ListSessionsResponse, SessionRaw } from "./generated/sessions-common.pb";
22
+ export { SessionField, SessionRawEnumField, SessionRawField, TaskOptionEnumField as SessionTaskOptionEnumField, TaskOptionField as SessionTaskOptionField, TaskOptionGenericField as SessionTaskOptionGenericField } from "./generated/sessions-fields.pb";
23
+ export { FilterField as SessionFilterField, Filters as SessionFilters, FiltersAnd as SessionFiltersAnd, FilterStatus as SessionFilterStatus } from "./generated/sessions-filters.pb";
11
24
  export { SessionsClient } from "./generated/sessions-service.pbsc";
25
+ export { SortDirection } from "./generated/sort-direction.pb";
12
26
  export { TaskStatus } from "./generated/task-status.pb";
13
- export { CancelTasksRequest, CancelTasksResponse, GetResultIdsRequest, GetResultIdsResponse, GetTaskRequest, GetTaskResponse, ListTasksRequest, ListTasksResponse, CountTasksByStatusRequest, CountTasksByStatusResponse, TaskRaw, TaskSummary, TaskField, TaskOptionEnumField, TaskSummaryEnumField, TaskSummaryField, TaskOptionField, TaskOptionGenericField, } from "./generated/tasks-common.pb";
27
+ export { CancelTasksRequest, CancelTasksResponse, CountTasksByStatusRequest, CountTasksByStatusResponse, GetResultIdsRequest, GetResultIdsResponse, GetTaskRequest, GetTaskResponse, ListTasksRequest, ListTasksResponse, TaskDetailed, TaskSummary } from "./generated/tasks-common.pb";
28
+ export { TaskField, TaskOptionEnumField, TaskOptionField, TaskOptionGenericField, TaskSummaryEnumField, TaskSummaryField } from "./generated/tasks-fields.pb";
29
+ export { FilterField as TaskFilterField, Filters as TaskFilters, FiltersAnd as TaskFiltersAnd, FilterStatus as TaskFilterStatus } from "./generated/tasks-filters.pb";
14
30
  export { TasksClient } from "./generated/tasks-service.pbsc";
15
- export { GetPartitionRequest, GetPartitionResponse, ListPartitionsRequest, ListPartitionsResponse, PartitionRaw, PartitionRawEnumField, PartitionRawField, PartitionField, } from "./generated/partitions-common.pb";
16
- export { PartitionsClient } from "./generated/partitions-service.pbsc";
17
- export { StatusCount } from "./generated/objects.pb";
18
31
  export { ListVersionsRequest, ListVersionsResponse } from "./generated/versions-common.pb";
19
32
  export { VersionsClient } from "./generated/versions-service.pbsc";
20
- export { TaskOptions } from "./generated/objects.pb";
21
- export { EventSubscriptionRequest, EventSubscriptionResponse } from './generated/events-common.pb';
22
- export { EventsClient } from "./generated/events-service.pbsc";
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmVvY29uc3VsdGluZ2ZyL2FybW9uaWsuYXBpLmFuZ3VsYXIvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLElBQUksb0NBQW9DLEVBQ2pFLDBCQUEwQixJQUFJLHFDQUFxQyxFQUNuRSxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDcEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixJQUFJLEVBQ0wsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGNBQWMsR0FDZixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHlCQUF5QixJQUFJLGdDQUFnQyxFQUM3RCwwQkFBMEIsSUFBSSxpQ0FBaUMsRUFDL0QsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsbUJBQW1CLElBQUksMEJBQTBCLEVBQ2pELGVBQWUsSUFBSSxzQkFBc0IsRUFDekMsc0JBQXNCLElBQUksNkJBQTZCLEVBQ3ZELFlBQVksRUFDYixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixPQUFPLEVBQ1AsV0FBVyxFQUNYLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysc0JBQXNCLEdBQ3ZCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sa0NBQWtDLENBQUE7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsTUFBTSw4QkFBOEIsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL3NvcnQtZGlyZWN0aW9uLnBiXCI7XG5leHBvcnQge1xuICBMaXN0QXBwbGljYXRpb25zUmVxdWVzdCxcbiAgTGlzdEFwcGxpY2F0aW9uc1Jlc3BvbnNlLFxuICBDb3VudFRhc2tzQnlTdGF0dXNSZXF1ZXN0IGFzIENvdW50VGFza3NCeVN0YXR1c0FwcGxpY2F0aW9uUmVxdWVzdCxcbiAgQ291bnRUYXNrc0J5U3RhdHVzUmVzcG9uc2UgYXMgQ291bnRUYXNrc0J5U3RhdHVzQXBwbGljYXRpb25SZXNwb25zZSxcbiAgQXBwbGljYXRpb25SYXcsXG4gIEFwcGxpY2F0aW9uUmF3RW51bUZpZWxkLFxuICBBcHBsaWNhdGlvbkZpZWxkLFxuICBBcHBsaWNhdGlvblJhd0ZpZWxkXG59IGZyb20gXCIuL2dlbmVyYXRlZC9hcHBsaWNhdGlvbnMtY29tbW9uLnBiXCI7XG5leHBvcnQgeyBBcHBsaWNhdGlvbnNDbGllbnQgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvYXBwbGljYXRpb25zLXNlcnZpY2UucGJzY1wiO1xuZXhwb3J0IHtcbiAgR2V0Q3VycmVudFVzZXJSZXF1ZXN0LFxuICBHZXRDdXJyZW50VXNlclJlc3BvbnNlLFxuICBVc2VyXG59IGZyb20gXCIuL2dlbmVyYXRlZC9hdXRoLWNvbW1vbi5wYlwiO1xuZXhwb3J0IHsgQXV0aGVudGljYXRpb25DbGllbnQgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvYXV0aC1zZXJ2aWNlLnBic2NcIjtcbmV4cG9ydCB7IFJlc3VsdFN0YXR1cyB9IGZyb20gXCIuL2dlbmVyYXRlZC9yZXN1bHQtc3RhdHVzLnBiXCI7XG5leHBvcnQge1xuICBHZXRPd25lclRhc2tJZFJlcXVlc3QsXG4gIEdldE93bmVyVGFza0lkUmVzcG9uc2UsXG4gIExpc3RSZXN1bHRzUmVxdWVzdCxcbiAgTGlzdFJlc3VsdHNSZXNwb25zZSxcbiAgR2V0UmVzdWx0UmVxdWVzdCxcbiAgR2V0UmVzdWx0UmVzcG9uc2UsXG4gIFJlc3VsdFJhdyxcbiAgUmVzdWx0UmF3RW51bUZpZWxkLFxuICBSZXN1bHRGaWVsZCxcbiAgUmVzdWx0UmF3RmllbGQsXG59IGZyb20gXCIuL2dlbmVyYXRlZC9yZXN1bHRzLWNvbW1vbi5wYlwiO1xuZXhwb3J0IHsgUmVzdWx0c0NsaWVudCB9IGZyb20gXCIuL2dlbmVyYXRlZC9yZXN1bHRzLXNlcnZpY2UucGJzY1wiO1xuZXhwb3J0IHsgU2Vzc2lvblN0YXR1cyB9IGZyb20gXCIuL2dlbmVyYXRlZC9zZXNzaW9uLXN0YXR1cy5wYlwiO1xuZXhwb3J0IHtcbiAgQ2FuY2VsU2Vzc2lvblJlcXVlc3QsXG4gIENhbmNlbFNlc3Npb25SZXNwb25zZSxcbiAgR2V0U2Vzc2lvblJlcXVlc3QsXG4gIEdldFNlc3Npb25SZXNwb25zZSxcbiAgTGlzdFNlc3Npb25zUmVxdWVzdCxcbiAgTGlzdFNlc3Npb25zUmVzcG9uc2UsXG4gIENvdW50VGFza3NCeVN0YXR1c1JlcXVlc3QgYXMgQ291bnRUYXNrc0J5U3RhdHVzU2Vzc2lvblJlcXVlc3QsXG4gIENvdW50VGFza3NCeVN0YXR1c1Jlc3BvbnNlIGFzIENvdW50VGFza3NCeVN0YXR1c1Nlc3Npb25SZXNwb25zZSxcbiAgU2Vzc2lvblJhdyxcbiAgU2Vzc2lvblJhd0VudW1GaWVsZCxcbiAgU2Vzc2lvblJhd0ZpZWxkLFxuICBUYXNrT3B0aW9uRW51bUZpZWxkIGFzIFNlc3Npb25UYXNrT3B0aW9uRW51bUZpZWxkLFxuICBUYXNrT3B0aW9uRmllbGQgYXMgU2Vzc2lvblRhc2tPcHRpb25GaWVsZCxcbiAgVGFza09wdGlvbkdlbmVyaWNGaWVsZCBhcyBTZXNzaW9uVGFza09wdGlvbkdlbmVyaWNGaWVsZCxcbiAgU2Vzc2lvbkZpZWxkXG59IGZyb20gXCIuL2dlbmVyYXRlZC9zZXNzaW9ucy1jb21tb24ucGJcIjtcbmV4cG9ydCB7IFNlc3Npb25zQ2xpZW50IH0gZnJvbSBcIi4vZ2VuZXJhdGVkL3Nlc3Npb25zLXNlcnZpY2UucGJzY1wiO1xuZXhwb3J0IHsgVGFza1N0YXR1cyB9IGZyb20gXCIuL2dlbmVyYXRlZC90YXNrLXN0YXR1cy5wYlwiO1xuZXhwb3J0IHtcbiAgQ2FuY2VsVGFza3NSZXF1ZXN0LFxuICBDYW5jZWxUYXNrc1Jlc3BvbnNlLFxuICBHZXRSZXN1bHRJZHNSZXF1ZXN0LFxuICBHZXRSZXN1bHRJZHNSZXNwb25zZSxcbiAgR2V0VGFza1JlcXVlc3QsXG4gIEdldFRhc2tSZXNwb25zZSxcbiAgTGlzdFRhc2tzUmVxdWVzdCxcbiAgTGlzdFRhc2tzUmVzcG9uc2UsXG4gIENvdW50VGFza3NCeVN0YXR1c1JlcXVlc3QsXG4gIENvdW50VGFza3NCeVN0YXR1c1Jlc3BvbnNlLFxuICBUYXNrUmF3LFxuICBUYXNrU3VtbWFyeSxcbiAgVGFza0ZpZWxkLFxuICBUYXNrT3B0aW9uRW51bUZpZWxkLFxuICBUYXNrU3VtbWFyeUVudW1GaWVsZCxcbiAgVGFza1N1bW1hcnlGaWVsZCxcbiAgVGFza09wdGlvbkZpZWxkLFxuICBUYXNrT3B0aW9uR2VuZXJpY0ZpZWxkLFxufSBmcm9tIFwiLi9nZW5lcmF0ZWQvdGFza3MtY29tbW9uLnBiXCI7XG5leHBvcnQgeyBUYXNrc0NsaWVudCB9IGZyb20gXCIuL2dlbmVyYXRlZC90YXNrcy1zZXJ2aWNlLnBic2NcIjtcbmV4cG9ydCB7XG4gIEdldFBhcnRpdGlvblJlcXVlc3QsXG4gIEdldFBhcnRpdGlvblJlc3BvbnNlLFxuICBMaXN0UGFydGl0aW9uc1JlcXVlc3QsXG4gIExpc3RQYXJ0aXRpb25zUmVzcG9uc2UsXG4gIFBhcnRpdGlvblJhdyxcbiAgUGFydGl0aW9uUmF3RW51bUZpZWxkLFxuICBQYXJ0aXRpb25SYXdGaWVsZCxcbiAgUGFydGl0aW9uRmllbGQsXG59IGZyb20gXCIuL2dlbmVyYXRlZC9wYXJ0aXRpb25zLWNvbW1vbi5wYlwiXG5leHBvcnQgeyBQYXJ0aXRpb25zQ2xpZW50IH0gZnJvbSBcIi4vZ2VuZXJhdGVkL3BhcnRpdGlvbnMtc2VydmljZS5wYnNjXCJcbmV4cG9ydCB7IFN0YXR1c0NvdW50IH0gZnJvbSBcIi4vZ2VuZXJhdGVkL29iamVjdHMucGJcIlxuZXhwb3J0IHsgTGlzdFZlcnNpb25zUmVxdWVzdCwgTGlzdFZlcnNpb25zUmVzcG9uc2UgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvdmVyc2lvbnMtY29tbW9uLnBiXCJcbmV4cG9ydCB7IFZlcnNpb25zQ2xpZW50IH0gZnJvbSBcIi4vZ2VuZXJhdGVkL3ZlcnNpb25zLXNlcnZpY2UucGJzY1wiXG5leHBvcnQgeyBUYXNrT3B0aW9ucyB9IGZyb20gXCIuL2dlbmVyYXRlZC9vYmplY3RzLnBiXCJcbmV4cG9ydCB7XG4gIEV2ZW50U3Vic2NyaXB0aW9uUmVxdWVzdCxcbiAgRXZlbnRTdWJzY3JpcHRpb25SZXNwb25zZVxuIH0gZnJvbSAnLi9nZW5lcmF0ZWQvZXZlbnRzLWNvbW1vbi5wYidcbmV4cG9ydCB7IEV2ZW50c0NsaWVudCB9IGZyb20gXCIuL2dlbmVyYXRlZC9ldmVudHMtc2VydmljZS5wYnNjXCJcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmVvY29uc3VsdGluZ2ZyL2FybW9uaWsuYXBpLmFuZ3VsYXIvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUFFLHVCQUF1QixFQUN2Qyx3QkFBd0IsRUFDekIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDcEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsV0FBVyxJQUFJLHNCQUFzQixFQUNyQyxPQUFPLElBQUksa0JBQWtCLEVBQzdCLFVBQVUsSUFBSSxxQkFBcUIsR0FDcEMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixJQUFJLEVBQ0wsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUMxQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFDaEUsV0FBVyxFQUNYLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixxQkFBcUIsR0FDdEIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxtQkFBbUIs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b3J0IHtcbiAgQXBwbGljYXRpb25SYXcsIExpc3RBcHBsaWNhdGlvbnNSZXF1ZXN0LFxuICBMaXN0QXBwbGljYXRpb25zUmVzcG9uc2Vcbn0gZnJvbSBcIi4vZ2VuZXJhdGVkL2FwcGxpY2F0aW9ucy1jb21tb24ucGJcIjtcbmV4cG9ydCB7XG4gIEFwcGxpY2F0aW9uRmllbGQsXG4gIEFwcGxpY2F0aW9uUmF3RW51bUZpZWxkLFxuICBBcHBsaWNhdGlvblJhd0ZpZWxkXG59IGZyb20gXCIuL2dlbmVyYXRlZC9hcHBsaWNhdGlvbnMtZmllbGRzLnBiXCI7XG5leHBvcnQge1xuICBGaWx0ZXJGaWVsZCBhcyBBcHBsaWNhdGlvbkZpbHRlckZpZWxkLFxuICBGaWx0ZXJzIGFzIEFwcGxpY2F0aW9uRmlsdGVycyxcbiAgRmlsdGVyc0FuZCBhcyBBcHBsaWNhdGlvbkZpbHRlcnNBbmQsXG59IGZyb20gXCIuL2dlbmVyYXRlZC9hcHBsaWNhdGlvbnMtZmlsdGVycy5wYlwiO1xuZXhwb3J0IHsgQXBwbGljYXRpb25zQ2xpZW50IH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2FwcGxpY2F0aW9ucy1zZXJ2aWNlLnBic2NcIjtcbmV4cG9ydCB7XG4gIEdldEN1cnJlbnRVc2VyUmVxdWVzdCxcbiAgR2V0Q3VycmVudFVzZXJSZXNwb25zZSxcbiAgVXNlclxufSBmcm9tIFwiLi9nZW5lcmF0ZWQvYXV0aC1jb21tb24ucGJcIjtcbmV4cG9ydCB7IEF1dGhlbnRpY2F0aW9uQ2xpZW50IH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2F1dGgtc2VydmljZS5wYnNjXCI7XG5leHBvcnQge1xuICBFdmVudFN1YnNjcmlwdGlvblJlcXVlc3QsXG4gIEV2ZW50U3Vic2NyaXB0aW9uUmVzcG9uc2Vcbn0gZnJvbSAnLi9nZW5lcmF0ZWQvZXZlbnRzLWNvbW1vbi5wYic7XG5leHBvcnQgeyBFdmVudHNDbGllbnQgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvZXZlbnRzLXNlcnZpY2UucGJzY1wiO1xuZXhwb3J0IHtcbiAgRmlsdGVyQXJyYXlPcGVyYXRvcixcbiAgRmlsdGVyRGF0ZU9wZXJhdG9yLFxuICBGaWx0ZXJOdW1iZXJPcGVyYXRvciwgRmlsdGVyU3RhdHVzT3BlcmF0b3IsIEZpbHRlclN0cmluZ09wZXJhdG9yLFxuICBGaWx0ZXJBcnJheSxcbiAgRmlsdGVyQm9vbGVhbixcbiAgRmlsdGVyRGF0ZSxcbiAgRmlsdGVyTnVtYmVyLFxuICBGaWx0ZXJTdHJpbmcsXG4gIEZpbHRlckJvb2xlYW5PcGVyYXRvcixcbn0gZnJvbSBcIi4vZ2VuZXJhdGVkL2ZpbHRlcnMtY29tbW9uLnBiXCI7XG5leHBvcnQgeyBTdGF0dXNDb3VudCwgVGFza09wdGlvbnMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvb2JqZWN0cy5wYlwiO1xuZXhwb3J0IHtcbiAgR2V0UGFydGl0aW9uUmVxdWVzdCxcbiAgR2V0UGFydGl0aW9uUmVzcG9uc2UsXG4gIExpc3RQYXJ0aXRpb25zUmVxdWVzdCxcbiAgTGlzdFBhcnRpdGlvbnNSZXNwb25zZSxcbiAgUGFydGl0aW9uUmF3XG59IGZyb20gXCIuL2dlbmVyYXRlZC9wYXJ0aXRpb25zLWNvbW1vbi5wYlwiO1xuZXhwb3J0IHtcbiAgUGFydGl0aW9uRmllbGQsIFBhcnRpdGlvblJhd0VudW1GaWVsZCxcbiAgUGFydGl0aW9uUmF3RmllbGRcbn0gZnJvbSBcIi4vZ2VuZXJhdGVkL3BhcnRpdGlvbnMtZmllbGRzLnBiXCI7XG5leHBvcnQge1xuICBGaWx0ZXJGaWVsZCBhcyBQYXJ0aXRpb25GaWx0ZXJGaWVsZCxcbiAgRmlsdGVycyBhcyBQYXJ0aXRpb25GaWx0ZXJzLFxuICBGaWx0ZXJzQW5kIGFzIFBhcnRpdGlvbkZpbHRlcnNBbmQsXG59IGZyb20gXCIuL2dlbmVyYXRlZC9wYXJ0aXRpb25zLWZpbHRlcnMucGJcIjtcbmV4cG9ydCB7IFBhcnRpdGlvbnNDbGllbnQgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvcGFydGl0aW9ucy1zZXJ2aWNlLnBic2NcIjtcbmV4cG9ydCB7IFJlc3VsdFN0YXR1cyB9IGZyb20gXCIuL2dlbmVyYXRlZC9yZXN1bHQtc3RhdHVzLnBiXCI7XG5leHBvcnQge1xuICBHZXRPd25lclRhc2tJZFJlcXVlc3QsXG4gIEdldE93bmVyVGFza0lkUmVzcG9uc2UsIEdldFJlc3VsdFJlcXVlc3QsXG4gIEdldFJlc3VsdFJlc3BvbnNlLCBMaXN0UmVzdWx0c1JlcXVlc3QsXG4gIExpc3RSZXN1bHRzUmVzcG9uc2UsIFJlc3VsdFJhd1xufSBmcm9tIFwiLi9nZW5lcmF0ZWQvcmVzdWx0cy1jb21tb24ucGJcIjtcbmV4cG9ydCB7XG4gIFJlc3VsdEZpZWxkLCBSZXN1bHRSYXdFbnVtRmllbGQsXG4gIFJlc3VsdFJhd0ZpZWxkXG59IGZyb20gXCIuL2dlbmVyYXRlZC9yZXN1bHRzLWZpZWxkcy5wYlwiO1xuZXhwb3J0IHtcbiAgRmlsdGVyRmllbGQgYXMgUmVzdWx0RmlsdGVyRmllbGQsXG4gIEZpbHRlcnMgYXMgUmVzdWx0RmlsdGVycyxcbiAgRmlsdGVyc0FuZCBhcyBSZXN1bHRGaWx0ZXJzQW5kLFxuICBGaWx0ZXJTdGF0dXMgYXMgUmVzdWx0RmlsdGVyU3RhdHVzXG59IGZyb20gXCIuL2dlbmVyYXRlZC9yZXN1bHRzLWZpbHRlcnMucGJcIjtcbmV4cG9ydCB7IFJlc3VsdHNDbGllbnQgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvcmVzdWx0cy1zZXJ2aWNlLnBic2NcIjtcbmV4cG9ydCB7IFNlc3Npb25TdGF0dXMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvc2Vzc2lvbi1zdGF0dXMucGJcIjtcbmV4cG9ydCB7XG4gIENhbmNlbFNlc3Npb25SZXF1ZXN0LFxuICBDYW5jZWxTZXNzaW9uUmVzcG9uc2UsIEdldFNlc3Npb25SZXF1ZXN0LFxuICBHZXRTZXNzaW9uUmVzcG9uc2UsXG4gIExpc3RTZXNzaW9uc1JlcXVlc3QsXG4gIExpc3RTZXNzaW9uc1Jlc3BvbnNlLCBTZXNzaW9uUmF3XG59IGZyb20gXCIuL2dlbmVyYXRlZC9zZXNzaW9ucy1jb21tb24ucGJcIjtcbmV4cG9ydCB7XG4gIFNlc3Npb25GaWVsZCwgU2Vzc2lvblJhd0VudW1GaWVsZCxcbiAgU2Vzc2lvblJhd0ZpZWxkLFxuICBUYXNrT3B0aW9uRW51bUZpZWxkIGFzIFNlc3Npb25UYXNrT3B0aW9uRW51bUZpZWxkLFxuICBUYXNrT3B0aW9uRmllbGQgYXMgU2Vzc2lvblRhc2tPcHRpb25GaWVsZCxcbiAgVGFza09wdGlvbkdlbmVyaWNGaWVsZCBhcyBTZXNzaW9uVGFza09wdGlvbkdlbmVyaWNGaWVsZFxufSBmcm9tIFwiLi9nZW5lcmF0ZWQvc2Vzc2lvbnMtZmllbGRzLnBiXCI7XG5leHBvcnQge1xuICBGaWx0ZXJGaWVsZCBhcyBTZXNzaW9uRmlsdGVyRmllbGQsXG4gIEZpbHRlcnMgYXMgU2Vzc2lvbkZpbHRlcnMsXG4gIEZpbHRlcnNBbmQgYXMgU2Vzc2lvbkZpbHRlcnNBbmQsXG4gIEZpbHRlclN0YXR1cyBhcyBTZXNzaW9uRmlsdGVyU3RhdHVzXG59IGZyb20gXCIuL2dlbmVyYXRlZC9zZXNzaW9ucy1maWx0ZXJzLnBiXCI7XG5leHBvcnQgeyBTZXNzaW9uc0NsaWVudCB9IGZyb20gXCIuL2dlbmVyYXRlZC9zZXNzaW9ucy1zZXJ2aWNlLnBic2NcIjtcbmV4cG9ydCB7IFNvcnREaXJlY3Rpb24gfSBmcm9tIFwiLi9nZW5lcmF0ZWQvc29ydC1kaXJlY3Rpb24ucGJcIjtcbmV4cG9ydCB7IFRhc2tTdGF0dXMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvdGFzay1zdGF0dXMucGJcIjtcbmV4cG9ydCB7XG4gIENhbmNlbFRhc2tzUmVxdWVzdCxcbiAgQ2FuY2VsVGFza3NSZXNwb25zZSwgQ291bnRUYXNrc0J5U3RhdHVzUmVxdWVzdCxcbiAgQ291bnRUYXNrc0J5U3RhdHVzUmVzcG9uc2UsIEdldFJlc3VsdElkc1JlcXVlc3QsXG4gIEdldFJlc3VsdElkc1Jlc3BvbnNlLFxuICBHZXRUYXNrUmVxdWVzdCxcbiAgR2V0VGFza1Jlc3BvbnNlLFxuICBMaXN0VGFza3NSZXF1ZXN0LFxuICBMaXN0VGFza3NSZXNwb25zZSwgVGFza0RldGFpbGVkLFxuICBUYXNrU3VtbWFyeVxufSBmcm9tIFwiLi9nZW5lcmF0ZWQvdGFza3MtY29tbW9uLnBiXCI7XG5leHBvcnQge1xuICBUYXNrRmllbGQsXG4gIFRhc2tPcHRpb25FbnVtRmllbGQsIFRhc2tPcHRpb25GaWVsZCxcbiAgVGFza09wdGlvbkdlbmVyaWNGaWVsZCwgVGFza1N1bW1hcnlFbnVtRmllbGQsXG4gIFRhc2tTdW1tYXJ5RmllbGRcbn0gZnJvbSBcIi4vZ2VuZXJhdGVkL3Rhc2tzLWZpZWxkcy5wYlwiO1xuZXhwb3J0IHtcbiAgRmlsdGVyRmllbGQgYXMgVGFza0ZpbHRlckZpZWxkLFxuICBGaWx0ZXJzIGFzIFRhc2tGaWx0ZXJzLFxuICBGaWx0ZXJzQW5kIGFzIFRhc2tGaWx0ZXJzQW5kLFxuICBGaWx0ZXJTdGF0dXMgYXMgVGFza0ZpbHRlclN0YXR1c1xufSBmcm9tIFwiLi9nZW5lcmF0ZWQvdGFza3MtZmlsdGVycy5wYlwiO1xuZXhwb3J0IHsgVGFza3NDbGllbnQgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvdGFza3Mtc2VydmljZS5wYnNjXCI7XG5leHBvcnQgeyBMaXN0VmVyc2lvbnNSZXF1ZXN0LCBMaXN0VmVyc2lvbnNSZXNwb25zZSB9IGZyb20gXCIuL2dlbmVyYXRlZC92ZXJzaW9ucy1jb21tb24ucGJcIjtcbmV4cG9ydCB7IFZlcnNpb25zQ2xpZW50IH0gZnJvbSBcIi4vZ2VuZXJhdGVkL3ZlcnNpb25zLXNlcnZpY2UucGJzY1wiO1xuIl19