@grnsft/if 0.0.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/.examples/ompls/azure.yml +205 -0
  2. package/.github/workflows/nodejs-ci.yml +0 -8
  3. package/README.md +48 -9
  4. package/build/index.js +1 -2
  5. package/examples/impls/test/azure.yml +8 -8
  6. package/examples/impls/test/ccf.yml +5 -3
  7. package/examples/impls/test/if-demo.yml +19 -9
  8. package/examples/impls/test/metadata.yml +3 -2
  9. package/examples/impls/test/nesting.yml +10 -13
  10. package/examples/impls/test/sci-e.yml +1 -1
  11. package/examples/impls/test/sci-m.yml +2 -2
  12. package/examples/impls/test/sci-o.yml +2 -4
  13. package/examples/impls/test/sci.yml +1 -2
  14. package/examples/impls/test/shell.yml +2 -1
  15. package/examples/impls/{tdp-finder-test.yml → test/tdp-finder.yml} +8 -8
  16. package/examples/ompls/ccf.yml +3 -1
  17. package/examples/ompls/if-demo.yml +46 -22
  18. package/package.json +12 -5
  19. package/tsconfig.build.json +7 -0
  20. package/tsconfig.build.tsbuildinfo +1 -0
  21. package/build/__mocks__/azure/index.d.ts +0 -11
  22. package/build/__mocks__/azure/index.js +0 -132
  23. package/build/__mocks__/boavizta/countries.json +0 -138
  24. package/build/__mocks__/boavizta/instance_types.json +0 -625
  25. package/build/__mocks__/boavizta/providers.json +0 -1
  26. package/build/__mocks__/fs/index.d.ts +0 -3
  27. package/build/__mocks__/fs/index.js +0 -56
  28. package/build/__mocks__/model-universe/index.d.ts +0 -31
  29. package/build/__mocks__/model-universe/index.js +0 -64
  30. package/build/__mocks__/watt-time/data.json +0 -119
  31. package/build/__tests__/integration/ompl/index.test.d.ts +0 -1
  32. package/build/__tests__/integration/ompl/index.test.js +0 -61
  33. package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +0 -1
  34. package/build/__tests__/unit/lib/azure-importer/index.test.js +0 -152
  35. package/build/__tests__/unit/lib/boavizta/index.test.d.ts +0 -1
  36. package/build/__tests__/unit/lib/boavizta/index.test.js +0 -579
  37. package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +0 -1
  38. package/build/__tests__/unit/lib/case-studies/aveva.test.js +0 -36
  39. package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +0 -1
  40. package/build/__tests__/unit/lib/case-studies/emem.test.js +0 -108
  41. package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +0 -1
  42. package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +0 -53
  43. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +0 -1
  44. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +0 -23
  45. package/build/__tests__/unit/lib/ccf/index.test.d.ts +0 -1
  46. package/build/__tests__/unit/lib/ccf/index.test.js +0 -223
  47. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +0 -1
  48. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +0 -73
  49. package/build/__tests__/unit/lib/models-universe.test.d.ts +0 -1
  50. package/build/__tests__/unit/lib/models-universe.test.js +0 -193
  51. package/build/__tests__/unit/lib/observatory.test.d.ts +0 -1
  52. package/build/__tests__/unit/lib/observatory.test.js +0 -99
  53. package/build/__tests__/unit/lib/sci/index.test.d.ts +0 -1
  54. package/build/__tests__/unit/lib/sci/index.test.js +0 -106
  55. package/build/__tests__/unit/lib/sci-e/index.test.d.ts +0 -1
  56. package/build/__tests__/unit/lib/sci-e/index.test.js +0 -30
  57. package/build/__tests__/unit/lib/sci-m/index.test.d.ts +0 -1
  58. package/build/__tests__/unit/lib/sci-m/index.test.js +0 -58
  59. package/build/__tests__/unit/lib/sci-o/index.test.d.ts +0 -1
  60. package/build/__tests__/unit/lib/sci-o/index.test.js +0 -42
  61. package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +0 -1
  62. package/build/__tests__/unit/lib/shell-imp/index.test.js +0 -21
  63. package/build/__tests__/unit/lib/supercomputer.test.d.ts +0 -1
  64. package/build/__tests__/unit/lib/supercomputer.test.js +0 -231
  65. package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +0 -1
  66. package/build/__tests__/unit/lib/tdp-finder/index.test.js +0 -62
  67. package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +0 -1
  68. package/build/__tests__/unit/lib/teads-aws/index.test.js +0 -170
  69. package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +0 -1
  70. package/build/__tests__/unit/lib/teads-curve/index.test.js +0 -146
  71. package/build/__tests__/unit/lib/watt-time/index.test.d.ts +0 -1
  72. package/build/__tests__/unit/lib/watt-time/index.test.js +0 -106
  73. package/build/__tests__/unit/util/args.test.d.ts +0 -1
  74. package/build/__tests__/unit/util/args.test.js +0 -92
  75. package/build/__tests__/unit/util/models-universe.test.d.ts +0 -1
  76. package/build/__tests__/unit/util/models-universe.test.js +0 -193
  77. package/build/__tests__/unit/util/observatory.test.d.ts +0 -1
  78. package/build/__tests__/unit/util/observatory.test.js +0 -99
  79. package/build/__tests__/unit/util/supercomputer.test.d.ts +0 -1
  80. package/build/__tests__/unit/util/supercomputer.test.js +0 -231
  81. package/build/__tests__/unit/util/yaml.test.d.ts +0 -1
  82. package/build/__tests__/unit/util/yaml.test.js +0 -59
  83. package/build/lib/azure-importer/index.d.ts +0 -55
  84. package/build/lib/azure-importer/index.js +0 -314
  85. package/build/lib/boavizta/index.d.ts +0 -53
  86. package/build/lib/boavizta/index.js +0 -254
  87. package/build/lib/case-studies/aveva-model.d.ts +0 -29
  88. package/build/lib/case-studies/aveva-model.js +0 -53
  89. package/build/lib/case-studies/emem-model.d.ts +0 -42
  90. package/build/lib/case-studies/emem-model.js +0 -93
  91. package/build/lib/case-studies/eshoppen-model.d.ts +0 -24
  92. package/build/lib/case-studies/eshoppen-model.js +0 -123
  93. package/build/lib/case-studies/index.d.ts +0 -4
  94. package/build/lib/case-studies/index.js +0 -21
  95. package/build/lib/case-studies/sci-accenture-model.d.ts +0 -10
  96. package/build/lib/case-studies/sci-accenture-model.js +0 -37
  97. package/build/lib/ccf/aws-embodied.json +0 -5591
  98. package/build/lib/ccf/aws-instances.json +0 -21116
  99. package/build/lib/ccf/aws-use.json +0 -79
  100. package/build/lib/ccf/azure-embodied.json +0 -6547
  101. package/build/lib/ccf/azure-instances.json +0 -8332
  102. package/build/lib/ccf/azure-use.json +0 -58
  103. package/build/lib/ccf/gcp-embodied.json +0 -3049
  104. package/build/lib/ccf/gcp-instances.json +0 -3880
  105. package/build/lib/ccf/gcp-use.json +0 -58
  106. package/build/lib/ccf/index.d.ts +0 -63
  107. package/build/lib/ccf/index.js +0 -338
  108. package/build/lib/cloud-instance-metadata/aws-instances.json +0 -1
  109. package/build/lib/cloud-instance-metadata/azure-instances.json +0 -1
  110. package/build/lib/cloud-instance-metadata/index.d.ts +0 -15
  111. package/build/lib/cloud-instance-metadata/index.js +0 -104
  112. package/build/lib/index.d.ts +0 -14
  113. package/build/lib/index.js +0 -32
  114. package/build/lib/interfaces/ccf.d.ts +0 -19
  115. package/build/lib/interfaces/ccf.js +0 -3
  116. package/build/lib/interfaces/index.d.ts +0 -7
  117. package/build/lib/interfaces/index.js +0 -18
  118. package/build/lib/sci/index.d.ts +0 -13
  119. package/build/lib/sci/index.js +0 -131
  120. package/build/lib/sci-e/index.d.ts +0 -38
  121. package/build/lib/sci-e/index.js +0 -85
  122. package/build/lib/sci-m/index.d.ts +0 -10
  123. package/build/lib/sci-m/index.js +0 -124
  124. package/build/lib/sci-o/index.d.ts +0 -17
  125. package/build/lib/sci-o/index.js +0 -52
  126. package/build/lib/shell-imp/index.d.ts +0 -32
  127. package/build/lib/shell-imp/index.js +0 -82
  128. package/build/lib/tdp-finder/index.d.ts +0 -19
  129. package/build/lib/tdp-finder/index.js +0 -98
  130. package/build/lib/teads-aws/aws-embodied.json +0 -1
  131. package/build/lib/teads-aws/aws-instances.json +0 -1
  132. package/build/lib/teads-aws/index.d.ts +0 -58
  133. package/build/lib/teads-aws/index.js +0 -208
  134. package/build/lib/teads-curve/index.d.ts +0 -52
  135. package/build/lib/teads-curve/index.js +0 -158
  136. package/build/lib/watt-time/index.d.ts +0 -18
  137. package/build/lib/watt-time/index.js +0 -204
  138. package/build/util/models-universe.d.ts +0 -28
  139. package/build/util/models-universe.js +0 -95
  140. package/build/util/observatory.d.ts +0 -20
  141. package/build/util/observatory.js +0 -31
  142. package/build/util/supercomputer.d.ts +0 -30
  143. package/build/util/supercomputer.js +0 -109
  144. package/docs/implementations/tdp-finder.md +0 -36
  145. package/examples/impls/test/complex-pipeline.yml +0 -67
  146. package/examples/impls/test/toto.yaml +0 -22
  147. package/tsconfig.tsbuildinfo +0 -1
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const index_1 = require("../../../../lib/shell-imp/index");
5
- globals_1.jest.setTimeout(30000);
6
- globals_1.describe.skip('lib/shell-imp: ', () => {
7
- (0, globals_1.describe)('shell:configure', () => {
8
- (0, globals_1.test)('initialize with params', async () => {
9
- const outputModel = new index_1.ShellModel();
10
- await outputModel.configure('test', {
11
- executable: '/usr/local/bin/sampler',
12
- });
13
- await (0, globals_1.expect)(outputModel.execute([
14
- { duration: 3600, cpu: 0.5, datetime: '2021-01-01T00:00:00Z' },
15
- ])).resolves.toStrictEqual([
16
- { duration: 3600, cpu: 0.5, datetime: '2021-01-01T00:00:00Z', energy: 1 },
17
- ]);
18
- });
19
- });
20
- });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvc2hlbGwtaW1wL2luZGV4LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBMkQ7QUFDM0QsMkRBQTJEO0FBRTNELGNBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFdkIsa0JBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQ3BDLElBQUEsa0JBQVEsRUFBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsSUFBQSxjQUFJLEVBQUMsd0JBQXdCLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxrQkFBVSxFQUFFLENBQUM7WUFDckMsTUFBTSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDbEMsVUFBVSxFQUFFLHdCQUF3QjthQUNyQyxDQUFDLENBQUM7WUFDSCxNQUFNLElBQUEsZ0JBQU0sRUFDVixXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUNsQixFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUM7YUFDN0QsQ0FBQyxDQUNILENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztnQkFDdkIsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUM7YUFDeEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkZXNjcmliZSwgZXhwZWN0LCBqZXN0LCB0ZXN0fSBmcm9tICdAamVzdC9nbG9iYWxzJztcbmltcG9ydCB7U2hlbGxNb2RlbH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3NoZWxsLWltcC9pbmRleCc7XG5cbmplc3Quc2V0VGltZW91dCgzMDAwMCk7XG5cbmRlc2NyaWJlLnNraXAoJ2xpYi9zaGVsbC1pbXA6ICcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3NoZWxsOmNvbmZpZ3VyZScsICgpID0+IHtcbiAgICB0ZXN0KCdpbml0aWFsaXplIHdpdGggcGFyYW1zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgU2hlbGxNb2RlbCgpO1xuICAgICAgYXdhaXQgb3V0cHV0TW9kZWwuY29uZmlndXJlKCd0ZXN0Jywge1xuICAgICAgICBleGVjdXRhYmxlOiAnL3Vzci9sb2NhbC9iaW4vc2FtcGxlcicsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IGV4cGVjdChcbiAgICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgICAge2R1cmF0aW9uOiAzNjAwLCBjcHU6IDAuNSwgZGF0ZXRpbWU6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWid9LFxuICAgICAgICBdKVxuICAgICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgICAge2R1cmF0aW9uOiAzNjAwLCBjcHU6IDAuNSwgZGF0ZXRpbWU6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsIGVuZXJneTogMX0sXG4gICAgICBdKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1 +0,0 @@
1
- export {};
@@ -1,231 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const model_universe_1 = require("../../../__mocks__/model-universe");
4
- jest.mock('../../../lib/models-universe', () => ({
5
- __esModule: true,
6
- ModelsUniverse: model_universe_1.ModelsUniverse,
7
- }));
8
- const supercomputer_1 = require("../../../lib/supercomputer");
9
- const models_universe_1 = require("../../../lib/models-universe");
10
- const config_1 = require("../../../config");
11
- const { NOT_INITIALIZED_MODEL } = config_1.STRINGS;
12
- describe('util/supercomputer: ', () => {
13
- const impl = {
14
- name: 'gsf-demo',
15
- description: 'Hello',
16
- tags: {
17
- kind: 'web',
18
- complexity: 'moderate',
19
- category: 'cloud',
20
- },
21
- initialize: {
22
- models: [
23
- {
24
- name: 'boavizta-cpu',
25
- kind: 'plugin',
26
- config: {
27
- allocation: 'LINEAR',
28
- verbose: true,
29
- },
30
- },
31
- ],
32
- },
33
- graph: {
34
- children: {
35
- 'front-end': {
36
- pipeline: ['boavizta-cpu'],
37
- config: {
38
- 'boavizta-cpu': {
39
- 'core-units': 24,
40
- processor: 'Intel® Core™ i7-1185G7',
41
- },
42
- },
43
- inputs: [
44
- {
45
- timestamp: '2023-07-06T00:00',
46
- duration: 3600,
47
- 'cpu-util': 18.392,
48
- },
49
- {
50
- timestamp: '2023-08-06T00:00',
51
- duration: 3600,
52
- 'cpu-util': 16,
53
- },
54
- ],
55
- },
56
- },
57
- },
58
- };
59
- describe('init Supercomputer: ', () => {
60
- it('initializes object with required properties.', () => {
61
- const impl = {};
62
- const modelsHandbook = new models_universe_1.ModelsUniverse();
63
- const aterui = new supercomputer_1.Supercomputer(impl, modelsHandbook);
64
- expect(aterui).toHaveProperty('compute');
65
- });
66
- });
67
- describe('compute(): ', () => {
68
- const implWithNestedChildren = {
69
- name: 'ntt-data-on-premise',
70
- description: 'https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/nttdatta-On-Premise-Web-system.md',
71
- tags: {
72
- kind: 'web',
73
- complexity: 'moderate',
74
- category: 'on-premise',
75
- },
76
- initialize: {
77
- models: [
78
- {
79
- name: 'sci-e',
80
- kind: 'plugin',
81
- verbose: false,
82
- path: '',
83
- },
84
- {
85
- name: 'sci-m',
86
- kind: 'plugin',
87
- verbose: false,
88
- path: '',
89
- },
90
- {
91
- name: 'sci-o',
92
- kind: 'plugin',
93
- verbose: false,
94
- path: '',
95
- },
96
- ],
97
- },
98
- graph: {
99
- children: {
100
- 'layer-3-switch': {
101
- pipeline: ['sci-e', 'sci-m', 'sci-o'],
102
- config: {
103
- 'sci-m': {
104
- te: 251000,
105
- tir: 3600,
106
- el: 126144000,
107
- rr: 1,
108
- tor: 1,
109
- },
110
- 'sci-o': {
111
- 'grid-carbon-intensity': 457,
112
- },
113
- },
114
- inputs: [
115
- {
116
- timestamp: '2023-07-06T00:00',
117
- duration: 3600,
118
- 'five-min-input-rate': 100,
119
- 'five-min-output-rate': 100,
120
- 'grid-carbon-intensity': 457,
121
- 'energy-network': 0.00496,
122
- requests: 38032740,
123
- },
124
- ],
125
- },
126
- 'layer-2-switch': {
127
- pipeline: ['sci-e', 'sci-m', 'sci-o'],
128
- config: {
129
- 'sci-m': {
130
- te: 251000,
131
- tir: 3600,
132
- el: 126144000,
133
- rr: 1,
134
- tor: 1,
135
- },
136
- 'sci-o': {
137
- grid_ci: 457,
138
- },
139
- },
140
- children: {
141
- 'switch-1': {
142
- inputs: [
143
- {
144
- timestamp: '2023-07-06T00:00',
145
- duration: 1,
146
- 'energy-network': 0.000811,
147
- 'grid-carbon-intensity': 457,
148
- requests: 38032740,
149
- },
150
- ],
151
- },
152
- 'switch-2': {
153
- inputs: [
154
- {
155
- timestamp: '2023-07-06T00:00',
156
- duration: 1,
157
- 'energy-network': 0,
158
- 'grid-carbon-intensity': 457,
159
- requests: 38032740,
160
- },
161
- ],
162
- },
163
- 'switch-3': {
164
- inputs: [
165
- {
166
- timestamp: '2023-07-06T00:00',
167
- duration: 1,
168
- 'energy-network': 0.000955,
169
- 'grid-carbon-intensity': 457,
170
- requests: 38032740,
171
- },
172
- ],
173
- },
174
- 'switch-4': {
175
- inputs: [
176
- {
177
- timestamp: '2023-07-06T00:00',
178
- duration: 1,
179
- 'energy-network': 1.14e-8,
180
- 'grid-carbon-intensity': 457,
181
- requests: 38032740,
182
- },
183
- ],
184
- },
185
- },
186
- },
187
- },
188
- },
189
- };
190
- it('rejects with model is not initialized.', async () => {
191
- expect.assertions(2);
192
- const modelsHandbook = new models_universe_1.ModelsUniverse();
193
- const aterui = new supercomputer_1.Supercomputer(impl, modelsHandbook);
194
- const expectedMessage = NOT_INITIALIZED_MODEL('boavizta-cpu');
195
- try {
196
- await aterui.compute();
197
- }
198
- catch (error) {
199
- if (error instanceof Error) {
200
- expect(error).toBeInstanceOf(Error);
201
- expect(error.message).toBe(expectedMessage);
202
- }
203
- }
204
- });
205
- it('applies computing to given impl.', async () => {
206
- expect.assertions(1);
207
- const modelsHandbook = new models_universe_1.ModelsUniverse();
208
- impl.initialize.models.forEach((model) => modelsHandbook.writeDown(model));
209
- const ateruiComputer = new supercomputer_1.Supercomputer(impl, modelsHandbook);
210
- const ompl = await ateruiComputer.compute();
211
- const children = ompl.graph.children;
212
- const childrenNames = Object.keys(children);
213
- expect(ompl.graph.children[childrenNames[0]]).toHaveProperty('outputs');
214
- });
215
- it('applies computing to nested children components.', async () => {
216
- expect.assertions(4);
217
- const modelsHandbook = new models_universe_1.ModelsUniverse();
218
- implWithNestedChildren.initialize.models.forEach((model) => modelsHandbook.writeDown(model));
219
- const ateruiComputer = new supercomputer_1.Supercomputer(implWithNestedChildren, modelsHandbook);
220
- const ompl = await ateruiComputer.compute();
221
- const children = ompl.graph.children;
222
- const childrenNames = Object.keys(children);
223
- const oneWithNested = childrenNames[1];
224
- const nestedChildren = children[oneWithNested].children;
225
- Object.keys(nestedChildren).forEach((child) => {
226
- expect(nestedChildren[child]).toHaveProperty('outputs');
227
- });
228
- });
229
- });
230
- });
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJjb21wdXRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL19fdGVzdHNfXy91bml0L2xpYi9zdXBlcmNvbXB1dGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzRUFBc0Y7QUFFdEYsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGNBQWMsRUFBRSwrQkFBaUI7Q0FDbEMsQ0FBQyxDQUFDLENBQUM7QUFFSiw4REFBeUQ7QUFDekQsa0VBQTREO0FBRTVELDRDQUF3QztBQUV4QyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsTUFBTSxJQUFJLEdBQVE7UUFDaEIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsV0FBVyxFQUFFLE9BQU87UUFDcEIsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLEtBQUs7WUFDWCxVQUFVLEVBQUUsVUFBVTtZQUN0QixRQUFRLEVBQUUsT0FBTztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNWLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxJQUFJLEVBQUUsY0FBYztvQkFDcEIsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsTUFBTSxFQUFFO3dCQUNOLFVBQVUsRUFBRSxRQUFRO3dCQUNwQixPQUFPLEVBQUUsSUFBSTtxQkFDZDtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsV0FBVyxFQUFFO29CQUNYLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDMUIsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRTs0QkFDZCxZQUFZLEVBQUUsRUFBRTs0QkFDaEIsU0FBUyxFQUFFLHdCQUF3Qjt5QkFDcEM7cUJBQ0Y7b0JBQ0QsTUFBTSxFQUFF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RSxDQUFDLGtEQUFrRCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2hFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFckIsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxFQUFFLENBQUM7WUFDNUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUM5RCxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUNoQyxDQUFDO1lBRUYsTUFBTSxjQUFjLEdBQUcsSUFBSSw2QkFBYSxDQUN0QyxzQkFBc0IsRUFDdEIsY0FBYyxDQUNmLENBQUM7WUFDRixNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUU1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV2QyxNQUFNLGNBQWMsR0FBUSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDO1lBRTdELE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsc1VuaXZlcnNlIGFzIE1vY2tNb2RlbFVuaXZlcnNlfSBmcm9tICcuLi8uLi8uLi9fX21vY2tzX18vbW9kZWwtdW5pdmVyc2UnO1xuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2xpYi9tb2RlbHMtdW5pdmVyc2UnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBNb2RlbHNVbml2ZXJzZTogTW9ja01vZGVsVW5pdmVyc2UsXG59KSk7XG5cbmltcG9ydCB7U3VwZXJjb21wdXRlcn0gZnJvbSAnLi4vLi4vLi4vbGliL3N1cGVyY29tcHV0ZXInO1xuaW1wb3J0IHtNb2RlbHNVbml2ZXJzZX0gZnJvbSAnLi4vLi4vLi4vbGliL21vZGVscy11bml2ZXJzZSc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vLi4vY29uZmlnJztcblxuY29uc3Qge05PVF9JTklUSUFMSVpFRF9NT0RFTH0gPSBTVFJJTkdTO1xuXG5kZXNjcmliZSgndXRpbC9zdXBlcmNvbXB1dGVyOiAnLCAoKSA9PiB7XG4gIGNvbnN0IGltcGw6IGFueSA9IHtcbiAgICBuYW1lOiAnZ3NmLWRlbW8nLFxuICAgIGRlc2NyaXB0aW9uOiAnSGVsbG8nLFxuICAgIHRhZ3M6IHtcbiAgICAgIGtpbmQ6ICd3ZWInLFxuICAgICAgY29tcGxleGl0eTogJ21vZGVyYXRlJyxcbiAgICAgIGNhdGVnb3J5OiAnY2xvdWQnLFxuICAgIH0sXG4gICAgaW5pdGlhbGl6ZToge1xuICAgICAgbW9kZWxzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYm9hdml6dGEtY3B1JyxcbiAgICAgICAgICBraW5kOiAncGx1Z2luJyxcbiAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgIGFsbG9jYXRpb246ICdMSU5FQVInLFxuICAgICAgICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGdyYXBoOiB7XG4gICAgICBjaGlsZHJlbjoge1xuICAgICAgICAnZnJvbnQtZW5kJzoge1xuICAgICAgICAgIHBpcGVsaW5lOiBbJ2JvYXZpenRhLWNwdSddLFxuICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgJ2JvYXZpenRhLWNwdSc6IHtcbiAgICAgICAgICAgICAgJ2NvcmUtdW5pdHMnOiAyNCxcbiAgICAgICAgICAgICAgcHJvY2Vzc29yOiAnSW50ZWzCriBDb3Jl4oSiIGk3LTExODVHNycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAgICAgJ2NwdS11dGlsJzogMTguMzkyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGltZXN0YW1wOiAnMjAyMy0wOC0wNlQwMDowMCcsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICAgICAnY3B1LXV0aWwnOiAxNixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBkZXNjcmliZSgnaW5pdCBTdXBlcmNvbXB1dGVyOiAnLCAoKSA9PiB7XG4gICAgaXQoJ2luaXRpYWxpemVzIG9iamVjdCB3aXRoIHJlcXVpcmVkIHByb3BlcnRpZXMuJywgKCkgPT4ge1xuICAgICAgY29uc3QgaW1wbDogYW55ID0ge307XG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgYXRlcnVpID0gbmV3IFN1cGVyY29tcHV0ZXIoaW1wbCwgbW9kZWxzSGFuZGJvb2spO1xuXG4gICAgICBleHBlY3QoYXRlcnVpKS50b0hhdmVQcm9wZXJ0eSgnY29tcHV0ZScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29tcHV0ZSgpOiAnLCAoKSA9PiB7XG4gICAgY29uc3QgaW1wbFdpdGhOZXN0ZWRDaGlsZHJlbjogYW55ID0ge1xuICAgICAgbmFtZTogJ250dC1kYXRhLW9uLXByZW1pc2UnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vR3JlZW4tU29mdHdhcmUtRm91bmRhdGlvbi9zY2ktZ3VpZGUvYmxvYi9kZXYvdXNlLWNhc2Utc3VibWlzc2lvbnMvbnR0ZGF0dGEtT24tUHJlbWlzZS1XZWItc3lzdGVtLm1kJyxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAga2luZDogJ3dlYicsXG4gICAgICAgIGNvbXBsZXhpdHk6ICdtb2RlcmF0ZScsXG4gICAgICAgIGNhdGVnb3J5OiAnb24tcHJlbWlzZScsXG4gICAgICB9LFxuICAgICAgaW5pdGlhbGl6ZToge1xuICAgICAgICBtb2RlbHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnc2NpLWUnLFxuICAgICAgICAgICAga2luZDogJ3BsdWdpbicsXG4gICAgICAgICAgICB2ZXJib3NlOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3NjaS1tJyxcbiAgICAgICAgICAgIGtpbmQ6ICdwbHVnaW4nLFxuICAgICAgICAgICAgdmVyYm9zZTogZmFsc2UsXG4gICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdzY2ktbycsXG4gICAgICAgICAgICBraW5kOiAncGx1Z2luJyxcbiAgICAgICAgICAgIHZlcmJvc2U6IGZhbHNlLFxuICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBncmFwaDoge1xuICAgICAgICBjaGlsZHJlbjoge1xuICAgICAgICAgICdsYXllci0zLXN3aXRjaCc6IHtcbiAgICAgICAgICAgIHBpcGVsaW5lOiBbJ3NjaS1lJywgJ3NjaS1tJywgJ3NjaS1vJ10sXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgJ3NjaS1tJzoge1xuICAgICAgICAgICAgICAgIHRlOiAyNTEwMDAsXG4gICAgICAgICAgICAgICAgdGlyOiAzNjAwLFxuICAgICAgICAgICAgICAgIGVsOiAxMjYxNDQwMDAsXG4gICAgICAgICAgICAgICAgcnI6IDEsXG4gICAgICAgICAgICAgICAgdG9yOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc2NpLW8nOiB7XG4gICAgICAgICAgICAgICAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IDQ1NyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICAgICAgICdmaXZlLW1pbi1pbnB1dC1yYXRlJzogMTAwLFxuICAgICAgICAgICAgICAgICdmaXZlLW1pbi1vdXRwdXQtcmF0ZSc6IDEwMCxcbiAgICAgICAgICAgICAgICAnZ3JpZC1jYXJib24taW50ZW5zaXR5JzogNDU3LFxuICAgICAgICAgICAgICAgICdlbmVyZ3ktbmV0d29yayc6IDAuMDA0OTYsXG4gICAgICAgICAgICAgICAgcmVxdWVzdHM6IDM4MDMyNzQwLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdsYXllci0yLXN3aXRjaCc6IHtcbiAgICAgICAgICAgIHBpcGVsaW5lOiBbJ3NjaS1lJywgJ3NjaS1tJywgJ3NjaS1vJ10sXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgJ3NjaS1tJzoge1xuICAgICAgICAgICAgICAgIHRlOiAyNTEwMDAsXG4gICAgICAgICAgICAgICAgdGlyOiAzNjAwLFxuICAgICAgICAgICAgICAgIGVsOiAxMjYxNDQwMDAsXG4gICAgICAgICAgICAgICAgcnI6IDEsXG4gICAgICAgICAgICAgICAgdG9yOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc2NpLW8nOiB7XG4gICAgICAgICAgICAgICAgZ3JpZF9jaTogNDU3LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB7XG4gICAgICAgICAgICAgICdzd2l0Y2gtMSc6IHtcbiAgICAgICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wOiAnMjAyMy0wNy0wNlQwMDowMCcsXG4gICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxLFxuICAgICAgICAgICAgICAgICAgICAnZW5lcmd5LW5ldHdvcmsnOiAwLjAwMDgxMSxcbiAgICAgICAgICAgICAgICAgICAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IDQ1NyxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdHM6IDM4MDMyNzQwLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc3dpdGNoLTInOiB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMSxcbiAgICAgICAgICAgICAgICAgICAgJ2VuZXJneS1uZXR3b3JrJzogMCxcbiAgICAgICAgICAgICAgICAgICAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IDQ1NyxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdHM6IDM4MDMyNzQwLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc3dpdGNoLTMnOiB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMSxcbiAgICAgICAgICAgICAgICAgICAgJ2VuZXJneS1uZXR3b3JrJzogMC4wMDA5NTUsXG4gICAgICAgICAgICAgICAgICAgICdncmlkLWNhcmJvbi1pbnRlbnNpdHknOiA0NTcsXG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RzOiAzODAzMjc0MCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgJ3N3aXRjaC00Jzoge1xuICAgICAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIzLTA3LTA2VDAwOjAwJyxcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEsXG4gICAgICAgICAgICAgICAgICAgICdlbmVyZ3ktbmV0d29yayc6IDEuMTRlLTgsXG4gICAgICAgICAgICAgICAgICAgICdncmlkLWNhcmJvbi1pbnRlbnNpdHknOiA0NTcsXG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RzOiAzODAzMjc0MCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGl0KCdyZWplY3RzIHdpdGggbW9kZWwgaXMgbm90IGluaXRpYWxpemVkLicsIGFzeW5jICgpID0+IHtcbiAgICAgIGV4cGVjdC5hc3NlcnRpb25zKDIpO1xuXG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgYXRlcnVpID0gbmV3IFN1cGVyY29tcHV0ZXIoaW1wbCwgbW9kZWxzSGFuZGJvb2spO1xuXG4gICAgICBjb25zdCBleHBlY3RlZE1lc3NhZ2UgPSBOT1RfSU5JVElBTElaRURfTU9ERUwoJ2JvYXZpenRhLWNwdScpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBhdGVydWkuY29tcHV0ZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICBleHBlY3QoZXJyb3IpLnRvQmVJbnN0YW5jZU9mKEVycm9yKTtcbiAgICAgICAgICBleHBlY3QoZXJyb3IubWVzc2FnZSkudG9CZShleHBlY3RlZE1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnYXBwbGllcyBjb21wdXRpbmcgdG8gZ2l2ZW4gaW1wbC4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcblxuICAgICAgY29uc3QgbW9kZWxzSGFuZGJvb2sgPSBuZXcgTW9kZWxzVW5pdmVyc2UoKTtcbiAgICAgIGltcGwuaW5pdGlhbGl6ZS5tb2RlbHMuZm9yRWFjaCgobW9kZWw6IGFueSkgPT5cbiAgICAgICAgbW9kZWxzSGFuZGJvb2sud3JpdGVEb3duKG1vZGVsKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgYXRlcnVpQ29tcHV0ZXIgPSBuZXcgU3VwZXJjb21wdXRlcihpbXBsLCBtb2RlbHNIYW5kYm9vayk7XG4gICAgICBjb25zdCBvbXBsID0gYXdhaXQgYXRlcnVpQ29tcHV0ZXIuY29tcHV0ZSgpO1xuXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IG9tcGwuZ3JhcGguY2hpbGRyZW47XG4gICAgICBjb25zdCBjaGlsZHJlbk5hbWVzID0gT2JqZWN0LmtleXMoY2hpbGRyZW4pO1xuXG4gICAgICBleHBlY3Qob21wbC5ncmFwaC5jaGlsZHJlbltjaGlsZHJlbk5hbWVzWzBdXSkudG9IYXZlUHJvcGVydHkoJ291dHB1dHMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhcHBsaWVzIGNvbXB1dGluZyB0byBuZXN0ZWQgY2hpbGRyZW4gY29tcG9uZW50cy4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucyg0KTtcblxuICAgICAgY29uc3QgbW9kZWxzSGFuZGJvb2sgPSBuZXcgTW9kZWxzVW5pdmVyc2UoKTtcbiAgICAgIGltcGxXaXRoTmVzdGVkQ2hpbGRyZW4uaW5pdGlhbGl6ZS5tb2RlbHMuZm9yRWFjaCgobW9kZWw6IGFueSkgPT5cbiAgICAgICAgbW9kZWxzSGFuZGJvb2sud3JpdGVEb3duKG1vZGVsKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgYXRlcnVpQ29tcHV0ZXIgPSBuZXcgU3VwZXJjb21wdXRlcihcbiAgICAgICAgaW1wbFdpdGhOZXN0ZWRDaGlsZHJlbixcbiAgICAgICAgbW9kZWxzSGFuZGJvb2tcbiAgICAgICk7XG4gICAgICBjb25zdCBvbXBsID0gYXdhaXQgYXRlcnVpQ29tcHV0ZXIuY29tcHV0ZSgpO1xuXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IG9tcGwuZ3JhcGguY2hpbGRyZW47XG4gICAgICBjb25zdCBjaGlsZHJlbk5hbWVzID0gT2JqZWN0LmtleXMoY2hpbGRyZW4pO1xuICAgICAgY29uc3Qgb25lV2l0aE5lc3RlZCA9IGNoaWxkcmVuTmFtZXNbMV07XG5cbiAgICAgIGNvbnN0IG5lc3RlZENoaWxkcmVuOiBhbnkgPSBjaGlsZHJlbltvbmVXaXRoTmVzdGVkXS5jaGlsZHJlbjtcblxuICAgICAgT2JqZWN0LmtleXMobmVzdGVkQ2hpbGRyZW4pLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgZXhwZWN0KG5lc3RlZENoaWxkcmVuW2NoaWxkXSkudG9IYXZlUHJvcGVydHkoJ291dHB1dHMnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1 +0,0 @@
1
- export {};
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const lib_1 = require("../../../../lib");
5
- globals_1.jest.setTimeout(30000);
6
- (0, globals_1.describe)('tdp-finder:configure test', () => {
7
- (0, globals_1.test)('initialize and test', async () => {
8
- const model = await new lib_1.TdpFinderModel().configure('tdp', {});
9
- (0, globals_1.expect)(model).toBeInstanceOf(lib_1.TdpFinderModel);
10
- await (0, globals_1.expect)(model.execute([
11
- {
12
- 'physical-processor': 'AMD 3020e',
13
- },
14
- ])).resolves.toStrictEqual([
15
- {
16
- 'physical-processor': 'AMD 3020e',
17
- 'thermal-design-power': 6.0,
18
- },
19
- ]);
20
- await (0, globals_1.expect)(model.execute([
21
- {
22
- 'physical-processor': 'Intel Xeon E5-2676 v3',
23
- },
24
- ])).resolves.toStrictEqual([
25
- {
26
- 'physical-processor': 'Intel Xeon E5-2676 v3',
27
- 'thermal-design-power': 120.0,
28
- },
29
- ]);
30
- await (0, globals_1.expect)(model.execute([
31
- {
32
- 'physical-processor': 'Intel Xeon Platinum 8175M,AMD A8-9600',
33
- },
34
- ])).resolves.toStrictEqual([
35
- {
36
- 'physical-processor': 'Intel Xeon Platinum 8175M,AMD A8-9600',
37
- 'thermal-design-power': 240.0,
38
- },
39
- ]);
40
- await (0, globals_1.expect)(model.execute([
41
- {
42
- 'physical-processor': 'Intel Xeon Platinum 8175M,AMD A8-9600f',
43
- },
44
- ])).rejects.toThrowError();
45
- await (0, globals_1.expect)(model.execute([
46
- {
47
- 'physical-processor': 'AMD A8-9600',
48
- },
49
- ])).resolves.toStrictEqual([
50
- {
51
- 'physical-processor': 'AMD A8-9600',
52
- 'thermal-design-power': 65,
53
- },
54
- ]);
55
- await (0, globals_1.expect)(model.execute([
56
- {
57
- 'physical-processor': 'AMD 3020ef',
58
- },
59
- ])).rejects.toThrowError();
60
- });
61
- });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvdGRwLWZpbmRlci9pbmRleC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkNBQTJEO0FBQzNELHlDQUErQztBQUUvQyxjQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRXZCLElBQUEsa0JBQVEsRUFBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7SUFDekMsSUFBQSxjQUFJLEVBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLG9CQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUEsZ0JBQU0sRUFBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsb0JBQWMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sSUFBQSxnQkFBTSxFQUNWLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWjtnQkFDRSxvQkFBb0IsRUFBRSxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQyxDQUNILENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUN2QjtnQkFDRSxvQkFBb0IsRUFBRSxXQUFXO2dCQUNqQyxzQkFBc0IsRUFBRSxHQUFHO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNaO2dCQUNFLG9CQUFvQixFQUFFLHVCQUF1QjthQUM5QztTQUNGLENBQUMsQ0FDSCxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDdkI7Z0JBQ0Usb0JBQW9CLEVBQUUsdUJBQXVCO2dCQUM3QyxzQkFBc0IsRUFBRSxLQUFLO2FBQzlCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNaO2dCQUNFLG9CQUFvQixFQUFFLHVDQUF1QzthQUM5RDtTQUNGLENBQUMsQ0FDSCxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDdkI7Z0JBQ0Usb0JBQW9CLEVBQUUsdUNBQXVDO2dCQUM3RCxzQkFBc0IsRUFBRSxLQUFLO2FBQzlCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNaO2dCQUNFLG9CQUFvQixFQUFFLHdDQUF3QzthQUMvRDtTQUNGLENBQUMsQ0FDSCxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUEsZ0JBQU0sRUFDVixLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ1o7Z0JBQ0Usb0JBQW9CLEVBQUUsYUFBYTthQUNwQztTQUNGLENBQUMsQ0FDSCxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDdkI7Z0JBQ0Usb0JBQW9CLEVBQUUsYUFBYTtnQkFDbkMsc0JBQXNCLEVBQUUsRUFBRTthQUMzQjtTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBQSxnQkFBTSxFQUNWLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWjtnQkFDRSxvQkFBb0IsRUFBRSxZQUFZO2FBQ25DO1NBQ0YsQ0FBQyxDQUNILENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Rlc2NyaWJlLCBleHBlY3QsIGplc3QsIHRlc3R9IGZyb20gJ0BqZXN0L2dsb2JhbHMnO1xuaW1wb3J0IHtUZHBGaW5kZXJNb2RlbH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDMwMDAwKTtcblxuZGVzY3JpYmUoJ3RkcC1maW5kZXI6Y29uZmlndXJlIHRlc3QnLCAoKSA9PiB7XG4gIHRlc3QoJ2luaXRpYWxpemUgYW5kIHRlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9kZWwgPSBhd2FpdCBuZXcgVGRwRmluZGVyTW9kZWwoKS5jb25maWd1cmUoJ3RkcCcsIHt9KTtcbiAgICBleHBlY3QobW9kZWwpLnRvQmVJbnN0YW5jZU9mKFRkcEZpbmRlck1vZGVsKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnQU1EIDMwMjBlJyxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgJ3BoeXNpY2FsLXByb2Nlc3Nvcic6ICdBTUQgMzAyMGUnLFxuICAgICAgICAndGhlcm1hbC1kZXNpZ24tcG93ZXInOiA2LjAsXG4gICAgICB9LFxuICAgIF0pO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgJ3BoeXNpY2FsLXByb2Nlc3Nvcic6ICdJbnRlbCBYZW9uIEU1LTI2NzYgdjMnLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICAncGh5c2ljYWwtcHJvY2Vzc29yJzogJ0ludGVsIFhlb24gRTUtMjY3NiB2MycsXG4gICAgICAgICd0aGVybWFsLWRlc2lnbi1wb3dlcic6IDEyMC4wLFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnSW50ZWwgWGVvbiBQbGF0aW51bSA4MTc1TSxBTUQgQTgtOTYwMCcsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVzb2x2ZXMudG9TdHJpY3RFcXVhbChbXG4gICAgICB7XG4gICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnSW50ZWwgWGVvbiBQbGF0aW51bSA4MTc1TSxBTUQgQTgtOTYwMCcsXG4gICAgICAgICd0aGVybWFsLWRlc2lnbi1wb3dlcic6IDI0MC4wLFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnSW50ZWwgWGVvbiBQbGF0aW51bSA4MTc1TSxBTUQgQTgtOTYwMGYnLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlamVjdHMudG9UaHJvd0Vycm9yKCk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgbW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICAncGh5c2ljYWwtcHJvY2Vzc29yJzogJ0FNRCBBOC05NjAwJyxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgJ3BoeXNpY2FsLXByb2Nlc3Nvcic6ICdBTUQgQTgtOTYwMCcsXG4gICAgICAgICd0aGVybWFsLWRlc2lnbi1wb3dlcic6IDY1LFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnQU1EIDMwMjBlZicsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1 +0,0 @@
1
- export {};
@@ -1,170 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const index_1 = require("../../../../lib/teads-aws/index");
5
- const common_1 = require("../../../../types/common");
6
- globals_1.jest.setTimeout(30000);
7
- (0, globals_1.describe)('teads:configure test', () => {
8
- (0, globals_1.test)('initialize with params', async () => {
9
- const outputModel = new index_1.TeadsAWS();
10
- await outputModel.configure('test', {
11
- interpolation: common_1.Interpolation.LINEAR,
12
- 'instance-type': 't2.micro',
13
- });
14
- await (0, globals_1.expect)(outputModel.execute([
15
- {
16
- duration: 3600,
17
- 'cpu-util': 50,
18
- timestamp: '2021-01-01T00:00:00Z',
19
- },
20
- ])).resolves.toStrictEqual([
21
- {
22
- duration: 3600,
23
- 'cpu-util': 50,
24
- timestamp: '2021-01-01T00:00:00Z',
25
- energy: 0.004900000000000001,
26
- 'embodied-carbon': 0.04216723744292237 * 1000,
27
- },
28
- ]);
29
- });
30
- (0, globals_1.test)('teads:initialize with params: spline', async () => {
31
- const outputModel = new index_1.TeadsAWS();
32
- await outputModel.configure('test', {
33
- 'instance-type': 'm5n.large',
34
- interpolation: common_1.Interpolation.SPLINE,
35
- });
36
- await (0, globals_1.expect)(outputModel.execute([
37
- {
38
- duration: 3600,
39
- 'cpu-util': 10,
40
- timestamp: '2021-01-01T00:00:00Z',
41
- },
42
- {
43
- duration: 3600,
44
- 'cpu-util': 50,
45
- timestamp: '2021-01-01T00:00:00Z',
46
- },
47
- {
48
- duration: 3600,
49
- 'cpu-util': 100,
50
- timestamp: '2021-01-01T00:00:00Z',
51
- },
52
- ])).resolves.toStrictEqual([
53
- {
54
- duration: 3600,
55
- 'cpu-util': 10,
56
- timestamp: '2021-01-01T00:00:00Z',
57
- energy: 0.0067,
58
- 'embodied-carbon': 91.94006849315068,
59
- },
60
- {
61
- duration: 3600,
62
- 'cpu-util': 50,
63
- timestamp: '2021-01-01T00:00:00Z',
64
- energy: 0.011800000000000001,
65
- 'embodied-carbon': 91.94006849315068,
66
- },
67
- {
68
- duration: 3600,
69
- 'cpu-util': 100,
70
- timestamp: '2021-01-01T00:00:00Z',
71
- energy: 0.016300000000000002,
72
- 'embodied-carbon': 91.94006849315068,
73
- },
74
- ]);
75
- });
76
- (0, globals_1.test)('teads:initialize with params: linear', async () => {
77
- const outputModel = new index_1.TeadsAWS();
78
- await outputModel.configure('test', {
79
- 'instance-type': 'm5n.large',
80
- interpolation: common_1.Interpolation.LINEAR,
81
- });
82
- await (0, globals_1.expect)(outputModel.execute([
83
- {
84
- duration: 3600,
85
- 'cpu-util': 10,
86
- timestamp: '2021-01-01T00:00:00Z',
87
- },
88
- {
89
- duration: 3600,
90
- 'cpu-util': 50,
91
- timestamp: '2021-01-01T00:00:00Z',
92
- },
93
- {
94
- duration: 3600,
95
- 'cpu-util': 100,
96
- timestamp: '2021-01-01T00:00:00Z',
97
- },
98
- ])).resolves.toStrictEqual([
99
- {
100
- duration: 3600,
101
- 'cpu-util': 10,
102
- timestamp: '2021-01-01T00:00:00Z',
103
- energy: 0.0067,
104
- 'embodied-carbon': 91.94006849315068,
105
- },
106
- {
107
- duration: 3600,
108
- 'cpu-util': 50,
109
- timestamp: '2021-01-01T00:00:00Z',
110
- energy: 0.011800000000000001,
111
- 'embodied-carbon': 91.94006849315068,
112
- },
113
- {
114
- duration: 3600,
115
- 'cpu-util': 100,
116
- timestamp: '2021-01-01T00:00:00Z',
117
- energy: 0.016300000000000002,
118
- 'embodied-carbon': 91.94006849315068,
119
- },
120
- ]);
121
- });
122
- (0, globals_1.test)('teads:initialize with params: linear 2', async () => {
123
- const outputModel = new index_1.TeadsAWS();
124
- await outputModel.configure('test', {
125
- 'instance-type': 'm5n.large',
126
- interpolation: common_1.Interpolation.LINEAR,
127
- 'expected-lifespan': 8 * 365 * 24 * 3600,
128
- });
129
- await (0, globals_1.expect)(outputModel.execute([
130
- {
131
- duration: 3600,
132
- 'cpu-util': 10,
133
- timestamp: '2021-01-01T00:00:00Z',
134
- },
135
- {
136
- duration: 3600,
137
- 'cpu-util': 50,
138
- timestamp: '2021-01-01T00:00:00Z',
139
- },
140
- {
141
- duration: 3600,
142
- 'cpu-util': 100,
143
- timestamp: '2021-01-01T00:00:00Z',
144
- },
145
- ])).resolves.toStrictEqual([
146
- {
147
- duration: 3600,
148
- 'cpu-util': 10,
149
- timestamp: '2021-01-01T00:00:00Z',
150
- energy: 0.0067,
151
- 'embodied-carbon': 45.97003424657534,
152
- },
153
- {
154
- duration: 3600,
155
- 'cpu-util': 50,
156
- timestamp: '2021-01-01T00:00:00Z',
157
- energy: 0.011800000000000001,
158
- 'embodied-carbon': 45.97003424657534,
159
- },
160
- {
161
- duration: 3600,
162
- 'cpu-util': 100,
163
- timestamp: '2021-01-01T00:00:00Z',
164
- energy: 0.016300000000000002,
165
- 'embodied-carbon': 45.97003424657534,
166
- },
167
- ]);
168
- });
169
- });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvdGVhZHMtYXdzL2luZGV4LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBMkQ7QUFDM0QsMkRBQXlEO0FBRXpELHFEQUF1RDtBQUV2RCxjQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRXZCLElBQUEsa0JBQVEsRUFBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsSUFBQSxjQUFJLEVBQUMsd0JBQXdCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxnQkFBUSxFQUFFLENBQUM7UUFDbkMsTUFBTSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUNsQyxhQUFhLEVBQUUsc0JBQWEsQ0FBQyxNQUFNO1lBQ25DLGVBQWUsRUFBRSxVQUFVO1NBQzVCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBQSxnQkFBTSxFQUNWLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDbEI7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsU0FBUyxFQUFFLHNCQUFzQjthQUNsQztTQUNGLENBQUMsQ0FDSCxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDdkI7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsU0FBUyxFQUFFLHNCQUFzQjtnQkFDakMsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsaUJBQWlCLEVBQUUsbUJBQW1CLEdBQUcsSUFBSTthQUM5QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBQSxjQUFJLEVBQUMsc0NBQXNDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxnQkFBUSxFQUFFLENBQUM7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Q3JDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVzY3JpYmUsIGV4cGVjdCwgamVzdCwgdGVzdH0gZnJvbSAnQGplc3QvZ2xvYmFscyc7XG5pbXBvcnQge1RlYWRzQVdTfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdGVhZHMtYXdzL2luZGV4JztcblxuaW1wb3J0IHtJbnRlcnBvbGF0aW9ufSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9jb21tb24nO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgndGVhZHM6Y29uZmlndXJlIHRlc3QnLCAoKSA9PiB7XG4gIHRlc3QoJ2luaXRpYWxpemUgd2l0aCBwYXJhbXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgVGVhZHNBV1MoKTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICBpbnRlcnBvbGF0aW9uOiBJbnRlcnBvbGF0aW9uLkxJTkVBUixcbiAgICAgICdpbnN0YW5jZS10eXBlJzogJ3QyLm1pY3JvJyxcbiAgICB9KTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICdjcHUtdXRpbCc6IDUwLFxuICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdjcHUtdXRpbCc6IDUwLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIGVuZXJneTogMC4wMDQ5MDAwMDAwMDAwMDAwMDEsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiAwLjA0MjE2NzIzNzQ0MjkyMjM3ICogMTAwMCxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0pO1xuICB0ZXN0KCd0ZWFkczppbml0aWFsaXplIHdpdGggcGFyYW1zOiBzcGxpbmUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgVGVhZHNBV1MoKTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICAnaW5zdGFuY2UtdHlwZSc6ICdtNW4ubGFyZ2UnLFxuICAgICAgaW50ZXJwb2xhdGlvbjogSW50ZXJwb2xhdGlvbi5TUExJTkUsXG4gICAgfSk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMDAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZW5lcmd5OiAwLjAwNjcsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA5MS45NDAwNjg0OTMxNTA2OCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICBlbmVyZ3k6IDAuMDExODAwMDAwMDAwMDAwMDAxLFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogOTEuOTQwMDY4NDkzMTUwNjgsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAwLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIGVuZXJneTogMC4wMTYzMDAwMDAwMDAwMDAwMDIsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA5MS45NDAwNjg0OTMxNTA2OCxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0pO1xuICB0ZXN0KCd0ZWFkczppbml0aWFsaXplIHdpdGggcGFyYW1zOiBsaW5lYXInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgVGVhZHNBV1MoKTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICAnaW5zdGFuY2UtdHlwZSc6ICdtNW4ubGFyZ2UnLFxuICAgICAgaW50ZXJwb2xhdGlvbjogSW50ZXJwb2xhdGlvbi5MSU5FQVIsXG4gICAgfSk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMDAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZW5lcmd5OiAwLjAwNjcsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA5MS45NDAwNjg0OTMxNTA2OCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICBlbmVyZ3k6IDAuMDExODAwMDAwMDAwMDAwMDAxLFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogOTEuOTQwMDY4NDkzMTUwNjgsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAwLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIGVuZXJneTogMC4wMTYzMDAwMDAwMDAwMDAwMDIsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA5MS45NDAwNjg0OTMxNTA2OCxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0pO1xuICB0ZXN0KCd0ZWFkczppbml0aWFsaXplIHdpdGggcGFyYW1zOiBsaW5lYXIgMicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRwdXRNb2RlbCA9IG5ldyBUZWFkc0FXUygpO1xuICAgIGF3YWl0IG91dHB1dE1vZGVsLmNvbmZpZ3VyZSgndGVzdCcsIHtcbiAgICAgICdpbnN0YW5jZS10eXBlJzogJ201bi5sYXJnZScsXG4gICAgICBpbnRlcnBvbGF0aW9uOiBJbnRlcnBvbGF0aW9uLkxJTkVBUixcbiAgICAgICdleHBlY3RlZC1saWZlc3Bhbic6IDggKiAzNjUgKiAyNCAqIDM2MDAsXG4gICAgfSk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMDAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZW5lcmd5OiAwLjAwNjcsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA0NS45NzAwMzQyNDY1NzUzNCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICBlbmVyZ3k6IDAuMDExODAwMDAwMDAwMDAwMDAxLFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogNDUuOTcwMDM0MjQ2NTc1MzQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAwLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIGVuZXJneTogMC4wMTYzMDAwMDAwMDAwMDAwMDIsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA0NS45NzAwMzQyNDY1NzUzNCxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1 +0,0 @@
1
- export {};