p6-cdk-namer 1.3.47 → 1.3.49

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 (98) hide show
  1. package/.jsii +4 -4
  2. package/lib/p6cdknamer.js +1 -1
  3. package/node_modules/@aws-sdk/client-iam/dist-cjs/endpoint/ruleset.js +1 -1
  4. package/node_modules/@aws-sdk/client-iam/dist-cjs/index.js +15 -15
  5. package/node_modules/@aws-sdk/client-iam/dist-es/endpoint/ruleset.js +1 -1
  6. package/node_modules/@aws-sdk/client-iam/dist-es/models/models_0.js +12 -12
  7. package/node_modules/@aws-sdk/client-iam/dist-es/protocols/Aws_query.js +3 -3
  8. package/node_modules/@aws-sdk/client-iam/dist-types/commands/AddClientIDToOpenIDConnectProviderCommand.d.ts +4 -0
  9. package/node_modules/@aws-sdk/client-iam/dist-types/commands/RemoveClientIDFromOpenIDConnectProviderCommand.d.ts +4 -0
  10. package/node_modules/@aws-sdk/client-iam/dist-types/commands/UpdateOpenIDConnectProviderThumbprintCommand.d.ts +4 -0
  11. package/node_modules/@aws-sdk/client-iam/dist-types/commands/UpdateSAMLProviderCommand.d.ts +4 -0
  12. package/node_modules/@aws-sdk/client-iam/dist-types/models/models_0.d.ts +13 -13
  13. package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/models/models_0.d.ts +10 -10
  14. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/core/package.json +3 -3
  15. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  16. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  17. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/credential-provider-ini/package.json +8 -8
  18. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  19. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  20. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  21. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  22. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/middleware-user-agent/package.json +4 -4
  23. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/nested-clients/package.json +12 -12
  24. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +3 -0
  25. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +3 -0
  26. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +3 -0
  27. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/util-endpoints/package.json +1 -1
  28. package/node_modules/@aws-sdk/client-iam/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  29. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/core/package.json +2 -2
  30. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/middleware-endpoint/package.json +2 -2
  31. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/middleware-retry/package.json +2 -2
  32. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/node-http-handler/dist-cjs/index.js +17 -12
  33. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +16 -11
  34. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +1 -1
  35. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/node-http-handler/package.json +1 -1
  36. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/smithy-client/package.json +4 -4
  37. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  38. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  39. package/node_modules/@aws-sdk/client-iam/node_modules/@smithy/util-stream/package.json +2 -2
  40. package/node_modules/@aws-sdk/client-iam/package.json +13 -13
  41. package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/core/package.json +3 -3
  42. package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/middleware-user-agent/package.json +4 -4
  43. package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +3 -0
  44. package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +3 -0
  45. package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +3 -0
  46. package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/package.json +1 -1
  47. package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  48. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/core/package.json +2 -2
  49. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-endpoint/package.json +2 -2
  50. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-retry/package.json +2 -2
  51. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-http-handler/dist-cjs/index.js +17 -12
  52. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +16 -11
  53. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +1 -1
  54. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-http-handler/package.json +1 -1
  55. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/smithy-client/package.json +4 -4
  56. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  57. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  58. package/node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-stream/package.json +2 -2
  59. package/node_modules/@aws-sdk/client-sso/package.json +12 -12
  60. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/core/package.json +3 -3
  61. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/middleware-user-agent/package.json +4 -4
  62. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/nested-clients/package.json +12 -12
  63. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +3 -0
  64. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +3 -0
  65. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +3 -0
  66. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/util-endpoints/package.json +1 -1
  67. package/node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  68. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/core/package.json +2 -2
  69. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/middleware-endpoint/package.json +2 -2
  70. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/middleware-retry/package.json +2 -2
  71. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/node-http-handler/dist-cjs/index.js +17 -12
  72. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +16 -11
  73. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +1 -1
  74. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/node-http-handler/package.json +1 -1
  75. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/smithy-client/package.json +4 -4
  76. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  77. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  78. package/node_modules/@aws-sdk/token-providers/node_modules/@smithy/util-stream/package.json +2 -2
  79. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  80. package/node_modules/cdk-iam-floyd/README.md +4 -4
  81. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.d.ts +2 -0
  82. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.js +5 -1
  83. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.d.ts +2 -0
  84. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.js +3 -1
  85. package/node_modules/cdk-iam-floyd/lib/generated/index.d.ts +1 -0
  86. package/node_modules/cdk-iam-floyd/lib/generated/index.js +5 -3
  87. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/auroradsql.d.ts +24 -0
  88. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/auroradsql.js +34 -1
  89. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.d.ts +2 -2
  90. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.js +6 -6
  91. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elementalmedialive.d.ts +24 -0
  92. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elementalmedialive.js +34 -1
  93. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/quicksight.d.ts +10 -0
  94. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/quicksight.js +11 -1
  95. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/rtbfabric.d.ts +436 -0
  96. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/rtbfabric.js +559 -0
  97. package/node_modules/cdk-iam-floyd/package.json +1 -1
  98. package/package.json +6 -6
@@ -0,0 +1,559 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rtbfabric = void 0;
4
+ const shared_1 = require("../../shared");
5
+ /**
6
+ * Statement provider for service [rtbfabric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrtbfabric.html).
7
+ *
8
+ * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
9
+ */
10
+ class Rtbfabric extends shared_1.PolicyStatement {
11
+ /**
12
+ * Grants permission to accept a link invitation from another Gateway
13
+ *
14
+ * Access Level: Write
15
+ *
16
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_AcceptLink.html
17
+ */
18
+ toAcceptLink() {
19
+ return this.to('AcceptLink');
20
+ }
21
+ /**
22
+ * Grants permission to create an inbound external link for a responder gateway
23
+ *
24
+ * Access Level: Write
25
+ *
26
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateInboundExternalLink.html
27
+ */
28
+ toCreateInboundExternalLink() {
29
+ return this.to('CreateInboundExternalLink');
30
+ }
31
+ /**
32
+ * Grants permission to create a new link between RTB applications
33
+ *
34
+ * Access Level: Write
35
+ *
36
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateLink.html
37
+ */
38
+ toCreateLink() {
39
+ return this.to('CreateLink');
40
+ }
41
+ /**
42
+ * Grants permission to create an outbound external link for a requester gateway to connect to external public responder endpoints
43
+ *
44
+ * Access Level: Write
45
+ *
46
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateOutboundExternalLink.html
47
+ */
48
+ toCreateOutboundExternalLink() {
49
+ return this.to('CreateOutboundExternalLink');
50
+ }
51
+ /**
52
+ * Grants permission to create a requester gateway
53
+ *
54
+ * Access Level: Write
55
+ *
56
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateRequesterGateway.html
57
+ */
58
+ toCreateRequesterGateway() {
59
+ return this.to('CreateRequesterGateway');
60
+ }
61
+ /**
62
+ * Grants permission to create a responder gateway
63
+ *
64
+ * Access Level: Write
65
+ *
66
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateResponderGateway.html
67
+ */
68
+ toCreateResponderGateway() {
69
+ return this.to('CreateResponderGateway');
70
+ }
71
+ /**
72
+ * Grants permission to delete an inbound external link
73
+ *
74
+ * Access Level: Write
75
+ *
76
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteInboundExternalLink.html
77
+ */
78
+ toDeleteInboundExternalLink() {
79
+ return this.to('DeleteInboundExternalLink');
80
+ }
81
+ /**
82
+ * Grants permission to delete a link between RTB applications
83
+ *
84
+ * Access Level: Write
85
+ *
86
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteLink.html
87
+ */
88
+ toDeleteLink() {
89
+ return this.to('DeleteLink');
90
+ }
91
+ /**
92
+ * Grants permission to delete an outbound external link
93
+ *
94
+ * Access Level: Write
95
+ *
96
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteOutboundExternalLink.html
97
+ */
98
+ toDeleteOutboundExternalLink() {
99
+ return this.to('DeleteOutboundExternalLink');
100
+ }
101
+ /**
102
+ * Grants permission to delete a requester gateway
103
+ *
104
+ * Access Level: Write
105
+ *
106
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteRequesterGateway.html
107
+ */
108
+ toDeleteRequesterGateway() {
109
+ return this.to('DeleteRequesterGateway');
110
+ }
111
+ /**
112
+ * Grants permission to delete a responder gateway
113
+ *
114
+ * Access Level: Write
115
+ *
116
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteResponderGateway.html
117
+ */
118
+ toDeleteResponderGateway() {
119
+ return this.to('DeleteResponderGateway');
120
+ }
121
+ /**
122
+ * Grants permission to retrieve information about an inbound external link
123
+ *
124
+ * Access Level: Read
125
+ *
126
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetInboundExternalLink.html
127
+ */
128
+ toGetInboundExternalLink() {
129
+ return this.to('GetInboundExternalLink');
130
+ }
131
+ /**
132
+ * Grants permission to retrieve information about a link between RTB applications
133
+ *
134
+ * Access Level: Read
135
+ *
136
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetLink.html
137
+ */
138
+ toGetLink() {
139
+ return this.to('GetLink');
140
+ }
141
+ /**
142
+ * Grants permission to retrieve information about an outbound external link
143
+ *
144
+ * Access Level: Read
145
+ *
146
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetOutboundExternalLink.html
147
+ */
148
+ toGetOutboundExternalLink() {
149
+ return this.to('GetOutboundExternalLink');
150
+ }
151
+ /**
152
+ * Grants permission to retrieve information about a requester gateway
153
+ *
154
+ * Access Level: Read
155
+ *
156
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetRequesterGateway.html
157
+ */
158
+ toGetRequesterGateway() {
159
+ return this.to('GetRequesterGateway');
160
+ }
161
+ /**
162
+ * Grants permission to retrieve information about a responder gateway
163
+ *
164
+ * Access Level: Read
165
+ *
166
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetResponderGateway.html
167
+ */
168
+ toGetResponderGateway() {
169
+ return this.to('GetResponderGateway');
170
+ }
171
+ /**
172
+ * Grants permission to list links associated with an RTB application
173
+ *
174
+ * Access Level: List
175
+ *
176
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListLinks.html
177
+ */
178
+ toListLinks() {
179
+ return this.to('ListLinks');
180
+ }
181
+ /**
182
+ * Grants permission to list requester gateways with optional filtering and pagination
183
+ *
184
+ * Access Level: List
185
+ *
186
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListRequesterGateways.html
187
+ */
188
+ toListRequesterGateways() {
189
+ return this.to('ListRequesterGateways');
190
+ }
191
+ /**
192
+ * Grants permission to list responder gateways with optional filtering and pagination
193
+ *
194
+ * Access Level: List
195
+ *
196
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListResponderGateways.html
197
+ */
198
+ toListResponderGateways() {
199
+ return this.to('ListResponderGateways');
200
+ }
201
+ /**
202
+ * Grants permission to list tags for a resource
203
+ *
204
+ * Access Level: Read
205
+ *
206
+ * Possible conditions:
207
+ * - .ifAwsResourceTag()
208
+ *
209
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListTagsForResource.html
210
+ */
211
+ toListTagsForResource() {
212
+ return this.to('ListTagsForResource');
213
+ }
214
+ /**
215
+ * Grants permission to reject a link request between RTB applications
216
+ *
217
+ * Access Level: Write
218
+ *
219
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_RejectLink.html
220
+ */
221
+ toRejectLink() {
222
+ return this.to('RejectLink');
223
+ }
224
+ /**
225
+ * Grants permission to assign one or more tags (key-value pairs) to the specified resource
226
+ *
227
+ * Access Level: Tagging
228
+ *
229
+ * Possible conditions:
230
+ * - .ifAwsRequestTag()
231
+ * - .ifAwsResourceTag()
232
+ * - .ifAwsTagKeys()
233
+ *
234
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_TagResource.html
235
+ */
236
+ toTagResource() {
237
+ return this.to('TagResource');
238
+ }
239
+ /**
240
+ * Grants permission to remove a tag or tags from a resource
241
+ *
242
+ * Access Level: Tagging
243
+ *
244
+ * Possible conditions:
245
+ * - .ifAwsResourceTag()
246
+ * - .ifAwsTagKeys()
247
+ *
248
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UntagResource.html
249
+ */
250
+ toUntagResource() {
251
+ return this.to('UntagResource');
252
+ }
253
+ /**
254
+ * Grants permission to update configuration settings for an existing link
255
+ *
256
+ * Access Level: Write
257
+ *
258
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateLink.html
259
+ */
260
+ toUpdateLink() {
261
+ return this.to('UpdateLink');
262
+ }
263
+ /**
264
+ * Grants permission to update a link module flow
265
+ *
266
+ * Access Level: Write
267
+ *
268
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateLinkModuleFlow.html
269
+ */
270
+ toUpdateLinkModuleFlow() {
271
+ return this.to('UpdateLinkModuleFlow');
272
+ }
273
+ /**
274
+ * Grants permission to update a requester gateway
275
+ *
276
+ * Access Level: Write
277
+ *
278
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateRequesterGateway.html
279
+ */
280
+ toUpdateRequesterGateway() {
281
+ return this.to('UpdateRequesterGateway');
282
+ }
283
+ /**
284
+ * Grants permission to update a responder gateway
285
+ *
286
+ * Access Level: Write
287
+ *
288
+ * https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateResponderGateway.html
289
+ */
290
+ toUpdateResponderGateway() {
291
+ return this.to('UpdateResponderGateway');
292
+ }
293
+ /**
294
+ * Adds a resource of type InboundExternalLink to the statement
295
+ *
296
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/links.html
297
+ *
298
+ * @param gatewayId - Identifier for the gatewayId.
299
+ * @param linkId - Identifier for the linkId.
300
+ * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
301
+ * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
302
+ * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
303
+ *
304
+ * Possible conditions:
305
+ * - .ifInboundExternalLinkLinkId()
306
+ * - .ifResponderGatewayGatewayId()
307
+ */
308
+ onInboundExternalLink(gatewayId, linkId, account, region, partition) {
309
+ return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}/link/${linkId}`);
310
+ }
311
+ /**
312
+ * Adds a resource of type Link to the statement
313
+ *
314
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/links.html
315
+ *
316
+ * @param gatewayId - Identifier for the gatewayId.
317
+ * @param linkId - Identifier for the linkId.
318
+ * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
319
+ * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
320
+ * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
321
+ *
322
+ * Possible conditions:
323
+ * - .ifLinkLinkId()
324
+ * - .ifRequesterGatewayGatewayId()
325
+ * - .ifResponderGatewayGatewayId()
326
+ */
327
+ onLink(gatewayId, linkId, account, region, partition) {
328
+ return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}/link/${linkId}`);
329
+ }
330
+ /**
331
+ * Adds a resource of type OutboundExternalLink to the statement
332
+ *
333
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/links.html
334
+ *
335
+ * @param gatewayId - Identifier for the gatewayId.
336
+ * @param linkId - Identifier for the linkId.
337
+ * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
338
+ * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
339
+ * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
340
+ *
341
+ * Possible conditions:
342
+ * - .ifOutboundExternalLinkLinkId()
343
+ * - .ifRequesterGatewayGatewayId()
344
+ */
345
+ onOutboundExternalLink(gatewayId, linkId, account, region, partition) {
346
+ return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}/link/${linkId}`);
347
+ }
348
+ /**
349
+ * Adds a resource of type RequesterGateway to the statement
350
+ *
351
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/working-with-requester-rtb-applications.html
352
+ *
353
+ * @param gatewayId - Identifier for the gatewayId.
354
+ * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
355
+ * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
356
+ * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
357
+ *
358
+ * Possible conditions:
359
+ * - .ifRequesterGatewayGatewayId()
360
+ */
361
+ onRequesterGateway(gatewayId, account, region, partition) {
362
+ return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}`);
363
+ }
364
+ /**
365
+ * Adds a resource of type ResponderGateway to the statement
366
+ *
367
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/working-with-responder-rtb-applications.html
368
+ *
369
+ * @param gatewayId - Identifier for the gatewayId.
370
+ * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
371
+ * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
372
+ * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
373
+ *
374
+ * Possible conditions:
375
+ * - .ifResponderGatewayGatewayId()
376
+ */
377
+ onResponderGateway(gatewayId, account, region, partition) {
378
+ return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}`);
379
+ }
380
+ /**
381
+ * Filters access by a tag key and value pair that is allowed in the request
382
+ *
383
+ * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
384
+ *
385
+ * Applies to actions:
386
+ * - .toTagResource()
387
+ *
388
+ * @param tagKey The tag key to check
389
+ * @param value The value(s) to check
390
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
391
+ */
392
+ ifAwsRequestTag(tagKey, value, operator) {
393
+ return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike');
394
+ }
395
+ /**
396
+ * Filters access by a tag key and value pair of a resource
397
+ *
398
+ * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
399
+ *
400
+ * Applies to actions:
401
+ * - .toListTagsForResource()
402
+ * - .toTagResource()
403
+ * - .toUntagResource()
404
+ *
405
+ * @param tagKey The tag key to check
406
+ * @param value The value(s) to check
407
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
408
+ */
409
+ ifAwsResourceTag(tagKey, value, operator) {
410
+ return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike');
411
+ }
412
+ /**
413
+ * Filters access by a list of tag keys that are allowed in the request
414
+ *
415
+ * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
416
+ *
417
+ * Applies to actions:
418
+ * - .toTagResource()
419
+ * - .toUntagResource()
420
+ *
421
+ * @param value The value(s) to check
422
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
423
+ */
424
+ ifAwsTagKeys(value, operator) {
425
+ return this.if(`aws:TagKeys`, value, operator ?? 'StringLike');
426
+ }
427
+ /**
428
+ * Filters access by gateway identifier supporting rtb-gw-* formats
429
+ *
430
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
431
+ *
432
+ * @param value The value(s) to check
433
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
434
+ */
435
+ ifInboundExternalLinkGatewayId(value, operator) {
436
+ return this.if(`InboundExternalLinkGatewayId`, value, operator ?? 'StringLike');
437
+ }
438
+ /**
439
+ * Filters access by InboundExternalLink resource linkId identifier
440
+ *
441
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
442
+ *
443
+ * Applies to resource types:
444
+ * - InboundExternalLink
445
+ *
446
+ * @param value The value(s) to check
447
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
448
+ */
449
+ ifInboundExternalLinkLinkId(value, operator) {
450
+ return this.if(`InboundExternalLinkLinkId`, value, operator ?? 'StringLike');
451
+ }
452
+ /**
453
+ * Filters access by Link resource linkId identifier
454
+ *
455
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
456
+ *
457
+ * Applies to resource types:
458
+ * - Link
459
+ *
460
+ * @param value The value(s) to check
461
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
462
+ */
463
+ ifLinkLinkId(value, operator) {
464
+ return this.if(`LinkLinkId`, value, operator ?? 'StringLike');
465
+ }
466
+ /**
467
+ * Filters access by OutboundExternalLink resource linkId identifier
468
+ *
469
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
470
+ *
471
+ * Applies to resource types:
472
+ * - OutboundExternalLink
473
+ *
474
+ * @param value The value(s) to check
475
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
476
+ */
477
+ ifOutboundExternalLinkLinkId(value, operator) {
478
+ return this.if(`OutboundExternalLinkLinkId`, value, operator ?? 'StringLike');
479
+ }
480
+ /**
481
+ * Filters access by gateway identifier supporting rtb-gw-* formats
482
+ *
483
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
484
+ *
485
+ * Applies to resource types:
486
+ * - Link
487
+ * - OutboundExternalLink
488
+ * - RequesterGateway
489
+ *
490
+ * @param value The value(s) to check
491
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
492
+ */
493
+ ifRequesterGatewayGatewayId(value, operator) {
494
+ return this.if(`RequesterGatewayGatewayId`, value, operator ?? 'StringLike');
495
+ }
496
+ /**
497
+ * Filters access by gateway identifier supporting rtb-gw-* formats
498
+ *
499
+ * https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
500
+ *
501
+ * Applies to resource types:
502
+ * - InboundExternalLink
503
+ * - Link
504
+ * - ResponderGateway
505
+ *
506
+ * @param value The value(s) to check
507
+ * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
508
+ */
509
+ ifResponderGatewayGatewayId(value, operator) {
510
+ return this.if(`ResponderGatewayGatewayId`, value, operator ?? 'StringLike');
511
+ }
512
+ /**
513
+ * Statement provider for service [rtbfabric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrtbfabric.html).
514
+ *
515
+ */
516
+ constructor(props) {
517
+ super(props);
518
+ this.servicePrefix = 'rtbfabric';
519
+ this.accessLevelList = {
520
+ Write: [
521
+ 'AcceptLink',
522
+ 'CreateInboundExternalLink',
523
+ 'CreateLink',
524
+ 'CreateOutboundExternalLink',
525
+ 'CreateRequesterGateway',
526
+ 'CreateResponderGateway',
527
+ 'DeleteInboundExternalLink',
528
+ 'DeleteLink',
529
+ 'DeleteOutboundExternalLink',
530
+ 'DeleteRequesterGateway',
531
+ 'DeleteResponderGateway',
532
+ 'RejectLink',
533
+ 'UpdateLink',
534
+ 'UpdateLinkModuleFlow',
535
+ 'UpdateRequesterGateway',
536
+ 'UpdateResponderGateway'
537
+ ],
538
+ Read: [
539
+ 'GetInboundExternalLink',
540
+ 'GetLink',
541
+ 'GetOutboundExternalLink',
542
+ 'GetRequesterGateway',
543
+ 'GetResponderGateway',
544
+ 'ListTagsForResource'
545
+ ],
546
+ List: [
547
+ 'ListLinks',
548
+ 'ListRequesterGateways',
549
+ 'ListResponderGateways'
550
+ ],
551
+ Tagging: [
552
+ 'TagResource',
553
+ 'UntagResource'
554
+ ]
555
+ };
556
+ }
557
+ }
558
+ exports.Rtbfabric = Rtbfabric;
559
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRiZmFicmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnRiZmFicmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsd0JBQWU7SUFHNUM7Ozs7OztPQU1HO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDRCQUE0QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDRCQUE0QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENB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QUN6QixxQkFBcUI7Z0JBQ3JCLHFCQUFxQjtnQkFDckIscUJBQXFCO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFdBQVc7Z0JBQ1gsdUJBQXVCO2dCQUN2Qix1QkFBdUI7YUFDeEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQWlQRixDQUFDO0NBQ0Y7QUE5a0JELDhCQThrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3J0YmZhYnJpY10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzcnRiZmFicmljLmh0bWwpLlxuICpcbiAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgUnRiZmFicmljIGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAncnRiZmFicmljJztcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWNjZXB0IGEgbGluayBpbnZpdGF0aW9uIGZyb20gYW5vdGhlciBHYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfQWNjZXB0TGluay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9BY2NlcHRMaW5rKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBY2NlcHRMaW5rJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGFuIGluYm91bmQgZXh0ZXJuYWwgbGluayBmb3IgYSByZXNwb25kZXIgZ2F0ZXdheVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0NyZWF0ZUluYm91bmRFeHRlcm5hbExpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlSW5ib3VuZEV4dGVybmFsTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlSW5ib3VuZEV4dGVybmFsTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIG5ldyBsaW5rIGJldHdlZW4gUlRCIGFwcGxpY2F0aW9uc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0NyZWF0ZUxpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBvdXRib3VuZCBleHRlcm5hbCBsaW5rIGZvciBhIHJlcXVlc3RlciBnYXRld2F5IHRvIGNvbm5lY3QgdG8gZXh0ZXJuYWwgcHVibGljIHJlc3BvbmRlciBlbmRwb2ludHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9DcmVhdGVPdXRib3VuZEV4dGVybmFsTGluay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVPdXRib3VuZEV4dGVybmFsTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlT3V0Ym91bmRFeHRlcm5hbExpbmsnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSByZXF1ZXN0ZXIgZ2F0ZXdheVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0NyZWF0ZVJlcXVlc3RlckdhdGV3YXkuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlUmVxdWVzdGVyR2F0ZXdheSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlUmVxdWVzdGVyR2F0ZXdheScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHJlc3BvbmRlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfQ3JlYXRlUmVzcG9uZGVyR2F0ZXdheS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVSZXNwb25kZXJHYXRld2F5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVSZXNwb25kZXJHYXRld2F5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGluYm91bmQgZXh0ZXJuYWwgbGlua1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0RlbGV0ZUluYm91bmRFeHRlcm5hbExpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlSW5ib3VuZEV4dGVybmFsTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlSW5ib3VuZEV4dGVybmFsTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIGxpbmsgYmV0d2VlbiBSVEIgYXBwbGljYXRpb25zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfRGVsZXRlTGluay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVMaW5rKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVMaW5rJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIG91dGJvdW5kIGV4dGVybmFsIGxpbmtcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9EZWxldGVPdXRib3VuZEV4dGVybmFsTGluay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVPdXRib3VuZEV4dGVybmFsTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlT3V0Ym91bmRFeHRlcm5hbExpbmsnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSByZXF1ZXN0ZXIgZ2F0ZXdheVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0RlbGV0ZVJlcXVlc3RlckdhdGV3YXkuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlUmVxdWVzdGVyR2F0ZXdheSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlUmVxdWVzdGVyR2F0ZXdheScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIHJlc3BvbmRlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfRGVsZXRlUmVzcG9uZGVyR2F0ZXdheS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVSZXNwb25kZXJHYXRld2F5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVSZXNwb25kZXJHYXRld2F5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgaW5mb3JtYXRpb24gYWJvdXQgYW4gaW5ib3VuZCBleHRlcm5hbCBsaW5rXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9HZXRJbmJvdW5kRXh0ZXJuYWxMaW5rLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEluYm91bmRFeHRlcm5hbExpbmsoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEluYm91bmRFeHRlcm5hbExpbmsnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBhIGxpbmsgYmV0d2VlbiBSVEIgYXBwbGljYXRpb25zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9HZXRMaW5rLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldExpbmsoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldExpbmsnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBhbiBvdXRib3VuZCBleHRlcm5hbCBsaW5rXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9HZXRPdXRib3VuZEV4dGVybmFsTGluay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRPdXRib3VuZEV4dGVybmFsTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0T3V0Ym91bmRFeHRlcm5hbExpbmsnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBhIHJlcXVlc3RlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9HZXRSZXF1ZXN0ZXJHYXRld2F5Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFJlcXVlc3RlckdhdGV3YXkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFJlcXVlc3RlckdhdGV3YXknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBhIHJlc3BvbmRlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9HZXRSZXNwb25kZXJHYXRld2F5Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFJlc3BvbmRlckdhdGV3YXkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFJlc3BvbmRlckdhdGV3YXknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGxpbmtzIGFzc29jaWF0ZWQgd2l0aCBhbiBSVEIgYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0xpc3RMaW5rcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0TGlua3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RMaW5rcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgcmVxdWVzdGVyIGdhdGV3YXlzIHdpdGggb3B0aW9uYWwgZmlsdGVyaW5nIGFuZCBwYWdpbmF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9MaXN0UmVxdWVzdGVyR2F0ZXdheXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFJlcXVlc3RlckdhdGV3YXlzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UmVxdWVzdGVyR2F0ZXdheXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHJlc3BvbmRlciBnYXRld2F5cyB3aXRoIG9wdGlvbmFsIGZpbHRlcmluZyBhbmQgcGFnaW5hdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfTGlzdFJlc3BvbmRlckdhdGV3YXlzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RSZXNwb25kZXJHYXRld2F5cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFJlc3BvbmRlckdhdGV3YXlzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0YWdzIGZvciBhIHJlc291cmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfTGlzdFRhZ3NGb3JSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0VGFnc0ZvclJlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0VGFnc0ZvclJlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVqZWN0IGEgbGluayByZXF1ZXN0IGJldHdlZW4gUlRCIGFwcGxpY2F0aW9uc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX1JlamVjdExpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUmVqZWN0TGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUmVqZWN0TGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFzc2lnbiBvbmUgb3IgbW9yZSB0YWdzIChrZXktdmFsdWUgcGFpcnMpIHRvIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBUYWdnaW5nXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQXdzUmVzb3VyY2VUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9UYWdSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9UYWdSZXNvdXJjZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVGFnUmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZW1vdmUgYSB0YWcgb3IgdGFncyBmcm9tIGEgcmVzb3VyY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBUYWdnaW5nXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVzb3VyY2VUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9VbnRhZ1Jlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VudGFnUmVzb3VyY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VudGFnUmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgYW4gZXhpc3RpbmcgbGlua1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX1VwZGF0ZUxpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBhIGxpbmsgbW9kdWxlIGZsb3dcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9VcGRhdGVMaW5rTW9kdWxlRmxvdy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVMaW5rTW9kdWxlRmxvdygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlTGlua01vZHVsZUZsb3cnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgYSByZXF1ZXN0ZXIgZ2F0ZXdheVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX1VwZGF0ZVJlcXVlc3RlckdhdGV3YXkuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlUmVxdWVzdGVyR2F0ZXdheSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlUmVxdWVzdGVyR2F0ZXdheScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBhIHJlc3BvbmRlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfVXBkYXRlUmVzcG9uZGVyR2F0ZXdheS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVSZXNwb25kZXJHYXRld2F5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVSZXNwb25kZXJHYXRld2F5Jyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWNjZXNzTGV2ZWxMaXN0OiBBY2Nlc3NMZXZlbExpc3QgPSB7XG4gICAgV3JpdGU6IFtcbiAgICAgICdBY2NlcHRMaW5rJyxcbiAgICAgICdDcmVhdGVJbmJvdW5kRXh0ZXJuYWxMaW5rJyxcbiAgICAgICdDcmVhdGVMaW5rJyxcbiAgICAgICdDcmVhdGVPdXRib3VuZEV4dGVybmFsTGluaycsXG4gICAgICAnQ3JlYXRlUmVxdWVzdGVyR2F0ZXdheScsXG4gICAgICAnQ3JlYXRlUmVzcG9uZGVyR2F0ZXdheScsXG4gICAgICAnRGVsZXRlSW5ib3VuZEV4dGVybmFsTGluaycsXG4gICAgICAnRGVsZXRlTGluaycsXG4gICAgICAnRGVsZXRlT3V0Ym91bmRFeHRlcm5hbExpbmsnLFxuICAgICAgJ0RlbGV0ZVJlcXVlc3RlckdhdGV3YXknLFxuICAgICAgJ0RlbGV0ZVJlc3BvbmRlckdhdGV3YXknLFxuICAgICAgJ1JlamVjdExpbmsnLFxuICAgICAgJ1VwZGF0ZUxpbmsnLFxuICAgICAgJ1VwZGF0ZUxpbmtNb2R1bGVGbG93JyxcbiAgICAgICdVcGRhdGVSZXF1ZXN0ZXJHYXRld2F5JyxcbiAgICAgICdVcGRhdGVSZXNwb25kZXJHYXRld2F5J1xuICAgIF0sXG4gICAgUmVhZDogW1xuICAgICAgJ0dldEluYm91bmRFeHRlcm5hbExpbmsnLFxuICAgICAgJ0dldExpbmsnLFxuICAgICAgJ0dldE91dGJvdW5kRXh0ZXJuYWxMaW5rJyxcbiAgICAgICdHZXRSZXF1ZXN0ZXJHYXRld2F5JyxcbiAgICAgICdHZXRSZXNwb25kZXJHYXRld2F5JyxcbiAgICAgICdMaXN0VGFnc0ZvclJlc291cmNlJ1xuICAgIF0sXG4gICAgTGlzdDogW1xuICAgICAgJ0xpc3RMaW5rcycsXG4gICAgICAnTGlzdFJlcXVlc3RlckdhdGV3YXlzJyxcbiAgICAgICdMaXN0UmVzcG9uZGVyR2F0ZXdheXMnXG4gICAgXSxcbiAgICBUYWdnaW5nOiBbXG4gICAgICAnVGFnUmVzb3VyY2UnLFxuICAgICAgJ1VudGFnUmVzb3VyY2UnXG4gICAgXVxuICB9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBJbmJvdW5kRXh0ZXJuYWxMaW5rIHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L3VzZXJndWlkZS9saW5rcy5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBnYXRld2F5SWQgLSBJZGVudGlmaWVyIGZvciB0aGUgZ2F0ZXdheUlkLlxuICAgKiBAcGFyYW0gbGlua0lkIC0gSWRlbnRpZmllciBmb3IgdGhlIGxpbmtJZC5cbiAgICogQHBhcmFtIGFjY291bnQgLSBBY2NvdW50IG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBhY2NvdW50LlxuICAgKiBAcGFyYW0gcmVnaW9uIC0gUmVnaW9uIG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyByZWdpb24uXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmSW5ib3VuZEV4dGVybmFsTGlua0xpbmtJZCgpXG4gICAqIC0gLmlmUmVzcG9uZGVyR2F0ZXdheUdhdGV3YXlJZCgpXG4gICAqL1xuICBwdWJsaWMgb25JbmJvdW5kRXh0ZXJuYWxMaW5rKGdhdGV3YXlJZDogc3RyaW5nLCBsaW5rSWQ6IHN0cmluZywgYWNjb3VudD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpydGJmYWJyaWM6JHsgcmVnaW9uID8/IHRoaXMuZGVmYXVsdFJlZ2lvbiB9OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OmdhdGV3YXkvJHsgZ2F0ZXdheUlkIH0vbGluay8keyBsaW5rSWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIExpbmsgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvdXNlcmd1aWRlL2xpbmtzLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGdhdGV3YXlJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBnYXRld2F5SWQuXG4gICAqIEBwYXJhbSBsaW5rSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgbGlua0lkLlxuICAgKiBAcGFyYW0gYWNjb3VudCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZMaW5rTGlua0lkKClcbiAgICogLSAuaWZSZXF1ZXN0ZXJHYXRld2F5R2F0ZXdheUlkKClcbiAgICogLSAuaWZSZXNwb25kZXJHYXRld2F5R2F0ZXdheUlkKClcbiAgICovXG4gIHB1YmxpYyBvbkxpbmsoZ2F0ZXdheUlkOiBzdHJpbmcsIGxpbmtJZDogc3RyaW5nLCBhY2NvdW50Pzogc3RyaW5nLCByZWdpb24/OiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uID8/IHRoaXMuZGVmYXVsdFBhcnRpdGlvbiB9OnJ0YmZhYnJpYzokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06Z2F0ZXdheS8keyBnYXRld2F5SWQgfS9saW5rLyR7IGxpbmtJZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgT3V0Ym91bmRFeHRlcm5hbExpbmsgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvdXNlcmd1aWRlL2xpbmtzLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGdhdGV3YXlJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBnYXRld2F5SWQuXG4gICAqIEBwYXJhbSBsaW5rSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgbGlua0lkLlxuICAgKiBAcGFyYW0gYWNjb3VudCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZPdXRib3VuZEV4dGVybmFsTGlua0xpbmtJZCgpXG4gICAqIC0gLmlmUmVxdWVzdGVyR2F0ZXdheUdhdGV3YXlJZCgpXG4gICAqL1xuICBwdWJsaWMgb25PdXRib3VuZEV4dGVybmFsTGluayhnYXRld2F5SWQ6IHN0cmluZywgbGlua0lkOiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06cnRiZmFicmljOiR7IHJlZ2lvbiA/PyB0aGlzLmRlZmF1bHRSZWdpb24gfTokeyBhY2NvdW50ID8/IHRoaXMuZGVmYXVsdEFjY291bnQgfTpnYXRld2F5LyR7IGdhdGV3YXlJZCB9L2xpbmsvJHsgbGlua0lkIH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBSZXF1ZXN0ZXJHYXRld2F5IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L3VzZXJndWlkZS93b3JraW5nLXdpdGgtcmVxdWVzdGVyLXJ0Yi1hcHBsaWNhdGlvbnMuaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gZ2F0ZXdheUlkIC0gSWRlbnRpZmllciBmb3IgdGhlIGdhdGV3YXlJZC5cbiAgICogQHBhcmFtIGFjY291bnQgLSBBY2NvdW50IG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBhY2NvdW50LlxuICAgKiBAcGFyYW0gcmVnaW9uIC0gUmVnaW9uIG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyByZWdpb24uXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmUmVxdWVzdGVyR2F0ZXdheUdhdGV3YXlJZCgpXG4gICAqL1xuICBwdWJsaWMgb25SZXF1ZXN0ZXJHYXRld2F5KGdhdGV3YXlJZDogc3RyaW5nLCBhY2NvdW50Pzogc3RyaW5nLCByZWdpb24/OiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uID8/IHRoaXMuZGVmYXVsdFBhcnRpdGlvbiB9OnJ0YmZhYnJpYzokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06Z2F0ZXdheS8keyBnYXRld2F5SWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIFJlc3BvbmRlckdhdGV3YXkgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvdXNlcmd1aWRlL3dvcmtpbmctd2l0aC1yZXNwb25kZXItcnRiLWFwcGxpY2F0aW9ucy5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBnYXRld2F5SWQgLSBJZGVudGlmaWVyIGZvciB0aGUgZ2F0ZXdheUlkLlxuICAgKiBAcGFyYW0gYWNjb3VudCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZSZXNwb25kZXJHYXRld2F5R2F0ZXdheUlkKClcbiAgICovXG4gIHB1YmxpYyBvblJlc3BvbmRlckdhdGV3YXkoZ2F0ZXdheUlkOiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06cnRiZmFicmljOiR7IHJlZ2lvbiA/PyB0aGlzLmRlZmF1bHRSZWdpb24gfTokeyBhY2NvdW50ID8/IHRoaXMuZGVmYXVsdEFjY291bnQgfTpnYXRld2F5LyR7IGdhdGV3YXlJZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgYSB0YWcga2V5IGFuZCB2YWx1ZSBwYWlyIHRoYXQgaXMgYWxsb3dlZCBpbiB0aGUgcmVxdWVzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2NvbmRpdGlvbi1rZXlzLmh0bWwjY29uZGl0aW9uLWtleXMtcmVxdWVzdHRhZ1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvVGFnUmVzb3VyY2UoKVxuICAgKlxuICAgKiBAcGFyYW0gdGFnS2V5IFRoZSB0YWcga2V5IHRvIGNoZWNrXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQXdzUmVxdWVzdFRhZyh0YWdLZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYGF3czpSZXF1ZXN0VGFnLyR7IHRhZ0tleSB9YCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgYSB0YWcga2V5IGFuZCB2YWx1ZSBwYWlyIG9mIGEgcmVzb3VyY2VcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19jb25kaXRpb24ta2V5cy5odG1sI2NvbmRpdGlvbi1rZXlzLXJlc291cmNldGFnXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9MaXN0VGFnc0ZvclJlc291cmNlKClcbiAgICogLSAudG9UYWdSZXNvdXJjZSgpXG4gICAqIC0gLnRvVW50YWdSZXNvdXJjZSgpXG4gICAqXG4gICAqIEBwYXJhbSB0YWdLZXkgVGhlIHRhZyBrZXkgdG8gY2hlY2tcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBd3NSZXNvdXJjZVRhZyh0YWdLZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYGF3czpSZXNvdXJjZVRhZy8keyB0YWdLZXkgfWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IGEgbGlzdCBvZiB0YWcga2V5cyB0aGF0IGFyZSBhbGxvd2VkIGluIHRoZSByZXF1ZXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfY29uZGl0aW9uLWtleXMuaHRtbCNjb25kaXRpb24ta2V5cy10YWdrZXlzXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9UYWdSZXNvdXJjZSgpXG4gICAqIC0gLnRvVW50YWdSZXNvdXJjZSgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQXdzVGFnS2V5cyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgYXdzOlRhZ0tleXNgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSBnYXRld2F5IGlkZW50aWZpZXIgc3VwcG9ydGluZyBydGItZ3ctKiBmb3JtYXRzXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC91c2VyZ3VpZGUvc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0uaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkluYm91bmRFeHRlcm5hbExpbmtHYXRld2F5SWQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYEluYm91bmRFeHRlcm5hbExpbmtHYXRld2F5SWRgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSBJbmJvdW5kRXh0ZXJuYWxMaW5rIHJlc291cmNlIGxpbmtJZCBpZGVudGlmaWVyXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC91c2VyZ3VpZGUvc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0uaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIHJlc291cmNlIHR5cGVzOlxuICAgKiAtIEluYm91bmRFeHRlcm5hbExpbmtcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZJbmJvdW5kRXh0ZXJuYWxMaW5rTGlua0lkKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBJbmJvdW5kRXh0ZXJuYWxMaW5rTGlua0lkYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgTGluayByZXNvdXJjZSBsaW5rSWQgaWRlbnRpZmllclxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvdXNlcmd1aWRlL3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLmh0bWxcbiAgICpcbiAgICogQXBwbGllcyB0byByZXNvdXJjZSB0eXBlczpcbiAgICogLSBMaW5rXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmTGlua0xpbmtJZCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgTGlua0xpbmtJZGAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IE91dGJvdW5kRXh0ZXJuYWxMaW5rIHJlc291cmNlIGxpbmtJZCBpZGVudGlmaWVyXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC91c2VyZ3VpZGUvc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0uaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIHJlc291cmNlIHR5cGVzOlxuICAgKiAtIE91dGJvdW5kRXh0ZXJuYWxMaW5rXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmT3V0Ym91bmRFeHRlcm5hbExpbmtMaW5rSWQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYE91dGJvdW5kRXh0ZXJuYWxMaW5rTGlua0lkYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgZ2F0ZXdheSBpZGVudGlmaWVyIHN1cHBvcnRpbmcgcnRiLWd3LSogZm9ybWF0c1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvdXNlcmd1aWRlL3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLmh0bWxcbiAgICpcbiAgICogQXBwbGllcyB0byByZXNvdXJjZSB0eXBlczpcbiAgICogLSBMaW5rXG4gICAqIC0gT3V0Ym91bmRFeHRlcm5hbExpbmtcbiAgICogLSBSZXF1ZXN0ZXJHYXRld2F5XG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmUmVxdWVzdGVyR2F0ZXdheUdhdGV3YXlJZCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgUmVxdWVzdGVyR2F0ZXdheUdhdGV3YXlJZGAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IGdhdGV3YXkgaWRlbnRpZmllciBzdXBwb3J0aW5nIHJ0Yi1ndy0qIGZvcm1hdHNcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L3VzZXJndWlkZS9zZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS5odG1sXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gcmVzb3VyY2UgdHlwZXM6XG4gICAqIC0gSW5ib3VuZEV4dGVybmFsTGlua1xuICAgKiAtIExpbmtcbiAgICogLSBSZXNwb25kZXJHYXRld2F5XG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmUmVzcG9uZGVyR2F0ZXdheUdhdGV3YXlJZCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgUmVzcG9uZGVyR2F0ZXdheUdhdGV3YXlJZGAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbcnRiZmFicmljXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NydGJmYWJyaWMuaHRtbCkuXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IGlhbS5Qb2xpY3lTdGF0ZW1lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxufVxuIl19
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "name": "cdk-iam-floyd",
9
9
  "description": "AWS IAM policy statement generator with fluent interface for AWS CDK",
10
- "version": "0.725.0",
10
+ "version": "0.727.0",
11
11
  "license": "Apache-2.0",
12
12
  "author": {
13
13
  "name": "Daniel Schroeder",