@forgeax/engine-assets-runtime 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../types/dist/animation-target.d.ts","../../types/dist/asset-errors.d.ts","../../types/dist/result.d.ts","../../types/dist/asset-evidence.d.ts","../../types/dist/asset.d.ts","../../types/dist/asset-runtime.d.ts","../../types/dist/material/color-space.d.ts","../../types/dist/material/asset.d.ts","../../types/dist/vfx.d.ts","../../types/dist/handle.d.ts","../../types/dist/material/errors.d.ts","../../types/dist/material/resolve.d.ts","../../types/dist/material/index.d.ts","../../types/dist/asset-producer.d.ts","../../types/dist/catalog.d.ts","../../types/dist/runtime-scope.d.ts","../../types/dist/derive-paramschema.d.ts","../../types/dist/import.d.ts","../../types/dist/index.d.ts","../src/asset-kind.ts","../src/catalog-source.ts","../src/internal/artifact-cache.ts","../src/internal/immutable-payload.ts","../src/internal/asset-graph.ts","../src/internal/validate-runtime-row.ts","../src/internal/catalog-session.ts","../src/internal/decoder-registry.ts","../src/internal/pack-reader.ts","../src/internal/load-asset.ts","../src/index.ts","../src/internal.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.5/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/tasks.d-Bh0IjN67.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.5/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/index.d.ts","../src/__tests__/asset-graph-red.integration.test.ts","../src/__tests__/asset-kind.test.ts","../src/__tests__/asset-registry-core.integration.test.ts","../src/__tests__/asset-registry-public-api.test-d.ts","../src/__tests__/asset-runtime-core-lifecycle.integration.test.ts","../src/__tests__/asset-runtime-snapshot.unit.test.ts","../src/__tests__/catalog-session-red.unit.test.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/index.d.ts","../../image/dist/errors.d.ts","../../image/dist/result.d.ts","../../image/dist/hdr-decoder.d.ts","../../image/dist/image-decoder-browser.d.ts","../../image/dist/image-decoder-node.d.ts","../../image/dist/reimport-reuse-meta.d.ts","../../image/dist/runtime/asset-decoders.d.ts","../../image/dist/runtime/decode-image-bytes.d.ts","../../image/dist/runtime/image-error.d.ts","../../image/dist/source-key.d.ts","../../image/dist/sub-asset-key.d.ts","../../image/dist/to-asset-pack.d.ts","../../image/dist/index.d.ts","../src/__tests__/decode-image-mime-owner.test.ts","../src/__tests__/registry-lifecycle-red.integration.test.ts"],"fileIdsList":[[152,198],[119,120,152,198],[152,195,198],[152,197,198],[198],[152,198,203,231],[152,198,199,204,209,217,228,239],[152,198,199,200,209,217],[147,148,149,152,198],[152,198,201,240],[152,198,202,203,210,218],[152,198,203,228,236],[152,198,204,206,209,217],[152,197,198,205],[152,198,206,207],[152,198,208,209],[152,197,198,209],[152,198,209,210,211,228,239],[152,198,209,210,211,224,228,231],[152,198,206,209,212,217,228,239],[152,198,209,210,212,213,217,228,236,239],[152,198,212,214,228,236,239],[150,151,152,153,154,155,156,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245],[152,198,209,215],[152,198,216,239,244],[152,198,206,209,217,228],[152,198,218],[152,198,219],[152,197,198,220],[152,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245],[152,198,222],[152,198,223],[152,198,209,224,225],[152,198,224,226,240,242],[152,198,209,228,229,231],[152,198,230,231],[152,198,228,229],[152,198,231],[152,198,232],[152,195,198,228,233],[152,198,209,234,235],[152,198,234,235],[152,198,203,217,228,236],[152,198,237],[152,198,217,238],[152,198,212,223,239],[152,198,203,240],[152,198,228,241],[152,198,216,242],[152,198,243],[152,193,198],[152,193,198,209,211,220,228,231,239,242,244],[152,198,228,245],[92,98,116,117,118,121,152,198],[128,152,198],[128,129,152,198],[96,98,99,152,198],[96,98,152,198],[96,152,198],[91,96,107,108,152,198],[91,96,107,152,198],[115,152,198],[91,97,152,198],[91,152,198],[93,152,198],[91,92,93,94,95,152,198],[134,135,152,198],[134,135,136,137,152,198],[134,136,152,198],[134,152,198],[152,165,169,198,239],[152,165,198,228,239],[152,160,198],[152,162,165,198,236,239],[152,198,217,236],[152,198,246],[152,160,198,246],[152,162,165,198,217,239],[152,157,158,161,164,198,209,228,239],[152,165,172,198],[152,157,163,198],[152,165,186,187,198],[152,161,165,198,231,239,246],[152,186,198,246],[152,159,160,198,246],[152,165,198],[152,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,187,188,189,190,191,192,198],[152,165,180,198],[152,165,172,173,198],[152,163,165,173,174,198],[152,164,198],[152,157,160,165,198],[152,165,169,173,174,198],[152,169,198],[152,163,165,168,198,239],[152,157,162,165,172,198],[152,198,228],[152,160,165,186,198,244,246],[102,152,198],[102,103,104,105,152,198],[104,152,198],[100,123,124,126,152,198],[100,101,113,126,152,198],[91,98,100,101,109,126,152,198],[106,152,198],[91,100,101,109,122,125,126,152,198],[100,101,106,109,126,152,198],[100,123,124,125,126,152,198],[100,106,110,111,112,126,152,198],[91,96,98,100,101,106,109,110,111,112,113,114,116,122,123,124,125,126,127,130,131,132,133,138,152,198],[91,98,100,101,109,110,123,124,125,126,131,152,198],[78,83,139,152,198],[78,79,139,152,198],[78,79,80,88,139,152,198],[80,89,139,152,198],[78,80,81,85,87,139,152,198],[139,152,198,210,246,259],[78,79,83,86,139,152,198],[78,152,198],[78,79,80,88,152,198],[88,152,198],[78,82,152,198],[78,80,84,152,198],[78,80,81,82,83,84,85,86,87,152,198],[78,152,198,248],[152,198,247,248,249,250,251,252,253,254,255,256,257,258],[61,62,64,152,198],[61,62,64,78,152,198],[63,152,198],[64,73,152,198],[61,73,74,75,78,152,198],[60,61,62,64,65,67,68,69,72,73,74,75,76,77,152,198],[65,66,78,152,198],[67,152,198],[66,67,70,71,152,198],[62,67,70,152,198],[73,74,152,198]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},"89fe170d9a59f81cd9a9d95de3278f108ff91491810b2529cc0ffb502a57b6c0","0b4928041c807c01b33b1fa028236df635c52f7acff5a40f2c2d0d677b53428b","5ad2e5b8b17893d0eb1f11a1b6e8c03b17344be03a6a72a624cd38ab05fe4d5c","6a1e553079e654a1771463e9eeb98ea4f7bb4b6417a5237d4fdf9b546d49647f","7f11be86b9ac5c2cd5127cd9d40ccc7694c58868a3157692a153d452fc171525","8b52dd8be86f44f871db89a6c1f77f7585688d53141ff55b6c5fac3eb67b1241","6e3488ee1183ea915eb43f08aebc5f75e30be25aef1f678d1965324bdd7506e1","59ca967d9cb92088499ce15a1c389e55a39bb2cb905844439565d9f7d8b1ed5d","a318d8734523d9e750681e7b8e685ef817d4049c5612451f4e849da8b2b572a9","99440a4820b8621d65822e29b01afd8a5938ea94ebea634fdd31d32d3e735629","080e7748d9754ccaea8debbc933552c7976c1ef588f9642a6f07e5a4d139d43b","51342c51a9090c0bc8bae60c5ec1a0f46d6d44db84392f12a8cd46e6d8a9f617","ae777307a0baeb9b5d7ba18e6a029a54eb0b612b1491591dcedb020cc8d36f97","464bedfb5186f124eacfc18488346e51dcf1318f5135e1cbb429f917065e5360","ba3e7709ee018a58cbde4f26ba611f89938725472766bcb325c1ed2ce41e9d6f","459b3765e622008ed590474ae6b61ab55107a7b9529a28d05087a6fef51d7248","ce15f7fa66eb0ff73351db6a626a397eb441aa3572707c2a156897c646b2911d","cc943379ee4a2e1023e8ad62c136d1367906e58e29559195e92cbcc1b296e803","bcf485b4f161e232c90d00f14ec27128227cf1cbdf60b93949b47a9365461a1d",{"version":"522529d0dcb7f4806a57264a30faa9db3c7f052cd916e72c1a9489586d525ff3","signature":"6fea73592cec8964b11e9783e11c3b1c1639d376e8c19ebe61f93296f8896de8"},{"version":"9b9f5f99c7c83ed25776d26d3cc51985fe3fbb4e4a1a541b01aa0d1810b75e4b","signature":"9512eca85e5e4065543e6983dfe575a03412789bcf4d75c8695c61211a58ed6b"},{"version":"665d5cace446c9666ba417d390c47482f3890be950ca3622945cb2f0ccb3ce2e","signature":"00f3ae80219a4d510b1fdbf31ece92d659f4fd4df923afc5c4fa2b53653fd65d"},{"version":"d9fa105b6707f3d47ad586ba5c4780f5ee6a542ce1bb247b3fbfdd4dd5386892","signature":"3103a4f218db8233862a34fa312907b895d3a6452bdab79c4379adbc39f5897e"},{"version":"02ef9915a8edf75db4db2e33be1672b52450f899da747c8859bd583209348403","signature":"0278030998029433811e1e2099c899f0bd6f8031c577b0ac14ae57834dd6a904"},{"version":"4790b347ce5629522d9c36d0ff33f922bd1762b981725ec55ff8f5afa9ed595e","signature":"494733a225da9c4a65a98e83b0917a163ea92c3987360d35b84beebd0b8c6590"},{"version":"b10dd4eaca738c1dec22bad5d446889eeec4572fd73c087c200c3983ee31d69a","signature":"df90a78497082ae45365b2dabb7adaf88ecf6b0081ac221cad6695899fc19dd3"},{"version":"d675856d19b1f7fa58deece9ddab7f15ad7547681135afe70f2f83560b888536","signature":"94a1eedd164ad0dccf0a8e1120eeef896e5412eb91deafa9b53acb8656012ea3"},{"version":"0a7b73932c6ff5f9f9d01f0385864d6822b6789351b40a37d5ca87fbf59a311f","signature":"8f047046f2a0ffee4bb7a3abb02ab713f1f2a41bc442c636f9c79c58090b3870"},{"version":"6bf527c1541f8e913fd06ad4c23be063c711c3f81d2392fac7da5accc12a8eda","signature":"86b8ae515a60d85803a86a8cfbe4ae91a28d990635715991eec328bef708500a"},{"version":"4599e68a39b1e269e4689b521063924479aad30f0f0ab2048a23e40c70e6da63","signature":"e8b9957332d6fdc1f0decd2a91461248e157a2ba32d70f15a32e661a0b0ab183"},{"version":"5a44a42adf20306c69fd5c0d6301837adf32b6bd41e0acac850bb03315fb6b38","signature":"42ff3f330e3ca1f9cc1cada42ded0875c0ccb0e498d1ce84338832b6d465d988"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"9443967db823b66d1682be7fc66392be7c7924e10c3e54900f456341e94591a6","impliedFormat":99},{"version":"424f71d1fae96ac2e878af92345bb87bea1d29f757228fbc190133b305643f2c","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"16fe60bb544cfedfd2b5bb2f7d0b3957be7978706d57d9f06edc9c0c8dbdba23","impliedFormat":99},{"version":"82179358c2d9d7347f1602dc9300039a2250e483137b38ebf31d4d2e5519c181","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"605450898939e8abce51e8085a41b60640278337a969c33cd6b169e7c4f9c3f2","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"ed9bb55ddcbebd5cb3eee991f57ff21438546ee40ee1c310281bd12a6c7cf65b","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"c897a6cd327d21e7cd0dac9f02acfb1090e340a4b8bd3b4aa8156a4922711c69","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e8a7c8536f441d585d347d06d69a30d0183b8ec44fef2e149f6d709ec548460a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"da87d3095703ca6d23cda285c835d011442e748b840702a8c87a86b929f9739e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6f71e32f72b76e5fcabca92be9afc577fb080f3eea34b38fdb2bdf4ce27849c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"446f146bc39953f884a5821359c1a1b5e881567c41e443fcff8b3a40a3a96b00","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17e636239a934d910f3e58318a30b9cca87ae687f70a7c96cccc2ae39af65345","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c964dc819ec64381d8bd2c0e53d865bf77825d34d161de4bd6a5f33a10488275","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"092c1137e31de289f3cc6a57fdccb3cca298d8a680d1e367d206d3318f1394a1","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},"2de226a33141d85eecdfa59c784b17ba19fa772ef61b08c28bd282cd1d066da6","b5c9eb49982bd1af56f1dff7366f4bc3f2380a563624aac7da219685c7900dad","29d3cbd70f24a729bae2960428200f583206f838331a51ad8502db2043c9fcdf","47c2bdbfefd3fc03e8dea843faba0c962e71aae9734c792cec8d6c50620af71a","cfb7165394f9ac0bd5c9a497290ad9a364f5cac842a539fd3a73db6edae51227","b87ddde2f69a477c7a01b036d321739a9ec7466caf3ae72751b0cd62854ea9ce","a388409cb6d4bc5aee034f76da152d17ef754af999ad68e86cb876cbe50dc27a","d0335ee518240fca62b5345593946db48c80adb14847629dbb7a6f363b99d7d2","6f7bd84de76bc0fa6bb84ca438698ca82878cafd0024c2b506f366c4d1e06d82","0fe0d068de08abf91ad6ee1bb59488d239cb8248a0d379b45c875d59697f71d8","93091ac2ebceab61fc55f3c89843adf9ff975e78a766404e6f1efb3188e45ad1","4d3d0713edd4c42e649fe9be02244a74cee3ae7c698e37cf34d4b6e00f63d322","41dd6d610f7cca2bee1fa8f842ca2d3a9549aab23e9933bc04b2007b1f4a1925",{"version":"fe133ae4114de0e6af52f7dec2fedf3174aba6a5aa82a5d10190ee1b32e9085d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"91208b59c5efa10925a03b57901548b9849db73be34cd7742dcb70e127e72b16","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[79,90],[140,146],260,261],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":true,"verbatimModuleSyntax":true},"referencedMap":[[118,1],[121,2],[119,1],[195,3],[196,3],[197,4],[152,5],[198,6],[199,7],[200,8],[147,1],[150,9],[148,1],[149,1],[201,10],[202,11],[203,12],[204,13],[205,14],[206,15],[207,15],[208,16],[209,17],[210,18],[211,19],[153,1],[151,1],[212,20],[213,21],[214,22],[246,23],[215,24],[216,25],[217,26],[218,27],[219,28],[220,29],[221,30],[222,31],[223,32],[224,33],[225,33],[226,34],[227,1],[228,35],[230,36],[229,37],[231,38],[232,39],[233,40],[234,41],[235,42],[236,43],[237,44],[238,45],[239,46],[240,47],[241,48],[242,49],[243,50],[154,1],[155,1],[156,1],[194,51],[244,52],[245,53],[122,54],[129,55],[130,56],[128,1],[91,1],[100,57],[99,58],[123,57],[107,59],[109,60],[108,61],[116,62],[115,1],[98,63],[92,64],[94,65],[96,66],[95,1],[97,64],[93,1],[120,1],[136,67],[138,68],[137,69],[135,70],[134,1],[124,1],[117,1],[58,1],[59,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[172,71],[182,72],[171,71],[192,73],[163,74],[162,75],[191,76],[185,77],[190,78],[165,79],[179,80],[164,81],[188,82],[160,83],[159,76],[189,84],[161,85],[166,86],[167,1],[170,86],[157,1],[193,87],[183,88],[174,89],[175,90],[177,91],[173,92],[176,93],[186,76],[168,94],[169,95],[178,96],[158,97],[181,88],[180,86],[184,1],[187,98],[103,99],[106,100],[104,99],[102,1],[105,101],[125,102],[114,103],[110,104],[111,59],[132,105],[126,106],[112,107],[131,108],[101,1],[113,109],[139,110],[133,111],[127,1],[140,112],[141,113],[142,114],[143,115],[144,114],[145,112],[146,116],[260,117],[261,118],[79,119],[80,119],[89,120],[90,121],[81,119],[83,122],[85,123],[86,122],[82,1],[88,124],[87,119],[84,119],[247,119],[249,125],[250,125],[251,1],[259,126],[252,119],[248,119],[253,119],[254,119],[255,119],[256,1],[257,1],[258,119],[60,1],[61,1],[63,127],[73,1],[65,128],[64,129],[74,130],[76,119],[69,119],[77,131],[78,132],[67,133],[66,134],[70,1],[72,135],[71,136],[62,1],[75,137],[68,1]],"latestChangedDtsFile":"./__tests__/registry-lifecycle-red.integration.test.d.ts","version":"6.0.3"}
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../types/dist/animation-target.d.ts","../../types/dist/asset-errors.d.ts","../../types/dist/result.d.ts","../../types/dist/asset-evidence.d.ts","../../types/dist/asset.d.ts","../../types/dist/asset-runtime.d.ts","../../types/dist/material/color-space.d.ts","../../types/dist/material/asset.d.ts","../../types/dist/vfx.d.ts","../../types/dist/handle.d.ts","../../types/dist/material/errors.d.ts","../../types/dist/material/resolve.d.ts","../../types/dist/material/index.d.ts","../../types/dist/asset-producer.d.ts","../../types/dist/catalog.d.ts","../../types/dist/runtime-scope.d.ts","../../types/dist/derive-paramschema.d.ts","../../types/dist/import.d.ts","../../types/dist/index.d.ts","../src/asset-kind.ts","../src/catalog-source.ts","../src/internal/artifact-cache.ts","../src/internal/immutable-payload.ts","../src/internal/asset-graph.ts","../src/internal/validate-runtime-row.ts","../src/internal/catalog-session.ts","../src/internal/decoder-registry.ts","../src/internal/pack-reader.ts","../src/internal/load-asset.ts","../src/index.ts","../src/internal.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.5/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/tasks.d-Bh0IjN67.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.5/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/index.d.ts","../src/__tests__/asset-graph-red.integration.test.ts","../src/__tests__/asset-kind.test.ts","../src/__tests__/asset-registry-core.integration.test.ts","../src/__tests__/asset-registry-public-api.test-d.ts","../src/__tests__/asset-runtime-core-lifecycle.integration.test.ts","../src/__tests__/asset-runtime-snapshot.unit.test.ts","../src/__tests__/catalog-session-red.unit.test.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/index.d.ts","../../image/dist/errors.d.ts","../../image/dist/result.d.ts","../../image/dist/hdr-decoder.d.ts","../../image/dist/image-decoder-browser.d.ts","../../image/dist/image-decoder-node.d.ts","../../image/dist/reimport-reuse-meta.d.ts","../../image/dist/runtime/asset-decoders.d.ts","../../image/dist/runtime/decode-image-bytes.d.ts","../../image/dist/runtime/image-error.d.ts","../../image/dist/source-key.d.ts","../../image/dist/sub-asset-key.d.ts","../../image/dist/to-asset-pack.d.ts","../../image/dist/index.d.ts","../src/__tests__/decode-image-mime-owner.test.ts","../src/__tests__/registry-lifecycle-red.integration.test.ts"],"fileIdsList":[[152,198],[119,120,152,198],[152,195,198],[152,197,198],[198],[152,198,203,231],[152,198,199,204,209,217,228,239],[152,198,199,200,209,217],[147,148,149,152,198],[152,198,201,240],[152,198,202,203,210,218],[152,198,203,228,236],[152,198,204,206,209,217],[152,197,198,205],[152,198,206,207],[152,198,208,209],[152,197,198,209],[152,198,209,210,211,228,239],[152,198,209,210,211,224,228,231],[152,198,206,209,212,217,228,239],[152,198,209,210,212,213,217,228,236,239],[152,198,212,214,228,236,239],[150,151,152,153,154,155,156,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245],[152,198,209,215],[152,198,216,239,244],[152,198,206,209,217,228],[152,198,218],[152,198,219],[152,197,198,220],[152,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245],[152,198,222],[152,198,223],[152,198,209,224,225],[152,198,224,226,240,242],[152,198,209,228,229,231],[152,198,230,231],[152,198,228,229],[152,198,231],[152,198,232],[152,195,198,228,233],[152,198,209,234,235],[152,198,234,235],[152,198,203,217,228,236],[152,198,237],[152,198,217,238],[152,198,212,223,239],[152,198,203,240],[152,198,228,241],[152,198,216,242],[152,198,243],[152,193,198],[152,193,198,209,211,220,228,231,239,242,244],[152,198,228,245],[92,98,116,117,118,121,152,198],[128,152,198],[128,129,152,198],[96,98,99,152,198],[96,98,152,198],[96,152,198],[91,96,107,108,152,198],[91,96,107,152,198],[115,152,198],[91,97,152,198],[91,152,198],[93,152,198],[91,92,93,94,95,152,198],[134,135,152,198],[134,135,136,137,152,198],[134,136,152,198],[134,152,198],[152,165,169,198,239],[152,165,198,228,239],[152,160,198],[152,162,165,198,236,239],[152,198,217,236],[152,198,246],[152,160,198,246],[152,162,165,198,217,239],[152,157,158,161,164,198,209,228,239],[152,165,172,198],[152,157,163,198],[152,165,186,187,198],[152,161,165,198,231,239,246],[152,186,198,246],[152,159,160,198,246],[152,165,198],[152,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,187,188,189,190,191,192,198],[152,165,180,198],[152,165,172,173,198],[152,163,165,173,174,198],[152,164,198],[152,157,160,165,198],[152,165,169,173,174,198],[152,169,198],[152,163,165,168,198,239],[152,157,162,165,172,198],[152,198,228],[152,160,165,186,198,244,246],[102,152,198],[102,103,104,105,152,198],[104,152,198],[100,123,124,126,152,198],[100,101,113,126,152,198],[91,98,100,101,109,126,152,198],[106,152,198],[91,100,101,109,122,125,126,152,198],[100,101,106,109,126,152,198],[100,123,124,125,126,152,198],[100,106,110,111,112,126,152,198],[91,96,98,100,101,106,109,110,111,112,113,114,116,122,123,124,125,126,127,130,131,132,133,138,152,198],[91,98,100,101,109,110,123,124,125,126,131,152,198],[78,83,139,152,198],[78,79,139,152,198],[78,79,80,88,139,152,198],[80,89,139,152,198],[78,80,81,85,87,139,152,198],[139,152,198,210,246,259],[78,79,83,86,139,152,198],[78,152,198],[78,79,80,88,152,198],[85,88,152,198],[78,82,152,198],[78,80,84,152,198],[78,80,81,82,83,84,85,86,87,152,198],[78,152,198,248],[152,198,247,248,249,250,251,252,253,254,255,256,257,258],[61,62,64,152,198],[61,62,64,78,152,198],[63,152,198],[62,64,73,152,198],[61,73,74,75,78,152,198],[60,61,62,64,65,67,68,69,72,73,74,75,76,77,152,198],[65,66,78,152,198],[67,152,198],[66,67,70,71,152,198],[62,67,70,152,198],[73,74,152,198]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},"89fe170d9a59f81cd9a9d95de3278f108ff91491810b2529cc0ffb502a57b6c0","0b4928041c807c01b33b1fa028236df635c52f7acff5a40f2c2d0d677b53428b","5ad2e5b8b17893d0eb1f11a1b6e8c03b17344be03a6a72a624cd38ab05fe4d5c","6a1e553079e654a1771463e9eeb98ea4f7bb4b6417a5237d4fdf9b546d49647f","7f11be86b9ac5c2cd5127cd9d40ccc7694c58868a3157692a153d452fc171525","8b52dd8be86f44f871db89a6c1f77f7585688d53141ff55b6c5fac3eb67b1241","6e3488ee1183ea915eb43f08aebc5f75e30be25aef1f678d1965324bdd7506e1","59ca967d9cb92088499ce15a1c389e55a39bb2cb905844439565d9f7d8b1ed5d","a318d8734523d9e750681e7b8e685ef817d4049c5612451f4e849da8b2b572a9","99440a4820b8621d65822e29b01afd8a5938ea94ebea634fdd31d32d3e735629","080e7748d9754ccaea8debbc933552c7976c1ef588f9642a6f07e5a4d139d43b","51342c51a9090c0bc8bae60c5ec1a0f46d6d44db84392f12a8cd46e6d8a9f617","ae777307a0baeb9b5d7ba18e6a029a54eb0b612b1491591dcedb020cc8d36f97","d7ba738e316b7baed10ca49cc156b57b8c973b747bec6612e62a925e9f7f33a4","1d5292578fcf0329a43ef19fe2481d7d1cde75e75610019a7897c70dcfff0b31","459b3765e622008ed590474ae6b61ab55107a7b9529a28d05087a6fef51d7248","ce15f7fa66eb0ff73351db6a626a397eb441aa3572707c2a156897c646b2911d","c68fbed241cfa01237d9d15cff9bab1ebdd06f2fe337f536e218c1c39aa5a841","a6fcec9d447e7ea2763d1e5f9cf32a20e7f7cff2fe0da4c48639db063b9cc531",{"version":"522529d0dcb7f4806a57264a30faa9db3c7f052cd916e72c1a9489586d525ff3","signature":"6fea73592cec8964b11e9783e11c3b1c1639d376e8c19ebe61f93296f8896de8"},{"version":"9b9f5f99c7c83ed25776d26d3cc51985fe3fbb4e4a1a541b01aa0d1810b75e4b","signature":"9512eca85e5e4065543e6983dfe575a03412789bcf4d75c8695c61211a58ed6b"},{"version":"665d5cace446c9666ba417d390c47482f3890be950ca3622945cb2f0ccb3ce2e","signature":"00f3ae80219a4d510b1fdbf31ece92d659f4fd4df923afc5c4fa2b53653fd65d"},{"version":"d9fa105b6707f3d47ad586ba5c4780f5ee6a542ce1bb247b3fbfdd4dd5386892","signature":"3103a4f218db8233862a34fa312907b895d3a6452bdab79c4379adbc39f5897e"},{"version":"02ef9915a8edf75db4db2e33be1672b52450f899da747c8859bd583209348403","signature":"0278030998029433811e1e2099c899f0bd6f8031c577b0ac14ae57834dd6a904"},{"version":"4790b347ce5629522d9c36d0ff33f922bd1762b981725ec55ff8f5afa9ed595e","signature":"494733a225da9c4a65a98e83b0917a163ea92c3987360d35b84beebd0b8c6590"},{"version":"b10dd4eaca738c1dec22bad5d446889eeec4572fd73c087c200c3983ee31d69a","signature":"df90a78497082ae45365b2dabb7adaf88ecf6b0081ac221cad6695899fc19dd3"},{"version":"d675856d19b1f7fa58deece9ddab7f15ad7547681135afe70f2f83560b888536","signature":"94a1eedd164ad0dccf0a8e1120eeef896e5412eb91deafa9b53acb8656012ea3"},{"version":"0a7b73932c6ff5f9f9d01f0385864d6822b6789351b40a37d5ca87fbf59a311f","signature":"8f047046f2a0ffee4bb7a3abb02ab713f1f2a41bc442c636f9c79c58090b3870"},{"version":"6bf527c1541f8e913fd06ad4c23be063c711c3f81d2392fac7da5accc12a8eda","signature":"86b8ae515a60d85803a86a8cfbe4ae91a28d990635715991eec328bef708500a"},{"version":"4599e68a39b1e269e4689b521063924479aad30f0f0ab2048a23e40c70e6da63","signature":"e8b9957332d6fdc1f0decd2a91461248e157a2ba32d70f15a32e661a0b0ab183"},{"version":"3bcb0319ea3c39912c724cd239f72bfcdb9b2db3f0b80e2317059a286a82a78d","signature":"acc453a8c427a8bf35d53f6abc1db53a55e3fa9e31a8eaf6315ecc6d4c4b4de3"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"9443967db823b66d1682be7fc66392be7c7924e10c3e54900f456341e94591a6","impliedFormat":99},{"version":"424f71d1fae96ac2e878af92345bb87bea1d29f757228fbc190133b305643f2c","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"16fe60bb544cfedfd2b5bb2f7d0b3957be7978706d57d9f06edc9c0c8dbdba23","impliedFormat":99},{"version":"82179358c2d9d7347f1602dc9300039a2250e483137b38ebf31d4d2e5519c181","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"605450898939e8abce51e8085a41b60640278337a969c33cd6b169e7c4f9c3f2","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"ed9bb55ddcbebd5cb3eee991f57ff21438546ee40ee1c310281bd12a6c7cf65b","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"c897a6cd327d21e7cd0dac9f02acfb1090e340a4b8bd3b4aa8156a4922711c69","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e8a7c8536f441d585d347d06d69a30d0183b8ec44fef2e149f6d709ec548460a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"da87d3095703ca6d23cda285c835d011442e748b840702a8c87a86b929f9739e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6f71e32f72b76e5fcabca92be9afc577fb080f3eea34b38fdb2bdf4ce27849c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"446f146bc39953f884a5821359c1a1b5e881567c41e443fcff8b3a40a3a96b00","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17e636239a934d910f3e58318a30b9cca87ae687f70a7c96cccc2ae39af65345","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c964dc819ec64381d8bd2c0e53d865bf77825d34d161de4bd6a5f33a10488275","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"092c1137e31de289f3cc6a57fdccb3cca298d8a680d1e367d206d3318f1394a1","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},"2de226a33141d85eecdfa59c784b17ba19fa772ef61b08c28bd282cd1d066da6","b5c9eb49982bd1af56f1dff7366f4bc3f2380a563624aac7da219685c7900dad","29d3cbd70f24a729bae2960428200f583206f838331a51ad8502db2043c9fcdf","47c2bdbfefd3fc03e8dea843faba0c962e71aae9734c792cec8d6c50620af71a","cfb7165394f9ac0bd5c9a497290ad9a364f5cac842a539fd3a73db6edae51227","b87ddde2f69a477c7a01b036d321739a9ec7466caf3ae72751b0cd62854ea9ce","a388409cb6d4bc5aee034f76da152d17ef754af999ad68e86cb876cbe50dc27a","d0335ee518240fca62b5345593946db48c80adb14847629dbb7a6f363b99d7d2","6f7bd84de76bc0fa6bb84ca438698ca82878cafd0024c2b506f366c4d1e06d82","0fe0d068de08abf91ad6ee1bb59488d239cb8248a0d379b45c875d59697f71d8","93091ac2ebceab61fc55f3c89843adf9ff975e78a766404e6f1efb3188e45ad1","4d3d0713edd4c42e649fe9be02244a74cee3ae7c698e37cf34d4b6e00f63d322","41dd6d610f7cca2bee1fa8f842ca2d3a9549aab23e9933bc04b2007b1f4a1925",{"version":"fe133ae4114de0e6af52f7dec2fedf3174aba6a5aa82a5d10190ee1b32e9085d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"91208b59c5efa10925a03b57901548b9849db73be34cd7742dcb70e127e72b16","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[79,90],[140,146],260,261],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":true,"verbatimModuleSyntax":true},"referencedMap":[[118,1],[121,2],[119,1],[195,3],[196,3],[197,4],[152,5],[198,6],[199,7],[200,8],[147,1],[150,9],[148,1],[149,1],[201,10],[202,11],[203,12],[204,13],[205,14],[206,15],[207,15],[208,16],[209,17],[210,18],[211,19],[153,1],[151,1],[212,20],[213,21],[214,22],[246,23],[215,24],[216,25],[217,26],[218,27],[219,28],[220,29],[221,30],[222,31],[223,32],[224,33],[225,33],[226,34],[227,1],[228,35],[230,36],[229,37],[231,38],[232,39],[233,40],[234,41],[235,42],[236,43],[237,44],[238,45],[239,46],[240,47],[241,48],[242,49],[243,50],[154,1],[155,1],[156,1],[194,51],[244,52],[245,53],[122,54],[129,55],[130,56],[128,1],[91,1],[100,57],[99,58],[123,57],[107,59],[109,60],[108,61],[116,62],[115,1],[98,63],[92,64],[94,65],[96,66],[95,1],[97,64],[93,1],[120,1],[136,67],[138,68],[137,69],[135,70],[134,1],[124,1],[117,1],[58,1],[59,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[172,71],[182,72],[171,71],[192,73],[163,74],[162,75],[191,76],[185,77],[190,78],[165,79],[179,80],[164,81],[188,82],[160,83],[159,76],[189,84],[161,85],[166,86],[167,1],[170,86],[157,1],[193,87],[183,88],[174,89],[175,90],[177,91],[173,92],[176,93],[186,76],[168,94],[169,95],[178,96],[158,97],[181,88],[180,86],[184,1],[187,98],[103,99],[106,100],[104,99],[102,1],[105,101],[125,102],[114,103],[110,104],[111,59],[132,105],[126,106],[112,107],[131,108],[101,1],[113,109],[139,110],[133,111],[127,1],[140,112],[141,113],[142,114],[143,115],[144,114],[145,112],[146,116],[260,117],[261,118],[79,119],[80,119],[89,120],[90,121],[81,119],[83,122],[85,123],[86,122],[82,1],[88,124],[87,119],[84,119],[247,119],[249,125],[250,125],[251,1],[259,126],[252,119],[248,119],[253,119],[254,119],[255,119],[256,1],[257,1],[258,119],[60,1],[61,1],[63,127],[73,1],[65,128],[64,129],[74,130],[76,119],[69,119],[77,131],[78,132],[67,133],[66,134],[70,1],[72,135],[71,136],[62,1],[75,137],[68,1]],"latestChangedDtsFile":"./__tests__/registry-lifecycle-red.integration.test.d.ts","version":"6.0.3"}
@@ -1,2 +1,3 @@
1
+ export { CatalogSession } from './internal/catalog-session.js';
1
2
  export { type AssetRegistryResolver, getAssetRegistryResolver, } from './internal/load-asset.js';
2
3
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,KAAK,qBAAqB,EAC1B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
package/dist/internal.mjs CHANGED
@@ -1,6 +1,320 @@
1
- import '@forgeax/engine-types';
1
+ import { err, ok } from '@forgeax/engine-types';
2
2
 
3
- // src/internal/load-asset.ts
3
+ // src/internal/catalog-session.ts
4
+ function invalidRow(guid, reason) {
5
+ return err({
6
+ code: "asset-package-invalid",
7
+ expected: "one complete current runtime Catalog row",
8
+ hint: "rebuild the producer Catalog and publish one Pack v2 tuple",
9
+ detail: { guid, reason }
10
+ });
11
+ }
12
+ function validateRuntimeRow(row) {
13
+ if (row === null || typeof row !== "object") return invalidRow("", "row");
14
+ const candidate = row;
15
+ const guid = typeof candidate.guid === "string" ? candidate.guid : "";
16
+ if (guid.trim().length === 0) return invalidRow(guid, "guid");
17
+ if (typeof candidate.kind !== "string" || candidate.kind.trim().length === 0)
18
+ return invalidRow(guid, "kind");
19
+ if (typeof candidate.packageUrl !== "string" || candidate.packageUrl.trim().length === 0)
20
+ return invalidRow(guid, "packageUrl");
21
+ if (typeof candidate.sourcePath !== "string" || candidate.sourcePath.trim().length === 0)
22
+ return invalidRow(guid, "sourcePath");
23
+ if (!Number.isSafeInteger(candidate.publication?.generation))
24
+ return invalidRow(guid, "publication generation");
25
+ if (candidate.publication === void 0) return invalidRow(guid, "publication");
26
+ const publication = candidate.publication;
27
+ if (publication.schemaVersion !== "asset-publication/1" || typeof publication.sourcePath !== "string" || publication.sourcePath.trim().length === 0 || typeof publication.sourceRevision !== "string" || publication.sourceRevision.trim().length === 0 || publication.generation < 0 || typeof publication.digest !== "string" || publication.digest.trim().length === 0 || typeof publication.outputSetDigest !== "string" || publication.outputSetDigest.trim().length === 0 || !Array.isArray(publication.outputs) || publication.receipt === null || typeof publication.receipt !== "object" || !Array.isArray(publication.externalEvidence)) {
28
+ return invalidRow(guid, "publication tuple");
29
+ }
30
+ return ok(Object.freeze({ ...candidate, guid, publication }));
31
+ }
32
+
33
+ // src/internal/catalog-session.ts
34
+ function runtimeError(code, guid, detail) {
35
+ if (code === "catalog-discontinuous") {
36
+ return {
37
+ code,
38
+ expected: "an ordered catalog revision window",
39
+ hint: "reconcile the current Catalog before consuming this delta",
40
+ detail: {
41
+ scopeId: String(detail.scopeId ?? "unknown"),
42
+ expectedGeneration: Number(detail.expectedGeneration ?? 0),
43
+ actualGeneration: Number(detail.actualGeneration ?? 0)
44
+ }
45
+ };
46
+ }
47
+ return {
48
+ code: "asset-package-invalid",
49
+ expected: "a verified Catalog source",
50
+ hint: "repair the producer Catalog and retry with the current publication",
51
+ detail: { guid, reason: String(detail.reason ?? "catalog source failed") }
52
+ };
53
+ }
54
+ function freezeSnapshot(snapshot) {
55
+ return Object.freeze({
56
+ ...snapshot,
57
+ entries: Object.freeze([...snapshot.entries]),
58
+ changed: Object.freeze([...snapshot.changed]),
59
+ removed: Object.freeze([...snapshot.removed]),
60
+ diagnostics: Object.freeze([...snapshot.diagnostics])
61
+ });
62
+ }
63
+ function sameEntry(left, right) {
64
+ return JSON.stringify(left) === JSON.stringify(right);
65
+ }
66
+ function key(guid) {
67
+ return guid.toLowerCase();
68
+ }
69
+ var CatalogSession = class {
70
+ source;
71
+ scopeId;
72
+ generation;
73
+ entries = /* @__PURE__ */ new Map();
74
+ listeners = /* @__PURE__ */ new Set();
75
+ unsubscribe;
76
+ baselinePromise;
77
+ reconcilePromise;
78
+ pending = [];
79
+ currentSnapshot;
80
+ revision;
81
+ diagnostics = [];
82
+ listenerFailures = 0;
83
+ changed = /* @__PURE__ */ new Set();
84
+ removed = /* @__PURE__ */ new Set();
85
+ epoch = 0;
86
+ stale = false;
87
+ staleGeneration = 0;
88
+ started = false;
89
+ disposed = false;
90
+ constructor(source, options = {}) {
91
+ this.source = source;
92
+ this.scopeId = options.scopeId ?? source.expectedScope?.scopeId ?? "asset-runtime";
93
+ this.generation = options.generation ?? source.expectedScope?.generation ?? 0;
94
+ this.currentSnapshot = freezeSnapshot({
95
+ scopeId: this.scopeId,
96
+ generation: this.generation,
97
+ epoch: 0,
98
+ entries: [],
99
+ changed: [],
100
+ removed: [],
101
+ diagnostics: [],
102
+ listenerFailures: 0,
103
+ stale: false
104
+ });
105
+ }
106
+ start() {
107
+ if (this.baselinePromise !== void 0) return this.baselinePromise;
108
+ if (this.disposed) return Promise.resolve(err(this.disposedError()));
109
+ this.unsubscribe = this.source.subscribe((delta) => this.receive(delta));
110
+ const promise = this.source.enumerate().then((result) => {
111
+ if (!result.ok) {
112
+ this.markStale();
113
+ this.publish();
114
+ return err(runtimeError("asset-package-invalid", "", { reason: result.error.code }));
115
+ }
116
+ this.entries.clear();
117
+ for (const entry of result.value) {
118
+ const validated = validateRuntimeRow(entry);
119
+ if (!validated.ok) {
120
+ this.markStale();
121
+ this.publish();
122
+ return err(validated.error);
123
+ }
124
+ this.entries.set(key(validated.value.guid), validated.value);
125
+ }
126
+ this.started = true;
127
+ this.stale = false;
128
+ this.staleGeneration = this.generation;
129
+ this.diagnostics = [];
130
+ for (const delta of this.pending) this.fold(delta, false);
131
+ this.pending = [];
132
+ this.publish();
133
+ return ok(this.currentSnapshot);
134
+ }).catch((cause) => {
135
+ this.markStale();
136
+ this.addDiagnostic("catalog-degraded-rows", "Catalog enumeration must resolve a Result");
137
+ this.publish();
138
+ return err(
139
+ runtimeError("asset-package-invalid", "", {
140
+ reason: cause instanceof Error ? cause.message : String(cause)
141
+ })
142
+ );
143
+ });
144
+ this.baselinePromise = promise;
145
+ void promise.then(
146
+ (result) => {
147
+ if (!result.ok) this.baselinePromise = void 0;
148
+ },
149
+ () => {
150
+ this.baselinePromise = void 0;
151
+ }
152
+ );
153
+ return promise;
154
+ }
155
+ reconcile() {
156
+ if (this.disposed) return Promise.resolve(err(this.disposedError()));
157
+ if (this.reconcilePromise !== void 0) return this.reconcilePromise;
158
+ this.unsubscribe?.();
159
+ this.unsubscribe = void 0;
160
+ this.started = false;
161
+ this.pending = [];
162
+ this.baselinePromise = void 0;
163
+ this.epoch += 1;
164
+ const promise = this.start();
165
+ this.reconcilePromise = promise;
166
+ void promise.then(
167
+ () => {
168
+ if (this.reconcilePromise === promise) this.reconcilePromise = void 0;
169
+ },
170
+ () => {
171
+ if (this.reconcilePromise === promise) this.reconcilePromise = void 0;
172
+ }
173
+ );
174
+ return promise;
175
+ }
176
+ current(guid) {
177
+ return this.entries.get(key(guid));
178
+ }
179
+ snapshot() {
180
+ return this.currentSnapshot;
181
+ }
182
+ discontinuity() {
183
+ if (!this.stale) return void 0;
184
+ return {
185
+ code: "catalog-discontinuous",
186
+ expected: "an ordered, authoritative catalog revision window",
187
+ hint: "reconcile the Catalog source and retry the current publication",
188
+ detail: {
189
+ scopeId: this.scopeId,
190
+ expectedGeneration: this.generation,
191
+ actualGeneration: this.staleGeneration
192
+ }
193
+ };
194
+ }
195
+ subscribe(listener) {
196
+ this.listeners.add(listener);
197
+ return () => this.listeners.delete(listener);
198
+ }
199
+ dispose() {
200
+ if (this.disposed) return;
201
+ this.disposed = true;
202
+ this.unsubscribe?.();
203
+ this.unsubscribe = void 0;
204
+ this.pending = [];
205
+ this.listeners.clear();
206
+ }
207
+ receive(delta) {
208
+ if (this.disposed) return;
209
+ if (!this.started) {
210
+ this.pending.push(delta);
211
+ return;
212
+ }
213
+ this.fold(delta, true);
214
+ }
215
+ fold(delta, publish) {
216
+ if (delta.scopeId !== void 0 && delta.scopeId !== this.scopeId || delta.generation !== void 0 && delta.generation !== this.generation) {
217
+ this.markStale(delta.generation);
218
+ this.addDiagnostic("catalog-scope-mismatch", "delta scope does not match the session");
219
+ if (publish) this.publish();
220
+ return;
221
+ }
222
+ if (delta.authority === "degraded") {
223
+ this.markStale(delta.generation);
224
+ this.addDiagnostic("catalog-degraded-rows", "degraded rows are not identity-bearing");
225
+ if (publish) this.publish();
226
+ return;
227
+ }
228
+ if (delta.revisions !== void 0) {
229
+ const baseline = delta.revisions.baseline;
230
+ const current = delta.revisions.current;
231
+ const valid = baseline.length === current.length && current.every((point) => {
232
+ const prior = baseline.find((item) => item.rootId === point.rootId);
233
+ return prior !== void 0 && point.revision === prior.revision + 1;
234
+ });
235
+ if (!valid) {
236
+ this.markStale(delta.generation);
237
+ this.addDiagnostic("catalog-gap", "delta revision window is not contiguous");
238
+ if (publish) this.publish();
239
+ return;
240
+ }
241
+ }
242
+ let changed = false;
243
+ for (const entry of [...delta.added, ...delta.changed]) {
244
+ const validated = validateRuntimeRow(entry);
245
+ if (!validated.ok) {
246
+ this.markStale(delta.generation);
247
+ this.addDiagnostic("catalog-degraded-rows", "delta contains an invalid runtime row");
248
+ if (publish) this.publish();
249
+ return;
250
+ }
251
+ const entryKey = key(validated.value.guid);
252
+ const prior = this.entries.get(entryKey);
253
+ if (prior === void 0 || !sameEntry(prior, validated.value)) {
254
+ this.entries.set(entryKey, validated.value);
255
+ this.changed.add(entryKey);
256
+ changed = true;
257
+ if (validated.value.revision !== void 0) this.revision = validated.value.revision;
258
+ }
259
+ }
260
+ for (const guid of delta.removed) {
261
+ const entryKey = key(guid);
262
+ if (this.entries.delete(entryKey)) {
263
+ this.removed.add(entryKey);
264
+ changed = true;
265
+ }
266
+ }
267
+ if (changed) this.epoch += 1;
268
+ if (publish) this.publish();
269
+ }
270
+ addDiagnostic(code, expected) {
271
+ if (this.diagnostics.some((diagnostic) => diagnostic.code === code)) return;
272
+ this.diagnostics.push({
273
+ code,
274
+ severity: "blocking",
275
+ expected,
276
+ hint: "reconcile the Catalog before loading the affected publication",
277
+ authority: "catalog"
278
+ });
279
+ }
280
+ markStale(actualGeneration = this.generation) {
281
+ this.stale = true;
282
+ this.staleGeneration = actualGeneration;
283
+ this.epoch += 1;
284
+ }
285
+ publish() {
286
+ this.currentSnapshot = freezeSnapshot({
287
+ scopeId: this.scopeId,
288
+ generation: this.generation,
289
+ epoch: this.epoch,
290
+ ...this.revision === void 0 ? {} : { revision: this.revision },
291
+ entries: [...this.entries.values()].sort(
292
+ (left, right) => key(left.guid).localeCompare(key(right.guid))
293
+ ),
294
+ changed: [...this.changed].sort(),
295
+ removed: [...this.removed].sort(),
296
+ diagnostics: this.diagnostics,
297
+ listenerFailures: this.listenerFailures,
298
+ stale: this.stale
299
+ });
300
+ this.changed.clear();
301
+ this.removed.clear();
302
+ for (const listener of [...this.listeners]) {
303
+ try {
304
+ listener(this.currentSnapshot);
305
+ } catch {
306
+ this.listenerFailures = Math.min(1024, this.listenerFailures + 1);
307
+ this.currentSnapshot = freezeSnapshot({
308
+ ...this.currentSnapshot,
309
+ listenerFailures: this.listenerFailures
310
+ });
311
+ }
312
+ }
313
+ }
314
+ disposedError() {
315
+ return runtimeError("asset-runtime-disposed", "", { scopeId: this.scopeId });
316
+ }
317
+ };
4
318
  var REGISTRY_RESOLVER = /* @__PURE__ */ Symbol.for("forgeax.assets-runtime.registry-resolver");
5
319
  function getAssetRegistryResolver(registry) {
6
320
  const resolver = registry[REGISTRY_RESOLVER];
@@ -10,6 +324,6 @@ function getAssetRegistryResolver(registry) {
10
324
  return resolver;
11
325
  }
12
326
 
13
- export { getAssetRegistryResolver };
327
+ export { CatalogSession, getAssetRegistryResolver };
14
328
  //# sourceMappingURL=internal.mjs.map
15
329
  //# sourceMappingURL=internal.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/internal/load-asset.ts"],"names":[],"mappings":";;;AA+DA,IAAM,iBAAA,mBAAoB,MAAA,CAAO,GAAA,CAAI,0CAA0C,CAAA;AAKxE,SAAS,yBAAyB,QAAA,EAAgD;AACvF,EAAA,MAAM,QAAA,GAAY,SAAkC,iBAAiB,CAAA;AACrE,EAAA,IAAI,aAAa,MAAA,EAAW;AAC1B,IAAA,MAAM,IAAI,UAAU,2DAA2D,CAAA;AAAA,EACjF;AACA,EAAA,OAAO,QAAA;AACT","file":"internal.mjs","sourcesContent":["import type {\n Asset,\n AssetArtifactReader,\n AssetDecoder,\n AssetDecoderInput,\n AssetDecoderLease,\n AssetKind,\n AssetLoadError,\n BuiltinAssetKind,\n BuiltinAssetPayload,\n Result,\n} from '@forgeax/engine-types';\nimport { err, ok } from '@forgeax/engine-types';\nimport type { CatalogSource } from '../catalog-source.js';\nimport { ArtifactCache } from './artifact-cache.js';\nimport { AssetGraph, type AssetGraphSnapshot } from './asset-graph.js';\nimport { CatalogSession, type CatalogSessionOptions } from './catalog-session.js';\nimport { DecoderRegistry } from './decoder-registry.js';\nimport { freezeRuntimePayload } from './immutable-payload.js';\nimport { PackReader } from './pack-reader.js';\nimport { validateRuntimeRow } from './validate-runtime-row.js';\n\nexport interface AssetRegistryOptions extends CatalogSessionOptions {\n readonly catalog: CatalogSource;\n readonly fetcher?: typeof globalThis.fetch;\n readonly maxConcurrentReads?: number;\n}\n\nexport interface AssetLoadOptions {\n readonly signal?: AbortSignal;\n}\n\nexport type AssetRegistrySnapshot = AssetGraphSnapshot;\n\nexport type AssetRegistrySnapshotCounters = AssetRegistrySnapshot['counters'];\n\nexport interface AssetRegistry {\n installDecoder<P, K extends string>(\n kind: AssetKind<P, K>,\n decoder: AssetDecoder<P>,\n ): AssetDecoderLease;\n load<K extends BuiltinAssetKind>(\n guid: string,\n kind: K,\n options?: AssetLoadOptions,\n ): Promise<Result<BuiltinAssetPayload<K>, AssetLoadError>>;\n load<P, K extends string>(\n guid: string,\n kind: AssetKind<P, K>,\n options?: AssetLoadOptions,\n ): Promise<Result<P, AssetLoadError>>;\n snapshot(): AssetRegistrySnapshot;\n subscribe(listener: (snapshot: AssetRegistrySnapshot) => void): () => void;\n dispose(): void;\n}\n\n/** Internal render projection; the root Registry keeps only its five actions. */\nexport interface AssetRegistryResolver {\n readonly epoch: number;\n lookup<T extends Asset>(guid: string): T | undefined;\n guidOf(asset: Asset): string | undefined;\n}\n\nconst REGISTRY_RESOLVER = Symbol.for('forgeax.assets-runtime.registry-resolver');\ntype RegistryWithResolver = AssetRegistry & {\n [REGISTRY_RESOLVER]?: AssetRegistryResolver;\n};\n\nexport function getAssetRegistryResolver(registry: AssetRegistry): AssetRegistryResolver {\n const resolver = (registry as RegistryWithResolver)[REGISTRY_RESOLVER];\n if (resolver === undefined) {\n throw new TypeError('AssetRegistry resolver is not owned by this asset runtime');\n }\n return resolver;\n}\n\nfunction missing(guid: string): AssetLoadError {\n return {\n code: 'asset-not-found',\n expected: `the current Catalog to contain GUID \"${guid}\"`,\n hint: 'inspect the producer Catalog and rebuild the missing publication',\n detail: { guid },\n };\n}\n\nfunction mismatch(guid: string, expectedKind: string, actualKind: string): AssetLoadError {\n return {\n code: 'asset-kind-mismatch',\n expected: `Catalog kind \"${actualKind}\" to match \"${expectedKind}\"`,\n hint: 'pass the Catalog kind or the matching custom AssetKind token',\n detail: { guid, expectedKind, actualKind },\n };\n}\n\nfunction artifactError(guid: string, reason: string): AssetLoadError {\n return {\n code: 'asset-integrity-failed',\n expected: 'the verified artifact byte length and digest',\n hint: 'verify the artifact digest and recook the Pack',\n detail: {\n guid,\n artifactKey: reason,\n expectedDigest: 'descriptor integrity',\n actualDigest: reason,\n },\n };\n}\n\nconst ASSET_GUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n\nfunction invalidGuid(guid: string): AssetLoadError {\n return {\n code: 'asset-guid-invalid',\n expected: 'a 36-character dash-form asset GUID',\n hint: 'pass the producer GUID from the current Catalog row',\n detail: { guid },\n };\n}\n\nexport function createAssetRegistry(options: AssetRegistryOptions): AssetRegistry {\n const session = new CatalogSession(options.catalog, options);\n const reader = new PackReader(options.fetcher === undefined ? {} : { fetcher: options.fetcher });\n const cache = new ArtifactCache();\n const decoders = new DecoderRegistry(\n options.scopeId === undefined ? {} : { scopeId: options.scopeId },\n );\n const graph = new AssetGraph<{ readonly value: unknown; readonly refs: readonly string[] }>({\n ...(options.maxConcurrentReads === undefined\n ? {}\n : { maxConcurrentReads: options.maxConcurrentReads }),\n read: async (guid, signal) => {\n const row = session.current(guid);\n if (row === undefined) return err(missing(guid));\n const validated = validateRuntimeRow(row);\n if (!validated.ok) return validated;\n const publication = validated.value.publication;\n const tuple = {\n scopeId: session.snapshot().scopeId,\n generation: publication.generation,\n digest: publication.digest,\n outputSetDigest: publication.outputSetDigest,\n };\n const pack = await reader.read(row.packageUrl, tuple, signal);\n if (!pack.ok) return pack;\n const envelope = pack.value.assets.find(\n (asset) => asset.guid.toLowerCase() === guid.toLowerCase(),\n );\n if (envelope === undefined) return err(missing(guid));\n const artifacts: AssetArtifactReader = {\n read: (descriptor) => {\n const integrity = descriptor.integrity;\n if (integrity === undefined)\n return Promise.resolve(err(artifactError(guid, descriptor.path)));\n const key = `${tuple.scopeId}:${tuple.generation}:${tuple.outputSetDigest}:${integrity.digest}`;\n return cache.read(key, async () => {\n const url = resolveArtifactUrl(row.packageUrl, descriptor.path);\n let response: Response;\n try {\n response = await (options.fetcher ?? globalThis.fetch)(url, { signal });\n } catch {\n return err(artifactError(guid, descriptor.path));\n }\n if (!response.ok) return err(artifactError(guid, descriptor.path));\n const bytes = new Uint8Array(await response.arrayBuffer());\n if (descriptor.byteLength === undefined || bytes.byteLength !== descriptor.byteLength) {\n return err(artifactError(guid, descriptor.path));\n }\n const actualDigest = await sha256(bytes);\n if (actualDigest !== descriptor.integrity?.digest.toLowerCase()) {\n return err(artifactError(guid, `${descriptor.path}:${actualDigest}`));\n }\n return ok(bytes);\n });\n },\n };\n const input: AssetDecoderInput<unknown> = { envelope, artifacts, signal };\n const decoded = await decoders.loadByKind(envelope.kind, input);\n if (!decoded.ok) return decoded;\n return ok({ value: freezeRuntimePayload(decoded.value), refs: envelope.refs });\n },\n });\n\n let catalogEpoch = session.snapshot().epoch;\n const unsubscribeCatalog = session.subscribe((snapshot) => {\n if (snapshot.epoch === catalogEpoch) return;\n catalogEpoch = snapshot.epoch;\n graph.invalidateForCatalogChange(\n snapshot.stale ? undefined : [...snapshot.changed, ...snapshot.removed],\n );\n });\n\n const registry: AssetRegistry = {\n installDecoder: (kind, decoder) => decoders.install(kind, decoder),\n load: (async (\n guid: string,\n kind: BuiltinAssetKind | AssetKind<unknown, string>,\n loadOptions: AssetLoadOptions = {},\n ): Promise<Result<unknown, AssetLoadError>> => {\n if (!ASSET_GUID_PATTERN.test(guid)) return err(invalidGuid(guid));\n const expectedKind = typeof kind === 'string' ? kind : kind.kind;\n const started = await session.start();\n if (!started.ok) return err(started.error);\n if (session.snapshot().stale) {\n const reconciled = await session.reconcile();\n if (!reconciled.ok) return err(reconciled.error);\n const discontinuity = session.discontinuity();\n if (discontinuity !== undefined) return err(discontinuity);\n }\n const row = session.current(guid);\n if (row === undefined) return err(missing(guid));\n if (row.kind !== expectedKind) return err(mismatch(guid, expectedKind, row.kind));\n const result = await graph.load(guid, loadOptions.signal);\n return result.ok ? ok(result.value.value) : result;\n }) as AssetRegistry['load'],\n snapshot: () => graph.snapshot(),\n subscribe: (listener) => graph.subscribe(listener),\n dispose: () => {\n graph.dispose();\n unsubscribeCatalog();\n decoders.dispose();\n cache.clear();\n session.dispose();\n },\n };\n const resolver: AssetRegistryResolver = {\n get epoch() {\n return graph.snapshot().epoch;\n },\n lookup: <T extends Asset>(guid: string) => graph.lookup(guid) as T | undefined,\n guidOf: (asset: Asset) => graph.guidOf(asset),\n };\n Object.defineProperty(registry, REGISTRY_RESOLVER, {\n value: resolver,\n enumerable: false,\n });\n return registry;\n}\n\nasync function sha256(bytes: Uint8Array): Promise<string> {\n const digest = await globalThis.crypto.subtle.digest('SHA-256', bytes as unknown as BufferSource);\n return `sha256:${Array.from(new Uint8Array(digest), (byte) =>\n byte.toString(16).padStart(2, '0'),\n ).join('')}`;\n}\n\nfunction resolveArtifactUrl(packageUrl: string, path: string): string {\n const separator = packageUrl.lastIndexOf('/');\n const packageDirectory = separator < 0 ? '' : packageUrl.slice(0, separator + 1);\n try {\n return new URL(path, packageDirectory).toString();\n } catch {\n return `${packageDirectory}${path.replace(/^\\//, '')}`;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/internal/validate-runtime-row.ts","../src/internal/catalog-session.ts","../src/internal/load-asset.ts"],"names":["err","ok"],"mappings":"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","file":"internal.mjs","sourcesContent":["import type { CatalogEntry } from '@forgeax/engine-types';\nimport { type AssetLoadError, err, ok, type Result } from '@forgeax/engine-types';\n\nexport interface RuntimeCatalogRow extends CatalogEntry {\n readonly publication: NonNullable<CatalogEntry['publication']>;\n}\n\nfunction invalidRow(guid: string, reason: string): Result<never, AssetLoadError> {\n return err({\n code: 'asset-package-invalid',\n expected: 'one complete current runtime Catalog row',\n hint: 'rebuild the producer Catalog and publish one Pack v2 tuple',\n detail: { guid, reason },\n });\n}\n\nexport function validateRuntimeRow(row: CatalogEntry): Result<RuntimeCatalogRow, AssetLoadError> {\n if (row === null || typeof row !== 'object') return invalidRow('', 'row');\n const candidate = row as Partial<CatalogEntry>;\n const guid = typeof candidate.guid === 'string' ? candidate.guid : '';\n if (guid.trim().length === 0) return invalidRow(guid, 'guid');\n if (typeof candidate.kind !== 'string' || candidate.kind.trim().length === 0)\n return invalidRow(guid, 'kind');\n if (typeof candidate.packageUrl !== 'string' || candidate.packageUrl.trim().length === 0)\n return invalidRow(guid, 'packageUrl');\n if (typeof candidate.sourcePath !== 'string' || candidate.sourcePath.trim().length === 0)\n return invalidRow(guid, 'sourcePath');\n if (!Number.isSafeInteger(candidate.publication?.generation))\n return invalidRow(guid, 'publication generation');\n if (candidate.publication === undefined) return invalidRow(guid, 'publication');\n const publication = candidate.publication;\n if (\n publication.schemaVersion !== 'asset-publication/1' ||\n typeof publication.sourcePath !== 'string' ||\n publication.sourcePath.trim().length === 0 ||\n typeof publication.sourceRevision !== 'string' ||\n publication.sourceRevision.trim().length === 0 ||\n publication.generation < 0 ||\n typeof publication.digest !== 'string' ||\n publication.digest.trim().length === 0 ||\n typeof publication.outputSetDigest !== 'string' ||\n publication.outputSetDigest.trim().length === 0 ||\n !Array.isArray(publication.outputs) ||\n publication.receipt === null ||\n typeof publication.receipt !== 'object' ||\n !Array.isArray(publication.externalEvidence)\n ) {\n return invalidRow(guid, 'publication tuple');\n }\n return ok(Object.freeze({ ...candidate, guid, publication }) as RuntimeCatalogRow);\n}\n","import type {\n CatalogDelta,\n CatalogDiagnostic,\n CatalogEntry,\n ResourceRevision,\n} from '@forgeax/engine-types';\nimport { type AssetLoadError, err, ok, type Result } from '@forgeax/engine-types';\nimport type { CatalogSource } from '../catalog-source.js';\nimport { type RuntimeCatalogRow, validateRuntimeRow } from './validate-runtime-row.js';\n\nexport interface CatalogSessionOptions {\n readonly scopeId?: string;\n readonly generation?: number;\n}\n\nexport interface CatalogSessionSnapshot {\n readonly scopeId: string;\n readonly generation: number;\n readonly epoch: number;\n readonly revision?: ResourceRevision;\n readonly entries: readonly RuntimeCatalogRow[];\n readonly changed: readonly string[];\n readonly removed: readonly string[];\n readonly diagnostics: readonly CatalogDiagnostic[];\n readonly listenerFailures: number;\n readonly stale: boolean;\n}\n\ntype SessionResult = Result<CatalogSessionSnapshot, AssetLoadError>;\ntype SessionListener = (snapshot: CatalogSessionSnapshot) => void;\n\nfunction runtimeError(\n code: AssetLoadError['code'],\n guid: string,\n detail: Record<string, unknown>,\n): AssetLoadError {\n if (code === 'catalog-discontinuous') {\n return {\n code,\n expected: 'an ordered catalog revision window',\n hint: 'reconcile the current Catalog before consuming this delta',\n detail: {\n scopeId: String(detail.scopeId ?? 'unknown'),\n expectedGeneration: Number(detail.expectedGeneration ?? 0),\n actualGeneration: Number(detail.actualGeneration ?? 0),\n },\n };\n }\n return {\n code: 'asset-package-invalid',\n expected: 'a verified Catalog source',\n hint: 'repair the producer Catalog and retry with the current publication',\n detail: { guid, reason: String(detail.reason ?? 'catalog source failed') },\n };\n}\n\nfunction freezeSnapshot(snapshot: CatalogSessionSnapshot): CatalogSessionSnapshot {\n return Object.freeze({\n ...snapshot,\n entries: Object.freeze([...snapshot.entries]),\n changed: Object.freeze([...snapshot.changed]),\n removed: Object.freeze([...snapshot.removed]),\n diagnostics: Object.freeze([...snapshot.diagnostics]),\n });\n}\n\nfunction sameEntry(left: CatalogEntry, right: CatalogEntry): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction key(guid: string): string {\n return guid.toLowerCase();\n}\n\nexport class CatalogSession {\n private readonly source: CatalogSource;\n private readonly scopeId: string;\n private readonly generation: number;\n private readonly entries = new Map<string, RuntimeCatalogRow>();\n private readonly listeners = new Set<SessionListener>();\n private unsubscribe: (() => void) | undefined;\n private baselinePromise: Promise<SessionResult> | undefined;\n private reconcilePromise: Promise<SessionResult> | undefined;\n private pending: CatalogDelta[] = [];\n private currentSnapshot: CatalogSessionSnapshot;\n private revision: ResourceRevision | undefined;\n private diagnostics: CatalogDiagnostic[] = [];\n private listenerFailures = 0;\n private changed = new Set<string>();\n private removed = new Set<string>();\n private epoch = 0;\n private stale = false;\n private staleGeneration = 0;\n private started = false;\n private disposed = false;\n\n constructor(source: CatalogSource, options: CatalogSessionOptions = {}) {\n this.source = source;\n this.scopeId = options.scopeId ?? source.expectedScope?.scopeId ?? 'asset-runtime';\n this.generation = options.generation ?? source.expectedScope?.generation ?? 0;\n this.currentSnapshot = freezeSnapshot({\n scopeId: this.scopeId,\n generation: this.generation,\n epoch: 0,\n entries: [],\n changed: [],\n removed: [],\n diagnostics: [],\n listenerFailures: 0,\n stale: false,\n });\n }\n\n start(): Promise<SessionResult> {\n if (this.baselinePromise !== undefined) return this.baselinePromise;\n if (this.disposed) return Promise.resolve(err(this.disposedError()));\n this.unsubscribe = this.source.subscribe((delta) => this.receive(delta));\n const promise = this.source\n .enumerate()\n .then((result) => {\n if (!result.ok) {\n this.markStale();\n this.publish();\n return err(runtimeError('asset-package-invalid', '', { reason: result.error.code }));\n }\n this.entries.clear();\n for (const entry of result.value) {\n const validated = validateRuntimeRow(entry);\n if (!validated.ok) {\n this.markStale();\n this.publish();\n return err(validated.error);\n }\n this.entries.set(key(validated.value.guid), validated.value);\n }\n this.started = true;\n this.stale = false;\n this.staleGeneration = this.generation;\n this.diagnostics = [];\n for (const delta of this.pending) this.fold(delta, false);\n this.pending = [];\n this.publish();\n return ok(this.currentSnapshot);\n })\n .catch((cause: unknown) => {\n this.markStale();\n this.addDiagnostic('catalog-degraded-rows', 'Catalog enumeration must resolve a Result');\n this.publish();\n return err(\n runtimeError('asset-package-invalid', '', {\n reason: cause instanceof Error ? cause.message : String(cause),\n }),\n );\n });\n this.baselinePromise = promise;\n void promise.then(\n (result) => {\n if (!result.ok) this.baselinePromise = undefined;\n },\n () => {\n this.baselinePromise = undefined;\n },\n );\n return promise;\n }\n\n reconcile(): Promise<SessionResult> {\n if (this.disposed) return Promise.resolve(err(this.disposedError()));\n if (this.reconcilePromise !== undefined) return this.reconcilePromise;\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.started = false;\n this.pending = [];\n this.baselinePromise = undefined;\n this.epoch += 1;\n const promise = this.start();\n this.reconcilePromise = promise;\n void promise.then(\n () => {\n if (this.reconcilePromise === promise) this.reconcilePromise = undefined;\n },\n () => {\n if (this.reconcilePromise === promise) this.reconcilePromise = undefined;\n },\n );\n return promise;\n }\n\n current(guid: string): RuntimeCatalogRow | undefined {\n return this.entries.get(key(guid));\n }\n\n snapshot(): CatalogSessionSnapshot {\n return this.currentSnapshot;\n }\n\n discontinuity(): AssetLoadError | undefined {\n if (!this.stale) return undefined;\n return {\n code: 'catalog-discontinuous',\n expected: 'an ordered, authoritative catalog revision window',\n hint: 'reconcile the Catalog source and retry the current publication',\n detail: {\n scopeId: this.scopeId,\n expectedGeneration: this.generation,\n actualGeneration: this.staleGeneration,\n },\n };\n }\n\n subscribe(listener: SessionListener): () => void {\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n }\n\n dispose(): void {\n if (this.disposed) return;\n this.disposed = true;\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.pending = [];\n this.listeners.clear();\n }\n\n private receive(delta: CatalogDelta): void {\n if (this.disposed) return;\n if (!this.started) {\n this.pending.push(delta);\n return;\n }\n this.fold(delta, true);\n }\n\n private fold(delta: CatalogDelta, publish: boolean): void {\n if (\n (delta.scopeId !== undefined && delta.scopeId !== this.scopeId) ||\n (delta.generation !== undefined && delta.generation !== this.generation)\n ) {\n this.markStale(delta.generation);\n this.addDiagnostic('catalog-scope-mismatch', 'delta scope does not match the session');\n if (publish) this.publish();\n return;\n }\n if (delta.authority === 'degraded') {\n this.markStale(delta.generation);\n this.addDiagnostic('catalog-degraded-rows', 'degraded rows are not identity-bearing');\n if (publish) this.publish();\n return;\n }\n if (delta.revisions !== undefined) {\n const baseline = delta.revisions.baseline;\n const current = delta.revisions.current;\n const valid =\n baseline.length === current.length &&\n current.every((point) => {\n const prior = baseline.find((item) => item.rootId === point.rootId);\n return prior !== undefined && point.revision === prior.revision + 1;\n });\n if (!valid) {\n this.markStale(delta.generation);\n this.addDiagnostic('catalog-gap', 'delta revision window is not contiguous');\n if (publish) this.publish();\n return;\n }\n }\n let changed = false;\n for (const entry of [...delta.added, ...delta.changed]) {\n const validated = validateRuntimeRow(entry);\n if (!validated.ok) {\n this.markStale(delta.generation);\n this.addDiagnostic('catalog-degraded-rows', 'delta contains an invalid runtime row');\n if (publish) this.publish();\n return;\n }\n const entryKey = key(validated.value.guid);\n const prior = this.entries.get(entryKey);\n if (prior === undefined || !sameEntry(prior, validated.value)) {\n this.entries.set(entryKey, validated.value);\n this.changed.add(entryKey);\n changed = true;\n if (validated.value.revision !== undefined) this.revision = validated.value.revision;\n }\n }\n for (const guid of delta.removed) {\n const entryKey = key(guid);\n if (this.entries.delete(entryKey)) {\n this.removed.add(entryKey);\n changed = true;\n }\n }\n if (changed) this.epoch += 1;\n if (publish) this.publish();\n }\n\n private addDiagnostic(code: CatalogDiagnostic['code'], expected: string): void {\n if (this.diagnostics.some((diagnostic) => diagnostic.code === code)) return;\n this.diagnostics.push({\n code,\n severity: 'blocking',\n expected,\n hint: 'reconcile the Catalog before loading the affected publication',\n authority: 'catalog',\n });\n }\n\n private markStale(actualGeneration = this.generation): void {\n this.stale = true;\n this.staleGeneration = actualGeneration;\n this.epoch += 1;\n }\n\n private publish(): void {\n this.currentSnapshot = freezeSnapshot({\n scopeId: this.scopeId,\n generation: this.generation,\n epoch: this.epoch,\n ...(this.revision === undefined ? {} : { revision: this.revision }),\n entries: [...this.entries.values()].sort((left, right) =>\n key(left.guid).localeCompare(key(right.guid)),\n ),\n changed: [...this.changed].sort(),\n removed: [...this.removed].sort(),\n diagnostics: this.diagnostics,\n listenerFailures: this.listenerFailures,\n stale: this.stale,\n });\n this.changed.clear();\n this.removed.clear();\n for (const listener of [...this.listeners]) {\n try {\n listener(this.currentSnapshot);\n } catch {\n this.listenerFailures = Math.min(1024, this.listenerFailures + 1);\n this.currentSnapshot = freezeSnapshot({\n ...this.currentSnapshot,\n listenerFailures: this.listenerFailures,\n });\n }\n }\n }\n\n private disposedError(): AssetLoadError {\n return runtimeError('asset-runtime-disposed', '', { scopeId: this.scopeId });\n }\n}\n","import type {\n Asset,\n AssetArtifactReader,\n AssetDecoder,\n AssetDecoderInput,\n AssetDecoderLease,\n AssetKind,\n AssetLoadError,\n BuiltinAssetKind,\n BuiltinAssetPayload,\n Result,\n} from '@forgeax/engine-types';\nimport { err, ok } from '@forgeax/engine-types';\nimport type { CatalogSource } from '../catalog-source.js';\nimport { ArtifactCache } from './artifact-cache.js';\nimport { AssetGraph, type AssetGraphSnapshot } from './asset-graph.js';\nimport { CatalogSession, type CatalogSessionOptions } from './catalog-session.js';\nimport { DecoderRegistry } from './decoder-registry.js';\nimport { freezeRuntimePayload } from './immutable-payload.js';\nimport { PackReader } from './pack-reader.js';\nimport { validateRuntimeRow } from './validate-runtime-row.js';\n\nexport interface AssetRegistryOptions extends CatalogSessionOptions {\n readonly catalog: CatalogSource;\n readonly fetcher?: typeof globalThis.fetch;\n readonly maxConcurrentReads?: number;\n}\n\nexport interface AssetLoadOptions {\n readonly signal?: AbortSignal;\n}\n\nexport type AssetRegistrySnapshot = AssetGraphSnapshot;\n\nexport type AssetRegistrySnapshotCounters = AssetRegistrySnapshot['counters'];\n\nexport interface AssetRegistry {\n installDecoder<P, K extends string>(\n kind: AssetKind<P, K>,\n decoder: AssetDecoder<P>,\n ): AssetDecoderLease;\n load<K extends BuiltinAssetKind>(\n guid: string,\n kind: K,\n options?: AssetLoadOptions,\n ): Promise<Result<BuiltinAssetPayload<K>, AssetLoadError>>;\n load<P, K extends string>(\n guid: string,\n kind: AssetKind<P, K>,\n options?: AssetLoadOptions,\n ): Promise<Result<P, AssetLoadError>>;\n snapshot(): AssetRegistrySnapshot;\n subscribe(listener: (snapshot: AssetRegistrySnapshot) => void): () => void;\n dispose(): void;\n}\n\n/** Internal render projection; the root Registry keeps only its five actions. */\nexport interface AssetRegistryResolver {\n readonly epoch: number;\n lookup<T extends Asset>(guid: string): T | undefined;\n guidOf(asset: Asset): string | undefined;\n}\n\nconst REGISTRY_RESOLVER = Symbol.for('forgeax.assets-runtime.registry-resolver');\ntype RegistryWithResolver = AssetRegistry & {\n [REGISTRY_RESOLVER]?: AssetRegistryResolver;\n};\n\nexport function getAssetRegistryResolver(registry: AssetRegistry): AssetRegistryResolver {\n const resolver = (registry as RegistryWithResolver)[REGISTRY_RESOLVER];\n if (resolver === undefined) {\n throw new TypeError('AssetRegistry resolver is not owned by this asset runtime');\n }\n return resolver;\n}\n\nfunction missing(guid: string): AssetLoadError {\n return {\n code: 'asset-not-found',\n expected: `the current Catalog to contain GUID \"${guid}\"`,\n hint: 'inspect the producer Catalog and rebuild the missing publication',\n detail: { guid },\n };\n}\n\nfunction mismatch(guid: string, expectedKind: string, actualKind: string): AssetLoadError {\n return {\n code: 'asset-kind-mismatch',\n expected: `Catalog kind \"${actualKind}\" to match \"${expectedKind}\"`,\n hint: 'pass the Catalog kind or the matching custom AssetKind token',\n detail: { guid, expectedKind, actualKind },\n };\n}\n\nfunction artifactError(guid: string, reason: string): AssetLoadError {\n return {\n code: 'asset-integrity-failed',\n expected: 'the verified artifact byte length and digest',\n hint: 'verify the artifact digest and recook the Pack',\n detail: {\n guid,\n artifactKey: reason,\n expectedDigest: 'descriptor integrity',\n actualDigest: reason,\n },\n };\n}\n\nconst ASSET_GUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n\nfunction invalidGuid(guid: string): AssetLoadError {\n return {\n code: 'asset-guid-invalid',\n expected: 'a 36-character dash-form asset GUID',\n hint: 'pass the producer GUID from the current Catalog row',\n detail: { guid },\n };\n}\n\nexport function createAssetRegistry(options: AssetRegistryOptions): AssetRegistry {\n const session = new CatalogSession(options.catalog, options);\n const reader = new PackReader(options.fetcher === undefined ? {} : { fetcher: options.fetcher });\n const cache = new ArtifactCache();\n const decoders = new DecoderRegistry(\n options.scopeId === undefined ? {} : { scopeId: options.scopeId },\n );\n const graph = new AssetGraph<{ readonly value: unknown; readonly refs: readonly string[] }>({\n ...(options.maxConcurrentReads === undefined\n ? {}\n : { maxConcurrentReads: options.maxConcurrentReads }),\n read: async (guid, signal) => {\n const row = session.current(guid);\n if (row === undefined) return err(missing(guid));\n const validated = validateRuntimeRow(row);\n if (!validated.ok) return validated;\n const publication = validated.value.publication;\n const tuple = {\n scopeId: session.snapshot().scopeId,\n generation: publication.generation,\n digest: publication.digest,\n outputSetDigest: publication.outputSetDigest,\n };\n const pack = await reader.read(row.packageUrl, tuple, signal);\n if (!pack.ok) return pack;\n const envelope = pack.value.assets.find(\n (asset) => asset.guid.toLowerCase() === guid.toLowerCase(),\n );\n if (envelope === undefined) return err(missing(guid));\n const artifacts: AssetArtifactReader = {\n read: (descriptor) => {\n const integrity = descriptor.integrity;\n if (integrity === undefined)\n return Promise.resolve(err(artifactError(guid, descriptor.path)));\n const key = `${tuple.scopeId}:${tuple.generation}:${tuple.outputSetDigest}:${integrity.digest}`;\n return cache.read(key, async () => {\n const url = resolveArtifactUrl(row.packageUrl, descriptor.path);\n let response: Response;\n try {\n response = await (options.fetcher ?? globalThis.fetch)(url, { signal });\n } catch {\n return err(artifactError(guid, descriptor.path));\n }\n if (!response.ok) return err(artifactError(guid, descriptor.path));\n const bytes = new Uint8Array(await response.arrayBuffer());\n if (descriptor.byteLength === undefined || bytes.byteLength !== descriptor.byteLength) {\n return err(artifactError(guid, descriptor.path));\n }\n const actualDigest = await sha256(bytes);\n if (actualDigest !== descriptor.integrity?.digest.toLowerCase()) {\n return err(artifactError(guid, `${descriptor.path}:${actualDigest}`));\n }\n return ok(bytes);\n });\n },\n };\n const input: AssetDecoderInput<unknown> = { envelope, artifacts, signal };\n const decoded = await decoders.loadByKind(envelope.kind, input);\n if (!decoded.ok) return decoded;\n return ok({ value: freezeRuntimePayload(decoded.value), refs: envelope.refs });\n },\n });\n\n let catalogEpoch = session.snapshot().epoch;\n const unsubscribeCatalog = session.subscribe((snapshot) => {\n if (snapshot.epoch === catalogEpoch) return;\n catalogEpoch = snapshot.epoch;\n graph.invalidateForCatalogChange(\n snapshot.stale ? undefined : [...snapshot.changed, ...snapshot.removed],\n );\n });\n\n const registry: AssetRegistry = {\n installDecoder: (kind, decoder) => decoders.install(kind, decoder),\n load: (async (\n guid: string,\n kind: BuiltinAssetKind | AssetKind<unknown, string>,\n loadOptions: AssetLoadOptions = {},\n ): Promise<Result<unknown, AssetLoadError>> => {\n if (!ASSET_GUID_PATTERN.test(guid)) return err(invalidGuid(guid));\n const expectedKind = typeof kind === 'string' ? kind : kind.kind;\n const started = await session.start();\n if (!started.ok) return err(started.error);\n if (session.snapshot().stale) {\n const reconciled = await session.reconcile();\n if (!reconciled.ok) return err(reconciled.error);\n const discontinuity = session.discontinuity();\n if (discontinuity !== undefined) return err(discontinuity);\n }\n const row = session.current(guid);\n if (row === undefined) return err(missing(guid));\n if (row.kind !== expectedKind) return err(mismatch(guid, expectedKind, row.kind));\n const result = await graph.load(guid, loadOptions.signal);\n return result.ok ? ok(result.value.value) : result;\n }) as AssetRegistry['load'],\n snapshot: () => graph.snapshot(),\n subscribe: (listener) => graph.subscribe(listener),\n dispose: () => {\n graph.dispose();\n unsubscribeCatalog();\n decoders.dispose();\n cache.clear();\n session.dispose();\n },\n };\n const resolver: AssetRegistryResolver = {\n get epoch() {\n return graph.snapshot().epoch;\n },\n lookup: <T extends Asset>(guid: string) => graph.lookup(guid) as T | undefined,\n guidOf: (asset: Asset) => graph.guidOf(asset),\n };\n Object.defineProperty(registry, REGISTRY_RESOLVER, {\n value: resolver,\n enumerable: false,\n });\n return registry;\n}\n\nasync function sha256(bytes: Uint8Array): Promise<string> {\n const digest = await globalThis.crypto.subtle.digest('SHA-256', bytes as unknown as BufferSource);\n return `sha256:${Array.from(new Uint8Array(digest), (byte) =>\n byte.toString(16).padStart(2, '0'),\n ).join('')}`;\n}\n\nfunction resolveArtifactUrl(packageUrl: string, path: string): string {\n const separator = packageUrl.lastIndexOf('/');\n const packageDirectory = separator < 0 ? '' : packageUrl.slice(0, separator + 1);\n try {\n return new URL(path, packageDirectory).toString();\n } catch {\n return `${packageDirectory}${path.replace(/^\\//, '')}`;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgeax/engine-assets-runtime",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -26,7 +26,7 @@
26
26
  "LICENSE"
27
27
  ],
28
28
  "dependencies": {
29
- "@forgeax/engine-types": "0.1.2"
29
+ "@forgeax/engine-types": "0.1.4"
30
30
  },
31
31
  "forgeax": {
32
32
  "metrics": {
package/src/internal.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { CatalogSession } from './internal/catalog-session.js';
1
2
  export {
2
3
  type AssetRegistryResolver,
3
4
  getAssetRegistryResolver,