@tamagui/native-ci 2.0.0 → 2.1.0-1780288049558
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/dist/cli.mjs +38 -4
- package/dist/cli.mjs.map +1 -1
- package/package.json +2 -2
- package/src/cli.ts +41 -3
- package/src/ios.ts +81 -19
- package/types/ios.d.ts.map +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -7,6 +7,9 @@ import { withMetro } from "./metro.mjs";
|
|
|
7
7
|
import { runDetoxTests } from "./detox.mjs";
|
|
8
8
|
import { ensureIOSFolder, ensureIOSApp, ensureBootedSimulator, ensureAppInstalled, getBootedSimulatorUDID, getMaestroBundleId } from "./ios";
|
|
9
9
|
import { setupAndroidDevice, ensureAndroidFolder } from "./android";
|
|
10
|
+
import { chmodSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
11
|
+
import { tmpdir } from "node:os";
|
|
12
|
+
import { join } from "node:path";
|
|
10
13
|
const HELP = `
|
|
11
14
|
native-ci - Native CI/CD helpers for Expo apps
|
|
12
15
|
|
|
@@ -59,6 +62,20 @@ EXAMPLES:
|
|
|
59
62
|
native-ci fingerprint ios
|
|
60
63
|
native-ci fingerprint-test
|
|
61
64
|
`;
|
|
65
|
+
function createMaestroXcrunShim() {
|
|
66
|
+
const binDir = mkdtempSync(join(tmpdir(), "native-ci-maestro-"));
|
|
67
|
+
const xcrunPath = join(binDir, "xcrun");
|
|
68
|
+
writeFileSync(xcrunPath, `#!/bin/sh
|
|
69
|
+
if [ "$1" = "devicectl" ] && [ "$2" = "--json-output" ] && [ "$4" = "list" ] && [ "$5" = "devices" ]; then
|
|
70
|
+
printf '{"result":{"devices":[]}}\\n' > "$3"
|
|
71
|
+
exit 0
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
exec /usr/bin/xcrun "$@"
|
|
75
|
+
`);
|
|
76
|
+
chmodSync(xcrunPath, 493);
|
|
77
|
+
return binDir;
|
|
78
|
+
}
|
|
62
79
|
function parseArgs(argv) {
|
|
63
80
|
const args2 = [];
|
|
64
81
|
const options2 = {
|
|
@@ -163,7 +180,8 @@ try {
|
|
|
163
180
|
config,
|
|
164
181
|
projectRoot: options.projectRoot,
|
|
165
182
|
recordLogs: options.recordLogs,
|
|
166
|
-
retries: options.retries
|
|
183
|
+
retries: options.retries,
|
|
184
|
+
testFiles: args.length > 0 ? args : void 0
|
|
167
185
|
});
|
|
168
186
|
});
|
|
169
187
|
process.exit(exitCode);
|
|
@@ -183,7 +201,8 @@ try {
|
|
|
183
201
|
projectRoot: options.projectRoot,
|
|
184
202
|
recordLogs: options.recordLogs,
|
|
185
203
|
retries: options.retries,
|
|
186
|
-
headless: options.headless
|
|
204
|
+
headless: options.headless,
|
|
205
|
+
testFiles: args.length > 0 ? args : void 0
|
|
187
206
|
});
|
|
188
207
|
});
|
|
189
208
|
process.exit(exitCode);
|
|
@@ -209,8 +228,23 @@ try {
|
|
|
209
228
|
const flowArg = flow ? `./flows/${flow}` : "./flows";
|
|
210
229
|
const udidArgs = ["--udid", udid];
|
|
211
230
|
const debugDir = `${options.projectRoot}/.maestro-debug`;
|
|
212
|
-
const
|
|
213
|
-
|
|
231
|
+
const xcrunShimDir = createMaestroXcrunShim();
|
|
232
|
+
const previousPath = process.env.PATH;
|
|
233
|
+
try {
|
|
234
|
+
process.env.PATH = `${xcrunShimDir}:${previousPath ?? ""}`;
|
|
235
|
+
const result = await $`maestro test ${flowArg} --exclude-tags=util --no-ansi --debug-output=${debugDir} ${udidArgs}`.nothrow();
|
|
236
|
+
return result.exitCode;
|
|
237
|
+
} finally {
|
|
238
|
+
if (previousPath === void 0) {
|
|
239
|
+
delete process.env.PATH;
|
|
240
|
+
} else {
|
|
241
|
+
process.env.PATH = previousPath;
|
|
242
|
+
}
|
|
243
|
+
rmSync(xcrunShimDir, {
|
|
244
|
+
recursive: true,
|
|
245
|
+
force: true
|
|
246
|
+
});
|
|
247
|
+
}
|
|
214
248
|
});
|
|
215
249
|
process.exit(exitCode);
|
|
216
250
|
} else if (platform === "all") {
|
package/dist/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateFingerprint","generatePreFingerprintHash","createCacheKey","saveFingerprintToKV","getFingerprintFromKV","saveCache","loadCache","setGitHubOutput","isGitHubActions","isCI","ensureIosDeps","ensureAndroidDeps","ensureMaestro","printDepsStatus","withMetro","runDetoxTests","ensureIOSFolder","ensureIOSApp","ensureBootedSimulator","ensureAppInstalled","getBootedSimulatorUDID","getMaestroBundleId","setupAndroidDevice","ensureAndroidFolder","HELP","parseArgs","argv","args2","options2","projectRoot","process","cwd","config","recordLogs","retries","headless","prefix","githubOutput","json","help","i","length","arg","val","Number","parseInt","isNaN","startsWith","push","command","subcommand","args","slice","options","validatePlatform","value","console","error","exit","getKVCredentials","url","env","KV_STORE_REDIS_REST_URL","token","KV_STORE_REDIS_REST_TOKEN","info","NATIVE_CI_FORCE_RUN","platform","chdir","exitCode","flow","udid","bundleId","$","flowArg","udidArgs","debugDir","result","nothrow","iosExit","err","androidExit","success","hash","fingerprint","JSON","stringify","CACHE_FILE","iosResult","androidResult","iosFingerprint","androidFingerprint","cache","ios","android","iosChanged","androidChanged","timestamp","Date","toISOString","files","filter","Boolean","cacheKey","key","kv","message"],"sources":["../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["generateFingerprint","generatePreFingerprintHash","createCacheKey","saveFingerprintToKV","getFingerprintFromKV","saveCache","loadCache","setGitHubOutput","isGitHubActions","isCI","ensureIosDeps","ensureAndroidDeps","ensureMaestro","printDepsStatus","withMetro","runDetoxTests","ensureIOSFolder","ensureIOSApp","ensureBootedSimulator","ensureAppInstalled","getBootedSimulatorUDID","getMaestroBundleId","setupAndroidDevice","ensureAndroidFolder","chmodSync","mkdtempSync","rmSync","writeFileSync","tmpdir","join","HELP","createMaestroXcrunShim","binDir","xcrunPath","parseArgs","argv","args2","options2","projectRoot","process","cwd","config","recordLogs","retries","headless","prefix","githubOutput","json","help","i","length","arg","val","Number","parseInt","isNaN","startsWith","push","command","subcommand","args","slice","options","validatePlatform","value","console","error","exit","getKVCredentials","url","env","KV_STORE_REDIS_REST_URL","token","KV_STORE_REDIS_REST_TOKEN","info","NATIVE_CI_FORCE_RUN","platform","chdir","exitCode","testFiles","flow","udid","bundleId","$","flowArg","udidArgs","debugDir","xcrunShimDir","previousPath","PATH","result","nothrow","recursive","force","iosExit","err","androidExit","success","hash","fingerprint","JSON","stringify","CACHE_FILE","iosResult","androidResult","iosFingerprint","androidFingerprint","cache","ios","android","iosChanged","androidChanged","timestamp","Date","toISOString","files","filter","Boolean","cacheKey","key","kv","message"],"sources":["../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/native-ci",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0-1780288049558",
|
|
4
4
|
"description": "Native CI/CD helpers for React Native apps with Expo - fingerprinting, caching, and build optimization",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@expo/fingerprint": "~0.16.6"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@tamagui/build": "2.
|
|
45
|
+
"@tamagui/build": "2.1.0-1780288049558",
|
|
46
46
|
"@types/bun": "^1.1.0",
|
|
47
47
|
"@types/node": "^22.1.0"
|
|
48
48
|
},
|
package/src/cli.ts
CHANGED
|
@@ -36,6 +36,9 @@ import {
|
|
|
36
36
|
} from './ios'
|
|
37
37
|
import { setupAndroidDevice, ensureAndroidFolder } from './android'
|
|
38
38
|
import type { Platform } from './constants'
|
|
39
|
+
import { chmodSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs'
|
|
40
|
+
import { tmpdir } from 'node:os'
|
|
41
|
+
import { join } from 'node:path'
|
|
39
42
|
|
|
40
43
|
const HELP = `
|
|
41
44
|
native-ci - Native CI/CD helpers for Expo apps
|
|
@@ -90,6 +93,26 @@ EXAMPLES:
|
|
|
90
93
|
native-ci fingerprint-test
|
|
91
94
|
`
|
|
92
95
|
|
|
96
|
+
function createMaestroXcrunShim() {
|
|
97
|
+
const binDir = mkdtempSync(join(tmpdir(), 'native-ci-maestro-'))
|
|
98
|
+
const xcrunPath = join(binDir, 'xcrun')
|
|
99
|
+
|
|
100
|
+
writeFileSync(
|
|
101
|
+
xcrunPath,
|
|
102
|
+
`#!/bin/sh
|
|
103
|
+
if [ "$1" = "devicectl" ] && [ "$2" = "--json-output" ] && [ "$4" = "list" ] && [ "$5" = "devices" ]; then
|
|
104
|
+
printf '{"result":{"devices":[]}}\\n' > "$3"
|
|
105
|
+
exit 0
|
|
106
|
+
fi
|
|
107
|
+
|
|
108
|
+
exec /usr/bin/xcrun "$@"
|
|
109
|
+
`
|
|
110
|
+
)
|
|
111
|
+
chmodSync(xcrunPath, 0o755)
|
|
112
|
+
|
|
113
|
+
return binDir
|
|
114
|
+
}
|
|
115
|
+
|
|
93
116
|
interface ParsedArgs {
|
|
94
117
|
command: string
|
|
95
118
|
subcommand: string
|
|
@@ -223,6 +246,7 @@ try {
|
|
|
223
246
|
projectRoot: options.projectRoot,
|
|
224
247
|
recordLogs: options.recordLogs,
|
|
225
248
|
retries: options.retries,
|
|
249
|
+
testFiles: args.length > 0 ? args : undefined,
|
|
226
250
|
})
|
|
227
251
|
})
|
|
228
252
|
process.exit(exitCode)
|
|
@@ -249,6 +273,7 @@ try {
|
|
|
249
273
|
recordLogs: options.recordLogs,
|
|
250
274
|
retries: options.retries,
|
|
251
275
|
headless: options.headless,
|
|
276
|
+
testFiles: args.length > 0 ? args : undefined,
|
|
252
277
|
})
|
|
253
278
|
})
|
|
254
279
|
process.exit(exitCode)
|
|
@@ -279,9 +304,22 @@ try {
|
|
|
279
304
|
const flowArg = flow ? `./flows/${flow}` : './flows'
|
|
280
305
|
const udidArgs = ['--udid', udid]
|
|
281
306
|
const debugDir = `${options.projectRoot}/.maestro-debug`
|
|
282
|
-
const
|
|
283
|
-
|
|
284
|
-
|
|
307
|
+
const xcrunShimDir = createMaestroXcrunShim()
|
|
308
|
+
const previousPath = process.env.PATH
|
|
309
|
+
|
|
310
|
+
try {
|
|
311
|
+
process.env.PATH = `${xcrunShimDir}:${previousPath ?? ''}`
|
|
312
|
+
const result =
|
|
313
|
+
await $`maestro test ${flowArg} --exclude-tags=util --no-ansi --debug-output=${debugDir} ${udidArgs}`.nothrow()
|
|
314
|
+
return result.exitCode
|
|
315
|
+
} finally {
|
|
316
|
+
if (previousPath === undefined) {
|
|
317
|
+
delete process.env.PATH
|
|
318
|
+
} else {
|
|
319
|
+
process.env.PATH = previousPath
|
|
320
|
+
}
|
|
321
|
+
rmSync(xcrunShimDir, { recursive: true, force: true })
|
|
322
|
+
}
|
|
285
323
|
})
|
|
286
324
|
process.exit(exitCode)
|
|
287
325
|
} else if (platform === 'all') {
|
package/src/ios.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* iOS-specific utilities for Detox test runners
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs'
|
|
6
|
-
import { dirname, join } from 'node:path'
|
|
7
|
-
import { execSync } from 'node:child_process'
|
|
5
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs'
|
|
6
|
+
import { dirname, isAbsolute, join } from 'node:path'
|
|
7
|
+
import { execFileSync, execSync } from 'node:child_process'
|
|
8
8
|
import { $ } from 'bun'
|
|
9
9
|
import { isCI } from './runner'
|
|
10
10
|
import { generateFingerprint } from './fingerprint'
|
|
@@ -75,6 +75,67 @@ function isAppInstalled(bundleId: string, udid: string): boolean {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
function getIOSProjectName(projectRoot: string): string {
|
|
79
|
+
const iosDir = join(projectRoot, 'ios')
|
|
80
|
+
const iosEntries = readdirSync(iosDir)
|
|
81
|
+
const workspace = iosEntries.find((entry) => entry.endsWith('.xcworkspace'))
|
|
82
|
+
if (workspace) return workspace.replace(/\.xcworkspace$/, '')
|
|
83
|
+
|
|
84
|
+
const project = iosEntries.find((entry) => entry.endsWith('.xcodeproj'))
|
|
85
|
+
if (project) return project.replace(/\.xcodeproj$/, '')
|
|
86
|
+
|
|
87
|
+
throw new Error(`No iOS workspace or project found in ${iosDir}`)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function getIOSBuildConfiguration(config: string): 'Debug' | 'Release' {
|
|
91
|
+
return config.toLowerCase().includes('release') ? 'Release' : 'Debug'
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function getIOSAppPath(projectRoot: string, config: string): string {
|
|
95
|
+
if (process.env.DETOX_IOS_APP_PATH) return process.env.DETOX_IOS_APP_PATH
|
|
96
|
+
|
|
97
|
+
const appName = getIOSProjectName(projectRoot)
|
|
98
|
+
const buildConfiguration = getIOSBuildConfiguration(config)
|
|
99
|
+
return `ios/build/Build/Products/${buildConfiguration}-iphonesimulator/${appName}.app`
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function getIOSFullAppPath(projectRoot: string, config: string): string {
|
|
103
|
+
const appPath = getIOSAppPath(projectRoot, config)
|
|
104
|
+
return isAbsolute(appPath) ? appPath : join(projectRoot, appPath)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function getIOSPodTargetName(projectRoot: string): string {
|
|
108
|
+
const podfile = readFileSync(join(projectRoot, 'ios', 'Podfile'), 'utf-8')
|
|
109
|
+
const match = podfile.match(/^\s*target ['"]([^'"]+)['"] do/m)
|
|
110
|
+
if (!match) {
|
|
111
|
+
throw new Error(`No CocoaPods target found in ${join(projectRoot, 'ios', 'Podfile')}`)
|
|
112
|
+
}
|
|
113
|
+
return match[1]
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function getIOSAppBundleId(fullAppPath: string): string | null {
|
|
117
|
+
const infoPlist = join(fullAppPath, 'Info.plist')
|
|
118
|
+
if (!existsSync(infoPlist)) return null
|
|
119
|
+
|
|
120
|
+
try {
|
|
121
|
+
const bundleId = execFileSync(
|
|
122
|
+
'/usr/bin/plutil',
|
|
123
|
+
['-extract', 'CFBundleIdentifier', 'raw', '-o', '-', infoPlist],
|
|
124
|
+
{
|
|
125
|
+
encoding: 'utf-8',
|
|
126
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
127
|
+
}
|
|
128
|
+
).trim()
|
|
129
|
+
return bundleId || null
|
|
130
|
+
} catch {
|
|
131
|
+
return null
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function isIOSAppBundleReady(fullAppPath: string): boolean {
|
|
136
|
+
return existsSync(fullAppPath) && !!getIOSAppBundleId(fullAppPath)
|
|
137
|
+
}
|
|
138
|
+
|
|
78
139
|
/**
|
|
79
140
|
* Ensure the app is installed on a specific simulator.
|
|
80
141
|
* For dev client apps, builds if needed then installs.
|
|
@@ -103,12 +164,10 @@ export async function ensureAppInstalled(opts: {
|
|
|
103
164
|
console.info(`App ${bundleId} not installed, building...`)
|
|
104
165
|
await ensureIOSFolder()
|
|
105
166
|
|
|
106
|
-
const appPath =
|
|
107
|
-
|
|
108
|
-
'ios/build/Build/Products/Debug-iphonesimulator/tamaguikitchensink.app'
|
|
109
|
-
const fullAppPath = join(projectRoot, appPath)
|
|
167
|
+
const appPath = getIOSAppPath(projectRoot, 'ios.sim.debug')
|
|
168
|
+
const fullAppPath = getIOSFullAppPath(projectRoot, 'ios.sim.debug')
|
|
110
169
|
|
|
111
|
-
if (!
|
|
170
|
+
if (!isIOSAppBundleReady(fullAppPath)) {
|
|
112
171
|
await ensureIOSApp('ios.sim.debug')
|
|
113
172
|
}
|
|
114
173
|
|
|
@@ -299,12 +358,10 @@ export async function ensureIOSApp(config: string = 'ios.sim.debug'): Promise<vo
|
|
|
299
358
|
|
|
300
359
|
const projectRoot = process.cwd()
|
|
301
360
|
|
|
302
|
-
//
|
|
303
|
-
const appPath =
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
const fullAppPath = join(projectRoot, appPath)
|
|
307
|
-
const appExists = existsSync(fullAppPath)
|
|
361
|
+
// check if a complete app bundle exists
|
|
362
|
+
const appPath = getIOSAppPath(projectRoot, config)
|
|
363
|
+
const fullAppPath = getIOSFullAppPath(projectRoot, config)
|
|
364
|
+
const appExists = isIOSAppBundleReady(fullAppPath)
|
|
308
365
|
|
|
309
366
|
// If app doesn't exist, we must build regardless of fingerprint
|
|
310
367
|
if (!appExists) {
|
|
@@ -366,7 +423,7 @@ export async function ensureIOSApp(config: string = 'ios.sim.debug'): Promise<vo
|
|
|
366
423
|
}
|
|
367
424
|
|
|
368
425
|
/**
|
|
369
|
-
* Build the iOS app using
|
|
426
|
+
* Build the iOS app using the generated Xcode workspace.
|
|
370
427
|
*/
|
|
371
428
|
async function buildIOSApp(
|
|
372
429
|
config: string,
|
|
@@ -381,18 +438,23 @@ async function buildIOSApp(
|
|
|
381
438
|
'ios',
|
|
382
439
|
'Pods',
|
|
383
440
|
'Target Support Files',
|
|
384
|
-
|
|
385
|
-
|
|
441
|
+
`Pods-${getIOSPodTargetName(projectRoot)}`,
|
|
442
|
+
`Pods-${getIOSPodTargetName(projectRoot)}.debug.xcconfig`
|
|
386
443
|
)
|
|
387
444
|
if (!existsSync(podConfigPath)) {
|
|
388
445
|
console.info('Installing CocoaPods dependencies...')
|
|
389
446
|
await $`pod install --project-directory=ios`
|
|
390
447
|
}
|
|
391
448
|
|
|
392
|
-
|
|
449
|
+
const scheme = getIOSProjectName(projectRoot)
|
|
450
|
+
const buildConfiguration = getIOSBuildConfiguration(config)
|
|
451
|
+
const workspace = join('ios', `${scheme}.xcworkspace`)
|
|
452
|
+
const symroot = join(projectRoot, 'ios', 'build', 'Build', 'Products')
|
|
453
|
+
const objroot = join(projectRoot, 'ios', 'build', 'Build', 'Intermediates.noindex')
|
|
454
|
+
|
|
393
455
|
console.info(`Building iOS app (config: ${config})...`)
|
|
394
456
|
console.info('This may take a few minutes on first run.')
|
|
395
|
-
await $`
|
|
457
|
+
await $`xcodebuild -workspace ${workspace} -scheme ${scheme} -configuration ${buildConfiguration} -sdk iphonesimulator SYMROOT=${symroot} OBJROOT=${objroot}`
|
|
396
458
|
|
|
397
459
|
// Save the fingerprint cache
|
|
398
460
|
if (fingerprint) {
|
package/types/ios.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAWtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuB5C;
|
|
1
|
+
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAWtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuB5C;AA6ED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAsB9D;AA+CD;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBrD;AAkCD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,MAAM,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuElF"}
|