@effect-aws/client-iam 1.7.0 → 1.9.3

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 (69) hide show
  1. package/Errors/package.json +6 -0
  2. package/IAMClientInstance/package.json +6 -0
  3. package/IAMService/package.json +6 -0
  4. package/IAMServiceConfig/package.json +6 -0
  5. package/{lib → dist/cjs}/Errors.d.ts +6 -11
  6. package/dist/cjs/Errors.d.ts.map +1 -0
  7. package/dist/cjs/Errors.js +41 -0
  8. package/dist/cjs/Errors.js.map +1 -0
  9. package/dist/cjs/IAMClientInstance.d.ts +24 -0
  10. package/dist/cjs/IAMClientInstance.d.ts.map +1 -0
  11. package/dist/cjs/IAMClientInstance.js +50 -0
  12. package/dist/cjs/IAMClientInstance.js.map +1 -0
  13. package/dist/cjs/IAMService.d.ts +697 -0
  14. package/dist/cjs/IAMService.d.ts.map +1 -0
  15. package/dist/cjs/IAMService.js +223 -0
  16. package/dist/cjs/IAMService.js.map +1 -0
  17. package/dist/cjs/IAMServiceConfig.d.ts +25 -0
  18. package/dist/cjs/IAMServiceConfig.d.ts.map +1 -0
  19. package/dist/cjs/IAMServiceConfig.js +35 -0
  20. package/dist/cjs/IAMServiceConfig.js.map +1 -0
  21. package/dist/cjs/index.d.ts +39 -0
  22. package/dist/cjs/index.d.ts.map +1 -0
  23. package/dist/cjs/index.js +56 -0
  24. package/dist/cjs/index.js.map +1 -0
  25. package/dist/dts/Errors.d.ts +40 -0
  26. package/dist/dts/Errors.d.ts.map +1 -0
  27. package/dist/dts/IAMClientInstance.d.ts +24 -0
  28. package/dist/dts/IAMClientInstance.d.ts.map +1 -0
  29. package/dist/dts/IAMService.d.ts +697 -0
  30. package/dist/dts/IAMService.d.ts.map +1 -0
  31. package/dist/dts/IAMServiceConfig.d.ts +25 -0
  32. package/dist/dts/IAMServiceConfig.d.ts.map +1 -0
  33. package/dist/dts/index.d.ts +39 -0
  34. package/dist/dts/index.d.ts.map +1 -0
  35. package/dist/esm/Errors.js +38 -0
  36. package/dist/esm/Errors.js.map +1 -0
  37. package/dist/esm/IAMClientInstance.js +23 -0
  38. package/dist/esm/IAMClientInstance.js.map +1 -0
  39. package/dist/esm/IAMService.js +196 -0
  40. package/dist/esm/IAMService.js.map +1 -0
  41. package/dist/esm/IAMServiceConfig.js +31 -0
  42. package/dist/esm/IAMServiceConfig.js.map +1 -0
  43. package/dist/esm/index.js +27 -0
  44. package/dist/esm/index.js.map +1 -0
  45. package/dist/esm/package.json +4 -0
  46. package/package.json +60 -43
  47. package/src/Errors.ts +112 -0
  48. package/src/IAMClientInstance.ts +33 -0
  49. package/src/IAMService.ts +2797 -0
  50. package/src/IAMServiceConfig.ts +51 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -73
  53. package/docgen.json +0 -8
  54. package/lib/Errors.js +0 -41
  55. package/lib/IAMClientInstance.d.ts +0 -31
  56. package/lib/IAMClientInstance.js +0 -57
  57. package/lib/IAMClientInstanceConfig.d.ts +0 -23
  58. package/lib/IAMClientInstanceConfig.js +0 -44
  59. package/lib/IAMService.d.ts +0 -885
  60. package/lib/IAMService.js +0 -252
  61. package/lib/esm/Errors.js +0 -38
  62. package/lib/esm/IAMClientInstance.js +0 -30
  63. package/lib/esm/IAMClientInstanceConfig.js +0 -40
  64. package/lib/esm/IAMService.js +0 -248
  65. package/lib/esm/index.js +0 -5
  66. package/lib/index.d.ts +0 -4
  67. package/lib/index.js +0 -21
  68. package/project.json +0 -77
  69. package/vitest.config.ts +0 -3
package/lib/IAMService.js DELETED
@@ -1,252 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DefaultIAMServiceLayer = exports.IAMServiceLayer = exports.BaseIAMServiceLayer = exports.IAM = exports.IAMService = exports.makeIAMService = void 0;
5
- /**
6
- * @since 1.0.0
7
- */
8
- const client_iam_1 = require("@aws-sdk/client-iam");
9
- const effect_1 = require("effect");
10
- const Errors_1 = require("./Errors");
11
- const IAMClientInstance_1 = require("./IAMClientInstance");
12
- const IAMClientInstanceConfig_1 = require("./IAMClientInstanceConfig");
13
- const commands = {
14
- AddClientIDToOpenIDConnectProviderCommand: client_iam_1.AddClientIDToOpenIDConnectProviderCommand,
15
- AddRoleToInstanceProfileCommand: client_iam_1.AddRoleToInstanceProfileCommand,
16
- AddUserToGroupCommand: client_iam_1.AddUserToGroupCommand,
17
- AttachGroupPolicyCommand: client_iam_1.AttachGroupPolicyCommand,
18
- AttachRolePolicyCommand: client_iam_1.AttachRolePolicyCommand,
19
- AttachUserPolicyCommand: client_iam_1.AttachUserPolicyCommand,
20
- ChangePasswordCommand: client_iam_1.ChangePasswordCommand,
21
- CreateAccessKeyCommand: client_iam_1.CreateAccessKeyCommand,
22
- CreateAccountAliasCommand: client_iam_1.CreateAccountAliasCommand,
23
- CreateGroupCommand: client_iam_1.CreateGroupCommand,
24
- CreateInstanceProfileCommand: client_iam_1.CreateInstanceProfileCommand,
25
- CreateLoginProfileCommand: client_iam_1.CreateLoginProfileCommand,
26
- CreateOpenIDConnectProviderCommand: client_iam_1.CreateOpenIDConnectProviderCommand,
27
- CreatePolicyCommand: client_iam_1.CreatePolicyCommand,
28
- CreatePolicyVersionCommand: client_iam_1.CreatePolicyVersionCommand,
29
- CreateRoleCommand: client_iam_1.CreateRoleCommand,
30
- CreateSAMLProviderCommand: client_iam_1.CreateSAMLProviderCommand,
31
- CreateServiceLinkedRoleCommand: client_iam_1.CreateServiceLinkedRoleCommand,
32
- CreateServiceSpecificCredentialCommand: client_iam_1.CreateServiceSpecificCredentialCommand,
33
- CreateUserCommand: client_iam_1.CreateUserCommand,
34
- CreateVirtualMFADeviceCommand: client_iam_1.CreateVirtualMFADeviceCommand,
35
- DeactivateMFADeviceCommand: client_iam_1.DeactivateMFADeviceCommand,
36
- DeleteAccessKeyCommand: client_iam_1.DeleteAccessKeyCommand,
37
- DeleteAccountAliasCommand: client_iam_1.DeleteAccountAliasCommand,
38
- DeleteAccountPasswordPolicyCommand: client_iam_1.DeleteAccountPasswordPolicyCommand,
39
- DeleteGroupCommand: client_iam_1.DeleteGroupCommand,
40
- DeleteGroupPolicyCommand: client_iam_1.DeleteGroupPolicyCommand,
41
- DeleteInstanceProfileCommand: client_iam_1.DeleteInstanceProfileCommand,
42
- DeleteLoginProfileCommand: client_iam_1.DeleteLoginProfileCommand,
43
- DeleteOpenIDConnectProviderCommand: client_iam_1.DeleteOpenIDConnectProviderCommand,
44
- DeletePolicyCommand: client_iam_1.DeletePolicyCommand,
45
- DeletePolicyVersionCommand: client_iam_1.DeletePolicyVersionCommand,
46
- DeleteRoleCommand: client_iam_1.DeleteRoleCommand,
47
- DeleteRolePermissionsBoundaryCommand: client_iam_1.DeleteRolePermissionsBoundaryCommand,
48
- DeleteRolePolicyCommand: client_iam_1.DeleteRolePolicyCommand,
49
- DeleteSAMLProviderCommand: client_iam_1.DeleteSAMLProviderCommand,
50
- DeleteSSHPublicKeyCommand: client_iam_1.DeleteSSHPublicKeyCommand,
51
- DeleteServerCertificateCommand: client_iam_1.DeleteServerCertificateCommand,
52
- DeleteServiceLinkedRoleCommand: client_iam_1.DeleteServiceLinkedRoleCommand,
53
- DeleteServiceSpecificCredentialCommand: client_iam_1.DeleteServiceSpecificCredentialCommand,
54
- DeleteSigningCertificateCommand: client_iam_1.DeleteSigningCertificateCommand,
55
- DeleteUserCommand: client_iam_1.DeleteUserCommand,
56
- DeleteUserPermissionsBoundaryCommand: client_iam_1.DeleteUserPermissionsBoundaryCommand,
57
- DeleteUserPolicyCommand: client_iam_1.DeleteUserPolicyCommand,
58
- DeleteVirtualMFADeviceCommand: client_iam_1.DeleteVirtualMFADeviceCommand,
59
- DetachGroupPolicyCommand: client_iam_1.DetachGroupPolicyCommand,
60
- DetachRolePolicyCommand: client_iam_1.DetachRolePolicyCommand,
61
- DetachUserPolicyCommand: client_iam_1.DetachUserPolicyCommand,
62
- DisableOrganizationsRootCredentialsManagementCommand: client_iam_1.DisableOrganizationsRootCredentialsManagementCommand,
63
- DisableOrganizationsRootSessionsCommand: client_iam_1.DisableOrganizationsRootSessionsCommand,
64
- EnableMFADeviceCommand: client_iam_1.EnableMFADeviceCommand,
65
- EnableOrganizationsRootCredentialsManagementCommand: client_iam_1.EnableOrganizationsRootCredentialsManagementCommand,
66
- EnableOrganizationsRootSessionsCommand: client_iam_1.EnableOrganizationsRootSessionsCommand,
67
- GenerateCredentialReportCommand: client_iam_1.GenerateCredentialReportCommand,
68
- GenerateOrganizationsAccessReportCommand: client_iam_1.GenerateOrganizationsAccessReportCommand,
69
- GenerateServiceLastAccessedDetailsCommand: client_iam_1.GenerateServiceLastAccessedDetailsCommand,
70
- GetAccessKeyLastUsedCommand: client_iam_1.GetAccessKeyLastUsedCommand,
71
- GetAccountAuthorizationDetailsCommand: client_iam_1.GetAccountAuthorizationDetailsCommand,
72
- GetAccountPasswordPolicyCommand: client_iam_1.GetAccountPasswordPolicyCommand,
73
- GetAccountSummaryCommand: client_iam_1.GetAccountSummaryCommand,
74
- GetContextKeysForCustomPolicyCommand: client_iam_1.GetContextKeysForCustomPolicyCommand,
75
- GetContextKeysForPrincipalPolicyCommand: client_iam_1.GetContextKeysForPrincipalPolicyCommand,
76
- GetCredentialReportCommand: client_iam_1.GetCredentialReportCommand,
77
- GetGroupCommand: client_iam_1.GetGroupCommand,
78
- GetGroupPolicyCommand: client_iam_1.GetGroupPolicyCommand,
79
- GetInstanceProfileCommand: client_iam_1.GetInstanceProfileCommand,
80
- GetLoginProfileCommand: client_iam_1.GetLoginProfileCommand,
81
- GetMFADeviceCommand: client_iam_1.GetMFADeviceCommand,
82
- GetOpenIDConnectProviderCommand: client_iam_1.GetOpenIDConnectProviderCommand,
83
- GetOrganizationsAccessReportCommand: client_iam_1.GetOrganizationsAccessReportCommand,
84
- GetPolicyCommand: client_iam_1.GetPolicyCommand,
85
- GetPolicyVersionCommand: client_iam_1.GetPolicyVersionCommand,
86
- GetRoleCommand: client_iam_1.GetRoleCommand,
87
- GetRolePolicyCommand: client_iam_1.GetRolePolicyCommand,
88
- GetSAMLProviderCommand: client_iam_1.GetSAMLProviderCommand,
89
- GetSSHPublicKeyCommand: client_iam_1.GetSSHPublicKeyCommand,
90
- GetServerCertificateCommand: client_iam_1.GetServerCertificateCommand,
91
- GetServiceLastAccessedDetailsCommand: client_iam_1.GetServiceLastAccessedDetailsCommand,
92
- GetServiceLastAccessedDetailsWithEntitiesCommand: client_iam_1.GetServiceLastAccessedDetailsWithEntitiesCommand,
93
- GetServiceLinkedRoleDeletionStatusCommand: client_iam_1.GetServiceLinkedRoleDeletionStatusCommand,
94
- GetUserCommand: client_iam_1.GetUserCommand,
95
- GetUserPolicyCommand: client_iam_1.GetUserPolicyCommand,
96
- ListAccessKeysCommand: client_iam_1.ListAccessKeysCommand,
97
- ListAccountAliasesCommand: client_iam_1.ListAccountAliasesCommand,
98
- ListAttachedGroupPoliciesCommand: client_iam_1.ListAttachedGroupPoliciesCommand,
99
- ListAttachedRolePoliciesCommand: client_iam_1.ListAttachedRolePoliciesCommand,
100
- ListAttachedUserPoliciesCommand: client_iam_1.ListAttachedUserPoliciesCommand,
101
- ListEntitiesForPolicyCommand: client_iam_1.ListEntitiesForPolicyCommand,
102
- ListGroupPoliciesCommand: client_iam_1.ListGroupPoliciesCommand,
103
- ListGroupsCommand: client_iam_1.ListGroupsCommand,
104
- ListGroupsForUserCommand: client_iam_1.ListGroupsForUserCommand,
105
- ListInstanceProfileTagsCommand: client_iam_1.ListInstanceProfileTagsCommand,
106
- ListInstanceProfilesCommand: client_iam_1.ListInstanceProfilesCommand,
107
- ListInstanceProfilesForRoleCommand: client_iam_1.ListInstanceProfilesForRoleCommand,
108
- ListMFADeviceTagsCommand: client_iam_1.ListMFADeviceTagsCommand,
109
- ListMFADevicesCommand: client_iam_1.ListMFADevicesCommand,
110
- ListOpenIDConnectProviderTagsCommand: client_iam_1.ListOpenIDConnectProviderTagsCommand,
111
- ListOpenIDConnectProvidersCommand: client_iam_1.ListOpenIDConnectProvidersCommand,
112
- ListOrganizationsFeaturesCommand: client_iam_1.ListOrganizationsFeaturesCommand,
113
- ListPoliciesCommand: client_iam_1.ListPoliciesCommand,
114
- ListPoliciesGrantingServiceAccessCommand: client_iam_1.ListPoliciesGrantingServiceAccessCommand,
115
- ListPolicyTagsCommand: client_iam_1.ListPolicyTagsCommand,
116
- ListPolicyVersionsCommand: client_iam_1.ListPolicyVersionsCommand,
117
- ListRolePoliciesCommand: client_iam_1.ListRolePoliciesCommand,
118
- ListRoleTagsCommand: client_iam_1.ListRoleTagsCommand,
119
- ListRolesCommand: client_iam_1.ListRolesCommand,
120
- ListSAMLProviderTagsCommand: client_iam_1.ListSAMLProviderTagsCommand,
121
- ListSAMLProvidersCommand: client_iam_1.ListSAMLProvidersCommand,
122
- ListSSHPublicKeysCommand: client_iam_1.ListSSHPublicKeysCommand,
123
- ListServerCertificateTagsCommand: client_iam_1.ListServerCertificateTagsCommand,
124
- ListServerCertificatesCommand: client_iam_1.ListServerCertificatesCommand,
125
- ListServiceSpecificCredentialsCommand: client_iam_1.ListServiceSpecificCredentialsCommand,
126
- ListSigningCertificatesCommand: client_iam_1.ListSigningCertificatesCommand,
127
- ListUserPoliciesCommand: client_iam_1.ListUserPoliciesCommand,
128
- ListUserTagsCommand: client_iam_1.ListUserTagsCommand,
129
- ListUsersCommand: client_iam_1.ListUsersCommand,
130
- ListVirtualMFADevicesCommand: client_iam_1.ListVirtualMFADevicesCommand,
131
- PutGroupPolicyCommand: client_iam_1.PutGroupPolicyCommand,
132
- PutRolePermissionsBoundaryCommand: client_iam_1.PutRolePermissionsBoundaryCommand,
133
- PutRolePolicyCommand: client_iam_1.PutRolePolicyCommand,
134
- PutUserPermissionsBoundaryCommand: client_iam_1.PutUserPermissionsBoundaryCommand,
135
- PutUserPolicyCommand: client_iam_1.PutUserPolicyCommand,
136
- RemoveClientIDFromOpenIDConnectProviderCommand: client_iam_1.RemoveClientIDFromOpenIDConnectProviderCommand,
137
- RemoveRoleFromInstanceProfileCommand: client_iam_1.RemoveRoleFromInstanceProfileCommand,
138
- RemoveUserFromGroupCommand: client_iam_1.RemoveUserFromGroupCommand,
139
- ResetServiceSpecificCredentialCommand: client_iam_1.ResetServiceSpecificCredentialCommand,
140
- ResyncMFADeviceCommand: client_iam_1.ResyncMFADeviceCommand,
141
- SetDefaultPolicyVersionCommand: client_iam_1.SetDefaultPolicyVersionCommand,
142
- SetSecurityTokenServicePreferencesCommand: client_iam_1.SetSecurityTokenServicePreferencesCommand,
143
- SimulateCustomPolicyCommand: client_iam_1.SimulateCustomPolicyCommand,
144
- SimulatePrincipalPolicyCommand: client_iam_1.SimulatePrincipalPolicyCommand,
145
- TagInstanceProfileCommand: client_iam_1.TagInstanceProfileCommand,
146
- TagMFADeviceCommand: client_iam_1.TagMFADeviceCommand,
147
- TagOpenIDConnectProviderCommand: client_iam_1.TagOpenIDConnectProviderCommand,
148
- TagPolicyCommand: client_iam_1.TagPolicyCommand,
149
- TagRoleCommand: client_iam_1.TagRoleCommand,
150
- TagSAMLProviderCommand: client_iam_1.TagSAMLProviderCommand,
151
- TagServerCertificateCommand: client_iam_1.TagServerCertificateCommand,
152
- TagUserCommand: client_iam_1.TagUserCommand,
153
- UntagInstanceProfileCommand: client_iam_1.UntagInstanceProfileCommand,
154
- UntagMFADeviceCommand: client_iam_1.UntagMFADeviceCommand,
155
- UntagOpenIDConnectProviderCommand: client_iam_1.UntagOpenIDConnectProviderCommand,
156
- UntagPolicyCommand: client_iam_1.UntagPolicyCommand,
157
- UntagRoleCommand: client_iam_1.UntagRoleCommand,
158
- UntagSAMLProviderCommand: client_iam_1.UntagSAMLProviderCommand,
159
- UntagServerCertificateCommand: client_iam_1.UntagServerCertificateCommand,
160
- UntagUserCommand: client_iam_1.UntagUserCommand,
161
- UpdateAccessKeyCommand: client_iam_1.UpdateAccessKeyCommand,
162
- UpdateAccountPasswordPolicyCommand: client_iam_1.UpdateAccountPasswordPolicyCommand,
163
- UpdateAssumeRolePolicyCommand: client_iam_1.UpdateAssumeRolePolicyCommand,
164
- UpdateGroupCommand: client_iam_1.UpdateGroupCommand,
165
- UpdateLoginProfileCommand: client_iam_1.UpdateLoginProfileCommand,
166
- UpdateOpenIDConnectProviderThumbprintCommand: client_iam_1.UpdateOpenIDConnectProviderThumbprintCommand,
167
- UpdateRoleCommand: client_iam_1.UpdateRoleCommand,
168
- UpdateRoleDescriptionCommand: client_iam_1.UpdateRoleDescriptionCommand,
169
- UpdateSAMLProviderCommand: client_iam_1.UpdateSAMLProviderCommand,
170
- UpdateSSHPublicKeyCommand: client_iam_1.UpdateSSHPublicKeyCommand,
171
- UpdateServerCertificateCommand: client_iam_1.UpdateServerCertificateCommand,
172
- UpdateServiceSpecificCredentialCommand: client_iam_1.UpdateServiceSpecificCredentialCommand,
173
- UpdateSigningCertificateCommand: client_iam_1.UpdateSigningCertificateCommand,
174
- UpdateUserCommand: client_iam_1.UpdateUserCommand,
175
- UploadSSHPublicKeyCommand: client_iam_1.UploadSSHPublicKeyCommand,
176
- UploadServerCertificateCommand: client_iam_1.UploadServerCertificateCommand,
177
- UploadSigningCertificateCommand: client_iam_1.UploadSigningCertificateCommand,
178
- };
179
- /**
180
- * @since 1.0.0
181
- * @category constructors
182
- */
183
- exports.makeIAMService = effect_1.Effect.gen(function* (_) {
184
- const client = yield* _(IAMClientInstance_1.IAMClientInstance);
185
- return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
186
- const CommandCtor = commands[command];
187
- const methodImpl = (args, options) => effect_1.Effect.tryPromise({
188
- try: (abortSignal) => client.send(new CommandCtor(args), {
189
- ...(options !== null && options !== void 0 ? options : {}),
190
- abortSignal,
191
- }),
192
- catch: (e) => {
193
- if (e instanceof client_iam_1.IAMServiceException &&
194
- Errors_1.AllServiceErrors.includes(e.name)) {
195
- const ServiceException = effect_1.Data.tagged(e.name);
196
- return ServiceException({
197
- ...e,
198
- message: e.message,
199
- stack: e.stack,
200
- });
201
- }
202
- if (e instanceof Error) {
203
- return (0, Errors_1.SdkError)({
204
- ...e,
205
- name: "SdkError",
206
- message: e.message,
207
- stack: e.stack,
208
- });
209
- }
210
- throw e;
211
- },
212
- });
213
- const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
214
- return { ...acc, [methodName]: methodImpl };
215
- }, {});
216
- });
217
- /**
218
- * @since 1.0.0
219
- * @category models
220
- */
221
- class IAMService extends effect_1.Effect.Tag("@effect-aws/client-iam/IAMService")() {
222
- }
223
- exports.IAMService = IAMService;
224
- _a = IAMService;
225
- IAMService.defaultLayer = effect_1.Layer.effect(_a, exports.makeIAMService).pipe(effect_1.Layer.provide(IAMClientInstance_1.IAMClientInstanceLayer), effect_1.Layer.provide(IAMClientInstanceConfig_1.DefaultIAMClientConfigLayer));
226
- IAMService.layer = (config) => effect_1.Layer.effect(_a, exports.makeIAMService).pipe(effect_1.Layer.provide(IAMClientInstance_1.IAMClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(IAMClientInstanceConfig_1.IAMClientInstanceConfig, IAMClientInstanceConfig_1.makeDefaultIAMClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
227
- IAMService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeIAMService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(IAMClientInstance_1.IAMClientInstance, effect_1.Effect.map(IAMClientInstanceConfig_1.makeDefaultIAMClientInstanceConfig, evaluate))));
228
- /**
229
- * @since 1.0.0
230
- * @category models
231
- * @alias IAMService
232
- */
233
- exports.IAM = IAMService;
234
- /**
235
- * @since 1.0.0
236
- * @category layers
237
- * @deprecated use IAM.baseLayer instead
238
- */
239
- exports.BaseIAMServiceLayer = effect_1.Layer.effect(IAMService, exports.makeIAMService);
240
- /**
241
- * @since 1.0.0
242
- * @category layers
243
- * @deprecated use IAM.layer instead
244
- */
245
- exports.IAMServiceLayer = exports.BaseIAMServiceLayer.pipe(effect_1.Layer.provide(IAMClientInstance_1.IAMClientInstanceLayer));
246
- /**
247
- * @since 1.0.0
248
- * @category layers
249
- * @deprecated use IAM.defaultLayer instead
250
- */
251
- exports.DefaultIAMServiceLayer = IAMService.defaultLayer;
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFNU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9JQU1TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7R0FFRztBQUNILG9EQWdmNkI7QUFDN0IsbUNBQXFEO0FBQ3JELHFDQXFDa0I7QUFDbEIsMkRBQWdGO0FBQ2hGLHVFQUltQztBQWFuQyxNQUFNLFFBQVEsR0FBRztJQUNmLHlDQUF5QyxFQUF6QyxzREFBeUM7SUFDekMsK0JBQStCLEVBQS9CLDRDQUErQjtJQUMvQixxQkFBcUIsRUFBckIsa0NBQXFCO0lBQ3JCLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2Qix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsNEJBQTRCLEVBQTVCLHlDQUE0QjtJQUM1Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtDQUFrQyxFQUFsQywrQ0FBa0M7SUFDbEMsbUJBQW1CLEVBQW5CLGdDQUFtQjtJQUNuQiwwQkFBMEIsRUFBMUIsdUNBQTBCO0lBQzFCLGlCQUFpQixFQUFqQiw4QkFBaUI7SUFDakIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qiw4QkFBOEIsRUFBOUIsMkNBQThCO0lBQzlCLHNDQUFzQyxFQUF0QyxtREFBc0M7SUFDdEMsaUJBQWlCLEVBQWpCLDhCQUFpQjtJQUNqQiw2QkFBNkIsRUFBN0IsMENBQTZCO0lBQzdCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtDQUFrQyxFQUFsQywrQ0FBa0M7SUFDbEMsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQix3QkFBd0Is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QUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQ2pFLENBQ0YsQ0FDRixDQUNGLEFBWGtCLENBV2pCO0FBQ1ksb0JBQVMsR0FBRyxDQUMxQixRQUF1RCxFQUN2RCxFQUFFLENBQ0YsY0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFJLEVBQUUsc0JBQWMsQ0FBQyxDQUFDLElBQUksQ0FDckMsY0FBSyxDQUFDLE9BQU8sQ0FDWCxjQUFLLENBQUMsTUFBTSxDQUNWLHFDQUFpQixFQUNqQixlQUFNLENBQUMsR0FBRyxDQUFDLDREQUFrQyxFQUFFLFFBQVEsQ0FBQyxDQUN6RCxDQUNGLENBQ0YsQUFWc0IsQ0FVckI7QUFHTjs7OztHQUlHO0FBQ1UsUUFBQSxHQUFHLEdBQUcsVUFBVSxDQUFDO0FBRTlCOzs7O0dBSUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLHNCQUFjLENBQUMsQ0FBQztBQUU1RTs7OztHQUlHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsMkJBQW1CLENBQUMsSUFBSSxDQUNyRCxjQUFLLENBQUMsT0FBTyxDQUFDLDBDQUFzQixDQUFDLENBQ3RDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgSUFNU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBJQU1DbGllbnQsXG4gIHR5cGUgSUFNQ2xpZW50Q29uZmlnLFxuICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgdHlwZSBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBBZGRSb2xlVG9JbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRSb2xlVG9JbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBBZGRVc2VyVG9Hcm91cENvbW1hbmQsXG4gIHR5cGUgQWRkVXNlclRvR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkVXNlclRvR3JvdXBDb21tYW5kT3V0cHV0LFxuICBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQXR0YWNoR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXR0YWNoR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBBdHRhY2hSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBBdHRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEF0dGFjaFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDaGFuZ2VQYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgQ2hhbmdlUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2hhbmdlUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBY2Nlc3NLZXlDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVSb2xlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVJvbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlYWN0aXZhdGVNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2Nlc3NLZXlDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2NvdW50QWxpYXNDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2NvdW50QWxpYXNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUxvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVSb2xlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJvbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBEZXRhY2hHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGV0YWNoR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGV0YWNoR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZXRhY2hSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZXRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERldGFjaFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZXRhY2hVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZXRhY2hVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERldGFjaFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kLFxuICB0eXBlIERpc2FibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kT3V0cHV0LFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kT3V0cHV0LFxuICBFbmFibGVNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIEVuYWJsZU1GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBFbmFibGVNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBFbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmQsXG4gIHR5cGUgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kT3V0cHV0LFxuICBFbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zQ29tbWFuZCxcbiAgdHlwZSBFbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zQ29tbWFuZElucHV0LFxuICB0eXBlIEVuYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kLFxuICB0eXBlIEdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kLFxuICB0eXBlIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZCxcbiAgdHlwZSBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZElucHV0LFxuICB0eXBlIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kT3V0cHV0LFxuICBHZXRBY2Nlc3NLZXlMYXN0VXNlZENvbW1hbmQsXG4gIHR5cGUgR2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHNDb21tYW5kLFxuICB0eXBlIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHNDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldEFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50U3VtbWFyeUNvbW1hbmQsXG4gIHR5cGUgR2V0QWNjb3VudFN1bW1hcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjb3VudFN1bW1hcnlDb21tYW5kT3V0cHV0LFxuICBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JDdXN0b21Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JDdXN0b21Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRDb250ZXh0S2V5c0ZvclByaW5jaXBhbFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZCxcbiAgdHlwZSBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgR2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBHZXRHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0R3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBHZXRMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIEdldExvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBHZXRNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIEdldE1GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBHZXRPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBHZXRPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZCxcbiAgdHlwZSBHZXRPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZXRQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBHZXRSb2xlQ29tbWFuZCxcbiAgdHlwZSBHZXRSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFJvbGVDb21tYW5kT3V0cHV0LFxuICBHZXRSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIEdldFNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBHZXRTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIEdldFNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRVc2VyQ29tbWFuZCxcbiAgdHlwZSBHZXRVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJDb21tYW5kT3V0cHV0LFxuICBHZXRVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBMaXN0QWNjZXNzS2V5c0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFjY2Vzc0tleXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFjY2Vzc0tleXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kLFxuICB0eXBlIExpc3RBY2NvdW50QWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXR0YWNoZWRHcm91cFBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QXR0YWNoZWRHcm91cFBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBdHRhY2hlZFJvbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBdHRhY2hlZFVzZXJQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kLFxuICB0eXBlIExpc3RFbnRpdGllc0ZvclBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBMaXN0R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RHcm91cHNDb21tYW5kT3V0cHV0LFxuICBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmQsXG4gIHR5cGUgTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VQcm9maWxlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGVDb21tYW5kLFxuICB0eXBlIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGVDb21tYW5kT3V0cHV0LFxuICBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE1GQURldmljZVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE1GQURldmljZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0TUZBRGV2aWNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE1GQURldmljZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE1GQURldmljZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0T3JnYW5pemF0aW9uc0ZlYXR1cmVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0T3JnYW5pemF0aW9uc0ZlYXR1cmVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RPcmdhbml6YXRpb25zRmVhdHVyZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3NDb21tYW5kLFxuICB0eXBlIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWN5VGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBvbGljeVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFBvbGljeVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWN5VmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UG9saWN5VmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0Um9sZVBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0Um9sZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0Um9sZVRhZ3NDb21tYW5kLFxuICB0eXBlIExpc3RSb2xlVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0Um9sZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0Um9sZXNDb21tYW5kLFxuICB0eXBlIExpc3RSb2xlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0Um9sZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U0FNTFByb3ZpZGVyVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbHNDb21tYW5kLFxuICB0eXBlIExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VXNlclBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VXNlclBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VXNlclRhZ3NDb21tYW5kLFxuICB0eXBlIExpc3RVc2VyVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlclRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0VXNlcnNDb21tYW5kLFxuICB0eXBlIExpc3RVc2Vyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VmlydHVhbE1GQURldmljZXNDb21tYW5kLFxuICB0eXBlIExpc3RWaXJ0dWFsTUZBRGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VmlydHVhbE1GQURldmljZXNDb21tYW5kT3V0cHV0LFxuICBQdXRHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0R3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBQdXRSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBQdXRVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICB0eXBlIFJlc2V0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBSZXN5bmNNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIFJlc3luY01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN5bmNNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgU2V0RGVmYXVsdFBvbGljeVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0RGVmYXVsdFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBTZXRTZWN1cml0eVRva2VuU2VydmljZVByZWZlcmVuY2VzQ29tbWFuZCxcbiAgdHlwZSBTZXRTZWN1cml0eVRva2VuU2VydmljZVByZWZlcmVuY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kT3V0cHV0LFxuICBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgU2ltdWxhdGVDdXN0b21Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2ltdWxhdGVDdXN0b21Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBTaW11bGF0ZVByaW5jaXBhbFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBUYWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBUYWdNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIFRhZ01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBUYWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBUYWdQb2xpY3lDb21tYW5kLFxuICB0eXBlIFRhZ1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBUYWdSb2xlQ29tbWFuZCxcbiAgdHlwZSBUYWdSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICBUYWdTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFRhZ1NBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBUYWdVc2VyQ29tbWFuZCxcbiAgdHlwZSBUYWdVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1VzZXJDb21tYW5kT3V0cHV0LFxuICBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ01GQURldmljZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1BvbGljeUNvbW1hbmQsXG4gIHR5cGUgVW50YWdQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1JvbGVDb21tYW5kLFxuICB0eXBlIFVudGFnUm9sZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1VzZXJDb21tYW5kLFxuICB0eXBlIFVudGFnVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1VzZXJDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2Nlc3NLZXlDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBc3N1bWVSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVBc3N1bWVSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVHcm91cENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVSb2xlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVJvbGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGxvYWRTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIFVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWlhbVwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWNjb3VudE5vdE1hbmFnZW1lbnRPckRlbGVnYXRlZEFkbWluaXN0cmF0b3JFcnJvcixcbiAgQ2FsbGVySXNOb3RNYW5hZ2VtZW50QWNjb3VudEVycm9yLFxuICBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnROb3RQcmVzZW50RXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnROb3RSZWFkeUVycm9yLFxuICBEZWxldGVDb25mbGljdEVycm9yLFxuICBEdXBsaWNhdGVDZXJ0aWZpY2F0ZUVycm9yLFxuICBEdXBsaWNhdGVTU0hQdWJsaWNLZXlFcnJvcixcbiAgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yLFxuICBFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUVycm9yLFxuICBJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXJyb3IsXG4gIEludmFsaWRDZXJ0aWZpY2F0ZUVycm9yLFxuICBJbnZhbGlkSW5wdXRFcnJvcixcbiAgSW52YWxpZFB1YmxpY0tleUVycm9yLFxuICBJbnZhbGlkVXNlclR5cGVFcnJvcixcbiAgS2V5UGFpck1pc21hdGNoRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgTWFsZm9ybWVkQ2VydGlmaWNhdGVFcnJvcixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvcixcbiAgTm9TdWNoRW50aXR5RXJyb3IsXG4gIE9wZW5JZElkcENvbW11bmljYXRpb25FcnJvcixcbiAgT3JnYW5pemF0aW9uTm90Rm91bmRFcnJvcixcbiAgT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFcnJvcixcbiAgUGFzc3dvcmRQb2xpY3lWaW9sYXRpb25FcnJvcixcbiAgUG9saWN5RXZhbHVhdGlvbkVycm9yLFxuICBQb2xpY3lOb3RBdHRhY2hhYmxlRXJyb3IsXG4gIFJlcG9ydEdlbmVyYXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3IsXG4gIFNlcnZpY2VGYWlsdXJlRXJyb3IsXG4gIFNlcnZpY2VOb3RTdXBwb3J0ZWRFcnJvcixcbiAgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3IsXG4gIFVucmVjb2duaXplZFB1YmxpY0tleUVuY29kaW5nRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgSUFNQ2xpZW50SW5zdGFuY2UsIElBTUNsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9JQU1DbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdElBTUNsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdElBTUNsaWVudEluc3RhbmNlQ29uZmlnLFxuICBJQU1DbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vSUFNQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgQWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgQWRkVXNlclRvR3JvdXBDb21tYW5kLFxuICBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmQsXG4gIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kLFxuICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZCxcbiAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kLFxuICBDcmVhdGVBY2Nlc3NLZXlDb21tYW5kLFxuICBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kLFxuICBDcmVhdGVHcm91cENvbW1hbmQsXG4gIENyZWF0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIENyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIENyZWF0ZVBvbGljeUNvbW1hbmQsXG4gIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICBDcmVhdGVSb2xlQ29tbWFuZCxcbiAgQ3JlYXRlU0FNTFByb3ZpZGVyQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kLFxuICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kLFxuICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZCxcbiAgRGVsZXRlQWNjZXNzS2V5Q29tbWFuZCxcbiAgRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlR3JvdXBDb21tYW5kLFxuICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIERlbGV0ZVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICBEZWxldGVSb2xlQ29tbWFuZCxcbiAgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kLFxuICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlU0FNTFByb3ZpZGVyQ29tbWFuZCxcbiAgRGVsZXRlU1NIUHVibGljS2V5Q29tbWFuZCxcbiAgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kLFxuICBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmQsXG4gIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kLFxuICBEZWxldGVVc2VyUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlVmlydHVhbE1GQURldmljZUNvbW1hbmQsXG4gIERldGFjaEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgRGV0YWNoUm9sZVBvbGljeUNvbW1hbmQsXG4gIERldGFjaFVzZXJQb2xpY3lDb21tYW5kLFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kLFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmQsXG4gIEVuYWJsZU1GQURldmljZUNvbW1hbmQsXG4gIEVuYWJsZU9yZ2FuaXphdGlvbnNSb290Q3JlZGVudGlhbHNNYW5hZ2VtZW50Q29tbWFuZCxcbiAgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmQsXG4gIEdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydENvbW1hbmQsXG4gIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmQsXG4gIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kLFxuICBHZXRBY2Nlc3NLZXlMYXN0VXNlZENvbW1hbmQsXG4gIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmQsXG4gIEdldEFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmQsXG4gIEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZCxcbiAgR2V0Q29udGV4dEtleXNGb3JDdXN0b21Qb2xpY3lDb21tYW5kLFxuICBHZXRDb250ZXh0S2V5c0ZvclByaW5jaXBhbFBvbGljeUNvbW1hbmQsXG4gIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kLFxuICBHZXRHcm91cENvbW1hbmQsXG4gIEdldEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgR2V0TG9naW5Qcm9maWxlQ29tbWFuZCxcbiAgR2V0TUZBRGV2aWNlQ29tbWFuZCxcbiAgR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgR2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmQsXG4gIEdldFBvbGljeUNvbW1hbmQsXG4gIEdldFBvbGljeVZlcnNpb25Db21tYW5kLFxuICBHZXRSb2xlQ29tbWFuZCxcbiAgR2V0Um9sZVBvbGljeUNvbW1hbmQsXG4gIEdldFNBTUxQcm92aWRlckNvbW1hbmQsXG4gIEdldFNTSFB1YmxpY0tleUNvbW1hbmQsXG4gIEdldFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kLFxuICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmQsXG4gIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kLFxuICBHZXRVc2VyQ29tbWFuZCxcbiAgR2V0VXNlclBvbGljeUNvbW1hbmQsXG4gIExpc3RBY2Nlc3NLZXlzQ29tbWFuZCxcbiAgTGlzdEFjY291bnRBbGlhc2VzQ29tbWFuZCxcbiAgTGlzdEF0dGFjaGVkR3JvdXBQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RBdHRhY2hlZFJvbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RBdHRhY2hlZFVzZXJQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RFbnRpdGllc0ZvclBvbGljeUNvbW1hbmQsXG4gIExpc3RHcm91cFBvbGljaWVzQ29tbWFuZCxcbiAgTGlzdEdyb3Vwc0NvbW1hbmQsXG4gIExpc3RHcm91cHNGb3JVc2VyQ29tbWFuZCxcbiAgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kLFxuICBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmQsXG4gIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmQsXG4gIExpc3RNRkFEZXZpY2VUYWdzQ29tbWFuZCxcbiAgTGlzdE1GQURldmljZXNDb21tYW5kLFxuICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyVGFnc0NvbW1hbmQsXG4gIExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJzQ29tbWFuZCxcbiAgTGlzdE9yZ2FuaXphdGlvbnNGZWF0dXJlc0NvbW1hbmQsXG4gIExpc3RQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmQsXG4gIExpc3RQb2xpY3lUYWdzQ29tbWFuZCxcbiAgTGlzdFBvbGljeVZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFJvbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RSb2xlVGFnc0NvbW1hbmQsXG4gIExpc3RSb2xlc0NvbW1hbmQsXG4gIExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZCxcbiAgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kLFxuICBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmQsXG4gIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kLFxuICBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgTGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzQ29tbWFuZCxcbiAgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICBMaXN0VXNlclBvbGljaWVzQ29tbWFuZCxcbiAgTGlzdFVzZXJUYWdzQ29tbWFuZCxcbiAgTGlzdFVzZXJzQ29tbWFuZCxcbiAgTGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZCxcbiAgUHV0R3JvdXBQb2xpY3lDb21tYW5kLFxuICBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIFB1dFJvbGVQb2xpY3lDb21tYW5kLFxuICBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIFB1dFVzZXJQb2xpY3lDb21tYW5kLFxuICBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kLFxuICBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBSZXN5bmNNRkFEZXZpY2VDb21tYW5kLFxuICBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmQsXG4gIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kLFxuICBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmQsXG4gIFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZCxcbiAgVGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgVGFnTUZBRGV2aWNlQ29tbWFuZCxcbiAgVGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgVGFnUG9saWN5Q29tbWFuZCxcbiAgVGFnUm9sZUNvbW1hbmQsXG4gIFRhZ1NBTUxQcm92aWRlckNvbW1hbmQsXG4gIFRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgVGFnVXNlckNvbW1hbmQsXG4gIFVudGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgVW50YWdNRkFEZXZpY2VDb21tYW5kLFxuICBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIFVudGFnUG9saWN5Q29tbWFuZCxcbiAgVW50YWdSb2xlQ29tbWFuZCxcbiAgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kLFxuICBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgVW50YWdVc2VyQ29tbWFuZCxcbiAgVXBkYXRlQWNjZXNzS2V5Q29tbWFuZCxcbiAgVXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlQXNzdW1lUm9sZVBvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZUdyb3VwQ29tbWFuZCxcbiAgVXBkYXRlTG9naW5Qcm9maWxlQ29tbWFuZCxcbiAgVXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludENvbW1hbmQsXG4gIFVwZGF0ZVJvbGVDb21tYW5kLFxuICBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kLFxuICBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kLFxuICBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICBVcGRhdGVVc2VyQ29tbWFuZCxcbiAgVXBsb2FkU1NIUHVibGljS2V5Q29tbWFuZCxcbiAgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kLFxuICBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIElBTVNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKFxuICAgIGFyZ3M6IEFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9JbnN0YW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgYWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlKFxuICAgIGFyZ3M6IEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRVc2VyVG9Hcm91cENvbW1hbmR9XG4gICAqL1xuICBhZGRVc2VyVG9Hcm91cChcbiAgICBhcmdzOiBBZGRVc2VyVG9Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFVzZXJUb0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBhdHRhY2hHcm91cFBvbGljeShcbiAgICBhcmdzOiBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEF0dGFjaEdyb3VwUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgYXR0YWNoUm9sZVBvbGljeShcbiAgICBhcmdzOiBBdHRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXR0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBvbGljeU5vdEF0dGFjaGFibGVFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICAgIHwgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXR0YWNoVXNlclBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBhdHRhY2hVc2VyUG9saWN5KFxuICAgIGFyZ3M6IEF0dGFjaFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoYW5nZVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKFxuICAgIGFyZ3M6IENoYW5nZVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IEludmFsaWRVc2VyVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBQYXNzd29yZFBvbGljeVZpb2xhdGlvbkVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFjY2Vzc0tleUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVBY2Nlc3NLZXkoXG4gICAgYXJnczogQ3JlYXRlQWNjZXNzS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQWNjZXNzS2V5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWNjb3VudEFsaWFzKFxuICAgIGFyZ3M6IENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVHcm91cChcbiAgICBhcmdzOiBDcmVhdGVHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVMb2dpblByb2ZpbGUoXG4gICAgYXJnczogQ3JlYXRlTG9naW5Qcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTG9naW5Qcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlcihcbiAgICBhcmdzOiBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVuSWRJZHBDb21tdW5pY2F0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBvbGljeShcbiAgICBhcmdzOiBDcmVhdGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBDcmVhdGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUm9sZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVSb2xlKFxuICAgIGFyZ3M6IENyZWF0ZVJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVSb2xlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VydmljZUxpbmtlZFJvbGUoXG4gICAgYXJnczogQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsKFxuICAgIGFyZ3M6IENyZWF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZU5vdFN1cHBvcnRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVXNlcihcbiAgICBhcmdzOiBDcmVhdGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVmlydHVhbE1GQURldmljZShcbiAgICBhcmdzOiBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVhY3RpdmF0ZU1GQURldmljZUNvbW1hbmR9XG4gICAqL1xuICBkZWFjdGl2YXRlTUZBRGV2aWNlKFxuICAgIGFyZ3M6IERlYWN0aXZhdGVNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjZXNzS2V5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY2Vzc0tleShcbiAgICBhcmdzOiBEZWxldGVBY2Nlc3NLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBY2NvdW50QWxpYXMoXG4gICAgYXJnczogRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR3JvdXBQb2xpY3koXG4gICAgYXJnczogRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTG9naW5Qcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUxvZ2luUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlcihcbiAgICBhcmdzOiBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUm9sZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSb2xlKFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSb2xlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5KFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yIHwgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUm9sZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSb2xlUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU1NIUHVibGljS2V5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNTSFB1YmxpY0tleShcbiAgICBhcmdzOiBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTZXJ2aWNlTGlua2VkUm9sZShcbiAgICBhcmdzOiBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZpY2VMaW5rZWRSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWwoXG4gICAgYXJnczogRGVsZXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXIoXG4gICAgYXJnczogRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeShcbiAgICBhcmdzOiBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXJQb2xpY3koXG4gICAgYXJnczogRGVsZXRlVXNlclBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVmlydHVhbE1GQURldmljZShcbiAgICBhcmdzOiBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBEZWxldGVDb25mbGljdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaEdyb3VwUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRldGFjaEdyb3VwUG9saWN5KFxuICAgIGFyZ3M6IERldGFjaEdyb3VwUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaFJvbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGV0YWNoUm9sZVBvbGljeShcbiAgICBhcmdzOiBEZXRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGV0YWNoVXNlclBvbGljeShcbiAgICBhcmdzOiBEZXRhY2hVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoVXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290Q3JlZGVudGlhbHNNYW5hZ2VtZW50Q29tbWFuZH1cbiAgICovXG4gIGRpc2FibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudChcbiAgICBhcmdzOiBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY291bnROb3RNYW5hZ2VtZW50T3JEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEZvdW5kRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEluQWxsRmVhdHVyZXNNb2RlRXJyb3JcbiAgICB8IFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnMoXG4gICAgYXJnczogRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjb3VudE5vdE1hbmFnZW1lbnRPckRlbGVnYXRlZEFkbWluaXN0cmF0b3JFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90Rm91bmRFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFcnJvclxuICAgIHwgU2VydmljZUFjY2Vzc05vdEVuYWJsZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFbmFibGVNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgZW5hYmxlTUZBRGV2aWNlKFxuICAgIGFyZ3M6IEVuYWJsZU1GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEVuYWJsZU1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IEludmFsaWRBdXRoZW50aWNhdGlvbkNvZGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmR9XG4gICAqL1xuICBlbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudChcbiAgICBhcmdzOiBFbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEVuYWJsZU9yZ2FuaXphdGlvbnNSb290Q3JlZGVudGlhbHNNYW5hZ2VtZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2NvdW50Tm90TWFuYWdlbWVudE9yRGVsZWdhdGVkQWRtaW5pc3RyYXRvckVycm9yXG4gICAgfCBDYWxsZXJJc05vdE1hbmFnZW1lbnRBY2NvdW50RXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEZvdW5kRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEluQWxsRmVhdHVyZXNNb2RlRXJyb3JcbiAgICB8IFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBlbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zKFxuICAgIGFyZ3M6IEVuYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2NvdW50Tm90TWFuYWdlbWVudE9yRGVsZWdhdGVkQWRtaW5pc3RyYXRvckVycm9yXG4gICAgfCBDYWxsZXJJc05vdE1hbmFnZW1lbnRBY2NvdW50RXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEZvdW5kRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEluQWxsRmVhdHVyZXNNb2RlRXJyb3JcbiAgICB8IFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2VuZXJhdGVDcmVkZW50aWFsUmVwb3J0Q29tbWFuZH1cbiAgICovXG4gIGdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydChcbiAgICBhcmdzOiBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0KFxuICAgIGFyZ3M6IEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXBvcnRHZW5lcmF0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlscyhcbiAgICBhcmdzOiBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2VuZXJhdGVTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY2Vzc0tleUxhc3RVc2VkQ29tbWFuZH1cbiAgICovXG4gIGdldEFjY2Vzc0tleUxhc3RVc2VkKFxuICAgIGFyZ3M6IEdldEFjY2Vzc0tleUxhc3RVc2VkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmR9XG4gICAqL1xuICBnZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHMoXG4gICAgYXJnczogR2V0QWNjb3VudEF1dGhvcml6YXRpb25EZXRhaWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjb3VudEF1dGhvcml6YXRpb25EZXRhaWxzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRTdW1tYXJ5KFxuICAgIGFyZ3M6IEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjb3VudFN1bW1hcnlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeShcbiAgICBhcmdzOiBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldENvbnRleHRLZXlzRm9yQ3VzdG9tUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5KFxuICAgIGFyZ3M6IEdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZH1cbiAgICovXG4gIGdldENyZWRlbnRpYWxSZXBvcnQoXG4gICAgYXJnczogR2V0Q3JlZGVudGlhbFJlcG9ydENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnROb3RQcmVzZW50RXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnROb3RSZWFkeUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGdldEdyb3VwKFxuICAgIGFyZ3M6IEdldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEdyb3VwUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEdyb3VwUG9saWN5KFxuICAgIGFyZ3M6IEdldEdyb3VwUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICBnZXRJbnN0YW5jZVByb2ZpbGUoXG4gICAgYXJnczogR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dpblByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0TG9naW5Qcm9maWxlKFxuICAgIGFyZ3M6IEdldExvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TUZBRGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGdldE1GQURldmljZShcbiAgICBhcmdzOiBHZXRNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBnZXRPcGVuSURDb25uZWN0UHJvdmlkZXIoXG4gICAgYXJnczogR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kfVxuICAgKi9cbiAgZ2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydChcbiAgICBhcmdzOiBHZXRPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0UG9saWN5KFxuICAgIGFyZ3M6IEdldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGdldFBvbGljeVZlcnNpb24oXG4gICAgYXJnczogR2V0UG9saWN5VmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Um9sZUNvbW1hbmR9XG4gICAqL1xuICBnZXRSb2xlKFxuICAgIGFyZ3M6IEdldFJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSb2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldFJvbGVQb2xpY3koXG4gICAgYXJnczogR2V0Um9sZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNBTUxQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBnZXRTQU1MUHJvdmlkZXIoXG4gICAgYXJnczogR2V0U0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U0FNTFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNTSFB1YmxpY0tleUNvbW1hbmR9XG4gICAqL1xuICBnZXRTU0hQdWJsaWNLZXkoXG4gICAgYXJnczogR2V0U1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U1NIUHVibGljS2V5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgVW5yZWNvZ25pemVkUHVibGljS2V5RW5jb2RpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmR9XG4gICAqL1xuICBnZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlscyhcbiAgICBhcmdzOiBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXMoXG4gICAgYXJnczogR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VydmljZUxpbmtlZFJvbGVEZWxldGlvblN0YXR1cyhcbiAgICBhcmdzOiBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VydmljZUxpbmtlZFJvbGVEZWxldGlvblN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVc2VyQ29tbWFuZH1cbiAgICovXG4gIGdldFVzZXIoXG4gICAgYXJnczogR2V0VXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVzZXJDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0VXNlclBvbGljeShcbiAgICBhcmdzOiBHZXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0VXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY2Vzc0tleXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFjY2Vzc0tleXMoXG4gICAgYXJnczogTGlzdEFjY2Vzc0tleXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjZXNzS2V5c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY291bnRBbGlhc2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY2NvdW50QWxpYXNlcyhcbiAgICBhcmdzOiBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QXR0YWNoZWRHcm91cFBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEF0dGFjaGVkR3JvdXBQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEF0dGFjaGVkUm9sZVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZFJvbGVQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEF0dGFjaGVkVXNlclBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZFVzZXJQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEVudGl0aWVzRm9yUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGxpc3RFbnRpdGllc0ZvclBvbGljeShcbiAgICBhcmdzOiBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEdyb3VwUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0R3JvdXBzKFxuICAgIGFyZ3M6IExpc3RHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0R3JvdXBzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kfVxuICAgKi9cbiAgbGlzdEdyb3Vwc0ZvclVzZXIoXG4gICAgYXJnczogTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdEluc3RhbmNlUHJvZmlsZVRhZ3MoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW5zdGFuY2VQcm9maWxlVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEluc3RhbmNlUHJvZmlsZXMoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGUoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TUZBRGV2aWNlVGFncyhcbiAgICBhcmdzOiBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RNRkFEZXZpY2VUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNRkFEZXZpY2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNRkFEZXZpY2VzKFxuICAgIGFyZ3M6IExpc3RNRkFEZXZpY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1GQURldmljZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzKFxuICAgIGFyZ3M6IExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnMoXG4gICAgYXJnczogTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPcmdhbml6YXRpb25zRmVhdHVyZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9yZ2FuaXphdGlvbnNGZWF0dXJlcyhcbiAgICBhcmdzOiBMaXN0T3JnYW5pemF0aW9uc0ZlYXR1cmVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE9yZ2FuaXphdGlvbnNGZWF0dXJlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjb3VudE5vdE1hbmFnZW1lbnRPckRlbGVnYXRlZEFkbWluaXN0cmF0b3JFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90Rm91bmRFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFcnJvclxuICAgIHwgU2VydmljZUFjY2Vzc05vdEVuYWJsZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBvbGljaWVzKFxuICAgIGFyZ3M6IExpc3RQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RQb2xpY2llc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3MoXG4gICAgYXJnczogTGlzdFBvbGljaWVzR3JhbnRpbmdTZXJ2aWNlQWNjZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFBvbGljaWVzR3JhbnRpbmdTZXJ2aWNlQWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBvbGljeVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBvbGljeVRhZ3MoXG4gICAgYXJnczogTGlzdFBvbGljeVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UG9saWN5VGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UG9saWN5VmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBvbGljeVZlcnNpb25zKFxuICAgIGFyZ3M6IExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Um9sZVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RSb2xlUG9saWNpZXMoXG4gICAgYXJnczogTGlzdFJvbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RSb2xlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0Um9sZVRhZ3MoXG4gICAgYXJnczogTGlzdFJvbGVUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFJvbGVUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Um9sZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFJvbGVzKFxuICAgIGFyZ3M6IExpc3RSb2xlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RSb2xlc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTQU1MUHJvdmlkZXJUYWdzKFxuICAgIGFyZ3M6IExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNBTUxQcm92aWRlcnMoXG4gICAgYXJnczogTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTU0hQdWJsaWNLZXlzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTU0hQdWJsaWNLZXlzKFxuICAgIGFyZ3M6IExpc3RTU0hQdWJsaWNLZXlzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlcnZlckNlcnRpZmljYXRlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzKFxuICAgIGFyZ3M6IExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXMoXG4gICAgYXJnczogTGlzdFNlcnZlckNlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzKFxuICAgIGFyZ3M6IExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VOb3RTdXBwb3J0ZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2lnbmluZ0NlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTaWduaW5nQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlclBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RVc2VyUG9saWNpZXMoXG4gICAgYXJnczogTGlzdFVzZXJQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2VyVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VXNlclRhZ3MoXG4gICAgYXJnczogTGlzdFVzZXJUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFVzZXJzKFxuICAgIGFyZ3M6IExpc3RVc2Vyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RVc2Vyc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWaXJ0dWFsTUZBRGV2aWNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VmlydHVhbE1GQURldmljZXMoXG4gICAgYXJnczogTGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRHcm91cFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRHcm91cFBvbGljeShcbiAgICBhcmdzOiBQdXRHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEdyb3VwUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5KFxuICAgIGFyZ3M6IFB1dFJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRSb2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJvbGVQb2xpY3koXG4gICAgYXJnczogUHV0Um9sZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZH1cbiAgICovXG4gIHB1dFVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5KFxuICAgIGFyZ3M6IFB1dFVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0VXNlclBvbGljeShcbiAgICBhcmdzOiBQdXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0VXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKFxuICAgIGFyZ3M6IFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVJvbGVGcm9tSW5zdGFuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVVzZXJGcm9tR3JvdXAoXG4gICAgYXJnczogUmVtb3ZlVXNlckZyb21Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2V0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmR9XG4gICAqL1xuICByZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWwoXG4gICAgYXJnczogUmVzZXRTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZXRTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3luY01GQURldmljZUNvbW1hbmR9XG4gICAqL1xuICByZXN5bmNNRkFEZXZpY2UoXG4gICAgYXJnczogUmVzeW5jTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzeW5jTUZBRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRBdXRoZW50aWNhdGlvbkNvZGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBzZXREZWZhdWx0UG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldERlZmF1bHRQb2xpY3lWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRTZWN1cml0eVRva2VuU2VydmljZVByZWZlcmVuY2VzQ29tbWFuZH1cbiAgICovXG4gIHNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXMoXG4gICAgYXJnczogU2V0U2VjdXJpdHlUb2tlblNlcnZpY2VQcmVmZXJlbmNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBzaW11bGF0ZUN1c3RvbVBvbGljeShcbiAgICBhcmdzOiBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNpbXVsYXRlQ3VzdG9tUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgUG9saWN5RXZhbHVhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHNpbXVsYXRlUHJpbmNpcGFsUG9saWN5KFxuICAgIGFyZ3M6IFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFBvbGljeUV2YWx1YXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgdGFnSW5zdGFuY2VQcm9maWxlKFxuICAgIGFyZ3M6IFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgdGFnTUZBRGV2aWNlKFxuICAgIGFyZ3M6IFRhZ01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ01GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyKFxuICAgIGFyZ3M6IFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdGFnUG9saWN5KFxuICAgIGFyZ3M6IFRhZ1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSb2xlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1JvbGUoXG4gICAgYXJnczogVGFnUm9sZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnU0FNTFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIHRhZ1NBTUxQcm92aWRlcihcbiAgICBhcmdzOiBUYWdTQU1MUHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgdGFnU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdVc2VyQ29tbWFuZH1cbiAgICovXG4gIHRhZ1VzZXIoXG4gICAgYXJnczogVGFnVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1VzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgdW50YWdJbnN0YW5jZVByb2ZpbGUoXG4gICAgYXJnczogVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdNRkFEZXZpY2UoXG4gICAgYXJnczogVW50YWdNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ01GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXIoXG4gICAgYXJnczogVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdW50YWdQb2xpY3koXG4gICAgYXJnczogVW50YWdQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSb2xlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUm9sZShcbiAgICBhcmdzOiBVbnRhZ1JvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdW50YWdTQU1MUHJvdmlkZXIoXG4gICAgYXJnczogVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1NlcnZlckNlcnRpZmljYXRlKFxuICAgIGFyZ3M6IFVudGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1VzZXJDb21tYW5kfVxuICAgKi9cbiAgdW50YWdVc2VyKFxuICAgIGFyZ3M6IFVudGFnVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBY2Nlc3NLZXlDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQWNjZXNzS2V5KFxuICAgIGFyZ3M6IFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQXNzdW1lUm9sZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBc3N1bWVSb2xlUG9saWN5KFxuICAgIGFyZ3M6IFVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBc3N1bWVSb2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVHcm91cENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVHcm91cChcbiAgICBhcmdzOiBVcGRhdGVHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlTG9naW5Qcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUxvZ2luUHJvZmlsZShcbiAgICBhcmdzOiBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KFxuICAgIGFyZ3M6IFVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVJvbGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUm9sZShcbiAgICBhcmdzOiBVcGRhdGVSb2xlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlUm9sZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3IgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUm9sZURlc2NyaXB0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3IgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU1NIUHVibGljS2V5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNTSFB1YmxpY0tleShcbiAgICBhcmdzOiBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbChcbiAgICBhcmdzOiBVcGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2lnbmluZ0NlcnRpZmljYXRlKFxuICAgIGFyZ3M6IFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVVc2VyKFxuICAgIGFyZ3M6IFVwZGF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgRW50aXR5VGVtcG9yYXJpbHlVbm1vZGlmaWFibGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRTU0hQdWJsaWNLZXlDb21tYW5kfVxuICAgKi9cbiAgdXBsb2FkU1NIUHVibGljS2V5KFxuICAgIGFyZ3M6IFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRHVwbGljYXRlU1NIUHVibGljS2V5RXJyb3JcbiAgICB8IEludmFsaWRQdWJsaWNLZXlFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgVW5yZWNvZ25pemVkUHVibGljS2V5RW5jb2RpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICB1cGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwbG9hZFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IEtleVBhaXJNaXNtYXRjaEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZENlcnRpZmljYXRlRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBsb2FkU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIHVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRHVwbGljYXRlQ2VydGlmaWNhdGVFcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkQ2VydGlmaWNhdGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRDZXJ0aWZpY2F0ZUVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUlBTVNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhJQU1DbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIElBTVNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248SUFNU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgSUFNU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIElBTVNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LWlhbS9JQU1TZXJ2aWNlXCIpPFxuICBJQU1TZXJ2aWNlLFxuICBJQU1TZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlSUFNU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKElBTUNsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdElBTUNsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogSUFNQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlSUFNU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoSUFNQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgSUFNQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRJQU1DbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogSUFNQ2xpZW50Q29uZmlnKSA9PiBJQU1DbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUlBTVNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgSUFNQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdElBTUNsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgSUFNU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgSUFNID0gSUFNU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBJQU0uYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VJQU1TZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoSUFNU2VydmljZSwgbWFrZUlBTVNlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIElBTS5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBJQU1TZXJ2aWNlTGF5ZXIgPSBCYXNlSUFNU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoSUFNQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIElBTS5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdElBTVNlcnZpY2VMYXllciA9IElBTVNlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
package/lib/esm/Errors.js DELETED
@@ -1,38 +0,0 @@
1
- import { Data } from "effect";
2
- export const AllServiceErrors = [
3
- "AccountNotManagementOrDelegatedAdministratorException",
4
- "CallerIsNotManagementAccountException",
5
- "ConcurrentModificationException",
6
- "CredentialReportExpiredException",
7
- "CredentialReportNotPresentException",
8
- "CredentialReportNotReadyException",
9
- "DeleteConflictException",
10
- "DuplicateCertificateException",
11
- "DuplicateSSHPublicKeyException",
12
- "EntityAlreadyExistsException",
13
- "EntityTemporarilyUnmodifiableException",
14
- "InvalidAuthenticationCodeException",
15
- "InvalidCertificateException",
16
- "InvalidInputException",
17
- "InvalidPublicKeyException",
18
- "InvalidUserTypeException",
19
- "KeyPairMismatchException",
20
- "LimitExceededException",
21
- "MalformedCertificateException",
22
- "MalformedPolicyDocumentException",
23
- "NoSuchEntityException",
24
- "OpenIdIdpCommunicationErrorException",
25
- "OrganizationNotFoundException",
26
- "OrganizationNotInAllFeaturesModeException",
27
- "PasswordPolicyViolationException",
28
- "PolicyEvaluationException",
29
- "PolicyNotAttachableException",
30
- "ReportGenerationLimitExceededException",
31
- "ServiceAccessNotEnabledException",
32
- "ServiceFailureException",
33
- "ServiceNotSupportedException",
34
- "UnmodifiableEntityException",
35
- "UnrecognizedPublicKeyEncodingException",
36
- ];
37
- export const SdkError = Data.tagged("SdkError");
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5Qix1REFBdUQ7SUFDdkQsdUNBQXVDO0lBQ3ZDLGlDQUFpQztJQUNqQyxrQ0FBa0M7SUFDbEMscUNBQXFDO0lBQ3JDLG1DQUFtQztJQUNuQyx5QkFBeUI7SUFDekIsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyw4QkFBOEI7SUFDOUIsd0NBQXdDO0lBQ3hDLG9DQUFvQztJQUNwQyw2QkFBNkI7SUFDN0IsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0Isa0NBQWtDO0lBQ2xDLHVCQUF1QjtJQUN2QixzQ0FBc0M7SUFDdEMsK0JBQStCO0lBQy9CLDJDQUEyQztJQUMzQyxrQ0FBa0M7SUFDbEMsMkJBQTJCO0lBQzNCLDhCQUE4QjtJQUM5Qix3Q0FBd0M7SUFDeEMsa0NBQWtDO0lBQ2xDLHlCQUF5QjtJQUN6Qiw4QkFBOEI7SUFDOUIsNkJBQTZCO0lBQzdCLHdDQUF3QztDQUN6QyxDQUFDO0FBaUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBY2NvdW50Tm90TWFuYWdlbWVudE9yRGVsZWdhdGVkQWRtaW5pc3RyYXRvckV4Y2VwdGlvbixcbiAgQ2FsbGVySXNOb3RNYW5hZ2VtZW50QWNjb3VudEV4Y2VwdGlvbixcbiAgQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbixcbiAgQ3JlZGVudGlhbFJlcG9ydEV4cGlyZWRFeGNlcHRpb24sXG4gIENyZWRlbnRpYWxSZXBvcnROb3RQcmVzZW50RXhjZXB0aW9uLFxuICBDcmVkZW50aWFsUmVwb3J0Tm90UmVhZHlFeGNlcHRpb24sXG4gIERlbGV0ZUNvbmZsaWN0RXhjZXB0aW9uLFxuICBEdXBsaWNhdGVDZXJ0aWZpY2F0ZUV4Y2VwdGlvbixcbiAgRHVwbGljYXRlU1NIUHVibGljS2V5RXhjZXB0aW9uLFxuICBFbnRpdHlBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLFxuICBFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUV4Y2VwdGlvbixcbiAgSW52YWxpZEF1dGhlbnRpY2F0aW9uQ29kZUV4Y2VwdGlvbixcbiAgSW52YWxpZENlcnRpZmljYXRlRXhjZXB0aW9uLFxuICBJbnZhbGlkSW5wdXRFeGNlcHRpb24sXG4gIEludmFsaWRQdWJsaWNLZXlFeGNlcHRpb24sXG4gIEludmFsaWRVc2VyVHlwZUV4Y2VwdGlvbixcbiAgS2V5UGFpck1pc21hdGNoRXhjZXB0aW9uLFxuICBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uLFxuICBNYWxmb3JtZWRDZXJ0aWZpY2F0ZUV4Y2VwdGlvbixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24sXG4gIE5vU3VjaEVudGl0eUV4Y2VwdGlvbixcbiAgT3BlbklkSWRwQ29tbXVuaWNhdGlvbkVycm9yRXhjZXB0aW9uLFxuICBPcmdhbml6YXRpb25Ob3RGb3VuZEV4Y2VwdGlvbixcbiAgT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFeGNlcHRpb24sXG4gIFBhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXhjZXB0aW9uLFxuICBQb2xpY3lFdmFsdWF0aW9uRXhjZXB0aW9uLFxuICBQb2xpY3lOb3RBdHRhY2hhYmxlRXhjZXB0aW9uLFxuICBSZXBvcnRHZW5lcmF0aW9uTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgU2VydmljZUFjY2Vzc05vdEVuYWJsZWRFeGNlcHRpb24sXG4gIFNlcnZpY2VGYWlsdXJlRXhjZXB0aW9uLFxuICBTZXJ2aWNlTm90U3VwcG9ydGVkRXhjZXB0aW9uLFxuICBVbm1vZGlmaWFibGVFbnRpdHlFeGNlcHRpb24sXG4gIFVucmVjb2duaXplZFB1YmxpY0tleUVuY29kaW5nRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWlhbVwiO1xuaW1wb3J0IHsgRGF0YSB9IGZyb20gXCJlZmZlY3RcIjtcblxuZXhwb3J0IGNvbnN0IEFsbFNlcnZpY2VFcnJvcnMgPSBbXG4gIFwiQWNjb3VudE5vdE1hbmFnZW1lbnRPckRlbGVnYXRlZEFkbWluaXN0cmF0b3JFeGNlcHRpb25cIixcbiAgXCJDYWxsZXJJc05vdE1hbmFnZW1lbnRBY2NvdW50RXhjZXB0aW9uXCIsXG4gIFwiQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvblwiLFxuICBcIkNyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXhjZXB0aW9uXCIsXG4gIFwiQ3JlZGVudGlhbFJlcG9ydE5vdFByZXNlbnRFeGNlcHRpb25cIixcbiAgXCJDcmVkZW50aWFsUmVwb3J0Tm90UmVhZHlFeGNlcHRpb25cIixcbiAgXCJEZWxldGVDb25mbGljdEV4Y2VwdGlvblwiLFxuICBcIkR1cGxpY2F0ZUNlcnRpZmljYXRlRXhjZXB0aW9uXCIsXG4gIFwiRHVwbGljYXRlU1NIUHVibGljS2V5RXhjZXB0aW9uXCIsXG4gIFwiRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvblwiLFxuICBcIkVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZEF1dGhlbnRpY2F0aW9uQ29kZUV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRDZXJ0aWZpY2F0ZUV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRJbnB1dEV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRQdWJsaWNLZXlFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkVXNlclR5cGVFeGNlcHRpb25cIixcbiAgXCJLZXlQYWlyTWlzbWF0Y2hFeGNlcHRpb25cIixcbiAgXCJMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uXCIsXG4gIFwiTWFsZm9ybWVkQ2VydGlmaWNhdGVFeGNlcHRpb25cIixcbiAgXCJNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvblwiLFxuICBcIk5vU3VjaEVudGl0eUV4Y2VwdGlvblwiLFxuICBcIk9wZW5JZElkcENvbW11bmljYXRpb25FcnJvckV4Y2VwdGlvblwiLFxuICBcIk9yZ2FuaXphdGlvbk5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFeGNlcHRpb25cIixcbiAgXCJQYXNzd29yZFBvbGljeVZpb2xhdGlvbkV4Y2VwdGlvblwiLFxuICBcIlBvbGljeUV2YWx1YXRpb25FeGNlcHRpb25cIixcbiAgXCJQb2xpY3lOb3RBdHRhY2hhYmxlRXhjZXB0aW9uXCIsXG4gIFwiUmVwb3J0R2VuZXJhdGlvbkxpbWl0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJTZXJ2aWNlQWNjZXNzTm90RW5hYmxlZEV4Y2VwdGlvblwiLFxuICBcIlNlcnZpY2VGYWlsdXJlRXhjZXB0aW9uXCIsXG4gIFwiU2VydmljZU5vdFN1cHBvcnRlZEV4Y2VwdGlvblwiLFxuICBcIlVubW9kaWZpYWJsZUVudGl0eUV4Y2VwdGlvblwiLFxuICBcIlVucmVjb2duaXplZFB1YmxpY0tleUVuY29kaW5nRXhjZXB0aW9uXCIsXG5dO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl07XG59O1xuXG5leHBvcnQgdHlwZSBBY2NvdW50Tm90TWFuYWdlbWVudE9yRGVsZWdhdGVkQWRtaW5pc3RyYXRvckVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEFjY291bnROb3RNYW5hZ2VtZW50T3JEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENhbGxlcklzTm90TWFuYWdlbWVudEFjY291bnRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWxsZXJJc05vdE1hbmFnZW1lbnRBY2NvdW50RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q3JlZGVudGlhbFJlcG9ydEV4cGlyZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ3JlZGVudGlhbFJlcG9ydE5vdFByZXNlbnRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDcmVkZW50aWFsUmVwb3J0Tm90UHJlc2VudEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDcmVkZW50aWFsUmVwb3J0Tm90UmVhZHlFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDcmVkZW50aWFsUmVwb3J0Tm90UmVhZHlFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRGVsZXRlQ29uZmxpY3RFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxEZWxldGVDb25mbGljdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBEdXBsaWNhdGVDZXJ0aWZpY2F0ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPER1cGxpY2F0ZUNlcnRpZmljYXRlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIER1cGxpY2F0ZVNTSFB1YmxpY0tleUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPER1cGxpY2F0ZVNTSFB1YmxpY0tleUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRBdXRoZW50aWNhdGlvbkNvZGVFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRDZXJ0aWZpY2F0ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRDZXJ0aWZpY2F0ZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkSW5wdXRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkSW5wdXRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFB1YmxpY0tleUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRQdWJsaWNLZXlFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFVzZXJUeXBlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFVzZXJUeXBlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEtleVBhaXJNaXNtYXRjaEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEtleVBhaXJNaXNtYXRjaEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBMaW1pdEV4Y2VlZGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248TGltaXRFeGNlZWRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBNYWxmb3JtZWRDZXJ0aWZpY2F0ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE1hbGZvcm1lZENlcnRpZmljYXRlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248TWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTm9TdWNoRW50aXR5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Tm9TdWNoRW50aXR5RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE9wZW5JZElkcENvbW11bmljYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxPcGVuSWRJZHBDb21tdW5pY2F0aW9uRXJyb3JFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgT3JnYW5pemF0aW9uTm90Rm91bmRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxPcmdhbml6YXRpb25Ob3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBPcmdhbml6YXRpb25Ob3RJbkFsbEZlYXR1cmVzTW9kZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE9yZ2FuaXphdGlvbk5vdEluQWxsRmVhdHVyZXNNb2RlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFBhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UGFzc3dvcmRQb2xpY3lWaW9sYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUG9saWN5RXZhbHVhdGlvbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFBvbGljeUV2YWx1YXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFBvbGljeU5vdEF0dGFjaGFibGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVwb3J0R2VuZXJhdGlvbkxpbWl0RXhjZWVkZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxSZXBvcnRHZW5lcmF0aW9uTGltaXRFeGNlZWRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBTZXJ2aWNlQWNjZXNzTm90RW5hYmxlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlcnZpY2VGYWlsdXJlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U2VydmljZUZhaWx1cmVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgU2VydmljZU5vdFN1cHBvcnRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZpY2VOb3RTdXBwb3J0ZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VW5tb2RpZmlhYmxlRW50aXR5RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVucmVjb2duaXplZFB1YmxpY0tleUVuY29kaW5nRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VW5yZWNvZ25pemVkUHVibGljS2V5RW5jb2RpbmdFeGNlcHRpb24+O1xuXG5leHBvcnQgdHlwZSBTZGtFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxFcnJvciAmIHsgbmFtZTogXCJTZGtFcnJvclwiIH0+O1xuZXhwb3J0IGNvbnN0IFNka0Vycm9yID0gRGF0YS50YWdnZWQ8U2RrRXJyb3I+KFwiU2RrRXJyb3JcIik7XG4iXX0=
@@ -1,30 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { IAMClient } from "@aws-sdk/client-iam";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { DefaultIAMClientConfigLayer, IAMClientInstanceConfig, } from "./IAMClientInstanceConfig";
9
- /**
10
- * @since 1.0.0
11
- * @category tags
12
- */
13
- export class IAMClientInstance extends Context.Tag("@effect-aws/client-iam/IAMClientInstance")() {
14
- }
15
- /**
16
- * @since 1.0.0
17
- * @category constructors
18
- */
19
- export const makeIAMClientInstance = Effect.flatMap(IAMClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new IAMClient(config)), (client) => Effect.sync(() => client.destroy())));
20
- /**
21
- * @since 1.0.0
22
- * @category layers
23
- */
24
- export const IAMClientInstanceLayer = Layer.scoped(IAMClientInstance, makeIAMClientInstance);
25
- /**
26
- * @since 1.0.0
27
- * @category layers
28
- */
29
- export const DefaultIAMClientInstanceLayer = IAMClientInstanceLayer.pipe(Layer.provide(DefaultIAMClientConfigLayer));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFNQ2xpZW50SW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvSUFNQ2xpZW50SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHVCQUF1QixHQUN4QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNoRCwwQ0FBMEMsQ0FDM0MsRUFBZ0M7Q0FBRztBQUVwQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNqRCx1QkFBdUIsRUFDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDeEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2hELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2hELGlCQUFpQixFQUNqQixxQkFBcUIsQ0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FDdEUsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHsgSUFNQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1pYW1cIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRJQU1DbGllbnRDb25maWdMYXllcixcbiAgSUFNQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL0lBTUNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgSUFNQ2xpZW50SW5zdGFuY2UgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtaWFtL0lBTUNsaWVudEluc3RhbmNlXCIsXG4pPElBTUNsaWVudEluc3RhbmNlLCBJQU1DbGllbnQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VJQU1DbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5mbGF0TWFwKFxuICBJQU1DbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT5cbiAgICBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoXG4gICAgICBFZmZlY3Quc3luYygoKSA9PiBuZXcgSUFNQ2xpZW50KGNvbmZpZykpLFxuICAgICAgKGNsaWVudCkgPT4gRWZmZWN0LnN5bmMoKCkgPT4gY2xpZW50LmRlc3Ryb3koKSksXG4gICAgKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBJQU1DbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuc2NvcGVkKFxuICBJQU1DbGllbnRJbnN0YW5jZSxcbiAgbWFrZUlBTUNsaWVudEluc3RhbmNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRJQU1DbGllbnRJbnN0YW5jZUxheWVyID0gSUFNQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRJQU1DbGllbnRDb25maWdMYXllciksXG4pO1xuIl19