apify-test-tools 0.10.1-beta.6 → 0.10.1-beta.7

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 (57) hide show
  1. package/bin/build-from-local.ts +19 -27
  2. package/bin/build.ts +1 -1
  3. package/bin/diff-changes.ts +26 -35
  4. package/bin/dockerignore.ts +24 -17
  5. package/bin/types.ts +7 -3
  6. package/bin/utils/config/actor-json.ts +49 -8
  7. package/bin/utils/config/load-config.ts +4 -24
  8. package/bin/utils/path/repo-relative.ts +27 -4
  9. package/dist/bin/build-from-local.d.ts +3 -2
  10. package/dist/bin/build-from-local.d.ts.map +1 -1
  11. package/dist/bin/build-from-local.js +16 -23
  12. package/dist/bin/build-from-local.js.map +1 -1
  13. package/dist/bin/build.js +1 -1
  14. package/dist/bin/build.js.map +1 -1
  15. package/dist/bin/diff-changes.d.ts.map +1 -1
  16. package/dist/bin/diff-changes.js +26 -29
  17. package/dist/bin/diff-changes.js.map +1 -1
  18. package/dist/bin/dockerignore.d.ts +11 -10
  19. package/dist/bin/dockerignore.d.ts.map +1 -1
  20. package/dist/bin/dockerignore.js +24 -15
  21. package/dist/bin/dockerignore.js.map +1 -1
  22. package/dist/bin/types.d.ts +6 -3
  23. package/dist/bin/types.d.ts.map +1 -1
  24. package/dist/bin/utils/config/actor-json.d.ts.map +1 -1
  25. package/dist/bin/utils/config/actor-json.js +35 -4
  26. package/dist/bin/utils/config/actor-json.js.map +1 -1
  27. package/dist/bin/utils/config/load-config.d.ts +1 -11
  28. package/dist/bin/utils/config/load-config.d.ts.map +1 -1
  29. package/dist/bin/utils/config/load-config.js +1 -10
  30. package/dist/bin/utils/config/load-config.js.map +1 -1
  31. package/dist/bin/utils/path/repo-relative.d.ts +4 -0
  32. package/dist/bin/utils/path/repo-relative.d.ts.map +1 -1
  33. package/dist/bin/utils/path/repo-relative.js +24 -5
  34. package/dist/bin/utils/path/repo-relative.js.map +1 -1
  35. package/dist/test/unit/bin/actor-filtering.test.js +8 -2
  36. package/dist/test/unit/bin/actor-filtering.test.js.map +1 -1
  37. package/dist/test/unit/bin/build-from-local.test.js +53 -5
  38. package/dist/test/unit/bin/build-from-local.test.js.map +1 -1
  39. package/dist/test/unit/bin/diff-changes.test.js +98 -132
  40. package/dist/test/unit/bin/diff-changes.test.js.map +1 -1
  41. package/dist/test/unit/bin/dockerignore.test.js +27 -24
  42. package/dist/test/unit/bin/dockerignore.test.js.map +1 -1
  43. package/dist/test/unit/bin/utils/config/load-config.test.js +40 -4
  44. package/dist/test/unit/bin/utils/config/load-config.test.js.map +1 -1
  45. package/dist/test/unit/bin/utils/path/repo-relative.test.js +5 -0
  46. package/dist/test/unit/bin/utils/path/repo-relative.test.js.map +1 -1
  47. package/dist/test/unit/should-built-and-test.test.js +55 -116
  48. package/dist/test/unit/should-built-and-test.test.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +1 -1
  51. package/test/unit/bin/actor-filtering.test.ts +8 -2
  52. package/test/unit/bin/build-from-local.test.ts +54 -8
  53. package/test/unit/bin/diff-changes.test.ts +133 -133
  54. package/test/unit/bin/dockerignore.test.ts +28 -28
  55. package/test/unit/bin/utils/config/load-config.test.ts +54 -4
  56. package/test/unit/bin/utils/path/repo-relative.test.ts +6 -0
  57. package/test/unit/should-built-and-test.test.ts +98 -121
@@ -1,42 +1,45 @@
1
- import { beforeEach, describe, expect, test, vi } from 'vitest';
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { afterAll, describe, expect, test } from 'vitest';
2
5
  import { getChangedActors } from '../../bin/diff-changes.js';
3
- import * as DiffJsonSchema from '../../bin/diff-json-schema.js';
6
+ import { ExistingDir, ExistingFile, RelativeDir, RelativeFile } from '../../bin/utils/path/repo-relative.js';
7
+ const originalCwd = process.cwd();
8
+ const fixtureRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'apify-should-build-'));
9
+ process.chdir(fixtureRoot);
10
+ afterAll(() => {
11
+ process.chdir(originalCwd);
12
+ fs.rmSync(fixtureRoot, { recursive: true, force: true });
13
+ });
14
+ const actorConfig = (actorFullName, folder, tokenEnvVar, dockerContextDir = '.') => {
15
+ const actorJsonPath = path.posix.join(folder, '.actor/actor.json');
16
+ fs.mkdirSync(path.posix.dirname(actorJsonPath), { recursive: true });
17
+ fs.writeFileSync(actorJsonPath, '{}');
18
+ const contextPath = new RelativeDir(dockerContextDir);
19
+ return {
20
+ actorFullName,
21
+ folder: new ExistingDir(folder),
22
+ tokenEnvVar,
23
+ actorJson: {
24
+ file: new ExistingFile(actorJsonPath),
25
+ dockerContextDir: contextPath,
26
+ changelog: new RelativeFile('CHANGELOG.md'),
27
+ },
28
+ dockerContextDir: contextPath,
29
+ contextPaths: [contextPath],
30
+ };
31
+ };
4
32
  describe('Should build and test parser', () => {
5
33
  // From https://github.com/apify-store/testing-repo-for-github-actions
6
34
  const ACTOR_CONFIGS = [
7
- {
8
- actorFullName: 'lukaskrivka/testing-github-integration-1',
9
- folder: 'actors/lukaskrivka_testing-github-integration-1',
10
- tokenEnvVar: 'APIFY_TOKEN_LUKASKRIVKA',
11
- dockerContextDir: '',
12
- contextPaths: [''],
13
- },
14
- {
15
- actorFullName: 'lukaskrivka/testing-github-integration-2',
16
- folder: 'actors/lukaskrivka_testing-github-integration-2',
17
- tokenEnvVar: 'APIFY_TOKEN_LUKASKRIVKA',
18
- dockerContextDir: '',
19
- contextPaths: [''],
20
- },
21
- {
22
- actorFullName: 'lukaskrivka/test-standalone',
23
- folder: 'standalone-actors/lukaskrivka_test-standalone',
24
- tokenEnvVar: 'APIFY_TOKEN_LUKASKRIVKA',
25
- dockerContextDir: 'standalone-actors/lukaskrivka_test-standalone',
26
- contextPaths: ['standalone-actors/lukaskrivka_test-standalone'],
27
- },
35
+ actorConfig('lukaskrivka/testing-github-integration-1', 'actors/lukaskrivka_testing-github-integration-1', 'APIFY_TOKEN_LUKASKRIVKA'),
36
+ actorConfig('lukaskrivka/testing-github-integration-2', 'actors/lukaskrivka_testing-github-integration-2', 'APIFY_TOKEN_LUKASKRIVKA'),
37
+ actorConfig('lukaskrivka/test-standalone', 'standalone-actors/lukaskrivka_test-standalone', 'APIFY_TOKEN_LUKASKRIVKA', 'standalone-actors/lukaskrivka_test-standalone'),
28
38
  ];
29
39
  const commits = [
30
40
  { sha: 'Commit1', author: '', date: '', message: '' },
31
41
  { sha: 'Commit3', author: '', date: '', message: '' },
32
42
  ];
33
- let isCosmeticOnlyJsonSchemaSpy;
34
- beforeEach(() => {
35
- // Default: JSON changes are functional (triggers build/test)
36
- isCosmeticOnlyJsonSchemaSpy = vi
37
- .spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange')
38
- .mockResolvedValue(false);
39
- });
40
43
  test('Ignores dev-only readme', async () => {
41
44
  const FILES = ['README.md', 'code/README.md', 'shared/README.md'];
42
45
  const actorsChanged = await getChangedActors({
@@ -48,7 +51,7 @@ describe('Should build and test parser', () => {
48
51
  expect(actorsChanged).toEqual([]);
49
52
  });
50
53
  test('Ignores other ignored files and folders', async () => {
51
- const FILES = ['.vscode/', '.gitignore', '.husky/', '.eslintrc', '.editorconfig'];
54
+ const FILES = ['.vscode/settings.json', '.gitignore', '.husky/pre-commit', '.eslintrc', '.editorconfig'];
52
55
  const actorsChanged = await getChangedActors({
53
56
  actorConfigs: ACTOR_CONFIGS,
54
57
  isLatest: false,
@@ -67,8 +70,8 @@ describe('Should build and test parser', () => {
67
70
  });
68
71
  expect(actorsChanged).toEqual(ACTOR_CONFIGS.slice(0, 2));
69
72
  });
70
- test('Root-level changelog is cosmetic for every actor, only on latest', async () => {
71
- const FILES = ['shared/CHANGELOG.md', 'CHANGELOG.md'];
73
+ test('Configured changelog is cosmetic for every actor, only on latest', async () => {
74
+ const FILES = ['CHANGELOG.md'];
72
75
  const actorsChangedNotLatest = await getChangedActors({
73
76
  actorConfigs: ACTOR_CONFIGS,
74
77
  isLatest: false,
@@ -84,7 +87,7 @@ describe('Should build and test parser', () => {
84
87
  });
85
88
  expect(actorsChangedLatest).toEqual(ACTOR_CONFIGS);
86
89
  });
87
- test('A changelog nested inside one actor own folder is excluded for sibling actors, only triggers that actor', async () => {
90
+ test('A changelog nested inside one actor own folder is excluded for sibling actors', async () => {
88
91
  const FILES = ['actors/lukaskrivka_testing-github-integration-1/CHANGELOG.md'];
89
92
  const actorsChanged = await getChangedActors({
90
93
  actorConfigs: ACTOR_CONFIGS,
@@ -109,7 +112,6 @@ describe('Should build and test parser', () => {
109
112
  'actors/lukaskrivka_testing-github-integration-1/.actor/actor.json',
110
113
  'standalone-actors/lukaskrivka_test-standalone/Dockerfile',
111
114
  ];
112
- // Default mock returns false = functional change
113
115
  const actorsChanged = await getChangedActors({
114
116
  actorConfigs: ACTOR_CONFIGS,
115
117
  isLatest: false,
@@ -134,7 +136,6 @@ describe('Should build and test parser', () => {
134
136
  'code/src/main.ts',
135
137
  'standalone-actors/lukaskrivka_test-standalone/Dockerfile',
136
138
  ];
137
- // Default mock returns false = functional change for the JSON file
138
139
  const actorsChanged = await getChangedActors({
139
140
  actorConfigs: ACTOR_CONFIGS,
140
141
  isLatest: false,
@@ -145,8 +146,8 @@ describe('Should build and test parser', () => {
145
146
  });
146
147
  test('Specific Actor non-functional configs updated', async () => {
147
148
  const FILES = [
148
- 'actors/lukaskrivka_testing-github-integration-2/.actor/README.md',
149
- 'standalone-actors/lukaskrivka_test-standalone/CHANGELOG.md',
149
+ 'actors/lukaskrivka_testing-github-integration-2/README.md',
150
+ 'standalone-actors/lukaskrivka_test-standalone/README.md',
150
151
  ];
151
152
  const actorsChanged = await getChangedActors({
152
153
  actorConfigs: ACTOR_CONFIGS,
@@ -156,20 +157,18 @@ describe('Should build and test parser', () => {
156
157
  });
157
158
  expect(actorsChanged).toEqual([]);
158
159
  });
159
- test('JSON file with cosmetic-only changes in PR context (isLatest=false) skips tests', async () => {
160
+ test('Actor JSON changes in PR context trigger tests', async () => {
160
161
  const FILES = ['actors/lukaskrivka_testing-github-integration-1/.actor/actor.json'];
161
- isCosmeticOnlyJsonSchemaSpy.mockResolvedValue(true);
162
162
  const actorsChanged = await getChangedActors({
163
163
  actorConfigs: ACTOR_CONFIGS,
164
164
  isLatest: false,
165
165
  filepathsChanged: FILES,
166
166
  commits,
167
167
  });
168
- expect(actorsChanged).toEqual([]);
168
+ expect(actorsChanged).toEqual([ACTOR_CONFIGS[0]]);
169
169
  });
170
- test('JSON file with cosmetic-only changes in latest context still triggers build', async () => {
170
+ test('Actor JSON changes in latest context trigger builds', async () => {
171
171
  const FILES = ['actors/lukaskrivka_testing-github-integration-1/.actor/actor.json'];
172
- isCosmeticOnlyJsonSchemaSpy.mockResolvedValue(true);
173
172
  const actorsChanged = await getChangedActors({
174
173
  actorConfigs: ACTOR_CONFIGS,
175
174
  isLatest: true,
@@ -180,7 +179,6 @@ describe('Should build and test parser', () => {
180
179
  });
181
180
  test('JSON file with functional changes triggers tests', async () => {
182
181
  const FILES = ['actors/lukaskrivka_testing-github-integration-1/.actor/actor.json'];
183
- // Default mock returns false = functional change
184
182
  const actorsChanged = await getChangedActors({
185
183
  actorConfigs: ACTOR_CONFIGS,
186
184
  isLatest: false,
@@ -189,32 +187,28 @@ describe('Should build and test parser', () => {
189
187
  });
190
188
  expect(actorsChanged).toEqual([ACTOR_CONFIGS[0]]);
191
189
  });
192
- test('Mix: one actor has cosmetic-only JSON change, another has functional JSON change', async () => {
190
+ test('JSON changes in two actor folders trigger both actors', async () => {
193
191
  const FILES = [
194
192
  'actors/lukaskrivka_testing-github-integration-1/.actor/actor.json',
195
193
  'actors/lukaskrivka_testing-github-integration-2/.actor/input_schema.json',
196
194
  ];
197
- // Actor 1 JSON is cosmetic-only, actor 2 JSON is functional
198
- isCosmeticOnlyJsonSchemaSpy.mockImplementation(async (_commits, filepath) => !filepath.includes('input_schema.json'));
199
195
  const actorsChanged = await getChangedActors({
200
196
  actorConfigs: ACTOR_CONFIGS,
201
197
  isLatest: false,
202
198
  filepathsChanged: FILES,
203
199
  commits,
204
200
  });
205
- // Only the second actor (functional change) should be built and tested
206
- expect(actorsChanged).toEqual([ACTOR_CONFIGS[1]]);
201
+ expect(actorsChanged).toEqual(ACTOR_CONFIGS.slice(0, 2));
207
202
  });
208
- test('Narrow-context actor with cosmetic-only JSON change in PR context skips tests', async () => {
203
+ test('Narrow-context actor JSON change in PR context triggers tests', async () => {
209
204
  const FILES = ['standalone-actors/lukaskrivka_test-standalone/.actor/actor.json'];
210
- isCosmeticOnlyJsonSchemaSpy.mockResolvedValue(true);
211
205
  const actorsChanged = await getChangedActors({
212
206
  actorConfigs: ACTOR_CONFIGS,
213
207
  isLatest: false,
214
208
  filepathsChanged: FILES,
215
209
  commits,
216
210
  });
217
- expect(actorsChanged).toEqual([]);
211
+ expect(actorsChanged).toEqual([ACTOR_CONFIGS[2]]);
218
212
  });
219
213
  test('Google Maps real user-case that had undefined', async () => {
220
214
  const FILES = [
@@ -232,70 +226,15 @@ describe('Should build and test parser', () => {
232
226
  'code/src/utils/background-enqueue.ts',
233
227
  ];
234
228
  const ACTOR_CONFIGS_GOOGLE_MAPS = [
235
- {
236
- // Edge case of capitals in actor name :)
237
- actorFullName: 'compass/Google-Maps-Reviews-Scraper',
238
- folder: 'actors/compass_Google-Maps-Reviews-Scraper',
239
- tokenEnvVar: 'APIFY_TOKEN_COMPASS',
240
- dockerContextDir: '',
241
- contextPaths: [''],
242
- },
243
- {
244
- actorFullName: 'compass/crawler-google-places',
245
- folder: 'actors/compass_crawler-google-places',
246
- tokenEnvVar: 'APIFY_TOKEN_COMPASS',
247
- dockerContextDir: '',
248
- contextPaths: [''],
249
- },
250
- {
251
- actorFullName: 'compass/easy-google-maps',
252
- folder: 'actors/compass_easy-google-maps',
253
- tokenEnvVar: 'APIFY_TOKEN_COMPASS',
254
- dockerContextDir: '',
255
- contextPaths: [''],
256
- },
257
- {
258
- actorFullName: 'compass/google-maps-extractor',
259
- folder: 'actors/compass_google-maps-extractor',
260
- tokenEnvVar: 'APIFY_TOKEN_COMPASS',
261
- dockerContextDir: '',
262
- contextPaths: [''],
263
- },
264
- {
265
- actorFullName: 'compass/google-places-api',
266
- folder: 'actors/compass_google-places-api',
267
- tokenEnvVar: 'APIFY_TOKEN_COMPASS',
268
- dockerContextDir: '',
269
- contextPaths: [''],
270
- },
271
- {
272
- actorFullName: 'lukaskrivka/google-maps-with-contact-details',
273
- folder: 'actors/lukaskrivka_google-maps-with-contact-details',
274
- tokenEnvVar: 'APIFY_TOKEN_LUKASKRIVKA',
275
- dockerContextDir: '',
276
- contextPaths: [''],
277
- },
278
- {
279
- actorFullName: 'natasha.lekh/gas-prices-scraper',
280
- folder: 'actors/natasha.lekh_gas-prices-scraper',
281
- tokenEnvVar: 'APIFY_TOKEN_NATASHA_LEKH',
282
- dockerContextDir: '',
283
- contextPaths: [''],
284
- },
285
- {
286
- actorFullName: 'natasha.lekh/vegan-places-finder',
287
- folder: 'actors/natasha.lekh_vegan-places-finder',
288
- tokenEnvVar: 'APIFY_TOKEN_NATASHA_LEKH',
289
- dockerContextDir: '',
290
- contextPaths: [''],
291
- },
292
- {
293
- actorFullName: 'lukaskrivka/google-maps-scraper-orchestrator',
294
- folder: 'standalone-actors/lukaskrivka_google-maps-scraper-orchestrator',
295
- tokenEnvVar: 'APIFY_TOKEN_LUKASKRIVKA',
296
- dockerContextDir: 'standalone-actors/lukaskrivka_google-maps-scraper-orchestrator',
297
- contextPaths: ['standalone-actors/lukaskrivka_google-maps-scraper-orchestrator'],
298
- },
229
+ actorConfig('compass/Google-Maps-Reviews-Scraper', 'actors/compass_Google-Maps-Reviews-Scraper', 'APIFY_TOKEN_COMPASS'),
230
+ actorConfig('compass/crawler-google-places', 'actors/compass_crawler-google-places', 'APIFY_TOKEN_COMPASS'),
231
+ actorConfig('compass/easy-google-maps', 'actors/compass_easy-google-maps', 'APIFY_TOKEN_COMPASS'),
232
+ actorConfig('compass/google-maps-extractor', 'actors/compass_google-maps-extractor', 'APIFY_TOKEN_COMPASS'),
233
+ actorConfig('compass/google-places-api', 'actors/compass_google-places-api', 'APIFY_TOKEN_COMPASS'),
234
+ actorConfig('lukaskrivka/google-maps-with-contact-details', 'actors/lukaskrivka_google-maps-with-contact-details', 'APIFY_TOKEN_LUKASKRIVKA'),
235
+ actorConfig('natasha.lekh/gas-prices-scraper', 'actors/natasha.lekh_gas-prices-scraper', 'APIFY_TOKEN_NATASHA_LEKH'),
236
+ actorConfig('natasha.lekh/vegan-places-finder', 'actors/natasha.lekh_vegan-places-finder', 'APIFY_TOKEN_NATASHA_LEKH'),
237
+ actorConfig('lukaskrivka/google-maps-scraper-orchestrator', 'standalone-actors/lukaskrivka_google-maps-scraper-orchestrator', 'APIFY_TOKEN_LUKASKRIVKA', 'standalone-actors/lukaskrivka_google-maps-scraper-orchestrator'),
299
238
  ];
300
239
  const actorsChanged = await getChangedActors({
301
240
  actorConfigs: ACTOR_CONFIGS_GOOGLE_MAPS,
@@ -1 +1 @@
1
- {"version":3,"file":"should-built-and-test.test.js","sourceRoot":"","sources":["../../../test/unit/should-built-and-test.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"should-built-and-test.test.js","sourceRoot":"","sources":["../../../test/unit/should-built-and-test.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE7G,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAClC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAClF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAE3B,QAAQ,CAAC,GAAG,EAAE;IACV,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3B,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAChB,aAAqB,EACrB,MAAc,EACd,WAAmB,EACnB,gBAAgB,GAAG,GAAG,EACX,EAAE;IACb,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACnE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACtD,OAAO;QACH,aAAa;QACb,MAAM,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC;QAC/B,WAAW;QACX,SAAS,EAAE;YACP,IAAI,EAAE,IAAI,YAAY,CAAC,aAAa,CAAC;YACrC,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,IAAI,YAAY,CAAC,cAAc,CAAC;SAC9C;QACD,gBAAgB,EAAE,WAAW;QAC7B,YAAY,EAAE,CAAC,WAAW,CAAC;KAC9B,CAAC;AACN,CAAC,CAAC;AAEF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,sEAAsE;IACtE,MAAM,aAAa,GAAkB;QACjC,WAAW,CACP,0CAA0C,EAC1C,iDAAiD,EACjD,yBAAyB,CAC5B;QACD,WAAW,CACP,0CAA0C,EAC1C,iDAAiD,EACjD,yBAAyB,CAC5B;QACD,WAAW,CACP,6BAA6B,EAC7B,+CAA+C,EAC/C,yBAAyB,EACzB,+CAA+C,CAClD;KACJ,CAAC;IAEF,MAAM,OAAO,GAAa;QACtB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KACxD,CAAC;IAEF,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,KAAK,GAAG,CAAC,uBAAuB,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAEzG,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,KAAK,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEpC,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC;QAE/B,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,CAAC;YAClD,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QACH,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAC;YAC/C,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,KAAK,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAE/E,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,KAAK,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,KAAK,GAAG;YACV,mEAAmE;YACnE,0DAA0D;SAC7D,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;QAE9B,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,KAAK,GAAG;YACV,mEAAmE;YACnE,kBAAkB;YAClB,0DAA0D;SAC7D,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,KAAK,GAAG;YACV,2DAA2D;YAC3D,yDAAyD;SAC5D,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,KAAK,GAAG,CAAC,mEAAmE,CAAC,CAAC;QAEpF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,KAAK,GAAG,CAAC,mEAAmE,CAAC,CAAC;QAEpF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,KAAK,GAAG,CAAC,mEAAmE,CAAC,CAAC;QAEpF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,KAAK,GAAG;YACV,mEAAmE;YACnE,0EAA0E;SAC7E,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,KAAK,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAElF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,KAAK,GAAG;YACV,qEAAqE;YACrE,+DAA+D;YAC/D,oBAAoB;YACpB,qCAAqC;YACrC,gCAAgC;YAChC,4BAA4B;YAC5B,2CAA2C;YAC3C,kCAAkC;YAClC,iDAAiD;YACjD,kBAAkB;YAClB,8BAA8B;YAC9B,sCAAsC;SACzC,CAAC;QAEF,MAAM,yBAAyB,GAAkB;YAC7C,WAAW,CACP,qCAAqC,EACrC,4CAA4C,EAC5C,qBAAqB,CACxB;YACD,WAAW,CAAC,+BAA+B,EAAE,sCAAsC,EAAE,qBAAqB,CAAC;YAC3G,WAAW,CAAC,0BAA0B,EAAE,iCAAiC,EAAE,qBAAqB,CAAC;YACjG,WAAW,CAAC,+BAA+B,EAAE,sCAAsC,EAAE,qBAAqB,CAAC;YAC3G,WAAW,CAAC,2BAA2B,EAAE,kCAAkC,EAAE,qBAAqB,CAAC;YACnG,WAAW,CACP,8CAA8C,EAC9C,qDAAqD,EACrD,yBAAyB,CAC5B;YACD,WAAW,CACP,iCAAiC,EACjC,wCAAwC,EACxC,0BAA0B,CAC7B;YACD,WAAW,CACP,kCAAkC,EAClC,yCAAyC,EACzC,0BAA0B,CAC7B;YACD,WAAW,CACP,8CAA8C,EAC9C,gEAAgE,EAChE,yBAAyB,EACzB,gEAAgE,CACnE;SACJ,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,YAAY,EAAE,yBAAyB;YACvC,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}