@callstack/react-native-brownfield 6.0.0 → 6.0.1

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 (59) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/gradle-plugin/brownfield/gradle.properties +1 -1
  3. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/AndroidArchiveLibrary.kt +41 -4
  4. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/utils/AndroidArchiveLibraryNamespaceFallbackTest.kt +137 -0
  5. package/ios/Expo/ExpoHostRuntime.swift +3 -1
  6. package/ios/Expo/ExpoUpdatesStartup.swift +2 -1
  7. package/lib/commonjs/expo-config-plugin/android/utils/constants.js +1 -1
  8. package/lib/commonjs/expo-config-plugin/ios/podfileHelpers.js +2 -2
  9. package/lib/commonjs/expo-config-plugin/ios/podfileHelpers.js.map +1 -1
  10. package/lib/commonjs/expo-config-plugin/ios/withIosFrameworkFiles.js +1 -1
  11. package/lib/commonjs/expo-config-plugin/ios/withIosFrameworkFiles.js.map +1 -1
  12. package/lib/commonjs/expo-config-plugin/ios/xcodeHelpers.js +2 -2
  13. package/lib/commonjs/expo-config-plugin/ios/xcodeHelpers.js.map +1 -1
  14. package/lib/commonjs/expo-config-plugin/template/android/ReactNativeHostManager.vanilla.kt +5 -7
  15. package/lib/commonjs/expo-config-plugin/template/ios/ExpoModulesProviderExtension.swift +7 -0
  16. package/lib/commonjs/scaffold/index.js +1 -1
  17. package/lib/commonjs/scaffold/index.js.map +1 -1
  18. package/lib/commonjs/scaffold/projectFiles.js +1 -1
  19. package/lib/commonjs/scaffold/projectFiles.js.map +1 -1
  20. package/lib/module/expo-config-plugin/android/utils/constants.js +1 -1
  21. package/lib/module/expo-config-plugin/ios/podfileHelpers.js +2 -2
  22. package/lib/module/expo-config-plugin/ios/podfileHelpers.js.map +1 -1
  23. package/lib/module/expo-config-plugin/ios/withIosFrameworkFiles.js +1 -1
  24. package/lib/module/expo-config-plugin/ios/withIosFrameworkFiles.js.map +1 -1
  25. package/lib/module/expo-config-plugin/ios/xcodeHelpers.js +2 -2
  26. package/lib/module/expo-config-plugin/ios/xcodeHelpers.js.map +1 -1
  27. package/lib/module/expo-config-plugin/template/android/ReactNativeHostManager.vanilla.kt +5 -7
  28. package/lib/module/expo-config-plugin/template/ios/ExpoModulesProviderExtension.swift +7 -0
  29. package/lib/module/scaffold/index.js +1 -1
  30. package/lib/module/scaffold/index.js.map +1 -1
  31. package/lib/module/scaffold/projectFiles.js +1 -1
  32. package/lib/module/scaffold/projectFiles.js.map +1 -1
  33. package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
  34. package/lib/typescript/commonjs/src/expo-config-plugin/ios/podfileHelpers.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/src/expo-config-plugin/ios/withIosFrameworkFiles.d.ts +5 -0
  36. package/lib/typescript/commonjs/src/expo-config-plugin/ios/withIosFrameworkFiles.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/src/expo-config-plugin/ios/xcodeHelpers.d.ts +5 -0
  38. package/lib/typescript/commonjs/src/expo-config-plugin/ios/xcodeHelpers.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/src/scaffold/index.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/src/scaffold/projectFiles.d.ts +2 -2
  41. package/lib/typescript/commonjs/src/scaffold/projectFiles.d.ts.map +1 -1
  42. package/lib/typescript/module/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
  43. package/lib/typescript/module/src/expo-config-plugin/ios/podfileHelpers.d.ts.map +1 -1
  44. package/lib/typescript/module/src/expo-config-plugin/ios/withIosFrameworkFiles.d.ts +5 -0
  45. package/lib/typescript/module/src/expo-config-plugin/ios/withIosFrameworkFiles.d.ts.map +1 -1
  46. package/lib/typescript/module/src/expo-config-plugin/ios/xcodeHelpers.d.ts +5 -0
  47. package/lib/typescript/module/src/expo-config-plugin/ios/xcodeHelpers.d.ts.map +1 -1
  48. package/lib/typescript/module/src/scaffold/index.d.ts.map +1 -1
  49. package/lib/typescript/module/src/scaffold/projectFiles.d.ts +2 -2
  50. package/lib/typescript/module/src/scaffold/projectFiles.d.ts.map +1 -1
  51. package/package.json +2 -2
  52. package/src/expo-config-plugin/android/utils/constants.ts +1 -1
  53. package/src/expo-config-plugin/ios/podfileHelpers.ts +47 -13
  54. package/src/expo-config-plugin/ios/withIosFrameworkFiles.ts +11 -1
  55. package/src/expo-config-plugin/ios/xcodeHelpers.ts +67 -9
  56. package/src/expo-config-plugin/template/android/ReactNativeHostManager.vanilla.kt +5 -7
  57. package/src/expo-config-plugin/template/ios/ExpoModulesProviderExtension.swift +7 -0
  58. package/src/scaffold/index.ts +60 -4
  59. package/src/scaffold/projectFiles.ts +5 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # @callstack/react-native-brownfield
2
2
 
3
+ ## 6.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#487](https://github.com/callstack/react-native-brownfield/pull/487) [`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f) Thanks [@KisaneNeko](https://github.com/KisaneNeko)! - Support Expo modules in React Native CLI apps. `brownfield package:*` no longer runs `expo prebuild` on projects with committed `android/` and `ios/` directories, which used to delete the brownfield library module. Prebuild now runs only when the native directory is missing or gitignored. If you commit the generated directories of an Expo app, run `npx expo prebuild` yourself after changing `app.json` or config plugins. `create-react-native-brownfield` now detects Expo and sets up the iOS framework to use the Expo runtime. On a re-run after adding Expo, it also raises an existing framework target to iOS 16.4.
8
+
9
+ `--use-prebuilt-expo` now also turns Expo's precompiled modules on or off for `pod install`, and turns on Swift explicit modules so packaging works in projects that still carry the old `SWIFT_ENABLE_EXPLICIT_MODULES = NO` workaround. It defaults to building Expo from source when the app's React Native version doesn't match the one Expo's precompiled modules were built for.
10
+
11
+ `package:ios` now copies the expo-image dependency XCFrameworks (SDWebImage and libavif) as real files instead of symlinks into `node_modules`, so the package works when moved to another machine.
12
+
13
+ Re-running `create-react-native-brownfield` after `pod install` no longer adds a second Sources build phase to the framework target, which made the next `pod install` fail.
14
+
15
+ The `package:ios` script that `create-react-native-brownfield` adds now passes `--add-spm-package`, so the iOS app adds one local Swift package instead of every XCFramework. Existing scripts aren't changed.
16
+
17
+ - [#508](https://github.com/callstack/react-native-brownfield/pull/508) [`7e63e20`](https://github.com/callstack/react-native-brownfield/commit/7e63e204c449ab36ce5b109ff3eb5db086260089) Thanks [@malopezr7](https://github.com/malopezr7)! - Fix an iOS crash with expo-updates 57 when updates are enabled. The Expo runtime no longer asks the Updates controller for its launch asset before the controller has started.
18
+
19
+ - [#495](https://github.com/callstack/react-native-brownfield/pull/495) [`3b38aeb`](https://github.com/callstack/react-native-brownfield/commit/3b38aebb63810a8d1cc686bd70cccdeb279bf119) Thanks [@hurali97](https://github.com/hurali97)! - fix: resolve the namespace from AndroidManifest.xml `package` for libraries without a `namespace` in build.gradle
20
+
21
+ - [#500](https://github.com/callstack/react-native-brownfield/pull/500) [`0f62490`](https://github.com/callstack/react-native-brownfield/commit/0f62490e7602d1aad56ee5d9eba2fd667dc0171a) Thanks [@hurali97](https://github.com/hurali97)! - fix(android): stop the scaffolded `ReactNativeHostManager` from loading React Native twice
22
+
23
+ The `ReactNativeHostManager.kt` generated by `npm create @callstack/react-native-brownfield` for React Native CLI projects called `loadReactNative(application)` and then `ReactNativeBrownfield.initialize(...)`. Both run `DefaultNewArchitectureEntryPoint.load()`, which overrides the React Native feature flags, so the app crashed on startup with `Feature flags cannot be overridden more than once`.
24
+
25
+ The generated host manager now:
26
+ - no longer calls `loadReactNative` (`ReactNativeBrownfield.initialize` already loads the native libraries and feature flags exactly once);
27
+ - passes the `ReactHost` as a factory to the non-deprecated `initialize` overload, so it is built after `SoLoader.init` instead of crashing with `SoLoader.init() not yet called`;
28
+ - keeps the one behavior `loadReactNative` provided on the side by flagging edge-to-edge when `IS_EDGE_TO_EDGE_ENABLED` is set.
29
+
30
+ Fixes [#492](https://github.com/callstack/react-native-brownfield/issues/492).
31
+
32
+ - Updated dependencies [[`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f), [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155)]:
33
+ - @callstack/brownfield-cli@6.0.1
34
+
3
35
  ## 6.0.0
4
36
 
5
37
  ### Major Changes
@@ -1,6 +1,6 @@
1
1
  PROJECT_ID=com.callstack.react.brownfield
2
2
  ARTIFACT_ID=brownfield-gradle-plugin
3
- VERSION=2.0.0-alpha10
3
+ VERSION=2.0.0-alpha11
4
4
  GROUP=com.callstack.react
5
5
  IMPLEMENTATION_CLASS=com.callstack.react.brownfield.plugin.RNBrownfieldPlugin
6
6
 
@@ -3,6 +3,7 @@ package com.callstack.react.brownfield.utils
3
3
  import com.callstack.react.brownfield.shared.UnresolvedArtifactInfo
4
4
  import org.gradle.api.Project
5
5
  import java.io.File
6
+ import javax.xml.parsers.DocumentBuilderFactory
6
7
 
7
8
  class AndroidArchiveLibrary(
8
9
  private val project: Project,
@@ -46,11 +47,47 @@ class AndroidArchiveLibrary(
46
47
  val regex = Regex("""namespace\s*=?\s*["']([^"']+)["']""")
47
48
  val match = regex.find(text)
48
49
 
49
- val namespace =
50
- match?.groupValues?.get(1)
51
- ?: error("No namespace found in ${buildFile.path}")
50
+ return match?.groupValues?.get(1)
51
+ ?: getNameSpaceFromAndroidManifest(subProj)
52
+ ?: error(
53
+ "No namespace found in ${buildFile.path}, and no package attribute found in " +
54
+ "AndroidManifest.xml for ${artifact.moduleName}",
55
+ )
56
+ }
52
57
 
53
- return namespace
58
+ /**
59
+ * Falls back to the `package` attribute of the dependency's `AndroidManifest.xml` when the
60
+ * module declares no `namespace` in its `build.gradle`. The Android Gradle plugin itself
61
+ * derives the namespace this way for such libraries, so they build fine as a regular
62
+ * dependency but trip up [getNameSpaceFromBuildGradle]'s `build.gradle`-only regex.
63
+ *
64
+ * The manifest is parsed as XML and only the root `<manifest>` element's `package`
65
+ * attribute is read, so comments or child attributes such as `android:targetPackage`
66
+ * cannot be mistaken for the package name.
67
+ */
68
+ private fun getNameSpaceFromAndroidManifest(subProj: Project): String? {
69
+ val candidateManifests =
70
+ listOf(
71
+ File(subProj.projectDir, "src/main/AndroidManifest.xml"),
72
+ File(subProj.projectDir, "AndroidManifest.xml"),
73
+ )
74
+
75
+ return candidateManifests
76
+ .filter { it.exists() }
77
+ .firstNotNullOfOrNull { manifestFile ->
78
+ runCatching {
79
+ val document =
80
+ DocumentBuilderFactory.newInstance().apply {
81
+ isNamespaceAware = true
82
+ setFeature("http://apache.org/xml/features/disallow-doctype-decl", true)
83
+ setFeature("http://xml.org/sax/features/external-general-entities", false)
84
+ setFeature("http://xml.org/sax/features/external-parameter-entities", false)
85
+ }.newDocumentBuilder().parse(manifestFile)
86
+ document.documentElement
87
+ ?.getAttribute("package")
88
+ ?.takeIf { it.isNotBlank() }
89
+ }.getOrNull()
90
+ }
54
91
  }
55
92
 
56
93
  fun getManifestFile() = File(getExplodedAarRootDir(), "AndroidManifest.xml")
@@ -0,0 +1,137 @@
1
+ package com.callstack.react.brownfield.utils
2
+
3
+ import com.callstack.react.brownfield.shared.UnresolvedArtifactInfo
4
+ import org.gradle.testfixtures.ProjectBuilder
5
+ import org.junit.jupiter.api.Test
6
+ import kotlin.test.assertEquals
7
+ import kotlin.test.assertFailsWith
8
+
9
+ class AndroidArchiveLibraryNamespaceFallbackTest {
10
+ private fun artifactFor(moduleName: String) =
11
+ UnresolvedArtifactInfo(
12
+ moduleGroup = "com.example",
13
+ moduleName = moduleName,
14
+ moduleVersion = "1.0.0",
15
+ file = null,
16
+ isExpoPublishDependency = false,
17
+ )
18
+
19
+ @Test
20
+ fun `falls back to the AndroidManifest package when build-gradle declares no namespace`() {
21
+ val root = ProjectBuilder.builder().build()
22
+ val subProject =
23
+ ProjectBuilder.builder()
24
+ .withParent(root)
25
+ .withName("react-native-launch-arguments")
26
+ .build()
27
+
28
+ // No `namespace` declaration, mirroring libraries whose build.gradle predates AGP namespaces.
29
+ subProject.projectDir.mkdirs()
30
+ subProject.buildFile.writeText(
31
+ """
32
+ apply plugin: 'com.android.library'
33
+ """.trimIndent(),
34
+ )
35
+ subProject.projectDir.resolve("src/main").mkdirs()
36
+ subProject.projectDir.resolve("src/main/AndroidManifest.xml").writeText(
37
+ """
38
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
39
+ package="com.reactnativelauncharguments">
40
+ </manifest>
41
+ """.trimIndent(),
42
+ )
43
+
44
+ val library = AndroidArchiveLibrary(root, artifactFor("react-native-launch-arguments"), "devRelease")
45
+
46
+ assertEquals("com.reactnativelauncharguments", library.getPackageName())
47
+ }
48
+
49
+ @Test
50
+ fun `prefers the namespace declared in build-gradle over the manifest package`() {
51
+ val root = ProjectBuilder.builder().build()
52
+ val subProject =
53
+ ProjectBuilder.builder()
54
+ .withParent(root)
55
+ .withName("react-native-screens")
56
+ .build()
57
+
58
+ subProject.projectDir.mkdirs()
59
+ subProject.buildFile.writeText(
60
+ """
61
+ apply plugin: 'com.android.library'
62
+ android {
63
+ namespace = "com.swmansion.rnscreens"
64
+ }
65
+ """.trimIndent(),
66
+ )
67
+ subProject.projectDir.resolve("src/main").mkdirs()
68
+ subProject.projectDir.resolve("src/main/AndroidManifest.xml").writeText(
69
+ """
70
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
71
+ package="com.swmansion.rnscreens.legacy">
72
+ </manifest>
73
+ """.trimIndent(),
74
+ )
75
+
76
+ val library = AndroidArchiveLibrary(root, artifactFor("react-native-screens"), "devRelease")
77
+
78
+ assertEquals("com.swmansion.rnscreens", library.getPackageName())
79
+ }
80
+
81
+ @Test
82
+ fun `reads the package from the manifest root element and ignores comments and child attributes`() {
83
+ val root = ProjectBuilder.builder().build()
84
+ val subProject =
85
+ ProjectBuilder.builder()
86
+ .withParent(root)
87
+ .withName("react-native-legacy-manifest")
88
+ .build()
89
+
90
+ subProject.projectDir.mkdirs()
91
+ subProject.buildFile.writeText(
92
+ """
93
+ apply plugin: 'com.android.library'
94
+ """.trimIndent(),
95
+ )
96
+ subProject.projectDir.resolve("src/main").mkdirs()
97
+ subProject.projectDir.resolve("src/main/AndroidManifest.xml").writeText(
98
+ """
99
+ <!-- legacy location: package="com.example.stale" -->
100
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
101
+ package="com.reactnativelegacymanifest">
102
+ <application>
103
+ <activity
104
+ android:name=".LegacyActivity"
105
+ android:exported="false"
106
+ android:targetPackage="com.example.target" />
107
+ </application>
108
+ </manifest>
109
+ """.trimIndent(),
110
+ )
111
+
112
+ val library = AndroidArchiveLibrary(root, artifactFor("react-native-legacy-manifest"), "devRelease")
113
+
114
+ assertEquals("com.reactnativelegacymanifest", library.getPackageName())
115
+ }
116
+
117
+ @Test
118
+ fun `errors when neither build-gradle nor the manifest declare a namespace`() {
119
+ val root = ProjectBuilder.builder().build()
120
+ val subProject =
121
+ ProjectBuilder.builder()
122
+ .withParent(root)
123
+ .withName("no-namespace-anywhere")
124
+ .build()
125
+
126
+ subProject.projectDir.mkdirs()
127
+ subProject.buildFile.writeText(
128
+ """
129
+ apply plugin: 'com.android.library'
130
+ """.trimIndent(),
131
+ )
132
+
133
+ val library = AndroidArchiveLibrary(root, artifactFor("no-namespace-anywhere"), "devRelease")
134
+
135
+ assertFailsWith<IllegalStateException> { library.getPackageName() }
136
+ }
137
+ }
@@ -299,6 +299,7 @@ class ExpoHostRuntimeDelegate: ExpoReactNativeFactoryDelegate {
299
299
  #if canImport(EXUpdates)
300
300
  if AppController.isInitialized(),
301
301
  AppController.sharedInstance.isActiveController,
302
+ AppController.sharedInstance.isStarted,
302
303
  let launchAssetURL = AppController.sharedInstance.launchAssetUrl()
303
304
  {
304
305
  return launchAssetURL
@@ -343,7 +344,8 @@ class ExpoHostRuntimeDelegate: ExpoReactNativeFactoryDelegate {
343
344
  #if canImport(EXUpdates)
344
345
  guard AppController.isInitialized() else { return false }
345
346
  return !AppController.sharedInstance.isActiveController
346
- || AppController.sharedInstance.launchAssetUrl() != nil
347
+ || (AppController.sharedInstance.isStarted
348
+ && AppController.sharedInstance.launchAssetUrl() != nil)
347
349
  #else
348
350
  return true
349
351
  #endif
@@ -16,7 +16,8 @@ final class ExpoUpdatesStartup: NSObject {
16
16
  AppController.initializeWithoutStarting()
17
17
  let controller = AppController.sharedInstance
18
18
  guard controller.isActiveController else { completion(); return }
19
- if updatesReady || controller.launchAssetUrl() != nil {
19
+ // expo-updates 57 traps in launchAssetUrl() until start() sets its startup procedure.
20
+ if updatesReady || (controller.isStarted && controller.launchAssetUrl() != nil) {
20
21
  completion()
21
22
  return
22
23
  }
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.brownfieldGradlePluginDependency=exports.BROWNFIELD_PLUGIN_VERSION=void 0;var BROWNFIELD_PLUGIN_VERSION=exports.BROWNFIELD_PLUGIN_VERSION='2.0.0-alpha10';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.brownfieldGradlePluginDependency=exports.BROWNFIELD_PLUGIN_VERSION=void 0;var BROWNFIELD_PLUGIN_VERSION=exports.BROWNFIELD_PLUGIN_VERSION='2.0.0-alpha11';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,6 +1,6 @@
1
1
  var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.modifyPodfile=modifyPodfile;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _SourceModificationError=require("../errors/SourceModificationError");var _logging=require("../logging");var _engine=require("../template/engine");var MIN_SUPPORTED_EXPO_SDK_MAJOR_VERSION=56;var BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_START='# >>> react-native-brownfield Expo SDK 55+ swift defines >>>';var BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_END='# <<< react-native-brownfield Expo SDK 55+ swift defines <<<';function ensureExpoDefinesForSDK55AndAbove(podfile,expoMajor){if(podfile.includes(BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_START)){return podfile;}var defaultDeploymentTarget=expoMajor>=56?'16.4':'15.1';var hook=`
2
2
  ${BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_START}
3
- brownfield_ios_deployment_target = podfile_properties['ios.deploymentTarget'] || '${defaultDeploymentTarget}'
3
+ brownfield_ios_deployment_target = (defined?(podfile_properties) && podfile_properties['ios.deploymentTarget']) || '${defaultDeploymentTarget}'
4
4
  installer.pods_project.targets.each do |target|
5
5
  if target.name == 'ReactBrownfield'
6
6
  puts "[Brownfield] Adding definition of EXPO_SDK_GTE_55 to target: #{target.name}"
@@ -14,5 +14,5 @@ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault
14
14
  end
15
15
  end
16
16
  ${BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_END}
17
- `;var postInstallMatch=podfile.match(/(post_install\s+do\s+\|installer\|\s*\n)((?:(?!^\s*end\s*$)[\s\S])*)(^\s*end\s*$)/m);if(postInstallMatch){var _postInstallMatch=(0,_slicedToArray2.default)(postInstallMatch,4),whole=_postInstallMatch[0],start=_postInstallMatch[1],content=_postInstallMatch[2],end=_postInstallMatch[3];var updated=`${start}${content.trimEnd()}\n${hook}\n${end}`;return podfile.replace(whole,updated);}return`${podfile.trimEnd()}\n\npost_install do |installer|\n${hook}\nend\n`;}function modifyPodfile(podfile,frameworkName,expoMajor){if(podfile.includes(`target '${frameworkName}'`)){_logging.Logger.logDebug(`Framework target "${frameworkName}" already in Podfile, skipping modification`);return podfile;}_logging.Logger.logDebug(`Modifying Podfile for framework: ${frameworkName}`);var frameworkTargetBlock=(0,_engine.renderTemplate)('ios',typeof expoMajor==='number'?'PodfileTargetBlock.rb':'PodfileTargetBlock.vanilla.rb',{'{{FRAMEWORK_NAME}}':frameworkName});var mainTargetMatch=podfile.match(/(target\s+['"][^'"]+['"]\s+do\s*\n)([\s\S]*?)(^end\s*$)/m);if(!mainTargetMatch){throw new _SourceModificationError.SourceModificationError('Could not find main target in Podfile. Please manually add the framework target.');}var _mainTargetMatch=(0,_slicedToArray2.default)(mainTargetMatch,3),targetStart=_mainTargetMatch[1],targetContent=_mainTargetMatch[2];var insertIndex=podfile.indexOf(mainTargetMatch[0])+targetStart.length+targetContent.length;var modifiedPodfile=podfile.slice(0,insertIndex)+frameworkTargetBlock+podfile.slice(insertIndex);_logging.Logger.logDebug(`Added framework target "${frameworkName}" to Podfile`);if(typeof expoMajor!=='number'){return modifiedPodfile;}if(expoMajor<MIN_SUPPORTED_EXPO_SDK_MAJOR_VERSION){var versionLabel=expoMajor<0?'unknown':String(expoMajor);throw new _SourceModificationError.SourceModificationError(`Expo SDK ${versionLabel} is not supported. Please use Expo SDK ${MIN_SUPPORTED_EXPO_SDK_MAJOR_VERSION} or newer. For older versions, please see the matrix of supported versions: https://oss.callstack.com/react-native-brownfield/docs/getting-started/introduction#expo-version-compatibility`);}modifiedPodfile=ensureExpoDefinesForSDK55AndAbove(modifiedPodfile,expoMajor);return modifiedPodfile;}
17
+ `;var postInstallMatch=podfile.match(/(post_install\s+do\s+\|installer\|\s*\n)((?:(?!^\s*end\s*$)[\s\S])*)(^\s*end\s*$)/m);if(postInstallMatch){var _postInstallMatch=(0,_slicedToArray2.default)(postInstallMatch,4),whole=_postInstallMatch[0],start=_postInstallMatch[1],content=_postInstallMatch[2],end=_postInstallMatch[3];var updated=`${start}${content.trimEnd()}\n${hook}\n${end}`;return podfile.replace(whole,updated);}return`${podfile.trimEnd()}\n\npost_install do |installer|\n${hook}\nend\n`;}function modifyPodfile(podfile,frameworkName,expoMajor){if(podfile.includes(`target '${frameworkName}'`)||podfile.includes(`target "${frameworkName}"`)){if(typeof expoMajor!=='number'){_logging.Logger.logDebug(`Framework target "${frameworkName}" already in Podfile, skipping modification`);return podfile;}return applyExpoHooks(ensureExpoHostInFrameworkTarget(podfile,frameworkName),expoMajor);}_logging.Logger.logDebug(`Modifying Podfile for framework: ${frameworkName}`);var frameworkTargetBlock=(0,_engine.renderTemplate)('ios',typeof expoMajor==='number'?'PodfileTargetBlock.rb':'PodfileTargetBlock.vanilla.rb',{'{{FRAMEWORK_NAME}}':frameworkName});var mainTargetMatch=podfile.match(/(target\s+['"][^'"]+['"]\s+do\s*\n)([\s\S]*?)(^end\s*$)/m);if(!mainTargetMatch){throw new _SourceModificationError.SourceModificationError('Could not find main target in Podfile. Please manually add the framework target.');}var _mainTargetMatch=(0,_slicedToArray2.default)(mainTargetMatch,3),targetStart=_mainTargetMatch[1],targetContent=_mainTargetMatch[2];var insertIndex=podfile.indexOf(mainTargetMatch[0])+targetStart.length+targetContent.length;var modifiedPodfile=podfile.slice(0,insertIndex)+frameworkTargetBlock+podfile.slice(insertIndex);_logging.Logger.logDebug(`Added framework target "${frameworkName}" to Podfile`);if(typeof expoMajor!=='number'){return modifiedPodfile;}return applyExpoHooks(modifiedPodfile,expoMajor);}function ensureExpoHostInFrameworkTarget(podfile,frameworkName){if(/^[ \t]*ENV\['REACT_NATIVE_BROWNFIELD_USE_EXPO_HOST'\]/m.test(podfile)){return podfile;}var escapedName=frameworkName.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');var targetLine=new RegExp(`^([ \\t]*)(target\\s+['"]${escapedName}['"]\\s+do\\b[^\\r\\n]*(\\r?\\n))`,'m');if(!targetLine.test(podfile)){throw new _SourceModificationError.SourceModificationError(`Couldn't find the "target '${frameworkName}' do" line in the Podfile to enable the Expo host. Add ENV['REACT_NATIVE_BROWNFIELD_USE_EXPO_HOST'] = '1' inside that target block manually.`);}return podfile.replace(targetLine,`$1$2$1 ENV['REACT_NATIVE_BROWNFIELD_USE_EXPO_HOST'] = '1'$3`);}function applyExpoHooks(podfile,expoMajor){if(expoMajor<MIN_SUPPORTED_EXPO_SDK_MAJOR_VERSION){var versionLabel=expoMajor<0?'unknown':String(expoMajor);throw new _SourceModificationError.SourceModificationError(`Expo SDK ${versionLabel} is not supported. Please use Expo SDK ${MIN_SUPPORTED_EXPO_SDK_MAJOR_VERSION} or newer. For older versions, please see the matrix of supported versions: https://oss.callstack.com/react-native-brownfield/docs/getting-started/introduction#expo-version-compatibility`);}return ensureExpoDefinesForSDK55AndAbove(podfile,expoMajor);}
18
18
  //# sourceMappingURL=podfileHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_SourceModificationError","require","_logging","_engine","MIN_SUPPORTED_EXPO_SDK_MAJOR_VERSION","BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_START","BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_END","ensureExpoDefinesForSDK55AndAbove","podfile","expoMajor","includes","defaultDeploymentTarget","hook","postInstallMatch","match","_postInstallMatch","_slicedToArray2","default","whole","start","content","end","updated","trimEnd","replace","modifyPodfile","frameworkName","Logger","logDebug","frameworkTargetBlock","renderTemplate","mainTargetMatch","SourceModificationError","_mainTargetMatch","targetStart","targetContent","insertIndex","indexOf","length","modifiedPodfile","slice","versionLabel","String"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/ios/podfileHelpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_SourceModificationError","require","_logging","_engine","MIN_SUPPORTED_EXPO_SDK_MAJOR_VERSION","BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_START","BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_END","ensureExpoDefinesForSDK55AndAbove","podfile","expoMajor","includes","defaultDeploymentTarget","hook","postInstallMatch","match","_postInstallMatch","_slicedToArray2","default","whole","start","content","end","updated","trimEnd","replace","modifyPodfile","frameworkName","Logger","logDebug","applyExpoHooks","ensureExpoHostInFrameworkTarget","frameworkTargetBlock","renderTemplate","mainTargetMatch","SourceModificationError","_mainTargetMatch","targetStart","targetContent","insertIndex","indexOf","length","modifiedPodfile","slice","test","escapedName","targetLine","RegExp","versionLabel","String"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/ios/podfileHelpers.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.createIosFramework=createIosFramework;exports.getFrameworkSourceFiles=getFrameworkSourceFiles;exports.withIosFrameworkFiles=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var fs=_interopRequireWildcard(require("node:fs"));var path=_interopRequireWildcard(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _engine=require("../template/engine");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}function getFrameworkSourceFiles(ios,options){var _options$useExpoHost;var useExpoHost=(_options$useExpoHost=options==null?void 0:options.useExpoHost)!=null?_options$useExpoHost:true;return[{relativePath:`${ios.frameworkName}.swift`,content:useExpoHost?(0,_engine.renderTemplate)('ios','FrameworkInterface.swift',{'{{BUNDLE_IDENTIFIER}}':ios.bundleIdentifier}):(0,_engine.renderTemplate)('ios','FrameworkInterface.vanilla.swift',{})},{relativePath:'Info.plist',content:(0,_engine.renderTemplate)('ios','Info.plist',{'{{BUNDLE_IDENTIFIER}}':ios.bundleIdentifier})}];}function createIosFramework(iosDir,config,options){var ios=config.ios;var frameworkDir=path.join(iosDir,ios.frameworkName);var frameworkDirExists=fs.existsSync(frameworkDir);_logging.Logger.logDebug(frameworkDirExists?`Updating iOS framework files in: ${frameworkDir}`:`Creating iOS framework in: ${frameworkDir}`);if(!frameworkDirExists){fs.mkdirSync(frameworkDir,{recursive:true});_logging.Logger.logDebug(`Created directory: ${frameworkDir}`);}for(var file of getFrameworkSourceFiles(ios,options)){var filePath=path.join(frameworkDir,file.relativePath);fs.writeFileSync(filePath,file.content,'utf8');}_logging.Logger.logDebug(`iOS framework "${ios.frameworkName}" files created at ${frameworkDir}`);}var withIosFrameworkFiles=exports.withIosFrameworkFiles=function withIosFrameworkFiles(config,props){return(0,_configPlugins.withDangerousMod)(config,['ios',(function(){var _ref=(0,_asyncToGenerator2.default)(function*(dangerousConfig){var iosDir=path.join(dangerousConfig.modRequest.projectRoot,'ios');createIosFramework(iosDir,props);return dangerousConfig;});return function(_x){return _ref.apply(this,arguments);};}())]);};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.createIosFramework=createIosFramework;exports.getFrameworkSourceFiles=getFrameworkSourceFiles;exports.withIosFrameworkFiles=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var fs=_interopRequireWildcard(require("node:fs"));var path=_interopRequireWildcard(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _engine=require("../template/engine");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}function getFrameworkSourceFiles(ios,options){var _options$useExpoHost;var useExpoHost=(_options$useExpoHost=options==null?void 0:options.useExpoHost)!=null?_options$useExpoHost:true;var vanillaInterface=(0,_engine.renderTemplate)('ios','FrameworkInterface.vanilla.swift',{})+(options!=null&&options.withExpoModules?(0,_engine.renderTemplate)('ios','ExpoModulesProviderExtension.swift',{}):'');return[{relativePath:`${ios.frameworkName}.swift`,content:useExpoHost?(0,_engine.renderTemplate)('ios','FrameworkInterface.swift',{'{{BUNDLE_IDENTIFIER}}':ios.bundleIdentifier}):vanillaInterface},{relativePath:'Info.plist',content:(0,_engine.renderTemplate)('ios','Info.plist',{'{{BUNDLE_IDENTIFIER}}':ios.bundleIdentifier})}];}function createIosFramework(iosDir,config,options){var ios=config.ios;var frameworkDir=path.join(iosDir,ios.frameworkName);var frameworkDirExists=fs.existsSync(frameworkDir);_logging.Logger.logDebug(frameworkDirExists?`Updating iOS framework files in: ${frameworkDir}`:`Creating iOS framework in: ${frameworkDir}`);if(!frameworkDirExists){fs.mkdirSync(frameworkDir,{recursive:true});_logging.Logger.logDebug(`Created directory: ${frameworkDir}`);}for(var file of getFrameworkSourceFiles(ios,options)){var filePath=path.join(frameworkDir,file.relativePath);fs.writeFileSync(filePath,file.content,'utf8');}_logging.Logger.logDebug(`iOS framework "${ios.frameworkName}" files created at ${frameworkDir}`);}var withIosFrameworkFiles=exports.withIosFrameworkFiles=function withIosFrameworkFiles(config,props){return(0,_configPlugins.withDangerousMod)(config,['ios',(function(){var _ref=(0,_asyncToGenerator2.default)(function*(dangerousConfig){var iosDir=path.join(dangerousConfig.modRequest.projectRoot,'ios');createIosFramework(iosDir,props);return dangerousConfig;});return function(_x){return _ref.apply(this,arguments);};}())]);};
2
2
  //# sourceMappingURL=withIosFrameworkFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["fs","_interopRequireWildcard","require","path","_configPlugins","_logging","_engine","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getFrameworkSourceFiles","ios","options","_options$useExpoHost","useExpoHost","relativePath","frameworkName","content","renderTemplate","bundleIdentifier","createIosFramework","iosDir","config","frameworkDir","join","frameworkDirExists","existsSync","Logger","logDebug","mkdirSync","recursive","file","filePath","writeFileSync","withIosFrameworkFiles","exports","props","withDangerousMod","_ref","_asyncToGenerator2","dangerousConfig","modRequest","projectRoot","_x","apply","arguments"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/ios/withIosFrameworkFiles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","_interopRequireWildcard","require","path","_configPlugins","_logging","_engine","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getFrameworkSourceFiles","ios","options","_options$useExpoHost","useExpoHost","vanillaInterface","renderTemplate","withExpoModules","relativePath","frameworkName","content","bundleIdentifier","createIosFramework","iosDir","config","frameworkDir","join","frameworkDirExists","existsSync","Logger","logDebug","mkdirSync","recursive","file","filePath","writeFileSync","withIosFrameworkFiles","exports","props","withDangerousMod","_ref","_asyncToGenerator2","dangerousConfig","modRequest","projectRoot","_x","apply","arguments"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/ios/withIosFrameworkFiles.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.addFrameworkTarget=addFrameworkTarget;exports.addSourceFilesBuildPhase=addSourceFilesBuildPhase;exports.copyBundleReactNativePhase=copyBundleReactNativePhase;exports.createPbxCommentedReference=createPbxCommentedReference;exports.ensureTargetHasFileReferenceInResourcesBuildPhase=ensureTargetHasFileReferenceInResourcesBuildPhase;exports.getAppTargetDeploymentTarget=getAppTargetDeploymentTarget;exports.getFrameworkBuildSettings=getFrameworkBuildSettings;exports.resolveFrameworkDeploymentTarget=resolveFrameworkDeploymentTarget;exports.rewriteBundleReactNativePhaseScriptForFrameworkTarget=rewriteBundleReactNativePhaseScriptForFrameworkTarget;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _nodePath=_interopRequireDefault(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _SourceModificationError=require("../errors/SourceModificationError");var _withIosFrameworkFiles=require("./withIosFrameworkFiles");function findFrameworkTargetByQuotedName(project,frameworkName){var nativeTargets=getRawProjectObjects(project).PBXNativeTarget;for(var _ref of Object.entries(nativeTargets!=null?nativeTargets:{})){var _ref2=(0,_slicedToArray2.default)(_ref,2);var key=_ref2[0];var target=_ref2[1];if(key.endsWith('_comment')||(target==null?void 0:target.isa)!=='PBXNativeTarget'){continue;}var name=unquotePbxString(target.name);if(name===frameworkName){return target;}}return null;}function unquotePbxString(value){if(typeof value!=='string'){return undefined;}return value.startsWith('"')&&value.endsWith('"')?value.slice(1,-1):value;}function addFrameworkTarget(project,modRequest,options,brownfieldOptions){var _project$pbxTargetByN;var frameworkName=options.frameworkName,bundleIdentifier=options.bundleIdentifier;var existingTarget=(_project$pbxTargetByN=project.pbxTargetByName(frameworkName))!=null?_project$pbxTargetByN:findFrameworkTargetByQuotedName(project,frameworkName);if(existingTarget){var _Object$entries$find;_logging.Logger.logDebug(`Framework target "${frameworkName}" already exists, skipping creation`);var frameworkTargetUUID=(_Object$entries$find=Object.entries(project.pbxNativeTargetSection()).find(function(_ref3){var _ref4=(0,_slicedToArray2.default)(_ref3,2),_key=_ref4[0],value=_ref4[1];return(value==null?void 0:value.productReference)===existingTarget.productReference;}))==null?void 0:_Object$entries$find[0];if(!frameworkTargetUUID){throw new _SourceModificationError.SourceModificationError(`Failed to find framework target UUID for ${frameworkName}, although it can be resolved by name`);}return{frameworkTargetUUID:frameworkTargetUUID,targetAlreadyExists:true};}_logging.Logger.logDebug(`Adding iOS framework target: ${frameworkName}`);var frameworkTarget=project.addTarget(frameworkName,'framework',frameworkName,bundleIdentifier);if(!frameworkTarget){throw new _SourceModificationError.SourceModificationError(`Failed to create framework target: ${frameworkName}`);}var frameworkBuildConfigurations=project.pbxXCConfigurationList()[frameworkTarget.pbxNativeTarget.buildConfigurationList];var debugFrameworkConfigKey=frameworkBuildConfigurations.buildConfigurations.find(function(_ref5){var comment=_ref5.comment;return comment==='Debug';}).value;var releaseFrameworkConfigKey=frameworkBuildConfigurations.buildConfigurations.find(function(_ref6){var comment=_ref6.comment;return comment==='Release';}).value;var debugSettings=getFrameworkBuildSettings({configuration:'Debug'},options);var releaseSettings=getFrameworkBuildSettings({configuration:'Release'},options);var configs=project.pbxXCBuildConfigurationSection();for(var configName in configs){var sourceBuildSettings=configName===releaseFrameworkConfigKey?releaseSettings:configName===debugFrameworkConfigKey?debugSettings:null;if(sourceBuildSettings){var destinationBuildSettings=configs[configName].buildSettings;for(var key in sourceBuildSettings){destinationBuildSettings[key]=sourceBuildSettings[key];}_logging.Logger.logDebug(`Updated build settings for ${configName} configuration of target ${frameworkName}`);}}Object.entries(debugSettings).forEach(function(_ref7){var _ref8=(0,_slicedToArray2.default)(_ref7,2),key=_ref8[0],value=_ref8[1];project.updateBuildProperty(key,value,'Debug',frameworkName);});Object.entries(releaseSettings).forEach(function(_ref9){var _ref0=(0,_slicedToArray2.default)(_ref9,2),key=_ref0[0],value=_ref0[1];project.updateBuildProperty(key,value,'Release',frameworkName);});var filePaths=(0,_withIosFrameworkFiles.getFrameworkSourceFiles)(options,brownfieldOptions).map(function(file){return file.relativePath;});var groupPath=_nodePath.default.join(modRequest.platformProjectRoot,frameworkName);_logging.Logger.logDebug(`Creating PBX group '${frameworkName}' under path '${groupPath}' with files: ${filePaths.join(', ')}`);var frameworkGroup=project.addPbxGroup(filePaths,frameworkName,groupPath);var mainGroupKey=project.getFirstProject().firstProject.mainGroup;project.addToPbxGroup(frameworkGroup.uuid,mainGroupKey);_logging.Logger.logInfo(`Successfully added framework target: ${frameworkName}`);return{frameworkTargetUUID:frameworkTarget.uuid,targetAlreadyExists:false};}function addSourceFilesBuildPhase(project,frameworkTargetUUID,options,brownfieldOptions){var _nativeTargets$framew,_nativeTargets$framew2;var filePaths=(0,_withIosFrameworkFiles.getFrameworkSourceFiles)(options,brownfieldOptions).map(function(file){return file.relativePath;});var sourceFiles=filePaths.filter(function(filePath){return!filePath.endsWith('.plist');});var nativeTargets=getRawProjectObjects(project).PBXNativeTarget;var targetBuildPhases=(_nativeTargets$framew=nativeTargets==null||(_nativeTargets$framew2=nativeTargets[frameworkTargetUUID])==null?void 0:_nativeTargets$framew2.buildPhases)!=null?_nativeTargets$framew:[];var alreadyHasSourcePhase=targetBuildPhases.some(function(phase){return hasBuildPhaseComment({comment:typeof phase==='string'?undefined:phase.comment},options.frameworkName);});if(alreadyHasSourcePhase){_logging.Logger.logDebug(`Sources build phase "${options.frameworkName}" already present on target ${frameworkTargetUUID}, skipping`);return;}project.addBuildPhase(sourceFiles,'PBXSourcesBuildPhase',options.frameworkName,frameworkTargetUUID,'framework','""');}var PBX_BUILD_ACTION_MASK_ALL=2147483647;var PBX_RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING_DISABLED=0;var PBX_RESOURCES_BUILD_PHASE_ISA='PBXResourcesBuildPhase';var PBX_BUILD_FILE_ISA='PBXBuildFile';function createPbxCommentedReference(value,comment){return{value:value,comment:comment};}function createResourcesBuildPhase(){return{isa:PBX_RESOURCES_BUILD_PHASE_ISA,buildActionMask:PBX_BUILD_ACTION_MASK_ALL,files:[],runOnlyForDeploymentPostprocessing:PBX_RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING_DISABLED};}function createBuildFile(fileRef){return{isa:PBX_BUILD_FILE_ISA,fileRef:fileRef};}function getRawProjectObjects(project){var _hash$project$objects,_hash;return(_hash$project$objects=(_hash=project.hash)==null||(_hash=_hash.project)==null?void 0:_hash.objects)!=null?_hash$project$objects:{};}function getReferencedUuid(reference){var _reference$value;if(!reference){return null;}return typeof reference==='string'?reference:(_reference$value=reference.value)!=null?_reference$value:null;}function getFrameworkTargetOrThrow(project,frameworkTargetUUID){var nativeTargets=getRawProjectObjects(project).PBXNativeTarget;var frameworkTarget=nativeTargets==null?void 0:nativeTargets[frameworkTargetUUID];if(!frameworkTarget){throw new _SourceModificationError.SourceModificationError(`Framework target UUID "${frameworkTargetUUID}" not found while wiring a resources build phase`);}return frameworkTarget;}function getOrCreateResourcesBuildPhaseForTarget(project,frameworkTargetUUID,frameworkTarget,resourcesBuildPhaseComment){var _rawProjectObjects$PB,_frameworkTarget$buil;var rawProjectObjects=getRawProjectObjects(project);var resourceBuildPhases=(_rawProjectObjects$PB=rawProjectObjects.PBXResourcesBuildPhase)!=null?_rawProjectObjects$PB:rawProjectObjects.PBXResourcesBuildPhase={};var resourcesBuildPhaseUuid=((_frameworkTarget$buil=frameworkTarget.buildPhases)!=null?_frameworkTarget$buil:[]).map(function(phase){return getReferencedUuid(phase);}).find(function(phaseUuid){return!!phaseUuid&&!!resourceBuildPhases[phaseUuid];});if(resourcesBuildPhaseUuid){return resourceBuildPhases[resourcesBuildPhaseUuid];}var createdResourcesBuildPhaseUuid=project.generateUuid();resourceBuildPhases[createdResourcesBuildPhaseUuid]=createResourcesBuildPhase();resourceBuildPhases[`${createdResourcesBuildPhaseUuid}_comment`]=resourcesBuildPhaseComment;var targetBuildPhases=Array.isArray(frameworkTarget.buildPhases)?frameworkTarget.buildPhases:[];targetBuildPhases.push(createPbxCommentedReference(createdResourcesBuildPhaseUuid,resourcesBuildPhaseComment));frameworkTarget.buildPhases=targetBuildPhases;_logging.Logger.logDebug(`Created missing PBXResourcesBuildPhase for framework target "${frameworkTargetUUID}"`);return resourceBuildPhases[createdResourcesBuildPhaseUuid];}function hasBuildFileForFileRef(project,resourcesBuildPhase,fileRefUuid){var buildFileSection=project.pbxBuildFileSection();var files=Array.isArray(resourcesBuildPhase.files)?resourcesBuildPhase.files:[];return files.some(function(phaseFile){var _buildFileSection$bui;var buildFileUuid=getReferencedUuid(phaseFile);if(!buildFileUuid){return false;}return((_buildFileSection$bui=buildFileSection[buildFileUuid])==null?void 0:_buildFileSection$bui.fileRef)===fileRefUuid;});}function addBuildFileToResourcesPhase(project,resourcesBuildPhase,fileRefUuid,buildFileComment){var buildFileSection=project.pbxBuildFileSection();var buildFileUuid=project.generateUuid();buildFileSection[buildFileUuid]=createBuildFile(fileRefUuid);buildFileSection[`${buildFileUuid}_comment`]=buildFileComment;var files=Array.isArray(resourcesBuildPhase.files)?resourcesBuildPhase.files:[];files.push(createPbxCommentedReference(buildFileUuid,buildFileComment));resourcesBuildPhase.files=files;}function ensureTargetHasFileReferenceInResourcesBuildPhase(project,frameworkTargetUUID,fileRefUuid,_ref1){var resourcesBuildPhaseComment=_ref1.resourcesBuildPhaseComment,buildFileComment=_ref1.buildFileComment;var frameworkTarget=getFrameworkTargetOrThrow(project,frameworkTargetUUID);var resourcesBuildPhase=getOrCreateResourcesBuildPhaseForTarget(project,frameworkTargetUUID,frameworkTarget,resourcesBuildPhaseComment);if(hasBuildFileForFileRef(project,resourcesBuildPhase,fileRefUuid)){return false;}addBuildFileToResourcesPhase(project,resourcesBuildPhase,fileRefUuid,buildFileComment);return true;}function getFrameworkBuildSettings(_ref10,_ref11){var configuration=_ref10.configuration;var bundleIdentifier=_ref11.bundleIdentifier,deploymentTarget=_ref11.deploymentTarget,frameworkName=_ref11.frameworkName,frameworkVersion=_ref11.frameworkVersion,customBuildSettings=_ref11.buildSettings;var isDebug=configuration==='Debug';return Object.assign({BUILD_LIBRARY_FOR_DISTRIBUTION:'YES',USER_SCRIPT_SANDBOXING:'NO',SKIP_INSTALL:'NO',ENABLE_MODULE_VERIFIER:'NO',INSTALL_PATH:'"$(LOCAL_LIBRARY_DIR)/Frameworks"',PRODUCT_BUNDLE_IDENTIFIER:`"${bundleIdentifier}"`,IPHONEOS_DEPLOYMENT_TARGET:deploymentTarget!=null?deploymentTarget:'15.0',DYLIB_INSTALL_NAME_BASE:'"@rpath"',LD_DYLIB_INSTALL_NAME:'"@rpath/$(EXECUTABLE_PATH)"',SWIFT_VERSION:'5.0',TARGETED_DEVICE_FAMILY:`"1,2"`,INFOPLIST_FILE:`${frameworkName}/Info.plist`,CURRENT_PROJECT_VERSION:`"${frameworkVersion}"`,PRODUCT_NAME:'"$(TARGET_NAME)"',SWIFT_OPTIMIZATION_LEVEL:isDebug?'-Onone':'-O'},customBuildSettings);}function rewriteBundleReactNativePhaseScriptForFrameworkTarget(shellScript){var debugBundlingOverride=`# Brownfield framework packaging must embed JS in Debug builds.
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.addFrameworkTarget=addFrameworkTarget;exports.addSourceFilesBuildPhase=addSourceFilesBuildPhase;exports.copyBundleReactNativePhase=copyBundleReactNativePhase;exports.createPbxCommentedReference=createPbxCommentedReference;exports.ensureTargetHasFileReferenceInResourcesBuildPhase=ensureTargetHasFileReferenceInResourcesBuildPhase;exports.getAppTargetDeploymentTarget=getAppTargetDeploymentTarget;exports.getFrameworkBuildSettings=getFrameworkBuildSettings;exports.raiseFrameworkDeploymentTarget=raiseFrameworkDeploymentTarget;exports.resolveFrameworkDeploymentTarget=resolveFrameworkDeploymentTarget;exports.rewriteBundleReactNativePhaseScriptForFrameworkTarget=rewriteBundleReactNativePhaseScriptForFrameworkTarget;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _nodePath=_interopRequireDefault(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _SourceModificationError=require("../errors/SourceModificationError");var _withIosFrameworkFiles=require("./withIosFrameworkFiles");function findFrameworkTargetByQuotedName(project,frameworkName){var nativeTargets=getRawProjectObjects(project).PBXNativeTarget;for(var _ref of Object.entries(nativeTargets!=null?nativeTargets:{})){var _ref2=(0,_slicedToArray2.default)(_ref,2);var key=_ref2[0];var target=_ref2[1];if(key.endsWith('_comment')||(target==null?void 0:target.isa)!=='PBXNativeTarget'){continue;}var name=unquotePbxString(target.name);if(name===frameworkName){return target;}}return null;}function unquotePbxString(value){if(typeof value!=='string'){return undefined;}return value.startsWith('"')&&value.endsWith('"')?value.slice(1,-1):value;}function addFrameworkTarget(project,modRequest,options,brownfieldOptions){var _project$pbxTargetByN;var frameworkName=options.frameworkName,bundleIdentifier=options.bundleIdentifier;var existingTarget=(_project$pbxTargetByN=project.pbxTargetByName(frameworkName))!=null?_project$pbxTargetByN:findFrameworkTargetByQuotedName(project,frameworkName);if(existingTarget){var _Object$entries$find;_logging.Logger.logDebug(`Framework target "${frameworkName}" already exists, skipping creation`);var frameworkTargetUUID=(_Object$entries$find=Object.entries(project.pbxNativeTargetSection()).find(function(_ref3){var _ref4=(0,_slicedToArray2.default)(_ref3,2),_key=_ref4[0],value=_ref4[1];return(value==null?void 0:value.productReference)===existingTarget.productReference;}))==null?void 0:_Object$entries$find[0];if(!frameworkTargetUUID){throw new _SourceModificationError.SourceModificationError(`Failed to find framework target UUID for ${frameworkName}, although it can be resolved by name`);}return{frameworkTargetUUID:frameworkTargetUUID,targetAlreadyExists:true};}_logging.Logger.logDebug(`Adding iOS framework target: ${frameworkName}`);var frameworkTarget=project.addTarget(frameworkName,'framework',frameworkName,bundleIdentifier);if(!frameworkTarget){throw new _SourceModificationError.SourceModificationError(`Failed to create framework target: ${frameworkName}`);}var frameworkBuildConfigurations=project.pbxXCConfigurationList()[frameworkTarget.pbxNativeTarget.buildConfigurationList];var debugFrameworkConfigKey=frameworkBuildConfigurations.buildConfigurations.find(function(_ref5){var comment=_ref5.comment;return comment==='Debug';}).value;var releaseFrameworkConfigKey=frameworkBuildConfigurations.buildConfigurations.find(function(_ref6){var comment=_ref6.comment;return comment==='Release';}).value;var debugSettings=getFrameworkBuildSettings({configuration:'Debug'},options);var releaseSettings=getFrameworkBuildSettings({configuration:'Release'},options);var configs=project.pbxXCBuildConfigurationSection();for(var configName in configs){var sourceBuildSettings=configName===releaseFrameworkConfigKey?releaseSettings:configName===debugFrameworkConfigKey?debugSettings:null;if(sourceBuildSettings){var destinationBuildSettings=configs[configName].buildSettings;for(var key in sourceBuildSettings){destinationBuildSettings[key]=sourceBuildSettings[key];}_logging.Logger.logDebug(`Updated build settings for ${configName} configuration of target ${frameworkName}`);}}Object.entries(debugSettings).forEach(function(_ref7){var _ref8=(0,_slicedToArray2.default)(_ref7,2),key=_ref8[0],value=_ref8[1];project.updateBuildProperty(key,value,'Debug',frameworkName);});Object.entries(releaseSettings).forEach(function(_ref9){var _ref0=(0,_slicedToArray2.default)(_ref9,2),key=_ref0[0],value=_ref0[1];project.updateBuildProperty(key,value,'Release',frameworkName);});var filePaths=(0,_withIosFrameworkFiles.getFrameworkSourceFiles)(options,brownfieldOptions).map(function(file){return file.relativePath;});var groupPath=_nodePath.default.join(modRequest.platformProjectRoot,frameworkName);_logging.Logger.logDebug(`Creating PBX group '${frameworkName}' under path '${groupPath}' with files: ${filePaths.join(', ')}`);var frameworkGroup=project.addPbxGroup(filePaths,frameworkName,groupPath);var mainGroupKey=project.getFirstProject().firstProject.mainGroup;project.addToPbxGroup(frameworkGroup.uuid,mainGroupKey);_logging.Logger.logInfo(`Successfully added framework target: ${frameworkName}`);return{frameworkTargetUUID:frameworkTarget.uuid,targetAlreadyExists:false};}function addSourceFilesBuildPhase(project,frameworkTargetUUID,options,brownfieldOptions){var _rawObjects$PBXSource,_nativeTargets$framew,_nativeTargets$framew2;var filePaths=(0,_withIosFrameworkFiles.getFrameworkSourceFiles)(options,brownfieldOptions).map(function(file){return file.relativePath;});var sourceFiles=filePaths.filter(function(filePath){return!filePath.endsWith('.plist');});var rawObjects=getRawProjectObjects(project);var nativeTargets=rawObjects.PBXNativeTarget;var sourcesPhases=(_rawObjects$PBXSource=rawObjects.PBXSourcesBuildPhase)!=null?_rawObjects$PBXSource:{};var targetBuildPhases=(_nativeTargets$framew=nativeTargets==null||(_nativeTargets$framew2=nativeTargets[frameworkTargetUUID])==null?void 0:_nativeTargets$framew2.buildPhases)!=null?_nativeTargets$framew:[];var alreadyHasSourcePhase=targetBuildPhases.some(function(phase){var phaseUuid=getReferencedUuid(phase);return hasBuildPhaseComment({comment:typeof phase==='string'?undefined:phase.comment},options.frameworkName)||Boolean(phaseUuid&&sourcesPhases[phaseUuid]);});if(alreadyHasSourcePhase){_logging.Logger.logDebug(`Sources build phase "${options.frameworkName}" already present on target ${frameworkTargetUUID}, skipping`);return;}project.addBuildPhase(sourceFiles,'PBXSourcesBuildPhase',options.frameworkName,frameworkTargetUUID,'framework','""');}var PBX_BUILD_ACTION_MASK_ALL=2147483647;var PBX_RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING_DISABLED=0;var PBX_RESOURCES_BUILD_PHASE_ISA='PBXResourcesBuildPhase';var PBX_BUILD_FILE_ISA='PBXBuildFile';function createPbxCommentedReference(value,comment){return{value:value,comment:comment};}function createResourcesBuildPhase(){return{isa:PBX_RESOURCES_BUILD_PHASE_ISA,buildActionMask:PBX_BUILD_ACTION_MASK_ALL,files:[],runOnlyForDeploymentPostprocessing:PBX_RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING_DISABLED};}function createBuildFile(fileRef){return{isa:PBX_BUILD_FILE_ISA,fileRef:fileRef};}function getRawProjectObjects(project){var _hash$project$objects,_hash;return(_hash$project$objects=(_hash=project.hash)==null||(_hash=_hash.project)==null?void 0:_hash.objects)!=null?_hash$project$objects:{};}function getReferencedUuid(reference){var _reference$value;if(!reference){return null;}return typeof reference==='string'?reference:(_reference$value=reference.value)!=null?_reference$value:null;}function getFrameworkTargetOrThrow(project,frameworkTargetUUID){var nativeTargets=getRawProjectObjects(project).PBXNativeTarget;var frameworkTarget=nativeTargets==null?void 0:nativeTargets[frameworkTargetUUID];if(!frameworkTarget){throw new _SourceModificationError.SourceModificationError(`Framework target UUID "${frameworkTargetUUID}" not found while wiring a resources build phase`);}return frameworkTarget;}function getOrCreateResourcesBuildPhaseForTarget(project,frameworkTargetUUID,frameworkTarget,resourcesBuildPhaseComment){var _rawProjectObjects$PB,_frameworkTarget$buil;var rawProjectObjects=getRawProjectObjects(project);var resourceBuildPhases=(_rawProjectObjects$PB=rawProjectObjects.PBXResourcesBuildPhase)!=null?_rawProjectObjects$PB:rawProjectObjects.PBXResourcesBuildPhase={};var resourcesBuildPhaseUuid=((_frameworkTarget$buil=frameworkTarget.buildPhases)!=null?_frameworkTarget$buil:[]).map(function(phase){return getReferencedUuid(phase);}).find(function(phaseUuid){return!!phaseUuid&&!!resourceBuildPhases[phaseUuid];});if(resourcesBuildPhaseUuid){return resourceBuildPhases[resourcesBuildPhaseUuid];}var createdResourcesBuildPhaseUuid=project.generateUuid();resourceBuildPhases[createdResourcesBuildPhaseUuid]=createResourcesBuildPhase();resourceBuildPhases[`${createdResourcesBuildPhaseUuid}_comment`]=resourcesBuildPhaseComment;var targetBuildPhases=Array.isArray(frameworkTarget.buildPhases)?frameworkTarget.buildPhases:[];targetBuildPhases.push(createPbxCommentedReference(createdResourcesBuildPhaseUuid,resourcesBuildPhaseComment));frameworkTarget.buildPhases=targetBuildPhases;_logging.Logger.logDebug(`Created missing PBXResourcesBuildPhase for framework target "${frameworkTargetUUID}"`);return resourceBuildPhases[createdResourcesBuildPhaseUuid];}function hasBuildFileForFileRef(project,resourcesBuildPhase,fileRefUuid){var buildFileSection=project.pbxBuildFileSection();var files=Array.isArray(resourcesBuildPhase.files)?resourcesBuildPhase.files:[];return files.some(function(phaseFile){var _buildFileSection$bui;var buildFileUuid=getReferencedUuid(phaseFile);if(!buildFileUuid){return false;}return((_buildFileSection$bui=buildFileSection[buildFileUuid])==null?void 0:_buildFileSection$bui.fileRef)===fileRefUuid;});}function addBuildFileToResourcesPhase(project,resourcesBuildPhase,fileRefUuid,buildFileComment){var buildFileSection=project.pbxBuildFileSection();var buildFileUuid=project.generateUuid();buildFileSection[buildFileUuid]=createBuildFile(fileRefUuid);buildFileSection[`${buildFileUuid}_comment`]=buildFileComment;var files=Array.isArray(resourcesBuildPhase.files)?resourcesBuildPhase.files:[];files.push(createPbxCommentedReference(buildFileUuid,buildFileComment));resourcesBuildPhase.files=files;}function ensureTargetHasFileReferenceInResourcesBuildPhase(project,frameworkTargetUUID,fileRefUuid,_ref1){var resourcesBuildPhaseComment=_ref1.resourcesBuildPhaseComment,buildFileComment=_ref1.buildFileComment;var frameworkTarget=getFrameworkTargetOrThrow(project,frameworkTargetUUID);var resourcesBuildPhase=getOrCreateResourcesBuildPhaseForTarget(project,frameworkTargetUUID,frameworkTarget,resourcesBuildPhaseComment);if(hasBuildFileForFileRef(project,resourcesBuildPhase,fileRefUuid)){return false;}addBuildFileToResourcesPhase(project,resourcesBuildPhase,fileRefUuid,buildFileComment);return true;}function getFrameworkBuildSettings(_ref10,_ref11){var configuration=_ref10.configuration;var bundleIdentifier=_ref11.bundleIdentifier,deploymentTarget=_ref11.deploymentTarget,frameworkName=_ref11.frameworkName,frameworkVersion=_ref11.frameworkVersion,customBuildSettings=_ref11.buildSettings;var isDebug=configuration==='Debug';return Object.assign({BUILD_LIBRARY_FOR_DISTRIBUTION:'YES',USER_SCRIPT_SANDBOXING:'NO',SKIP_INSTALL:'NO',ENABLE_MODULE_VERIFIER:'NO',INSTALL_PATH:'"$(LOCAL_LIBRARY_DIR)/Frameworks"',PRODUCT_BUNDLE_IDENTIFIER:`"${bundleIdentifier}"`,IPHONEOS_DEPLOYMENT_TARGET:deploymentTarget!=null?deploymentTarget:'15.0',DYLIB_INSTALL_NAME_BASE:'"@rpath"',LD_DYLIB_INSTALL_NAME:'"@rpath/$(EXECUTABLE_PATH)"',SWIFT_VERSION:'5.0',TARGETED_DEVICE_FAMILY:`"1,2"`,INFOPLIST_FILE:`${frameworkName}/Info.plist`,CURRENT_PROJECT_VERSION:`"${frameworkVersion}"`,PRODUCT_NAME:'"$(TARGET_NAME)"',SWIFT_OPTIMIZATION_LEVEL:isDebug?'-Onone':'-O'},customBuildSettings);}function rewriteBundleReactNativePhaseScriptForFrameworkTarget(shellScript){var debugBundlingOverride=`# Brownfield framework packaging must embed JS in Debug builds.
2
2
  if [[ "$CONFIGURATION" = *Debug* ]]; then
3
3
  unset SKIP_BUNDLING
4
4
  export FORCE_BUNDLING=1
5
5
  export EXTRA_PACKAGER_ARGS="$EXTRA_PACKAGER_ARGS --dev false"
6
6
  fi
7
- `;var debugSkipBundlingBlock=/if \[\[ "\$CONFIGURATION" = \*Debug\* \]\]; then\s+export SKIP_BUNDLING=1\s+fi\s*/m;var forceBundlingExport=/^([ \t]*)export FORCE_BUNDLING=1[ \t]*$/m;if(debugSkipBundlingBlock.test(shellScript)){return shellScript.replace(debugSkipBundlingBlock,`${debugBundlingOverride}\n`);}if(shellScript.includes('export FORCE_BUNDLING=1')){if(shellScript.includes('--dev false')){return shellScript;}if(forceBundlingExport.test(shellScript)){return shellScript.replace(forceBundlingExport,function(_,indentation){return`${indentation}export FORCE_BUNDLING=1\n${indentation}export EXTRA_PACKAGER_ARGS="$EXTRA_PACKAGER_ARGS --dev false"`;});}return shellScript;}return`${debugBundlingOverride}\n${shellScript}`;}function decodePbxString(value){if(!value){return'';}if(value.startsWith('"')&&value.endsWith('"')){try{return JSON.parse(value);}catch(_unused){return value.slice(1,-1).replace(/\\"/g,'"');}}return value;}function encodePbxString(value){return JSON.stringify(value);}function hasBuildPhaseComment(phase,expectedComment){return phase.comment===expectedComment||phase.comment===`"${expectedComment}"`;}function copyBundleReactNativePhase(project,targetUuid){var buildPhaseName='Bundle React Native code and images';var shellScriptPhases=project.hash.project.objects.PBXShellScriptBuildPhase;if(!shellScriptPhases){throw new _SourceModificationError.SourceModificationError(`No shell script build phases found, skipping ${buildPhaseName}`);}var existingPhaseUuid=null;var existingPhase=null;for(var key of Object.keys(shellScriptPhases)){if(key.endsWith('_comment'))continue;var phase=shellScriptPhases[key];if(phase.name===`"${buildPhaseName}"`||phase.name===buildPhaseName){existingPhaseUuid=key;existingPhase=phase;break;}}if(!existingPhaseUuid||!existingPhase){throw new _SourceModificationError.SourceModificationError(`Could not find "${buildPhaseName}" build phase, skipping`);}var nativeTargets=project.hash.project.objects.PBXNativeTarget;if(nativeTargets&&nativeTargets[targetUuid]){var target=nativeTargets[targetUuid];if(target.buildPhases){var _existingPhase$inputP2,_existingPhase$output2;var targetPhaseIndex=target.buildPhases.findIndex(function(phase){return hasBuildPhaseComment(phase,buildPhaseName);});var frameworkShellPath=decodePbxString(existingPhase.shellPath)||'/bin/sh';var frameworkShellScript=rewriteBundleReactNativePhaseScriptForFrameworkTarget(decodePbxString(existingPhase.shellScript));if(targetPhaseIndex!==-1){var currentPhaseUuid=target.buildPhases[targetPhaseIndex].value;var currentPhase=shellScriptPhases[currentPhaseUuid];if(currentPhase&&currentPhaseUuid!==existingPhaseUuid){var _existingPhase$inputP,_existingPhase$output;currentPhase.inputPaths=(_existingPhase$inputP=existingPhase.inputPaths)!=null?_existingPhase$inputP:[];currentPhase.outputPaths=(_existingPhase$output=existingPhase.outputPaths)!=null?_existingPhase$output:[];currentPhase.shellPath=encodePbxString(frameworkShellPath);currentPhase.shellScript=encodePbxString(frameworkShellScript);if(existingPhase.showEnvVarsInLog!==undefined){currentPhase.showEnvVarsInLog=existingPhase.showEnvVarsInLog;}_logging.Logger.logDebug(`Updated framework-specific "${buildPhaseName}" build phase on target ${target.name}`);return;}if(currentPhaseUuid===existingPhaseUuid){target.buildPhases.splice(targetPhaseIndex,1);}else{return;}}var addedPhase=project.addBuildPhase([],'PBXShellScriptBuildPhase',buildPhaseName,targetUuid,{inputPaths:(_existingPhase$inputP2=existingPhase.inputPaths)!=null?_existingPhase$inputP2:[],outputPaths:(_existingPhase$output2=existingPhase.outputPaths)!=null?_existingPhase$output2:[],shellPath:frameworkShellPath,shellScript:frameworkShellScript});addedPhase.buildPhase.shellPath=encodePbxString(frameworkShellPath);addedPhase.buildPhase.shellScript=encodePbxString(frameworkShellScript);if(existingPhase.showEnvVarsInLog!==undefined){addedPhase.buildPhase.showEnvVarsInLog=existingPhase.showEnvVarsInLog;}_logging.Logger.logDebug(`Added framework-specific "${buildPhaseName}" build phase to target ${target.name}`);}}}function resolveAppTargetName(project,modRequest){var appTargets=_configPlugins.IOSConfig.Target.getNativeTargets(project).map(function(_ref12){var _target$name;var _ref13=(0,_slicedToArray2.default)(_ref12,2),target=_ref13[1];if(!_configPlugins.IOSConfig.Target.isTargetOfType(target,_configPlugins.IOSConfig.Target.TargetType.APPLICATION)){return null;}var name=_configPlugins.IOSConfig.XcodeUtils.unquote((_target$name=target.name)!=null?_target$name:'').trim();return name!=null?name:null;}).filter(function(name){return!!name;});if(appTargets.length===1){return appTargets[0];}else{_logging.Logger.logWarning('Multiple application targets found in the Xcode project. Falling back to the CNG-derived name from mod compiler.');}var cngDerivedProjectName=modRequest.projectName;if(cngDerivedProjectName&&appTargets.includes(cngDerivedProjectName)){return cngDerivedProjectName;}else{_logging.Logger.logWarning('CNG-derived name from mod compiler is not set or is not an application target. Falling back to the unfiltered-type target name.');}try{var _firstAppTarget$name;var _IOSConfig$Target$fin=_configPlugins.IOSConfig.Target.findFirstNativeTarget(project),_IOSConfig$Target$fin2=(0,_slicedToArray2.default)(_IOSConfig$Target$fin,2),firstAppTarget=_IOSConfig$Target$fin2[1];var name=_configPlugins.IOSConfig.XcodeUtils.unquote((_firstAppTarget$name=firstAppTarget.name)!=null?_firstAppTarget$name:'').trim();return name||null;}catch(_unused2){_logging.Logger.logWarning('No first native target of any type found in the Xcode project. This was the last resort fallback.');}_logging.Logger.logError(`Could not determine the iOS app target name from the Xcode project. Please adjust your Xcode project to have exactly one application target.`);return null;}function normalizeXcodeBuildSettingValue(value){if(value==null){return null;}var normalized=_configPlugins.IOSConfig.XcodeUtils.unquote(String(value)).trim();return normalized.length>0?normalized:null;}function getAppTargetDeploymentTarget(project,appTargetName){var _normalizeXcodeBuildS;if(!appTargetName){return null;}return(_normalizeXcodeBuildS=normalizeXcodeBuildSettingValue(project.getBuildProperty('IPHONEOS_DEPLOYMENT_TARGET','Release',appTargetName)))!=null?_normalizeXcodeBuildS:normalizeXcodeBuildSettingValue(project.getBuildProperty('IPHONEOS_DEPLOYMENT_TARGET','Debug',appTargetName));}function resolveFrameworkDeploymentTarget(project,modRequest,_ref14){var fallbackDeploymentTarget=_ref14.fallbackDeploymentTarget;if(fallbackDeploymentTarget!=null){return fallbackDeploymentTarget;}var appTargetName=resolveAppTargetName(project,modRequest);var appTargetDeploymentTarget=getAppTargetDeploymentTarget(project,appTargetName);return appTargetDeploymentTarget!=null?appTargetDeploymentTarget:'15.0';}
7
+ `;var debugSkipBundlingBlock=/if \[\[ "\$CONFIGURATION" = \*Debug\* \]\]; then\s+export SKIP_BUNDLING=1\s+fi\s*/m;var forceBundlingExport=/^([ \t]*)export FORCE_BUNDLING=1[ \t]*$/m;if(debugSkipBundlingBlock.test(shellScript)){return shellScript.replace(debugSkipBundlingBlock,`${debugBundlingOverride}\n`);}if(shellScript.includes('export FORCE_BUNDLING=1')){if(shellScript.includes('--dev false')){return shellScript;}if(forceBundlingExport.test(shellScript)){return shellScript.replace(forceBundlingExport,function(_,indentation){return`${indentation}export FORCE_BUNDLING=1\n${indentation}export EXTRA_PACKAGER_ARGS="$EXTRA_PACKAGER_ARGS --dev false"`;});}return shellScript;}return`${debugBundlingOverride}\n${shellScript}`;}function decodePbxString(value){if(!value){return'';}if(value.startsWith('"')&&value.endsWith('"')){try{return JSON.parse(value);}catch(_unused){return value.slice(1,-1).replace(/\\"/g,'"');}}return value;}function encodePbxString(value){return JSON.stringify(value);}function hasBuildPhaseComment(phase,expectedComment){return phase.comment===expectedComment||phase.comment===`"${expectedComment}"`;}function copyBundleReactNativePhase(project,targetUuid){var buildPhaseName='Bundle React Native code and images';var shellScriptPhases=project.hash.project.objects.PBXShellScriptBuildPhase;if(!shellScriptPhases){throw new _SourceModificationError.SourceModificationError(`No shell script build phases found, skipping ${buildPhaseName}`);}var existingPhaseUuid=null;var existingPhase=null;for(var key of Object.keys(shellScriptPhases)){if(key.endsWith('_comment'))continue;var phase=shellScriptPhases[key];if(phase.name===`"${buildPhaseName}"`||phase.name===buildPhaseName){existingPhaseUuid=key;existingPhase=phase;break;}}if(!existingPhaseUuid||!existingPhase){throw new _SourceModificationError.SourceModificationError(`Could not find "${buildPhaseName}" build phase, skipping`);}var nativeTargets=project.hash.project.objects.PBXNativeTarget;if(nativeTargets&&nativeTargets[targetUuid]){var target=nativeTargets[targetUuid];if(target.buildPhases){var _existingPhase$inputP2,_existingPhase$output2;var targetPhaseIndex=target.buildPhases.findIndex(function(phase){return hasBuildPhaseComment(phase,buildPhaseName);});var frameworkShellPath=decodePbxString(existingPhase.shellPath)||'/bin/sh';var frameworkShellScript=rewriteBundleReactNativePhaseScriptForFrameworkTarget(decodePbxString(existingPhase.shellScript));if(targetPhaseIndex!==-1){var currentPhaseUuid=target.buildPhases[targetPhaseIndex].value;var currentPhase=shellScriptPhases[currentPhaseUuid];if(currentPhase&&currentPhaseUuid!==existingPhaseUuid){var _existingPhase$inputP,_existingPhase$output;currentPhase.inputPaths=(_existingPhase$inputP=existingPhase.inputPaths)!=null?_existingPhase$inputP:[];currentPhase.outputPaths=(_existingPhase$output=existingPhase.outputPaths)!=null?_existingPhase$output:[];currentPhase.shellPath=encodePbxString(frameworkShellPath);currentPhase.shellScript=encodePbxString(frameworkShellScript);if(existingPhase.showEnvVarsInLog!==undefined){currentPhase.showEnvVarsInLog=existingPhase.showEnvVarsInLog;}_logging.Logger.logDebug(`Updated framework-specific "${buildPhaseName}" build phase on target ${target.name}`);return;}if(currentPhaseUuid===existingPhaseUuid){target.buildPhases.splice(targetPhaseIndex,1);}else{return;}}var addedPhase=project.addBuildPhase([],'PBXShellScriptBuildPhase',buildPhaseName,targetUuid,{inputPaths:(_existingPhase$inputP2=existingPhase.inputPaths)!=null?_existingPhase$inputP2:[],outputPaths:(_existingPhase$output2=existingPhase.outputPaths)!=null?_existingPhase$output2:[],shellPath:frameworkShellPath,shellScript:frameworkShellScript});addedPhase.buildPhase.shellPath=encodePbxString(frameworkShellPath);addedPhase.buildPhase.shellScript=encodePbxString(frameworkShellScript);if(existingPhase.showEnvVarsInLog!==undefined){addedPhase.buildPhase.showEnvVarsInLog=existingPhase.showEnvVarsInLog;}_logging.Logger.logDebug(`Added framework-specific "${buildPhaseName}" build phase to target ${target.name}`);}}}function resolveAppTargetName(project,modRequest){var appTargets=_configPlugins.IOSConfig.Target.getNativeTargets(project).map(function(_ref12){var _target$name;var _ref13=(0,_slicedToArray2.default)(_ref12,2),target=_ref13[1];if(!_configPlugins.IOSConfig.Target.isTargetOfType(target,_configPlugins.IOSConfig.Target.TargetType.APPLICATION)){return null;}var name=_configPlugins.IOSConfig.XcodeUtils.unquote((_target$name=target.name)!=null?_target$name:'').trim();return name!=null?name:null;}).filter(function(name){return!!name;});if(appTargets.length===1){return appTargets[0];}else{_logging.Logger.logWarning('Multiple application targets found in the Xcode project. Falling back to the CNG-derived name from mod compiler.');}var cngDerivedProjectName=modRequest.projectName;if(cngDerivedProjectName&&appTargets.includes(cngDerivedProjectName)){return cngDerivedProjectName;}else{_logging.Logger.logWarning('CNG-derived name from mod compiler is not set or is not an application target. Falling back to the unfiltered-type target name.');}try{var _firstAppTarget$name;var _IOSConfig$Target$fin=_configPlugins.IOSConfig.Target.findFirstNativeTarget(project),_IOSConfig$Target$fin2=(0,_slicedToArray2.default)(_IOSConfig$Target$fin,2),firstAppTarget=_IOSConfig$Target$fin2[1];var name=_configPlugins.IOSConfig.XcodeUtils.unquote((_firstAppTarget$name=firstAppTarget.name)!=null?_firstAppTarget$name:'').trim();return name||null;}catch(_unused2){_logging.Logger.logWarning('No first native target of any type found in the Xcode project. This was the last resort fallback.');}_logging.Logger.logError(`Could not determine the iOS app target name from the Xcode project. Please adjust your Xcode project to have exactly one application target.`);return null;}function normalizeXcodeBuildSettingValue(value){if(value==null){return null;}var normalized=_configPlugins.IOSConfig.XcodeUtils.unquote(String(value)).trim();return normalized.length>0?normalized:null;}function getAppTargetDeploymentTarget(project,appTargetName){var _normalizeXcodeBuildS;if(!appTargetName){return null;}return(_normalizeXcodeBuildS=normalizeXcodeBuildSettingValue(project.getBuildProperty('IPHONEOS_DEPLOYMENT_TARGET','Release',appTargetName)))!=null?_normalizeXcodeBuildS:normalizeXcodeBuildSettingValue(project.getBuildProperty('IPHONEOS_DEPLOYMENT_TARGET','Debug',appTargetName));}function resolveFrameworkDeploymentTarget(project,modRequest,_ref14){var fallbackDeploymentTarget=_ref14.fallbackDeploymentTarget;if(fallbackDeploymentTarget!=null){return fallbackDeploymentTarget;}var appTargetName=resolveAppTargetName(project,modRequest);var appTargetDeploymentTarget=getAppTargetDeploymentTarget(project,appTargetName);return appTargetDeploymentTarget!=null?appTargetDeploymentTarget:'15.0';}function isVersionLower(version,minimum){var a=version.split('.').map(Number);var b=minimum.split('.').map(Number);for(var i=0;i<Math.max(a.length,b.length);i++){var _a$i,_b$i;var diff=((_a$i=a[i])!=null?_a$i:0)-((_b$i=b[i])!=null?_b$i:0);if(diff!==0){return diff<0;}}return false;}function raiseFrameworkDeploymentTarget(project,frameworkTargetUUID,minimum){var _rawObjects$PBXNative,_rawObjects$XCConfigu,_rawObjects$XCBuildCo;var rawObjects=getRawProjectObjects(project);var target=(_rawObjects$PBXNative=rawObjects.PBXNativeTarget)==null?void 0:_rawObjects$PBXNative[frameworkTargetUUID];var configList=target!=null&&target.buildConfigurationList?(_rawObjects$XCConfigu=rawObjects.XCConfigurationList)==null?void 0:_rawObjects$XCConfigu[target.buildConfigurationList]:undefined;var configs=(_rawObjects$XCBuildCo=rawObjects.XCBuildConfiguration)!=null?_rawObjects$XCBuildCo:{};var changed=false;for(var ref of(_configList$buildConf=configList==null?void 0:configList.buildConfigurations)!=null?_configList$buildConf:[]){var _configList$buildConf,_configs$uuid;var uuid=getReferencedUuid(ref);var buildSettings=uuid?(_configs$uuid=configs[uuid])==null?void 0:_configs$uuid.buildSettings:undefined;if(!buildSettings){continue;}var current=normalizeXcodeBuildSettingValue(buildSettings.IPHONEOS_DEPLOYMENT_TARGET);if(!current||isVersionLower(current,minimum)){buildSettings.IPHONEOS_DEPLOYMENT_TARGET=minimum;changed=true;}}return changed;}
8
8
  //# sourceMappingURL=xcodeHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_nodePath","_interopRequireDefault","require","_configPlugins","_logging","_SourceModificationError","_withIosFrameworkFiles","findFrameworkTargetByQuotedName","project","frameworkName","nativeTargets","getRawProjectObjects","PBXNativeTarget","_ref","Object","entries","_ref2","_slicedToArray2","default","key","target","endsWith","isa","name","unquotePbxString","value","undefined","startsWith","slice","addFrameworkTarget","modRequest","options","brownfieldOptions","_project$pbxTargetByN","bundleIdentifier","existingTarget","pbxTargetByName","_Object$entries$find","Logger","logDebug","frameworkTargetUUID","pbxNativeTargetSection","find","_ref3","_ref4","_key","productReference","SourceModificationError","targetAlreadyExists","frameworkTarget","addTarget","frameworkBuildConfigurations","pbxXCConfigurationList","pbxNativeTarget","buildConfigurationList","debugFrameworkConfigKey","buildConfigurations","_ref5","comment","releaseFrameworkConfigKey","_ref6","debugSettings","getFrameworkBuildSettings","configuration","releaseSettings","configs","pbxXCBuildConfigurationSection","configName","sourceBuildSettings","destinationBuildSettings","buildSettings","forEach","_ref7","_ref8","updateBuildProperty","_ref9","_ref0","filePaths","getFrameworkSourceFiles","map","file","relativePath","groupPath","path","join","platformProjectRoot","frameworkGroup","addPbxGroup","mainGroupKey","getFirstProject","firstProject","mainGroup","addToPbxGroup","uuid","logInfo","addSourceFilesBuildPhase","_nativeTargets$framew","_nativeTargets$framew2","sourceFiles","filter","filePath","targetBuildPhases","buildPhases","alreadyHasSourcePhase","some","phase","hasBuildPhaseComment","addBuildPhase","PBX_BUILD_ACTION_MASK_ALL","PBX_RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING_DISABLED","PBX_RESOURCES_BUILD_PHASE_ISA","PBX_BUILD_FILE_ISA","createPbxCommentedReference","createResourcesBuildPhase","buildActionMask","files","runOnlyForDeploymentPostprocessing","createBuildFile","fileRef","_hash$project$objects","_hash","hash","objects","getReferencedUuid","reference","_reference$value","getFrameworkTargetOrThrow","getOrCreateResourcesBuildPhaseForTarget","resourcesBuildPhaseComment","_rawProjectObjects$PB","_frameworkTarget$buil","rawProjectObjects","resourceBuildPhases","PBXResourcesBuildPhase","resourcesBuildPhaseUuid","phaseUuid","createdResourcesBuildPhaseUuid","generateUuid","Array","isArray","push","hasBuildFileForFileRef","resourcesBuildPhase","fileRefUuid","buildFileSection","pbxBuildFileSection","phaseFile","_buildFileSection$bui","buildFileUuid","addBuildFileToResourcesPhase","buildFileComment","ensureTargetHasFileReferenceInResourcesBuildPhase","_ref1","_ref10","_ref11","deploymentTarget","frameworkVersion","customBuildSettings","isDebug","assign","BUILD_LIBRARY_FOR_DISTRIBUTION","USER_SCRIPT_SANDBOXING","SKIP_INSTALL","ENABLE_MODULE_VERIFIER","INSTALL_PATH","PRODUCT_BUNDLE_IDENTIFIER","IPHONEOS_DEPLOYMENT_TARGET","DYLIB_INSTALL_NAME_BASE","LD_DYLIB_INSTALL_NAME","SWIFT_VERSION","TARGETED_DEVICE_FAMILY","INFOPLIST_FILE","CURRENT_PROJECT_VERSION","PRODUCT_NAME","SWIFT_OPTIMIZATION_LEVEL","rewriteBundleReactNativePhaseScriptForFrameworkTarget","shellScript","debugBundlingOverride","debugSkipBundlingBlock","forceBundlingExport","test","replace","includes","_","indentation","decodePbxString","JSON","parse","_unused","encodePbxString","stringify","expectedComment","copyBundleReactNativePhase","targetUuid","buildPhaseName","shellScriptPhases","PBXShellScriptBuildPhase","existingPhaseUuid","existingPhase","keys","_existingPhase$inputP2","_existingPhase$output2","targetPhaseIndex","findIndex","frameworkShellPath","shellPath","frameworkShellScript","currentPhaseUuid","currentPhase","_existingPhase$inputP","_existingPhase$output","inputPaths","outputPaths","showEnvVarsInLog","splice","addedPhase","buildPhase","resolveAppTargetName","appTargets","IOSConfig","Target","getNativeTargets","_ref12","_target$name","_ref13","isTargetOfType","TargetType","APPLICATION","XcodeUtils","unquote","trim","length","logWarning","cngDerivedProjectName","projectName","_firstAppTarget$name","_IOSConfig$Target$fin","findFirstNativeTarget","_IOSConfig$Target$fin2","firstAppTarget","_unused2","logError","normalizeXcodeBuildSettingValue","normalized","String","getAppTargetDeploymentTarget","appTargetName","_normalizeXcodeBuildS","getBuildProperty","resolveFrameworkDeploymentTarget","_ref14","fallbackDeploymentTarget","appTargetDeploymentTarget"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/ios/xcodeHelpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_nodePath","_interopRequireDefault","require","_configPlugins","_logging","_SourceModificationError","_withIosFrameworkFiles","findFrameworkTargetByQuotedName","project","frameworkName","nativeTargets","getRawProjectObjects","PBXNativeTarget","_ref","Object","entries","_ref2","_slicedToArray2","default","key","target","endsWith","isa","name","unquotePbxString","value","undefined","startsWith","slice","addFrameworkTarget","modRequest","options","brownfieldOptions","_project$pbxTargetByN","bundleIdentifier","existingTarget","pbxTargetByName","_Object$entries$find","Logger","logDebug","frameworkTargetUUID","pbxNativeTargetSection","find","_ref3","_ref4","_key","productReference","SourceModificationError","targetAlreadyExists","frameworkTarget","addTarget","frameworkBuildConfigurations","pbxXCConfigurationList","pbxNativeTarget","buildConfigurationList","debugFrameworkConfigKey","buildConfigurations","_ref5","comment","releaseFrameworkConfigKey","_ref6","debugSettings","getFrameworkBuildSettings","configuration","releaseSettings","configs","pbxXCBuildConfigurationSection","configName","sourceBuildSettings","destinationBuildSettings","buildSettings","forEach","_ref7","_ref8","updateBuildProperty","_ref9","_ref0","filePaths","getFrameworkSourceFiles","map","file","relativePath","groupPath","path","join","platformProjectRoot","frameworkGroup","addPbxGroup","mainGroupKey","getFirstProject","firstProject","mainGroup","addToPbxGroup","uuid","logInfo","addSourceFilesBuildPhase","_rawObjects$PBXSource","_nativeTargets$framew","_nativeTargets$framew2","sourceFiles","filter","filePath","rawObjects","sourcesPhases","PBXSourcesBuildPhase","targetBuildPhases","buildPhases","alreadyHasSourcePhase","some","phase","phaseUuid","getReferencedUuid","hasBuildPhaseComment","Boolean","addBuildPhase","PBX_BUILD_ACTION_MASK_ALL","PBX_RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING_DISABLED","PBX_RESOURCES_BUILD_PHASE_ISA","PBX_BUILD_FILE_ISA","createPbxCommentedReference","createResourcesBuildPhase","buildActionMask","files","runOnlyForDeploymentPostprocessing","createBuildFile","fileRef","_hash$project$objects","_hash","hash","objects","reference","_reference$value","getFrameworkTargetOrThrow","getOrCreateResourcesBuildPhaseForTarget","resourcesBuildPhaseComment","_rawProjectObjects$PB","_frameworkTarget$buil","rawProjectObjects","resourceBuildPhases","PBXResourcesBuildPhase","resourcesBuildPhaseUuid","createdResourcesBuildPhaseUuid","generateUuid","Array","isArray","push","hasBuildFileForFileRef","resourcesBuildPhase","fileRefUuid","buildFileSection","pbxBuildFileSection","phaseFile","_buildFileSection$bui","buildFileUuid","addBuildFileToResourcesPhase","buildFileComment","ensureTargetHasFileReferenceInResourcesBuildPhase","_ref1","_ref10","_ref11","deploymentTarget","frameworkVersion","customBuildSettings","isDebug","assign","BUILD_LIBRARY_FOR_DISTRIBUTION","USER_SCRIPT_SANDBOXING","SKIP_INSTALL","ENABLE_MODULE_VERIFIER","INSTALL_PATH","PRODUCT_BUNDLE_IDENTIFIER","IPHONEOS_DEPLOYMENT_TARGET","DYLIB_INSTALL_NAME_BASE","LD_DYLIB_INSTALL_NAME","SWIFT_VERSION","TARGETED_DEVICE_FAMILY","INFOPLIST_FILE","CURRENT_PROJECT_VERSION","PRODUCT_NAME","SWIFT_OPTIMIZATION_LEVEL","rewriteBundleReactNativePhaseScriptForFrameworkTarget","shellScript","debugBundlingOverride","debugSkipBundlingBlock","forceBundlingExport","test","replace","includes","_","indentation","decodePbxString","JSON","parse","_unused","encodePbxString","stringify","expectedComment","copyBundleReactNativePhase","targetUuid","buildPhaseName","shellScriptPhases","PBXShellScriptBuildPhase","existingPhaseUuid","existingPhase","keys","_existingPhase$inputP2","_existingPhase$output2","targetPhaseIndex","findIndex","frameworkShellPath","shellPath","frameworkShellScript","currentPhaseUuid","currentPhase","_existingPhase$inputP","_existingPhase$output","inputPaths","outputPaths","showEnvVarsInLog","splice","addedPhase","buildPhase","resolveAppTargetName","appTargets","IOSConfig","Target","getNativeTargets","_ref12","_target$name","_ref13","isTargetOfType","TargetType","APPLICATION","XcodeUtils","unquote","trim","length","logWarning","cngDerivedProjectName","projectName","_firstAppTarget$name","_IOSConfig$Target$fin","findFirstNativeTarget","_IOSConfig$Target$fin2","firstAppTarget","_unused2","logError","normalizeXcodeBuildSettingValue","normalized","String","getAppTargetDeploymentTarget","appTargetName","_normalizeXcodeBuildS","getBuildProperty","resolveFrameworkDeploymentTarget","_ref14","fallbackDeploymentTarget","appTargetDeploymentTarget","isVersionLower","version","minimum","a","split","Number","b","i","Math","max","_a$i","_b$i","diff","raiseFrameworkDeploymentTarget","_rawObjects$PBXNative","_rawObjects$XCConfigu","_rawObjects$XCBuildCo","configList","XCConfigurationList","XCBuildConfiguration","changed","ref","_configList$buildConf","_configs$uuid","current"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/ios/xcodeHelpers.ts"],"mappings":"47BAAA,IAAAA,SAAA,CAAAC,sBAAA,CAAAC,OAAA,eAEA,IAAAC,cAAA,CAAAD,OAAA,yBAMA,IAAAE,QAAA,CAAAF,OAAA,eAEA,IAAAG,wBAAA,CAAAH,OAAA,sCACA,IAAAI,sBAAA,CAAAJ,OAAA,4BASA,QAAS,CAAAK,+BAA+BA,CACtCC,OAAqB,CACrBC,aAAqB,CACwB,CAC7C,GAAM,CAAAC,aAAa,CAAGC,oBAAoB,CAACH,OAAO,CAAC,CAACI,eAEvC,CAEb,QAAAC,IAAA,GAA4B,CAAAC,MAAM,CAACC,OAAO,CAACL,aAAa,OAAbA,aAAa,CAAI,CAAC,CAAC,CAAC,CAAE,KAAAM,KAAA,IAAAC,eAAA,CAAAC,OAAA,EAAAL,IAAA,OAArD,CAAAM,GAAG,CAAAH,KAAA,OAAE,CAAAI,MAAM,CAAAJ,KAAA,IACrB,GAAIG,GAAG,CAACE,QAAQ,CAAC,UAAU,CAAC,EAAI,CAAAD,MAAM,cAANA,MAAM,CAAEE,GAAG,IAAK,iBAAiB,CAAE,CACjE,SACF,CACA,GAAM,CAAAC,IAAI,CAAGC,gBAAgB,CAACJ,MAAM,CAACG,IAAI,CAAC,CAC1C,GAAIA,IAAI,GAAKd,aAAa,CAAE,CAC1B,MAAO,CAAAW,MAAM,CACf,CACF,CAEA,MAAO,KAAI,CACb,CAEA,QAAS,CAAAI,gBAAgBA,CAACC,KAAyB,CAAsB,CACvE,GAAI,MAAO,CAAAA,KAAK,GAAK,QAAQ,CAAE,CAC7B,MAAO,CAAAC,SAAS,CAClB,CACA,MAAO,CAAAD,KAAK,CAACE,UAAU,CAAC,GAAG,CAAC,EAAIF,KAAK,CAACJ,QAAQ,CAAC,GAAG,CAAC,CAC/CI,KAAK,CAACG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAClBH,KAAK,CACX,CAQO,QAAS,CAAAI,kBAAkBA,CAChCrB,OAAqB,CACrBsB,UAAkC,CAClCC,OAA0C,CAC1CC,iBAEC,CAID,KAAAC,qBAAA,CACA,GAAQ,CAAAxB,aAAa,CAAuBsB,OAAO,CAA3CtB,aAAa,CAAEyB,gBAAgB,CAAKH,OAAO,CAA5BG,gBAAgB,CAGvC,GAAM,CAAAC,cAAc,EAAAF,qBAAA,CAClBzB,OAAO,CAAC4B,eAAe,CAAC3B,aAAa,CAAC,QAAAwB,qBAAA,CACtC1B,+BAA+B,CAACC,OAAO,CAAEC,aAAa,CAAC,CACzD,GAAI0B,cAAc,CAAE,KAAAE,oBAAA,CAClBC,eAAM,CAACC,QAAQ,CACb,qBAAqB9B,aAAa,qCACpC,CAAC,CAED,GAAM,CAAA+B,mBAAmB,EAAAH,oBAAA,CAAGvB,MAAM,CAACC,OAAO,CACxCP,OAAO,CAACiC,sBAAsB,CAAC,CACjC,CAAC,CAACC,IAAI,CACJ,SAAAC,KAAA,MAAAC,KAAA,IAAA3B,eAAA,CAAAC,OAAA,EAAAyB,KAAA,IAAEE,IAAI,CAAAD,KAAA,IAAEnB,KAAK,CAAAmB,KAAA,UACX,CAACnB,KAAK,cAALA,KAAK,CAAUqB,gBAAgB,IAAKX,cAAc,CAACW,gBAAgB,EACxE,CAAC,eAL2BT,oBAAA,CAKxB,CAAC,CAAC,CAEN,GAAI,CAACG,mBAAmB,CAAE,CACxB,KAAM,IAAI,CAAAO,gDAAuB,CAC/B,4CAA4CtC,aAAa,uCAC3D,CAAC,CACH,CAEA,MAAO,CACL+B,mBAAmB,CAAnBA,mBAAmB,CACnBQ,mBAAmB,CAAE,IACvB,CAAC,CACH,CAEAV,eAAM,CAACC,QAAQ,CAAC,gCAAgC9B,aAAa,EAAE,CAAC,CAGhE,GAAM,CAAAwC,eAAe,CAAGzC,OAAO,CAAC0C,SAAS,CACvCzC,aAAa,CACb,WAAW,CACXA,aAAa,CACbyB,gBACF,CAAC,CAED,GAAI,CAACe,eAAe,CAAE,CACpB,KAAM,IAAI,CAAAF,gDAAuB,CAC/B,sCAAsCtC,aAAa,EACrD,CAAC,CACH,CAIA,GAAM,CAAA0C,4BAA4B,CAChC3C,OAAO,CAAC4C,sBAAsB,CAAC,CAAC,CAC9BH,eAAe,CAACI,eAAe,CAACC,sBAAsB,CACvD,CACH,GAAM,CAAAC,uBAA+B,CACnCJ,4BAA4B,CAACK,mBAAmB,CAACd,IAAI,CACnD,SAAAe,KAAA,KAAG,CAAAC,OAAO,CAAAD,KAAA,CAAPC,OAAO,OAA4B,CAAAA,OAAO,GAAK,OAAO,EAC3D,CAAC,CAACjC,KAAK,CACT,GAAM,CAAAkC,yBAAiC,CACrCR,4BAA4B,CAACK,mBAAmB,CAACd,IAAI,CACnD,SAAAkB,KAAA,KAAG,CAAAF,OAAO,CAAAE,KAAA,CAAPF,OAAO,OAA4B,CAAAA,OAAO,GAAK,SAAS,EAC7D,CAAC,CAACjC,KAAK,CAGT,GAAM,CAAAoC,aAAa,CAAGC,yBAAyB,CAC7C,CACEC,aAAa,CAAE,OACjB,CAAC,CACDhC,OACF,CAAC,CACD,GAAM,CAAAiC,eAAe,CAAGF,yBAAyB,CAC/C,CACEC,aAAa,CAAE,SACjB,CAAC,CACDhC,OACF,CAAC,CAED,GAAI,CAAAkC,OAAO,CAAGzD,OAAO,CAAC0D,8BAA8B,CAAC,CAAC,CAGtD,IAAK,GAAM,CAAAC,UAAU,GAAI,CAAAF,OAAO,CAAE,CAChC,GAAI,CAAAG,mBAAmB,CACrBD,UAAU,GAAKR,yBAAyB,CACpCK,eAAe,CACfG,UAAU,GAAKZ,uBAAuB,CACpCM,aAAa,CACb,IAAI,CAGZ,GAAIO,mBAAmB,CAAE,CACvB,GAAM,CAAAC,wBAAwB,CAAGJ,OAAO,CAACE,UAAU,CAAC,CAACG,aAAa,CAClE,IAAK,GAAM,CAAAnD,GAAG,GAAI,CAAAiD,mBAAmB,CAAE,CACrCC,wBAAwB,CAAClD,GAAG,CAAC,CAAGiD,mBAAmB,CAACjD,GAAG,CAAC,CAC1D,CAEAmB,eAAM,CAACC,QAAQ,CACb,8BAA8B4B,UAAU,4BAA4B1D,aAAa,EACnF,CAAC,CACH,CACF,CAGAK,MAAM,CAACC,OAAO,CAAC8C,aAAa,CAAC,CAACU,OAAO,CAAC,SAAAC,KAAA,CAAkB,KAAAC,KAAA,IAAAxD,eAAA,CAAAC,OAAA,EAAAsD,KAAA,IAAhBrD,GAAG,CAAAsD,KAAA,IAAEhD,KAAK,CAAAgD,KAAA,IAChDjE,OAAO,CAACkE,mBAAmB,CAACvD,GAAG,CAAEM,KAAK,CAAE,OAAO,CAAEhB,aAAa,CAAC,CACjE,CAAC,CAAC,CACFK,MAAM,CAACC,OAAO,CAACiD,eAAe,CAAC,CAACO,OAAO,CAAC,SAAAI,KAAA,CAAkB,KAAAC,KAAA,IAAA3D,eAAA,CAAAC,OAAA,EAAAyD,KAAA,IAAhBxD,GAAG,CAAAyD,KAAA,IAAEnD,KAAK,CAAAmD,KAAA,IAClDpE,OAAO,CAACkE,mBAAmB,CAACvD,GAAG,CAAEM,KAAK,CAAE,SAAS,CAAEhB,aAAa,CAAC,CACnE,CAAC,CAAC,CAGF,GAAM,CAAAoE,SAAS,CAAG,GAAAC,8CAAuB,EAAC/C,OAAO,CAAEC,iBAAiB,CAAC,CAAC+C,GAAG,CACvE,SAACC,IAAI,QAAK,CAAAA,IAAI,CAACC,YAAY,EAC7B,CAAC,CACD,GAAM,CAAAC,SAAS,CAAGC,iBAAI,CAACC,IAAI,CAACtD,UAAU,CAACuD,mBAAmB,CAAE5E,aAAa,CAAC,CAE1E6B,eAAM,CAACC,QAAQ,CACb,uBAAuB9B,aAAa,iBAAiByE,SAAS,iBAAiBL,SAAS,CAACO,IAAI,CAAC,IAAI,CAAC,EACrG,CAAC,CAED,GAAM,CAAAE,cAAc,CAAG9E,OAAO,CAAC+E,WAAW,CACxCV,SAAS,CACTpE,aAAa,CACbyE,SACF,CAAC,CAGD,GAAM,CAAAM,YAAY,CAAGhF,OAAO,CAACiF,eAAe,CAAC,CAAC,CAACC,YAAY,CAACC,SAAS,CACrEnF,OAAO,CAACoF,aAAa,CAACN,cAAc,CAACO,IAAI,CAAEL,YAAY,CAAC,CAExDlD,eAAM,CAACwD,OAAO,CAAC,wCAAwCrF,aAAa,EAAE,CAAC,CAEvE,MAAO,CACL+B,mBAAmB,CAAES,eAAe,CAAC4C,IAAI,CACzC7C,mBAAmB,CAAE,KACvB,CAAC,CACH,CAEO,QAAS,CAAA+C,wBAAwBA,CACtCvF,OAAqB,CACrBgC,mBAA2B,CAC3BT,OAA0C,CAC1CC,iBAEC,CACD,KAAAgE,qBAAA,CAAAC,qBAAA,CAAAC,sBAAA,CACA,GAAM,CAAArB,SAAS,CAAG,GAAAC,8CAAuB,EAAC/C,OAAO,CAAEC,iBAAiB,CAAC,CAAC+C,GAAG,CACvE,SAACC,IAAI,QAAK,CAAAA,IAAI,CAACC,YAAY,EAC7B,CAAC,CAED,GAAM,CAAAkB,WAAW,CAAGtB,SAAS,CAACuB,MAAM,CAClC,SAACC,QAAQ,QAAK,CAACA,QAAQ,CAAChF,QAAQ,CAAC,QAAQ,CAAC,EAC5C,CAAC,CAMD,GAAM,CAAAiF,UAAU,CAAG3F,oBAAoB,CAACH,OAAO,CAAC,CAChD,GAAM,CAAAE,aAAa,CAAG4F,UAAU,CAAC1F,eAEpB,CACb,GAAM,CAAA2F,aAAa,EAAAP,qBAAA,CAAIM,UAAU,CAACE,oBAAoB,QAAAR,qBAAA,CAAI,CAAC,CAG1D,CACD,GAAM,CAAAS,iBAAiB,EAAAR,qBAAA,CACrBvF,aAAa,SAAAwF,sBAAA,CAAbxF,aAAa,CAAG8B,mBAAmB,CAAC,eAApC0D,sBAAA,CAAsCQ,WAAW,QAAAT,qBAAA,CAAI,EAAE,CACzD,GAAM,CAAAU,qBAAqB,CAAGF,iBAAiB,CAACG,IAAI,CAAC,SAACC,KAAK,CAAK,CAC9D,GAAM,CAAAC,SAAS,CAAGC,iBAAiB,CAACF,KAAK,CAAC,CAC1C,MACE,CAAAG,oBAAoB,CAClB,CAAEtD,OAAO,CAAE,MAAO,CAAAmD,KAAK,GAAK,QAAQ,CAAGnF,SAAS,CAAGmF,KAAK,CAACnD,OAAQ,CAAC,CAClE3B,OAAO,CAACtB,aACV,CAAC,EAAIwG,OAAO,CAACH,SAAS,EAAIP,aAAa,CAACO,SAAS,CAAC,CAAC,CAEvD,CAAC,CAAC,CACF,GAAIH,qBAAqB,CAAE,CACzBrE,eAAM,CAACC,QAAQ,CACb,wBAAwBR,OAAO,CAACtB,aAAa,+BAA+B+B,mBAAmB,YACjG,CAAC,CACD,OACF,CAEAhC,OAAO,CAAC0G,aAAa,CACnBf,WAAW,CACX,sBAAsB,CACtBpE,OAAO,CAACtB,aAAa,CACrB+B,mBAAmB,CACnB,WAAW,CACX,IACF,CAAC,CACH,CAyBA,GAAM,CAAA2E,yBAAyB,CAAG,UAAU,CAC5C,GAAM,CAAAC,mDAAmD,CAAG,CAAC,CAC7D,GAAM,CAAAC,6BAA6B,CAAG,wBAAwB,CAC9D,GAAM,CAAAC,kBAAkB,CAAG,cAAc,CAElC,QAAS,CAAAC,2BAA2BA,CACzC9F,KAAa,CACbiC,OAAe,CACQ,CACvB,MAAO,CAAEjC,KAAK,CAALA,KAAK,CAAEiC,OAAO,CAAPA,OAAQ,CAAC,CAC3B,CAEA,QAAS,CAAA8D,yBAAyBA,CAAA,CAA2B,CAC3D,MAAO,CACLlG,GAAG,CAAE+F,6BAA6B,CAClCI,eAAe,CAAEN,yBAAyB,CAC1CO,KAAK,CAAE,EAAE,CACTC,kCAAkC,CAChCP,mDACJ,CAAC,CACH,CAEA,QAAS,CAAAQ,eAAeA,CAACC,OAAe,CAAgB,CACtD,MAAO,CACLvG,GAAG,CAAEgG,kBAAkB,CACvBO,OAAO,CAAPA,OACF,CAAC,CACH,CAEA,QAAS,CAAAlH,oBAAoBA,CAACH,OAAqB,CAAuB,KAAAsH,qBAAA,CAAAC,KAAA,CACxE,OAAAD,qBAAA,EAAAC,KAAA,CAAQvH,OAAO,CAASwH,IAAI,UAAAD,KAAA,CAArBA,KAAA,CAAuBvH,OAAO,eAA9BuH,KAAA,CAAgCE,OAAO,QAAAH,qBAAA,CAAI,CAAC,CAAC,CACtD,CAEA,QAAS,CAAAf,iBAAiBA,CACxBmB,SAAuC,CACxB,KAAAC,gBAAA,CACf,GAAI,CAACD,SAAS,CAAE,CACd,MAAO,KAAI,CACb,CAEA,MAAO,OAAO,CAAAA,SAAS,GAAK,QAAQ,CAAGA,SAAS,EAAAC,gBAAA,CAAID,SAAS,CAACzG,KAAK,QAAA0G,gBAAA,CAAI,IAAK,CAC9E,CAEA,QAAS,CAAAC,yBAAyBA,CAChC5H,OAAqB,CACrBgC,mBAA2B,CACV,CACjB,GAAM,CAAA9B,aAAa,CAAGC,oBAAoB,CAACH,OAAO,CAAC,CAACI,eAEvC,CACb,GAAM,CAAAqC,eAAe,CAAGvC,aAAa,cAAbA,aAAa,CAAG8B,mBAAmB,CAAC,CAE5D,GAAI,CAACS,eAAe,CAAE,CACpB,KAAM,IAAI,CAAAF,gDAAuB,CAC/B,0BAA0BP,mBAAmB,kDAC/C,CAAC,CACH,CAEA,MAAO,CAAAS,eAAe,CACxB,CAEA,QAAS,CAAAoF,uCAAuCA,CAC9C7H,OAAqB,CACrBgC,mBAA2B,CAC3BS,eAAgC,CAChCqF,0BAAkC,CACV,KAAAC,qBAAA,CAAAC,qBAAA,CACxB,GAAM,CAAAC,iBAAiB,CAAG9H,oBAAoB,CAACH,OAAO,CAAC,CACvD,GAAM,CAAAkI,mBAAmB,EAAAH,qBAAA,CAAIE,iBAAiB,CAACE,sBAAsB,QAAAJ,qBAAA,CAClEE,iBAAiB,CAACE,sBAAsB,CAAG,CAAC,CAG9C,CAED,GAAM,CAAAC,uBAAuB,CAAG,EAAAJ,qBAAA,CAACvF,eAAe,CAACyD,WAAW,QAAA8B,qBAAA,CAAI,EAAE,EAC/DzD,GAAG,CAAC,SAAC8B,KAAK,QAAK,CAAAE,iBAAiB,CAACF,KAAK,CAAC,GAAC,CACxCnE,IAAI,CAAC,SAACoE,SAAS,CAA0B,CACxC,MAAO,CAAC,CAACA,SAAS,EAAI,CAAC,CAAC4B,mBAAmB,CAAC5B,SAAS,CAAC,CACxD,CAAC,CAAC,CAEJ,GAAI8B,uBAAuB,CAAE,CAC3B,MAAO,CAAAF,mBAAmB,CACxBE,uBAAuB,CACxB,CACH,CAEA,GAAM,CAAAC,8BAA8B,CAAIrI,OAAO,CAASsI,YAAY,CAAC,CAAC,CACtEJ,mBAAmB,CAACG,8BAA8B,CAAC,CACjDrB,yBAAyB,CAAC,CAAC,CAC7BkB,mBAAmB,CAAC,GAAGG,8BAA8B,UAAU,CAAC,CAC9DP,0BAA0B,CAE5B,GAAM,CAAA7B,iBAAiB,CAAGsC,KAAK,CAACC,OAAO,CAAC/F,eAAe,CAACyD,WAAW,CAAC,CAChEzD,eAAe,CAACyD,WAAW,CAC3B,EAAE,CACND,iBAAiB,CAACwC,IAAI,CACpB1B,2BAA2B,CACzBsB,8BAA8B,CAC9BP,0BACF,CACF,CAAC,CACDrF,eAAe,CAACyD,WAAW,CAAGD,iBAAiB,CAE/CnE,eAAM,CAACC,QAAQ,CACb,gEAAgEC,mBAAmB,GACrF,CAAC,CAED,MAAO,CAAAkG,mBAAmB,CACxBG,8BAA8B,CAC/B,CACH,CAEA,QAAS,CAAAK,sBAAsBA,CAC7B1I,OAAqB,CACrB2I,mBAA2C,CAC3CC,WAAmB,CACV,CACT,GAAM,CAAAC,gBAAgB,CAAG7I,OAAO,CAAC8I,mBAAmB,CAAC,CAGpD,CACD,GAAM,CAAA5B,KAAK,CAAGqB,KAAK,CAACC,OAAO,CAACG,mBAAmB,CAACzB,KAAK,CAAC,CAClDyB,mBAAmB,CAACzB,KAAK,CACzB,EAAE,CAEN,MAAO,CAAAA,KAAK,CAACd,IAAI,CAAC,SAAC2C,SAAS,CAAK,KAAAC,qBAAA,CAC/B,GAAM,CAAAC,aAAa,CAAG1C,iBAAiB,CAACwC,SAAS,CAAC,CAClD,GAAI,CAACE,aAAa,CAAE,CAClB,MAAO,MAAK,CACd,CAEA,MAAO,EAAAD,qBAAA,CAAAH,gBAAgB,CAACI,aAAa,CAAC,eAA/BD,qBAAA,CAAiC3B,OAAO,IAAKuB,WAAW,CACjE,CAAC,CAAC,CACJ,CAEA,QAAS,CAAAM,4BAA4BA,CACnClJ,OAAqB,CACrB2I,mBAA2C,CAC3CC,WAAmB,CACnBO,gBAAwB,CAClB,CACN,GAAM,CAAAN,gBAAgB,CAAG7I,OAAO,CAAC8I,mBAAmB,CAAC,CAGpD,CACD,GAAM,CAAAG,aAAa,CAAIjJ,OAAO,CAASsI,YAAY,CAAC,CAAC,CAErDO,gBAAgB,CAACI,aAAa,CAAC,CAAG7B,eAAe,CAACwB,WAAW,CAAC,CAC9DC,gBAAgB,CAAC,GAAGI,aAAa,UAAU,CAAC,CAAGE,gBAAgB,CAE/D,GAAM,CAAAjC,KAAK,CAAGqB,KAAK,CAACC,OAAO,CAACG,mBAAmB,CAACzB,KAAK,CAAC,CAClDyB,mBAAmB,CAACzB,KAAK,CACzB,EAAE,CACNA,KAAK,CAACuB,IAAI,CAAC1B,2BAA2B,CAACkC,aAAa,CAAEE,gBAAgB,CAAC,CAAC,CACxER,mBAAmB,CAACzB,KAAK,CAAGA,KAAK,CACnC,CAOO,QAAS,CAAAkC,iDAAiDA,CAC/DpJ,OAAqB,CACrBgC,mBAA2B,CAC3B4G,WAAmB,CAAAS,KAAA,CAEV,IADP,CAAAvB,0BAA0B,CAAAuB,KAAA,CAA1BvB,0BAA0B,CAAEqB,gBAAgB,CAAAE,KAAA,CAAhBF,gBAAgB,CAE9C,GAAM,CAAA1G,eAAe,CAAGmF,yBAAyB,CAC/C5H,OAAO,CACPgC,mBACF,CAAC,CACD,GAAM,CAAA2G,mBAAmB,CAAGd,uCAAuC,CACjE7H,OAAO,CACPgC,mBAAmB,CACnBS,eAAe,CACfqF,0BACF,CAAC,CAED,GAAIY,sBAAsB,CAAC1I,OAAO,CAAE2I,mBAAmB,CAAEC,WAAW,CAAC,CAAE,CACrE,MAAO,MAAK,CACd,CAEAM,4BAA4B,CAC1BlJ,OAAO,CACP2I,mBAAmB,CACnBC,WAAW,CACXO,gBACF,CAAC,CAED,MAAO,KAAI,CACb,CAOO,QAAS,CAAA7F,yBAAyBA,CAAAgG,MAAA,CAAAC,MAAA,CAcI,IAZzC,CAAAhG,aAAa,CAAA+F,MAAA,CAAb/F,aAAa,IAMb,CAAA7B,gBAAgB,CAAA6H,MAAA,CAAhB7H,gBAAgB,CAChB8H,gBAAgB,CAAAD,MAAA,CAAhBC,gBAAgB,CAChBvJ,aAAa,CAAAsJ,MAAA,CAAbtJ,aAAa,CACbwJ,gBAAgB,CAAAF,MAAA,CAAhBE,gBAAgB,CACDC,mBAAmB,CAAAH,MAAA,CAAlCzF,aAAa,CAGf,GAAM,CAAA6F,OAAO,CAAGpG,aAAa,GAAK,OAAO,CAEzC,OAAAjD,MAAA,CAAAsJ,MAAA,EAEEC,8BAA8B,CAAE,KAAK,CACrCC,sBAAsB,CAAE,IAAI,CAC5BC,YAAY,CAAE,IAAI,CAClBC,sBAAsB,CAAE,IAAI,CAC5BC,YAAY,CAAE,mCAAmC,CAGjDC,yBAAyB,CAAE,IAAIxI,gBAAgB,GAAG,CAClDyI,0BAA0B,CAAEX,gBAAgB,OAAhBA,gBAAgB,CAAI,MAAM,CAGtDY,uBAAuB,CAAE,UAAU,CACnCC,qBAAqB,CAAE,6BAA6B,CAGpDC,aAAa,CAAE,KAAK,CACpBC,sBAAsB,CAAE,OAAO,CAC/BC,cAAc,CAAE,GAAGvK,aAAa,aAAa,CAC7CwK,uBAAuB,CAAE,IAAIhB,gBAAgB,GAAG,CAChDiB,YAAY,CAAE,kBAAkB,CAChCC,wBAAwB,CAAEhB,OAAO,CAAG,QAAQ,CAAG,IAAI,EAGhDD,mBAAmB,EAE1B,CAEO,QAAS,CAAAkB,qDAAqDA,CACnEC,WAAmB,CACX,CACR,GAAM,CAAAC,qBAAqB,CAAG;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC,CACC,GAAM,CAAAC,sBAAsB,CAC1B,oFAAoF,CACtF,GAAM,CAAAC,mBAAmB,CAAG,0CAA0C,CAEtE,GAAID,sBAAsB,CAACE,IAAI,CAACJ,WAAW,CAAC,CAAE,CAC5C,MAAO,CAAAA,WAAW,CAACK,OAAO,CACxBH,sBAAsB,CACtB,GAAGD,qBAAqB,IAC1B,CAAC,CACH,CAEA,GAAID,WAAW,CAACM,QAAQ,CAAC,yBAAyB,CAAC,CAAE,CACnD,GAAIN,WAAW,CAACM,QAAQ,CAAC,aAAa,CAAC,CAAE,CACvC,MAAO,CAAAN,WAAW,CACpB,CAEA,GAAIG,mBAAmB,CAACC,IAAI,CAACJ,WAAW,CAAC,CAAE,CACzC,MAAO,CAAAA,WAAW,CAACK,OAAO,CACxBF,mBAAmB,CACnB,SAACI,CAAC,CAAEC,WAAmB,QACrB,GAAGA,WAAW,4BAA4BA,WAAW,+DAA+D,EACxH,CAAC,CACH,CAEA,MAAO,CAAAR,WAAW,CACpB,CAEA,MAAO,GAAGC,qBAAqB,KAAKD,WAAW,EAAE,CACnD,CAEA,QAAS,CAAAS,eAAeA,CAACrK,KAAyB,CAAU,CAC1D,GAAI,CAACA,KAAK,CAAE,CACV,MAAO,EAAE,CACX,CAEA,GAAIA,KAAK,CAACE,UAAU,CAAC,GAAG,CAAC,EAAIF,KAAK,CAACJ,QAAQ,CAAC,GAAG,CAAC,CAAE,CAChD,GAAI,CACF,MAAO,CAAA0K,IAAI,CAACC,KAAK,CAACvK,KAAK,CAAC,CAC1B,CAAE,MAAAwK,OAAA,CAAM,CACN,MAAO,CAAAxK,KAAK,CAACG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC8J,OAAO,CAAC,MAAM,CAAE,GAAG,CAAC,CAChD,CACF,CAEA,MAAO,CAAAjK,KAAK,CACd,CAEA,QAAS,CAAAyK,eAAeA,CAACzK,KAAa,CAAU,CAC9C,MAAO,CAAAsK,IAAI,CAACI,SAAS,CAAC1K,KAAK,CAAC,CAC9B,CAEA,QAAS,CAAAuF,oBAAoBA,CAC3BH,KAA2B,CAC3BuF,eAAuB,CACd,CACT,MACE,CAAAvF,KAAK,CAACnD,OAAO,GAAK0I,eAAe,EACjCvF,KAAK,CAACnD,OAAO,GAAK,IAAI0I,eAAe,GAAG,CAE5C,CAQO,QAAS,CAAAC,0BAA0BA,CACxC7L,OAAqB,CACrB8L,UAAkB,CACZ,CACN,GAAM,CAAAC,cAAc,CAAG,qCAAqC,CAG5D,GAAM,CAAAC,iBAAiB,CACrBhM,OAAO,CAACwH,IAAI,CAACxH,OAAO,CAACyH,OAAO,CAACwE,wBAAwB,CACvD,GAAI,CAACD,iBAAiB,CAAE,CACtB,KAAM,IAAI,CAAAzJ,gDAAuB,CAC/B,gDAAgDwJ,cAAc,EAChE,CAAC,CACH,CAGA,GAAI,CAAAG,iBAAgC,CAAG,IAAI,CAC3C,GAAI,CAAAC,aAAyC,CAAG,IAAI,CACpD,IAAK,GAAM,CAAAxL,GAAG,GAAI,CAAAL,MAAM,CAAC8L,IAAI,CAACJ,iBAAiB,CAAC,CAAE,CAChD,GAAIrL,GAAG,CAACE,QAAQ,CAAC,UAAU,CAAC,CAAE,SAC9B,GAAM,CAAAwF,KAAK,CAAG2F,iBAAiB,CAACrL,GAAG,CAAC,CACpC,GAAI0F,KAAK,CAACtF,IAAI,GAAK,IAAIgL,cAAc,GAAG,EAAI1F,KAAK,CAACtF,IAAI,GAAKgL,cAAc,CAAE,CACzEG,iBAAiB,CAAGvL,GAAG,CACvBwL,aAAa,CAAG9F,KAAK,CACrB,MACF,CACF,CAEA,GAAI,CAAC6F,iBAAiB,EAAI,CAACC,aAAa,CAAE,CACxC,KAAM,IAAI,CAAA5J,gDAAuB,CAC/B,mBAAmBwJ,cAAc,yBACnC,CAAC,CACH,CAEA,GAAM,CAAA7L,aAAa,CAAGF,OAAO,CAACwH,IAAI,CAACxH,OAAO,CAACyH,OAAO,CAACrH,eAAe,CAClE,GAAIF,aAAa,EAAIA,aAAa,CAAC4L,UAAU,CAAC,CAAE,CAC9C,GAAM,CAAAlL,MAAM,CAAGV,aAAa,CAAC4L,UAAU,CAAC,CACxC,GAAIlL,MAAM,CAACsF,WAAW,CAAE,KAAAmG,sBAAA,CAAAC,sBAAA,CACtB,GAAM,CAAAC,gBAAgB,CAAG3L,MAAM,CAACsF,WAAW,CAACsG,SAAS,CACnD,SAACnG,KAA2B,QAC1B,CAAAG,oBAAoB,CAACH,KAAK,CAAE0F,cAAc,CAAC,EAC/C,CAAC,CACD,GAAM,CAAAU,kBAAkB,CACtBnB,eAAe,CAACa,aAAa,CAACO,SAAS,CAAC,EAAI,SAAS,CACvD,GAAM,CAAAC,oBAAoB,CACxB/B,qDAAqD,CACnDU,eAAe,CAACa,aAAa,CAACtB,WAAW,CAC3C,CAAC,CAEH,GAAI0B,gBAAgB,GAAK,CAAC,CAAC,CAAE,CAC3B,GAAM,CAAAK,gBAAgB,CAAGhM,MAAM,CAACsF,WAAW,CAACqG,gBAAgB,CAAC,CAACtL,KAAK,CACnE,GAAM,CAAA4L,YAAY,CAAGb,iBAAiB,CAACY,gBAAgB,CAAC,CAExD,GAAIC,YAAY,EAAID,gBAAgB,GAAKV,iBAAiB,CAAE,KAAAY,qBAAA,CAAAC,qBAAA,CAC1DF,YAAY,CAACG,UAAU,EAAAF,qBAAA,CAAGX,aAAa,CAACa,UAAU,QAAAF,qBAAA,CAAI,EAAE,CACxDD,YAAY,CAACI,WAAW,EAAAF,qBAAA,CAAGZ,aAAa,CAACc,WAAW,QAAAF,qBAAA,CAAI,EAAE,CAC1DF,YAAY,CAACH,SAAS,CAAGhB,eAAe,CAACe,kBAAkB,CAAC,CAC5DI,YAAY,CAAChC,WAAW,CAAGa,eAAe,CAACiB,oBAAoB,CAAC,CAEhE,GAAIR,aAAa,CAACe,gBAAgB,GAAKhM,SAAS,CAAE,CAChD2L,YAAY,CAACK,gBAAgB,CAAGf,aAAa,CAACe,gBAAgB,CAChE,CAEApL,eAAM,CAACC,QAAQ,CACb,+BAA+BgK,cAAc,2BAA2BnL,MAAM,CAACG,IAAI,EACrF,CAAC,CACD,OACF,CAEA,GAAI6L,gBAAgB,GAAKV,iBAAiB,CAAE,CAC1CtL,MAAM,CAACsF,WAAW,CAACiH,MAAM,CAACZ,gBAAgB,CAAE,CAAC,CAAC,CAChD,CAAC,IAAM,CACL,OACF,CACF,CAEA,GAAM,CAAAa,UAAU,CAAGpN,OAAO,CAAC0G,aAAa,CACtC,EAAE,CACF,0BAA0B,CAC1BqF,cAAc,CACdD,UAAU,CACV,CACEkB,UAAU,EAAAX,sBAAA,CAAEF,aAAa,CAACa,UAAU,QAAAX,sBAAA,CAAI,EAAE,CAC1CY,WAAW,EAAAX,sBAAA,CAAEH,aAAa,CAACc,WAAW,QAAAX,sBAAA,CAAI,EAAE,CAC5CI,SAAS,CAAED,kBAAkB,CAC7B5B,WAAW,CAAE8B,oBACf,CACF,CAAC,CAMDS,UAAU,CAACC,UAAU,CAACX,SAAS,CAAGhB,eAAe,CAACe,kBAAkB,CAAC,CACrEW,UAAU,CAACC,UAAU,CAACxC,WAAW,CAAGa,eAAe,CAACiB,oBAAoB,CAAC,CAEzE,GAAIR,aAAa,CAACe,gBAAgB,GAAKhM,SAAS,CAAE,CAChDkM,UAAU,CAACC,UAAU,CAACH,gBAAgB,CAAGf,aAAa,CAACe,gBAAgB,CACzE,CAEApL,eAAM,CAACC,QAAQ,CACb,6BAA6BgK,cAAc,2BAA2BnL,MAAM,CAACG,IAAI,EACnF,CAAC,CACH,CACF,CACF,CAEA,QAAS,CAAAuM,oBAAoBA,CAC3BtN,OAAqB,CACrBsB,UAAkC,CACnB,CACf,GAAM,CAAAiM,UAAU,CAAGC,wBAAS,CAACC,MAAM,CAACC,gBAAgB,CAAC1N,OAAO,CAAC,CAC1DuE,GAAG,CAAC,SAAAoJ,MAAA,CAAgB,KAAAC,YAAA,KAAAC,MAAA,IAAApN,eAAA,CAAAC,OAAA,EAAAiN,MAAA,IAAZ/M,MAAM,CAAAiN,MAAA,IACb,GACE,CAACL,wBAAS,CAACC,MAAM,CAACK,cAAc,CAC9BlN,MAAM,CACN4M,wBAAS,CAACC,MAAM,CAACM,UAAU,CAACC,WAC9B,CAAC,CACD,CACA,MAAO,KAAI,CACb,CAEA,GAAM,CAAAjN,IAAI,CAAGyM,wBAAS,CAACS,UAAU,CAACC,OAAO,EAAAN,YAAA,CAAChN,MAAM,CAACG,IAAI,QAAA6M,YAAA,CAAI,EAAE,CAAC,CAACO,IAAI,CAAC,CAAC,CAEnE,MAAO,CAAApN,IAAI,OAAJA,IAAI,CAAI,IAAI,CACrB,CAAC,CAAC,CACD6E,MAAM,CAAC,SAAC7E,IAAI,QAAqB,CAAC,CAACA,IAAI,GAAC,CAG3C,GAAIwM,UAAU,CAACa,MAAM,GAAK,CAAC,CAAE,CAC3B,MAAO,CAAAb,UAAU,CAAC,CAAC,CAAC,CACtB,CAAC,IAAM,CACLzL,eAAM,CAACuM,UAAU,CACf,kHACF,CAAC,CACH,CAGA,GAAM,CAAAC,qBAAqB,CAAGhN,UAAU,CAACiN,WAAW,CACpD,GAAID,qBAAqB,EAAIf,UAAU,CAACpC,QAAQ,CAACmD,qBAAqB,CAAC,CAAE,CACvE,MAAO,CAAAA,qBAAqB,CAC9B,CAAC,IAAM,CACLxM,eAAM,CAACuM,UAAU,CACf,iIACF,CAAC,CACH,CAGA,GAAI,KAAAG,oBAAA,CACF,IAAAC,qBAAA,CAA2BjB,wBAAS,CAACC,MAAM,CAACiB,qBAAqB,CAAC1O,OAAO,CAAC,CAAA2O,sBAAA,IAAAlO,eAAA,CAAAC,OAAA,EAAA+N,qBAAA,IAAjEG,cAAc,CAAAD,sBAAA,IACvB,GAAM,CAAA5N,IAAI,CAAGyM,wBAAS,CAACS,UAAU,CAACC,OAAO,EAAAM,oBAAA,CAACI,cAAc,CAAC7N,IAAI,QAAAyN,oBAAA,CAAI,EAAE,CAAC,CAACL,IAAI,CAAC,CAAC,CAC3E,MAAO,CAAApN,IAAI,EAAI,IAAI,CACrB,CAAE,MAAA8N,QAAA,CAAM,CACN/M,eAAM,CAACuM,UAAU,CACf,mGACF,CAAC,CACH,CAEAvM,eAAM,CAACgN,QAAQ,CACb,8IACF,CAAC,CAED,MAAO,KAAI,CACb,CAEA,QAAS,CAAAC,+BAA+BA,CACtC9N,KAAmD,CACpC,CACf,GAAIA,KAAK,EAAI,IAAI,CAAE,CACjB,MAAO,KAAI,CACb,CAEA,GAAM,CAAA+N,UAAU,CAAGxB,wBAAS,CAACS,UAAU,CAACC,OAAO,CAACe,MAAM,CAAChO,KAAK,CAAC,CAAC,CAACkN,IAAI,CAAC,CAAC,CACrE,MAAO,CAAAa,UAAU,CAACZ,MAAM,CAAG,CAAC,CAAGY,UAAU,CAAG,IAAI,CAClD,CAEO,QAAS,CAAAE,4BAA4BA,CAC1ClP,OAA+C,CAC/CmP,aAA4B,CACb,KAAAC,qBAAA,CACf,GAAI,CAACD,aAAa,CAAE,CAClB,MAAO,KAAI,CACb,CAEA,OAAAC,qBAAA,CACEL,+BAA+B,CAC7B/O,OAAO,CAACqP,gBAAgB,CACtB,4BAA4B,CAC5B,SAAS,CACTF,aACF,CACF,CAAC,QAAAC,qBAAA,CACDL,+BAA+B,CAC7B/O,OAAO,CAACqP,gBAAgB,CACtB,4BAA4B,CAC5B,OAAO,CACPF,aACF,CACF,CAAC,CAEL,CAEO,QAAS,CAAAG,gCAAgCA,CAC9CtP,OAAqB,CACrBsB,UAAkC,CAAAiO,MAAA,CAM1B,IAJN,CAAAC,wBAAwB,CAAAD,MAAA,CAAxBC,wBAAwB,CAK1B,GAAIA,wBAAwB,EAAI,IAAI,CAAE,CACpC,MAAO,CAAAA,wBAAwB,CACjC,CAEA,GAAM,CAAAL,aAAa,CAAG7B,oBAAoB,CAACtN,OAAO,CAAEsB,UAAU,CAAC,CAC/D,GAAM,CAAAmO,yBAAyB,CAAGP,4BAA4B,CAC5DlP,OAAO,CACPmP,aACF,CAAC,CAED,MAAO,CAAAM,yBAAyB,OAAzBA,yBAAyB,CAAI,MAAM,CAC5C,CAEA,QAAS,CAAAC,cAAcA,CAACC,OAAe,CAAEC,OAAe,CAAW,CACjE,GAAM,CAAAC,CAAC,CAAGF,OAAO,CAACG,KAAK,CAAC,GAAG,CAAC,CAACvL,GAAG,CAACwL,MAAM,CAAC,CACxC,GAAM,CAAAC,CAAC,CAAGJ,OAAO,CAACE,KAAK,CAAC,GAAG,CAAC,CAACvL,GAAG,CAACwL,MAAM,CAAC,CACxC,IAAK,GAAI,CAAAE,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGC,IAAI,CAACC,GAAG,CAACN,CAAC,CAACzB,MAAM,CAAE4B,CAAC,CAAC5B,MAAM,CAAC,CAAE6B,CAAC,EAAE,CAAE,KAAAG,IAAA,CAAAC,IAAA,CACrD,GAAM,CAAAC,IAAI,CAAG,EAAAF,IAAA,CAACP,CAAC,CAACI,CAAC,CAAC,QAAAG,IAAA,CAAI,CAAC,IAAAC,IAAA,CAAKL,CAAC,CAACC,CAAC,CAAC,QAAAI,IAAA,CAAI,CAAC,CAAC,CACtC,GAAIC,IAAI,GAAK,CAAC,CAAE,CACd,MAAO,CAAAA,IAAI,CAAG,CAAC,CACjB,CACF,CACA,MAAO,MAAK,CACd,CAMO,QAAS,CAAAC,8BAA8BA,CAC5CvQ,OAAqB,CACrBgC,mBAA2B,CAC3B4N,OAAe,CACN,KAAAY,qBAAA,CAAAC,qBAAA,CAAAC,qBAAA,CACT,GAAM,CAAA5K,UAAU,CAAG3F,oBAAoB,CAACH,OAAO,CAAC,CAChD,GAAM,CAAAY,MAAM,EAAA4P,qBAAA,CAAG1K,UAAU,CAAC1F,eAAe,eAA1BoQ,qBAAA,CAA6BxO,mBAAmB,CAElD,CACb,GAAM,CAAA2O,UAAU,CAAG/P,MAAM,QAANA,MAAM,CAAEkC,sBAAsB,EAAA2N,qBAAA,CAC7C3K,UAAU,CAAC8K,mBAAmB,eAA9BH,qBAAA,CAAiC7P,MAAM,CAACkC,sBAAsB,CAAC,CAC/D5B,SAAS,CACb,GAAM,CAAAuC,OAAO,EAAAiN,qBAAA,CAAG5K,UAAU,CAAC+K,oBAAoB,QAAAH,qBAAA,CAAI,CAAC,CAAC,CAErD,GAAI,CAAAI,OAAO,CAAG,KAAK,CACnB,IAAK,GAAM,CAAAC,GAAG,IAAAC,qBAAA,CAAIL,UAAU,cAAVA,UAAU,CAAE3N,mBAAmB,QAAAgO,qBAAA,CAAI,EAAE,CAAE,KAAAA,qBAAA,CAAAC,aAAA,CACvD,GAAM,CAAA5L,IAAI,CAAGkB,iBAAiB,CAACwK,GAAG,CAAC,CACnC,GAAM,CAAAjN,aAAa,CAAGuB,IAAI,EAAA4L,aAAA,CAAGxN,OAAO,CAAC4B,IAAI,CAAC,eAAb4L,aAAA,CAAenN,aAAa,CAAG5C,SAAS,CACrE,GAAI,CAAC4C,aAAa,CAAE,CAClB,SACF,CACA,GAAM,CAAAoN,OAAO,CAAGnC,+BAA+B,CAC7CjL,aAAa,CAACqG,0BAChB,CAAC,CACD,GAAI,CAAC+G,OAAO,EAAIxB,cAAc,CAACwB,OAAO,CAAEtB,OAAO,CAAC,CAAE,CAChD9L,aAAa,CAACqG,0BAA0B,CAAGyF,OAAO,CAClDkB,OAAO,CAAG,IAAI,CAChB,CACF,CACA,MAAO,CAAAA,OAAO,CAChB","ignoreList":[]}