cdk8s-plus-31 2.0.4 → 2.0.6

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.
package/.jsii CHANGED
@@ -70,7 +70,7 @@
70
70
  "stability": "stable"
71
71
  },
72
72
  "homepage": "https://github.com/cdk8s-team/cdk8s-plus.git",
73
- "jsiiVersion": "1.105.0 (build 0a2adcb)",
73
+ "jsiiVersion": "5.6.3 (build 899e1a1)",
74
74
  "keywords": [
75
75
  "cdk",
76
76
  "configuration",
@@ -282,7 +282,7 @@
282
282
  },
283
283
  {
284
284
  "docs": {
285
- "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig()",
285
+ "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig ()",
286
286
  "stability": "stable",
287
287
  "summary": "Return the configuration of this peer."
288
288
  },
@@ -300,7 +300,7 @@
300
300
  },
301
301
  {
302
302
  "docs": {
303
- "see": "INetworkPolicyPeer.toPodSelector()",
303
+ "see": "INetworkPolicyPeer.toPodSelector ()",
304
304
  "stability": "stable",
305
305
  "summary": "Convert the peer into a pod selector, if possible."
306
306
  },
@@ -319,7 +319,7 @@
319
319
  },
320
320
  {
321
321
  "docs": {
322
- "see": "IPodSelector.toPodSelectorConfig()",
322
+ "see": "IPodSelector.toPodSelectorConfig ()",
323
323
  "stability": "stable",
324
324
  "summary": "Return the configuration of this selector."
325
325
  },
@@ -337,7 +337,7 @@
337
337
  },
338
338
  {
339
339
  "docs": {
340
- "see": "ISubect.toSubjectConfiguration()",
340
+ "see": "ISubect.toSubjectConfiguration ()",
341
341
  "stability": "stable",
342
342
  "summary": "Return the subject configuration."
343
343
  },
@@ -6779,7 +6779,7 @@
6779
6779
  "assembly": "cdk8s-plus-31",
6780
6780
  "base": "cdk8s-plus-31.Workload",
6781
6781
  "docs": {
6782
- "remarks": "You describe a desired state in a Deployment, and the Deployment Controller changes the actual\nstate to the desired state at a controlled rate. You can define Deployments to create new ReplicaSets, or to remove\nexisting Deployments and adopt all their resources with new Deployments.\n\n> Note: Do not manage ReplicaSets owned by a Deployment. Consider opening an issue in the main Kubernetes repository if your use case is not covered below.\n\nUse Case\n\nThe following are typical use cases for Deployments:\n\n- Create a Deployment to rollout a ReplicaSet. The ReplicaSet creates Pods in the background.\n Check the status of the rollout to see if it succeeds or not.\n- Declare the new state of the Pods by updating the PodTemplateSpec of the Deployment.\n A new ReplicaSet is created and the Deployment manages moving the Pods from the old ReplicaSet to the new one at a controlled rate.\n Each new ReplicaSet updates the revision of the Deployment.\n- Rollback to an earlier Deployment revision if the current state of the Deployment is not stable.\n Each rollback updates the revision of the Deployment.\n- Scale up the Deployment to facilitate more load.\n- Pause the Deployment to apply multiple fixes to its PodTemplateSpec and then resume it to start a new rollout.\n- Use the status of the Deployment as an indicator that a rollout has stuck.\n- Clean up older ReplicaSets that you don't need anymore.",
6782
+ "remarks": "You describe a desired state in a Deployment, and the Deployment Controller changes the actual\nstate to the desired state at a controlled rate. You can define Deployments to create new ReplicaSets, or to remove\nexisting Deployments and adopt all their resources with new Deployments.\n\n> Note: Do not manage ReplicaSets owned by a Deployment. Consider opening an issue in the main Kubernetes repository if your use case is not covered below.\n\nUse Case\n\nThe following are typical use cases for Deployments:\n\n- Create a Deployment to rollout a ReplicaSet. The ReplicaSet creates Pods in the background.\n Check the status of the rollout to see if it succeeds or not.\n- Declare the new state of the Pods by updating the PodTemplateSpec of the Deployment.\n A new ReplicaSet is created and the Deployment manages moving the Pods from the old ReplicaSet to the new one at a controlled rate.\n Each new ReplicaSet updates the revision of the Deployment.\n- Rollback to an earlier Deployment revision if the current state of the Deployment is not stable.\n Each rollback updates the revision of the Deployment.\n- Scale up the Deployment to facilitate more load.\n- Pause the Deployment to apply multiple fixes to its PodTemplateSpec and then resume it to start a new rollout.\n- Use the status of the Deployment as an indicator that a rollout has stuck.\n- Clean up older ReplicaSets that you don't need anymore.",
6783
6783
  "stability": "stable",
6784
6784
  "summary": "A Deployment provides declarative updates for Pods and ReplicaSets."
6785
6785
  },
@@ -6892,7 +6892,7 @@
6892
6892
  },
6893
6893
  {
6894
6894
  "docs": {
6895
- "see": "IScalable.markHasAutoscaler()",
6895
+ "see": "IScalable.markHasAutoscaler ()",
6896
6896
  "stability": "stable",
6897
6897
  "summary": "Called on all IScalable targets when they are associated with an autoscaler."
6898
6898
  },
@@ -6905,7 +6905,7 @@
6905
6905
  },
6906
6906
  {
6907
6907
  "docs": {
6908
- "see": "IScalable.toScalingTarget()",
6908
+ "see": "IScalable.toScalingTarget ()",
6909
6909
  "stability": "stable",
6910
6910
  "summary": "Return the target spec properties of this Scalable."
6911
6911
  },
@@ -8970,7 +8970,7 @@
8970
8970
  },
8971
8971
  {
8972
8972
  "docs": {
8973
- "see": "ISubect.toSubjectConfiguration()",
8973
+ "see": "ISubect.toSubjectConfiguration ()",
8974
8974
  "stability": "stable",
8975
8975
  "summary": "Return the subject configuration."
8976
8976
  },
@@ -9247,7 +9247,7 @@
9247
9247
  "base": "cdk8s-plus-31.Resource",
9248
9248
  "docs": {
9249
9249
  "example": "const backend = new kplus.Deployment(this, 'Backend', ...);\n\nconst hpa = new kplus.HorizontalPodAutoscaler(chart, 'Hpa', {\n target: backend,\n maxReplicas: 10,\n scaleUp: {\n policies: [\n {\n replicas: kplus.Replicas.absolute(3),\n duration: Duration.minutes(5),\n },\n ],\n },\n});",
9250
- "remarks": "This allows your services to scale up when demand is high and scale down\nwhen they are no longer needed.\n\n\nTypical use cases for HorizontalPodAutoscaler:\n\n* When Memory usage is above 70%, scale up the number of replicas to meet the demand.\n* When CPU usage is below 30%, scale down the number of replicas to save resources.\n* When a service is experiencing a spike in traffic, scale up the number of replicas\n to meet the demand. Then, when the traffic subsides, scale down the number of\n replicas to save resources.\n\nThe autoscaler uses the following algorithm to determine the number of replicas to scale:\n\n`desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]`\n\nHorizontalPodAutoscaler's can be used to with any `Scalable` workload:\n* Deployment\n* StatefulSet\n\n**Targets that already have a replica count defined:**\n\nRemove any replica counts from the target resource before associating with a\nHorizontalPodAutoscaler. If this isn't done, then any time a change to that object is applied,\nKubernetes will scale the current number of Pods to the value of the target.replicas key. This\nmay not be desired and could lead to unexpected behavior.",
9250
+ "remarks": "This allows your services to scale up when demand is high and scale down\nwhen they are no longer needed.\n\n\nTypical use cases for HorizontalPodAutoscaler:\n\n* When Memory usage is above 70%, scale up the number of replicas to meet the demand.\n* When CPU usage is below 30%, scale down the number of replicas to save resources.\n* When a service is experiencing a spike in traffic, scale up the number of replicas\n to meet the demand. Then, when the traffic subsides, scale down the number of\n replicas to save resources.\n\nThe autoscaler uses the following algorithm to determine the number of replicas to scale:\n\n`desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]`\n\nHorizontalPodAutoscaler's can be used to with any `Scalable` workload:\n* Deployment\n* StatefulSet\n\n**Targets that already have a replica count defined:**\n\nRemove any replica counts from the target resource before associating with a\nHorizontalPodAutoscaler. If this isn't done, then any time a change to that object is applied,\nKubernetes will scale the current number of Pods to the value of the target.replicas key. This\nmay not be desired and could lead to unexpected behavior.",
9251
9251
  "see": "https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#implicit-maintenance-mode-deactivation",
9252
9252
  "stability": "stable",
9253
9253
  "summary": "A HorizontalPodAutoscaler scales a workload up or down in response to a metric change."
@@ -12628,7 +12628,7 @@
12628
12628
  "methods": [
12629
12629
  {
12630
12630
  "docs": {
12631
- "see": "INamespaceSelector.toNamespaceSelectorConfig()",
12631
+ "see": "INamespaceSelector.toNamespaceSelectorConfig ()",
12632
12632
  "stability": "stable",
12633
12633
  "summary": "Return the configuration of this selector."
12634
12634
  },
@@ -12646,7 +12646,7 @@
12646
12646
  },
12647
12647
  {
12648
12648
  "docs": {
12649
- "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig()",
12649
+ "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig ()",
12650
12650
  "stability": "stable",
12651
12651
  "summary": "Return the configuration of this peer."
12652
12652
  },
@@ -12664,7 +12664,7 @@
12664
12664
  },
12665
12665
  {
12666
12666
  "docs": {
12667
- "see": "INetworkPolicyPeer.toPodSelector()",
12667
+ "see": "INetworkPolicyPeer.toPodSelector ()",
12668
12668
  "stability": "stable",
12669
12669
  "summary": "Convert the peer into a pod selector, if possible."
12670
12670
  },
@@ -12961,7 +12961,7 @@
12961
12961
  },
12962
12962
  {
12963
12963
  "docs": {
12964
- "see": "INamespaceSelector.toNamespaceSelectorConfig()",
12964
+ "see": "INamespaceSelector.toNamespaceSelectorConfig ()",
12965
12965
  "stability": "stable",
12966
12966
  "summary": "Return the configuration of this selector."
12967
12967
  },
@@ -12979,7 +12979,7 @@
12979
12979
  },
12980
12980
  {
12981
12981
  "docs": {
12982
- "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig()",
12982
+ "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig ()",
12983
12983
  "stability": "stable",
12984
12984
  "summary": "Return the configuration of this peer."
12985
12985
  },
@@ -12997,7 +12997,7 @@
12997
12997
  },
12998
12998
  {
12999
12999
  "docs": {
13000
- "see": "INetworkPolicyPeer.toPodSelector()",
13000
+ "see": "INetworkPolicyPeer.toPodSelector ()",
13001
13001
  "stability": "stable",
13002
13002
  "summary": "Convert the peer into a pod selector, if possible."
13003
13003
  },
@@ -13111,7 +13111,7 @@
13111
13111
  "assembly": "cdk8s-plus-31",
13112
13112
  "base": "cdk8s-plus-31.Resource",
13113
13113
  "docs": {
13114
- "remarks": "- Outgoing traffic is allowed if there are no network policies selecting\n the pod (and cluster policy otherwise allows the traffic),\n OR if the traffic matches at least one egress rule across all of the\n network policies that select the pod.\n\n- Incoming traffic is allowed to a pod if there are no network policies\n selecting the pod (and cluster policy otherwise allows the traffic),\n OR if the traffic source is the pod's local node,\n OR if the traffic matches at least one ingress rule across all of\n the network policies that select the pod.\n\nNetwork policies do not conflict; they are additive.\nIf any policy or policies apply to a given pod for a given\ndirection, the connections allowed in that direction from\nthat pod is the union of what the applicable policies allow.\nThus, order of evaluation does not affect the policy result.\n\nFor a connection from a source pod to a destination pod to be allowed,\nboth the egress policy on the source pod and the ingress policy on the\ndestination pod need to allow the connection.\nIf either side does not allow the connection, it will not happen.",
13114
+ "remarks": "- Outgoing traffic is allowed if there are no network policies selecting\n the pod (and cluster policy otherwise allows the traffic),\n OR if the traffic matches at least one egress rule across all of the\n network policies that select the pod.\n\n- Incoming traffic is allowed to a pod if there are no network policies\n selecting the pod (and cluster policy otherwise allows the traffic),\n OR if the traffic source is the pod's local node,\n OR if the traffic matches at least one ingress rule across all of\n the network policies that select the pod.\n\nNetwork policies do not conflict; they are additive.\nIf any policy or policies apply to a given pod for a given\ndirection, the connections allowed in that direction from\nthat pod is the union of what the applicable policies allow.\nThus, order of evaluation does not affect the policy result.\n\nFor a connection from a source pod to a destination pod to be allowed,\nboth the egress policy on the source pod and the ingress policy on the\ndestination pod need to allow the connection.\nIf either side does not allow the connection, it will not happen.",
13115
13115
  "see": "https://kubernetes.io/docs/concepts/services-networking/network-policies/#networkpolicy-resource",
13116
13116
  "stability": "stable",
13117
13117
  "summary": "Control traffic flow at the IP address or port level (OSI layer 3 or 4), network policies are an application-centric construct which allow you to specify how a pod is allowed to communicate with various network peers."
@@ -13478,7 +13478,7 @@
13478
13478
  },
13479
13479
  {
13480
13480
  "docs": {
13481
- "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig()",
13481
+ "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig ()",
13482
13482
  "stability": "stable",
13483
13483
  "summary": "Return the configuration of this peer."
13484
13484
  },
@@ -13496,7 +13496,7 @@
13496
13496
  },
13497
13497
  {
13498
13498
  "docs": {
13499
- "see": "INetworkPolicyPeer.toPodSelector()",
13499
+ "see": "INetworkPolicyPeer.toPodSelector ()",
13500
13500
  "stability": "stable",
13501
13501
  "summary": "Convert the peer into a pod selector, if possible."
13502
13502
  },
@@ -15910,7 +15910,7 @@
15910
15910
  "members": [
15911
15911
  {
15912
15912
  "docs": {
15913
- "remarks": "When the PersistentVolumeClaim is deleted, the PersistentVolume still exists and the\nvolume is considered \"released\". But it is not yet available for another claim\nbecause the previous claimant's data remains on the volume.\nAn administrator can manually reclaim the volume with the following steps:\n\n1. Delete the PersistentVolume. The associated storage asset in external\n infrastructure (such as an AWS EBS, GCE PD, Azure Disk, or Cinder volume) still exists after the PV is deleted.\n2. Manually clean up the data on the associated storage asset accordingly.\n3. Manually delete the associated storage asset.\n\nIf you want to reuse the same storage asset, create a new PersistentVolume\nwith the same storage asset definition.",
15913
+ "remarks": "When the PersistentVolumeClaim is deleted, the PersistentVolume still exists and the\nvolume is considered \"released\". But it is not yet available for another claim\nbecause the previous claimant's data remains on the volume.\nAn administrator can manually reclaim the volume with the following steps:\n\n1. Delete the PersistentVolume. The associated storage asset in external\n infrastructure (such as an AWS EBS, GCE PD, Azure Disk, or Cinder volume) still exists after the PV is deleted.\n2. Manually clean up the data on the associated storage asset accordingly.\n3. Manually delete the associated storage asset.\n\nIf you want to reuse the same storage asset, create a new PersistentVolume\nwith the same storage asset definition.",
15914
15914
  "stability": "stable",
15915
15915
  "summary": "The Retain reclaim policy allows for manual reclamation of the resource."
15916
15916
  },
@@ -16804,7 +16804,7 @@
16804
16804
  "methods": [
16805
16805
  {
16806
16806
  "docs": {
16807
- "remarks": "The scheduler ignores the Pod, and the kubelet on the named node\ntries to place the Pod on that node. Overrules any affinity rules of the pod.\n\nSome limitations of static assignment are:\n\n- If the named node does not exist, the Pod will not run, and in some\n cases may be automatically deleted.\n- If the named node does not have the resources to accommodate the Pod,\n the Pod will fail and its reason will indicate why, for example OutOfmemory or OutOfcpu.\n- Node names in cloud environments are not always predictable or stable.\n\nWill throw is the pod is already assigned to named node.\n\nUnder the hood, this method utilizes the `nodeName` property.",
16807
+ "remarks": "The scheduler ignores the Pod, and the kubelet on the named node\ntries to place the Pod on that node. Overrules any affinity rules of the pod.\n\nSome limitations of static assignment are:\n\n- If the named node does not exist, the Pod will not run, and in some\n cases may be automatically deleted.\n- If the named node does not have the resources to accommodate the Pod,\n the Pod will fail and its reason will indicate why, for example OutOfmemory or OutOfcpu.\n- Node names in cloud environments are not always predictable or stable.\n\nWill throw is the pod is already assigned to named node.\n\nUnder the hood, this method utilizes the `nodeName` property.",
16808
16808
  "stability": "stable",
16809
16809
  "summary": "Assign this pod a specific node by name."
16810
16810
  },
@@ -16908,7 +16908,7 @@
16908
16908
  },
16909
16909
  {
16910
16910
  "docs": {
16911
- "remarks": "You can put multiple taints on the same node and multiple tolerations on the same pod.\nThe way Kubernetes processes multiple taints and tolerations is like a filter: start with\nall of a node's taints, then ignore the ones for which the pod has a matching toleration;\nthe remaining un-ignored taints have the indicated effects on the pod. In particular:\n\n- if there is at least one un-ignored taint with effect NoSchedule then Kubernetes will\n not schedule the pod onto that node\n- if there is no un-ignored taint with effect NoSchedule but there is at least one un-ignored\n taint with effect PreferNoSchedule then Kubernetes will try to not schedule the pod onto the node\n- if there is at least one un-ignored taint with effect NoExecute then the pod will be evicted from\n the node (if it is already running on the node), and will not be scheduled onto the node (if it is\n not yet running on the node).\n\nUnder the hood, this method utilizes the `tolerations` property.",
16911
+ "remarks": "You can put multiple taints on the same node and multiple tolerations on the same pod.\nThe way Kubernetes processes multiple taints and tolerations is like a filter: start with\nall of a node's taints, then ignore the ones for which the pod has a matching toleration;\nthe remaining un-ignored taints have the indicated effects on the pod. In particular:\n\n- if there is at least one un-ignored taint with effect NoSchedule then Kubernetes will\n not schedule the pod onto that node\n- if there is no un-ignored taint with effect NoSchedule but there is at least one un-ignored\n taint with effect PreferNoSchedule then Kubernetes will try to not schedule the pod onto the node\n- if there is at least one un-ignored taint with effect NoExecute then the pod will be evicted from\n the node (if it is already running on the node), and will not be scheduled onto the node (if it is\n not yet running on the node).\n\nUnder the hood, this method utilizes the `tolerations` property.",
16912
16912
  "see": "https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/",
16913
16913
  "stability": "stable",
16914
16914
  "summary": "Allow this pod to tolerate taints matching these tolerations."
@@ -17552,7 +17552,7 @@
17552
17552
  },
17553
17553
  {
17554
17554
  "docs": {
17555
- "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig()",
17555
+ "see": "INetworkPolicyPeer.toNetworkPolicyPeerConfig ()",
17556
17556
  "stability": "stable"
17557
17557
  },
17558
17558
  "locationInModule": {
@@ -17568,7 +17568,7 @@
17568
17568
  },
17569
17569
  {
17570
17570
  "docs": {
17571
- "see": "INetworkPolicyPeer.toPodSelector()",
17571
+ "see": "INetworkPolicyPeer.toPodSelector ()",
17572
17572
  "stability": "stable"
17573
17573
  },
17574
17574
  "locationInModule": {
@@ -17585,7 +17585,7 @@
17585
17585
  },
17586
17586
  {
17587
17587
  "docs": {
17588
- "see": "IPodSelector.toPodSelectorConfig()",
17588
+ "see": "IPodSelector.toPodSelectorConfig ()",
17589
17589
  "stability": "stable",
17590
17590
  "summary": "Return the configuration of this selector."
17591
17591
  },
@@ -20487,7 +20487,7 @@
20487
20487
  },
20488
20488
  {
20489
20489
  "docs": {
20490
- "see": "ISubect.toSubjectConfiguration()",
20490
+ "see": "ISubect.toSubjectConfiguration ()",
20491
20491
  "stability": "stable",
20492
20492
  "summary": "Return the subject configuration."
20493
20493
  },
@@ -20838,7 +20838,7 @@
20838
20838
  "abstract": true,
20839
20839
  "docs": {
20840
20840
  "default": "- if the service exposes a single port, this port will be used.",
20841
- "remarks": "- This option will fail if the service does not expose any ports.\n- If the service exposes multiple ports, this option must be specified.\n- If the service exposes a single port, this option is optional and if\n specified, it must be the same port exposed by the service.",
20841
+ "remarks": "- This option will fail if the service does not expose any ports.\n- If the service exposes multiple ports, this option must be specified.\n- If the service exposes a single port, this option is optional and if\n specified, it must be the same port exposed by the service.",
20842
20842
  "stability": "stable",
20843
20843
  "summary": "The port to use to access the service."
20844
20844
  },
@@ -21263,7 +21263,7 @@
21263
21263
  "methods": [
21264
21264
  {
21265
21265
  "docs": {
21266
- "see": "IScalable.markHasAutoscaler()",
21266
+ "see": "IScalable.markHasAutoscaler ()",
21267
21267
  "stability": "stable",
21268
21268
  "summary": "Called on all IScalable targets when they are associated with an autoscaler."
21269
21269
  },
@@ -21276,7 +21276,7 @@
21276
21276
  },
21277
21277
  {
21278
21278
  "docs": {
21279
- "see": "IScalable.toScalingTarget()",
21279
+ "see": "IScalable.toScalingTarget ()",
21280
21280
  "stability": "stable",
21281
21281
  "summary": "Return the target spec properties of this Scalable."
21282
21282
  },
@@ -21802,7 +21802,7 @@
21802
21802
  },
21803
21803
  {
21804
21804
  "docs": {
21805
- "remarks": "- Pods that do not tolerate the taint are evicted immediately.\n- Pods that tolerate the taint without specifying `duration` remain bound forever.\n- Pods that tolerate the taint with a specified `duration` remain bound for\n the specified amount of time.",
21805
+ "remarks": "- Pods that do not tolerate the taint are evicted immediately.\n- Pods that tolerate the taint without specifying `duration` remain bound forever.\n- Pods that tolerate the taint with a specified `duration` remain bound for\n the specified amount of time.",
21806
21806
  "stability": "stable",
21807
21807
  "summary": "This affects pods that are already running on the node as follows:."
21808
21808
  },
@@ -22196,7 +22196,7 @@
22196
22196
  },
22197
22197
  {
22198
22198
  "docs": {
22199
- "see": "ISubect.toSubjectConfiguration()",
22199
+ "see": "ISubect.toSubjectConfiguration ()",
22200
22200
  "stability": "stable",
22201
22201
  "summary": "Return the subject configuration."
22202
22202
  },
@@ -44592,7 +44592,7 @@
44592
44592
  "custom": {
44593
44593
  "schema": "io.k8s.api.core.v1.Endpoints"
44594
44594
  },
44595
- "remarks": "Name: \"mysvc\",\nSubsets: [\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n },\n {\n Addresses: [{\"ip\": \"10.10.3.3\"}],\n Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}]\n },\n]",
44595
+ "remarks": "Name: \"mysvc\",\nSubsets: [\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n },\n {\n Addresses: [{\"ip\": \"10.10.3.3\"}],\n Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}]\n },\n]",
44596
44596
  "stability": "stable",
44597
44597
  "summary": "Endpoints is a collection of endpoints that implement the actual service. Example:."
44598
44598
  },
@@ -90230,6 +90230,6 @@
90230
90230
  "symbolId": "src/imports/k8s:WindowsSecurityContextOptions"
90231
90231
  }
90232
90232
  },
90233
- "version": "2.0.4",
90234
- "fingerprint": "HbcD/qzBs9a/cUkyYvv5CefUqE1G7aArkSmUenFz8RA="
90233
+ "version": "2.0.6",
90234
+ "fingerprint": "ZU5VpMKzQXW/x5TVVUWa+Igph91PhJcEJXnPqlFmE1s="
90235
90235
  }
@@ -1307,12 +1307,12 @@ Use Case
1307
1307
  The following are typical use cases for Deployments:
1308
1308
 
1309
1309
  - Create a Deployment to rollout a ReplicaSet. The ReplicaSet creates Pods in the background.
1310
- Check the status of the rollout to see if it succeeds or not.
1310
+ Check the status of the rollout to see if it succeeds or not.
1311
1311
  - Declare the new state of the Pods by updating the PodTemplateSpec of the Deployment.
1312
- A new ReplicaSet is created and the Deployment manages moving the Pods from the old ReplicaSet to the new one at a controlled rate.
1313
- Each new ReplicaSet updates the revision of the Deployment.
1312
+ A new ReplicaSet is created and the Deployment manages moving the Pods from the old ReplicaSet to the new one at a controlled rate.
1313
+ Each new ReplicaSet updates the revision of the Deployment.
1314
1314
  - Rollback to an earlier Deployment revision if the current state of the Deployment is not stable.
1315
- Each rollback updates the revision of the Deployment.
1315
+ Each rollback updates the revision of the Deployment.
1316
1316
  - Scale up the Deployment to facilitate more load.
1317
1317
  - Pause the Deployment to apply multiple fixes to its PodTemplateSpec and then resume it to start a new rollout.
1318
1318
  - Use the status of the Deployment as an indicator that a rollout has stuck.
@@ -1679,8 +1679,8 @@ Typical use cases for HorizontalPodAutoscaler:
1679
1679
  * When Memory usage is above 70%, scale up the number of replicas to meet the demand.
1680
1680
  * When CPU usage is below 30%, scale down the number of replicas to save resources.
1681
1681
  * When a service is experiencing a spike in traffic, scale up the number of replicas
1682
- to meet the demand. Then, when the traffic subsides, scale down the number of
1683
- replicas to save resources.
1682
+ to meet the demand. Then, when the traffic subsides, scale down the number of
1683
+ replicas to save resources.
1684
1684
 
1685
1685
  The autoscaler uses the following algorithm to determine the number of replicas to scale:
1686
1686
 
@@ -2287,15 +2287,15 @@ Namespaces.select(scope: Construct, id: string, options: NamespacesSelectOptions
2287
2287
  Control traffic flow at the IP address or port level (OSI layer 3 or 4), network policies are an application-centric construct which allow you to specify how a pod is allowed to communicate with various network peers.
2288
2288
 
2289
2289
  Outgoing traffic is allowed if there are no network policies selecting
2290
- the pod (and cluster policy otherwise allows the traffic),
2291
- OR if the traffic matches at least one egress rule across all of the
2292
- network policies that select the pod.
2290
+ the pod (and cluster policy otherwise allows the traffic),
2291
+ OR if the traffic matches at least one egress rule across all of the
2292
+ network policies that select the pod.
2293
2293
 
2294
2294
  - Incoming traffic is allowed to a pod if there are no network policies
2295
- selecting the pod (and cluster policy otherwise allows the traffic),
2296
- OR if the traffic source is the pod's local node,
2297
- OR if the traffic matches at least one ingress rule across all of
2298
- the network policies that select the pod.
2295
+ selecting the pod (and cluster policy otherwise allows the traffic),
2296
+ OR if the traffic source is the pod's local node,
2297
+ OR if the traffic matches at least one ingress rule across all of
2298
+ the network policies that select the pod.
2299
2299
 
2300
2300
  Network policies do not conflict; they are additive.
2301
2301
  If any policy or policies apply to a given pod for a given
@@ -12952,7 +12952,7 @@ The port to use to access the service.
12952
12952
  This option will fail if the service does not expose any ports.
12953
12953
  - If the service exposes multiple ports, this option must be specified.
12954
12954
  - If the service exposes a single port, this option is optional and if
12955
- specified, it must be the same port exposed by the service.
12955
+ specified, it must be the same port exposed by the service.
12956
12956
 
12957
12957
  ---
12958
12958
 
@@ -19285,7 +19285,7 @@ because the previous claimant's data remains on the volume.
19285
19285
  An administrator can manually reclaim the volume with the following steps:
19286
19286
 
19287
19287
  1. Delete the PersistentVolume. The associated storage asset in external
19288
- infrastructure (such as an AWS EBS, GCE PD, Azure Disk, or Cinder volume) still exists after the PV is deleted.
19288
+ infrastructure (such as an AWS EBS, GCE PD, Azure Disk, or Cinder volume) still exists after the PV is deleted.
19289
19289
  2. Manually clean up the data on the associated storage asset accordingly.
19290
19290
  3. Manually delete the associated storage asset.
19291
19291
 
@@ -19559,7 +19559,7 @@ This affects pods that are already running on the node as follows:.
19559
19559
  Pods that do not tolerate the taint are evicted immediately.
19560
19560
  - Pods that tolerate the taint without specifying `duration` remain bound forever.
19561
19561
  - Pods that tolerate the taint with a specified `duration` remain bound for
19562
- the specified amount of time.
19562
+ the specified amount of time.
19563
19563
 
19564
19564
  ---
19565
19565
 
@@ -7,10 +7,6 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
7
  * Represents information about an API resource type.
8
8
  */
9
9
  class ApiResource {
10
- constructor(options) {
11
- this.apiGroup = options.apiGroup;
12
- this.resourceType = options.resourceType;
13
- }
14
10
  /**
15
11
  * API resource information for a custom resource type.
16
12
  */
@@ -18,6 +14,10 @@ class ApiResource {
18
14
  return new ApiResource(options);
19
15
  }
20
16
  ;
17
+ constructor(options) {
18
+ this.apiGroup = options.apiGroup;
19
+ this.resourceType = options.resourceType;
20
+ }
21
21
  asApiResource() {
22
22
  return this;
23
23
  }
@@ -27,7 +27,7 @@ class ApiResource {
27
27
  }
28
28
  exports.ApiResource = ApiResource;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- ApiResource[_a] = { fqn: "cdk8s-plus-31.ApiResource", version: "2.0.4" };
30
+ ApiResource[_a] = { fqn: "cdk8s-plus-31.ApiResource", version: "2.0.6" };
31
31
  /**
32
32
  * API resource information for Binding.
33
33
  */
@@ -410,12 +410,12 @@ ApiResource.VOLUME_ATTACHMENTS = new ApiResource({
410
410
  * Factory for creating non api resources.
411
411
  */
412
412
  class NonApiResource {
413
- constructor(nonResourceUrl) {
414
- this.nonResourceUrl = nonResourceUrl;
415
- }
416
413
  static of(url) {
417
414
  return new NonApiResource(url);
418
415
  }
416
+ constructor(nonResourceUrl) {
417
+ this.nonResourceUrl = nonResourceUrl;
418
+ }
419
419
  ;
420
420
  asApiResource() {
421
421
  return undefined;
@@ -426,5 +426,5 @@ class NonApiResource {
426
426
  }
427
427
  exports.NonApiResource = NonApiResource;
428
428
  _b = JSII_RTTI_SYMBOL_1;
429
- NonApiResource[_b] = { fqn: "cdk8s-plus-31.NonApiResource", version: "2.0.4" };
430
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQTBEQTs7R0FFRztBQUNILE1BQWEsV0FBVztJQW9jdEIsWUFBb0IsT0FBMkI7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBdEJEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUEyQjtRQUM5QyxPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFBQSxDQUFDO0lBbUJLLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O0FBL2NILGtDQWdkQzs7O0FBL2NDOztHQUVHO0FBQ29CLG9CQUFRLEdBQUcsSUFBSSxXQUFXLENBQUM7SUFDaEQsUUFBUSxFQUFFLEVBQUU7SUFDWixZQUFZLEVBQUUsVUFBVTtDQUN6QixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNvQiw4QkFBa0IsR0FBRyxJQUFJLFdBQVcsQ0FBQztJQUMxRCxRQUFRLEVBQUUsRUFBRTtJQUNaLFlBQVksRUFBRSxtQkFBbUI7Q0FDbEMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDb0IsdUJBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQztJQUNuRCxRQUFRLEVBQUUsRUFBRTtJQUNaLFlBQVksRUFBRSxZQUFZO0NBQzNCLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ29CLHFCQUFTLEdBQUcsSUFBSSxXQUFXLENBQUM7SUFDakQsUUFBUSxFQUFFLEVBQUU7SUFDWixZQUFZLEVBQUUsV0FBVztDQUMxQixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNvQixrQkFB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Q0FBQztJQUM3QixDQUFDOztBQWZILHdDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVwcmVzZW50cyBhIHJlc291cmNlIG9yIGNvbGxlY3Rpb24gb2YgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcGlSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gYGF1dGhvcml6YXRpb24uazhzLmlvYCkuXG4gICAqL1xuICByZWFkb25seSBhcGlHcm91cDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUsIG5hbWVzcGFjZS1nbG9iYWwsIG5hbWUgb2YgYW4gb2JqZWN0IGluc2lkZSB0aGUgS3ViZXJuZXRlcyBjbHVzdGVyLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIG9taXR0ZWQsIHRoZSBBcGlSZXNvdXJjZSBzaG91bGQgcmVwcmVzZW50IGFsbCBvYmplY3RzIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1lPzogc3RyaW5nO1xufVxuLyoqXG4gKiBBbiBBUEkgRW5kcG9pbnQgY2FuIGVpdGhlciBiZSBhIHJlc291cmNlIGRlc2NyaXB0b3IgKGUuZyAvcG9kcylcbiAqIG9yIGEgbm9uIHJlc291cmNlIHVybCAoZS5nIC9oZWFsdGh6KS4gSXQgbXVzdCBiZSBvbmUgb3IgdGhlIG90aGVyLCBhbmQgbm90IGJvdGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwaUVuZHBvaW50IHtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBJQXBpUmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cbiAgICovXG4gIGFzQXBpUmVzb3VyY2UoKTogSUFwaVJlc291cmNlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5vbiByZXNvdXJjZSB1cmwgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cbiAgICovXG4gIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEFwaVJlc291cmNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlSZXNvdXJjZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGdyb3VwIHBvcnRpb24gb2YgdGhlIEFQSSB2ZXJzaW9uIChlLmcuIGBhdXRob3JpemF0aW9uLms4cy5pb2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR3JvdXA6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBpbmZvcm1hdGlvbiBhYm91dCBhbiBBUEkgcmVzb3VyY2UgdHlwZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaVJlc291cmNlIGltcGxlbWVudHMgSUFwaVJlc291cmNlLCBJQXBpRW5kcG9pbnQge1xuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCSU5ESU5HUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2JpbmRpbmdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29tcG9uZW50U3RhdHVzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT01QT05FTlRfU1RBVFVTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb21wb25lbnRzdGF0dXNlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENvbmZpZ01hcC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09ORklHX01BUFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb25maWdtYXBzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRW5kcG9pbnRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTkRQT0lOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdlbmRwb2ludHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBFdmVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRVZFTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZXZlbnRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTGltaXRSYW5nZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElNSVRfUkFOR0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbGltaXRyYW5nZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBOYW1lc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BTUVTUEFDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICduYW1lc3BhY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTm9kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdub2RlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBlcnNpc3RlbnRWb2x1bWVDbGFpbS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU1TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncGVyc2lzdGVudHZvbHVtZWNsYWltcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBlcnNpc3RlbnRWb2x1bWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBFUlNJU1RFTlRfVk9MVU1FUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3BlcnNpc3RlbnR2b2x1bWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBvZFRlbXBsYXRlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RfVEVNUExBVEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kdGVtcGxhdGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUmVwbGljYXRpb25Db250cm9sbGVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVBMSUNBVElPTl9DT05UUk9MTEVSUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3JlcGxpY2F0aW9uY29udHJvbGxlcnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXNvdXJjZVF1b3RhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9RVU9UQVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdyZXNvdXJjZXF1b3RhcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlY3JldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VDUkVUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3NlY3JldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTZXJ2aWNlQWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9BQ0NPVU5UUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3NlcnZpY2VhY2NvdW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VydmljZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBNdXRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNVVRBVElOR19XRUJIT09LX0NPTkZJR1VSQVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FkbWlzc2lvbnJlZ2lzdHJhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ211dGF0aW5nd2ViaG9va2NvbmZpZ3VyYXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgVmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWQUxJREFUSU5HX1dFQkhPT0tfQ09ORklHVVJBVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAndmFsaWRhdGluZ3dlYmhvb2tjb25maWd1cmF0aW9ucycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX1JFU09VUkNFX0RFRklOSVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwaWV4dGVuc2lvbnMuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQVBJU2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVBJX1NFUlZJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwaXJlZ2lzdHJhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2FwaXNlcnZpY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29udHJvbGxlclJldmlzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT05UUk9MTEVSX1JFVklTSU9OUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb250cm9sbGVycmV2aXNpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRGFlbW9uU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQUVNT05fU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdkYWVtb25zZXRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRGVwbG95bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVQTE9ZTUVOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZGVwbG95bWVudHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXBsaWNhU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVBMSUNBX1NFVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgcmVzb3VyY2VUeXBlOiAncmVwbGljYXNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTdGF0ZWZ1bFNldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RBVEVGVUxfU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzdGF0ZWZ1bHNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBUb2tlblJldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVE9LRU5fUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRoZW50aWNhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3Rva2VucmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIExvY2FsU3ViamVjdEFjY2Vzc1Jldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTE9DQUxfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbG9jYWxzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlbGZTdWJqZWN0QWNjZXNzUmV2aWV3LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRUxGX1NVQkpFQ1RfQUNDRVNTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3NlbGZzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlbGZTdWJqZWN0UnVsZXNSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFTEZfU1VCSkVDVF9SVUxFU19SRVZJRVdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dGhvcml6YXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzZWxmc3ViamVjdHJ1bGVzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFN1YmplY3RBY2Nlc3NSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNVQkpFQ1RfQUNDRVNTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3N1YmplY3RhY2Nlc3NyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhPUklaT05UQUxfUE9EX0FVVE9TQ0FMRVJTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dG9zY2FsaW5nJyxcbiAgICByZXNvdXJjZVR5cGU6ICdob3Jpem9udGFscG9kYXV0b3NjYWxlcnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDcm9uSm9iLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDUk9OX0pPQlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIHJlc291cmNlVHlwZTogJ2Nyb25qb2JzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSm9iLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBKT0JTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICByZXNvdXJjZVR5cGU6ICdqb2JzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0VSVElGSUNBVEVfU0lHTklOR19SRVFVRVNUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdjZXJ0aWZpY2F0ZXMuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjZXJ0aWZpY2F0ZXNpZ25pbmdyZXF1ZXN0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIExlYXNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMRUFTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnY29vcmRpbmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbGVhc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRW5kcG9pbnRTbGljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRU5EUE9JTlRfU0xJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Rpc2NvdmVyeS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2VuZHBvaW50c2xpY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRmxvd1NjaGVtYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRkxPV19TQ0hFTUFTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Zsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2Zsb3dzY2hlbWFzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUHJpb3JpdHlMZXZlbENvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBSSU9SSVRZX0xFVkVMX0NPTkZJR1VSQVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Zsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3ByaW9yaXR5bGV2ZWxjb25maWd1cmF0aW9ucycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEluZ3Jlc3NDbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5HUkVTU19DTEFTU0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdpbmdyZXNzY2xhc3NlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEluZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOR1JFU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnaW5ncmVzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTmV0d29ya1BvbGljeS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkVUV09SS19QT0xJQ0lFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbmV0d29ya3BvbGljaWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUnVudGltZUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSVU5USU1FX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnbm9kZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3J1bnRpbWVjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kRGlzcnVwdGlvbkJ1ZGdldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUE9EX0RJU1JVUFRJT05fQlVER0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdwb2xpY3knLFxuICAgIHJlc291cmNlVHlwZTogJ3BvZGRpc3J1cHRpb25idWRnZXRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2x1c3RlclJvbGVCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDTFVTVEVSX1JPTEVfQklORElOR1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY2x1c3RlcnJvbGViaW5kaW5ncycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENsdXN0ZXJSb2xlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDTFVTVEVSX1JPTEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NsdXN0ZXJyb2xlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJvbGVCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBST0xFX0JJTkRJTkdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3JvbGViaW5kaW5ncycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJvbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJPTEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3JvbGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUHJpb3JpdHlDbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJJT1JJVFlfQ0xBU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzY2hlZHVsaW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncHJpb3JpdHljbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ1NJRHJpdmVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDU0lfRFJJVkVSUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3NpZHJpdmVycycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENTSU5vZGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9OT0RFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3Npbm9kZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDU0lTdG9yYWdlQ2FwYWNpdHkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9TVE9SQUdFX0NBUEFDSVRJRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NzaXN0b3JhZ2VjYXBhY2l0aWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU3RvcmFnZUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVE9SQUdFX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3N0b3JhZ2VjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgVm9sdW1lQXR0YWNobWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0FUVEFDSE1FTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICd2b2x1bWVhdHRhY2htZW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIGEgY3VzdG9tIHJlc291cmNlIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShvcHRpb25zOiBBcGlSZXNvdXJjZU9wdGlvbnMpOiBBcGlSZXNvdXJjZSB7XG4gICAgcmV0dXJuIG5ldyBBcGlSZXNvdXJjZShvcHRpb25zKTtcbiAgfTtcblxuICAvKipcbiAgICogVGhlIGdyb3VwIHBvcnRpb24gb2YgdGhlIEFQSSB2ZXJzaW9uIChlLmcuIGBhdXRob3JpemF0aW9uLms4cy5pb2ApLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwaUdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSB0eXBlIGFzIGl0IGFwcGVhcnMgaW4gdGhlIHJlbGV2YW50IEFQSSBlbmRwb2ludC5cbiAgICogQGV4YW1wbGUgLSBcInBvZHNcIiBvciBcInBvZHMvbG9nXCJcbiAgICogQHNlZSBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvYWNjZXNzLWF1dGhuLWF1dGh6L3JiYWMvI3JlZmVycmluZy10by1yZXNvdXJjZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFwaVJlc291cmNlT3B0aW9ucykge1xuICAgIHRoaXMuYXBpR3JvdXAgPSBvcHRpb25zLmFwaUdyb3VwO1xuICAgIHRoaXMucmVzb3VyY2VUeXBlID0gb3B0aW9ucy5yZXNvdXJjZVR5cGU7XG4gIH1cblxuICBwdWJsaWMgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgbm9uIGFwaSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb25BcGlSZXNvdXJjZSBpbXBsZW1lbnRzIElBcGlFbmRwb2ludCB7XG5cbiAgcHVibGljIHN0YXRpYyBvZih1cmw6IHN0cmluZyk6IE5vbkFwaVJlc291cmNlIHtcbiAgICByZXR1cm4gbmV3IE5vbkFwaVJlc291cmNlKHVybCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbm9uUmVzb3VyY2VVcmw6IHN0cmluZykge307XG5cbiAgcHVibGljIGFzQXBpUmVzb3VyY2UoKTogSUFwaVJlc291cmNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblxuICAgIHJldHVybiB0aGlzLm5vblJlc291cmNlVXJsO1xuICB9XG59Il19
429
+ NonApiResource[_b] = { fqn: "cdk8s-plus-31.NonApiResource", version: "2.0.6" };
430
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQTBEQTs7R0FFRztBQUNILE1BQWEsV0FBVztJQWlidEI7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTJCO1FBQzlDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUFBLENBQUM7SUFjRixZQUFvQixPQUEyQjtRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQzNDLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztBQS9jSCxrQ0FnZEM7OztBQS9jQzs7R0FFRztBQUNvQixvQkFBUSxHQUFHLElBQUksV0FBVyxDQUFDO0lBQ2hELFFBQVEsRUFBRSxFQUFFO0lBQ1osWUFBWSxFQUFFLFVBQVU7Q0FDekIsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDb0IsOEJBQWtCLEdBQUcsSUFBSSxXQUFXLENBQUM7SUFDMUQsUUFBUSxFQUFFLEVBQUU7SUFDWixZQUFZLEVBQUUsbUJBQW1CO0NBQ2xDLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ29CLHVCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUM7SUFDbkQsUUFBUSxFQUFFLEVBQUU7SUFDWixZQUFZLEVBQUUsWUFBWTtDQUMzQixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNvQixxQkFBUyxHQUFHLElBQUksV0FBVyxDQUFDO0lBQ2pELFFBQVEsRUFBRSxFQUFFO0lBQ1osWUFBWSxFQUFFLFdBQVc7Q0FDMUIsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDb0Isa0JBQU0s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O0lBQzdCLENBQUM7O0FBZkgsd0NBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIGEgcmVzb3VyY2Ugb3IgY29sbGVjdGlvbiBvZiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwaVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBncm91cCBwb3J0aW9uIG9mIHRoZSBBUEkgdmVyc2lvbiAoZS5nLiBgYXV0aG9yaXphdGlvbi5rOHMuaW9gKS5cbiAgICovXG4gIHJlYWRvbmx5IGFwaUdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGEgcmVzb3VyY2UgdHlwZSBhcyBpdCBhcHBlYXJzIGluIHRoZSByZWxldmFudCBBUEkgZW5kcG9pbnQuXG4gICAqIEBleGFtcGxlIC0gXCJwb2RzXCIgb3IgXCJwb2RzL2xvZ1wiXG4gICAqIEBzZWUgaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvcmVmZXJlbmNlL2FjY2Vzcy1hdXRobi1hdXRoei9yYmFjLyNyZWZlcnJpbmctdG8tcmVzb3VyY2VzXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSwgbmFtZXNwYWNlLWdsb2JhbCwgbmFtZSBvZiBhbiBvYmplY3QgaW5zaWRlIHRoZSBLdWJlcm5ldGVzIGNsdXN0ZXIuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgb21pdHRlZCwgdGhlIEFwaVJlc291cmNlIHNob3VsZCByZXByZXNlbnQgYWxsIG9iamVjdHMgb2YgdGhlIGdpdmVuIHR5cGUuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZU5hbWU/OiBzdHJpbmc7XG59XG4vKipcbiAqIEFuIEFQSSBFbmRwb2ludCBjYW4gZWl0aGVyIGJlIGEgcmVzb3VyY2UgZGVzY3JpcHRvciAoZS5nIC9wb2RzKVxuICogb3IgYSBub24gcmVzb3VyY2UgdXJsIChlLmcgL2hlYWx0aHopLiBJdCBtdXN0IGJlIG9uZSBvciB0aGUgb3RoZXIsIGFuZCBub3QgYm90aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXBpRW5kcG9pbnQge1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIElBcGlSZXNvdXJjZSB0aGlzIG9iamVjdCByZXByZXNlbnRzLlxuICAgKi9cbiAgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbm9uIHJlc291cmNlIHVybCB0aGlzIG9iamVjdCByZXByZXNlbnRzLlxuICAgKi9cbiAgYXNOb25BcGlSZXNvdXJjZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQXBpUmVzb3VyY2VgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc291cmNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gYGF1dGhvcml6YXRpb24uazhzLmlvYCkuXG4gICAqL1xuICByZWFkb25seSBhcGlHcm91cDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UgdHlwZSBhcyBpdCBhcHBlYXJzIGluIHRoZSByZWxldmFudCBBUEkgZW5kcG9pbnQuXG4gICAqIEBleGFtcGxlIC0gXCJwb2RzXCIgb3IgXCJwb2RzL2xvZ1wiXG4gICAqIEBzZWUgaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvcmVmZXJlbmNlL2FjY2Vzcy1hdXRobi1hdXRoei9yYmFjLyNyZWZlcnJpbmctdG8tcmVzb3VyY2VzXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IGFuIEFQSSByZXNvdXJjZSB0eXBlLlxuICovXG5leHBvcnQgY2xhc3MgQXBpUmVzb3VyY2UgaW1wbGVtZW50cyBJQXBpUmVzb3VyY2UsIElBcGlFbmRwb2ludCB7XG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEJpbmRpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJJTkRJTkdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnYmluZGluZ3MnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDb21wb25lbnRTdGF0dXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTVBPTkVOVF9TVEFUVVNFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2NvbXBvbmVudHN0YXR1c2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29uZmlnTWFwLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT05GSUdfTUFQUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2NvbmZpZ21hcHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBFbmRwb2ludHMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVORFBPSU5UUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2VuZHBvaW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEV2ZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFVkVOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdldmVudHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBMaW1pdFJhbmdlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU1JVF9SQU5HRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdsaW1pdHJhbmdlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIE5hbWVzcGFjZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFNRVNQQUNFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ25hbWVzcGFjZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBOb2RlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ25vZGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUGVyc2lzdGVudFZvbHVtZUNsYWltLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQRVJTSVNURU5UX1ZPTFVNRV9DTEFJTVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwZXJzaXN0ZW50dm9sdW1lY2xhaW1zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUGVyc2lzdGVudFZvbHVtZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEVSU0lTVEVOVF9WT0xVTUVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncGVyc2lzdGVudHZvbHVtZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQb2QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBPRFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwb2RzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kVGVtcGxhdGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBPRF9URU1QTEFURVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwb2R0ZW1wbGF0ZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXBsaWNhdGlvbkNvbnRyb2xsZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFUExJQ0FUSU9OX0NPTlRST0xMRVJTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncmVwbGljYXRpb25jb250cm9sbGVycycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJlc291cmNlUXVvdGEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX1FVT1RBUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3Jlc291cmNlcXVvdGFzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VjcmV0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRUNSRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VjcmV0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlcnZpY2VBY2NvdW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVJWSUNFX0FDQ09VTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VydmljZWFjY291bnRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzZXJ2aWNlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIE11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1VVEFUSU5HX1dFQkhPT0tfQ09ORklHVVJBVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbXV0YXRpbmd3ZWJob29rY29uZmlndXJhdGlvbnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBWYWxpZGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZBTElEQVRJTkdfV0VCSE9PS19DT05GSUdVUkFUSU9OUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhZG1pc3Npb25yZWdpc3RyYXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICd2YWxpZGF0aW5nd2ViaG9va2NvbmZpZ3VyYXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDVVNUT01fUkVTT1VSQ0VfREVGSU5JVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBpZXh0ZW5zaW9ucy5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2N1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBBUElTZXJ2aWNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBUElfU0VSVklDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBpcmVnaXN0cmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnYXBpc2VydmljZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDb250cm9sbGVyUmV2aXNpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTlRST0xMRVJfUkVWSVNJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHJlc291cmNlVHlwZTogJ2NvbnRyb2xsZXJyZXZpc2lvbnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBEYWVtb25TZXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBRU1PTl9TRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHJlc291cmNlVHlwZTogJ2RhZW1vbnNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBEZXBsb3ltZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERVBMT1lNRU5UUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdkZXBsb3ltZW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJlcGxpY2FTZXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFUExJQ0FfU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdyZXBsaWNhc2V0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFN0YXRlZnVsU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVEFURUZVTF9TRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHJlc291cmNlVHlwZTogJ3N0YXRlZnVsc2V0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFRva2VuUmV2aWV3LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUT0tFTl9SRVZJRVdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dGhlbnRpY2F0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAndG9rZW5yZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTG9jYWxTdWJqZWN0QWNjZXNzUmV2aWV3LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMT0NBTF9TVUJKRUNUX0FDQ0VTU19SRVZJRVdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dGhvcml6YXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdsb2NhbHN1YmplY3RhY2Nlc3NyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VsZlN1YmplY3RBY2Nlc3NSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFTEZfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VsZnN1YmplY3RhY2Nlc3NyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VsZlN1YmplY3RSdWxlc1Jldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VMRl9TVUJKRUNUX1JVTEVTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3NlbGZzdWJqZWN0cnVsZXNyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU3ViamVjdEFjY2Vzc1Jldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1VCSkVDVF9BQ0NFU1NfUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc3ViamVjdGFjY2Vzc3Jldmlld3MnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBIb3Jpem9udGFsUG9kQXV0b3NjYWxlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSE9SSVpPTlRBTF9QT0RfQVVUT1NDQUxFUlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0b3NjYWxpbmcnLFxuICAgIHJlc291cmNlVHlwZTogJ2hvcml6b250YWxwb2RhdXRvc2NhbGVycycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENyb25Kb2IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENST05fSk9CUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdiYXRjaCcsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3JvbmpvYnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBKb2IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEpPQlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIHJlc291cmNlVHlwZTogJ2pvYnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDRVJUSUZJQ0FURV9TSUdOSU5HX1JFUVVFU1RTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2NlcnRpZmljYXRlcy5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NlcnRpZmljYXRlc2lnbmluZ3JlcXVlc3RzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTGVhc2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExFQVNFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdjb29yZGluYXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdsZWFzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBFbmRwb2ludFNsaWNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTkRQT0lOVF9TTElDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnZGlzY292ZXJ5Lms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZW5kcG9pbnRzbGljZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBGbG93U2NoZW1hLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGTE9XX1NDSEVNQVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnZmxvd2NvbnRyb2wuYXBpc2VydmVyLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZmxvd3NjaGVtYXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQcmlvcml0eUxldmVsQ29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJJT1JJVFlfTEVWRUxfQ09ORklHVVJBVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnZmxvd2NvbnRyb2wuYXBpc2VydmVyLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncHJpb3JpdHlsZXZlbGNvbmZpZ3VyYXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSW5ncmVzc0NsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTkdSRVNTX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnbmV0d29ya2luZy5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2luZ3Jlc3NjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSW5ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5HUkVTU0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdpbmdyZXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBOZXR3b3JrUG9saWN5LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBORVRXT1JLX1BPTElDSUVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICduZXR3b3JrcG9saWNpZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSdW50aW1lQ2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJVTlRJTUVfQ0xBU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdub2RlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncnVudGltZWNsYXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQb2REaXNydXB0aW9uQnVkZ2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RfRElTUlVQVElPTl9CVURHRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3BvbGljeScsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kZGlzcnVwdGlvbmJ1ZGdldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDbHVzdGVyUm9sZUJpbmRpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENMVVNURVJfUk9MRV9CSU5ESU5HUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjbHVzdGVycm9sZWJpbmRpbmdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2x1c3RlclJvbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENMVVNURVJfUk9MRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY2x1c3RlcnJvbGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUm9sZUJpbmRpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJPTEVfQklORElOR1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncm9sZWJpbmRpbmdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUm9sZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUk9MRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncm9sZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQcmlvcml0eUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUklPUklUWV9DTEFTU0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3NjaGVkdWxpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwcmlvcml0eWNsYXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDU0lEcml2ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9EUklWRVJTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjc2lkcml2ZXJzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ1NJTm9kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1NJX05PREVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjc2lub2RlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENTSVN0b3JhZ2VDYXBhY2l0eS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1NJX1NUT1JBR0VfQ0FQQUNJVElFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3Npc3RvcmFnZWNhcGFjaXRpZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTdG9yYWdlQ2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNUT1JBR0VfQ0xBU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc3RvcmFnZWNsYXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBWb2x1bWVBdHRhY2htZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWT0xVTUVfQVRUQUNITUVOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3ZvbHVtZWF0dGFjaG1lbnRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgYSBjdXN0b20gcmVzb3VyY2UgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY3VzdG9tKG9wdGlvbnM6IEFwaVJlc291cmNlT3B0aW9ucyk6IEFwaVJlc291cmNlIHtcbiAgICByZXR1cm4gbmV3IEFwaVJlc291cmNlKG9wdGlvbnMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gYGF1dGhvcml6YXRpb24uazhzLmlvYCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR3JvdXA6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3Iob3B0aW9uczogQXBpUmVzb3VyY2VPcHRpb25zKSB7XG4gICAgdGhpcy5hcGlHcm91cCA9IG9wdGlvbnMuYXBpR3JvdXA7XG4gICAgdGhpcy5yZXNvdXJjZVR5cGUgPSBvcHRpb25zLnJlc291cmNlVHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBhc0FwaVJlc291cmNlKCk6IElBcGlSZXNvdXJjZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYXNOb25BcGlSZXNvdXJjZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZvciBjcmVhdGluZyBub24gYXBpIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vbkFwaVJlc291cmNlIGltcGxlbWVudHMgSUFwaUVuZHBvaW50IHtcblxuICBwdWJsaWMgc3RhdGljIG9mKHVybDogc3RyaW5nKTogTm9uQXBpUmVzb3VyY2Uge1xuICAgIHJldHVybiBuZXcgTm9uQXBpUmVzb3VyY2UodXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBub25SZXNvdXJjZVVybDogc3RyaW5nKSB7fTtcblxuICBwdWJsaWMgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgYXNOb25BcGlSZXNvdXJjZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXG4gICAgcmV0dXJuIHRoaXMubm9uUmVzb3VyY2VVcmw7XG4gIH1cbn0iXX0=
package/lib/base.js CHANGED
@@ -52,7 +52,7 @@ class Resource extends constructs_1.Construct {
52
52
  }
53
53
  exports.Resource = Resource;
54
54
  _a = JSII_RTTI_SYMBOL_1;
55
- Resource[_a] = { fqn: "cdk8s-plus-31.Resource", version: "2.0.4" };
55
+ Resource[_a] = { fqn: "cdk8s-plus-31.Resource", version: "2.0.6" };
56
56
  /**
57
57
  * Controls permissions for operations on resources.
58
58
  */
@@ -64,7 +64,7 @@ class ResourcePermissions {
64
64
  * Grants the list of subjects permissions to read this resource.
65
65
  */
66
66
  grantRead(...subjects) {
67
- const subjectsAddress = utils_1.address(...subjects);
67
+ const subjectsAddress = (0, utils_1.address)(...subjects);
68
68
  const role = new r.Role(this.instance, `Role${subjectsAddress}`, {
69
69
  metadata: { namespace: this.instance.metadata.namespace },
70
70
  });
@@ -75,7 +75,7 @@ class ResourcePermissions {
75
75
  * Grants the list of subjects permissions to read and write this resource.
76
76
  */
77
77
  grantReadWrite(...subjects) {
78
- const subjectsAddress = utils_1.address(...subjects);
78
+ const subjectsAddress = (0, utils_1.address)(...subjects);
79
79
  const role = new r.Role(this.instance, `Role${subjectsAddress}`, {
80
80
  metadata: { namespace: this.instance.metadata.namespace },
81
81
  });
@@ -85,8 +85,8 @@ class ResourcePermissions {
85
85
  }
86
86
  exports.ResourcePermissions = ResourcePermissions;
87
87
  _b = JSII_RTTI_SYMBOL_1;
88
- ResourcePermissions[_b] = { fqn: "cdk8s-plus-31.ResourcePermissions", version: "2.0.4" };
88
+ ResourcePermissions[_b] = { fqn: "cdk8s-plus-31.ResourcePermissions", version: "2.0.6" };
89
89
  // meh, avoiding errors due to circular imports...
90
90
  const r = require("./role");
91
91
  const utils_1 = require("./utils");
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsMkNBQW1EO0FBa0NuRDs7O0dBR0c7QUFDSCxNQUFzQixRQUFTLFNBQVEsc0JBQVM7SUFXOUMsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVO1FBQzdDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O0FBMURILDRCQTREQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUU5QixZQUErQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUVyRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFHLFFBQXVCO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLGVBQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sZUFBZSxFQUFFLEVBQUU7WUFDL0QsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtTQUMxRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjLENBQUMsR0FBRyxRQUF1QjtRQUM5QyxNQUFNLGVBQWUsR0FBRyxlQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLGVBQWUsRUFBRSxFQUFFO1lBQy9ELFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7U0FDMUQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7QUExQkgsa0RBNEJDOzs7QUFFRCxrREFBa0Q7QUFDbEQsNEJBQTRCO0FBRTVCLG1DQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaU9iamVjdE1ldGFkYXRhLCBBcGlPYmplY3QsIEFwaU9iamVjdE1ldGFkYXRhRGVmaW5pdGlvbiB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUFwaVJlc291cmNlLCBJQXBpRW5kcG9pbnQgfSBmcm9tICcuL2FwaS1yZXNvdXJjZSc7XG5cbi8qKlxuICogSW5pdGlhbGl6YXRpb24gcHJvcGVydGllcyBmb3IgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUHJvcHMge1xuICAvKipcbiAgICogTWV0YWRhdGEgdGhhdCBhbGwgcGVyc2lzdGVkIHJlc291cmNlcyBtdXN0IGhhdmUsIHdoaWNoIGluY2x1ZGVzIGFsbCBvYmplY3RzXG4gICAqIHVzZXJzIG11c3QgY3JlYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBBcGlPYmplY3RNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc291cmNlIGV4dGVuZHMgSUNvbnN0cnVjdCwgSUFwaVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBLdWJlcm5ldGVzIG5hbWUgb2YgdGhpcyByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9iamVjdCdzIEFQSSB2ZXJzaW9uIChlLmcuIFwiYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFcIilcbiAgICovXG4gIHJlYWRvbmx5IGFwaVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9iamVjdCBraW5kIChlLmcuIFwiRGVwbG95bWVudFwiKS5cbiAgICovXG4gIHJlYWRvbmx5IGtpbmQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgS3ViZXJuZXRlcyBvYmplY3RzIGluIHN0ZGs4cy4gUmVwcmVzZW50cyBhIHNpbmdsZVxuICogcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXNvdXJjZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElSZXNvdXJjZSwgSUFwaVJlc291cmNlLCBJQXBpRW5kcG9pbnQge1xuXG4gIC8qKlxuICAgKiBUaGUgdW5kZXJseWluZyBjZGs4cyBBUEkgb2JqZWN0LlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IGFwaU9iamVjdDogQXBpT2JqZWN0O1xuXG4gIHB1YmxpYyByZWFkb25seSBhYnN0cmFjdCByZXNvdXJjZVR5cGU6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgcGVybWlzc2lvbnM6IFJlc291cmNlUGVybWlzc2lvbnM7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucGVybWlzc2lvbnMgPSBuZXcgUmVzb3VyY2VQZXJtaXNzaW9ucyh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWV0YWRhdGEoKTogQXBpT2JqZWN0TWV0YWRhdGFEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5hcGlPYmplY3QubWV0YWRhdGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBBUEkgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXBpT2JqZWN0Lm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG9iamVjdCdzIEFQSSB2ZXJzaW9uIChlLmcuIFwiYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFcIilcbiAgICovXG4gIHB1YmxpYyBnZXQgYXBpVmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwaU9iamVjdC5hcGlWZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBncm91cCBwb3J0aW9uIG9mIHRoZSBBUEkgdmVyc2lvbiAoZS5nLiBcImF1dGhvcml6YXRpb24uazhzLmlvXCIpLlxuICAgKi9cbiAgcHVibGljIGdldCBhcGlHcm91cCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwaU9iamVjdC5hcGlHcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IGtpbmQgKGUuZy4gXCJEZXBsb3ltZW50XCIpLlxuICAgKi9cbiAgcHVibGljIGdldCBraW5kKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXBpT2JqZWN0LmtpbmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc291cmNlTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbn1cblxuLyoqXG4gKiBDb250cm9scyBwZXJtaXNzaW9ucyBmb3Igb3BlcmF0aW9ucyBvbiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVBlcm1pc3Npb25zIHtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgaW5zdGFuY2U6IFJlc291cmNlKSB7fVxuXG4gIC8qKlxuICAgKiBHcmFudHMgdGhlIGxpc3Qgb2Ygc3ViamVjdHMgcGVybWlzc2lvbnMgdG8gcmVhZCB0aGlzIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZCguLi5zdWJqZWN0czogcmIuSVN1YmplY3RbXSk6IHJiLlJvbGVCaW5kaW5nIHtcbiAgICBjb25zdCBzdWJqZWN0c0FkZHJlc3MgPSBhZGRyZXNzKC4uLnN1YmplY3RzKTtcbiAgICBjb25zdCByb2xlID0gbmV3IHIuUm9sZSh0aGlzLmluc3RhbmNlLCBgUm9sZSR7c3ViamVjdHNBZGRyZXNzfWAsIHtcbiAgICAgIG1ldGFkYXRhOiB7IG5hbWVzcGFjZTogdGhpcy5pbnN0YW5jZS5tZXRhZGF0YS5uYW1lc3BhY2UgfSxcbiAgICB9KTtcbiAgICByb2xlLmFsbG93UmVhZCh0aGlzLmluc3RhbmNlKTtcbiAgICByZXR1cm4gcm9sZS5iaW5kKC4uLnN1YmplY3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgdGhlIGxpc3Qgb2Ygc3ViamVjdHMgcGVybWlzc2lvbnMgdG8gcmVhZCBhbmQgd3JpdGUgdGhpcyByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBncmFudFJlYWRXcml0ZSguLi5zdWJqZWN0czogcmIuSVN1YmplY3RbXSk6IHJiLlJvbGVCaW5kaW5nIHtcbiAgICBjb25zdCBzdWJqZWN0c0FkZHJlc3MgPSBhZGRyZXNzKC4uLnN1YmplY3RzKTtcbiAgICBjb25zdCByb2xlID0gbmV3IHIuUm9sZSh0aGlzLmluc3RhbmNlLCBgUm9sZSR7c3ViamVjdHNBZGRyZXNzfWAsIHtcbiAgICAgIG1ldGFkYXRhOiB7IG5hbWVzcGFjZTogdGhpcy5pbnN0YW5jZS5tZXRhZGF0YS5uYW1lc3BhY2UgfSxcbiAgICB9KTtcbiAgICByb2xlLmFsbG93UmVhZFdyaXRlKHRoaXMuaW5zdGFuY2UpO1xuICAgIHJldHVybiByb2xlLmJpbmQoLi4uc3ViamVjdHMpO1xuICB9XG5cbn1cblxuLy8gbWVoLCBhdm9pZGluZyBlcnJvcnMgZHVlIHRvIGNpcmN1bGFyIGltcG9ydHMuLi5cbmltcG9ydCAqIGFzIHIgZnJvbSAnLi9yb2xlJztcbmltcG9ydCAqIGFzIHJiIGZyb20gJy4vcm9sZS1iaW5kaW5nJztcbmltcG9ydCB7IGFkZHJlc3MgfSBmcm9tICcuL3V0aWxzJztcbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsMkNBQW1EO0FBa0NuRDs7O0dBR0c7QUFDSCxNQUFzQixRQUFTLFNBQVEsc0JBQVM7SUFXOUMsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVO1FBQzdDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O0FBMURILDRCQTREQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUU5QixZQUErQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUVyRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFHLFFBQXVCO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUEsZUFBTyxFQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxlQUFlLEVBQUUsRUFBRTtZQUMvRCxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1NBQzFELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxHQUFHLFFBQXVCO1FBQzlDLE1BQU0sZUFBZSxHQUFHLElBQUEsZUFBTyxFQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxlQUFlLEVBQUUsRUFBRTtZQUMvRCxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1NBQzFELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O0FBMUJILGtEQTRCQzs7O0FBRUQsa0RBQWtEO0FBQ2xELDRCQUE0QjtBQUU1QixtQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlPYmplY3RNZXRhZGF0YSwgQXBpT2JqZWN0LCBBcGlPYmplY3RNZXRhZGF0YURlZmluaXRpb24gfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElBcGlSZXNvdXJjZSwgSUFwaUVuZHBvaW50IH0gZnJvbSAnLi9hcGktcmVzb3VyY2UnO1xuXG4vKipcbiAqIEluaXRpYWxpemF0aW9uIHByb3BlcnRpZXMgZm9yIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIE1ldGFkYXRhIHRoYXQgYWxsIHBlcnNpc3RlZCByZXNvdXJjZXMgbXVzdCBoYXZlLCB3aGljaCBpbmNsdWRlcyBhbGwgb2JqZWN0c1xuICAgKiB1c2VycyBtdXN0IGNyZWF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogQXBpT2JqZWN0TWV0YWRhdGE7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHJlc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvdXJjZSBleHRlbmRzIElDb25zdHJ1Y3QsIElBcGlSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgS3ViZXJuZXRlcyBuYW1lIG9mIHRoaXMgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QncyBBUEkgdmVyc2lvbiAoZS5nLiBcImF1dGhvcml6YXRpb24uazhzLmlvL3YxXCIpXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3Qga2luZCAoZS5nLiBcIkRlcGxveW1lbnRcIikuXG4gICAqL1xuICByZWFkb25seSBraW5kOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWxsIEt1YmVybmV0ZXMgb2JqZWN0cyBpbiBzdGRrOHMuIFJlcHJlc2VudHMgYSBzaW5nbGVcbiAqIHJlc291cmNlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzb3VyY2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUmVzb3VyY2UsIElBcGlSZXNvdXJjZSwgSUFwaUVuZHBvaW50IHtcblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgY2RrOHMgQVBJIG9iamVjdC5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBhcGlPYmplY3Q6IEFwaU9iamVjdDtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWJzdHJhY3QgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBlcm1pc3Npb25zOiBSZXNvdXJjZVBlcm1pc3Npb25zO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gbmV3IFJlc291cmNlUGVybWlzc2lvbnModGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1ldGFkYXRhKCk6IEFwaU9iamVjdE1ldGFkYXRhRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpT2JqZWN0Lm1ldGFkYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgQVBJIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwaU9iamVjdC5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QncyBBUEkgdmVyc2lvbiAoZS5nLiBcImF1dGhvcml6YXRpb24uazhzLmlvL3YxXCIpXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFwaVZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlPYmplY3QuYXBpVmVyc2lvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gXCJhdXRob3JpemF0aW9uLms4cy5pb1wiKS5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXBpR3JvdXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlPYmplY3QuYXBpR3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG9iamVjdCBraW5kIChlLmcuIFwiRGVwbG95bWVudFwiKS5cbiAgICovXG4gIHB1YmxpYyBnZXQga2luZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwaU9iamVjdC5raW5kO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNvdXJjZU5hbWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgcHVibGljIGFzQXBpUmVzb3VyY2UoKTogSUFwaVJlc291cmNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhc05vbkFwaVJlc291cmNlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG5cbi8qKlxuICogQ29udHJvbHMgcGVybWlzc2lvbnMgZm9yIG9wZXJhdGlvbnMgb24gcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VQZXJtaXNzaW9ucyB7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGluc3RhbmNlOiBSZXNvdXJjZSkge31cblxuICAvKipcbiAgICogR3JhbnRzIHRoZSBsaXN0IG9mIHN1YmplY3RzIHBlcm1pc3Npb25zIHRvIHJlYWQgdGhpcyByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBncmFudFJlYWQoLi4uc3ViamVjdHM6IHJiLklTdWJqZWN0W10pOiByYi5Sb2xlQmluZGluZyB7XG4gICAgY29uc3Qgc3ViamVjdHNBZGRyZXNzID0gYWRkcmVzcyguLi5zdWJqZWN0cyk7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyByLlJvbGUodGhpcy5pbnN0YW5jZSwgYFJvbGUke3N1YmplY3RzQWRkcmVzc31gLCB7XG4gICAgICBtZXRhZGF0YTogeyBuYW1lc3BhY2U6IHRoaXMuaW5zdGFuY2UubWV0YWRhdGEubmFtZXNwYWNlIH0sXG4gICAgfSk7XG4gICAgcm9sZS5hbGxvd1JlYWQodGhpcy5pbnN0YW5jZSk7XG4gICAgcmV0dXJuIHJvbGUuYmluZCguLi5zdWJqZWN0cyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHRoZSBsaXN0IG9mIHN1YmplY3RzIHBlcm1pc3Npb25zIHRvIHJlYWQgYW5kIHdyaXRlIHRoaXMgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkV3JpdGUoLi4uc3ViamVjdHM6IHJiLklTdWJqZWN0W10pOiByYi5Sb2xlQmluZGluZyB7XG4gICAgY29uc3Qgc3ViamVjdHNBZGRyZXNzID0gYWRkcmVzcyguLi5zdWJqZWN0cyk7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyByLlJvbGUodGhpcy5pbnN0YW5jZSwgYFJvbGUke3N1YmplY3RzQWRkcmVzc31gLCB7XG4gICAgICBtZXRhZGF0YTogeyBuYW1lc3BhY2U6IHRoaXMuaW5zdGFuY2UubWV0YWRhdGEubmFtZXNwYWNlIH0sXG4gICAgfSk7XG4gICAgcm9sZS5hbGxvd1JlYWRXcml0ZSh0aGlzLmluc3RhbmNlKTtcbiAgICByZXR1cm4gcm9sZS5iaW5kKC4uLnN1YmplY3RzKTtcbiAgfVxuXG59XG5cbi8vIG1laCwgYXZvaWRpbmcgZXJyb3JzIGR1ZSB0byBjaXJjdWxhciBpbXBvcnRzLi4uXG5pbXBvcnQgKiBhcyByIGZyb20gJy4vcm9sZSc7XG5pbXBvcnQgKiBhcyByYiBmcm9tICcuL3JvbGUtYmluZGluZyc7XG5pbXBvcnQgeyBhZGRyZXNzIH0gZnJvbSAnLi91dGlscyc7XG4iXX0=