payload 2.1.0 → 2.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 (162) hide show
  1. package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
  2. package/dist/admin/components/elements/DocumentControls/index.js +6 -4
  3. package/dist/admin/components/elements/Dropzone/index.d.ts.map +1 -1
  4. package/dist/admin/components/elements/Dropzone/index.js +2 -2
  5. package/dist/admin/components/elements/EditUpload/index.d.ts.map +1 -1
  6. package/dist/admin/components/elements/EditUpload/index.js +14 -6
  7. package/dist/admin/components/elements/EditUpload/index.scss +5 -0
  8. package/dist/admin/components/elements/FileDetails/index.js +2 -2
  9. package/dist/admin/components/elements/PreviewSizes/index.d.ts +1 -1
  10. package/dist/admin/components/elements/PreviewSizes/index.d.ts.map +1 -1
  11. package/dist/admin/components/elements/PreviewSizes/index.js +58 -32
  12. package/dist/admin/components/elements/PreviewSizes/index.scss +0 -1
  13. package/dist/admin/components/elements/Publish/index.d.ts +1 -0
  14. package/dist/admin/components/elements/Publish/index.d.ts.map +1 -1
  15. package/dist/admin/components/elements/Publish/index.js +56 -5
  16. package/dist/admin/components/forms/field-types/Blocks/SectionTitle/index.scss +1 -0
  17. package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts +2 -2
  18. package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts.map +1 -1
  19. package/dist/admin/components/forms/field-types/Checkbox/Input.js +8 -4
  20. package/dist/admin/components/forms/field-types/Checkbox/index.js +5 -5
  21. package/dist/admin/components/forms/field-types/Code/index.d.ts.map +1 -1
  22. package/dist/admin/components/forms/field-types/Code/index.js +3 -3
  23. package/dist/admin/components/forms/field-types/DateTime/Input.d.ts +2 -2
  24. package/dist/admin/components/forms/field-types/DateTime/Input.d.ts.map +1 -1
  25. package/dist/admin/components/forms/field-types/DateTime/Input.js +8 -4
  26. package/dist/admin/components/forms/field-types/Email/index.d.ts.map +1 -1
  27. package/dist/admin/components/forms/field-types/Email/index.js +9 -5
  28. package/dist/admin/components/forms/field-types/Number/index.d.ts.map +1 -1
  29. package/dist/admin/components/forms/field-types/Number/index.js +9 -5
  30. package/dist/admin/components/forms/field-types/Point/index.d.ts.map +1 -1
  31. package/dist/admin/components/forms/field-types/Point/index.js +15 -7
  32. package/dist/admin/components/forms/field-types/RichText/types.d.ts +5 -0
  33. package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
  34. package/dist/admin/components/forms/field-types/Tabs/index.d.ts.map +1 -1
  35. package/dist/admin/components/forms/field-types/Tabs/index.js +2 -2
  36. package/dist/admin/components/forms/field-types/Text/Input.d.ts +4 -4
  37. package/dist/admin/components/forms/field-types/Text/Input.d.ts.map +1 -1
  38. package/dist/admin/components/forms/field-types/Text/Input.js +8 -4
  39. package/dist/admin/components/forms/field-types/Text/index.js +7 -7
  40. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +4 -4
  41. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts.map +1 -1
  42. package/dist/admin/components/forms/field-types/Textarea/Input.js +9 -5
  43. package/dist/admin/components/forms/field-types/Textarea/index.js +7 -7
  44. package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
  45. package/dist/admin/components/forms/useField/index.js +31 -25
  46. package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
  47. package/dist/admin/components/utilities/Auth/index.js +10 -3
  48. package/dist/admin/components/utilities/DocumentInfo/index.d.ts.map +1 -1
  49. package/dist/admin/components/utilities/DocumentInfo/index.js +7 -3
  50. package/dist/admin/components/views/LivePreview/Context/index.d.ts.map +1 -1
  51. package/dist/admin/components/views/LivePreview/Context/index.js +1 -1
  52. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  53. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.js +91 -29
  54. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.scss +5 -0
  55. package/dist/admin/components/views/LivePreview/index.d.ts.map +1 -1
  56. package/dist/admin/components/views/LivePreview/index.js +1 -1
  57. package/dist/admin/components/views/collections/Edit/Upload/index.js +2 -2
  58. package/dist/admin/components/views/collections/List/Cell/index.d.ts.map +1 -1
  59. package/dist/admin/components/views/collections/List/Cell/index.js +3 -3
  60. package/dist/admin/components/views/collections/List/index.scss +9 -0
  61. package/dist/auth/graphql/resolvers/access.d.ts.map +1 -1
  62. package/dist/auth/graphql/resolvers/access.js +3 -4
  63. package/dist/auth/graphql/resolvers/forgotPassword.js +3 -4
  64. package/dist/auth/graphql/resolvers/init.d.ts.map +1 -1
  65. package/dist/auth/graphql/resolvers/init.js +3 -4
  66. package/dist/auth/graphql/resolvers/login.js +3 -4
  67. package/dist/auth/graphql/resolvers/logout.js +3 -4
  68. package/dist/auth/graphql/resolvers/me.js +3 -4
  69. package/dist/auth/graphql/resolvers/refresh.js +3 -4
  70. package/dist/auth/graphql/resolvers/resetPassword.js +3 -4
  71. package/dist/auth/graphql/resolvers/unlock.js +3 -4
  72. package/dist/auth/graphql/resolvers/verifyEmail.js +3 -4
  73. package/dist/auth/operations/access.d.ts.map +1 -1
  74. package/dist/auth/operations/access.js +52 -42
  75. package/dist/collections/buildEndpoints.d.ts.map +1 -1
  76. package/dist/collections/buildEndpoints.js +9 -1
  77. package/dist/collections/graphql/resolvers/create.d.ts.map +1 -1
  78. package/dist/collections/graphql/resolvers/create.js +3 -4
  79. package/dist/collections/graphql/resolvers/delete.d.ts.map +1 -1
  80. package/dist/collections/graphql/resolvers/delete.js +3 -4
  81. package/dist/collections/graphql/resolvers/docAccess.d.ts.map +1 -1
  82. package/dist/collections/graphql/resolvers/docAccess.js +8 -4
  83. package/dist/collections/graphql/resolvers/find.d.ts.map +1 -1
  84. package/dist/collections/graphql/resolvers/find.js +3 -4
  85. package/dist/collections/graphql/resolvers/findByID.d.ts.map +1 -1
  86. package/dist/collections/graphql/resolvers/findByID.js +3 -2
  87. package/dist/collections/graphql/resolvers/findVersionByID.d.ts.map +1 -1
  88. package/dist/collections/graphql/resolvers/findVersionByID.js +3 -4
  89. package/dist/collections/graphql/resolvers/findVersions.d.ts.map +1 -1
  90. package/dist/collections/graphql/resolvers/findVersions.js +3 -4
  91. package/dist/collections/graphql/resolvers/restoreVersion.d.ts.map +1 -1
  92. package/dist/collections/graphql/resolvers/restoreVersion.js +3 -4
  93. package/dist/collections/graphql/resolvers/update.d.ts.map +1 -1
  94. package/dist/collections/graphql/resolvers/update.js +3 -4
  95. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  96. package/dist/collections/operations/docAccess.js +19 -8
  97. package/dist/config/schema.d.ts.map +1 -1
  98. package/dist/config/schema.js +2 -1
  99. package/dist/config/types.d.ts +2 -2
  100. package/dist/config/types.d.ts.map +1 -1
  101. package/dist/config/types.js +1 -1
  102. package/dist/exports/utilities.d.ts +1 -1
  103. package/dist/exports/utilities.d.ts.map +1 -1
  104. package/dist/exports/utilities.js +4 -1
  105. package/dist/express/types.d.ts +4 -0
  106. package/dist/express/types.d.ts.map +1 -1
  107. package/dist/fields/config/schema.d.ts.map +1 -1
  108. package/dist/fields/config/schema.js +63 -61
  109. package/dist/fields/config/types.d.ts +53 -34
  110. package/dist/fields/config/types.d.ts.map +1 -1
  111. package/dist/fields/config/types.js +1 -1
  112. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  113. package/dist/fields/hooks/beforeChange/promise.js +2 -1
  114. package/dist/fields/validations.d.ts +4 -4
  115. package/dist/fields/validations.d.ts.map +1 -1
  116. package/dist/fields/validations.js +90 -106
  117. package/dist/fields/validations.spec.js +4 -4
  118. package/dist/globals/buildEndpoints.d.ts.map +1 -1
  119. package/dist/globals/buildEndpoints.js +5 -1
  120. package/dist/globals/graphql/resolvers/docAccess.d.ts.map +1 -1
  121. package/dist/globals/graphql/resolvers/docAccess.js +8 -4
  122. package/dist/globals/graphql/resolvers/findOne.d.ts.map +1 -1
  123. package/dist/globals/graphql/resolvers/findOne.js +3 -4
  124. package/dist/globals/graphql/resolvers/findVersionByID.d.ts.map +1 -1
  125. package/dist/globals/graphql/resolvers/findVersionByID.js +3 -4
  126. package/dist/globals/graphql/resolvers/findVersions.d.ts.map +1 -1
  127. package/dist/globals/graphql/resolvers/findVersions.js +3 -4
  128. package/dist/globals/graphql/resolvers/restoreVersion.d.ts.map +1 -1
  129. package/dist/globals/graphql/resolvers/restoreVersion.js +3 -4
  130. package/dist/globals/graphql/resolvers/update.d.ts.map +1 -1
  131. package/dist/globals/graphql/resolvers/update.js +3 -4
  132. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  133. package/dist/globals/operations/docAccess.js +18 -7
  134. package/dist/graphql/registerSchema.d.ts.map +1 -1
  135. package/dist/graphql/registerSchema.js +4 -3
  136. package/dist/graphql/utilities/wrapCustomResolver.d.ts +9 -0
  137. package/dist/graphql/utilities/wrapCustomResolver.d.ts.map +1 -0
  138. package/dist/graphql/utilities/wrapCustomResolver.js +34 -0
  139. package/dist/translations/pl.json +24 -24
  140. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  141. package/dist/uploads/getFileByPath.js +7 -2
  142. package/dist/uploads/imageResizer.d.ts.map +1 -1
  143. package/dist/uploads/imageResizer.js +4 -3
  144. package/dist/uploads/types.d.ts +11 -1
  145. package/dist/uploads/types.d.ts.map +1 -1
  146. package/dist/uploads/types.js +1 -1
  147. package/dist/utilities/configToJSONSchema.d.ts +8 -1
  148. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  149. package/dist/utilities/configToJSONSchema.js +24 -25
  150. package/dist/utilities/flattenTopLevelFields.d.ts +7 -0
  151. package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
  152. package/dist/utilities/flattenTopLevelFields.js +8 -2
  153. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  154. package/dist/utilities/getEntityPolicies.js +6 -2
  155. package/dist/utilities/initTransaction.d.ts.map +1 -1
  156. package/dist/utilities/initTransaction.js +19 -7
  157. package/dist/utilities/isolateTransactionID.d.ts +6 -0
  158. package/dist/utilities/isolateTransactionID.d.ts.map +1 -0
  159. package/dist/utilities/isolateTransactionID.js +38 -0
  160. package/package.json +1 -1
  161. package/utilities.d.ts +1 -1
  162. package/utilities.js +4 -1
@@ -1,8 +1,11 @@
1
1
  import type { EditorProps } from '@monaco-editor/react';
2
2
  import type { TFunction } from 'i18next';
3
3
  import type { CSSProperties } from 'react';
4
+ import type React from 'react';
4
5
  import type { ConditionalDateProps } from '../../admin/components/elements/DatePicker/types';
6
+ import type { Props as ErrorProps } from '../../admin/components/forms/Error/types';
5
7
  import type { Description } from '../../admin/components/forms/FieldDescription/types';
8
+ import type { Props as LabelProps } from '../../admin/components/forms/Label/types';
6
9
  import type { RowLabel } from '../../admin/components/forms/RowLabel/types';
7
10
  import type { RichTextAdapter } from '../../admin/components/forms/field-types/RichText/types';
8
11
  import type { User } from '../../auth';
@@ -12,8 +15,6 @@ import type { PayloadRequest, RequestContext } from '../../express/types';
12
15
  import type { SanitizedGlobalConfig } from '../../globals/config/types';
13
16
  import type { Payload } from '../../payload';
14
17
  import type { Operation, Where } from '../../types';
15
- import type { Props as ErrorProps } from '../../admin/components/forms/Error/types';
16
- import type { Props as LabelProps } from '../../admin/components/forms/Label/types';
17
18
  export type FieldHookArgs<T extends TypeWithID = any, P = any, S = any> = {
18
19
  /** The collection which the field belongs to. If the field belongs to a global, this will be null. */
19
20
  collection: SanitizedCollectionConfig | null;
@@ -44,10 +45,23 @@ export type FieldHookArgs<T extends TypeWithID = any, P = any, S = any> = {
44
45
  };
45
46
  export type FieldHook<T extends TypeWithID = any, P = any, S = any> = (args: FieldHookArgs<T, P, S>) => P | Promise<P>;
46
47
  export type FieldAccess<T extends TypeWithID = any, P = any, U = any> = (args: {
48
+ /**
49
+ * The incoming data used to `create` or `update` the document with. `data` is undefined during the `read` operation.
50
+ */
47
51
  data?: Partial<T>;
52
+ /**
53
+ * The original data of the document before the `update` is applied. `doc` is undefined during the `create` operation.
54
+ */
48
55
  doc?: T;
56
+ /**
57
+ * The `id` of the current document being read or updated. `id` is undefined during the `create` operation.
58
+ */
49
59
  id?: number | string;
60
+ /** The `Express` request object containing the currently authenticated `user` */
50
61
  req: PayloadRequest<U>;
62
+ /**
63
+ * Immediately adjacent data to this field. For example, if this is a `group` field, then `siblingData` will be the other fields within the group.
64
+ */
51
65
  siblingData?: Partial<P>;
52
66
  }) => Promise<boolean> | boolean;
53
67
  export type Condition<T extends TypeWithID = any, P = any> = (data: Partial<T>, siblingData: Partial<P>, { user }: {
@@ -68,6 +82,10 @@ type Admin = {
68
82
  Field?: React.ComponentType<any>;
69
83
  Filter?: React.ComponentType<any>;
70
84
  };
85
+ /**
86
+ * You can programmatically show / hide fields based on what other fields are doing.
87
+ * This is also run on the server, to determine if the field should be validated.
88
+ */
71
89
  condition?: Condition;
72
90
  description?: Description;
73
91
  disableBulkEdit?: boolean;
@@ -88,6 +106,7 @@ export type ValidateOptions<TData, TSiblingData, TFieldConfig> = {
88
106
  id?: number | string;
89
107
  operation?: Operation;
90
108
  payload?: Payload;
109
+ req?: PayloadRequest;
91
110
  siblingData: Partial<TSiblingData>;
92
111
  t: TFunction;
93
112
  user?: Partial<User>;
@@ -128,16 +147,16 @@ export type NumberField = FieldBase & {
128
147
  admin?: Admin & {
129
148
  /** Set this property to a string that will be used for browser autocomplete. */
130
149
  autoComplete?: string;
131
- /** Set this property to define a placeholder string for the field. */
132
- placeholder?: Record<string, string> | string;
133
- /** Set a value for the number field to increment / decrement using browser controls. */
134
- step?: number;
135
150
  components?: {
136
151
  Error?: React.ComponentType<ErrorProps>;
137
152
  Label?: React.ComponentType<LabelProps>;
138
- BeforeInput?: React.ReactElement<any>[];
139
- AfterInput?: React.ReactElement<any>[];
153
+ afterInput?: React.ComponentType<any>[];
154
+ beforeInput?: React.ComponentType<any>[];
140
155
  };
156
+ /** Set this property to define a placeholder string for the field. */
157
+ placeholder?: Record<string, string> | string;
158
+ /** Set a value for the number field to increment / decrement using browser controls. */
159
+ step?: number;
141
160
  };
142
161
  /** Maximum value accepted. Used in the default `validation` function. */
143
162
  max?: number;
@@ -162,14 +181,14 @@ export type NumberField = FieldBase & {
162
181
  export type TextField = FieldBase & {
163
182
  admin?: Admin & {
164
183
  autoComplete?: string;
165
- placeholder?: Record<string, string> | string;
166
- rtl?: boolean;
167
184
  components?: {
168
185
  Error?: React.ComponentType<ErrorProps>;
169
186
  Label?: React.ComponentType<LabelProps>;
170
- BeforeInput?: React.ReactElement<any>[];
171
- AfterInput?: React.ReactElement<any>[];
187
+ afterInput?: React.ComponentType<any>[];
188
+ beforeInput?: React.ComponentType<any>[];
172
189
  };
190
+ placeholder?: Record<string, string> | string;
191
+ rtl?: boolean;
173
192
  };
174
193
  maxLength?: number;
175
194
  minLength?: number;
@@ -178,53 +197,53 @@ export type TextField = FieldBase & {
178
197
  export type EmailField = FieldBase & {
179
198
  admin?: Admin & {
180
199
  autoComplete?: string;
181
- placeholder?: Record<string, string> | string;
182
200
  components?: {
183
201
  Error?: React.ComponentType<ErrorProps>;
184
202
  Label?: React.ComponentType<LabelProps>;
185
- BeforeInput?: React.ReactElement<any>[];
186
- AfterInput?: React.ReactElement<any>[];
203
+ afterInput?: React.ComponentType<any>[];
204
+ beforeInput?: React.ComponentType<any>[];
187
205
  };
206
+ placeholder?: Record<string, string> | string;
188
207
  };
189
208
  type: 'email';
190
209
  };
191
210
  export type TextareaField = FieldBase & {
192
211
  admin?: Admin & {
193
- placeholder?: Record<string, string> | string;
194
- rows?: number;
195
- rtl?: boolean;
196
212
  components?: {
197
213
  Error?: React.ComponentType<ErrorProps>;
198
214
  Label?: React.ComponentType<LabelProps>;
199
- BeforeInput?: React.ReactElement<any>[];
200
- AfterInput?: React.ReactElement<any>[];
215
+ afterInput?: React.ComponentType<any>[];
216
+ beforeInput?: React.ComponentType<any>[];
201
217
  };
218
+ placeholder?: Record<string, string> | string;
219
+ rows?: number;
220
+ rtl?: boolean;
202
221
  };
203
222
  maxLength?: number;
204
223
  minLength?: number;
205
224
  type: 'textarea';
206
225
  };
207
226
  export type CheckboxField = FieldBase & {
208
- type: 'checkbox';
209
227
  admin?: Admin & {
210
228
  components?: {
211
229
  Error?: React.ComponentType<ErrorProps>;
212
230
  Label?: React.ComponentType<LabelProps>;
213
- BeforeInput?: React.ReactElement<any>[];
214
- AfterInput?: React.ReactElement<any>[];
231
+ afterInput?: React.ComponentType<any>[];
232
+ beforeInput?: React.ComponentType<any>[];
215
233
  };
216
234
  };
235
+ type: 'checkbox';
217
236
  };
218
237
  export type DateField = FieldBase & {
219
238
  admin?: Admin & {
220
- date?: ConditionalDateProps;
221
- placeholder?: Record<string, string> | string;
222
239
  components?: {
223
240
  Error?: React.ComponentType<ErrorProps>;
224
241
  Label?: React.ComponentType<LabelProps>;
225
- BeforeInput?: React.ReactElement<any>[];
226
- AfterInput?: React.ReactElement<any>[];
242
+ afterInput?: React.ComponentType<any>[];
243
+ beforeInput?: React.ComponentType<any>[];
227
244
  };
245
+ date?: ConditionalDateProps;
246
+ placeholder?: Record<string, string> | string;
228
247
  };
229
248
  type: 'date';
230
249
  };
@@ -318,12 +337,12 @@ export type UploadField = FieldBase & {
318
337
  type: 'upload';
319
338
  };
320
339
  type CodeAdmin = Admin & {
321
- editorOptions?: EditorProps['options'];
322
- language?: string;
323
340
  components?: {
324
341
  Error?: React.ComponentType<ErrorProps>;
325
342
  Label?: React.ComponentType<LabelProps>;
326
343
  };
344
+ editorOptions?: EditorProps['options'];
345
+ language?: string;
327
346
  };
328
347
  export type CodeField = Omit<FieldBase, 'admin'> & {
329
348
  admin?: CodeAdmin;
@@ -332,11 +351,11 @@ export type CodeField = Omit<FieldBase, 'admin'> & {
332
351
  type: 'code';
333
352
  };
334
353
  type JSONAdmin = Admin & {
335
- editorOptions?: EditorProps['options'];
336
354
  components?: {
337
355
  Error?: React.ComponentType<ErrorProps>;
338
356
  Label?: React.ComponentType<LabelProps>;
339
357
  };
358
+ editorOptions?: EditorProps['options'];
340
359
  };
341
360
  export type JSONField = Omit<FieldBase, 'admin'> & {
342
361
  admin?: JSONAdmin;
@@ -344,12 +363,12 @@ export type JSONField = Omit<FieldBase, 'admin'> & {
344
363
  };
345
364
  export type SelectField = FieldBase & {
346
365
  admin?: Admin & {
347
- isClearable?: boolean;
348
- isSortable?: boolean;
349
366
  components?: {
350
367
  Error?: React.ComponentType<ErrorProps>;
351
368
  Label?: React.ComponentType<LabelProps>;
352
369
  };
370
+ isClearable?: boolean;
371
+ isSortable?: boolean;
353
372
  };
354
373
  hasMany?: boolean;
355
374
  options: Option[];
@@ -358,11 +377,11 @@ export type SelectField = FieldBase & {
358
377
  export type RelationshipField = FieldBase & {
359
378
  admin?: Admin & {
360
379
  allowCreate?: boolean;
361
- isSortable?: boolean;
362
380
  components?: {
363
381
  Error?: React.ComponentType<ErrorProps>;
364
382
  Label?: React.ComponentType<LabelProps>;
365
383
  };
384
+ isSortable?: boolean;
366
385
  };
367
386
  filterOptions?: FilterOptions;
368
387
  hasMany?: boolean;
@@ -427,11 +446,11 @@ export type ArrayField = FieldBase & {
427
446
  };
428
447
  export type RadioField = FieldBase & {
429
448
  admin?: Admin & {
430
- layout?: 'horizontal' | 'vertical';
431
449
  components?: {
432
450
  Error?: React.ComponentType<ErrorProps>;
433
451
  Label?: React.ComponentType<LabelProps>;
434
452
  };
453
+ layout?: 'horizontal' | 'vertical';
435
454
  };
436
455
  options: Option[];
437
456
  type: 'radio';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}
@@ -89,4 +89,4 @@ function fieldIsLocalized(field) {
89
89
  return 'localized' in field && field.localized;
90
90
  }
91
91
 
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IG1vbmFjb2VkaXRvciBmcm9tICdtb25hY28tZWRpdG9yJyAvLyBJTVBPUlRBTlQgLSBETyBOT1QgUkVNT1ZFOiBUaGlzIGlzIHJlcXVpcmVkIGZvciBwbnBtJ3MgZGVmYXVsdCBpc29sYXRlZCBtb2RlIHRvIHdvcmsgLSBldmVuIHRob3VnaCB0aGUgaW1wb3J0IGlzIG5vdCB1c2VkLiBUaGlzIGlzIGR1ZSB0byBhIHR5cGVzY3JpcHQgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQ3NjYzI2lzc3VlY29tbWVudC0xNTE5MTM4MTg5LiAodHNidWdpc29sYXRlZG1vZGUpXG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbmFsRGF0ZVByb3BzIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9lbGVtZW50cy9EYXRlUGlja2VyL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEZXNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRmllbGREZXNjcmlwdGlvbi90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL1Jvd0xhYmVsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uLy4uL3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgYXMgRXJyb3JQcm9wcyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRXJyb3IvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIGFzIExhYmVsUHJvcHMgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0xhYmVsL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2tBcmdzPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IHtcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoZSBmaWVsZCBiZWxvbmdzIHRvLiBJZiB0aGUgZmllbGQgYmVsb25ncyB0byBhIGdsb2JhbCwgdGhpcyB3aWxsIGJlIG51bGwuICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIC8qKiBUaGUgZGF0YSBwYXNzZWQgdG8gdXBkYXRlIHRoZSBkb2N1bWVudCB3aXRoaW4gY3JlYXRlIGFuZCB1cGRhdGUgb3BlcmF0aW9ucywgYW5kIHRoZSBmdWxsIGRvY3VtZW50IGl0c2VsZiBpbiB0aGUgYWZ0ZXJSZWFkIGhvb2suICovXG4gIGRhdGE/OiBQYXJ0aWFsPFQ+XG4gIC8qKiBUaGUgZmllbGQgd2hpY2ggdGhlIGhvb2sgaXMgcnVubmluZyBhZ2FpbnN0LiAqL1xuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIC8qKiBCb29sZWFuIHRvIGRlbm90ZSBpZiB0aGlzIGhvb2sgaXMgcnVubmluZyBhZ2FpbnN0IGZpbmRpbmcgb25lLCBvciBmaW5kaW5nIG1hbnkgd2l0aGluIHRoZSBhZnRlclJlYWQgaG9vay4gKi9cbiAgZmluZE1hbnk/OiBib29sZWFuXG4gIC8qKiBUaGUgZ2xvYmFsIHdoaWNoIHRoZSBmaWVsZCBiZWxvbmdzIHRvLiBJZiB0aGUgZmllbGQgYmVsb25ncyB0byBhIGNvbGxlY3Rpb24sIHRoaXMgd2lsbCBiZSBudWxsLiAqL1xuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgLyoqIEEgc3RyaW5nIHJlbGF0aW5nIHRvIHdoaWNoIG9wZXJhdGlvbiB0aGUgZmllbGQgdHlwZSBpcyBjdXJyZW50bHkgZXhlY3V0aW5nIHdpdGhpbi4gVXNlZnVsIHdpdGhpbiBiZWZvcmVWYWxpZGF0ZSwgYmVmb3JlQ2hhbmdlLCBhbmQgYWZ0ZXJDaGFuZ2UgaG9va3MgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMuICovXG4gIG9wZXJhdGlvbj86ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAndXBkYXRlJ1xuICAvKiogVGhlIGZ1bGwgb3JpZ2luYWwgZG9jdW1lbnQgaW4gYHVwZGF0ZWAgb3BlcmF0aW9ucy4gSW4gdGhlIGBhZnRlckNoYW5nZWAgaG9vaywgdGhpcyBpcyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IG9mIHRoZSBvcGVyYXRpb24uICovXG4gIG9yaWdpbmFsRG9jPzogVFxuICAvKiogVGhlIGRvY3VtZW50IGJlZm9yZSBjaGFuZ2VzIHdlcmUgYXBwbGllZCwgb25seSBpbiBgYWZ0ZXJDaGFuZ2VgIGhvb2tzLiAqL1xuICBwcmV2aW91c0RvYz86IFRcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgZG9jdW1lbnQgaW4gYGFmdGVyQ2hhbmdlYCBob29rLiAqL1xuICBwcmV2aW91c1NpYmxpbmdEb2M/OiBUXG4gIHByZXZpb3VzVmFsdWU/OiBQXG4gIC8qKiBUaGUgRXhwcmVzcyByZXF1ZXN0IG9iamVjdC4gSXQgaXMgbW9ja2VkIGZvciBMb2NhbCBBUEkgb3BlcmF0aW9ucy4gKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAvKiogVGhlIHNpYmxpbmcgZGF0YSBwYXNzZWQgdG8gYSBmaWVsZCB0aGF0IHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8Uz5cbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gIHZhbHVlPzogUFxufVxuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFMgPSBhbnk+ID0gKFxuICBhcmdzOiBGaWVsZEhvb2tBcmdzPFQsIFAsIFM+LFxuKSA9PiBQIHwgUHJvbWlzZTxQPlxuXG5leHBvcnQgdHlwZSBGaWVsZEFjY2VzczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgVSA9IGFueT4gPSAoYXJnczoge1xuICBkYXRhPzogUGFydGlhbDxUPlxuICBkb2M/OiBUXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Q8VT5cbiAgc2libGluZ0RhdGE/OiBQYXJ0aWFsPFA+XG59KSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhblxuXG5leHBvcnQgdHlwZSBDb25kaXRpb248VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnk+ID0gKFxuICBkYXRhOiBQYXJ0aWFsPFQ+LFxuICBzaWJsaW5nRGF0YTogUGFydGlhbDxQPixcbiAgeyB1c2VyIH06IHsgdXNlcjogVXNlciB9LFxuKSA9PiBib29sZWFuXG5cbmV4cG9ydCB0eXBlIEZpbHRlck9wdGlvbnNQcm9wczxUID0gYW55PiA9IHtcbiAgZGF0YTogVFxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIHJlbGF0aW9uVG86IHN0cmluZ1xuICBzaWJsaW5nRGF0YTogdW5rbm93blxuICB1c2VyOiBQYXJ0aWFsPFVzZXI+XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlck9wdGlvbnM8VCA9IGFueT4gPVxuICB8ICgob3B0aW9uczogRmlsdGVyT3B0aW9uc1Byb3BzPFQ+KSA9PiBQcm9taXNlPFdoZXJlPiB8IFdoZXJlKVxuICB8IFdoZXJlXG4gIHwgbnVsbFxuXG50eXBlIEFkbWluID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgY29tcG9uZW50cz86IHtcbiAgICBDZWxsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgRmllbGQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICBGaWx0ZXI/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgfVxuICBjb25kaXRpb24/OiBDb25kaXRpb25cbiAgZGVzY3JpcHRpb24/OiBEZXNjcmlwdGlvblxuICBkaXNhYmxlQnVsa0VkaXQ/OiBib29sZWFuXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBoaWRkZW4/OiBib29sZWFuXG4gIHBvc2l0aW9uPzogJ3NpZGViYXInXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICBzdHlsZT86IENTU1Byb3BlcnRpZXNcbiAgd2lkdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTGFiZWxzID0ge1xuICBwbHVyYWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgc2luZ3VsYXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVPcHRpb25zPFREYXRhLCBUU2libGluZ0RhdGEsIFRGaWVsZENvbmZpZz4gPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGRhdGE6IFBhcnRpYWw8VERhdGE+XG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIG9wZXJhdGlvbj86IE9wZXJhdGlvblxuICBwYXlsb2FkPzogUGF5bG9hZFxuICBzaWJsaW5nRGF0YTogUGFydGlhbDxUU2libGluZ0RhdGE+XG4gIHQ6IFRGdW5jdGlvblxuICB1c2VyPzogUGFydGlhbDxVc2VyPlxufSAmIFRGaWVsZENvbmZpZ1xuXG4vLyBUT0RPOiBIYXZpbmcgVEZpZWxkQ29uZmlnIGFzIGFueSBicmVha3MgYWxsIHR5cGUgY2hlY2tpbmcgLyBhdXRvLWNvbXBsZXRpb25zIGZvciB0aGUgYmFzZSBWYWxpZGF0ZU9wdGlvbnMgcHJvcGVydGllcy5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlPFRWYWx1ZSA9IGFueSwgVERhdGEgPSBhbnksIFRTaWJsaW5nRGF0YSA9IGFueSwgVEZpZWxkQ29uZmlnID0gYW55PiA9IChcbiAgdmFsdWU6IFRWYWx1ZSxcbiAgb3B0aW9uczogVmFsaWRhdGVPcHRpb25zPFREYXRhLCBUU2libGluZ0RhdGEsIFRGaWVsZENvbmZpZz4sXG4pID0+IFByb21pc2U8c3RyaW5nIHwgdHJ1ZT4gfCBzdHJpbmcgfCB0cnVlXG5cbmV4cG9ydCB0eXBlIE9wdGlvbk9iamVjdCA9IHtcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgdmFsdWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBPcHRpb24gPSBPcHRpb25PYmplY3QgfCBzdHJpbmdcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZEJhc2Uge1xuICBhY2Nlc3M/OiB7XG4gICAgY3JlYXRlPzogRmllbGRBY2Nlc3NcbiAgICByZWFkPzogRmllbGRBY2Nlc3NcbiAgICB1cGRhdGU/OiBGaWVsZEFjY2Vzc1xuICB9XG4gIGFkbWluPzogQWRtaW5cbiAgLyoqIEV4dGVuc2lvbiBwb2ludCB0byBhZGQgeW91ciBjdXN0b20gZGF0YS4gKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgYW55PlxuICBkZWZhdWx0VmFsdWU/OiBhbnlcbiAgaGlkZGVuPzogYm9vbGVhblxuICBob29rcz86IHtcbiAgICBhZnRlckNoYW5nZT86IEZpZWxkSG9va1tdXG4gICAgYWZ0ZXJSZWFkPzogRmllbGRIb29rW11cbiAgICBiZWZvcmVDaGFuZ2U/OiBGaWVsZEhvb2tbXVxuICAgIGJlZm9yZVZhbGlkYXRlPzogRmllbGRIb29rW11cbiAgfVxuICBpbmRleD86IGJvb2xlYW5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgZmFsc2UgfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogYm9vbGVhblxuICBuYW1lOiBzdHJpbmdcbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbiAgdW5pcXVlPzogYm9vbGVhblxuICB2YWxpZGF0ZT86IFZhbGlkYXRlXG59XG5cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIC8qKiBTZXQgdGhpcyBwcm9wZXJ0eSB0byBhIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYnJvd3NlciBhdXRvY29tcGxldGUuICovXG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgLyoqIFNldCB0aGlzIHByb3BlcnR5IHRvIGRlZmluZSBhIHBsYWNlaG9sZGVyIHN0cmluZyBmb3IgdGhlIGZpZWxkLiAqL1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIC8qKiBTZXQgYSB2YWx1ZSBmb3IgdGhlIG51bWJlciBmaWVsZCB0byBpbmNyZW1lbnQgLyBkZWNyZW1lbnQgdXNpbmcgYnJvd3NlciBjb250cm9scy4gKi9cbiAgICBzdGVwPzogbnVtYmVyXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBCZWZvcmVJbnB1dD86IFJlYWN0LlJlYWN0RWxlbWVudDxhbnk+W11cbiAgICAgIEFmdGVySW5wdXQ/OiBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdXG4gICAgfVxuICB9XG4gIC8qKiBNYXhpbXVtIHZhbHVlIGFjY2VwdGVkLiBVc2VkIGluIHRoZSBkZWZhdWx0IGB2YWxpZGF0aW9uYCBmdW5jdGlvbi4gKi9cbiAgbWF4PzogbnVtYmVyXG4gIC8qKiBNaW5pbXVtIHZhbHVlIGFjY2VwdGVkLiBVc2VkIGluIHRoZSBkZWZhdWx0IGB2YWxpZGF0aW9uYCBmdW5jdGlvbi4gKi9cbiAgbWluPzogbnVtYmVyXG4gIHR5cGU6ICdudW1iZXInXG59ICYgKFxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIG51bWJlcnMgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIG51bWJlci4gKi9cbiAgICAgICAgaGFzTWFueTogdHJ1ZVxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBudW1iZXJzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBudW1iZXIuICovXG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiB1bmRlZmluZWRcbiAgICAgIH1cbiAgKVxuXG5leHBvcnQgdHlwZSBUZXh0RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgcnRsPzogYm9vbGVhblxuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgQmVmb3JlSW5wdXQ/OiBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdXG4gICAgICBBZnRlcklucHV0PzogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXVxuICAgIH1cbiAgfVxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICd0ZXh0J1xufVxuXG5leHBvcnQgdHlwZSBFbWFpbEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgQmVmb3JlSW5wdXQ/OiBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdXG4gICAgICBBZnRlcklucHV0PzogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXVxuICAgIH1cbiAgfVxuICB0eXBlOiAnZW1haWwnXG59XG5cbmV4cG9ydCB0eXBlIFRleHRhcmVhRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgcm93cz86IG51bWJlclxuICAgIHJ0bD86IGJvb2xlYW5cbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIEJlZm9yZUlucHV0PzogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXVxuICAgICAgQWZ0ZXJJbnB1dD86IFJlYWN0LlJlYWN0RWxlbWVudDxhbnk+W11cbiAgICB9XG4gIH1cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAndGV4dGFyZWEnXG59XG5cbmV4cG9ydCB0eXBlIENoZWNrYm94RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIHR5cGU6ICdjaGVja2JveCdcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIEJlZm9yZUlucHV0PzogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXVxuICAgICAgQWZ0ZXJJbnB1dD86IFJlYWN0LlJlYWN0RWxlbWVudDxhbnk+W11cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgRGF0ZUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGRhdGU/OiBDb25kaXRpb25hbERhdGVQcm9wc1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgQmVmb3JlSW5wdXQ/OiBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdXG4gICAgICBBZnRlcklucHV0PzogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXVxuICAgIH1cbiAgfVxuICB0eXBlOiAnZGF0ZSdcbn1cblxuZXhwb3J0IHR5cGUgR3JvdXBGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAncmVxdWlyZWQnIHwgJ3ZhbGlkYXRpb24nPiAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBoaWRlR3V0dGVyPzogYm9vbGVhblxuICB9XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogQnkgZGVmYXVsdCBpdCBpcyBib3VuZCB0byB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgdHlwZTogJ2dyb3VwJ1xufVxuXG5leHBvcnQgdHlwZSBSb3dBZG1pbiA9IE9taXQ8QWRtaW4sICdkZXNjcmlwdGlvbic+XG5cbmV4cG9ydCB0eXBlIFJvd0ZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbicgfCAnbGFiZWwnIHwgJ25hbWUnPiAmIHtcbiAgYWRtaW4/OiBSb3dBZG1pblxuICBmaWVsZHM6IEZpZWxkW11cbiAgdHlwZTogJ3Jvdydcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGFwc2libGVGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnbGFiZWwnIHwgJ25hbWUnPiAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIGxhYmVsOiBSb3dMYWJlbFxuICB0eXBlOiAnY29sbGFwc2libGUnXG59XG5cbmV4cG9ydCB0eXBlIFRhYnNBZG1pbiA9IE9taXQ8QWRtaW4sICdkZXNjcmlwdGlvbic+XG5cbnR5cGUgVGFiQmFzZSA9IE9taXQ8RmllbGRCYXNlLCAncmVxdWlyZWQnIHwgJ3ZhbGlkYXRpb24nPiAmIHtcbiAgZGVzY3JpcHRpb24/OiBEZXNjcmlwdGlvblxuICBmaWVsZHM6IEZpZWxkW11cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBzYXZlVG9KV1Q/OiBib29sZWFuIHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE5hbWVkVGFiID0gVGFiQmFzZSAmIHtcbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIFRoZSBzbHVnIGlzIHVzZWQgYnkgZGVmYXVsdC5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVW5uYW1lZFRhYiA9IE9taXQ8VGFiQmFzZSwgJ25hbWUnPiAmIHtcbiAgaW50ZXJmYWNlTmFtZT86IG5ldmVyXG4gIGxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIGxvY2FsaXplZD86IG5ldmVyXG59XG5cbmV4cG9ydCB0eXBlIFRhYiA9IE5hbWVkVGFiIHwgVW5uYW1lZFRhYlxuXG5leHBvcnQgdHlwZSBUYWJzRmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2FkbWluJyB8ICdsb2NhbGl6ZWQnIHwgJ25hbWUnIHwgJ3NhdmVUb0pXVCc+ICYge1xuICBhZG1pbj86IFRhYnNBZG1pblxuICB0YWJzOiBUYWJbXVxuICB0eXBlOiAndGFicydcbn1cblxuZXhwb3J0IHR5cGUgVGFiQXNGaWVsZCA9IFRhYiAmIHtcbiAgbmFtZT86IHN0cmluZ1xuICB0eXBlOiAndGFiJ1xufVxuXG5leHBvcnQgdHlwZSBVSUZpZWxkID0ge1xuICBhZG1pbjoge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBDZWxsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICBGaWVsZDogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICBGaWx0ZXI/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICB9XG4gICAgY29uZGl0aW9uPzogQ29uZGl0aW9uXG4gICAgZGlzYWJsZUJ1bGtFZGl0PzogYm9vbGVhblxuICAgIHBvc2l0aW9uPzogc3RyaW5nXG4gICAgd2lkdGg/OiBzdHJpbmdcbiAgfVxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGxhYmVsPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgdHlwZTogJ3VpJ1xufVxuXG5leHBvcnQgdHlwZSBVcGxvYWRGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgfVxuICB9XG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJPcHRpb25zXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIHJlbGF0aW9uVG86IHN0cmluZ1xuICB0eXBlOiAndXBsb2FkJ1xufVxuXG50eXBlIENvZGVBZG1pbiA9IEFkbWluICYge1xuICBlZGl0b3JPcHRpb25zPzogRWRpdG9yUHJvcHNbJ29wdGlvbnMnXVxuICBsYW5ndWFnZT86IHN0cmluZ1xuICBjb21wb25lbnRzPzoge1xuICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvZGVGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBDb2RlQWRtaW5cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAnY29kZSdcbn1cblxudHlwZSBKU09OQWRtaW4gPSBBZG1pbiAmIHtcbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbiAgY29tcG9uZW50cz86IHtcbiAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBKU09ORmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2FkbWluJz4gJiB7XG4gIGFkbWluPzogSlNPTkFkbWluXG4gIHR5cGU6ICdqc29uJ1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBpc0NsZWFyYWJsZT86IGJvb2xlYW5cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgfVxuICBoYXNNYW55PzogYm9vbGVhblxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAnc2VsZWN0J1xufVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBhbGxvd0NyZWF0ZT86IGJvb2xlYW5cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgfVxuICBmaWx0ZXJPcHRpb25zPzogRmlsdGVyT3B0aW9uc1xuICBoYXNNYW55PzogYm9vbGVhblxuICBtYXhEZXB0aD86IG51bWJlclxuICByZWxhdGlvblRvOiBzdHJpbmcgfCBzdHJpbmdbXVxuICB0eXBlOiAncmVsYXRpb25zaGlwJ1xufSAmIChcbiAgICB8IHtcbiAgICAgICAgaGFzTWFueTogdHJ1ZVxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtYXhSb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtYXg/OiBudW1iZXJcbiAgICAgICAgbWF4Um93cz86IG51bWJlclxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtaW5Sb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtaW4/OiBudW1iZXJcbiAgICAgICAgbWluUm93cz86IG51bWJlclxuICAgICAgfVxuICAgIHwge1xuICAgICAgICBoYXNNYW55PzogZmFsc2UgfCB1bmRlZmluZWRcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIFVzZSAnbWF4Um93cycgaW5zdGVhZFxuICAgICAgICAgKi9cbiAgICAgICAgbWF4PzogdW5kZWZpbmVkXG4gICAgICAgIG1heFJvd3M/OiB1bmRlZmluZWRcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIFVzZSAnbWluUm93cycgaW5zdGVhZFxuICAgICAgICAgKi9cbiAgICAgICAgbWluPzogdW5kZWZpbmVkXG4gICAgICAgIG1pblJvd3M/OiB1bmRlZmluZWRcbiAgICAgIH1cbiAgKVxuXG5leHBvcnQgdHlwZSBWYWx1ZVdpdGhSZWxhdGlvbiA9IHtcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHZhbHVlOiBudW1iZXIgfCBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlSXNWYWx1ZVdpdGhSZWxhdGlvbih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFZhbHVlV2l0aFJlbGF0aW9uIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3JlbGF0aW9uVG8nIGluIHZhbHVlICYmICd2YWx1ZScgaW4gdmFsdWVcbn1cblxuZXhwb3J0IHR5cGUgUmVsYXRpb25zaGlwVmFsdWUgPVxuICB8IChudW1iZXIgfCBzdHJpbmcpW11cbiAgfCBWYWx1ZVdpdGhSZWxhdGlvblxuICB8IFZhbHVlV2l0aFJlbGF0aW9uW11cbiAgfCAobnVtYmVyIHwgc3RyaW5nKVxuXG5leHBvcnQgdHlwZSBSaWNoVGV4dEZpZWxkPFxuICBWYWx1ZSBleHRlbmRzIG9iamVjdCA9IGFueSxcbiAgQWRhcHRlclByb3BzID0gYW55LFxuICBFeHRyYVByb3BlcnRpZXMgPSB7fSxcbj4gPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW5cbiAgZWRpdG9yPzogUmljaFRleHRBZGFwdGVyPFZhbHVlLCBBZGFwdGVyUHJvcHMsIEFkYXB0ZXJQcm9wcz5cbiAgdHlwZTogJ3JpY2hUZXh0J1xufSAmIEV4dHJhUHJvcGVydGllc1xuXG5leHBvcnQgdHlwZSBBcnJheUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBSb3dMYWJlbD86IFJvd0xhYmVsXG4gICAgfSAmIEFkbWluWydjb21wb25lbnRzJ11cbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKiBDdXN0b21pemUgZ2VuZXJhdGVkIEdyYXBoUUwgYW5kIFR5cGVzY3JpcHQgc2NoZW1hIG5hbWVzLlxuICAgKiBCeSBkZWZhdWx0IGl0IGlzIGJvdW5kIHRvIHRoZSBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBsYWJlbHM/OiBMYWJlbHNcbiAgbWF4Um93cz86IG51bWJlclxuICBtaW5Sb3dzPzogbnVtYmVyXG4gIHR5cGU6ICdhcnJheSdcbn1cblxuZXhwb3J0IHR5cGUgUmFkaW9GaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBsYXlvdXQ/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgfVxuICB9XG4gIG9wdGlvbnM6IE9wdGlvbltdXG4gIHR5cGU6ICdyYWRpbydcbn1cblxuZXhwb3J0IHR5cGUgQmxvY2sgPSB7XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgbWlncmF0ZSB0byB0aGUgaW50ZXJmYWNlTmFtZSBwcm9wZXJ0eSBpbnN0ZWFkLiAqL1xuICBncmFwaFFMPzoge1xuICAgIHNpbmd1bGFyTmFtZT86IHN0cmluZ1xuICB9XG4gIGltYWdlQWx0VGV4dD86IHN0cmluZ1xuICBpbWFnZVVSTD86IHN0cmluZ1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBsYWJlbHM/OiBMYWJlbHNcbiAgc2x1Zzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaW5pdENvbGxhcHNlZD86IGJvb2xlYW4gfCBmYWxzZVxuICB9XG4gIGJsb2NrczogQmxvY2tbXVxuICBkZWZhdWx0VmFsdWU/OiB1bmtub3duXG4gIGxhYmVscz86IExhYmVsc1xuICBtYXhSb3dzPzogbnVtYmVyXG4gIG1pblJvd3M/OiBudW1iZXJcbiAgdHlwZTogJ2Jsb2Nrcydcbn1cblxuZXhwb3J0IHR5cGUgUG9pbnRGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgdHlwZTogJ3BvaW50J1xufVxuXG5leHBvcnQgdHlwZSBGaWVsZCA9XG4gIHwgQXJyYXlGaWVsZFxuICB8IEJsb2NrRmllbGRcbiAgfCBDaGVja2JveEZpZWxkXG4gIHwgQ29kZUZpZWxkXG4gIHwgQ29sbGFwc2libGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFJvd0ZpZWxkXG4gIHwgU2VsZWN0RmllbGRcbiAgfCBUYWJzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVUlGaWVsZFxuICB8IFVwbG9hZEZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkQWZmZWN0aW5nRGF0YSA9XG4gIHwgQXJyYXlGaWVsZFxuICB8IEJsb2NrRmllbGRcbiAgfCBDaGVja2JveEZpZWxkXG4gIHwgQ29kZUZpZWxkXG4gIHwgRGF0ZUZpZWxkXG4gIHwgRW1haWxGaWVsZFxuICB8IEdyb3VwRmllbGRcbiAgfCBKU09ORmllbGRcbiAgfCBOdW1iZXJGaWVsZFxuICB8IFBvaW50RmllbGRcbiAgfCBSYWRpb0ZpZWxkXG4gIHwgUmVsYXRpb25zaGlwRmllbGRcbiAgfCBSaWNoVGV4dEZpZWxkXG4gIHwgU2VsZWN0RmllbGRcbiAgfCBUYWJBc0ZpZWxkXG4gIHwgVGV4dEZpZWxkXG4gIHwgVGV4dGFyZWFGaWVsZFxuICB8IFVwbG9hZEZpZWxkXG5cbmV4cG9ydCB0eXBlIE5vblByZXNlbnRhdGlvbmFsRmllbGQgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IENvbGxhcHNpYmxlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBSb3dGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFic0ZpZWxkXG4gIHwgVGV4dEZpZWxkXG4gIHwgVGV4dGFyZWFGaWVsZFxuICB8IFVwbG9hZEZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aFBhdGggPSBGaWVsZCAmIHtcbiAgcGF0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhTdWJGaWVsZHMgPSBBcnJheUZpZWxkIHwgQ29sbGFwc2libGVGaWVsZCB8IEdyb3VwRmllbGQgfCBSb3dGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFByZXNlbnRhdGlvbmFsT25seSA9IFVJRmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoTWFueSA9IFJlbGF0aW9uc2hpcEZpZWxkIHwgU2VsZWN0RmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoTWF4RGVwdGggPSBSZWxhdGlvbnNoaXBGaWVsZCB8IFVwbG9hZEZpZWxkXG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZEhhc1N1YkZpZWxkcyhmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBGaWVsZFdpdGhTdWJGaWVsZHMge1xuICByZXR1cm4gKFxuICAgIGZpZWxkLnR5cGUgPT09ICdncm91cCcgfHxcbiAgICBmaWVsZC50eXBlID09PSAnYXJyYXknIHx8XG4gICAgZmllbGQudHlwZSA9PT0gJ3JvdycgfHxcbiAgICBmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNBcnJheVR5cGUoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgQXJyYXlGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAnYXJyYXknXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzQmxvY2tUeXBlKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEJsb2NrRmllbGQge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ2Jsb2Nrcydcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbklzT2JqZWN0KG9wdGlvbjogT3B0aW9uKTogb3B0aW9uIGlzIE9wdGlvbk9iamVjdCB7XG4gIHJldHVybiB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uc0FyZU9iamVjdHMob3B0aW9uczogT3B0aW9uW10pOiBvcHRpb25zIGlzIE9wdGlvbk9iamVjdFtdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkob3B0aW9ucykgJiYgdHlwZW9mIG9wdGlvbnM/LlswXSA9PT0gJ29iamVjdCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbklzVmFsdWUob3B0aW9uOiBPcHRpb24pOiBvcHRpb24gaXMgc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZFN1cHBvcnRzTWFueShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBGaWVsZFdpdGhNYW55IHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdzZWxlY3QnIHx8IGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZEhhc01heERlcHRoKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aE1heERlcHRoIHtcbiAgcmV0dXJuIChcbiAgICAoZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcgfHwgZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcpICYmIHR5cGVvZiBmaWVsZC5tYXhEZXB0aCA9PT0gJ251bWJlcidcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZDogRmllbGQgfCBUYWJBc0ZpZWxkKTogZmllbGQgaXMgVUlGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAndWknXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGQpOiBmaWVsZCBpcyBGaWVsZEFmZmVjdGluZ0RhdGEge1xuICByZXR1cm4gJ25hbWUnIGluIGZpZWxkICYmICFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFiSGFzTmFtZSh0YWI6IFRhYik6IHRhYiBpcyBOYW1lZFRhYiB7XG4gIHJldHVybiAnbmFtZScgaW4gdGFiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzTG9jYWxpemVkKGZpZWxkOiBGaWVsZCB8IFRhYik6IGJvb2xlYW4ge1xuICByZXR1cm4gJ2xvY2FsaXplZCcgaW4gZmllbGQgJiYgZmllbGQubG9jYWxpemVkXG59XG5cbmV4cG9ydCB0eXBlIEhvb2tOYW1lID1cbiAgfCAnYWZ0ZXJDaGFuZ2UnXG4gIHwgJ2FmdGVyUmVhZCdcbiAgfCAnYmVmb3JlQ2hhbmdlJ1xuICB8ICdiZWZvcmVSZWFkJ1xuICB8ICdiZWZvcmVWYWxpZGF0ZSdcbiJdLCJuYW1lcyI6WyJ2YWx1ZUlzVmFsdWVXaXRoUmVsYXRpb24iLCJmaWVsZEhhc1N1YkZpZWxkcyIsImZpZWxkSXNBcnJheVR5cGUiLCJmaWVsZElzQmxvY2tUeXBlIiwib3B0aW9uSXNPYmplY3QiLCJvcHRpb25zQXJlT2JqZWN0cyIsIm9wdGlvbklzVmFsdWUiLCJmaWVsZFN1cHBvcnRzTWFueSIsImZpZWxkSGFzTWF4RGVwdGgiLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiZmllbGRBZmZlY3RzRGF0YSIsInRhYkhhc05hbWUiLCJmaWVsZElzTG9jYWxpemVkIiwidmFsdWUiLCJmaWVsZCIsInR5cGUiLCJvcHRpb24iLCJvcHRpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwibWF4RGVwdGgiLCJ0YWIiLCJsb2NhbGl6ZWQiXSwibWFwcGluZ3MiOiJBQUFBLHVDQUF1Qzs7Ozs7Ozs7Ozs7SUE0Y3ZCQSx3QkFBd0I7ZUFBeEJBOztJQXFLQUMsaUJBQWlCO2VBQWpCQTs7SUFTQUMsZ0JBQWdCO2VBQWhCQTs7SUFJQUMsZ0JBQWdCO2VBQWhCQTs7SUFJQUMsY0FBYztlQUFkQTs7SUFJQUMsaUJBQWlCO2VBQWpCQTs7SUFJQUMsYUFBYTtlQUFiQTs7SUFJQUMsaUJBQWlCO2VBQWpCQTs7SUFJQUMsZ0JBQWdCO2VBQWhCQTs7SUFNQUMseUJBQXlCO2VBQXpCQTs7SUFJQUMsZ0JBQWdCO2VBQWhCQTs7SUFJQUMsVUFBVTtlQUFWQTs7SUFJQUMsZ0JBQWdCO2VBQWhCQTs7O0FBeE5ULFNBQVNaLHlCQUF5QmEsS0FBYztJQUNyRCxPQUFPQSxVQUFVLFFBQVEsT0FBT0EsVUFBVSxZQUFZLGdCQUFnQkEsU0FBUyxXQUFXQTtBQUM1RjtBQW1LTyxTQUFTWixrQkFBa0JhLEtBQVk7SUFDNUMsT0FDRUEsTUFBTUMsSUFBSSxLQUFLLFdBQ2ZELE1BQU1DLElBQUksS0FBSyxXQUNmRCxNQUFNQyxJQUFJLEtBQUssU0FDZkQsTUFBTUMsSUFBSSxLQUFLO0FBRW5CO0FBRU8sU0FBU2IsaUJBQWlCWSxLQUFZO0lBQzNDLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNaLGlCQUFpQlcsS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFTyxTQUFTWCxlQUFlWSxNQUFjO0lBQzNDLE9BQU8sT0FBT0EsV0FBVztBQUMzQjtBQUVPLFNBQVNYLGtCQUFrQlksT0FBaUI7SUFDakQsT0FBT0MsTUFBTUMsT0FBTyxDQUFDRixZQUFZLE9BQU9BLFNBQVMsQ0FBQyxFQUFFLEtBQUs7QUFDM0Q7QUFFTyxTQUFTWCxjQUFjVSxNQUFjO0lBQzFDLE9BQU8sT0FBT0EsV0FBVztBQUMzQjtBQUVPLFNBQVNULGtCQUFrQk8sS0FBWTtJQUM1QyxPQUFPQSxNQUFNQyxJQUFJLEtBQUssWUFBWUQsTUFBTUMsSUFBSSxLQUFLO0FBQ25EO0FBRU8sU0FBU1AsaUJBQWlCTSxLQUFZO0lBQzNDLE9BQ0UsQUFBQ0EsQ0FBQUEsTUFBTUMsSUFBSSxLQUFLLFlBQVlELE1BQU1DLElBQUksS0FBSyxjQUFhLEtBQU0sT0FBT0QsTUFBTU0sUUFBUSxLQUFLO0FBRTVGO0FBRU8sU0FBU1gsMEJBQTBCSyxLQUF5QjtJQUNqRSxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFTyxTQUFTTCxpQkFBaUJJLEtBQXlCO0lBQ3hELE9BQU8sVUFBVUEsU0FBUyxDQUFDTCwwQkFBMEJLO0FBQ3ZEO0FBRU8sU0FBU0gsV0FBV1UsR0FBUTtJQUNqQyxPQUFPLFVBQVVBO0FBQ25CO0FBRU8sU0FBU1QsaUJBQWlCRSxLQUFrQjtJQUNqRCxPQUFPLGVBQWVBLFNBQVNBLE1BQU1RLFNBQVM7QUFDaEQifQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IG1vbmFjb2VkaXRvciBmcm9tICdtb25hY28tZWRpdG9yJyAvLyBJTVBPUlRBTlQgLSBETyBOT1QgUkVNT1ZFOiBUaGlzIGlzIHJlcXVpcmVkIGZvciBwbnBtJ3MgZGVmYXVsdCBpc29sYXRlZCBtb2RlIHRvIHdvcmsgLSBldmVuIHRob3VnaCB0aGUgaW1wb3J0IGlzIG5vdCB1c2VkLiBUaGlzIGlzIGR1ZSB0byBhIHR5cGVzY3JpcHQgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQ3NjYzI2lzc3VlY29tbWVudC0xNTE5MTM4MTg5LiAodHNidWdpc29sYXRlZG1vZGUpXG5pbXBvcnQgdHlwZSBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBDb25kaXRpb25hbERhdGVQcm9wcyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZWxlbWVudHMvRGF0ZVBpY2tlci90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgYXMgRXJyb3JQcm9wcyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRXJyb3IvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9GaWVsZERlc2NyaXB0aW9uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcm9wcyBhcyBMYWJlbFByb3BzIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9MYWJlbC90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL1Jvd0xhYmVsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uLy4uL3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IHR5cGUgRmllbGRIb29rQXJnczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgUyA9IGFueT4gPSB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGUgZmllbGQgYmVsb25ncyB0by4gSWYgdGhlIGZpZWxkIGJlbG9uZ3MgdG8gYSBnbG9iYWwsIHRoaXMgd2lsbCBiZSBudWxsLiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICAvKiogVGhlIGRhdGEgcGFzc2VkIHRvIHVwZGF0ZSB0aGUgZG9jdW1lbnQgd2l0aGluIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMsIGFuZCB0aGUgZnVsbCBkb2N1bWVudCBpdHNlbGYgaW4gdGhlIGFmdGVyUmVhZCBob29rLiAqL1xuICBkYXRhPzogUGFydGlhbDxUPlxuICAvKiogVGhlIGZpZWxkIHdoaWNoIHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YVxuICAvKiogQm9vbGVhbiB0byBkZW5vdGUgaWYgdGhpcyBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdCBmaW5kaW5nIG9uZSwgb3IgZmluZGluZyBtYW55IHdpdGhpbiB0aGUgYWZ0ZXJSZWFkIGhvb2suICovXG4gIGZpbmRNYW55PzogYm9vbGVhblxuICAvKiogVGhlIGdsb2JhbCB3aGljaCB0aGUgZmllbGQgYmVsb25ncyB0by4gSWYgdGhlIGZpZWxkIGJlbG9uZ3MgdG8gYSBjb2xsZWN0aW9uLCB0aGlzIHdpbGwgYmUgbnVsbC4gKi9cbiAgZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfCBudWxsXG4gIC8qKiBBIHN0cmluZyByZWxhdGluZyB0byB3aGljaCBvcGVyYXRpb24gdGhlIGZpZWxkIHR5cGUgaXMgY3VycmVudGx5IGV4ZWN1dGluZyB3aXRoaW4uIFVzZWZ1bCB3aXRoaW4gYmVmb3JlVmFsaWRhdGUsIGJlZm9yZUNoYW5nZSwgYW5kIGFmdGVyQ2hhbmdlIGhvb2tzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zLiAqL1xuICBvcGVyYXRpb24/OiAnY3JlYXRlJyB8ICdkZWxldGUnIHwgJ3JlYWQnIHwgJ3VwZGF0ZSdcbiAgLyoqIFRoZSBmdWxsIG9yaWdpbmFsIGRvY3VtZW50IGluIGB1cGRhdGVgIG9wZXJhdGlvbnMuIEluIHRoZSBgYWZ0ZXJDaGFuZ2VgIGhvb2ssIHRoaXMgaXMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCBvZiB0aGUgb3BlcmF0aW9uLiAqL1xuICBvcmlnaW5hbERvYz86IFRcbiAgLyoqIFRoZSBkb2N1bWVudCBiZWZvcmUgY2hhbmdlcyB3ZXJlIGFwcGxpZWQsIG9ubHkgaW4gYGFmdGVyQ2hhbmdlYCBob29rcy4gKi9cbiAgcHJldmlvdXNEb2M/OiBUXG4gIC8qKiBUaGUgc2libGluZyBkYXRhIGZyb20gdGhlIHByZXZpb3VzIGRvY3VtZW50IGluIGBhZnRlckNoYW5nZWAgaG9vay4gKi9cbiAgcHJldmlvdXNTaWJsaW5nRG9jPzogVFxuICBwcmV2aW91c1ZhbHVlPzogUFxuICAvKiogVGhlIEV4cHJlc3MgcmVxdWVzdCBvYmplY3QuIEl0IGlzIG1vY2tlZCBmb3IgTG9jYWwgQVBJIG9wZXJhdGlvbnMuICovXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgcGFzc2VkIHRvIGEgZmllbGQgdGhhdCB0aGUgaG9vayBpcyBydW5uaW5nIGFnYWluc3QuICovXG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFM+XG4gIC8qKiBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkLiAqL1xuICB2YWx1ZT86IFBcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRIb29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IChcbiAgYXJnczogRmllbGRIb29rQXJnczxULCBQLCBTPixcbikgPT4gUCB8IFByb21pc2U8UD5cblxuZXhwb3J0IHR5cGUgRmllbGRBY2Nlc3M8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFUgPSBhbnk+ID0gKGFyZ3M6IHtcbiAgLyoqXG4gICAqIFRoZSBpbmNvbWluZyBkYXRhIHVzZWQgdG8gYGNyZWF0ZWAgb3IgYHVwZGF0ZWAgdGhlIGRvY3VtZW50IHdpdGguIGBkYXRhYCBpcyB1bmRlZmluZWQgZHVyaW5nIHRoZSBgcmVhZGAgb3BlcmF0aW9uLlxuICAgKi9cbiAgZGF0YT86IFBhcnRpYWw8VD5cbiAgLyoqXG4gICAqIFRoZSBvcmlnaW5hbCBkYXRhIG9mIHRoZSBkb2N1bWVudCBiZWZvcmUgdGhlIGB1cGRhdGVgIGlzIGFwcGxpZWQuIGBkb2NgIGlzIHVuZGVmaW5lZCBkdXJpbmcgdGhlIGBjcmVhdGVgIG9wZXJhdGlvbi5cbiAgICovXG4gIGRvYz86IFRcbiAgLyoqXG4gICAqIFRoZSBgaWRgIG9mIHRoZSBjdXJyZW50IGRvY3VtZW50IGJlaW5nIHJlYWQgb3IgdXBkYXRlZC4gYGlkYCBpcyB1bmRlZmluZWQgZHVyaW5nIHRoZSBgY3JlYXRlYCBvcGVyYXRpb24uXG4gICAqL1xuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICAvKiogVGhlIGBFeHByZXNzYCByZXF1ZXN0IG9iamVjdCBjb250YWluaW5nIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCBgdXNlcmAgKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdDxVPlxuICAvKipcbiAgICogSW1tZWRpYXRlbHkgYWRqYWNlbnQgZGF0YSB0byB0aGlzIGZpZWxkLiBGb3IgZXhhbXBsZSwgaWYgdGhpcyBpcyBhIGBncm91cGAgZmllbGQsIHRoZW4gYHNpYmxpbmdEYXRhYCB3aWxsIGJlIHRoZSBvdGhlciBmaWVsZHMgd2l0aGluIHRoZSBncm91cC5cbiAgICovXG4gIHNpYmxpbmdEYXRhPzogUGFydGlhbDxQPlxufSkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW5cblxuZXhwb3J0IHR5cGUgQ29uZGl0aW9uPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55PiA9IChcbiAgZGF0YTogUGFydGlhbDxUPixcbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8UD4sXG4gIHsgdXNlciB9OiB7IHVzZXI6IFVzZXIgfSxcbikgPT4gYm9vbGVhblxuXG5leHBvcnQgdHlwZSBGaWx0ZXJPcHRpb25zUHJvcHM8VCA9IGFueT4gPSB7XG4gIGRhdGE6IFRcbiAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICByZWxhdGlvblRvOiBzdHJpbmdcbiAgc2libGluZ0RhdGE6IHVua25vd25cbiAgdXNlcjogUGFydGlhbDxVc2VyPlxufVxuXG5leHBvcnQgdHlwZSBGaWx0ZXJPcHRpb25zPFQgPSBhbnk+ID1cbiAgfCAoKG9wdGlvbnM6IEZpbHRlck9wdGlvbnNQcm9wczxUPikgPT4gUHJvbWlzZTxXaGVyZT4gfCBXaGVyZSlcbiAgfCBXaGVyZVxuICB8IG51bGxcblxudHlwZSBBZG1pbiA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbXBvbmVudHM/OiB7XG4gICAgQ2VsbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIEZpZWxkPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgRmlsdGVyPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gIH1cbiAgLyoqXG4gICAqIFlvdSBjYW4gcHJvZ3JhbW1hdGljYWxseSBzaG93IC8gaGlkZSBmaWVsZHMgYmFzZWQgb24gd2hhdCBvdGhlciBmaWVsZHMgYXJlIGRvaW5nLlxuICAgKiBUaGlzIGlzIGFsc28gcnVuIG9uIHRoZSBzZXJ2ZXIsIHRvIGRldGVybWluZSBpZiB0aGUgZmllbGQgc2hvdWxkIGJlIHZhbGlkYXRlZC5cbiAgICovXG4gIGNvbmRpdGlvbj86IENvbmRpdGlvblxuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGRpc2FibGVCdWxrRWRpdD86IGJvb2xlYW5cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGhpZGRlbj86IGJvb2xlYW5cbiAgcG9zaXRpb24/OiAnc2lkZWJhcidcbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHN0eWxlPzogQ1NTUHJvcGVydGllc1xuICB3aWR0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBMYWJlbHMgPSB7XG4gIHBsdXJhbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICBzaW5ndWxhcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YSwgVEZpZWxkQ29uZmlnPiA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogUGFydGlhbDxURGF0YT5cbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uPzogT3BlcmF0aW9uXG4gIHBheWxvYWQ/OiBQYXlsb2FkXG4gIHJlcT86IFBheWxvYWRSZXF1ZXN0XG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFRTaWJsaW5nRGF0YT5cbiAgdDogVEZ1bmN0aW9uXG4gIHVzZXI/OiBQYXJ0aWFsPFVzZXI+XG59ICYgVEZpZWxkQ29uZmlnXG5cbi8vIFRPRE86IEhhdmluZyBURmllbGRDb25maWcgYXMgYW55IGJyZWFrcyBhbGwgdHlwZSBjaGVja2luZyAvIGF1dG8tY29tcGxldGlvbnMgZm9yIHRoZSBiYXNlIFZhbGlkYXRlT3B0aW9ucyBwcm9wZXJ0aWVzLlxuZXhwb3J0IHR5cGUgVmFsaWRhdGU8VFZhbHVlID0gYW55LCBURGF0YSA9IGFueSwgVFNpYmxpbmdEYXRhID0gYW55LCBURmllbGRDb25maWcgPSBhbnk+ID0gKFxuICB2YWx1ZTogVFZhbHVlLFxuICBvcHRpb25zOiBWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YSwgVEZpZWxkQ29uZmlnPixcbikgPT4gUHJvbWlzZTxzdHJpbmcgfCB0cnVlPiB8IHN0cmluZyB8IHRydWVcblxuZXhwb3J0IHR5cGUgT3B0aW9uT2JqZWN0ID0ge1xuICBsYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB2YWx1ZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE9wdGlvbiA9IE9wdGlvbk9iamVjdCB8IHN0cmluZ1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQmFzZSB7XG4gIGFjY2Vzcz86IHtcbiAgICBjcmVhdGU/OiBGaWVsZEFjY2Vzc1xuICAgIHJlYWQ/OiBGaWVsZEFjY2Vzc1xuICAgIHVwZGF0ZT86IEZpZWxkQWNjZXNzXG4gIH1cbiAgYWRtaW4/OiBBZG1pblxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGRlZmF1bHRWYWx1ZT86IGFueVxuICBoaWRkZW4/OiBib29sZWFuXG4gIGhvb2tzPzoge1xuICAgIGFmdGVyQ2hhbmdlPzogRmllbGRIb29rW11cbiAgICBhZnRlclJlYWQ/OiBGaWVsZEhvb2tbXVxuICAgIGJlZm9yZUNoYW5nZT86IEZpZWxkSG9va1tdXG4gICAgYmVmb3JlVmFsaWRhdGU/OiBGaWVsZEhvb2tbXVxuICB9XG4gIGluZGV4PzogYm9vbGVhblxuICBsYWJlbD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBmYWxzZSB8IHN0cmluZ1xuICBsb2NhbGl6ZWQ/OiBib29sZWFuXG4gIG5hbWU6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgc2F2ZVRvSldUPzogYm9vbGVhbiB8IHN0cmluZ1xuICB1bmlxdWU/OiBib29sZWFuXG4gIHZhbGlkYXRlPzogVmFsaWRhdGVcbn1cblxuZXhwb3J0IHR5cGUgTnVtYmVyRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgLyoqIFNldCB0aGlzIHByb3BlcnR5IHRvIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBicm93c2VyIGF1dG9jb21wbGV0ZS4gKi9cbiAgICBhdXRvQ29tcGxldGU/OiBzdHJpbmdcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIGFmdGVySW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgYmVmb3JlSW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIH1cbiAgICAvKiogU2V0IHRoaXMgcHJvcGVydHkgdG8gZGVmaW5lIGEgcGxhY2Vob2xkZXIgc3RyaW5nIGZvciB0aGUgZmllbGQuICovXG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgLyoqIFNldCBhIHZhbHVlIGZvciB0aGUgbnVtYmVyIGZpZWxkIHRvIGluY3JlbWVudCAvIGRlY3JlbWVudCB1c2luZyBicm93c2VyIGNvbnRyb2xzLiAqL1xuICAgIHN0ZXA/OiBudW1iZXJcbiAgfVxuICAvKiogTWF4aW11bSB2YWx1ZSBhY2NlcHRlZC4gVXNlZCBpbiB0aGUgZGVmYXVsdCBgdmFsaWRhdGlvbmAgZnVuY3Rpb24uICovXG4gIG1heD86IG51bWJlclxuICAvKiogTWluaW11bSB2YWx1ZSBhY2NlcHRlZC4gVXNlZCBpbiB0aGUgZGVmYXVsdCBgdmFsaWRhdGlvbmAgZnVuY3Rpb24uICovXG4gIG1pbj86IG51bWJlclxuICB0eXBlOiAnbnVtYmVyJ1xufSAmIChcbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBudW1iZXJzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBudW1iZXIuICovXG4gICAgICAgIGhhc01hbnk6IHRydWVcbiAgICAgICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWF4Um93cz86IG51bWJlclxuICAgICAgICAvKiogTWluaW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIC8qKiBNYWtlcyB0aGlzIGZpZWxkIGFuIG9yZGVyZWQgYXJyYXkgb2YgbnVtYmVycyBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgbnVtYmVyLiAqL1xuICAgICAgICBoYXNNYW55PzogZmFsc2UgfCB1bmRlZmluZWRcbiAgICAgICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWluaW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtaW5Sb3dzPzogdW5kZWZpbmVkXG4gICAgICB9XG4gIClcblxuZXhwb3J0IHR5cGUgVGV4dEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIHJ0bD86IGJvb2xlYW5cbiAgfVxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICd0ZXh0J1xufVxuXG5leHBvcnQgdHlwZSBFbWFpbEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdlbWFpbCdcbn1cblxuZXhwb3J0IHR5cGUgVGV4dGFyZWFGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIGFmdGVySW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgYmVmb3JlSW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIH1cbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICByb3dzPzogbnVtYmVyXG4gICAgcnRsPzogYm9vbGVhblxuICB9XG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgdHlwZTogJ3RleHRhcmVhJ1xufVxuXG5leHBvcnQgdHlwZSBDaGVja2JveEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICB9XG4gIHR5cGU6ICdjaGVja2JveCdcbn1cblxuZXhwb3J0IHR5cGUgRGF0ZUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIGRhdGU/OiBDb25kaXRpb25hbERhdGVQcm9wc1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdkYXRlJ1xufVxuXG5leHBvcnQgdHlwZSBHcm91cEZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGhpZGVHdXR0ZXI/OiBib29sZWFuXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKiBDdXN0b21pemUgZ2VuZXJhdGVkIEdyYXBoUUwgYW5kIFR5cGVzY3JpcHQgc2NoZW1hIG5hbWVzLlxuICAgKiBCeSBkZWZhdWx0IGl0IGlzIGJvdW5kIHRvIHRoZSBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICB0eXBlOiAnZ3JvdXAnXG59XG5cbmV4cG9ydCB0eXBlIFJvd0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxuZXhwb3J0IHR5cGUgUm93RmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2FkbWluJyB8ICdsYWJlbCcgfCAnbmFtZSc+ICYge1xuICBhZG1pbj86IFJvd0FkbWluXG4gIGZpZWxkczogRmllbGRbXVxuICB0eXBlOiAncm93J1xufVxuXG5leHBvcnQgdHlwZSBDb2xsYXBzaWJsZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdsYWJlbCcgfCAnbmFtZSc+ICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGluaXRDb2xsYXBzZWQ/OiBib29sZWFuIHwgZmFsc2VcbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgbGFiZWw6IFJvd0xhYmVsXG4gIHR5cGU6ICdjb2xsYXBzaWJsZSdcbn1cblxuZXhwb3J0IHR5cGUgVGFic0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxudHlwZSBUYWJCYXNlID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGZpZWxkczogRmllbGRbXVxuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTmFtZWRUYWIgPSBUYWJCYXNlICYge1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBVbm5hbWVkVGFiID0gT21pdDxUYWJCYXNlLCAnbmFtZSc+ICYge1xuICBpbnRlcmZhY2VOYW1lPzogbmV2ZXJcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogbmV2ZXJcbn1cblxuZXhwb3J0IHR5cGUgVGFiID0gTmFtZWRUYWIgfCBVbm5hbWVkVGFiXG5cbmV4cG9ydCB0eXBlIFRhYnNGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nIHwgJ2xvY2FsaXplZCcgfCAnbmFtZScgfCAnc2F2ZVRvSldUJz4gJiB7XG4gIGFkbWluPzogVGFic0FkbWluXG4gIHRhYnM6IFRhYltdXG4gIHR5cGU6ICd0YWJzJ1xufVxuXG5leHBvcnQgdHlwZSBUYWJBc0ZpZWxkID0gVGFiICYge1xuICBuYW1lPzogc3RyaW5nXG4gIHR5cGU6ICd0YWInXG59XG5cbmV4cG9ydCB0eXBlIFVJRmllbGQgPSB7XG4gIGFkbWluOiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIENlbGw/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpZWxkOiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpbHRlcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIH1cbiAgICBjb25kaXRpb24/OiBDb25kaXRpb25cbiAgICBkaXNhYmxlQnVsa0VkaXQ/OiBib29sZWFuXG4gICAgcG9zaXRpb24/OiBzdHJpbmdcbiAgICB3aWR0aD86IHN0cmluZ1xuICB9XG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0eXBlOiAndWknXG59XG5cbmV4cG9ydCB0eXBlIFVwbG9hZEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICB9XG4gIH1cbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHR5cGU6ICd1cGxvYWQnXG59XG5cbnR5cGUgQ29kZUFkbWluID0gQWRtaW4gJiB7XG4gIGNvbXBvbmVudHM/OiB7XG4gICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gIH1cbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbiAgbGFuZ3VhZ2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ29kZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbic+ICYge1xuICBhZG1pbj86IENvZGVBZG1pblxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICdjb2RlJ1xufVxuXG50eXBlIEpTT05BZG1pbiA9IEFkbWluICYge1xuICBjb21wb25lbnRzPzoge1xuICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICB9XG4gIGVkaXRvck9wdGlvbnM/OiBFZGl0b3JQcm9wc1snb3B0aW9ucyddXG59XG5cbmV4cG9ydCB0eXBlIEpTT05GaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBKU09OQWRtaW5cbiAgdHlwZTogJ2pzb24nXG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgICBpc0NsZWFyYWJsZT86IGJvb2xlYW5cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG9wdGlvbnM6IE9wdGlvbltdXG4gIHR5cGU6ICdzZWxlY3QnXG59XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uc2hpcEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGFsbG93Q3JlYXRlPzogYm9vbGVhblxuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJPcHRpb25zXG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIHJlbGF0aW9uVG86IHN0cmluZyB8IHN0cmluZ1tdXG4gIHR5cGU6ICdyZWxhdGlvbnNoaXAnXG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21heFJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1heD86IG51bWJlclxuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21pblJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1pbj86IG51bWJlclxuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtYXhSb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtYXg/OiB1bmRlZmluZWRcbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtaW5Sb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtaW4/OiB1bmRlZmluZWRcbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbmV4cG9ydCB0eXBlIFZhbHVlV2l0aFJlbGF0aW9uID0ge1xuICByZWxhdGlvblRvOiBzdHJpbmdcbiAgdmFsdWU6IG51bWJlciB8IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVJc1ZhbHVlV2l0aFJlbGF0aW9uKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgVmFsdWVXaXRoUmVsYXRpb24ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAncmVsYXRpb25UbycgaW4gdmFsdWUgJiYgJ3ZhbHVlJyBpbiB2YWx1ZVxufVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBWYWx1ZSA9XG4gIHwgKG51bWJlciB8IHN0cmluZylbXVxuICB8IFZhbHVlV2l0aFJlbGF0aW9uXG4gIHwgVmFsdWVXaXRoUmVsYXRpb25bXVxuICB8IChudW1iZXIgfCBzdHJpbmcpXG5cbmV4cG9ydCB0eXBlIFJpY2hUZXh0RmllbGQ8XG4gIFZhbHVlIGV4dGVuZHMgb2JqZWN0ID0gYW55LFxuICBBZGFwdGVyUHJvcHMgPSBhbnksXG4gIEV4dHJhUHJvcGVydGllcyA9IHt9LFxuPiA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pblxuICBlZGl0b3I/OiBSaWNoVGV4dEFkYXB0ZXI8VmFsdWUsIEFkYXB0ZXJQcm9wcywgQWRhcHRlclByb3BzPlxuICB0eXBlOiAncmljaFRleHQnXG59ICYgRXh0cmFQcm9wZXJ0aWVzXG5cbmV4cG9ydCB0eXBlIEFycmF5RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIFJvd0xhYmVsPzogUm93TGFiZWxcbiAgICB9ICYgQWRtaW5bJ2NvbXBvbmVudHMnXVxuICAgIGluaXRDb2xsYXBzZWQ/OiBib29sZWFuIHwgZmFsc2VcbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIEJ5IGRlZmF1bHQgaXQgaXMgYm91bmQgdG8gdGhlIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGdlbmVyYXRlIGEgdG9wIGxldmVsIHR5cGUgdG8gc2hhcmUgYW1vbmdzdCBjb2xsZWN0aW9ucy9maWVsZHMuXG4gICAqICoqTm90ZSoqOiBUb3AgbGV2ZWwgdHlwZXMgY2FuIGNvbGxpZGUsIGVuc3VyZSB0aGV5IGFyZSB1bmlxdWUgYW1vbmcgY29sbGVjdGlvbnMsIGFycmF5cywgZ3JvdXBzLCBibG9ja3MsIHRhYnMuXG4gICAqL1xuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIGxhYmVscz86IExhYmVsc1xuICBtYXhSb3dzPzogbnVtYmVyXG4gIG1pblJvd3M/OiBudW1iZXJcbiAgdHlwZTogJ2FycmF5J1xufVxuXG5leHBvcnQgdHlwZSBSYWRpb0ZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgICBsYXlvdXQ/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnXG4gIH1cbiAgb3B0aW9uczogT3B0aW9uW11cbiAgdHlwZTogJ3JhZGlvJ1xufVxuXG5leHBvcnQgdHlwZSBCbG9jayA9IHtcbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSBtaWdyYXRlIHRvIHRoZSBpbnRlcmZhY2VOYW1lIHByb3BlcnR5IGluc3RlYWQuICovXG4gIGdyYXBoUUw/OiB7XG4gICAgc2luZ3VsYXJOYW1lPzogc3RyaW5nXG4gIH1cbiAgaW1hZ2VBbHRUZXh0Pzogc3RyaW5nXG4gIGltYWdlVVJMPzogc3RyaW5nXG4gIC8qKiBDdXN0b21pemUgZ2VuZXJhdGVkIEdyYXBoUUwgYW5kIFR5cGVzY3JpcHQgc2NoZW1hIG5hbWVzLlxuICAgKiBUaGUgc2x1ZyBpcyB1c2VkIGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGdlbmVyYXRlIGEgdG9wIGxldmVsIHR5cGUgdG8gc2hhcmUgYW1vbmdzdCBjb2xsZWN0aW9ucy9maWVsZHMuXG4gICAqICoqTm90ZSoqOiBUb3AgbGV2ZWwgdHlwZXMgY2FuIGNvbGxpZGUsIGVuc3VyZSB0aGV5IGFyZSB1bmlxdWUgYW1vbmcgY29sbGVjdGlvbnMsIGFycmF5cywgZ3JvdXBzLCBibG9ja3MsIHRhYnMuXG4gICAqL1xuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIGxhYmVscz86IExhYmVsc1xuICBzbHVnOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQmxvY2tGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gIH1cbiAgYmxvY2tzOiBCbG9ja1tdXG4gIGRlZmF1bHRWYWx1ZT86IHVua25vd25cbiAgbGFiZWxzPzogTGFiZWxzXG4gIG1heFJvd3M/OiBudW1iZXJcbiAgbWluUm93cz86IG51bWJlclxuICB0eXBlOiAnYmxvY2tzJ1xufVxuXG5leHBvcnQgdHlwZSBQb2ludEZpZWxkID0gRmllbGRCYXNlICYge1xuICB0eXBlOiAncG9pbnQnXG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBDb2xsYXBzaWJsZUZpZWxkXG4gIHwgRGF0ZUZpZWxkXG4gIHwgRW1haWxGaWVsZFxuICB8IEdyb3VwRmllbGRcbiAgfCBKU09ORmllbGRcbiAgfCBOdW1iZXJGaWVsZFxuICB8IFBvaW50RmllbGRcbiAgfCBSYWRpb0ZpZWxkXG4gIHwgUmVsYXRpb25zaGlwRmllbGRcbiAgfCBSaWNoVGV4dEZpZWxkXG4gIHwgUm93RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYnNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVSUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRBZmZlY3RpbmdEYXRhID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYkFzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgTm9uUHJlc2VudGF0aW9uYWxGaWVsZCA9XG4gIHwgQXJyYXlGaWVsZFxuICB8IEJsb2NrRmllbGRcbiAgfCBDaGVja2JveEZpZWxkXG4gIHwgQ29kZUZpZWxkXG4gIHwgQ29sbGFwc2libGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFJvd0ZpZWxkXG4gIHwgU2VsZWN0RmllbGRcbiAgfCBUYWJzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoUGF0aCA9IEZpZWxkICYge1xuICBwYXRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aFN1YkZpZWxkcyA9IEFycmF5RmllbGQgfCBDb2xsYXBzaWJsZUZpZWxkIHwgR3JvdXBGaWVsZCB8IFJvd0ZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkUHJlc2VudGF0aW9uYWxPbmx5ID0gVUlGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYW55ID0gUmVsYXRpb25zaGlwRmllbGQgfCBTZWxlY3RGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYXhEZXB0aCA9IFJlbGF0aW9uc2hpcEZpZWxkIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aFN1YkZpZWxkcyB7XG4gIHJldHVybiAoXG4gICAgZmllbGQudHlwZSA9PT0gJ2dyb3VwJyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdhcnJheScgfHxcbiAgICBmaWVsZC50eXBlID09PSAncm93JyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZSdcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0FycmF5VHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBBcnJheUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdhcnJheSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNCbG9ja1R5cGUoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgQmxvY2tGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAnYmxvY2tzJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNPYmplY3Qob3B0aW9uOiBPcHRpb24pOiBvcHRpb24gaXMgT3B0aW9uT2JqZWN0IHtcbiAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25zQXJlT2JqZWN0cyhvcHRpb25zOiBPcHRpb25bXSk6IG9wdGlvbnMgaXMgT3B0aW9uT2JqZWN0W10ge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiB0eXBlb2Ygb3B0aW9ucz8uWzBdID09PSAnb2JqZWN0J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNWYWx1ZShvcHRpb246IE9wdGlvbik6IG9wdGlvbiBpcyBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZydcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkU3VwcG9ydHNNYW55KGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aE1hbnkge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgfHwgZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzTWF4RGVwdGgoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoTWF4RGVwdGgge1xuICByZXR1cm4gKFxuICAgIChmaWVsZC50eXBlID09PSAndXBsb2FkJyB8fCBmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJykgJiYgdHlwZW9mIGZpZWxkLm1heERlcHRoID09PSAnbnVtYmVyJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGQpOiBmaWVsZCBpcyBVSUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICd1aSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZCk6IGZpZWxkIGlzIEZpZWxkQWZmZWN0aW5nRGF0YSB7XG4gIHJldHVybiAnbmFtZScgaW4gZmllbGQgJiYgIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJIYXNOYW1lKHRhYjogVGFiKTogdGFiIGlzIE5hbWVkVGFiIHtcbiAgcmV0dXJuICduYW1lJyBpbiB0YWJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNMb2NhbGl6ZWQoZmllbGQ6IEZpZWxkIHwgVGFiKTogYm9vbGVhbiB7XG4gIHJldHVybiAnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWRcbn1cblxuZXhwb3J0IHR5cGUgSG9va05hbWUgPVxuICB8ICdhZnRlckNoYW5nZSdcbiAgfCAnYWZ0ZXJSZWFkJ1xuICB8ICdiZWZvcmVDaGFuZ2UnXG4gIHwgJ2JlZm9yZVJlYWQnXG4gIHwgJ2JlZm9yZVZhbGlkYXRlJ1xuIl0sIm5hbWVzIjpbInZhbHVlSXNWYWx1ZVdpdGhSZWxhdGlvbiIsImZpZWxkSGFzU3ViRmllbGRzIiwiZmllbGRJc0FycmF5VHlwZSIsImZpZWxkSXNCbG9ja1R5cGUiLCJvcHRpb25Jc09iamVjdCIsIm9wdGlvbnNBcmVPYmplY3RzIiwib3B0aW9uSXNWYWx1ZSIsImZpZWxkU3VwcG9ydHNNYW55IiwiZmllbGRIYXNNYXhEZXB0aCIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJmaWVsZEFmZmVjdHNEYXRhIiwidGFiSGFzTmFtZSIsImZpZWxkSXNMb2NhbGl6ZWQiLCJ2YWx1ZSIsImZpZWxkIiwidHlwZSIsIm9wdGlvbiIsIm9wdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJtYXhEZXB0aCIsInRhYiIsImxvY2FsaXplZCJdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDOzs7Ozs7Ozs7OztJQWdldkJBLHdCQUF3QjtlQUF4QkE7O0lBcUtBQyxpQkFBaUI7ZUFBakJBOztJQVNBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxjQUFjO2VBQWRBOztJQUlBQyxpQkFBaUI7ZUFBakJBOztJQUlBQyxhQUFhO2VBQWJBOztJQUlBQyxpQkFBaUI7ZUFBakJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQU1BQyx5QkFBeUI7ZUFBekJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxVQUFVO2VBQVZBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOzs7QUF4TlQsU0FBU1oseUJBQXlCYSxLQUFjO0lBQ3JELE9BQU9BLFVBQVUsUUFBUSxPQUFPQSxVQUFVLFlBQVksZ0JBQWdCQSxTQUFTLFdBQVdBO0FBQzVGO0FBbUtPLFNBQVNaLGtCQUFrQmEsS0FBWTtJQUM1QyxPQUNFQSxNQUFNQyxJQUFJLEtBQUssV0FDZkQsTUFBTUMsSUFBSSxLQUFLLFdBQ2ZELE1BQU1DLElBQUksS0FBSyxTQUNmRCxNQUFNQyxJQUFJLEtBQUs7QUFFbkI7QUFFTyxTQUFTYixpQkFBaUJZLEtBQVk7SUFDM0MsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU1osaUJBQWlCVyxLQUFZO0lBQzNDLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNYLGVBQWVZLE1BQWM7SUFDM0MsT0FBTyxPQUFPQSxXQUFXO0FBQzNCO0FBRU8sU0FBU1gsa0JBQWtCWSxPQUFpQjtJQUNqRCxPQUFPQyxNQUFNQyxPQUFPLENBQUNGLFlBQVksT0FBT0EsU0FBUyxDQUFDLEVBQUUsS0FBSztBQUMzRDtBQUVPLFNBQVNYLGNBQWNVLE1BQWM7SUFDMUMsT0FBTyxPQUFPQSxXQUFXO0FBQzNCO0FBRU8sU0FBU1Qsa0JBQWtCTyxLQUFZO0lBQzVDLE9BQU9BLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUs7QUFDbkQ7QUFFTyxTQUFTUCxpQkFBaUJNLEtBQVk7SUFDM0MsT0FDRSxBQUFDQSxDQUFBQSxNQUFNQyxJQUFJLEtBQUssWUFBWUQsTUFBTUMsSUFBSSxLQUFLLGNBQWEsS0FBTSxPQUFPRCxNQUFNTSxRQUFRLEtBQUs7QUFFNUY7QUFFTyxTQUFTWCwwQkFBMEJLLEtBQXlCO0lBQ2pFLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNMLGlCQUFpQkksS0FBeUI7SUFDeEQsT0FBTyxVQUFVQSxTQUFTLENBQUNMLDBCQUEwQks7QUFDdkQ7QUFFTyxTQUFTSCxXQUFXVSxHQUFRO0lBQ2pDLE9BQU8sVUFBVUE7QUFDbkI7QUFFTyxTQUFTVCxpQkFBaUJFLEtBQWtCO0lBQ2pELE9BQU8sZUFBZUEsU0FBU0EsTUFBTVEsU0FBUztBQUNoRCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/promise.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAM3D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAA;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5C,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AASD,eAAO,MAAM,OAAO,6LAkBjB,IAAI,KAAG,QAAQ,IAAI,CAyUrB,CAAA"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/promise.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAM3D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAA;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5C,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AASD,eAAO,MAAM,OAAO,6LAkBjB,IAAI,KAAG,QAAQ,IAAI,CA0UrB,CAAA"}
@@ -76,6 +76,7 @@ const promise = async ({ id, collection, context, data, doc, docWithLocales, err
76
76
  jsonError,
77
77
  operation,
78
78
  payload: req.payload,
79
+ req,
79
80
  siblingData: (0, _deepmerge.default)(siblingDoc, siblingData, {
80
81
  arrayMerge: (_, source)=>source
81
82
  }),
@@ -313,4 +314,4 @@ const promise = async ({ id, collection, context, data, doc, docWithLocales, err
313
314
  }
314
315
  };
315
316
 
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL3Byb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCBtZXJnZSBmcm9tICdkZWVwbWVyZ2UnXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgVGFiQXNGaWVsZCB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgdGFiSGFzTmFtZSB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGdldEV4aXN0aW5nUm93RG9jIH0gZnJvbSAnLi9nZXRFeGlzdGluZ1Jvd0RvYydcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRvY1dpdGhMb2NhbGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBlcnJvcnM6IHsgZmllbGQ6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1bXVxuICBmaWVsZDogRmllbGQgfCBUYWJBc0ZpZWxkXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBtZXJnZUxvY2FsZUFjdGlvbnM6ICgoKSA9PiB2b2lkKVtdXG4gIG9wZXJhdGlvbjogT3BlcmF0aW9uXG4gIHBhdGg6IHN0cmluZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNpYmxpbmdEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBzaWJsaW5nRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBzaWJsaW5nRG9jV2l0aExvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBza2lwVmFsaWRhdGlvbjogYm9vbGVhblxufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgZm9sbG93aW5nIGFjdGlvbnMsIGluIG9yZGVyOlxuLy8gLSBSdW4gY29uZGl0aW9uXG4vLyAtIEV4ZWN1dGUgZmllbGQgaG9va3Ncbi8vIC0gVmFsaWRhdGUgZGF0YVxuLy8gLSBUcmFuc2Zvcm0gZGF0YSBmb3Igc3RvcmFnZVxuLy8gLSBVbmZsYXR0ZW4gbG9jYWxlc1xuXG5leHBvcnQgY29uc3QgcHJvbWlzZSA9IGFzeW5jICh7XG4gIGlkLFxuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBkYXRhLFxuICBkb2MsXG4gIGRvY1dpdGhMb2NhbGVzLFxuICBlcnJvcnMsXG4gIGZpZWxkLFxuICBnbG9iYWwsXG4gIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgb3BlcmF0aW9uLFxuICBwYXRoLFxuICByZXEsXG4gIHNpYmxpbmdEYXRhLFxuICBzaWJsaW5nRG9jLFxuICBzaWJsaW5nRG9jV2l0aExvY2FsZXMsXG4gIHNraXBWYWxpZGF0aW9uLFxufTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBwYXNzZXNDb25kaXRpb24gPSBmaWVsZC5hZG1pbj8uY29uZGl0aW9uXG4gICAgPyBmaWVsZC5hZG1pbi5jb25kaXRpb24oZGF0YSwgc2libGluZ0RhdGEsIHsgdXNlcjogcmVxLnVzZXIgfSlcbiAgICA6IHRydWVcbiAgbGV0IHNraXBWYWxpZGF0aW9uRnJvbUhlcmUgPSBza2lwVmFsaWRhdGlvbiB8fCAhcGFzc2VzQ29uZGl0aW9uXG5cbiAgY29uc3QgZGVmYXVsdExvY2FsZSA9IHJlcS5wYXlsb2FkLmNvbmZpZz8ubG9jYWxpemF0aW9uXG4gICAgPyByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uPy5kZWZhdWx0TG9jYWxlXG4gICAgOiAnZW4nXG4gIGNvbnN0IG9wZXJhdGlvbkxvY2FsZSA9IHJlcS5sb2NhbGUgfHwgZGVmYXVsdExvY2FsZVxuXG4gIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgIC8vIHNraXAgdmFsaWRhdGlvbiBpZiB0aGUgZmllbGQgaXMgbG9jYWxpemVkIGFuZCB0aGUgaW5jb21pbmcgZGF0YSBpcyBudWxsXG4gICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBvcGVyYXRpb25Mb2NhbGUgIT09IGRlZmF1bHRMb2NhbGUpIHtcbiAgICAgIGlmIChbJ2FycmF5JywgJ2Jsb2NrcyddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdID09PSBudWxsKSB7XG4gICAgICAgIHNraXBWYWxpZGF0aW9uRnJvbUhlcmUgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhlY3V0ZSBob29rc1xuICAgIGlmIChmaWVsZC5ob29rcz8uYmVmb3JlQ2hhbmdlKSB7XG4gICAgICBhd2FpdCBmaWVsZC5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGN1cnJlbnRIb29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGNvbnN0IGhvb2tlZFZhbHVlID0gYXdhaXQgY3VycmVudEhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgb3JpZ2luYWxEb2M6IGRvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgICAgdmFsdWU6IHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChob29rZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2libGluZ0RhdGFbZmllbGQubmFtZV0gPSBob29rZWRWYWx1ZVxuICAgICAgICB9XG4gICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZVxuICAgIGlmICghc2tpcFZhbGlkYXRpb25Gcm9tSGVyZSAmJiBmaWVsZC52YWxpZGF0ZSkge1xuICAgICAgY29uc3QgdmFsdWVUb1ZhbGlkYXRlID0gc2libGluZ0RhdGFbZmllbGQubmFtZV1cbiAgICAgIGxldCBqc29uRXJyb3JcblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdqc29uJyAmJiB0eXBlb2Ygc2libGluZ0RhdGFbZmllbGQubmFtZV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgSlNPTi5wYXJzZShzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXSBhcyBzdHJpbmcpXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBqc29uRXJyb3IgPSBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IGZpZWxkLnZhbGlkYXRlKHZhbHVlVG9WYWxpZGF0ZSwge1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbmZpZzogcmVxLnBheWxvYWQuY29uZmlnLFxuICAgICAgICBkYXRhOiBtZXJnZShkb2MsIGRhdGEsIHsgYXJyYXlNZXJnZTogKF8sIHNvdXJjZSkgPT4gc291cmNlIH0pLFxuICAgICAgICBqc29uRXJyb3IsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcGF5bG9hZDogcmVxLnBheWxvYWQsXG4gICAgICAgIHNpYmxpbmdEYXRhOiBtZXJnZShzaWJsaW5nRG9jLCBzaWJsaW5nRGF0YSwgeyBhcnJheU1lcmdlOiAoXywgc291cmNlKSA9PiBzb3VyY2UgfSksXG4gICAgICAgIHQ6IHJlcS50LFxuICAgICAgICB1c2VyOiByZXEudXNlcixcbiAgICAgIH0pXG5cbiAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICAgIGZpZWxkOiBgJHtwYXRofSR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgIG1lc3NhZ2U6IHZhbGlkYXRpb25SZXN1bHQsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHVzaCBtZXJnZSBsb2NhbGUgYWN0aW9uIGlmIGFwcGxpY2FibGVcbiAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICBtZXJnZUxvY2FsZUFjdGlvbnMucHVzaCgoKSA9PiB7XG4gICAgICAgIGlmIChyZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgY29uc3QgeyBsb2NhbGl6YXRpb24gfSA9IHJlcS5wYXlsb2FkLmNvbmZpZ1xuICAgICAgICAgIGNvbnN0IGxvY2FsZURhdGEgPSBsb2NhbGl6YXRpb24ubG9jYWxlQ29kZXMucmVkdWNlKChsb2NhbGl6ZWRWYWx1ZXMsIGxvY2FsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9XG4gICAgICAgICAgICAgIGxvY2FsZSA9PT0gcmVxLmxvY2FsZVxuICAgICAgICAgICAgICAgID8gc2libGluZ0RhdGFbZmllbGQubmFtZV1cbiAgICAgICAgICAgICAgICA6IHNpYmxpbmdEb2NXaXRoTG9jYWxlcz8uW2ZpZWxkLm5hbWVdPy5bbG9jYWxlXVxuXG4gICAgICAgICAgICAvLyB1cGRhdGUgbG9jYWxlIHZhbHVlIGlmIGl0J3Mgbm90IHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmxvY2FsaXplZFZhbHVlcyxcbiAgICAgICAgICAgICAgICBbbG9jYWxlXTogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbG9jYWxpemVkVmFsdWVzXG4gICAgICAgICAgfSwge30pXG5cbiAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbG9jYWxlcyB3aXRoIGRhdGEsIHNldCB0aGUgZGF0YVxuICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhsb2NhbGVEYXRhKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXSA9IGxvY2FsZURhdGFcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICAvLyBUcmFuc2Zvcm0gcG9pbnQgZGF0YSBmb3Igc3RvcmFnZVxuICAgICAgaWYgKFxuICAgICAgICBBcnJheS5pc0FycmF5KHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdKSAmJlxuICAgICAgICBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXVswXSAhPT0gbnVsbCAmJlxuICAgICAgICBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXVsxXSAhPT0gbnVsbFxuICAgICAgKSB7XG4gICAgICAgIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdID0ge1xuICAgICAgICAgIGNvb3JkaW5hdGVzOiBbXG4gICAgICAgICAgICBwYXJzZUZsb2F0KHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdWzBdKSxcbiAgICAgICAgICAgIHBhcnNlRmxvYXQoc2libGluZ0RhdGFbZmllbGQubmFtZV1bMV0pLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgaWYgKHR5cGVvZiBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdID0ge31cbiAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSB7fVxuICAgICAgaWYgKHR5cGVvZiBzaWJsaW5nRG9jV2l0aExvY2FsZXNbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKVxuICAgICAgICBzaWJsaW5nRG9jV2l0aExvY2FsZXNbZmllbGQubmFtZV0gPSB7fVxuXG4gICAgICBhd2FpdCB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGlkLFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgICAgICBlcnJvcnMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwYXRoOiBgJHtwYXRofSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YTogc2libGluZ0RhdGFbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIHNpYmxpbmdEb2M6IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlczogc2libGluZ0RvY1dpdGhMb2NhbGVzW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICBza2lwVmFsaWRhdGlvbjogc2tpcFZhbGlkYXRpb25Gcm9tSGVyZSxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RhdGFbZmllbGQubmFtZV1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXVxuICAgICAgICByb3dzLmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgICAgICAgICAgICBlcnJvcnMsXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwYXRoOiBgJHtwYXRofSR7ZmllbGQubmFtZX0uJHtpfS5gLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiByb3csXG4gICAgICAgICAgICAgIHNpYmxpbmdEb2M6IGdldEV4aXN0aW5nUm93RG9jKHJvdywgc2libGluZ0RvY1tmaWVsZC5uYW1lXSksXG4gICAgICAgICAgICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlczogZ2V0RXhpc3RpbmdSb3dEb2Mocm93LCBzaWJsaW5nRG9jV2l0aExvY2FsZXNbZmllbGQubmFtZV0pLFxuICAgICAgICAgICAgICBza2lwVmFsaWRhdGlvbjogc2tpcFZhbGlkYXRpb25Gcm9tSGVyZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgfSlcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgICAgIH1cblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RhdGFbZmllbGQubmFtZV1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXVxuICAgICAgICByb3dzLmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJvd1NpYmxpbmdEb2MgPSBnZXRFeGlzdGluZ1Jvd0RvYyhyb3csIHNpYmxpbmdEb2NbZmllbGQubmFtZV0pXG4gICAgICAgICAgY29uc3Qgcm93U2libGluZ0RvY1dpdGhMb2NhbGVzID0gZ2V0RXhpc3RpbmdSb3dEb2Mocm93LCBzaWJsaW5nRG9jV2l0aExvY2FsZXNbZmllbGQubmFtZV0pXG5cbiAgICAgICAgICBjb25zdCBibG9ja1R5cGVUb01hdGNoID0gcm93LmJsb2NrVHlwZSB8fCByb3dTaWJsaW5nRG9jLmJsb2NrVHlwZVxuICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKGJsb2NrVHlwZSkgPT4gYmxvY2tUeXBlLnNsdWcgPT09IGJsb2NrVHlwZVRvTWF0Y2gpXG5cbiAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICAgICAgZG9jV2l0aExvY2FsZXMsXG4gICAgICAgICAgICAgICAgZXJyb3JzLFxuICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICAgICAgICBtZXJnZUxvY2FsZUFjdGlvbnMsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3BhdGh9JHtmaWVsZC5uYW1lfS4ke2l9LmAsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiByb3csXG4gICAgICAgICAgICAgICAgc2libGluZ0RvYzogcm93U2libGluZ0RvYyxcbiAgICAgICAgICAgICAgICBzaWJsaW5nRG9jV2l0aExvY2FsZXM6IHJvd1NpYmxpbmdEb2NXaXRoTG9jYWxlcyxcbiAgICAgICAgICAgICAgICBza2lwVmFsaWRhdGlvbjogc2tpcFZhbGlkYXRpb25Gcm9tSGVyZSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3Jvdyc6XG4gICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICBhd2FpdCB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGlkLFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgICAgICBlcnJvcnMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwYXRoLFxuICAgICAgICByZXEsXG4gICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICBzaWJsaW5nRG9jV2l0aExvY2FsZXMsXG4gICAgICAgIHNraXBWYWxpZGF0aW9uOiBza2lwVmFsaWRhdGlvbkZyb21IZXJlLFxuICAgICAgfSlcblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICd0YWInOiB7XG4gICAgICBsZXQgdGFiUGF0aCA9IHBhdGhcbiAgICAgIGxldCB0YWJTaWJsaW5nRGF0YSA9IHNpYmxpbmdEYXRhXG4gICAgICBsZXQgdGFiU2libGluZ0RvYyA9IHNpYmxpbmdEb2NcbiAgICAgIGxldCB0YWJTaWJsaW5nRG9jV2l0aExvY2FsZXMgPSBzaWJsaW5nRG9jV2l0aExvY2FsZXNcblxuICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgIHRhYlBhdGggPSBgJHtwYXRofSR7ZmllbGQubmFtZX0uYFxuICAgICAgICBpZiAodHlwZW9mIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdICE9PSAnb2JqZWN0Jykgc2libGluZ0RhdGFbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgaWYgKHR5cGVvZiBzaWJsaW5nRG9jV2l0aExvY2FsZXNbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKVxuICAgICAgICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlc1tmaWVsZC5uYW1lXSA9IHt9XG5cbiAgICAgICAgdGFiU2libGluZ0RhdGEgPSBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICB0YWJTaWJsaW5nRG9jID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICB0YWJTaWJsaW5nRG9jV2l0aExvY2FsZXMgPSBzaWJsaW5nRG9jV2l0aExvY2FsZXNbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIH1cblxuICAgICAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBpZCxcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZG9jLFxuICAgICAgICBkb2NXaXRoTG9jYWxlcyxcbiAgICAgICAgZXJyb3JzLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBtZXJnZUxvY2FsZUFjdGlvbnMsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcGF0aDogdGFiUGF0aCxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YTogdGFiU2libGluZ0RhdGEsXG4gICAgICAgIHNpYmxpbmdEb2M6IHRhYlNpYmxpbmdEb2MsXG4gICAgICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlczogdGFiU2libGluZ0RvY1dpdGhMb2NhbGVzLFxuICAgICAgICBza2lwVmFsaWRhdGlvbjogc2tpcFZhbGlkYXRpb25Gcm9tSGVyZSxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFicyc6IHtcbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXMsXG4gICAgICAgIGVycm9ycyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBtZXJnZUxvY2FsZUFjdGlvbnMsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YSxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgc2libGluZ0RvY1dpdGhMb2NhbGVzLFxuICAgICAgICBza2lwVmFsaWRhdGlvbjogc2tpcFZhbGlkYXRpb25Gcm9tSGVyZSxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwcm9taXNlIiwiaWQiLCJjb2xsZWN0aW9uIiwiY29udGV4dCIsImRhdGEiLCJkb2MiLCJkb2NXaXRoTG9jYWxlcyIsImVycm9ycyIsImZpZWxkIiwiZ2xvYmFsIiwibWVyZ2VMb2NhbGVBY3Rpb25zIiwib3BlcmF0aW9uIiwicGF0aCIsInJlcSIsInNpYmxpbmdEYXRhIiwic2libGluZ0RvYyIsInNpYmxpbmdEb2NXaXRoTG9jYWxlcyIsInNraXBWYWxpZGF0aW9uIiwicGFzc2VzQ29uZGl0aW9uIiwiYWRtaW4iLCJjb25kaXRpb24iLCJ1c2VyIiwic2tpcFZhbGlkYXRpb25Gcm9tSGVyZSIsImRlZmF1bHRMb2NhbGUiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwib3BlcmF0aW9uTG9jYWxlIiwibG9jYWxlIiwiZmllbGRBZmZlY3RzRGF0YSIsImxvY2FsaXplZCIsImluY2x1ZGVzIiwidHlwZSIsIm5hbWUiLCJob29rcyIsImJlZm9yZUNoYW5nZSIsInJlZHVjZSIsInByaW9ySG9vayIsImN1cnJlbnRIb29rIiwiaG9va2VkVmFsdWUiLCJvcmlnaW5hbERvYyIsInZhbHVlIiwidW5kZWZpbmVkIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ2YWxpZGF0ZSIsInZhbHVlVG9WYWxpZGF0ZSIsImpzb25FcnJvciIsIkpTT04iLCJwYXJzZSIsImUiLCJ2YWxpZGF0aW9uUmVzdWx0IiwibWVyZ2UiLCJhcnJheU1lcmdlIiwiXyIsInNvdXJjZSIsInQiLCJwdXNoIiwibWVzc2FnZSIsImxvY2FsZURhdGEiLCJsb2NhbGVDb2RlcyIsImxvY2FsaXplZFZhbHVlcyIsImZpZWxkVmFsdWUiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiY29vcmRpbmF0ZXMiLCJwYXJzZUZsb2F0IiwidHJhdmVyc2VGaWVsZHMiLCJmaWVsZHMiLCJyb3dzIiwicHJvbWlzZXMiLCJmb3JFYWNoIiwicm93IiwiaSIsImdldEV4aXN0aW5nUm93RG9jIiwiYWxsIiwicm93U2libGluZ0RvYyIsInJvd1NpYmxpbmdEb2NXaXRoTG9jYWxlcyIsImJsb2NrVHlwZVRvTWF0Y2giLCJibG9ja1R5cGUiLCJibG9jayIsImJsb2NrcyIsImZpbmQiLCJzbHVnIiwidGFiUGF0aCIsInRhYlNpYmxpbmdEYXRhIiwidGFiU2libGluZ0RvYyIsInRhYlNpYmxpbmdEb2NXaXRoTG9jYWxlcyIsInRhYkhhc05hbWUiLCJ0YWJzIiwibWFwIiwidGFiIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBd0N2QkE7OztlQUFBQTs7O2tFQXZDSzt1QkFRMkI7bUNBQ1g7Z0NBQ0g7Ozs7OztBQTZCeEIsTUFBTUEsVUFBVSxPQUFPLEVBQzVCQyxFQUFFLEVBQ0ZDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLEdBQUcsRUFDSEMsY0FBYyxFQUNkQyxNQUFNLEVBQ05DLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxrQkFBa0IsRUFDbEJDLFNBQVMsRUFDVEMsSUFBSSxFQUNKQyxHQUFHLEVBQ0hDLFdBQVcsRUFDWEMsVUFBVSxFQUNWQyxxQkFBcUIsRUFDckJDLGNBQWMsRUFDVDtJQUNMLE1BQU1DLGtCQUFrQlYsTUFBTVcsS0FBSyxFQUFFQyxZQUNqQ1osTUFB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
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL3Byb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCBtZXJnZSBmcm9tICdkZWVwbWVyZ2UnXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgVGFiQXNGaWVsZCB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgdGFiSGFzTmFtZSB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGdldEV4aXN0aW5nUm93RG9jIH0gZnJvbSAnLi9nZXRFeGlzdGluZ1Jvd0RvYydcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRvY1dpdGhMb2NhbGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBlcnJvcnM6IHsgZmllbGQ6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1bXVxuICBmaWVsZDogRmllbGQgfCBUYWJBc0ZpZWxkXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBtZXJnZUxvY2FsZUFjdGlvbnM6ICgoKSA9PiB2b2lkKVtdXG4gIG9wZXJhdGlvbjogT3BlcmF0aW9uXG4gIHBhdGg6IHN0cmluZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNpYmxpbmdEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBzaWJsaW5nRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBzaWJsaW5nRG9jV2l0aExvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBza2lwVmFsaWRhdGlvbjogYm9vbGVhblxufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgZm9sbG93aW5nIGFjdGlvbnMsIGluIG9yZGVyOlxuLy8gLSBSdW4gY29uZGl0aW9uXG4vLyAtIEV4ZWN1dGUgZmllbGQgaG9va3Ncbi8vIC0gVmFsaWRhdGUgZGF0YVxuLy8gLSBUcmFuc2Zvcm0gZGF0YSBmb3Igc3RvcmFnZVxuLy8gLSBVbmZsYXR0ZW4gbG9jYWxlc1xuXG5leHBvcnQgY29uc3QgcHJvbWlzZSA9IGFzeW5jICh7XG4gIGlkLFxuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBkYXRhLFxuICBkb2MsXG4gIGRvY1dpdGhMb2NhbGVzLFxuICBlcnJvcnMsXG4gIGZpZWxkLFxuICBnbG9iYWwsXG4gIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgb3BlcmF0aW9uLFxuICBwYXRoLFxuICByZXEsXG4gIHNpYmxpbmdEYXRhLFxuICBzaWJsaW5nRG9jLFxuICBzaWJsaW5nRG9jV2l0aExvY2FsZXMsXG4gIHNraXBWYWxpZGF0aW9uLFxufTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBwYXNzZXNDb25kaXRpb24gPSBmaWVsZC5hZG1pbj8uY29uZGl0aW9uXG4gICAgPyBmaWVsZC5hZG1pbi5jb25kaXRpb24oZGF0YSwgc2libGluZ0RhdGEsIHsgdXNlcjogcmVxLnVzZXIgfSlcbiAgICA6IHRydWVcbiAgbGV0IHNraXBWYWxpZGF0aW9uRnJvbUhlcmUgPSBza2lwVmFsaWRhdGlvbiB8fCAhcGFzc2VzQ29uZGl0aW9uXG5cbiAgY29uc3QgZGVmYXVsdExvY2FsZSA9IHJlcS5wYXlsb2FkLmNvbmZpZz8ubG9jYWxpemF0aW9uXG4gICAgPyByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uPy5kZWZhdWx0TG9jYWxlXG4gICAgOiAnZW4nXG4gIGNvbnN0IG9wZXJhdGlvbkxvY2FsZSA9IHJlcS5sb2NhbGUgfHwgZGVmYXVsdExvY2FsZVxuXG4gIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgIC8vIHNraXAgdmFsaWRhdGlvbiBpZiB0aGUgZmllbGQgaXMgbG9jYWxpemVkIGFuZCB0aGUgaW5jb21pbmcgZGF0YSBpcyBudWxsXG4gICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBvcGVyYXRpb25Mb2NhbGUgIT09IGRlZmF1bHRMb2NhbGUpIHtcbiAgICAgIGlmIChbJ2FycmF5JywgJ2Jsb2NrcyddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdID09PSBudWxsKSB7XG4gICAgICAgIHNraXBWYWxpZGF0aW9uRnJvbUhlcmUgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhlY3V0ZSBob29rc1xuICAgIGlmIChmaWVsZC5ob29rcz8uYmVmb3JlQ2hhbmdlKSB7XG4gICAgICBhd2FpdCBmaWVsZC5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGN1cnJlbnRIb29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGNvbnN0IGhvb2tlZFZhbHVlID0gYXdhaXQgY3VycmVudEhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgb3JpZ2luYWxEb2M6IGRvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgICAgdmFsdWU6IHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChob29rZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2libGluZ0RhdGFbZmllbGQubmFtZV0gPSBob29rZWRWYWx1ZVxuICAgICAgICB9XG4gICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZVxuICAgIGlmICghc2tpcFZhbGlkYXRpb25Gcm9tSGVyZSAmJiBmaWVsZC52YWxpZGF0ZSkge1xuICAgICAgY29uc3QgdmFsdWVUb1ZhbGlkYXRlID0gc2libGluZ0RhdGFbZmllbGQubmFtZV1cbiAgICAgIGxldCBqc29uRXJyb3JcblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdqc29uJyAmJiB0eXBlb2Ygc2libGluZ0RhdGFbZmllbGQubmFtZV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgSlNPTi5wYXJzZShzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXSBhcyBzdHJpbmcpXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBqc29uRXJyb3IgPSBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IGZpZWxkLnZhbGlkYXRlKHZhbHVlVG9WYWxpZGF0ZSwge1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbmZpZzogcmVxLnBheWxvYWQuY29uZmlnLFxuICAgICAgICBkYXRhOiBtZXJnZShkb2MsIGRhdGEsIHsgYXJyYXlNZXJnZTogKF8sIHNvdXJjZSkgPT4gc291cmNlIH0pLFxuICAgICAgICBqc29uRXJyb3IsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcGF5bG9hZDogcmVxLnBheWxvYWQsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2libGluZ0RhdGE6IG1lcmdlKHNpYmxpbmdEb2MsIHNpYmxpbmdEYXRhLCB7IGFycmF5TWVyZ2U6IChfLCBzb3VyY2UpID0+IHNvdXJjZSB9KSxcbiAgICAgICAgdDogcmVxLnQsXG4gICAgICAgIHVzZXI6IHJlcS51c2VyLFxuICAgICAgfSlcblxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uUmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgZmllbGQ6IGAke3BhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgbWVzc2FnZTogdmFsaWRhdGlvblJlc3VsdCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQdXNoIG1lcmdlIGxvY2FsZSBhY3Rpb24gaWYgYXBwbGljYWJsZVxuICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgIG1lcmdlTG9jYWxlQWN0aW9ucy5wdXNoKCgpID0+IHtcbiAgICAgICAgaWYgKHJlcS5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICBjb25zdCB7IGxvY2FsaXphdGlvbiB9ID0gcmVxLnBheWxvYWQuY29uZmlnXG4gICAgICAgICAgY29uc3QgbG9jYWxlRGF0YSA9IGxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5yZWR1Y2UoKGxvY2FsaXplZFZhbHVlcywgbG9jYWxlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID1cbiAgICAgICAgICAgICAgbG9jYWxlID09PSByZXEubG9jYWxlXG4gICAgICAgICAgICAgICAgPyBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXVxuICAgICAgICAgICAgICAgIDogc2libGluZ0RvY1dpdGhMb2NhbGVzPy5bZmllbGQubmFtZV0/Lltsb2NhbGVdXG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSBsb2NhbGUgdmFsdWUgaWYgaXQncyBub3QgdW5kZWZpbmVkXG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4ubG9jYWxpemVkVmFsdWVzLFxuICAgICAgICAgICAgICAgIFtsb2NhbGVdOiBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBsb2NhbGl6ZWRWYWx1ZXNcbiAgICAgICAgICB9LCB7fSlcblxuICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBsb2NhbGVzIHdpdGggZGF0YSwgc2V0IHRoZSBkYXRhXG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGxvY2FsZURhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdID0gbG9jYWxlRGF0YVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgIC8vIFRyYW5zZm9ybSBwb2ludCBkYXRhIGZvciBzdG9yYWdlXG4gICAgICBpZiAoXG4gICAgICAgIEFycmF5LmlzQXJyYXkoc2libGluZ0RhdGFbZmllbGQubmFtZV0pICYmXG4gICAgICAgIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdWzBdICE9PSBudWxsICYmXG4gICAgICAgIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdWzFdICE9PSBudWxsXG4gICAgICApIHtcbiAgICAgICAgc2libGluZ0RhdGFbZmllbGQubmFtZV0gPSB7XG4gICAgICAgICAgY29vcmRpbmF0ZXM6IFtcbiAgICAgICAgICAgIHBhcnNlRmxvYXQoc2libGluZ0RhdGFbZmllbGQubmFtZV1bMF0pLFxuICAgICAgICAgICAgcGFyc2VGbG9hdChzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXVsxXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0eXBlOiAnUG9pbnQnLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICBpZiAodHlwZW9mIHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdICE9PSAnb2JqZWN0Jykgc2libGluZ0RhdGFbZmllbGQubmFtZV0gPSB7fVxuICAgICAgaWYgKHR5cGVvZiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdICE9PSAnb2JqZWN0Jykgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IHt9XG4gICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NXaXRoTG9jYWxlc1tmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlc1tmaWVsZC5uYW1lXSA9IHt9XG5cbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXMsXG4gICAgICAgIGVycm9ycyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgbWVyZ2VMb2NhbGVBY3Rpb25zLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBhdGg6IGAke3BhdGh9JHtmaWVsZC5uYW1lfS5gLFxuICAgICAgICByZXEsXG4gICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgc2libGluZ0RvYzogc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgc2libGluZ0RvY1dpdGhMb2NhbGVzOiBzaWJsaW5nRG9jV2l0aExvY2FsZXNbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIHNraXBWYWxpZGF0aW9uOiBza2lwVmFsaWRhdGlvbkZyb21IZXJlLFxuICAgICAgfSlcblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgIGNvbnN0IHJvd3MgPSBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgZG9jV2l0aExvY2FsZXMsXG4gICAgICAgICAgICAgIGVycm9ycyxcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICAgICAgbWVyZ2VMb2NhbGVBY3Rpb25zLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHBhdGg6IGAke3BhdGh9JHtmaWVsZC5uYW1lfS4ke2l9LmAsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgc2libGluZ0RhdGE6IHJvdyxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogZ2V0RXhpc3RpbmdSb3dEb2Mocm93LCBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdKSxcbiAgICAgICAgICAgICAgc2libGluZ0RvY1dpdGhMb2NhbGVzOiBnZXRFeGlzdGluZ1Jvd0RvYyhyb3csIHNpYmxpbmdEb2NXaXRoTG9jYWxlc1tmaWVsZC5uYW1lXSksXG4gICAgICAgICAgICAgIHNraXBWYWxpZGF0aW9uOiBza2lwVmFsaWRhdGlvbkZyb21IZXJlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgIGNvbnN0IHJvd3MgPSBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgY29uc3Qgcm93U2libGluZ0RvYyA9IGdldEV4aXN0aW5nUm93RG9jKHJvdywgc2libGluZ0RvY1tmaWVsZC5uYW1lXSlcbiAgICAgICAgICBjb25zdCByb3dTaWJsaW5nRG9jV2l0aExvY2FsZXMgPSBnZXRFeGlzdGluZ1Jvd0RvYyhyb3csIHNpYmxpbmdEb2NXaXRoTG9jYWxlc1tmaWVsZC5uYW1lXSlcblxuICAgICAgICAgIGNvbnN0IGJsb2NrVHlwZVRvTWF0Y2ggPSByb3cuYmxvY2tUeXBlIHx8IHJvd1NpYmxpbmdEb2MuYmxvY2tUeXBlXG4gICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2tUeXBlKSA9PiBibG9ja1R5cGUuc2x1ZyA9PT0gYmxvY2tUeXBlVG9NYXRjaClcblxuICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICBkb2NXaXRoTG9jYWxlcyxcbiAgICAgICAgICAgICAgICBlcnJvcnMsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgICAgIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aH0ke2ZpZWxkLm5hbWV9LiR7aX0uYCxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgc2libGluZ0RhdGE6IHJvdyxcbiAgICAgICAgICAgICAgICBzaWJsaW5nRG9jOiByb3dTaWJsaW5nRG9jLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlczogcm93U2libGluZ0RvY1dpdGhMb2NhbGVzLFxuICAgICAgICAgICAgICAgIHNraXBWYWxpZGF0aW9uOiBza2lwVmFsaWRhdGlvbkZyb21IZXJlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAncm93JzpcbiAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXMsXG4gICAgICAgIGVycm9ycyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgbWVyZ2VMb2NhbGVBY3Rpb25zLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlcyxcbiAgICAgICAgc2tpcFZhbGlkYXRpb246IHNraXBWYWxpZGF0aW9uRnJvbUhlcmUsXG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgIGxldCB0YWJQYXRoID0gcGF0aFxuICAgICAgbGV0IHRhYlNpYmxpbmdEYXRhID0gc2libGluZ0RhdGFcbiAgICAgIGxldCB0YWJTaWJsaW5nRG9jID0gc2libGluZ0RvY1xuICAgICAgbGV0IHRhYlNpYmxpbmdEb2NXaXRoTG9jYWxlcyA9IHNpYmxpbmdEb2NXaXRoTG9jYWxlc1xuXG4gICAgICBpZiAodGFiSGFzTmFtZShmaWVsZCkpIHtcbiAgICAgICAgdGFiUGF0aCA9IGAke3BhdGh9JHtmaWVsZC5uYW1lfS5gXG4gICAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RhdGFbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKSBzaWJsaW5nRGF0YVtmaWVsZC5uYW1lXSA9IHt9XG4gICAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NXaXRoTG9jYWxlc1tmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpXG4gICAgICAgICAgc2libGluZ0RvY1dpdGhMb2NhbGVzW2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICB0YWJTaWJsaW5nRGF0YSA9IHNpYmxpbmdEYXRhW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgIHRhYlNpYmxpbmdEb2MgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgIHRhYlNpYmxpbmdEb2NXaXRoTG9jYWxlcyA9IHNpYmxpbmdEb2NXaXRoTG9jYWxlc1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgfVxuXG4gICAgICBhd2FpdCB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGlkLFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgICAgICBlcnJvcnMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwYXRoOiB0YWJQYXRoLFxuICAgICAgICByZXEsXG4gICAgICAgIHNpYmxpbmdEYXRhOiB0YWJTaWJsaW5nRGF0YSxcbiAgICAgICAgc2libGluZ0RvYzogdGFiU2libGluZ0RvYyxcbiAgICAgICAgc2libGluZ0RvY1dpdGhMb2NhbGVzOiB0YWJTaWJsaW5nRG9jV2l0aExvY2FsZXMsXG4gICAgICAgIHNraXBWYWxpZGF0aW9uOiBza2lwVmFsaWRhdGlvbkZyb21IZXJlLFxuICAgICAgfSlcblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICd0YWJzJzoge1xuICAgICAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBpZCxcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZG9jLFxuICAgICAgICBkb2NXaXRoTG9jYWxlcyxcbiAgICAgICAgZXJyb3JzLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG1lcmdlTG9jYWxlQWN0aW9ucyxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwYXRoLFxuICAgICAgICByZXEsXG4gICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICBzaWJsaW5nRG9jV2l0aExvY2FsZXMsXG4gICAgICAgIHNraXBWYWxpZGF0aW9uOiBza2lwVmFsaWRhdGlvbkZyb21IZXJlLFxuICAgICAgfSlcblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBkZWZhdWx0OiB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbInByb21pc2UiLCJpZCIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiZGF0YSIsImRvYyIsImRvY1dpdGhMb2NhbGVzIiwiZXJyb3JzIiwiZmllbGQiLCJnbG9iYWwiLCJtZXJnZUxvY2FsZUFjdGlvbnMiLCJvcGVyYXRpb24iLCJwYXRoIiwicmVxIiwic2libGluZ0RhdGEiLCJzaWJsaW5nRG9jIiwic2libGluZ0RvY1dpdGhMb2NhbGVzIiwic2tpcFZhbGlkYXRpb24iLCJwYXNzZXNDb25kaXRpb24iLCJhZG1pbiIsImNvbmRpdGlvbiIsInVzZXIiLCJza2lwVmFsaWRhdGlvbkZyb21IZXJlIiwiZGVmYXVsdExvY2FsZSIsInBheWxvYWQiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJvcGVyYXRpb25Mb2NhbGUiLCJsb2NhbGUiLCJmaWVsZEFmZmVjdHNEYXRhIiwibG9jYWxpemVkIiwiaW5jbHVkZXMiLCJ0eXBlIiwibmFtZSIsImhvb2tzIiwiYmVmb3JlQ2hhbmdlIiwicmVkdWNlIiwicHJpb3JIb29rIiwiY3VycmVudEhvb2siLCJob29rZWRWYWx1ZSIsIm9yaWdpbmFsRG9jIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInZhbGlkYXRlIiwidmFsdWVUb1ZhbGlkYXRlIiwianNvbkVycm9yIiwiSlNPTiIsInBhcnNlIiwiZSIsInZhbGlkYXRpb25SZXN1bHQiLCJtZXJnZSIsImFycmF5TWVyZ2UiLCJfIiwic291cmNlIiwidCIsInB1c2giLCJtZXNzYWdlIiwibG9jYWxlRGF0YSIsImxvY2FsZUNvZGVzIiwibG9jYWxpemVkVmFsdWVzIiwiZmllbGRWYWx1ZSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJjb29yZGluYXRlcyIsInBhcnNlRmxvYXQiLCJ0cmF2ZXJzZUZpZWxkcyIsImZpZWxkcyIsInJvd3MiLCJwcm9taXNlcyIsImZvckVhY2giLCJyb3ciLCJpIiwiZ2V0RXhpc3RpbmdSb3dEb2MiLCJhbGwiLCJyb3dTaWJsaW5nRG9jIiwicm93U2libGluZ0RvY1dpdGhMb2NhbGVzIiwiYmxvY2tUeXBlVG9NYXRjaCIsImJsb2NrVHlwZSIsImJsb2NrIiwiYmxvY2tzIiwiZmluZCIsInNsdWciLCJ0YWJQYXRoIiwidGFiU2libGluZ0RhdGEiLCJ0YWJTaWJsaW5nRG9jIiwidGFiU2libGluZ0RvY1dpdGhMb2NhbGVzIiwidGFiSGFzTmFtZSIsInRhYnMiLCJtYXAiLCJ0YWIiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkF3Q3ZCQTs7O2VBQUFBOzs7a0VBdkNLO3VCQVEyQjttQ0FDWDtnQ0FDSDs7Ozs7O0FBNkJ4QixNQUFNQSxVQUFVLE9BQU8sRUFDNUJDLEVBQUUsRUFDRkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsR0FBRyxFQUNIQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLGtCQUFrQixFQUNsQkMsU0FBUyxFQUNUQyxJQUFJLEVBQ0pDLEdBQUcsRUFDSEMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLHFCQUFxQixFQUNyQkMsY0FBYyxFQUNUO0lBQ0wsTUFBTUMsa0JBQWtCVixNQUFNVyxLQUFLLEVB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