aws-cdk-neuronx-patterns 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +237 -67
- package/AGENT.md +11 -0
- package/API.md +130 -0
- package/lib/base/aws-batch/neuronx-batch-compute-environment.js +1 -1
- package/lib/base/aws-batch/neuronx-batch-ecs-job-definition.js +1 -1
- package/lib/base/aws-batch/neuronx-batch.js +1 -1
- package/lib/base/aws-ecs-patterns/application-load-balanced-neuronx-service.js +2 -2
- package/lib/base/neuronx/deep-learning-containers.d.ts +21 -3
- package/lib/base/neuronx/deep-learning-containers.js +25 -7
- package/lib/base/neuronx/deep-learning-containers.test.js +80 -3
- package/lib/base/neuronx/model.js +2 -2
- package/lib/base/neuronx/neuron-optimized-machine-image.js +1 -1
- package/lib/base/neuronx/neuronx-instance-type.js +3 -3
- package/lib/base/neuronx-compiler/neuronx-compiler.js +1 -1
- package/lib/base/server-engine/vllm-engine/vllm-engine-argments.js +1 -1
- package/lib/vllm-nxd-inference/vllm-nxd-inference-compiler.js +5 -3
- package/lib/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.js +4 -4
- package/package.json +1 -1
package/AGENT.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Agent Instructions
|
|
2
|
+
|
|
3
|
+
## Pull Requests
|
|
4
|
+
|
|
5
|
+
- **All PR titles, descriptions, comments, and commit messages must be written in English.**
|
|
6
|
+
|
|
7
|
+
## Integration Test
|
|
8
|
+
|
|
9
|
+
- **Integration tests must always be deployed and executed against a real AWS environment. Dry runs (snapshot-only updates) are NOT allowed.**
|
|
10
|
+
- Use `npx integ-runner --update-on-failed --no-clean` with the `--update-on-failed` flag to deploy and verify in an actual AWS environment.
|
|
11
|
+
- Never settle for just verifying snapshot diffs.
|
package/API.md
CHANGED
|
@@ -12368,6 +12368,10 @@ PytorchTrainingNeuronxImage.fromNeuronSdkVersion(neuronSdkVersion: string, pytho
|
|
|
12368
12368
|
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_22_0">SDK_2_22_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a></code> | Neuron SDK 2.22.0. |
|
|
12369
12369
|
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_23_0">SDK_2_23_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a></code> | Neuron SDK 2.23.0. |
|
|
12370
12370
|
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_24_0">SDK_2_24_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a></code> | Neuron SDK 2.24.0. |
|
|
12371
|
+
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_25_0">SDK_2_25_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a></code> | Neuron SDK 2.25.0. |
|
|
12372
|
+
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_26_1">SDK_2_26_1</a></code> | <code><a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a></code> | Neuron SDK 2.26.1. |
|
|
12373
|
+
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_27_1">SDK_2_27_1</a></code> | <code><a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a></code> | Neuron SDK 2.27.1. |
|
|
12374
|
+
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_28_0">SDK_2_28_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a></code> | Neuron SDK 2.28.0. |
|
|
12371
12375
|
| <code><a href="#aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.size">size</a></code> | <code>aws-cdk-lib.Size</code> | *No description.* |
|
|
12372
12376
|
|
|
12373
12377
|
---
|
|
@@ -12550,6 +12554,54 @@ Neuron SDK 2.24.0.
|
|
|
12550
12554
|
|
|
12551
12555
|
---
|
|
12552
12556
|
|
|
12557
|
+
##### `SDK_2_25_0`<sup>Required</sup> <a name="SDK_2_25_0" id="aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_25_0"></a>
|
|
12558
|
+
|
|
12559
|
+
```typescript
|
|
12560
|
+
public readonly SDK_2_25_0: INeuronxImage;
|
|
12561
|
+
```
|
|
12562
|
+
|
|
12563
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a>
|
|
12564
|
+
|
|
12565
|
+
Neuron SDK 2.25.0.
|
|
12566
|
+
|
|
12567
|
+
---
|
|
12568
|
+
|
|
12569
|
+
##### `SDK_2_26_1`<sup>Required</sup> <a name="SDK_2_26_1" id="aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_26_1"></a>
|
|
12570
|
+
|
|
12571
|
+
```typescript
|
|
12572
|
+
public readonly SDK_2_26_1: INeuronxImage;
|
|
12573
|
+
```
|
|
12574
|
+
|
|
12575
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a>
|
|
12576
|
+
|
|
12577
|
+
Neuron SDK 2.26.1.
|
|
12578
|
+
|
|
12579
|
+
---
|
|
12580
|
+
|
|
12581
|
+
##### `SDK_2_27_1`<sup>Required</sup> <a name="SDK_2_27_1" id="aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_27_1"></a>
|
|
12582
|
+
|
|
12583
|
+
```typescript
|
|
12584
|
+
public readonly SDK_2_27_1: INeuronxImage;
|
|
12585
|
+
```
|
|
12586
|
+
|
|
12587
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a>
|
|
12588
|
+
|
|
12589
|
+
Neuron SDK 2.27.1.
|
|
12590
|
+
|
|
12591
|
+
---
|
|
12592
|
+
|
|
12593
|
+
##### `SDK_2_28_0`<sup>Required</sup> <a name="SDK_2_28_0" id="aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.SDK_2_28_0"></a>
|
|
12594
|
+
|
|
12595
|
+
```typescript
|
|
12596
|
+
public readonly SDK_2_28_0: INeuronxImage;
|
|
12597
|
+
```
|
|
12598
|
+
|
|
12599
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.INeuronxImage">INeuronxImage</a>
|
|
12600
|
+
|
|
12601
|
+
Neuron SDK 2.28.0.
|
|
12602
|
+
|
|
12603
|
+
---
|
|
12604
|
+
|
|
12553
12605
|
##### `size`<sup>Required</sup> <a name="size" id="aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage.property.size"></a>
|
|
12554
12606
|
|
|
12555
12607
|
```typescript
|
|
@@ -12750,7 +12802,13 @@ VllmInferenceNeuronxImage.fromNeuronSdkVersion(neuronSdkVersion: string, vllmVer
|
|
|
12750
12802
|
| **Name** | **Type** | **Description** |
|
|
12751
12803
|
| --- | --- | --- |
|
|
12752
12804
|
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.LATEST">LATEST</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Latest Neuron SDK. |
|
|
12805
|
+
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_24_1">SDK_2_24_1</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Neuron SDK 2.24.1 with vLLM 0.7.2. |
|
|
12806
|
+
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_25_0">SDK_2_25_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Neuron SDK 2.25.0 with vLLM 0.9.1. |
|
|
12753
12807
|
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_26_0">SDK_2_26_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Neuron SDK 2.26.0 with vLLM 0.9.1. |
|
|
12808
|
+
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_26_1">SDK_2_26_1</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Neuron SDK 2.26.1 with vLLM 0.9.1. |
|
|
12809
|
+
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_27_1_VLLM_0_11_0">SDK_2_27_1_VLLM_0_11_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Neuron SDK 2.27.1 with vLLM 0.11.0. |
|
|
12810
|
+
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_27_1_VLLM_0_13_0">SDK_2_27_1_VLLM_0_13_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Neuron SDK 2.27.1 with vLLM 0.13.0. |
|
|
12811
|
+
| <code><a href="#aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_28_0">SDK_2_28_0</a></code> | <code><a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a></code> | Neuron SDK 2.28.0 with vLLM 0.13.0. |
|
|
12754
12812
|
|
|
12755
12813
|
---
|
|
12756
12814
|
|
|
@@ -12766,6 +12824,30 @@ Latest Neuron SDK.
|
|
|
12766
12824
|
|
|
12767
12825
|
---
|
|
12768
12826
|
|
|
12827
|
+
##### `SDK_2_24_1`<sup>Required</sup> <a name="SDK_2_24_1" id="aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_24_1"></a>
|
|
12828
|
+
|
|
12829
|
+
```typescript
|
|
12830
|
+
public readonly SDK_2_24_1: IVllmInferenceNeuronxImage;
|
|
12831
|
+
```
|
|
12832
|
+
|
|
12833
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a>
|
|
12834
|
+
|
|
12835
|
+
Neuron SDK 2.24.1 with vLLM 0.7.2.
|
|
12836
|
+
|
|
12837
|
+
---
|
|
12838
|
+
|
|
12839
|
+
##### `SDK_2_25_0`<sup>Required</sup> <a name="SDK_2_25_0" id="aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_25_0"></a>
|
|
12840
|
+
|
|
12841
|
+
```typescript
|
|
12842
|
+
public readonly SDK_2_25_0: IVllmInferenceNeuronxImage;
|
|
12843
|
+
```
|
|
12844
|
+
|
|
12845
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a>
|
|
12846
|
+
|
|
12847
|
+
Neuron SDK 2.25.0 with vLLM 0.9.1.
|
|
12848
|
+
|
|
12849
|
+
---
|
|
12850
|
+
|
|
12769
12851
|
##### `SDK_2_26_0`<sup>Required</sup> <a name="SDK_2_26_0" id="aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_26_0"></a>
|
|
12770
12852
|
|
|
12771
12853
|
```typescript
|
|
@@ -12778,6 +12860,54 @@ Neuron SDK 2.26.0 with vLLM 0.9.1.
|
|
|
12778
12860
|
|
|
12779
12861
|
---
|
|
12780
12862
|
|
|
12863
|
+
##### `SDK_2_26_1`<sup>Required</sup> <a name="SDK_2_26_1" id="aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_26_1"></a>
|
|
12864
|
+
|
|
12865
|
+
```typescript
|
|
12866
|
+
public readonly SDK_2_26_1: IVllmInferenceNeuronxImage;
|
|
12867
|
+
```
|
|
12868
|
+
|
|
12869
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a>
|
|
12870
|
+
|
|
12871
|
+
Neuron SDK 2.26.1 with vLLM 0.9.1.
|
|
12872
|
+
|
|
12873
|
+
---
|
|
12874
|
+
|
|
12875
|
+
##### `SDK_2_27_1_VLLM_0_11_0`<sup>Required</sup> <a name="SDK_2_27_1_VLLM_0_11_0" id="aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_27_1_VLLM_0_11_0"></a>
|
|
12876
|
+
|
|
12877
|
+
```typescript
|
|
12878
|
+
public readonly SDK_2_27_1_VLLM_0_11_0: IVllmInferenceNeuronxImage;
|
|
12879
|
+
```
|
|
12880
|
+
|
|
12881
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a>
|
|
12882
|
+
|
|
12883
|
+
Neuron SDK 2.27.1 with vLLM 0.11.0.
|
|
12884
|
+
|
|
12885
|
+
---
|
|
12886
|
+
|
|
12887
|
+
##### `SDK_2_27_1_VLLM_0_13_0`<sup>Required</sup> <a name="SDK_2_27_1_VLLM_0_13_0" id="aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_27_1_VLLM_0_13_0"></a>
|
|
12888
|
+
|
|
12889
|
+
```typescript
|
|
12890
|
+
public readonly SDK_2_27_1_VLLM_0_13_0: IVllmInferenceNeuronxImage;
|
|
12891
|
+
```
|
|
12892
|
+
|
|
12893
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a>
|
|
12894
|
+
|
|
12895
|
+
Neuron SDK 2.27.1 with vLLM 0.13.0.
|
|
12896
|
+
|
|
12897
|
+
---
|
|
12898
|
+
|
|
12899
|
+
##### `SDK_2_28_0`<sup>Required</sup> <a name="SDK_2_28_0" id="aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage.property.SDK_2_28_0"></a>
|
|
12900
|
+
|
|
12901
|
+
```typescript
|
|
12902
|
+
public readonly SDK_2_28_0: IVllmInferenceNeuronxImage;
|
|
12903
|
+
```
|
|
12904
|
+
|
|
12905
|
+
- *Type:* <a href="#aws-cdk-neuronx-patterns.IVllmInferenceNeuronxImage">IVllmInferenceNeuronxImage</a>
|
|
12906
|
+
|
|
12907
|
+
Neuron SDK 2.28.0 with vLLM 0.13.0.
|
|
12908
|
+
|
|
12909
|
+
---
|
|
12910
|
+
|
|
12781
12911
|
### VllmNxdInferenceCompileImage <a name="VllmNxdInferenceCompileImage" id="aws-cdk-neuronx-patterns.VllmNxdInferenceCompileImage"></a>
|
|
12782
12912
|
|
|
12783
12913
|
Compile runtime container image for vLLM NxD Inference.
|
|
@@ -44,5 +44,5 @@ class NeuronxBatchComputeEnvironment extends constructs_1.Construct {
|
|
|
44
44
|
}
|
|
45
45
|
exports.NeuronxBatchComputeEnvironment = NeuronxBatchComputeEnvironment;
|
|
46
46
|
_a = JSII_RTTI_SYMBOL_1;
|
|
47
|
-
NeuronxBatchComputeEnvironment[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchComputeEnvironment", version: "0.
|
|
47
|
+
NeuronxBatchComputeEnvironment[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchComputeEnvironment", version: "0.2.0" };
|
|
48
48
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1iYXRjaC1jb21wdXRlLWVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvYXdzLWJhdGNoL25ldXJvbngtYmF0Y2gtY29tcHV0ZS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtDQUErQztBQUMvQyxpREFBcUQ7QUFFckQsMkNBQXVDO0FBQ3ZDLHdDQUF5RDtBQVF6RDs7R0FFRztBQUNILE1BQWEsOEJBQ1gsU0FBUSxzQkFBUztJQVVqQixJQUFJLHFCQUFxQjtRQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQTBDO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSTtZQUM3QjtnQkFDRSxLQUFLLEVBQUUsSUFBSSxxQ0FBMkIsQ0FDcEMsSUFBSSxFQUNKLDZCQUE2QixDQUM5QjtnQkFDRCxTQUFTLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVU7YUFDaEQ7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FDdkQsSUFBSSxFQUNKLFVBQVUsRUFDVjtZQUNFLEdBQUcsS0FBSztZQUNSLE1BQU07U0FDUCxDQUNGLENBQUM7UUFDRixJQUNFLEtBQUssQ0FBQyxjQUFjO1lBQ3BCLEtBQUssQ0FBQyxjQUFjLFlBQVksd0JBQWMsRUFDOUMsQ0FBQztZQUVDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQ3BCLENBQUMsbUJBQW1CLENBQ25CLHlDQUF5QyxFQUN6QyxLQUFLLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUN6QyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDO1FBQ25FLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQWEsQ0FBQztJQUNsRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsTUFBcUI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDOztBQTdESCx3RUE4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5LCBSZXNvdXJjZUVudmlyb25tZW50LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgYmF0Y2ggZnJvbSBcImF3cy1jZGstbGliL2F3cy1iYXRjaFwiO1xuaW1wb3J0IHsgTGF1bmNoVGVtcGxhdGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgSVJvbGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE5ldXJvbk9wdGltaXplZE1hY2hpbmVJbWFnZSB9IGZyb20gXCIuLi9uZXVyb254XCI7XG5cbi8qKlxuICogUHJvcHMgb2YgTmV1cm9ueEJhdGNoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldXJvbnhCYXRjaENvbXB1dGVFbnZpcm9ubWVudFByb3BzXG4gIGV4dGVuZHMgYmF0Y2guTWFuYWdlZEVjMkVjc0NvbXB1dGVFbnZpcm9ubWVudFByb3BzIHt9XG5cbi8qKlxuICogTmV1cm9ueCBiYXRjaCBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXVyb254QmF0Y2hDb21wdXRlRW52aXJvbm1lbnRcbiAgZXh0ZW5kcyBDb25zdHJ1Y3RcbiAgaW1wbGVtZW50cyBiYXRjaC5JQ29tcHV0ZUVudmlyb25tZW50XG57XG4gIHJlYWRvbmx5IGNvbXB1dGVFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY29tcHV0ZUVudmlyb25tZW50QXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VSb2xlPzogSVJvbGUgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgcmVhZG9ubHkgZW52OiBSZXNvdXJjZUVudmlyb25tZW50O1xuICByZWFkb25seSBpbnN0YW5jZVJvbGU6IElSb2xlO1xuICBnZXQgY29tcHV0ZUVudmlyb25tZW50UmVmKCk6IGJhdGNoLkNvbXB1dGVFbnZpcm9ubWVudFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHsgY29tcHV0ZUVudmlyb25tZW50QXJuOiB0aGlzLmNvbXB1dGVFbnZpcm9ubWVudEFybiB9O1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IGJhdGNoLk1hbmFnZWRFYzJFY3NDb21wdXRlRW52aXJvbm1lbnQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTmV1cm9ueEJhdGNoQ29tcHV0ZUVudmlyb25tZW50UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBpbWFnZXMgPSBwcm9wcy5pbWFnZXMgPz8gW1xuICAgICAge1xuICAgICAgICBpbWFnZTogbmV3IE5ldXJvbk9wdGltaXplZE1hY2hpbmVJbWFnZShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFwiTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlXCIsXG4gICAgICAgICksXG4gICAgICAgIGltYWdlVHlwZTogYmF0Y2guRWNzTWFjaGluZUltYWdlVHlwZS5FQ1NfQUwyMDIzLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgYmF0Y2guTWFuYWdlZEVjMkVjc0NvbXB1dGVFbnZpcm9ubWVudChcbiAgICAgIHRoaXMsXG4gICAgICBcIlJlc291cmNlXCIsXG4gICAgICB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICBpbWFnZXMsXG4gICAgICB9LFxuICAgICk7XG4gICAgaWYgKFxuICAgICAgcHJvcHMubGF1bmNoVGVtcGxhdGUgJiZcbiAgICAgIHByb3BzLmxhdW5jaFRlbXBsYXRlIGluc3RhbmNlb2YgTGF1bmNoVGVtcGxhdGVcbiAgICApIHtcbiAgICAgIChcbiAgICAgICAgdGhpcy5yZXNvdXJjZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBiYXRjaC5DZm5Db21wdXRlRW52aXJvbm1lbnRcbiAgICAgICkuYWRkUHJvcGVydHlPdmVycmlkZShcbiAgICAgICAgXCJDb21wdXRlUmVzb3VyY2VzLkxhdW5jaFRlbXBsYXRlLlZlcnNpb25cIixcbiAgICAgICAgcHJvcHMubGF1bmNoVGVtcGxhdGUubGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wdXRlRW52aXJvbm1lbnRBcm4gPSB0aGlzLnJlc291cmNlLmNvbXB1dGVFbnZpcm9ubWVudEFybjtcbiAgICB0aGlzLmNvbXB1dGVFbnZpcm9ubWVudE5hbWUgPSB0aGlzLnJlc291cmNlLmNvbXB1dGVFbnZpcm9ubWVudE5hbWU7XG4gICAgdGhpcy5lbmFibGVkID0gdGhpcy5yZXNvdXJjZS5lbmFibGVkO1xuICAgIHRoaXMuZW52ID0gdGhpcy5yZXNvdXJjZS5lbnY7XG4gICAgdGhpcy5zZXJ2aWNlUm9sZSA9IHRoaXMucmVzb3VyY2Uuc2VydmljZVJvbGU7XG4gICAgdGhpcy5zdGFjayA9IHRoaXMucmVzb3VyY2Uuc3RhY2s7XG4gICAgdGhpcy5pbnN0YW5jZVJvbGUgPSB0aGlzLnJlc291cmNlLmluc3RhbmNlUm9sZSE7XG4gIH1cbiAgYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeTogUmVtb3ZhbFBvbGljeSk6IHZvaWQge1xuICAgIHRoaXMucmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -58,5 +58,5 @@ class NeuronxBatchEcsJobDefinition extends constructs_1.Construct {
|
|
|
58
58
|
}
|
|
59
59
|
exports.NeuronxBatchEcsJobDefinition = NeuronxBatchEcsJobDefinition;
|
|
60
60
|
_a = JSII_RTTI_SYMBOL_1;
|
|
61
|
-
NeuronxBatchEcsJobDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchEcsJobDefinition", version: "0.
|
|
61
|
+
NeuronxBatchEcsJobDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchEcsJobDefinition", version: "0.2.0" };
|
|
62
62
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1iYXRjaC1lY3Mtam9iLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9hd3MtYmF0Y2gvbmV1cm9ueC1iYXRjaC1lY3Mtam9iLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSwrQ0FBK0M7QUFFL0MsMkNBQXVDO0FBV3ZDOztHQUVHO0FBQ0gsTUFBYSw0QkFDWCxTQUFRLHNCQUFTO0lBWWpCLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBd0M7UUFFeEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLGVBQWUsR0FDbkIsS0FBSyxDQUFDLGVBQWU7WUFDckIsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELGVBQWUsQ0FBQyxVQUFVLENBQ3hCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNaLE1BQU0sRUFBRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsS0FBSztTQUN6RCxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQixRQUFRLEVBQUUsY0FBYyxLQUFLLEVBQUU7WUFDL0IsYUFBYSxFQUFFLGNBQWMsS0FBSyxFQUFFO1lBQ3BDLFdBQVcsRUFBRTtnQkFDWCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSTtnQkFDM0IsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUs7YUFDN0I7U0FDRixDQUFDLENBQUMsQ0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzNELEdBQUcsS0FBSztZQUNSLFNBQVMsRUFBRSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FDNUMsSUFBSSxFQUNKLHFCQUFxQixFQUNyQjtnQkFDRSxHQUFHLEtBQUs7Z0JBQ1IsZUFBZTthQUNoQixDQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDckQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDL0IsQ0FBQztJQUNELGtCQUFrQixDQUFDLE1BQXFCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELGdCQUFnQixDQUFDLFFBQTZCO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFFBQW9CLEVBQUUsS0FBc0I7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7O0FBdEVILG9FQXVFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIER1cmF0aW9uLFxuICBSZW1vdmFsUG9saWN5LFxuICBSZXNvdXJjZUVudmlyb25tZW50LFxuICBTdGFjayxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBiYXRjaCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWJhdGNoXCI7XG5pbXBvcnQgeyBJR3JhbnRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJTmV1cm9ueEluc3RhbmNlVHlwZSB9IGZyb20gXCIuLi9uZXVyb254XCI7XG5cbi8qKlxuICogUHJvcHMgb2YgTmV1cm9ueEJhdGNoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldXJvbnhCYXRjaEVjc0pvYkRlZmluaXRpb25Qcm9wc1xuICBleHRlbmRzIGJhdGNoLkVjc0VjMkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcywgYmF0Y2guSm9iRGVmaW5pdGlvblByb3BzIHtcbiAgcmVhZG9ubHkgbmV1cm9ueEluc3RhbmNlVHlwZTogSU5ldXJvbnhJbnN0YW5jZVR5cGU7XG59XG5cbi8qKlxuICogTmV1cm9ueCBiYXRjaCBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXVyb254QmF0Y2hFY3NKb2JEZWZpbml0aW9uXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgYmF0Y2guSUpvYkRlZmluaXRpb25cbntcbiAgcmVhZG9ubHkgam9iRGVmaW5pdGlvbkFybjogc3RyaW5nO1xuICByZWFkb25seSBqb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgcmVhZG9ubHkgcmV0cnlBdHRlbXB0cz86IG51bWJlcjtcbiAgcmVhZG9ubHkgcmV0cnlTdHJhdGVnaWVzOiBiYXRjaC5SZXRyeVN0cmF0ZWd5W107XG4gIHJlYWRvbmx5IHNjaGVkdWxpbmdQcmlvcml0eT86IG51bWJlcjtcbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIHJlYWRvbmx5IGVudjogUmVzb3VyY2VFbnZpcm9ubWVudDtcbiAgZ2V0IGpvYkRlZmluaXRpb25SZWYoKTogYmF0Y2guSm9iRGVmaW5pdGlvblJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHsgam9iRGVmaW5pdGlvbkFybjogdGhpcy5qb2JEZWZpbml0aW9uQXJuIH07XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogYmF0Y2guRWNzSm9iRGVmaW5pdGlvbjtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXVyb254QmF0Y2hFY3NKb2JEZWZpbml0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgbGludXhQYXJhbWV0ZXJzID1cbiAgICAgIHByb3BzLmxpbnV4UGFyYW1ldGVycyA/P1xuICAgICAgbmV3IGJhdGNoLkxpbnV4UGFyYW1ldGVycyh0aGlzLCBcIkxpbnV4UGFyYW1ldGVyc1wiKTtcbiAgICBsaW51eFBhcmFtZXRlcnMuYWRkRGV2aWNlcyhcbiAgICAgIC4uLkFycmF5LmZyb20oe1xuICAgICAgICBsZW5ndGg6IHByb3BzLm5ldXJvbnhJbnN0YW5jZVR5cGUuYWNjZWxlcmF0b3JDaGlwcy5jaGlwcyxcbiAgICAgIH0pLm1hcCgoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIGhvc3RQYXRoOiBgL2Rldi9uZXVyb24ke2luZGV4fWAsXG4gICAgICAgIGNvbnRhaW5lclBhdGg6IGAvZGV2L25ldXJvbiR7aW5kZXh9YCxcbiAgICAgICAgcGVybWlzc2lvbnM6IFtcbiAgICAgICAgICBiYXRjaC5EZXZpY2VQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgYmF0Y2guRGV2aWNlUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgXSxcbiAgICAgIH0pKSxcbiAgICApO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgYmF0Y2guRWNzSm9iRGVmaW5pdGlvbih0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgY29udGFpbmVyOiBuZXcgYmF0Y2guRWNzRWMyQ29udGFpbmVyRGVmaW5pdGlvbihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJDb250YWluZXJEZWZpbml0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICBsaW51eFBhcmFtZXRlcnMsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH0pO1xuICAgIHRoaXMuam9iRGVmaW5pdGlvbkFybiA9IHRoaXMucmVzb3VyY2Uuam9iRGVmaW5pdGlvbkFybjtcbiAgICB0aGlzLmpvYkRlZmluaXRpb25OYW1lID0gdGhpcy5yZXNvdXJjZS5qb2JEZWZpbml0aW9uTmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLnJlc291cmNlLnBhcmFtZXRlcnM7XG4gICAgdGhpcy5yZXRyeUF0dGVtcHRzID0gdGhpcy5yZXNvdXJjZS5yZXRyeUF0dGVtcHRzO1xuICAgIHRoaXMucmV0cnlTdHJhdGVnaWVzID0gdGhpcy5yZXNvdXJjZS5yZXRyeVN0cmF0ZWdpZXM7XG4gICAgdGhpcy5zY2hlZHVsaW5nUHJpb3JpdHkgPSB0aGlzLnJlc291cmNlLnNjaGVkdWxpbmdQcmlvcml0eTtcbiAgICB0aGlzLnRpbWVvdXQgPSB0aGlzLnJlc291cmNlLnRpbWVvdXQ7XG4gICAgdGhpcy5zdGFjayA9IHRoaXMucmVzb3VyY2Uuc3RhY2s7XG4gICAgdGhpcy5lbnYgPSB0aGlzLnJlc291cmNlLmVudjtcbiAgfVxuICBhcHBseVJlbW92YWxQb2xpY3kocG9saWN5OiBSZW1vdmFsUG9saWN5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocG9saWN5KTtcbiAgfVxuICBhZGRSZXRyeVN0cmF0ZWd5KHN0cmF0ZWd5OiBiYXRjaC5SZXRyeVN0cmF0ZWd5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZS5hZGRSZXRyeVN0cmF0ZWd5KHN0cmF0ZWd5KTtcbiAgfVxuICAvKipcbiAgICogR3JhbnRzIHRoZSBgYmF0Y2g6c3VibWl0Sm9iYCBwZXJtaXNzaW9uIHRvIHRoZSBpZGVudGl0eSBvbiBib3RoIHRoaXMgam9iIGRlZmluaXRpb24gYW5kIHRoZSBgcXVldWVgXG4gICAqL1xuICBncmFudFN1Ym1pdEpvYihpZGVudGl0eTogSUdyYW50YWJsZSwgcXVldWU6IGJhdGNoLklKb2JRdWV1ZSk6IHZvaWQge1xuICAgIHRoaXMucmVzb3VyY2UuZ3JhbnRTdWJtaXRKb2IoaWRlbnRpdHksIHF1ZXVlKTtcbiAgfVxufVxuIl19
|
|
@@ -58,5 +58,5 @@ class NeuronxBatch extends constructs_1.Construct {
|
|
|
58
58
|
}
|
|
59
59
|
exports.NeuronxBatch = NeuronxBatch;
|
|
60
60
|
_a = JSII_RTTI_SYMBOL_1;
|
|
61
|
-
NeuronxBatch[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatch", version: "0.
|
|
61
|
+
NeuronxBatch[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatch", version: "0.2.0" };
|
|
62
62
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1iYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXNlL2F3cy1iYXRjaC9uZXVyb254LWJhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsK0NBQStDO0FBQy9DLDJDQUEyQztBQUMzQywyQ0FBdUM7QUFDdkMsd0NBQStFO0FBb0MvRTs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBR3pDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3BFLFlBQVksRUFBRTtnQkFDWjtvQkFDRSxVQUFVLEVBQUUsV0FBVztvQkFDdkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDbEU7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FDakUsSUFBSSxFQUNKLG9CQUFvQixFQUNwQjtZQUNFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDO1lBQ3ZELHlCQUF5QixFQUFFLEtBQUs7WUFDaEMsTUFBTSxFQUFFO2dCQUNOO29CQUNFLEtBQUssRUFBRSxJQUFJLHFDQUEyQixDQUFDLElBQUksRUFBRSxhQUFhLENBQUM7b0JBQzNELFNBQVMsRUFBRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBVTtpQkFDaEQ7YUFDRjtZQUNELGNBQWM7WUFDZCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUM5QixDQUFDLG1CQUFtQixDQUNuQix5Q0FBeUMsRUFDekMsY0FBYyxDQUFDLG1CQUFtQixDQUNuQyxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQ25CLEtBQUssQ0FBQyxlQUFlO1lBQ3JCLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNyRCxlQUFlLENBQUMsVUFBVSxDQUN4QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDWixNQUFNLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLEtBQUs7U0FDekQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEIsUUFBUSxFQUFFLGNBQWMsS0FBSyxFQUFFO1lBQy9CLGFBQWEsRUFBRSxjQUFjLEtBQUssRUFBRTtZQUNwQyxXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUk7Z0JBQzNCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNyRSxTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQzVDLElBQUksRUFDSixxQkFBcUIsRUFDckI7Z0JBQ0UsR0FBRyxLQUFLO2dCQUNSLGVBQWU7YUFDaEIsQ0FDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBOURILG9DQStEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpemUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGJhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYmF0Y2hcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElOZXVyb254SW5zdGFuY2VUeXBlLCBOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2UgfSBmcm9tIFwiLi4vbmV1cm9ueFwiO1xuXG4vKipcbiAqIFByb3BzIG9mIE5ldXJvbnhCYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXVyb254QmF0Y2hQcm9wc1xuICBleHRlbmRzIGJhdGNoLkVjc0VjMkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgaW4gd2hpY2ggdGhpcyB3aWxsIGxhdW5jaCB3b3JrZXIgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIHR5cGUgb2Ygd29ya2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV1cm9ueEluc3RhbmNlVHlwZTogSU5ldXJvbnhJbnN0YW5jZVR5cGU7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCB2b2x1bWUgb2Ygd29ya2VyIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCAtIE4gYmlsaW9uIHBhcmFtZXRlcnMgKiA1R2lCIEVCU1xuICAgKi9cbiAgcmVhZG9ubHkgdm9sdW1lU2l6ZTogU2l6ZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBzcG90IGluc3RhbmNlcy5cbiAgICogU3BvdCBpbnN0YW5jZXMgYXJlIGxlc3MgZXhwZW5zaXZlIEVDMiBpbnN0YW5jZXMgdGhhdCBjYW4gYmUgcmVjbGFpbWVkIGJ5IEVDMiBhdCBhbnkgdGltZTtcbiAgICogeW91ciBqb2Igd2lsbCBiZSBnaXZlbiB0d28gbWludXRlcyBvZiBub3RpY2UgYmVmb3JlIHJlY2xhbWF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3BvdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgVlBDIFN1Ym5ldHMgdGhpcyBDb21wdXRlIEVudmlyb25tZW50IHdpbGwgbGF1bmNoIGluc3RhbmNlcyBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBuZXcgc3VibmV0cyB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xufVxuXG4vKipcbiAqIE5ldXJvbnggYmF0Y2ggY29uc3RydWN0LlxuICovXG5leHBvcnQgY2xhc3MgTmV1cm9ueEJhdGNoIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgY29tcHV0ZUVudmlyb25tZW50OiBiYXRjaC5NYW5hZ2VkRWMyRWNzQ29tcHV0ZUVudmlyb25tZW50O1xuICByZWFkb25seSBqb2JEZWZpbml0aW9uOiBiYXRjaC5FY3NKb2JEZWZpbml0aW9uO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV1cm9ueEJhdGNoUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IGxhdW5jaFRlbXBsYXRlID0gbmV3IGVjMi5MYXVuY2hUZW1wbGF0ZSh0aGlzLCBcIkxhdW5jaFRlbXBsYXRlXCIsIHtcbiAgICAgIGJsb2NrRGV2aWNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgZGV2aWNlTmFtZTogXCIvZGV2L3h2ZGFcIixcbiAgICAgICAgICB2b2x1bWU6IGVjMi5CbG9ja0RldmljZVZvbHVtZS5lYnMocHJvcHMudm9sdW1lU2l6ZS50b0dpYmlieXRlcygpKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGhpcy5jb21wdXRlRW52aXJvbm1lbnQgPSBuZXcgYmF0Y2guTWFuYWdlZEVjMkVjc0NvbXB1dGVFbnZpcm9ubWVudChcbiAgICAgIHRoaXMsXG4gICAgICBcIkNvbXB1dGVFbnZpcm9ubWVudFwiLFxuICAgICAge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czogcHJvcHMudnBjU3VibmV0cyxcbiAgICAgICAgaW5zdGFuY2VUeXBlczogW3Byb3BzLm5ldXJvbnhJbnN0YW5jZVR5cGUuaW5zdGFuY2VUeXBlXSxcbiAgICAgICAgdXNlT3B0aW1hbEluc3RhbmNlQ2xhc3NlczogZmFsc2UsXG4gICAgICAgIGltYWdlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGltYWdlOiBuZXcgTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlKHRoaXMsIFwiTWFjaGluSW1hZ2VcIiksXG4gICAgICAgICAgICBpbWFnZVR5cGU6IGJhdGNoLkVjc01hY2hpbmVJbWFnZVR5cGUuRUNTX0FMMjAyMyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBsYXVuY2hUZW1wbGF0ZSxcbiAgICAgICAgc3BvdDogcHJvcHMuc3BvdCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICAoXG4gICAgICB0aGlzLmNvbXB1dGVFbnZpcm9ubWVudC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBiYXRjaC5DZm5Db21wdXRlRW52aXJvbm1lbnRcbiAgICApLmFkZFByb3BlcnR5T3ZlcnJpZGUoXG4gICAgICBcIkNvbXB1dGVSZXNvdXJjZXMuTGF1bmNoVGVtcGxhdGUuVmVyc2lvblwiLFxuICAgICAgbGF1bmNoVGVtcGxhdGUubGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICApO1xuICAgIGNvbnN0IGxpbnV4UGFyYW1ldGVycyA9XG4gICAgICBwcm9wcy5saW51eFBhcmFtZXRlcnMgPz9cbiAgICAgIG5ldyBiYXRjaC5MaW51eFBhcmFtZXRlcnModGhpcywgXCJMaW51eFBhcmFtZXRlcnNcIik7XG4gICAgbGludXhQYXJhbWV0ZXJzLmFkZERldmljZXMoXG4gICAgICAuLi5BcnJheS5mcm9tKHtcbiAgICAgICAgbGVuZ3RoOiBwcm9wcy5uZXVyb254SW5zdGFuY2VUeXBlLmFjY2VsZXJhdG9yQ2hpcHMuY2hpcHMsXG4gICAgICB9KS5tYXAoKF8sIGluZGV4KSA9PiAoe1xuICAgICAgICBob3N0UGF0aDogYC9kZXYvbmV1cm9uJHtpbmRleH1gLFxuICAgICAgICBjb250YWluZXJQYXRoOiBgL2Rldi9uZXVyb24ke2luZGV4fWAsXG4gICAgICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICAgICAgYmF0Y2guRGV2aWNlUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIGJhdGNoLkRldmljZVBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIF0sXG4gICAgICB9KSksXG4gICAgKTtcbiAgICB0aGlzLmpvYkRlZmluaXRpb24gPSBuZXcgYmF0Y2guRWNzSm9iRGVmaW5pdGlvbih0aGlzLCBcIkpvYkRlZmluaXRpb25cIiwge1xuICAgICAgY29udGFpbmVyOiBuZXcgYmF0Y2guRWNzRWMyQ29udGFpbmVyRGVmaW5pdGlvbihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJDb250YWluZXJEZWZpbml0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICBsaW51eFBhcmFtZXRlcnMsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -63,7 +63,7 @@ class NeuronxTaskDefinition extends ecs.Ec2TaskDefinition {
|
|
|
63
63
|
}
|
|
64
64
|
exports.NeuronxTaskDefinition = NeuronxTaskDefinition;
|
|
65
65
|
_a = JSII_RTTI_SYMBOL_1;
|
|
66
|
-
NeuronxTaskDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxTaskDefinition", version: "0.
|
|
66
|
+
NeuronxTaskDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxTaskDefinition", version: "0.2.0" };
|
|
67
67
|
class ApplicationLoadBalancedNeuronxService extends aws_ecs_patterns_1.ApplicationLoadBalancedEc2Service {
|
|
68
68
|
constructor(scope, id, props) {
|
|
69
69
|
const neuronxTaskDefinition = props.taskDefinition;
|
|
@@ -141,5 +141,5 @@ mount-s3 ${neuronxTaskDefinition.compiledModel.bucket.bucketName} /mnt/${neuronx
|
|
|
141
141
|
}
|
|
142
142
|
exports.ApplicationLoadBalancedNeuronxService = ApplicationLoadBalancedNeuronxService;
|
|
143
143
|
_b = JSII_RTTI_SYMBOL_1;
|
|
144
|
-
ApplicationLoadBalancedNeuronxService[_b] = { fqn: "aws-cdk-neuronx-patterns.ApplicationLoadBalancedNeuronxService", version: "0.
|
|
144
|
+
ApplicationLoadBalancedNeuronxService[_b] = { fqn: "aws-cdk-neuronx-patterns.ApplicationLoadBalancedNeuronxService", version: "0.2.0" };
|
|
145
145
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbG9hZC1iYWxhbmNlZC1uZXVyb254LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9hd3MtZWNzLXBhdHRlcm5zL2FwcGxpY2F0aW9uLWxvYWQtYmFsYW5jZWQtbmV1cm9ueC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXVDO0FBQ3ZDLGlFQUlxQztBQUNyQyxpREFBcUQ7QUFDckQsMkNBQTJDO0FBQzNDLG1FQUdzQztBQUV0Qyx3Q0FJb0I7QUE2QnBCLE1BQWEscUJBQ1gsU0FBUSxHQUFHLENBQUMsaUJBQWlCO0lBUTdCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDekUsTUFBTSxtQkFBbUIsR0FDdkIsS0FBSyxDQUFDLG1CQUFtQixJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUM7UUFDM0UsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDakMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUN2RSxDQUFDO1FBQ0YsTUFBTSxvQkFBb0IsR0FDeEIsZ0JBQWdCLElBQUksQ0FBQztZQUNuQixDQUFDLENBQUM7Z0JBQ0UsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FDOUIscUJBQXFCLGdCQUFnQixFQUFFLENBQ3hDO2FBQ0Y7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUs7WUFDUixvQkFBb0IsRUFBRTtnQkFDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUM7Z0JBQ3JDLEdBQUcsb0JBQW9CO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gs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QUc7d0JBQ25DLFNBQVMsRUFBRSxJQUFJO3FCQUNoQixDQUFDO2lCQUNIO2FBQ0Y7WUFDRCxRQUFRO1lBQ1IsZUFBZTtZQUNmLFdBQVcsRUFDVCxxQkFBcUIsQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDO2dCQUMxQyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxTQUFTO1NBQ2hCLENBQUMsQ0FBQztRQUNILGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQ2pCLGNBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUM1QixDQUFDO1FBQ0YscUJBQXFCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDeEUsZ0JBQWdCO1NBQ2pCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDOztBQS9GSCxzRkFnR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQXV0b1NjYWxpbmdHcm91cCxcbiAgQmxvY2tEZXZpY2VWb2x1bWUsXG4gIEVic0RldmljZVZvbHVtZVR5cGUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXV0b3NjYWxpbmdcIjtcbmltcG9ydCB7IFBvcnQsIFVzZXJEYXRhIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCAqIGFzIGVjcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRFYzJTZXJ2aWNlLFxuICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEVjMlNlcnZpY2VQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3MtcGF0dGVybnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBJTmV1cm9ueEluc3RhbmNlVHlwZSxcbiAgTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlLFxuICBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UsXG59IGZyb20gXCIuLi9uZXVyb254XCI7XG5pbXBvcnQgeyBOZXVyb254Q29tcGlsZWRNb2RlbCB9IGZyb20gXCIuLi9uZXVyb254LWNvbXBpbGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV1cm9ueFRhc2tEZWZpbml0aW9uUHJvcHNCYXNlXG4gIGV4dGVuZHMgZWNzLkVjMlRhc2tEZWZpbml0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIHR5cGUgb2YgY29tcGlsZSB3b3JrZXIgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBuZXVyb254SW5zdGFuY2VUeXBlPzogSU5ldXJvbnhJbnN0YW5jZVR5cGU7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRlbnNvciBwYXJhbGxlbCBzaXplLlxuICAgKiBAZGVmYXVsdCAtIDFcbiAgICovXG4gIHJlYWRvbmx5IHRlbnNvclBhcmFsbGVsU2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXVyb254VGFza0RlZmluaXRpb25Qcm9wcyBleHRlbmRzIE5ldXJvbnhUYXNrRGVmaW5pdGlvblByb3BzQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgbW9kZWwgdG8gYmUgY29tcGlsZWQuXG4gICAqL1xuICByZWFkb25seSBjb21waWxlZE1vZGVsOiBOZXVyb254Q29tcGlsZWRNb2RlbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueFRhc2tEZWZpbml0aW9uIGV4dGVuZHMgZWNzLklFYzJUYXNrRGVmaW5pdGlvbiB7XG4gIHJlYWRvbmx5IG5ldXJvbnhJbnN0YW5jZVR5cGU6IElOZXVyb254SW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB0ZW5zb3JQYXJhbGxlbFNpemU6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGFza3NQZXJJbnN0YW5jZTogbnVtYmVyO1xuICByZWFkb25seSBjb21waWxlZE1vZGVsOiBOZXVyb254Q29tcGlsZWRNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBOZXVyb254VGFza0RlZmluaXRpb25cbiAgZXh0ZW5kcyBlY3MuRWMyVGFza0RlZmluaXRpb25cbiAgaW1wbGVtZW50cyBJTmV1cm9ueFRhc2tEZWZpbml0aW9uXG57XG4gIHJlYWRvbmx5IG5ldXJvbnhJbnN0YW5jZVR5cGU6IElOZXVyb254SW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB0ZW5zb3JQYXJhbGxlbFNpemU6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGFza3NQZXJJbnN0YW5jZTogbnVtYmVyO1xuICByZWFkb25seSBjb21waWxlZE1vZGVsOiBOZXVyb254Q29tcGlsZWRNb2RlbDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxpbnV4UGFyYW1ldGVyczogZWNzLkxpbnV4UGFyYW1ldGVycztcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5ldXJvbnhUYXNrRGVmaW5pdGlvblByb3BzKSB7XG4gICAgY29uc3QgbmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgICBwcm9wcy5uZXVyb254SW5zdGFuY2VUeXBlID8/IHByb3BzLmNvbXBpbGVkTW9kZWwuY29tcGlsZVRpbWVJbnN0YW5jZVR5cGU7XG4gICAgY29uc3QgdGVuc29yUGFyYWxsZWxTaXplID0gcHJvcHMudGVuc29yUGFyYWxsZWxTaXplID8/IDE7XG4gICAgY29uc3QgdGFza3NQZXJJbnN0YW5jZSA9IE1hdGguZmxvb3IoXG4gICAgICBuZXVyb254SW5zdGFuY2VUeXBlLmFjY2VsZXJhdG9yQ2hpcHMubmV1cm9ueENvcmVzIC8gdGVuc29yUGFyYWxsZWxTaXplLFxuICAgICk7XG4gICAgY29uc3QgcGxhY2VtZW50Q29uc3RyYWludHMgPVxuICAgICAgdGFza3NQZXJJbnN0YW5jZSA+PSAyXG4gICAgICAgID8gW1xuICAgICAgICAgICAgZWNzLlBsYWNlbWVudENvbnN0cmFpbnQubWVtYmVyT2YoXG4gICAgICAgICAgICAgIGBydW5uaW5nVGFza3NDb3VudDwke3Rhc2tzUGVySW5zdGFuY2V9YCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdO1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBwbGFjZW1lbnRDb25zdHJhaW50czogW1xuICAgICAgICAuLi4ocHJvcHMucGxhY2VtZW50Q29uc3RyYWludHMgPz8gW10pLFxuICAgICAgICAuLi5wbGFjZW1lbnRDb25zdHJhaW50cyxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGhpcy5saW51eFBhcmFtZXRlcnMgPSBuZXcgZWNzLkxpbnV4UGFyYW1ldGVycyh0aGlzLCBcIkxpbnV4UGFyYW1ldGVyc1wiKTtcbiAgICB0aGlzLmxpbnV4UGFyYW1ldGVycy5hZGREZXZpY2VzKFxuICAgICAgLi4uQXJyYXkuZnJvbSh7XG4gICAgICAgIGxlbmd0aDogbmV1cm9ueEluc3RhbmNlVHlwZT8uYWNjZWxlcmF0b3JDaGlwcy5jaGlwcyA/PyAxLFxuICAgICAgfSkubWFwPGVjcy5EZXZpY2U+KChfLCBpbmRleCkgPT4gKHtcbiAgICAgICAgaG9zdFBhdGg6IGAvZGV2L25ldXJvbiR7aW5kZXh9YCxcbiAgICAgICAgY29udGFpbmVyUGF0aDogYC9kZXYvbmV1cm9uJHtpbmRleH1gLFxuICAgICAgICBwZXJtaXNzaW9uczogW2Vjcy5EZXZpY2VQZXJtaXNzaW9uLlJFQUQsIGVjcy5EZXZpY2VQZXJtaXNzaW9uLldSSVRFXSxcbiAgICAgIH0pKSxcbiAgICApO1xuICAgIGlmICh0aGlzLmV4ZWN1dGlvblJvbGUpIHtcbiAgICAgIHByb3BzLmNvbXBpbGVkTW9kZWwuYnVja2V0LmdyYW50UmVhZCh0aGlzLmV4ZWN1dGlvblJvbGUpO1xuICAgIH1cbiAgICBwcm9wcy5jb21waWxlZE1vZGVsLmJ1Y2tldC5ncmFudFJlYWQodGhpcy50YXNrUm9sZSk7XG4gICAgdGhpcy5jb21waWxlZE1vZGVsID0gcHJvcHMuY29tcGlsZWRNb2RlbDtcbiAgICB0aGlzLm5ldXJvbnhJbnN0YW5jZVR5cGUgPSBuZXVyb254SW5zdGFuY2VUeXBlO1xuICAgIHRoaXMudGVuc29yUGFyYWxsZWxTaXplID0gdGVuc29yUGFyYWxsZWxTaXplO1xuICAgIHRoaXMudGFza3NQZXJJbnN0YW5jZSA9IHRhc2tzUGVySW5zdGFuY2U7XG4gIH1cblxuICBhZGRDb250YWluZXJXaXRoRGVmYXVsdChcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMsXG4gICk6IGVjcy5Db250YWluZXJEZWZpbml0aW9uIHtcbiAgICBjb25zdCBjb250YWluZXIgPSBzdXBlci5hZGRDb250YWluZXIoaWQsIHtcbiAgICAgIGxvZ2dpbmc6IGVjcy5Mb2dEcml2ZXIuYXdzTG9ncyh7XG4gICAgICAgIHN0cmVhbVByZWZpeDogaWQsXG4gICAgICB9KSxcbiAgICAgIGxpbnV4UGFyYW1ldGVyczogdGhpcy5saW51eFBhcmFtZXRlcnMsXG4gICAgICBtZW1vcnlSZXNlcnZhdGlvbk1pQjogTWF0aC5jZWlsKFxuICAgICAgICAodGhpcy5uZXVyb254SW5zdGFuY2VUeXBlLm1lbW9yeS50b01lYmlieXRlcygpICogMC44KSAvXG4gICAgICAgICAgdGhpcy50YXNrc1Blckluc3RhbmNlLFxuICAgICAgKSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICAgIGNvbnRhaW5lci5hZGRNb3VudFBvaW50cyh7XG4gICAgICBzb3VyY2VWb2x1bWU6IFwibW9kZWxcIixcbiAgICAgIGNvbnRhaW5lclBhdGg6IFwiL29wdC9tbC9tb2RlbFwiLFxuICAgICAgcmVhZE9ubHk6IGZhbHNlLFxuICAgIH0pO1xuICAgIHJldHVybiBjb250YWluZXI7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZE5ldXJvbnhTZXJ2aWNlUHJvcHMgZXh0ZW5kcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEVjMlNlcnZpY2VQcm9wcyB7fVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkTmV1cm9ueFNlcnZpY2UgZXh0ZW5kcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEVjMlNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkTmV1cm9ueFNlcnZpY2VQcm9wcyxcbiAgKSB7XG4gICAgY29uc3QgbmV1cm9ueFRhc2tEZWZpbml0aW9uID0gcHJvcHMudGFza0RlZmluaXRpb247XG4gICAgaWYgKFxuICAgICAgIW5ldXJvbnhUYXNrRGVmaW5pdGlvbiB8fFxuICAgICAgIShuZXVyb254VGFza0RlZmluaXRpb24gaW5zdGFuY2VvZiBOZXVyb254VGFza0RlZmluaXRpb24pXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0YXNrRGVmaW5pdGlvbiBtdXN0IGV4dGVuZCBOZXVyb254VGFza0RlZmluaXRpb25cIik7XG4gICAgfVxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZDpcbiAgICAgICAgcHJvcHMuaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZCA/PyBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY2x1c3RlciA9IHRoaXMuZ2V0RGVmYXVsdENsdXN0ZXIodGhpcywgcHJvcHMudnBjKTtcblxuICAgIC8vIGluc3RhbGwgYW5kIG1vdW50IG1vdW50cG9pbnQgZm9yIHMzXG4gICAgY29uc3QgdXNlckRhdGEgPSBVc2VyRGF0YS5mb3JMaW51eCgpO1xuICAgIHVzZXJEYXRhLmFkZENvbW1hbmRzKGBcbiMhL2Jpbi9iYXNoIC1lXG5cbiMgSW5zdGFsbCBNb3VudHBvaW50XG5NUF9SUE09JChta3RlbXAgLS1zdWZmaXg9LnJwbSlcbmN1cmwgaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL21vdW50cG9pbnQtczMtcmVsZWFzZS9sYXRlc3QveDg2XzY0L21vdW50LXMzLnJwbSA+ICRNUF9SUE1cblxuIyBjbG91ZC1pbml0IGluc3RhbGxzIGNvbmZsaWN0IHdpdGggU1NNIGFnZW50OiBodHRwczovL2dpdGh1Yi5jb20vYW1hem9ubGludXgvYW1hem9uLWxpbnV4LTIwMjMvaXNzdWVzLzM5N1xuYXR0ZW1wdD0wXG5tYXhfYXR0ZW1wdHM9NVxudW50aWwgZG5mIGluc3RhbGwgLXkgJE1QX1JQTTsgZG9cbiAgICBhdHRlbXB0PSQoKGF0dGVtcHQgKyAxKSlcbiAgICBpZiBbICRhdHRlbXB0IC1nZSAkbWF4X2F0dGVtcHRzIF07IHRoZW5cbiAgICAgICAgZWNobyBcIkZhaWxlZCB0byBpbnN0YWxsIG1vdW50LXMzIGFmdGVyICRtYXhfYXR0ZW1wdHMgYXR0ZW1wdHMuIEV4aXRpbmcuXCJcbiAgICAgICAgZXhpdCAxXG4gICAgZmlcbiAgICBlY2hvIFwiZG5mIGluc3RhbGwgbW91bnQtczMgZmFpbGVkIChhdHRlbXB0ICRhdHRlbXB0LyRtYXhfYXR0ZW1wdHMpLCByZXRyeWluZyBpbiAzIHNlY29uZHMuLi5cIlxuICAgIHNsZWVwIDNcbmRvbmVcblxucm0gJE1QX1JQTVxuXG4jIFNldHVwIHRoZSBmc3RhYiBmaWxlIGFuZCBjcmVhdGUgdGhlIG1vdW50XG5ta2RpciAtLXBhcmVudHMgL21udC8ke25ldXJvbnhUYXNrRGVmaW5pdGlvbi5jb21waWxlZE1vZGVsLmJ1Y2tldC5idWNrZXROYW1lfVxubW91bnQtczMgJHtuZXVyb254VGFza0RlZmluaXRpb24uY29tcGlsZWRNb2RlbC5idWNrZXQuYnVja2V0TmFtZX0gL21udC8ke25ldXJvbnhUYXNrRGVmaW5pdGlvbi5jb21waWxlZE1vZGVsLmJ1Y2tldC5idWNrZXROYW1lfSAtLWFsbG93LW90aGVyIC0tZmlsZS1tb2RlPTY0NCAtLWRpci1tb2RlPTc1NWApO1xuXG4gICAgbmV1cm9ueFRhc2tEZWZpbml0aW9uLmFkZFZvbHVtZSh7XG4gICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICBob3N0OiB7XG4gICAgICAgIHNvdXJjZVBhdGg6IGAvbW50LyR7bmV1cm9ueFRhc2tEZWZpbml0aW9uLmNvbXBpbGVkTW9kZWwuYnVja2V0LmJ1Y2tldE5hbWV9YCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB2b2x1bWVTaXplID0gTWF0aC5jZWlsKFxuICAgICAgUHl0b3JjaFRyYWluaW5nTmV1cm9ueEltYWdlLnNpemUudG9HaWJpYnl0ZXMoKSArXG4gICAgICAgIE5ldXJvbk9wdGltaXplZE1hY2hpbmVJbWFnZS5zaXplLnRvR2liaWJ5dGVzKCksXG4gICAgKTtcbiAgICBjb25zdCBkZXNpcmVkQ2FwYWNpdHkgPSBNYXRoLmNlaWwoXG4gICAgICAocHJvcHMuZGVzaXJlZENvdW50ID8/IDEpIC8gbmV1cm9ueFRhc2tEZWZpbml0aW9uLnRhc2tzUGVySW5zdGFuY2UsXG4gICAgKTtcbiAgICBjb25zdCBhdXRvU2NhbGluZ0dyb3VwID0gbmV3IEF1dG9TY2FsaW5nR3JvdXAodGhpcywgXCJBdXRvU2NhbGluZ0dyb3VwXCIsIHtcbiAgICAgIHZwYzogY2x1c3Rlci52cGMsXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldXJvbnhUYXNrRGVmaW5pdGlvbi5uZXVyb254SW5zdGFuY2VUeXBlLmluc3RhbmNlVHlwZSxcbiAgICAgIG1hY2hpbmVJbWFnZTogbmV3IE5ldXJvbk9wdGltaXplZE1hY2hpbmVJbWFnZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2VcIixcbiAgICAgICksXG4gICAgICBibG9ja0RldmljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRldmljZU5hbWU6IFwiL2Rldi94dmRhXCIsXG4gICAgICAgICAgdm9sdW1lOiBCbG9ja0RldmljZVZvbHVtZS5lYnModm9sdW1lU2l6ZSwge1xuICAgICAgICAgICAgdm9sdW1lVHlwZTogRWJzRGV2aWNlVm9sdW1lVHlwZS5HUDMsXG4gICAgICAgICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdXNlckRhdGEsXG4gICAgICBkZXNpcmVkQ2FwYWNpdHksXG4gICAgICBtYXhDYXBhY2l0eTpcbiAgICAgICAgbmV1cm9ueFRhc2tEZWZpbml0aW9uLnRhc2tzUGVySW5zdGFuY2UgPT09IDFcbiAgICAgICAgICA/IGRlc2lyZWRDYXBhY2l0eSArIDFcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICBhdXRvU2NhbGluZ0dyb3VwLmNvbm5lY3Rpb25zLmFsbG93RnJvbShcbiAgICAgIHRoaXMubG9hZEJhbGFuY2VyLFxuICAgICAgUG9ydC50Y3BSYW5nZSgzMjc2OCwgNjA5OTkpLFxuICAgICk7XG4gICAgbmV1cm9ueFRhc2tEZWZpbml0aW9uLmNvbXBpbGVkTW9kZWwuYnVja2V0LmdyYW50UmVhZChhdXRvU2NhbGluZ0dyb3VwKTtcbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBlY3MuQXNnQ2FwYWNpdHlQcm92aWRlcih0aGlzLCBcIkFzZ0NhcGFjaXR5UHJvdmlkZXJcIiwge1xuICAgICAgYXV0b1NjYWxpbmdHcm91cCxcbiAgICB9KTtcbiAgICBjbHVzdGVyLmFkZEFzZ0NhcGFjaXR5UHJvdmlkZXIocHJvdmlkZXIpO1xuICB9XG59XG4iXX0=
|
|
@@ -8,6 +8,14 @@ declare abstract class NeuronxImage {
|
|
|
8
8
|
}
|
|
9
9
|
declare abstract class PytorchNeuronxImage extends NeuronxImage {
|
|
10
10
|
static readonly size: Size;
|
|
11
|
+
/** Neuron SDK 2.28.0 */
|
|
12
|
+
static readonly SDK_2_28_0: INeuronxImage;
|
|
13
|
+
/** Neuron SDK 2.27.1 */
|
|
14
|
+
static readonly SDK_2_27_1: INeuronxImage;
|
|
15
|
+
/** Neuron SDK 2.26.1 */
|
|
16
|
+
static readonly SDK_2_26_1: INeuronxImage;
|
|
17
|
+
/** Neuron SDK 2.25.0 */
|
|
18
|
+
static readonly SDK_2_25_0: INeuronxImage;
|
|
11
19
|
/** Neuron SDK 2.24.0 */
|
|
12
20
|
static readonly SDK_2_24_0: INeuronxImage;
|
|
13
21
|
/** Neuron SDK 2.23.0 */
|
|
@@ -67,10 +75,20 @@ export interface IVllmInferenceNeuronxImage extends INeuronxImage {
|
|
|
67
75
|
readonly vllmVersion: string;
|
|
68
76
|
}
|
|
69
77
|
export declare class VllmInferenceNeuronxImage extends NeuronxImage {
|
|
70
|
-
/**
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
/** Neuron SDK 2.28.0 with vLLM 0.13.0 */
|
|
79
|
+
static readonly SDK_2_28_0: IVllmInferenceNeuronxImage;
|
|
80
|
+
/** Neuron SDK 2.27.1 with vLLM 0.13.0 */
|
|
81
|
+
static readonly SDK_2_27_1_VLLM_0_13_0: IVllmInferenceNeuronxImage;
|
|
82
|
+
/** Neuron SDK 2.27.1 with vLLM 0.11.0 */
|
|
83
|
+
static readonly SDK_2_27_1_VLLM_0_11_0: IVllmInferenceNeuronxImage;
|
|
84
|
+
/** Neuron SDK 2.26.1 with vLLM 0.9.1 */
|
|
85
|
+
static readonly SDK_2_26_1: IVllmInferenceNeuronxImage;
|
|
86
|
+
/** Neuron SDK 2.26.0 with vLLM 0.9.1 */
|
|
73
87
|
static readonly SDK_2_26_0: IVllmInferenceNeuronxImage;
|
|
88
|
+
/** Neuron SDK 2.25.0 with vLLM 0.9.1 */
|
|
89
|
+
static readonly SDK_2_25_0: IVllmInferenceNeuronxImage;
|
|
90
|
+
/** Neuron SDK 2.24.1 with vLLM 0.7.2 */
|
|
91
|
+
static readonly SDK_2_24_1: IVllmInferenceNeuronxImage;
|
|
74
92
|
/** Latest Neuron SDK */
|
|
75
93
|
static readonly LATEST: IVllmInferenceNeuronxImage;
|
|
76
94
|
static fromNeuronSdkVersion(neuronSdkVersion: string, vllmVersion: string, pythonVersion: string, ubuntuVersion: string): IVllmInferenceNeuronxImage;
|
|
@@ -23,6 +23,14 @@ class PytorchNeuronxImage extends NeuronxImage {
|
|
|
23
23
|
}
|
|
24
24
|
_a = PytorchNeuronxImage;
|
|
25
25
|
PytorchNeuronxImage.size = aws_cdk_lib_1.Size.gibibytes(30);
|
|
26
|
+
/** Neuron SDK 2.28.0 */
|
|
27
|
+
PytorchNeuronxImage.SDK_2_28_0 = _a.fromNeuronSdkVersion("2.28.0", "3.12", "2.9.0", "24.04");
|
|
28
|
+
/** Neuron SDK 2.27.1 */
|
|
29
|
+
PytorchNeuronxImage.SDK_2_27_1 = _a.fromNeuronSdkVersion("2.27.1", "3.12", "2.9.0", "24.04");
|
|
30
|
+
/** Neuron SDK 2.26.1 */
|
|
31
|
+
PytorchNeuronxImage.SDK_2_26_1 = _a.fromNeuronSdkVersion("2.26.1", "3.11", "2.8.0", "22.04");
|
|
32
|
+
/** Neuron SDK 2.25.0 */
|
|
33
|
+
PytorchNeuronxImage.SDK_2_25_0 = _a.fromNeuronSdkVersion("2.25.0", "3.10", "2.7.0", "22.04");
|
|
26
34
|
/** Neuron SDK 2.24.0 */
|
|
27
35
|
PytorchNeuronxImage.SDK_2_24_0 = _a.fromNeuronSdkVersion("2.24.0", "3.10", "2.7.0", "22.04");
|
|
28
36
|
/** Neuron SDK 2.23.0 */
|
|
@@ -55,7 +63,7 @@ class PytorchInferenceNeuronxImage extends PytorchNeuronxImage {
|
|
|
55
63
|
}
|
|
56
64
|
exports.PytorchInferenceNeuronxImage = PytorchInferenceNeuronxImage;
|
|
57
65
|
_b = PytorchInferenceNeuronxImage, _c = JSII_RTTI_SYMBOL_1;
|
|
58
|
-
PytorchInferenceNeuronxImage[_c] = { fqn: "aws-cdk-neuronx-patterns.PytorchInferenceNeuronxImage", version: "0.
|
|
66
|
+
PytorchInferenceNeuronxImage[_c] = { fqn: "aws-cdk-neuronx-patterns.PytorchInferenceNeuronxImage", version: "0.2.0" };
|
|
59
67
|
PytorchInferenceNeuronxImage.imageName = "public.ecr.aws/neuron/pytorch-inference-neuronx";
|
|
60
68
|
/** Neuron SDK 2.28.0 */
|
|
61
69
|
PytorchInferenceNeuronxImage.SDK_2_28_0 = _b.fromNeuronSdkVersion("2.28.0", "3.12", "2.9.0", "24.04");
|
|
@@ -79,7 +87,7 @@ class PytorchTrainingNeuronxImage extends PytorchNeuronxImage {
|
|
|
79
87
|
}
|
|
80
88
|
exports.PytorchTrainingNeuronxImage = PytorchTrainingNeuronxImage;
|
|
81
89
|
_d = JSII_RTTI_SYMBOL_1;
|
|
82
|
-
PytorchTrainingNeuronxImage[_d] = { fqn: "aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage", version: "0.
|
|
90
|
+
PytorchTrainingNeuronxImage[_d] = { fqn: "aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage", version: "0.2.0" };
|
|
83
91
|
PytorchTrainingNeuronxImage.imageName = "public.ecr.aws/neuron/pytorch-training-neuronx";
|
|
84
92
|
class VllmInferenceNeuronxImage extends NeuronxImage {
|
|
85
93
|
static fromNeuronSdkVersion(neuronSdkVersion, vllmVersion, pythonVersion, ubuntuVersion) {
|
|
@@ -93,11 +101,21 @@ class VllmInferenceNeuronxImage extends NeuronxImage {
|
|
|
93
101
|
}
|
|
94
102
|
exports.VllmInferenceNeuronxImage = VllmInferenceNeuronxImage;
|
|
95
103
|
_e = VllmInferenceNeuronxImage, _f = JSII_RTTI_SYMBOL_1;
|
|
96
|
-
VllmInferenceNeuronxImage[_f] = { fqn: "aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage", version: "0.
|
|
97
|
-
/**
|
|
98
|
-
|
|
99
|
-
*/
|
|
104
|
+
VllmInferenceNeuronxImage[_f] = { fqn: "aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage", version: "0.2.0" };
|
|
105
|
+
/** Neuron SDK 2.28.0 with vLLM 0.13.0 */
|
|
106
|
+
VllmInferenceNeuronxImage.SDK_2_28_0 = _e.fromNeuronSdkVersion("2.28.0", "0.13.0", "3.12", "24.04");
|
|
107
|
+
/** Neuron SDK 2.27.1 with vLLM 0.13.0 */
|
|
108
|
+
VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_13_0 = _e.fromNeuronSdkVersion("2.27.1", "0.13.0", "3.12", "24.04");
|
|
109
|
+
/** Neuron SDK 2.27.1 with vLLM 0.11.0 */
|
|
110
|
+
VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_11_0 = _e.fromNeuronSdkVersion("2.27.1", "0.11.0", "3.12", "24.04");
|
|
111
|
+
/** Neuron SDK 2.26.1 with vLLM 0.9.1 */
|
|
112
|
+
VllmInferenceNeuronxImage.SDK_2_26_1 = _e.fromNeuronSdkVersion("2.26.1", "0.9.1", "3.11", "22.04");
|
|
113
|
+
/** Neuron SDK 2.26.0 with vLLM 0.9.1 */
|
|
100
114
|
VllmInferenceNeuronxImage.SDK_2_26_0 = _e.fromNeuronSdkVersion("2.26.0", "0.9.1", "3.11", "22.04");
|
|
115
|
+
/** Neuron SDK 2.25.0 with vLLM 0.9.1 */
|
|
116
|
+
VllmInferenceNeuronxImage.SDK_2_25_0 = _e.fromNeuronSdkVersion("2.25.0", "0.9.1", "3.10", "22.04");
|
|
117
|
+
/** Neuron SDK 2.24.1 with vLLM 0.7.2 */
|
|
118
|
+
VllmInferenceNeuronxImage.SDK_2_24_1 = _e.fromNeuronSdkVersion("2.24.1", "0.7.2", "3.10", "22.04");
|
|
101
119
|
/** Latest Neuron SDK */
|
|
102
120
|
VllmInferenceNeuronxImage.LATEST = getLatestVersion(_e);
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUM7QUFRbkMsTUFBZSxZQUFZO0NBQUc7QUFFOUIsU0FBUyxnQkFBZ0IsQ0FDdkIsaUJBQXlDO0lBRXpDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztTQUNyQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFlLG1CQUFvQixTQUFRLFlBQVk7SUFnR3JELE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsZ0JBQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLGNBQXNCLEVBQ3RCLGFBQXFCO1FBRXJCLE9BQU87WUFDTCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxHQUFHLGNBQWMsY0FBYyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxnQkFBZ0IsVUFBVSxhQUFhLEVBQUU7U0FDeEgsQ0FBQztJQUNKLENBQUM7OztBQTFHZSx3QkFBSSxHQUFHLGtCQUFJ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YSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sZ0JBQWdCLFVBQVUsYUFBYSxFQUFFO1lBQ3BILFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQzs7QUF6QkgsOERBMEJDOzs7QUF6QkM7O0dBRUc7QUFDYSxvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLGdDQUFNLEdBQUcsZ0JBQWdCLENBQTZCLEVBQUksQ0FBQyxBQUFyRCxDQUFzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpemUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueEltYWdlIHtcbiAgcmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGltYWdlVGFnOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5ldXJvblNka1ZlcnNpb246IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgTmV1cm9ueEltYWdlIHt9XG5cbmZ1bmN0aW9uIGdldExhdGVzdFZlcnNpb248VCBleHRlbmRzIElOZXVyb254SW1hZ2UgPSBJTmV1cm9ueEltYWdlPihcbiAgbmV1cm9ueEltYWdlQ2xhc3M6IGFic3RyYWN0IG5ldyAoKSA9PiBhbnksXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG5ldXJvbnhJbWFnZUNsYXNzKVxuICAgIC5maWx0ZXIoKFtrXSkgPT4gay5zdGFydHNXaXRoKFwiU0RLX1wiKSlcbiAgICAuc29ydCgoW2sxXSwgW2syXSkgPT4gKGsxIDwgazIgPyAxIDogLTEpKVxuICAgIC5tYXAoKFtfLCB2XSkgPT4gdilbMF0gYXMgVDtcbn1cblxuYWJzdHJhY3QgY2xhc3MgUHl0b3JjaE5ldXJvbnhJbWFnZSBleHRlbmRzIE5ldXJvbnhJbWFnZSB7XG4gIHN0YXRpYyByZWFkb25seSBzaXplID0gU2l6ZS5naWJpYnl0ZXMoMzApO1xuICAvKiogTmV1cm9uIFNESyAyLjI0LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI0XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNC4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjcuMFwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMy4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yM18wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjMuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi42LjBcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjIuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjJfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIyLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuNS4xXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIxLjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIxXzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMS4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjUuMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMS4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMV8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjEuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi41LjFcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMiAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMiA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIwLjJcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIwLjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIwXzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMC4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjAuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTkuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMTlfMSA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjE5LjFcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE5LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE5XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOS4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4xOC4yICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8xOF8yID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMTguMlwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTguMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMThfMSA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjE4LjFcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE4LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE4XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOC4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIExhdGVzdCBOZXVyb24gU0RLICovXG4gIHN0YXRpYyByZWFkb25seSBMQVRFU1QgPSBnZXRMYXRlc3RWZXJzaW9uKHRoaXMpO1xuXG4gIHN0YXRpYyBmcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBuZXVyb25TZGtWZXJzaW9uOiBzdHJpbmcsXG4gICAgcHl0aG9uVmVyc2lvbjogc3RyaW5nLFxuICAgIHB5dG9yY2hWZXJzaW9uOiBzdHJpbmcsXG4gICAgdWJ1bnR1VmVyc2lvbjogc3RyaW5nLFxuICApOiBJTmV1cm9ueEltYWdlIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmV1cm9uU2RrVmVyc2lvbixcbiAgICAgIGltYWdlTmFtZTogdGhpcy5pbWFnZU5hbWUsXG4gICAgICBpbWFnZVRhZzogYCR7cHl0b3JjaFZlcnNpb259LW5ldXJvbngtcHkke3B5dGhvblZlcnNpb24ucmVwbGFjZShcIi5cIiwgXCJcIil9LXNkayR7bmV1cm9uU2RrVmVyc2lvbn0tdWJ1bnR1JHt1YnVudHVWZXJzaW9ufWAsXG4gICAgfTtcbiAgfVxuICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZSBleHRlbmRzIFB5dG9yY2hOZXVyb254SW1hZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgaW1hZ2VOYW1lID0gXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiO1xuICAvKiogTmV1cm9uIFNESyAyLjI4LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI4XzAgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjguMFwiLFxuICAgICAgXCIzLjEyXCIsXG4gICAgICBcIjIuOS4wXCIsXG4gICAgICBcIjI0LjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNy4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yN18xID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjI3LjFcIixcbiAgICAgIFwiMy4xMlwiLFxuICAgICAgXCIyLjkuMFwiLFxuICAgICAgXCIyNC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjYuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjZfMSA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yNi4xXCIsXG4gICAgICBcIjMuMTFcIixcbiAgICAgIFwiMi44LjBcIixcbiAgICAgIFwiMjIuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI1LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI1XzAgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjUuMFwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjIuNy4wXCIsXG4gICAgICBcIjIyLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMy4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yM18wID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjIzLjBcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIyLjYuMFwiLFxuICAgICAgXCIyMi4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjIuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjJfMCA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yMi4wXCIsXG4gICAgICBcIjMuMTBcIixcbiAgICAgIFwiMi41LjFcIixcbiAgICAgIFwiMjIuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIwLjIgKFB5VG9yY2ggMi4xLjIpICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8yX1BZVE9SQ0hfMl8xXzIgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjAuMlwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjIuMS4yXCIsXG4gICAgICBcIjIwLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4yIChQeVRvcmNoIDEuMTMuMSkgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIwXzJfUFlUT1JDSF8xXzEzXzEgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjAuMlwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjEuMTMuMVwiLFxuICAgICAgXCIyMC4wNFwiLFxuICAgICk7XG4gIC8qKiBMYXRlc3QgTmV1cm9uIFNESyAqL1xuICBzdGF0aWMgcmVhZG9ubHkgTEFURVNUID0gZ2V0TGF0ZXN0VmVyc2lvbih0aGlzKTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFB5dG9yY2hUcmFpbmluZ05ldXJvbnhJbWFnZSBleHRlbmRzIFB5dG9yY2hOZXVyb254SW1hZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgaW1hZ2VOYW1lID0gXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC10cmFpbmluZy1uZXVyb254XCI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UgZXh0ZW5kcyBJTmV1cm9ueEltYWdlIHtcbiAgcmVhZG9ubHkgdmxsbVZlcnNpb246IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlIGV4dGVuZHMgTmV1cm9ueEltYWdlIHtcbiAgLyoqXG4gICAqIE5ldXJvbiBTREsgMi4yNi4wIHdpdGggdkxMTSAwLjkuMVxuICAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI2XzAgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNi4wXCIsXG4gICAgXCIwLjkuMVwiLFxuICAgIFwiMy4xMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIExhdGVzdCBOZXVyb24gU0RLICovXG4gIHN0YXRpYyByZWFkb25seSBMQVRFU1QgPSBnZXRMYXRlc3RWZXJzaW9uPElWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlPih0aGlzKTtcblxuICBzdGF0aWMgZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgbmV1cm9uU2RrVmVyc2lvbjogc3RyaW5nLFxuICAgIHZsbG1WZXJzaW9uOiBzdHJpbmcsXG4gICAgcHl0aG9uVmVyc2lvbjogc3RyaW5nLFxuICAgIHVidW50dVZlcnNpb246IHN0cmluZyxcbiAgKTogSVZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2Uge1xuICAgIHJldHVybiB7XG4gICAgICBuZXVyb25TZGtWZXJzaW9uLFxuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBgJHt2bGxtVmVyc2lvbn0tbmV1cm9ueC1weSR7cHl0aG9uVmVyc2lvbi5yZXBsYWNlKFwiLlwiLCBcIlwiKX0tc2RrJHtuZXVyb25TZGtWZXJzaW9ufS11YnVudHUke3VidW50dVZlcnNpb259YCxcbiAgICAgIHZsbG1WZXJzaW9uLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUM7QUFRbkMsTUFBZSxZQUFZO0NBQUc7QUFFOUIsU0FBUyxnQkFBZ0IsQ0FDdkIsaUJBQXlDO0lBRXpDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztTQUNyQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFlLG1CQUFvQixTQUFRLFlBQVk7SUE0SHJELE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsZ0JBQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLGNBQXNCLEVBQ3RCLGFBQXFCO1FBRXJCLE9BQU87WUFDTCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxHQUFHLGNBQWMsY0FBYyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxnQkFBZ0IsVUFBVSxhQUFhLEVBQUU7U0FDeEgsQ0FBQztJQUNKLENBQUM7OztBQXRJZSx3QkFBSSxHQUFHLGtCQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxBQUFyQixDQUFzQjtBQUMxQyx3QkFBd0I7QUFDUiw4QkFBVSxHQUFHLEVBQW1CLENBQUMsb0JBQW9CLENBQ25FLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLDhCQUFVLEdBQUcsRUFBbUIsQ0FBQyxvQkFBb0IsQ0FDbkUsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLEFBTHlCLENBS3hCO0FBQ0Ysd0JBQXdCO0FBQ1IsOEJBQVUsR0FBRyxFQUFtQixDQUFDLG9CQUFvQixDQUNuRSxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQUFMeUIsQ0FLeEI7QUFDRix3QkFBd0I7QUFDUiw4QkFBVSxHQUFHLEVBQW1CLENBQUMsb0JBQW9CLENBQ25FLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLDhCQUFVLEdBQUcsRUFBbUIsQ0FBQyxvQkFBb0IsQ0FDbkUsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLEFBTHlCLENBS3hCO0FBQ0Ysd0JBQXdCO0FBQ1IsOEJBQVUsR0FBRyxFQUFtQixDQUFDLG9CQUFvQixDQUNuRSxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQUFMeUIsQ0FLeEI7QUFDRix3QkFBd0I7QUFDUiw4QkFBVSxHQUFHLEVBQW1CLENBQUMsb0JBQW9CLENBQ25FLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLDhCQUFVLEdBQUcsRUFBbUIsQ0FBQyxvQkFBb0IsQ0FDbkUsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLEFBTHlCLENBS3hCO0FBQ0Ysd0JBQXdCO0FBQ1IsOEJBQVUsR0FBRyxFQUFtQixDQUFDLG9CQUFvQixDQUNuRSxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQUFMeUIsQ0FLeEI7QUFDRix3QkFBd0I7QUFDUiw4QkFBVSxHQUFHLEVBQW1CLENBQUMsb0JBQW9CLENBQ25FLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLDhCQUFVLEdBQUcsRUFBbUIsQ0FBQyxvQkFBb0IsQ0FDbkUsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLEFBTHlCLENBS3hCO0FBQ0Ysd0JBQXdCO0FBQ1IsOEJBQVUsR0FBRyxFQUFtQixDQUFDLG9CQUFvQixDQUNuRSxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQUFMeUIsQ0FLeEI7QUFDRix3QkFBd0I7QUFDUiw4QkFBVSxHQUFHLEVBQW1CLENBQUMsb0JBQW9CLENBQ25FLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLDhCQUFVLEdBQUcsRUFBbUIsQ0FBQyxvQkFBb0IsQ0FDbkUsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLEFBTHlCLENBS3hCO0FBQ0Ysd0JBQXdCO0FBQ1IsOEJBQVUsR0FBRyxFQUFtQixDQUFDLG9CQUFvQixDQUNuRSxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQUFMeUIsQ0FLeEI7QUFDRix3QkFBd0I7QUFDUiw4QkFBVSxHQUFHLEVBQW1CLENBQUMsb0JBQW9CLENBQ25FLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLDhCQUFVLEdBQUcsRUFBbUIsQ0FBQyxvQkFBb0IsQ0FDbkUsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLEFBTHlCLENBS3hCO0FBQ0Ysd0JBQXdCO0FBQ1IsMEJBQU0sR0FBRyxnQkFBZ0IsQ0FBQyxFQUFJLENBQUMsQUFBekIsQ0FBMEI7QUFpQmxELE1BQXNCLDRCQUE2QixTQUFRLG1CQUFtQjs7QUFBOUUsb0VBb0VDOzs7QUFuRWlCLHNDQUFTLEdBQUcsaURBQWlELEFBQXBELENBQXFEO0FBQzlFLHdCQUF3QjtBQUNSLHVDQUFVLEdBQ3hCLEVBQTRCLENBQUMsb0JBQW9CLENBQy9DLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQU51QixDQU10QjtBQUNKLHdCQUF3QjtBQUNSLHVDQUFVLEdBQ3hCLEVBQTRCLENBQUMsb0JBQW9CLENBQy9DLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQU51QixDQU10QjtBQUNKLHdCQUF3QjtBQUNSLHVDQUFVLEdBQ3hCLEVBQTRCLENBQUMsb0JBQW9CLENBQy9DLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQU51QixDQU10QjtBQUNKLHdCQUF3QjtBQUNSLHVDQUFVLEdBQ3hCLEVBQTRCLENBQUMsb0JBQW9CLENBQy9DLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQU51QixDQU10QjtBQUNKLHdCQUF3QjtBQUNSLHVDQUFVLEdBQ3hCLEVBQTRCLENBQUMsb0JBQW9CLENBQy9DLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQU51QixDQU10QjtBQUNKLHdCQUF3QjtBQUNSLHVDQUFVLEdBQ3hCLEVBQTRCLENBQUMsb0JBQW9CLENBQy9DLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixBQU51QixDQU10QjtBQUNKLHdDQUF3QztBQUN4QixxREFBd0IsR0FDdEMsRUFBNEIsQ0FBQyxvQkFBb0IsQ0FDL0MsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLEFBTnFDLENBTXBDO0FBQ0oseUNBQXlDO0FBQ3pCLHNEQUF5QixHQUN2QyxFQUE0QixDQUFDLG9CQUFvQixDQUMvQyxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixPQUFPLENBQ1IsQUFOc0MsQ0FNckM7QUFDSix3QkFBd0I7QUFDUixtQ0FBTSxHQUFHLGdCQUFnQixDQUFDLEVBQUksQ0FBQyxBQUF6QixDQUEwQjtBQUdsRCxNQUFzQiwyQkFBNEIsU0FBUSxtQkFBbUI7O0FBQTdFLGtFQUVDOzs7QUFEaUIscUNBQVMsR0FBRyxnREFBZ0QsQ0FBQztBQU0vRSxNQUFhLHlCQUEwQixTQUFRLFlBQVk7SUF1RHpELE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsZ0JBQXdCLEVBQ3hCLFdBQW1CLEVBQ25CLGFBQXFCLEVBQ3JCLGFBQXFCO1FBRXJCLE9BQU87WUFDTCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFFLHNEQUFzRDtZQUNqRSxRQUFRLEVBQUUsR0FBRyxXQUFXLGNBQWMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sZ0JBQWdCLFVBQVUsYUFBYSxFQUFFO1lBQ3BILFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQzs7QUFuRUgsOERBb0VDOzs7QUFuRUMseUNBQXlDO0FBQ3pCLG9DQUFVLEdBQUcsRUFBeUIsQ0FBQyxvQkFBb0IsQ0FDekUsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxDQUNSLEFBTHlCLENBS3hCO0FBQ0YseUNBQXlDO0FBQ3pCLGdEQUFzQixHQUNwQyxFQUF5QixDQUFDLG9CQUFvQixDQUM1QyxRQUFRLEVBQ1IsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLENBQ1IsQUFObUMsQ0FNbEM7QUFDSix5Q0FBeUM7QUFDekIsZ0RBQXNCLEdBQ3BDLEVBQXlCLENBQUMsb0JBQW9CLENBQzVDLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQU5tQyxDQU1sQztBQUNKLHdDQUF3QztBQUN4QixvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdDQUF3QztBQUN4QixvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdDQUF3QztBQUN4QixvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdDQUF3QztBQUN4QixvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLGdDQUFNLEdBQUcsZ0JBQWdCLENBQTZCLEVBQUksQ0FBQyxBQUFyRCxDQUFzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpemUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueEltYWdlIHtcbiAgcmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGltYWdlVGFnOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5ldXJvblNka1ZlcnNpb246IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgTmV1cm9ueEltYWdlIHt9XG5cbmZ1bmN0aW9uIGdldExhdGVzdFZlcnNpb248VCBleHRlbmRzIElOZXVyb254SW1hZ2UgPSBJTmV1cm9ueEltYWdlPihcbiAgbmV1cm9ueEltYWdlQ2xhc3M6IGFic3RyYWN0IG5ldyAoKSA9PiBhbnksXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG5ldXJvbnhJbWFnZUNsYXNzKVxuICAgIC5maWx0ZXIoKFtrXSkgPT4gay5zdGFydHNXaXRoKFwiU0RLX1wiKSlcbiAgICAuc29ydCgoW2sxXSwgW2syXSkgPT4gKGsxIDwgazIgPyAxIDogLTEpKVxuICAgIC5tYXAoKFtfLCB2XSkgPT4gdilbMF0gYXMgVDtcbn1cblxuYWJzdHJhY3QgY2xhc3MgUHl0b3JjaE5ldXJvbnhJbWFnZSBleHRlbmRzIE5ldXJvbnhJbWFnZSB7XG4gIHN0YXRpYyByZWFkb25seSBzaXplID0gU2l6ZS5naWJpYnl0ZXMoMzApO1xuICAvKiogTmV1cm9uIFNESyAyLjI4LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI4XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yOC4wXCIsXG4gICAgXCIzLjEyXCIsXG4gICAgXCIyLjkuMFwiLFxuICAgIFwiMjQuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNy4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yN18xID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjcuMVwiLFxuICAgIFwiMy4xMlwiLFxuICAgIFwiMi45LjBcIixcbiAgICBcIjI0LjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjYuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjZfMSA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjI2LjFcIixcbiAgICBcIjMuMTFcIixcbiAgICBcIjIuOC4wXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI1LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI1XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNS4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjcuMFwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yNF8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjQuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi43LjBcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjMuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjNfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIzLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuNi4wXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIyLjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIyXzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMi4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjUuMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMS4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMV8xID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjEuMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi41LjFcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjEuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjFfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIxLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuNS4xXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIwLjIgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIwXzIgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMC4yXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8xID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjAuMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIwLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE5LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE5XzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOS4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4xOS4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8xOV8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMTkuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTguMiAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMThfMiA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjE4LjJcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE4LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE4XzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOC4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4xOC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8xOF8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMTguMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBMYXRlc3QgTmV1cm9uIFNESyAqL1xuICBzdGF0aWMgcmVhZG9ubHkgTEFURVNUID0gZ2V0TGF0ZXN0VmVyc2lvbih0aGlzKTtcblxuICBzdGF0aWMgZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgbmV1cm9uU2RrVmVyc2lvbjogc3RyaW5nLFxuICAgIHB5dGhvblZlcnNpb246IHN0cmluZyxcbiAgICBweXRvcmNoVmVyc2lvbjogc3RyaW5nLFxuICAgIHVidW50dVZlcnNpb246IHN0cmluZyxcbiAgKTogSU5ldXJvbnhJbWFnZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5ldXJvblNka1ZlcnNpb24sXG4gICAgICBpbWFnZU5hbWU6IHRoaXMuaW1hZ2VOYW1lLFxuICAgICAgaW1hZ2VUYWc6IGAke3B5dG9yY2hWZXJzaW9ufS1uZXVyb254LXB5JHtweXRob25WZXJzaW9uLnJlcGxhY2UoXCIuXCIsIFwiXCIpfS1zZGske25ldXJvblNka1ZlcnNpb259LXVidW50dSR7dWJ1bnR1VmVyc2lvbn1gLFxuICAgIH07XG4gIH1cbiAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UgZXh0ZW5kcyBQeXRvcmNoTmV1cm9ueEltYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IGltYWdlTmFtZSA9IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIjtcbiAgLyoqIE5ldXJvbiBTREsgMi4yOC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yOF8wID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjI4LjBcIixcbiAgICAgIFwiMy4xMlwiLFxuICAgICAgXCIyLjkuMFwiLFxuICAgICAgXCIyNC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjcuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjdfMSA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yNy4xXCIsXG4gICAgICBcIjMuMTJcIixcbiAgICAgIFwiMi45LjBcIixcbiAgICAgIFwiMjQuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI2LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI2XzEgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjYuMVwiLFxuICAgICAgXCIzLjExXCIsXG4gICAgICBcIjIuOC4wXCIsXG4gICAgICBcIjIyLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNS4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yNV8wID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjI1LjBcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIyLjcuMFwiLFxuICAgICAgXCIyMi4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjMuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjNfMCA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yMy4wXCIsXG4gICAgICBcIjMuMTBcIixcbiAgICAgIFwiMi42LjBcIixcbiAgICAgIFwiMjIuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIyLjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIyXzAgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjIuMFwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjIuNS4xXCIsXG4gICAgICBcIjIyLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4yIChQeVRvcmNoIDIuMS4yKSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMl9QWVRPUkNIXzJfMV8yID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjIwLjJcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIyLjEuMlwiLFxuICAgICAgXCIyMC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMiAoUHlUb3JjaCAxLjEzLjEpICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8yX1BZVE9SQ0hfMV8xM18xID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjIwLjJcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIxLjEzLjFcIixcbiAgICAgIFwiMjAuMDRcIixcbiAgICApO1xuICAvKiogTGF0ZXN0IE5ldXJvbiBTREsgKi9cbiAgc3RhdGljIHJlYWRvbmx5IExBVEVTVCA9IGdldExhdGVzdFZlcnNpb24odGhpcyk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UgZXh0ZW5kcyBQeXRvcmNoTmV1cm9ueEltYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IGltYWdlTmFtZSA9IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtdHJhaW5pbmctbmV1cm9ueFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlIGV4dGVuZHMgSU5ldXJvbnhJbWFnZSB7XG4gIHJlYWRvbmx5IHZsbG1WZXJzaW9uOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZSBleHRlbmRzIE5ldXJvbnhJbWFnZSB7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjguMCB3aXRoIHZMTE0gMC4xMy4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yOF8wID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjguMFwiLFxuICAgIFwiMC4xMy4wXCIsXG4gICAgXCIzLjEyXCIsXG4gICAgXCIyNC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI3LjEgd2l0aCB2TExNIDAuMTMuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjdfMV9WTExNXzBfMTNfMCA9XG4gICAgVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yNy4xXCIsXG4gICAgICBcIjAuMTMuMFwiLFxuICAgICAgXCIzLjEyXCIsXG4gICAgICBcIjI0LjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNy4xIHdpdGggdkxMTSAwLjExLjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI3XzFfVkxMTV8wXzExXzAgPVxuICAgIFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjcuMVwiLFxuICAgICAgXCIwLjExLjBcIixcbiAgICAgIFwiMy4xMlwiLFxuICAgICAgXCIyNC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjYuMSB3aXRoIHZMTE0gMC45LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI2XzEgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNi4xXCIsXG4gICAgXCIwLjkuMVwiLFxuICAgIFwiMy4xMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNi4wIHdpdGggdkxMTSAwLjkuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjZfMCA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjI2LjBcIixcbiAgICBcIjAuOS4xXCIsXG4gICAgXCIzLjExXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI1LjAgd2l0aCB2TExNIDAuOS4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yNV8wID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjUuMFwiLFxuICAgIFwiMC45LjFcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjQuMSB3aXRoIHZMTE0gMC43LjIgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI0XzEgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNC4xXCIsXG4gICAgXCIwLjcuMlwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIExhdGVzdCBOZXVyb24gU0RLICovXG4gIHN0YXRpYyByZWFkb25seSBMQVRFU1QgPSBnZXRMYXRlc3RWZXJzaW9uPElWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlPih0aGlzKTtcblxuICBzdGF0aWMgZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgbmV1cm9uU2RrVmVyc2lvbjogc3RyaW5nLFxuICAgIHZsbG1WZXJzaW9uOiBzdHJpbmcsXG4gICAgcHl0aG9uVmVyc2lvbjogc3RyaW5nLFxuICAgIHVidW50dVZlcnNpb246IHN0cmluZyxcbiAgKTogSVZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2Uge1xuICAgIHJldHVybiB7XG4gICAgICBuZXVyb25TZGtWZXJzaW9uLFxuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBgJHt2bGxtVmVyc2lvbn0tbmV1cm9ueC1weSR7cHl0aG9uVmVyc2lvbi5yZXBsYWNlKFwiLlwiLCBcIlwiKX0tc2RrJHtuZXVyb25TZGtWZXJzaW9ufS11YnVudHUke3VidW50dVZlcnNpb259YCxcbiAgICAgIHZsbG1WZXJzaW9uLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -84,8 +84,42 @@ describe("VllmInferenceNeuronxImage", () => {
|
|
|
84
84
|
vllmVersion: expect.any(String),
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
it("SDK 2.28.0 is defined", () => {
|
|
88
|
+
const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_28_0;
|
|
89
|
+
expect(image).toStrictEqual({
|
|
90
|
+
imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
|
|
91
|
+
imageTag: "0.13.0-neuronx-py312-sdk2.28.0-ubuntu24.04",
|
|
92
|
+
neuronSdkVersion: "2.28.0",
|
|
93
|
+
vllmVersion: "0.13.0",
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
it("SDK 2.27.1 with vLLM 0.13.0 is defined", () => {
|
|
97
|
+
const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_13_0;
|
|
98
|
+
expect(image).toStrictEqual({
|
|
99
|
+
imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
|
|
100
|
+
imageTag: "0.13.0-neuronx-py312-sdk2.27.1-ubuntu24.04",
|
|
101
|
+
neuronSdkVersion: "2.27.1",
|
|
102
|
+
vllmVersion: "0.13.0",
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
it("SDK 2.27.1 with vLLM 0.11.0 is defined", () => {
|
|
106
|
+
const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_11_0;
|
|
107
|
+
expect(image).toStrictEqual({
|
|
108
|
+
imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
|
|
109
|
+
imageTag: "0.11.0-neuronx-py312-sdk2.27.1-ubuntu24.04",
|
|
110
|
+
neuronSdkVersion: "2.27.1",
|
|
111
|
+
vllmVersion: "0.11.0",
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
it("SDK 2.26.1 is defined", () => {
|
|
115
|
+
const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_26_1;
|
|
116
|
+
expect(image).toStrictEqual({
|
|
117
|
+
imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
|
|
118
|
+
imageTag: "0.9.1-neuronx-py311-sdk2.26.1-ubuntu22.04",
|
|
119
|
+
neuronSdkVersion: "2.26.1",
|
|
120
|
+
vllmVersion: "0.9.1",
|
|
121
|
+
});
|
|
122
|
+
});
|
|
89
123
|
it("SDK 2.26.0 is defined", () => {
|
|
90
124
|
const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_26_0;
|
|
91
125
|
expect(image).toStrictEqual({
|
|
@@ -95,5 +129,48 @@ describe("VllmInferenceNeuronxImage", () => {
|
|
|
95
129
|
vllmVersion: "0.9.1",
|
|
96
130
|
});
|
|
97
131
|
});
|
|
132
|
+
it("SDK 2.25.0 is defined", () => {
|
|
133
|
+
const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_25_0;
|
|
134
|
+
expect(image).toStrictEqual({
|
|
135
|
+
imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
|
|
136
|
+
imageTag: "0.9.1-neuronx-py310-sdk2.25.0-ubuntu22.04",
|
|
137
|
+
neuronSdkVersion: "2.25.0",
|
|
138
|
+
vllmVersion: "0.9.1",
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
it("SDK 2.24.1 is defined", () => {
|
|
142
|
+
const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_24_1;
|
|
143
|
+
expect(image).toStrictEqual({
|
|
144
|
+
imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
|
|
145
|
+
imageTag: "0.7.2-neuronx-py310-sdk2.24.1-ubuntu22.04",
|
|
146
|
+
neuronSdkVersion: "2.24.1",
|
|
147
|
+
vllmVersion: "0.7.2",
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
it("LATEST points to the highest SDK version", () => {
|
|
151
|
+
expect(deep_learning_containers_1.VllmInferenceNeuronxImage.LATEST.neuronSdkVersion).toBe("2.28.0");
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe("PytorchTrainingNeuronxImage", () => {
|
|
155
|
+
it("Can get LATEST version", () => {
|
|
156
|
+
const image = deep_learning_containers_1.PytorchTrainingNeuronxImage.LATEST;
|
|
157
|
+
expect(image).not.toBeUndefined();
|
|
158
|
+
expect(image).toStrictEqual({
|
|
159
|
+
imageName: undefined,
|
|
160
|
+
imageTag: expect.any(String),
|
|
161
|
+
neuronSdkVersion: expect.any(String),
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
it("SDK 2.28.0 is defined", () => {
|
|
165
|
+
const image = deep_learning_containers_1.PytorchTrainingNeuronxImage.SDK_2_28_0;
|
|
166
|
+
expect(image).toStrictEqual({
|
|
167
|
+
imageName: undefined,
|
|
168
|
+
imageTag: "2.9.0-neuronx-py312-sdk2.28.0-ubuntu24.04",
|
|
169
|
+
neuronSdkVersion: "2.28.0",
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
it("LATEST points to the highest SDK version", () => {
|
|
173
|
+
expect(deep_learning_containers_1.PytorchTrainingNeuronxImage.LATEST.neuronSdkVersion).toBe("2.28.0");
|
|
174
|
+
});
|
|
98
175
|
});
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9uZXVyb254L2RlZXAtbGVhcm5pbmctY29udGFpbmVycy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUVBR29DO0FBRXBDLFFBQVEsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7SUFDNUMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNoQyxNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxNQUFNLENBQUM7UUFDbEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLHVEQUE0QixDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzFCLFNBQVMsRUFBRSxpREFBaUQ7WUFDNUQsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUMvQixNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxVQUFVLENBQUM7UUFDdEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFB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Q0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3BDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUN6QyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLG9EQUF5QixDQUFDLFVBQVUsQ0FBQztRQUNuRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzFCLFNBQVMsRUFBRSxzREFBc0Q7WUFDakUsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLFdBQVcsRUFBRSxPQUFPO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLFxuICBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLFxufSBmcm9tIFwiLi9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnNcIjtcblxuZGVzY3JpYmUoXCJQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UuaW1hZ2VUYWcpLnRvRXF1YWwoZXhwZWN0LmFueShTdHJpbmcpKTtcbiAgICBleHBlY3QoaW1hZ2UubmV1cm9uU2RrVmVyc2lvbikudG9FcXVhbChleHBlY3QuYW55KFN0cmluZykpO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI4XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi45LjAtbmV1cm9ueC1weTMxMi1zZGsyLjI4LjAtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yOC4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjcuMSBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjdfMTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjkuMC1uZXVyb254LXB5MzEyLXNkazIuMjcuMS11YnVudHUyNC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI3LjFcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNi4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNl8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuOC4wLW5ldXJvbngtcHkzMTEtc2RrMi4yNi4xLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjYuMVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI1LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI1XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi43LjAtbmV1cm9ueC1weTMxMC1zZGsyLjI1LjAtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNS4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjMuMCBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjNfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjYuMC1uZXVyb254LXB5MzEwLXNkazIuMjMuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yMi4wIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMl8wO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuNS4xLW5ldXJvbngtcHkzMTAtc2RrMi4yMi4wLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjIuMFwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjIwLjIgd2l0aCBQeVRvcmNoIDIuMS4yIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMl8xXzI7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi4xLjItbmV1cm9ueC1weTMxMC1zZGsyLjIwLjItdWJ1bnR1MjAuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yMC4yXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjAuMiB3aXRoIFB5VG9yY2ggMS4xMy4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMV8xM18xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjEuMTMuMS1uZXVyb254LXB5MzEwLXNkazIuMjAuMi11YnVudHUyMC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIwLjJcIixcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICB2bGxtVmVyc2lvbjogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIlZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2VcIiwgKCkgPT4ge1xuICBpdChcIlNESyAyLjI2LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI2XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjkuMS1uZXVyb254LXB5MzExLXNkazIuMjYuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI2LjBcIixcbiAgICAgIHZsbG1WZXJzaW9uOiBcIjAuOS4xXCIsXG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9uZXVyb254L2RlZXAtbGVhcm5pbmctY29udGFpbmVycy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUVBSW9DO0FBRXBDLFFBQVEsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7SUFDNUMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNoQyxNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxNQUFNLENBQUM7UUFDbEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLHVEQUE0QixDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzFCLFNBQVMsRUFBRSxpREFBaUQ7WUFDNUQsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUMvQixNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxVQUFVLENBQUM7UUFDdEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFB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Q0FBQztJQUM3RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZSxcbiAgUHl0b3JjaFRyYWluaW5nTmV1cm9ueEltYWdlLFxuICBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLFxufSBmcm9tIFwiLi9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnNcIjtcblxuZGVzY3JpYmUoXCJQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UuaW1hZ2VUYWcpLnRvRXF1YWwoZXhwZWN0LmFueShTdHJpbmcpKTtcbiAgICBleHBlY3QoaW1hZ2UubmV1cm9uU2RrVmVyc2lvbikudG9FcXVhbChleHBlY3QuYW55KFN0cmluZykpO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI4XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi45LjAtbmV1cm9ueC1weTMxMi1zZGsyLjI4LjAtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yOC4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjcuMSBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjdfMTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjkuMC1uZXVyb254LXB5MzEyLXNkazIuMjcuMS11YnVudHUyNC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI3LjFcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNi4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNl8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuOC4wLW5ldXJvbngtcHkzMTEtc2RrMi4yNi4xLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjYuMVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI1LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI1XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi43LjAtbmV1cm9ueC1weTMxMC1zZGsyLjI1LjAtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNS4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjMuMCBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjNfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjYuMC1uZXVyb254LXB5MzEwLXNkazIuMjMuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yMi4wIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMl8wO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuNS4xLW5ldXJvbngtcHkzMTAtc2RrMi4yMi4wLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjIuMFwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjIwLjIgd2l0aCBQeVRvcmNoIDIuMS4yIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMl8xXzI7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi4xLjItbmV1cm9ueC1weTMxMC1zZGsyLjIwLjItdWJ1bnR1MjAuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yMC4yXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjAuMiB3aXRoIFB5VG9yY2ggMS4xMy4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMV8xM18xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjEuMTMuMS1uZXVyb254LXB5MzEwLXNkazIuMjAuMi11YnVudHUyMC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIwLjJcIixcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICB2bGxtVmVyc2lvbjogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI4XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjEzLjAtbmV1cm9ueC1weTMxMi1zZGsyLjI4LjAtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yOC4wXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjEzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNy4xIHdpdGggdkxMTSAwLjEzLjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI3XzFfVkxMTV8wXzEzXzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjEzLjAtbmV1cm9ueC1weTMxMi1zZGsyLjI3LjEtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNy4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjEzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNy4xIHdpdGggdkxMTSAwLjExLjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI3XzFfVkxMTV8wXzExXzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjExLjAtbmV1cm9ueC1weTMxMi1zZGsyLjI3LjEtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNy4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjExLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNi4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNl8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLXZsbG0tbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMC45LjEtbmV1cm9ueC1weTMxMS1zZGsyLjI2LjEtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNi4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjkuMVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI2LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI2XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjkuMS1uZXVyb254LXB5MzExLXNkazIuMjYuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI2LjBcIixcbiAgICAgIHZsbG1WZXJzaW9uOiBcIjAuOS4xXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjUuMCBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjVfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjAuOS4xLW5ldXJvbngtcHkzMTAtc2RrMi4yNS4wLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjUuMFwiLFxuICAgICAgdmxsbVZlcnNpb246IFwiMC45LjFcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNC4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNF8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLXZsbG0tbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMC43LjItbmV1cm9ueC1weTMxMC1zZGsyLjI0LjEtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNC4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjcuMlwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIkxBVEVTVCBwb2ludHMgdG8gdGhlIGhpZ2hlc3QgU0RLIHZlcnNpb25cIiwgKCkgPT4ge1xuICAgIGV4cGVjdChWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLkxBVEVTVC5uZXVyb25TZGtWZXJzaW9uKS50b0JlKFwiMi4yOC4wXCIpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIlB5dG9yY2hUcmFpbmluZ05ldXJvbnhJbWFnZVwiLCAoKSA9PiB7XG4gIGl0KFwiQ2FuIGdldCBMQVRFU1QgdmVyc2lvblwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiB1bmRlZmluZWQsXG4gICAgICBpbWFnZVRhZzogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UuU0RLXzJfMjhfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiB1bmRlZmluZWQsXG4gICAgICBpbWFnZVRhZzogXCIyLjkuMC1uZXVyb254LXB5MzEyLXNkazIuMjguMC11YnVudHUyNC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI4LjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJMQVRFU1QgcG9pbnRzIHRvIHRoZSBoaWdoZXN0IFNESyB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBleHBlY3QoUHl0b3JjaFRyYWluaW5nTmV1cm9ueEltYWdlLkxBVEVTVC5uZXVyb25TZGtWZXJzaW9uKS50b0JlKFwiMi4yOC4wXCIpO1xuICB9KTtcbn0pO1xuIl19
|