Projects STRLCPY syft Commits b4ed5994
🤬
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
  • ■ ■ ■ ■ ■
    syft/pkg/cataloger/internal/pkgtest/test_generic_parser.go
    skipped 246 lines
    247 247   t.Errorf("unexpected packages from parsing (-expected +actual)\n%s", diff)
    248 248   }
    249 249   }
    250  - 
    251 250   {
    252 251   var r diffReporter
    253 252   var opts []cmp.Option
    skipped 77 lines
  • ■ ■ ■ ■
    syft/pkg/cataloger/sbom/cataloger.go
    skipped 40 lines
    41 41   }
    42 42   
    43 43   var pkgs []pkg.Package
    44  - var relationships []artifact.Relationship
     44 + relationships := s.Relationships
    45 45   for _, p := range s.Artifacts.Packages.Sorted() {
    46 46   // replace all locations on the package with the location of the SBOM file.
    47 47   // Why not keep the original list of locations? Since the "locations" field is meant to capture
    skipped 18 lines
  • ■ ■ ■ ■ ■ ■
    syft/pkg/cataloger/sbom/cataloger_test.go
    skipped 251 lines
    252 252   },
    253 253   }
    254 254   
    255  - var expectedRelationships []artifact.Relationship
     255 + apkgdbLocation := source.NewLocationSet(source.Location{
     256 + LocationData: source.LocationData{
     257 + Coordinates: source.Coordinates{
     258 + RealPath: "/lib/apk/db/installed",
     259 + FileSystemID: "sha256:e5e13b0c77cbb769548077189c3da2f0a764ceca06af49d8d558e759f5c232bd",
     260 + },
     261 + },
     262 + })
     263 + 
     264 + libSSL := pkg.Package{
     265 + Name: "libssl1.1",
     266 + Version: "1.1.1s-r0",
     267 + Type: "apk",
     268 + Locations: apkgdbLocation,
     269 + Licenses: []string{"OpenSSL"},
     270 + FoundBy: "apkdb-cataloger",
     271 + PURL: "pkg:apk/alpine/[email protected]?arch=x86_64&upstream=openssl&distro=alpine-3.16.3",
     272 + CPEs: mustCPEs(
     273 + "cpe:2.3:a:libssl1.1:libssl1.1:1.1.1s-r0:*:*:*:*:*:*:*",
     274 + ),
     275 + }
     276 + 
     277 + sslClient := pkg.Package{
     278 + Name: "ssl_client",
     279 + Version: "1.35.0-r17",
     280 + Type: "apk",
     281 + Locations: apkgdbLocation,
     282 + Licenses: []string{"GPL-2.0-only"},
     283 + FoundBy: "apkdb-cataloger",
     284 + PURL: "pkg:apk/alpine/[email protected]?arch=x86_64&upstream=busybox&distro=alpine-3.16.3",
     285 + CPEs: mustCPEs(
     286 + "cpe:2.3:a:ssl-client:ssl-client:1.35.0-r17:*:*:*:*:*:*:*",
     287 + "cpe:2.3:a:ssl-client:ssl_client:1.35.0-r17:*:*:*:*:*:*:*",
     288 + "cpe:2.3:a:ssl_client:ssl-client:1.35.0-r17:*:*:*:*:*:*:*",
     289 + "cpe:2.3:a:ssl_client:ssl_client:1.35.0-r17:*:*:*:*:*:*:*",
     290 + "cpe:2.3:a:ssl:ssl-client:1.35.0-r17:*:*:*:*:*:*:*",
     291 + "cpe:2.3:a:ssl:ssl_client:1.35.0-r17:*:*:*:*:*:*:*",
     292 + ),
     293 + }
     294 + 
     295 + baseLayout := pkg.Package{
     296 + Name: "alpine-baselayout",
     297 + Version: "3.2.0-r23",
     298 + Type: "apk",
     299 + Locations: apkgdbLocation,
     300 + Licenses: []string{"GPL-2.0-only"},
     301 + FoundBy: "apkdb-cataloger",
     302 + PURL: "pkg:apk/alpine/[email protected]?arch=x86_64&upstream=alpine-baselayout&distro=alpine-3.16.3",
     303 + CPEs: mustCPEs(
     304 + "cpe:2.3:a:alpine-baselayout:alpine-baselayout:3.2.0-r23:*:*:*:*:*:*:*",
     305 + "cpe:2.3:a:alpine-baselayout:alpine_baselayout:3.2.0-r23:*:*:*:*:*:*:*",
     306 + "cpe:2.3:a:alpine_baselayout:alpine-baselayout:3.2.0-r23:*:*:*:*:*:*:*",
     307 + "cpe:2.3:a:alpine_baselayout:alpine_baselayout:3.2.0-r23:*:*:*:*:*:*:*",
     308 + "cpe:2.3:a:alpine:alpine-baselayout:3.2.0-r23:*:*:*:*:*:*:*",
     309 + "cpe:2.3:a:alpine:alpine_baselayout:3.2.0-r23:*:*:*:*:*:*:*",
     310 + ),
     311 + }
     312 + 
     313 + busybox := pkg.Package{
     314 + Name: "busybox",
     315 + Version: "1.35.0-r17",
     316 + Type: "apk",
     317 + Locations: apkgdbLocation,
     318 + Licenses: []string{"GPL-2.0-only"},
     319 + FoundBy: "apkdb-cataloger",
     320 + PURL: "pkg:apk/alpine/[email protected]?arch=x86_64&upstream=busybox&distro=alpine-3.16.3",
     321 + CPEs: mustCPEs(
     322 + "cpe:2.3:a:busybox:busybox:1.35.0-r17:*:*:*:*:*:*:*",
     323 + ),
     324 + }
     325 + 
     326 + musl := pkg.Package{
     327 + Name: "musl",
     328 + Version: "1.2.3-r1",
     329 + Type: "apk",
     330 + Locations: apkgdbLocation,
     331 + Licenses: []string{"MIT"},
     332 + FoundBy: "apkdb-cataloger",
     333 + PURL: "pkg:apk/alpine/[email protected]?arch=x86_64&upstream=musl&distro=alpine-3.16.3",
     334 + CPEs: mustCPEs(
     335 + "cpe:2.3:a:musl:musl:1.2.3-r1:*:*:*:*:*:*:*",
     336 + ),
     337 + }
     338 + 
     339 + expectedRelationships := []artifact.Relationship{
     340 + {
     341 + From: libSSL,
     342 + To: sslClient,
     343 + Type: artifact.DependencyOfRelationship,
     344 + },
     345 + {
     346 + From: libSSL,
     347 + To: source.Coordinates{
     348 + RealPath: "/lib/libssl.so.1.1",
     349 + FileSystemID: "sha256:e5e13b0c77cbb769548077189c3da2f0a764ceca06af49d8d558e759f5c232bd",
     350 + },
     351 + Type: artifact.ContainsRelationship,
     352 + },
     353 + {
     354 + From: busybox,
     355 + To: baseLayout,
     356 + Type: artifact.DependencyOfRelationship,
     357 + },
     358 + {
     359 + From: baseLayout,
     360 + To: source.Coordinates{
     361 + RealPath: "/etc/profile.d/color_prompt.sh.disabled",
     362 + FileSystemID: "sha256:e5e13b0c77cbb769548077189c3da2f0a764ceca06af49d8d558e759f5c232bd",
     363 + },
     364 + Type: artifact.ContainsRelationship,
     365 + },
     366 + {
     367 + From: baseLayout,
     368 + To: source.Coordinates{
     369 + RealPath: "/etc/modprobe.d/kms.conf",
     370 + FileSystemID: "sha256:e5e13b0c77cbb769548077189c3da2f0a764ceca06af49d8d558e759f5c232bd",
     371 + },
     372 + Type: artifact.ContainsRelationship,
     373 + },
     374 + {
     375 + From: musl,
     376 + To: libSSL,
     377 + Type: artifact.DependencyOfRelationship,
     378 + },
     379 + }
    256 380   
    257 381   for _, p := range expectedPkgs {
    258 382   expectedRelationships = append(expectedRelationships, artifact.Relationship{
    skipped 70 lines
  • ■ ■ ■ ■ ■
    syft/pkg/cataloger/sbom/test-fixtures/alpine/syft-json/sbom.syft.json
    skipped 2021 lines
    2022 2022   "artifactRelationships": [
    2023 2023   {
    2024 2024   "parent": "1455a8342bbb31ff",
    2025  - "child": "42d502b764a37310",
    2026  - "type": "dependency-of"
    2027  - },
    2028  - {
    2029  - "parent": "1455a8342bbb31ff",
    2030 2025   "child": "674d1e2fba4d633a",
    2031 2026   "type": "dependency-of"
    2032 2027   },
    skipped 2 lines
    2035 2030   "child": "bf6955e2941356b2",
    2036 2031   "type": "contains"
    2037 2032   },
    2038  - {
    2039  - "parent": "206fdb47b3e980eb",
    2040  - "child": "716efe160a925698",
    2041  - "type": "dependency-of"
    2042  - },
    2043  - {
    2044  - "parent": "206fdb47b3e980eb",
    2045  - "child": "ae378054cbd7ef90",
    2046  - "type": "contains"
    2047  - },
    2048  - {
    2049  - "parent": "30622a1848b22bca",
    2050  - "child": "42d502b764a37310",
    2051  - "type": "dependency-of"
    2052  - },
    2053  - {
    2054  - "parent": "30622a1848b22bca",
    2055  - "child": "f2d3dfa05f2554a0",
    2056  - "type": "contains"
    2057  - },
    2058  - {
    2059  - "parent": "42d502b764a37310",
    2060  - "child": "6a92934c972808b8",
    2061  - "type": "contains"
    2062  - },
    2063  - {
    2064  - "parent": "42d502b764a37310",
    2065  - "child": "b04bc3289bb54853",
    2066  - "type": "contains"
    2067  - },
    2068  - {
    2069  - "parent": "4b48ef6f6b983526",
    2070  - "child": "231e2b9b768a1fff",
    2071  - "type": "contains"
    2072  - },
    2073  - {
    2074  - "parent": "4b48ef6f6b983526",
    2075  - "child": "51a0badf3b704202",
    2076  - "type": "contains"
    2077  - },
     2033 +
    2078 2034   {
    2079 2035   "parent": "4b48ef6f6b983526",
    2080 2036   "child": "61eac5ce8105d394",
    2081 2037   "type": "dependency-of"
    2082 2038   },
    2083  - {
    2084  - "parent": "4b48ef6f6b983526",
    2085  - "child": "78bf055cad090d65",
    2086  - "type": "contains"
    2087  - },
    2088  - {
    2089  - "parent": "4b48ef6f6b983526",
    2090  - "child": "7b5d21b40bc7eee7",
    2091  - "type": "contains"
    2092  - },
    2093  - {
    2094  - "parent": "4b48ef6f6b983526",
    2095  - "child": "91817eca9cc4b5de",
    2096  - "type": "contains"
    2097  - },
    2098  - {
    2099  - "parent": "4b48ef6f6b983526",
    2100  - "child": "a2c9b7dd9588eed5",
    2101  - "type": "contains"
    2102  - },
     2039 +
    2103 2040   {
    2104 2041   "parent": "61eac5ce8105d394",
    2105 2042   "child": "2a20bd42108d699a",
    skipped 4 lines
    2110 2047   "child": "3617fb189dce6482",
    2111 2048   "type": "contains"
    2112 2049   },
    2113  - {
    2114  - "parent": "61eac5ce8105d394",
    2115  - "child": "3b5675f91b90110",
    2116  - "type": "contains"
    2117  - },
    2118  - {
    2119  - "parent": "61eac5ce8105d394",
    2120  - "child": "6407d5cf424b18ad",
    2121  - "type": "contains"
    2122  - },
    2123  - {
    2124  - "parent": "61eac5ce8105d394",
    2125  - "child": "7e87ca025472176a",
    2126  - "type": "contains"
    2127  - },
    2128  - {
    2129  - "parent": "61eac5ce8105d394",
    2130  - "child": "84e95c181a3977e9",
    2131  - "type": "contains"
    2132  - },
    2133  - {
    2134  - "parent": "61eac5ce8105d394",
    2135  - "child": "9ce07ed49f8fb925",
    2136  - "type": "contains"
    2137  - },
    2138  - {
    2139  - "parent": "61eac5ce8105d394",
    2140  - "child": "b83f6a50a3bd4519",
    2141  - "type": "contains"
    2142  - },
    2143  - {
    2144  - "parent": "61eac5ce8105d394",
    2145  - "child": "c7d306fe1c6785c7",
    2146  - "type": "contains"
    2147  - },
    2148  - {
    2149  - "parent": "61eac5ce8105d394",
    2150  - "child": "c82217b71778b876",
    2151  - "type": "contains"
    2152  - },
    2153  - {
    2154  - "parent": "61eac5ce8105d394",
    2155  - "child": "e6b17bb11a720679",
    2156  - "type": "contains"
    2157  - },
    2158  - {
    2159  - "parent": "64efc8a629f13d02",
    2160  - "child": "1455a8342bbb31ff",
    2161  - "type": "dependency-of"
    2162  - },
    2163  - {
    2164  - "parent": "64efc8a629f13d02",
    2165  - "child": "206fdb47b3e980eb",
    2166  - "type": "dependency-of"
    2167  - },
    2168  - {
    2169  - "parent": "64efc8a629f13d02",
    2170  - "child": "42d502b764a37310",
    2171  - "type": "dependency-of"
    2172  - },
    2173  - {
    2174  - "parent": "64efc8a629f13d02",
    2175  - "child": "42d502b764a37310",
    2176  - "type": "dependency-of"
    2177  - },
     2050 +
    2178 2051   {
    2179 2052   "parent": "64efc8a629f13d02",
    2180  - "child": "4b48ef6f6b983526",
    2181  - "type": "dependency-of"
    2182  - },
    2183  - {
    2184  - "parent": "64efc8a629f13d02",
    2185  - "child": "4c909bab2f47ab6",
    2186  - "type": "contains"
    2187  - },
    2188  - {
    2189  - "parent": "64efc8a629f13d02",
    2190  - "child": "61eac5ce8105d394",
    2191  - "type": "dependency-of"
    2192  - },
    2193  - {
    2194  - "parent": "64efc8a629f13d02",
    2195  - "child": "674d1e2fba4d633a",
    2196  - "type": "dependency-of"
    2197  - },
    2198  - {
    2199  - "parent": "64efc8a629f13d02",
    2200  - "child": "716efe160a925698",
    2201  - "type": "dependency-of"
    2202  - },
    2203  - {
    2204  - "parent": "64efc8a629f13d02",
    2205  - "child": "75f0d92f695b4303",
    2206  - "type": "dependency-of"
    2207  - },
    2208  - {
    2209  - "parent": "64efc8a629f13d02",
    2210  - "child": "8184c2647c8f0bf1",
    2211  - "type": "dependency-of"
    2212  - },
    2213  - {
    2214  - "parent": "674d1e2fba4d633a",
    2215  - "child": "dfa8a561b5b9eed",
    2216  - "type": "contains"
    2217  - },
    2218  - {
    2219  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2220 2053   "child": "1455a8342bbb31ff",
    2221  - "type": "contains"
    2222  - },
    2223  - {
    2224  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2225  - "child": "206fdb47b3e980eb",
    2226  - "type": "contains"
    2227  - },
    2228  - {
    2229  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2230  - "child": "2abd3b45f6fa4702",
    2231  - "type": "contains"
    2232  - },
    2233  - {
    2234  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2235  - "child": "30622a1848b22bca",
    2236  - "type": "contains"
    2237  - },
    2238  - {
    2239  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2240  - "child": "42d502b764a37310",
    2241  - "type": "contains"
    2242  - },
    2243  - {
    2244  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2245  - "child": "4b48ef6f6b983526",
    2246  - "type": "contains"
    2247  - },
    2248  - {
    2249  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2250  - "child": "61eac5ce8105d394",
    2251  - "type": "contains"
    2252  - },
    2253  - {
    2254  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2255  - "child": "64efc8a629f13d02",
    2256  - "type": "contains"
    2257  - },
    2258  - {
    2259  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2260  - "child": "674d1e2fba4d633a",
    2261  - "type": "contains"
    2262  - },
    2263  - {
    2264  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2265  - "child": "716efe160a925698",
    2266  - "type": "contains"
    2267  - },
    2268  - {
    2269  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2270  - "child": "75f0d92f695b4303",
    2271  - "type": "contains"
    2272  - },
    2273  - {
    2274  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2275  - "child": "8184c2647c8f0bf1",
    2276  - "type": "contains"
    2277  - },
    2278  - {
    2279  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2280  - "child": "82d183eb300978cc",
    2281  - "type": "contains"
    2282  - },
    2283  - {
    2284  - "parent": "6b7f97b22b59a2c6bc62354f00df8dcafb8a32716bc958a788a7004e0a391232",
    2285  - "child": "e8c6fcc3a282ed4f",
    2286  - "type": "contains"
    2287  - },
    2288  - {
    2289  - "parent": "716efe160a925698",
    2290  - "child": "1b47e047a7a2d57c",
    2291  - "type": "contains"
    2292  - },
    2293  - {
    2294  - "parent": "716efe160a925698",
    2295  - "child": "2abd3b45f6fa4702",
    2296 2054   "type": "dependency-of"
    2297  - },
    2298  - {
    2299  - "parent": "716efe160a925698",
    2300  - "child": "72d84b54cc507273",
    2301  - "type": "contains"
    2302  - },
    2303  - {
    2304  - "parent": "716efe160a925698",
    2305  - "child": "88f42084360d15dc",
    2306  - "type": "contains"
    2307  - },
    2308  - {
    2309  - "parent": "716efe160a925698",
    2310  - "child": "e0f2d4db60a9b798",
    2311  - "type": "contains"
    2312  - },
    2313  - {
    2314  - "parent": "716efe160a925698",
    2315  - "child": "e4f8a4c0b073c8bc",
    2316  - "type": "contains"
    2317  - },
    2318  - {
    2319  - "parent": "75f0d92f695b4303",
    2320  - "child": "42d502b764a37310",
    2321  - "type": "dependency-of"
    2322  - },
    2323  - {
    2324  - "parent": "75f0d92f695b4303",
    2325  - "child": "52dc0abd8e7f5999",
    2326  - "type": "contains"
    2327  - },
    2328  - {
    2329  - "parent": "8184c2647c8f0bf1",
    2330  - "child": "1455a8342bbb31ff",
    2331  - "type": "dependency-of"
    2332  - },
    2333  - {
    2334  - "parent": "8184c2647c8f0bf1",
    2335  - "child": "287e44a117aa6396",
    2336  - "type": "contains"
    2337  - },
    2338  - {
    2339  - "parent": "8184c2647c8f0bf1",
    2340  - "child": "2ea8f53adecae6f3",
    2341  - "type": "contains"
    2342  - },
    2343  - {
    2344  - "parent": "8184c2647c8f0bf1",
    2345  - "child": "34a945b6fcfc9394",
    2346  - "type": "contains"
    2347  - },
    2348  - {
    2349  - "parent": "8184c2647c8f0bf1",
    2350  - "child": "42d502b764a37310",
    2351  - "type": "dependency-of"
    2352  - },
    2353  - {
    2354  - "parent": "8184c2647c8f0bf1",
    2355  - "child": "461f2cb164a4d9de",
    2356  - "type": "contains"
    2357  - },
    2358  - {
    2359  - "parent": "8184c2647c8f0bf1",
    2360  - "child": "5217fc877d4a56a3",
    2361  - "type": "contains"
    2362  - },
    2363  - {
    2364  - "parent": "8184c2647c8f0bf1",
    2365  - "child": "5b247851eb9d9920",
    2366  - "type": "contains"
    2367  - },
    2368  - {
    2369  - "parent": "8184c2647c8f0bf1",
    2370  - "child": "629d9b60ae1d9e52",
    2371  - "type": "contains"
    2372  - },
    2373  - {
    2374  - "parent": "8184c2647c8f0bf1",
    2375  - "child": "674d1e2fba4d633a",
    2376  - "type": "dependency-of"
    2377  - },
    2378  - {
    2379  - "parent": "8184c2647c8f0bf1",
    2380  - "child": "7c76c319483f88f8",
    2381  - "type": "contains"
    2382  - },
    2383  - {
    2384  - "parent": "8184c2647c8f0bf1",
    2385  - "child": "80d54a8d1cb02a6b",
    2386  - "type": "contains"
    2387  - },
    2388  - {
    2389  - "parent": "8184c2647c8f0bf1",
    2390  - "child": "e90735c3db4c5cc",
    2391  - "type": "contains"
    2392  - },
    2393  - {
    2394  - "parent": "82d183eb300978cc",
    2395  - "child": "202110ab27dcf973",
    2396  - "type": "contains"
    2397  - },
    2398  - {
    2399  - "parent": "82d183eb300978cc",
    2400  - "child": "3078ae894cd9cfbd",
    2401  - "type": "contains"
    2402  - },
    2403  - {
    2404  - "parent": "82d183eb300978cc",
    2405  - "child": "387bdef96b1af6e4",
    2406  - "type": "contains"
    2407  - },
    2408  - {
    2409  - "parent": "82d183eb300978cc",
    2410  - "child": "388b915e3caf5f8b",
    2411  - "type": "contains"
    2412  - },
    2413  - {
    2414  - "parent": "82d183eb300978cc",
    2415  - "child": "3d8ddf18e3124850",
    2416  - "type": "contains"
    2417  - },
    2418  - {
    2419  - "parent": "82d183eb300978cc",
    2420  - "child": "44900ed9ce94fa9e",
    2421  - "type": "contains"
    2422  - },
    2423  - {
    2424  - "parent": "82d183eb300978cc",
    2425  - "child": "487fe69baafa2d7e",
    2426  - "type": "contains"
    2427  - },
    2428  - {
    2429  - "parent": "82d183eb300978cc",
    2430  - "child": "5353cb0dc92ea4b",
    2431  - "type": "contains"
    2432  - },
    2433  - {
    2434  - "parent": "82d183eb300978cc",
    2435  - "child": "55708c7a7e686d62",
    2436  - "type": "contains"
    2437  - },
    2438  - {
    2439  - "parent": "82d183eb300978cc",
    2440  - "child": "55e20144d113e62d",
    2441  - "type": "contains"
    2442  - },
    2443  - {
    2444  - "parent": "82d183eb300978cc",
    2445  - "child": "59a8217f4f6c22a1",
    2446  - "type": "contains"
    2447  - },
    2448  - {
    2449  - "parent": "82d183eb300978cc",
    2450  - "child": "68769d7fd3919789",
    2451  - "type": "contains"
    2452  - },
    2453  - {
    2454  - "parent": "82d183eb300978cc",
    2455  - "child": "6a0ff9781347bfd9",
    2456  - "type": "contains"
    2457  - },
    2458  - {
    2459  - "parent": "82d183eb300978cc",
    2460  - "child": "6fbe3c2a939ebbd2",
    2461  - "type": "contains"
    2462  - },
    2463  - {
    2464  - "parent": "82d183eb300978cc",
    2465  - "child": "7e6812fc46b6a77",
    2466  - "type": "contains"
    2467  - },
    2468  - {
    2469  - "parent": "82d183eb300978cc",
    2470  - "child": "983be5c7034a6165",
    2471  - "type": "contains"
    2472  - },
    2473  - {
    2474  - "parent": "82d183eb300978cc",
    2475  - "child": "a01e0e5b23c3173d",
    2476  - "type": "contains"
    2477  - },
    2478  - {
    2479  - "parent": "82d183eb300978cc",
    2480  - "child": "af97d47465df73a7",
    2481  - "type": "contains"
    2482  - },
    2483  - {
    2484  - "parent": "82d183eb300978cc",
    2485  - "child": "c4944df811809487",
    2486  - "type": "contains"
    2487  - },
    2488  - {
    2489  - "parent": "82d183eb300978cc",
    2490  - "child": "e041389ecc1c5526",
    2491  - "type": "contains"
    2492  - },
    2493  - {
    2494  - "parent": "82d183eb300978cc",
    2495  - "child": "f02ff58080ad2795",
    2496  - "type": "contains"
    2497  - },
    2498  - {
    2499  - "parent": "82d183eb300978cc",
    2500  - "child": "f7de852c28002fea",
    2501  - "type": "contains"
    2502  - },
    2503  - {
    2504  - "parent": "e8c6fcc3a282ed4f",
    2505  - "child": "33b11b3a2ec70e8f",
    2506  - "type": "contains"
    2507  - },
    2508  - {
    2509  - "parent": "e8c6fcc3a282ed4f",
    2510  - "child": "3426822570585ca6",
    2511  - "type": "contains"
    2512  - },
    2513  - {
    2514  - "parent": "e8c6fcc3a282ed4f",
    2515  - "child": "37f2712bfdc05029",
    2516  - "type": "contains"
    2517  - },
    2518  - {
    2519  - "parent": "e8c6fcc3a282ed4f",
    2520  - "child": "61eac5ce8105d394",
    2521  - "type": "dependency-of"
    2522  - },
    2523  - {
    2524  - "parent": "e8c6fcc3a282ed4f",
    2525  - "child": "65ba00203fcb00b7",
    2526  - "type": "contains"
    2527  - },
    2528  - {
    2529  - "parent": "e8c6fcc3a282ed4f",
    2530  - "child": "98d3eb523b0b443b",
    2531  - "type": "contains"
    2532  - },
    2533  - {
    2534  - "parent": "e8c6fcc3a282ed4f",
    2535  - "child": "98fd433dcbda9dd8",
    2536  - "type": "contains"
    2537  - },
    2538  - {
    2539  - "parent": "e8c6fcc3a282ed4f",
    2540  - "child": "aa75789d9e818133",
    2541  - "type": "contains"
    2542  - },
    2543  - {
    2544  - "parent": "e8c6fcc3a282ed4f",
    2545  - "child": "aebdc91357768244",
    2546  - "type": "contains"
    2547  - },
    2548  - {
    2549  - "parent": "e8c6fcc3a282ed4f",
    2550  - "child": "c7479ec33c892d37",
    2551  - "type": "contains"
    2552  - },
    2553  - {
    2554  - "parent": "e8c6fcc3a282ed4f",
    2555  - "child": "de09f2147681af25",
    2556  - "type": "contains"
    2557  - },
    2558  - {
    2559  - "parent": "e8c6fcc3a282ed4f",
    2560  - "child": "e1ce65f920562037",
    2561  - "type": "contains"
    2562  - },
    2563  - {
    2564  - "parent": "e8c6fcc3a282ed4f",
    2565  - "child": "f68970af52c912d3",
    2566  - "type": "contains"
    2567  - },
    2568  - {
    2569  - "parent": "e8c6fcc3a282ed4f",
    2570  - "child": "fc7c614fbff1fe93",
    2571  - "type": "contains"
    2572  - },
    2573  - {
    2574  - "parent": "e8c6fcc3a282ed4f",
    2575  - "child": "ff4dbb6e8f3bb698",
    2576  - "type": "contains"
    2577 2055   }
    2578 2056   ],
    2579 2057   "files": [
    skipped 664 lines
Please wait...
Page is in error, reload to recover