From 9418da83ed5172e811c508e4935f5c8ec136fdc5 Mon Sep 17 00:00:00 2001 From: Marc Prud'hommeaux Date: Fri, 6 Feb 2026 21:31:58 -0500 Subject: [PATCH] Enable custom Kotlin package name configuration in skip.yml --- .../SkipBuild/Commands/AndroidCommand.swift | 7 +--- .../SkipBuild/Commands/TranspileCommand.swift | 6 +-- Sources/SkipSyntax/CodebaseInfo.swift | 11 +++++- .../Kotlin/KotlinCodebaseInfo.swift | 11 ++++++ .../SkipSyntax/Kotlin/KotlinTranslator.swift | 13 +++++++ Tests/SkipSyntaxTests/CodebaseInfoTests.swift | 4 +- .../KotlinCodebaseInfoTests.swift | 35 ++++++++++++++++++ Tests/SkipSyntaxTests/NamingTests.swift | 37 ++++++++++++++++++- 8 files changed, 110 insertions(+), 14 deletions(-) diff --git a/Sources/SkipBuild/Commands/AndroidCommand.swift b/Sources/SkipBuild/Commands/AndroidCommand.swift index 8de08baf..8415a85f 100644 --- a/Sources/SkipBuild/Commands/AndroidCommand.swift +++ b/Sources/SkipBuild/Commands/AndroidCommand.swift @@ -375,14 +375,11 @@ fileprivate extension AndroidOperationCommand { ] env = env.filter({ (key, value) in permittedEnvironment.contains(key) - && !key.hasPrefix("SKIP_") - && !key.hasPrefix("ANDROID_") // "ANDROID_HOME", "ANDROID_NDK_HOME", "ANDROID_NDK_ROOT", "ANDROID_NDK", "ANDROID_SERIAL" + || key.hasPrefix("SKIP_") // "SKIP_COMMAND_OVERRIDE" + || key.hasPrefix("ANDROID_") // "ANDROID_HOME", "ANDROID_NDK_HOME", "ANDROID_NDK_ROOT", "ANDROID_NDK", "ANDROID_SERIAL" }) } - // manually disable the skipstone plugin from being run again in the derived build; we don't need to transpile and bridge the code a second time, we only need to build the native libraries with the Android toolchain - //env["SKIP_PLUGIN_DISABLED"] = "1" - let swiftCmd = toolchainBin.appendingPathComponent("swift", isDirectory: false).path if !FileManager.default.fileExists(atPath: swiftCmd) { throw CrossCompilerError(errorDescription: "Could not locate swift command at: \(swiftCmd)") diff --git a/Sources/SkipBuild/Commands/TranspileCommand.swift b/Sources/SkipBuild/Commands/TranspileCommand.swift index 2705e8a2..4d606e63 100644 --- a/Sources/SkipBuild/Commands/TranspileCommand.swift +++ b/Sources/SkipBuild/Commands/TranspileCommand.swift @@ -370,7 +370,7 @@ struct TranspileCommand: TranspilePhase, StreamingCommand { try fs.createSymbolicLink(addOutputFile(androidTestOutputFolder), pointingAt: outputFolderPath, relative: true) } - let packageName = KotlinTranslator.packageName(forModule: primaryModuleName) + let packageName = baseSkipConfig.skip?.package ?? KotlinTranslator.packageName(forModule: primaryModuleName) let transformers: [KotlinTransformer] = try createTransformers(for: baseSkipConfig, with: configMap) @@ -1270,10 +1270,6 @@ struct TranspileCommand: TranspilePhase, StreamingCommand { transformers.append(KotlinDynamicObjectTransformer(root: root)) } - //if let packageName = config.skip?.package { - // TODO: throw error("implement package/module map plugin") - //} - return transformers } diff --git a/Sources/SkipSyntax/CodebaseInfo.swift b/Sources/SkipSyntax/CodebaseInfo.swift index 4e8297fd..0cf7aae1 100644 --- a/Sources/SkipSyntax/CodebaseInfo.swift +++ b/Sources/SkipSyntax/CodebaseInfo.swift @@ -1389,6 +1389,7 @@ public final class CodebaseInfo { public final class ModuleExport: Codable { public let moduleName: String? + public let packageName: String? // Default visibility for testing var rootTypes: [TypeInfo] = [] @@ -1402,11 +1403,19 @@ public final class CodebaseInfo { private var isPrepared = false private enum CodingKeys: String, CodingKey { - case moduleName = "m", rootTypes = "t", rootTypealiases = "a", rootVariables = "v", rootFunctions = "f", rootExtensions = "e", sourceFileTable = "stable" + case moduleName = "m" + case packageName = "p" + case rootTypes = "t" + case rootTypealiases = "a" + case rootVariables = "v" + case rootFunctions = "f" + case rootExtensions = "e" + case sourceFileTable = "stable" } public init(of codebaseInfo: CodebaseInfo) { self.moduleName = codebaseInfo.moduleName + self.packageName = codebaseInfo.kotlin?.packageName // We want to always produce the same encoded output for the same input, because new output from one module might be a signal // that modules depending on it have to re-transpile. Sort for stability. API within a file will always have been added in the diff --git a/Sources/SkipSyntax/Kotlin/KotlinCodebaseInfo.swift b/Sources/SkipSyntax/Kotlin/KotlinCodebaseInfo.swift index a67e4897..4b2a0353 100644 --- a/Sources/SkipSyntax/Kotlin/KotlinCodebaseInfo.swift +++ b/Sources/SkipSyntax/Kotlin/KotlinCodebaseInfo.swift @@ -400,6 +400,17 @@ public final class KotlinCodebaseInfo: CodebaseInfoLanguageAdditions, CodebaseIn } func prepareForUse(codebaseInfo: CodebaseInfo) { + // Populate package name overrides from the current module and dependent modules + KotlinTranslator.packageNameOverrides = [:] + if let currentPackage = packageName, let currentModule = codebaseInfo.moduleName { + KotlinTranslator.packageNameOverrides[currentModule] = currentPackage + } + for moduleExport in codebaseInfo.dependentModules { + if let moduleName = moduleExport.moduleName, let customPackage = moduleExport.packageName { + KotlinTranslator.packageNameOverrides[moduleName] = customPackage + } + } + for moduleExport in codebaseInfo.dependentModules { // SkipLib conflicts are special cased so that we don't constantly add additional unused imports for Array, etc. // See KotlinIdentifier, KotlinTypeSignature diff --git a/Sources/SkipSyntax/Kotlin/KotlinTranslator.swift b/Sources/SkipSyntax/Kotlin/KotlinTranslator.swift index d3089323..93e50e0f 100644 --- a/Sources/SkipSyntax/Kotlin/KotlinTranslator.swift +++ b/Sources/SkipSyntax/Kotlin/KotlinTranslator.swift @@ -10,6 +10,9 @@ public final class KotlinTranslator { private(set) var codebaseInfo: CodebaseInfo.Context? private(set) var packageName: String? + /// Module name to custom package name overrides, populated from skip.yml config and dependent module exports. + public static var packageNameOverrides: [String: String] = [:] + public init(syntaxTree: SyntaxTree) { self.syntaxTree = syntaxTree } @@ -19,9 +22,19 @@ public final class KotlinTranslator { /// - moduleName: The module name to convert. /// - Returns: The dot-separated package name. public static func packageName(forModule moduleName: String, withDefaultPackageSuffix: String? = "module", trimTests: Bool = true) -> String { + // Check for custom package name override + if let override = packageNameOverrides[moduleName] { + return override + } + // Map from e.g. Foundation to SkipFoundation let moduleName = CodebaseInfo.moduleNameMap[moduleName]?.first ?? moduleName + // Check the mapped module name as well + if let override = packageNameOverrides[moduleName] { + return override + } + // Turn into package name var lastLower = false var packageName = "" diff --git a/Tests/SkipSyntaxTests/CodebaseInfoTests.swift b/Tests/SkipSyntaxTests/CodebaseInfoTests.swift index 5098142e..5097ab3c 100644 --- a/Tests/SkipSyntaxTests/CodebaseInfoTests.swift +++ b/Tests/SkipSyntaxTests/CodebaseInfoTests.swift @@ -529,7 +529,7 @@ final class CodebaseInfoTests: XCTestCase { let encoder = JSONEncoder() encoder.outputFormatting = [.sortedKeys, .withoutEscapingSlashes] let jsonData = try encoder.encode(CodebaseInfo.ModuleExport(of: codebaseInfo)) - let jsonString = String(data: jsonData, encoding: .utf8) + let jsonString = String(data: jsonData, encoding: .utf8) ?? "" XCTAssertEqual(jsonString, symbolStabilitySnapshot) @@ -868,5 +868,5 @@ interface P3_2 { """ let symbolStabilitySnapshot = """ -{\"a\":[],\"e\":[{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f5\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f6\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v5\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v6\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C1\",\"s\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"sid\":0,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f8\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f7\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v8\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v7\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C2\",\"s\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"sid\":0,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v1_1\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v1_2\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C1\",\"s\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"sid\":1,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_5\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_6\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_5\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_6\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C2_1\",\"s\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"sid\":1,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_8\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_7\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_8\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_7\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C2_2\",\"s\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"sid\":1,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v1_3\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v1_4\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C1\",\"s\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"sid\":2,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_5\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_6\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_5\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_6\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C3_1\",\"s\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"sid\":2,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_8\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_7\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_8\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_7\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C3_2\",\"s\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"sid\":2,\"t\":{\"extensionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"internal\":{}}}}],\"f\":[{\"a\":{\"a\":[]},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"stable\":[\"/tmp/SkipSyntaxTests/codebaseinfotest/Source1.swift\",\"/tmp/SkipSyntaxTests/codebaseinfotest/Source2.swift\",\"/tmp/SkipSyntaxTests/codebaseinfotest/Source3.swift\"],\"t\":[{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E1\",\"_1\":[]}},\"n\":\"a\",\"s\":{\"named\":{\"_0\":\"E1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E1\",\"_1\":[]}},\"n\":\"b\",\"s\":{\"named\":{\"_0\":\"E1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E1\",\"_1\":[]}},\"n\":\"c\",\"s\":{\"named\":{\"_0\":\"E1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[],\"n\":\"E1\",\"s\":{\"named\":{\"_0\":\"E1\",\"_1\":[]}},\"sid\":0,\"t\":{\"enumDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2\",\"_1\":[]}},\"n\":\"d\",\"s\":{\"named\":{\"_0\":\"E2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2\",\"_1\":[]}},\"n\":\"e\",\"s\":{\"named\":{\"_0\":\"E2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2\",\"_1\":[]}},\"n\":\"f\",\"s\":{\"named\":{\"_0\":\"E2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[],\"n\":\"E2\",\"s\":{\"named\":{\"_0\":\"E2\",\"_1\":[]}},\"sid\":0,\"t\":{\"enumDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner1\",\"_1\":[]}}}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner1\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i1\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner1\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i2\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"Inner1\",\"s\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner1\",\"_1\":[]}}}},\"sid\":0,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2\",\"_1\":[]}}}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i3\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i4\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"Inner2\",\"s\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2\",\"_1\":[]}}}},\"sid\":0,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v1\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C1\",\"s\":{\"named\":{\"_0\":\"C1\",\"_1\":[]}},\"sid\":0,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v4\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C2\",\"s\":{\"named\":{\"_0\":\"C2\",\"_1\":[]}},\"sid\":0,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P1\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p1\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P1\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p2\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"P1\",\"s\":{\"named\":{\"_0\":\"P1\",\"_1\":[]}},\"sid\":0,\"t\":{\"protocolDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p5\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p6\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":0,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p3\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p4\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"P2\",\"s\":{\"named\":{\"_0\":\"P2\",\"_1\":[]}},\"sid\":0,\"t\":{\"protocolDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2_1\",\"_1\":[]}},\"n\":\"a_2\",\"s\":{\"named\":{\"_0\":\"E2_1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2_1\",\"_1\":[]}},\"n\":\"b_2\",\"s\":{\"named\":{\"_0\":\"E2_1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2_1\",\"_1\":[]}},\"n\":\"c_2\",\"s\":{\"named\":{\"_0\":\"E2_1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[],\"n\":\"E2_1\",\"s\":{\"named\":{\"_0\":\"E2_1\",\"_1\":[]}},\"sid\":1,\"t\":{\"enumDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2_2\",\"_1\":[]}},\"n\":\"d_2\",\"s\":{\"named\":{\"_0\":\"E2_2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2_2\",\"_1\":[]}},\"n\":\"e_2\",\"s\":{\"named\":{\"_0\":\"E2_2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E2_2\",\"_1\":[]}},\"n\":\"f_2\",\"s\":{\"named\":{\"_0\":\"E2_2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[],\"n\":\"E2_2\",\"s\":{\"named\":{\"_0\":\"E2_2\",\"_1\":[]}},\"sid\":1,\"t\":{\"enumDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"i2_f1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"i2_f2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_1\",\"_1\":[]}}}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_1\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i2_1\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_1\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i2_2\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"Inner2_1\",\"s\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_1\",\"_1\":[]}}}},\"sid\":1,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if2_3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if2_4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_2\",\"_1\":[]}}}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_2\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i2_3\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_2\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i2_4\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"Inner2_2\",\"s\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner2_2\",\"_1\":[]}}}},\"sid\":1,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_1\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_2\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C2_1\",\"s\":{\"named\":{\"_0\":\"C2_1\",\"_1\":[]}},\"sid\":1,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f2_3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_4\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_3\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C2_2\",\"s\":{\"named\":{\"_0\":\"C2_2\",\"_1\":[]}},\"sid\":1,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p2_3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p2_4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_1\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p2_1\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_1\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p2_2\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"P2_1\",\"s\":{\"named\":{\"_0\":\"P2_1\",\"_1\":[]}},\"sid\":1,\"t\":{\"protocolDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p2_5\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p2_6\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":1,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_2\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p2_3\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P2_2\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p2_4\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"P2_2\",\"s\":{\"named\":{\"_0\":\"P2_2\",\"_1\":[]}},\"sid\":1,\"t\":{\"protocolDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E3_1\",\"_1\":[]}},\"n\":\"a_3\",\"s\":{\"named\":{\"_0\":\"E3_1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E3_1\",\"_1\":[]}},\"n\":\"b_3\",\"s\":{\"named\":{\"_0\":\"E3_1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E3_1\",\"_1\":[]}},\"n\":\"c_3\",\"s\":{\"named\":{\"_0\":\"E3_1\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[],\"n\":\"E3_1\",\"s\":{\"named\":{\"_0\":\"E3_1\",\"_1\":[]}},\"sid\":2,\"t\":{\"enumDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E3_2\",\"_1\":[]}},\"n\":\"d_3\",\"s\":{\"named\":{\"_0\":\"E3_2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E3_2\",\"_1\":[]}},\"n\":\"e_3\",\"s\":{\"named\":{\"_0\":\"E3_2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"E3_2\",\"_1\":[]}},\"n\":\"f_3\",\"s\":{\"named\":{\"_0\":\"E3_2\",\"_1\":[]}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mf\":[],\"ms\":[],\"mt\":[],\"mv\":[],\"n\":\"E3_2\",\"s\":{\"named\":{\"_0\":\"E3_2\",\"_1\":[]}},\"sid\":2,\"t\":{\"enumDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"i3_f1\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"i3_f2\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_1\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_1\",\"_1\":[]}}}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_1\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i3_1\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_1\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i3_2\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"Inner3_1\",\"s\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_1\",\"_1\":[]}}}},\"sid\":2,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if3_3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"if3_4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_2\",\"_1\":[]}}}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_2\",\"_1\":[]}}}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_2\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i3_3\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_2\",\"_1\":[]}}}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"i3_4\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"Inner3_2\",\"s\":{\"member\":{\"_0\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"_1\":{\"named\":{\"_0\":\"Inner3_2\",\"_1\":[]}}}},\"sid\":2,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_1\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_2\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C3_1\",\"s\":{\"named\":{\"_0\":\"C3_1\",\"_1\":[]}},\"sid\":2,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"f3_3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":true,\"mut\":false,\"n\":\"init\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"initDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_4\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_3\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"C3_2\",\"s\":{\"named\":{\"_0\":\"C3_2\",\"_1\":[]}},\"sid\":2,\"t\":{\"classDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p3_3\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_1\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p3_4\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_1\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p3_1\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_1\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p3_2\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"P3_1\",\"s\":{\"named\":{\"_0\":\"P3_1\",\"_1\":[]}},\"sid\":2,\"t\":{\"protocolDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":0,\"t\":{\"none\":{}}},\"g\":{\"e\":[]},\"i\":[],\"ma\":[],\"mc\":[],\"mf\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p3_5\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_2\",\"_1\":[]}},\"g\":{\"e\":[]},\"gen\":false,\"mut\":false,\"n\":\"p3_6\",\"s\":{\"function\":{\"_0\":[],\"_1\":{\"void\":{}},\"_2\":{\"o\":0,\"t\":{\"none\":{}}}}},\"sid\":2,\"t\":{\"functionDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"ms\":[],\"mt\":[],\"mv\":[{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_2\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p3_3\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"d\":{\"named\":{\"_0\":\"P3_2\",\"_1\":[]}},\"f\":{\"o\":128,\"t\":{\"none\":{}}},\"gen\":false,\"init\":false,\"n\":\"p3_4\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":false,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"n\":\"P3_2\",\"s\":{\"named\":{\"_0\":\"P3_2\",\"_1\":[]}},\"sid\":2,\"t\":{\"protocolDeclaration\":{}},\"v\":{\"available\":{}},\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}],\"v\":[{\"a\":{\"a\":[]},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v1\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2\",\"s\":{\"int\":{}},\"sid\":0,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_1\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v2_2\",\"s\":{\"int\":{}},\"sid\":1,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_1\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}},{\"a\":{\"a\":[]},\"f\":{\"o\":32,\"t\":{\"none\":{}}},\"gen\":false,\"init\":true,\"n\":\"v3_2\",\"s\":{\"int\":{}},\"sid\":2,\"v\":{\"available\":{}},\"val\":true,\"z\":{\"f\":false,\"l\":false,\"m\":false,\"n\":false,\"o\":false,\"s\":false,\"sv\":{\"default\":{}},\"v\":{\"public\":{}}}}]} +{"a":[],"e":[{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f5","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f6","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v5","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v6","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C1","s":{"named":{"_0":"C1","_1":[]}},"sid":0,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f8","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f7","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v8","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v7","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C2","s":{"named":{"_0":"C2","_1":[]}},"sid":0,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v1_1","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v1_2","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C1","s":{"named":{"_0":"C1","_1":[]}},"sid":1,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_5","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_6","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_5","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_6","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C2_1","s":{"named":{"_0":"C2_1","_1":[]}},"sid":1,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_8","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_7","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_8","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_7","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C2_2","s":{"named":{"_0":"C2_2","_1":[]}},"sid":1,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v1_3","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v1_4","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C1","s":{"named":{"_0":"C1","_1":[]}},"sid":2,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_5","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_6","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_5","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_6","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C3_1","s":{"named":{"_0":"C3_1","_1":[]}},"sid":2,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_8","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_7","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_8","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_7","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C3_2","s":{"named":{"_0":"C3_2","_1":[]}},"sid":2,"t":{"extensionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"internal":{}}}}],"f":[{"a":{"a":[]},"g":{"e":[]},"gen":false,"mut":false,"n":"f2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"g":{"e":[]},"gen":false,"mut":false,"n":"f1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"p":"tmp.test","stable":["/tmp/SkipSyntaxTests/codebaseinfotest/Source1.swift","/tmp/SkipSyntaxTests/codebaseinfotest/Source2.swift","/tmp/SkipSyntaxTests/codebaseinfotest/Source3.swift"],"t":[{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[{"a":{"a":[]},"d":{"named":{"_0":"E1","_1":[]}},"n":"a","s":{"named":{"_0":"E1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E1","_1":[]}},"n":"b","s":{"named":{"_0":"E1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E1","_1":[]}},"n":"c","s":{"named":{"_0":"E1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mf":[],"ms":[],"mt":[],"mv":[],"n":"E1","s":{"named":{"_0":"E1","_1":[]}},"sid":0,"t":{"enumDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[{"a":{"a":[]},"d":{"named":{"_0":"E2","_1":[]}},"n":"d","s":{"named":{"_0":"E2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E2","_1":[]}},"n":"e","s":{"named":{"_0":"E2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E2","_1":[]}},"n":"f","s":{"named":{"_0":"E2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mf":[],"ms":[],"mt":[],"mv":[],"n":"E2","s":{"named":{"_0":"E2","_1":[]}},"sid":0,"t":{"enumDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"named":{"_0":"C1","_1":[]}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner1","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner1","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner1","_1":[]}}}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner1","_1":[]}}}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner1","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i1","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner1","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i2","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"Inner1","s":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner1","_1":[]}}}},"sid":0,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner2","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner2","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner2","_1":[]}}}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner2","_1":[]}}}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner2","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i3","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner2","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i4","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"Inner2","s":{"member":{"_0":{"named":{"_0":"C1","_1":[]}},"_1":{"named":{"_0":"Inner2","_1":[]}}}},"sid":0,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v1","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C1","s":{"named":{"_0":"C1","_1":[]}},"sid":0,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"named":{"_0":"C2","_1":[]}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v4","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C2","s":{"named":{"_0":"C2","_1":[]}},"sid":0,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"P1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"P1","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p1","s":{"int":{}},"sid":0,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P1","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p2","s":{"int":{}},"sid":0,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"P1","s":{"named":{"_0":"P1","_1":[]}},"sid":0,"t":{"protocolDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"P2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p5","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p6","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":0,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"P2","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p3","s":{"int":{}},"sid":0,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P2","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p4","s":{"int":{}},"sid":0,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"P2","s":{"named":{"_0":"P2","_1":[]}},"sid":0,"t":{"protocolDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[{"a":{"a":[]},"d":{"named":{"_0":"E2_1","_1":[]}},"n":"a_2","s":{"named":{"_0":"E2_1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E2_1","_1":[]}},"n":"b_2","s":{"named":{"_0":"E2_1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E2_1","_1":[]}},"n":"c_2","s":{"named":{"_0":"E2_1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mf":[],"ms":[],"mt":[],"mv":[],"n":"E2_1","s":{"named":{"_0":"E2_1","_1":[]}},"sid":1,"t":{"enumDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[{"a":{"a":[]},"d":{"named":{"_0":"E2_2","_1":[]}},"n":"d_2","s":{"named":{"_0":"E2_2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E2_2","_1":[]}},"n":"e_2","s":{"named":{"_0":"E2_2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E2_2","_1":[]}},"n":"f_2","s":{"named":{"_0":"E2_2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mf":[],"ms":[],"mt":[],"mv":[],"n":"E2_2","s":{"named":{"_0":"E2_2","_1":[]}},"sid":1,"t":{"enumDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"named":{"_0":"C2_1","_1":[]}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_1","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"i2_f1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_1","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"i2_f2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_1","_1":[]}}}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_1","_1":[]}}}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_1","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i2_1","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_1","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i2_2","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"Inner2_1","s":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_1","_1":[]}}}},"sid":1,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_2","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if2_3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_2","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if2_4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_2","_1":[]}}}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_2","_1":[]}}}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_2","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i2_3","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_2","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i2_4","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"Inner2_2","s":{"member":{"_0":{"named":{"_0":"C2_1","_1":[]}},"_1":{"named":{"_0":"Inner2_2","_1":[]}}}},"sid":1,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_1","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_2","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C2_1","s":{"named":{"_0":"C2_1","_1":[]}},"sid":1,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f2_3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"named":{"_0":"C2_2","_1":[]}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_4","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C2_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_3","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C2_2","s":{"named":{"_0":"C2_2","_1":[]}},"sid":1,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"P2_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p2_3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P2_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p2_4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"P2_1","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p2_1","s":{"int":{}},"sid":1,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P2_1","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p2_2","s":{"int":{}},"sid":1,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"P2_1","s":{"named":{"_0":"P2_1","_1":[]}},"sid":1,"t":{"protocolDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"P2_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p2_5","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P2_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p2_6","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":1,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"P2_2","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p2_3","s":{"int":{}},"sid":1,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P2_2","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p2_4","s":{"int":{}},"sid":1,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"P2_2","s":{"named":{"_0":"P2_2","_1":[]}},"sid":1,"t":{"protocolDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[{"a":{"a":[]},"d":{"named":{"_0":"E3_1","_1":[]}},"n":"a_3","s":{"named":{"_0":"E3_1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E3_1","_1":[]}},"n":"b_3","s":{"named":{"_0":"E3_1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E3_1","_1":[]}},"n":"c_3","s":{"named":{"_0":"E3_1","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mf":[],"ms":[],"mt":[],"mv":[],"n":"E3_1","s":{"named":{"_0":"E3_1","_1":[]}},"sid":2,"t":{"enumDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[{"a":{"a":[]},"d":{"named":{"_0":"E3_2","_1":[]}},"n":"d_3","s":{"named":{"_0":"E3_2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E3_2","_1":[]}},"n":"e_3","s":{"named":{"_0":"E3_2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"E3_2","_1":[]}},"n":"f_3","s":{"named":{"_0":"E3_2","_1":[]}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mf":[],"ms":[],"mt":[],"mv":[],"n":"E3_2","s":{"named":{"_0":"E3_2","_1":[]}},"sid":2,"t":{"enumDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"named":{"_0":"C3_1","_1":[]}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_1","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"i3_f1","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_1","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"i3_f2","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_1","_1":[]}}}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_1","_1":[]}}}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_1","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i3_1","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_1","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i3_2","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"Inner3_1","s":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_1","_1":[]}}}},"sid":2,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_2","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if3_3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_2","_1":[]}}}},"g":{"e":[]},"gen":false,"mut":false,"n":"if3_4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_2","_1":[]}}}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_2","_1":[]}}}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_2","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i3_3","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_2","_1":[]}}}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"i3_4","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"Inner3_2","s":{"member":{"_0":{"named":{"_0":"C3_1","_1":[]}},"_1":{"named":{"_0":"Inner3_2","_1":[]}}}},"sid":2,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_1","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_1","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_2","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C3_1","s":{"named":{"_0":"C3_1","_1":[]}},"sid":2,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"f3_3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"g":{"e":[]},"gen":true,"mut":false,"n":"init","s":{"function":{"_0":[],"_1":{"named":{"_0":"C3_2","_1":[]}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"initDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_4","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"C3_2","_1":[]}},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_3","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"C3_2","s":{"named":{"_0":"C3_2","_1":[]}},"sid":2,"t":{"classDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"P3_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p3_3","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P3_1","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p3_4","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"P3_1","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p3_1","s":{"int":{}},"sid":2,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P3_1","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p3_2","s":{"int":{}},"sid":2,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"P3_1","s":{"named":{"_0":"P3_1","_1":[]}},"sid":2,"t":{"protocolDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":0,"t":{"none":{}}},"g":{"e":[]},"i":[],"ma":[],"mc":[],"mf":[{"a":{"a":[]},"d":{"named":{"_0":"P3_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p3_5","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P3_2","_1":[]}},"g":{"e":[]},"gen":false,"mut":false,"n":"p3_6","s":{"function":{"_0":[],"_1":{"void":{}},"_2":{"o":0,"t":{"none":{}}}}},"sid":2,"t":{"functionDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"ms":[],"mt":[],"mv":[{"a":{"a":[]},"d":{"named":{"_0":"P3_2","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p3_3","s":{"int":{}},"sid":2,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"d":{"named":{"_0":"P3_2","_1":[]}},"f":{"o":128,"t":{"none":{}}},"gen":false,"init":false,"n":"p3_4","s":{"int":{}},"sid":2,"v":{"available":{}},"val":false,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"n":"P3_2","s":{"named":{"_0":"P3_2","_1":[]}},"sid":2,"t":{"protocolDeclaration":{}},"v":{"available":{}},"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}],"v":[{"a":{"a":[]},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v1","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2","s":{"int":{}},"sid":0,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_1","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v2_2","s":{"int":{}},"sid":1,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_1","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}},{"a":{"a":[]},"f":{"o":32,"t":{"none":{}}},"gen":false,"init":true,"n":"v3_2","s":{"int":{}},"sid":2,"v":{"available":{}},"val":true,"z":{"f":false,"l":false,"m":false,"n":false,"o":false,"s":false,"sv":{"default":{}},"v":{"public":{}}}}]} """ diff --git a/Tests/SkipSyntaxTests/KotlinCodebaseInfoTests.swift b/Tests/SkipSyntaxTests/KotlinCodebaseInfoTests.swift index 9d8532c2..3d128f4b 100644 --- a/Tests/SkipSyntaxTests/KotlinCodebaseInfoTests.swift +++ b/Tests/SkipSyntaxTests/KotlinCodebaseInfoTests.swift @@ -63,6 +63,41 @@ final class KotlinCodebaseInfoTests: XCTestCase { XCTAssertEqual(true, context.isKotlinUnconstrainedInterfaceMember(name: "baseProtocolVar", parameters: nil, isStatic: false, in: .named("TestsProtocolImpl", []))) XCTAssertEqual(true, context.isKotlinUnconstrainedInterfaceMember(name: "baseProtocolFunc", parameters: functionParameters, isStatic: false, in: .named("TestsProtocolImpl", []))) } + + func testPackageNameOverrides() throws { + defer { KotlinTranslator.packageNameOverrides = [:] } + + // Set up a dependent module with a custom package name + let depSwift = "public class DepClass { }" + let depFile = try tmpFile(named: "Source_DepModule.swift", contents: depSwift) + let depSource = Source(file: Source.FilePath(path: depFile.path), content: depSwift) + let depTree = SyntaxTree(source: depSource) + let depInfo = CodebaseInfo(moduleName: "DepModule") + depInfo.kotlin = KotlinCodebaseInfo(packageName: "com.example.dep") + depInfo.gather(from: depTree) + depInfo.prepareForUse() + let depExport = CodebaseInfo.ModuleExport(of: depInfo) + + // Verify the export captured the custom package name + XCTAssertEqual("com.example.dep", depExport.packageName) + + // Set up the main module with a custom package name and the dependent module + let codebaseInfo = CodebaseInfo(moduleName: "MainModule") + codebaseInfo.kotlin = KotlinCodebaseInfo(packageName: "com.example.main") + codebaseInfo.dependentModules = [depExport] + codebaseInfo.prepareForUse() + + // Verify overrides are populated for both current and dependent modules + XCTAssertEqual("com.example.main", KotlinTranslator.packageNameOverrides["MainModule"]) + XCTAssertEqual("com.example.dep", KotlinTranslator.packageNameOverrides["DepModule"]) + + // Verify packageName(forModule:) uses overrides + XCTAssertEqual("com.example.main", KotlinTranslator.packageName(forModule: "MainModule")) + XCTAssertEqual("com.example.dep", KotlinTranslator.packageName(forModule: "DepModule")) + + // Verify non-overridden modules still use algorithmic names + XCTAssertEqual("other.module", KotlinTranslator.packageName(forModule: "OtherModule")) + } } private let swift = """ diff --git a/Tests/SkipSyntaxTests/NamingTests.swift b/Tests/SkipSyntaxTests/NamingTests.swift index 44cb742b..79e67234 100644 --- a/Tests/SkipSyntaxTests/NamingTests.swift +++ b/Tests/SkipSyntaxTests/NamingTests.swift @@ -236,11 +236,46 @@ final class NamingTests: XCTestCase { """) } - private func codebaseInfo(moduleName: String, swift: String) throws -> CodebaseInfo { + func testCustomPackageNaming() throws { + KotlinTranslator.packageNameOverrides = ["MyLib": "com.example.mylib"] + defer { KotlinTranslator.packageNameOverrides = [:] } + + // Override should be used + XCTAssertEqual("com.example.mylib", KotlinTranslator.packageName(forModule: "MyLib")) + // Non-overridden modules should still use the algorithmic name + XCTAssertEqual("other.module", KotlinTranslator.packageName(forModule: "OtherModule")) + } + + func testCustomPackageNameDependentModule() async throws { + let moduleOne = try CodebaseInfo.ModuleExport(of: codebaseInfo(moduleName: "ModuleOne", packageName: "com.custom.one", swift: """ + public class A { + public func f() -> Swift.Int { + return 0 + } + } + """)) + + try await check(dependentModules: [moduleOne], swift: """ + import ModuleOne + + func f(obj: ModuleOne.A) -> Int { + return obj.f() + } + """, kotlin: """ + import com.custom.one.* + + internal fun f(obj: com.custom.one.A): Int = obj.f() + """) + } + + private func codebaseInfo(moduleName: String, packageName: String? = nil, swift: String) throws -> CodebaseInfo { let srcFile = try tmpFile(named: "Source_\(moduleName).swift", contents: swift) let source = Source(file: Source.FilePath(path: srcFile.path), content: swift) let syntaxTree = SyntaxTree(source: source) let codebaseInfo = CodebaseInfo(moduleName: moduleName) + if let packageName { + codebaseInfo.kotlin = KotlinCodebaseInfo(packageName: packageName) + } codebaseInfo.gather(from: syntaxTree) codebaseInfo.prepareForUse() return codebaseInfo