diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index fdaf3c869..ebfafbdee 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -16,7 +16,7 @@ on: branches: ['main', main*] pull_request: # The branches below must be a subset of the branches above - branches: ['main'] + branches: ['main', 'main*'] schedule: - cron: '0 2 * * 6' diff --git a/.github/workflows/live-share-build-samples.yaml b/.github/workflows/live-share-build-samples.yaml index ea137d529..a4773851e 100644 --- a/.github/workflows/live-share-build-samples.yaml +++ b/.github/workflows/live-share-build-samples.yaml @@ -2,9 +2,9 @@ name: Build Live Share SDK samples on: push: - branches: [ main ] + branches: [ main, mainv2 ] pull_request: - branches: [ main ] + branches: [ main, mainv2 ] jobs: build: diff --git a/.github/workflows/live-share-test-packages.yaml b/.github/workflows/live-share-test-packages.yaml index a95b7a569..26016d173 100644 --- a/.github/workflows/live-share-test-packages.yaml +++ b/.github/workflows/live-share-test-packages.yaml @@ -2,9 +2,9 @@ name: Test Live Share SDK packages on: push: - branches: [ main ] + branches: [ main, mainv2 ] pull_request: - branches: [ main ] + branches: [ main, mainv2 ] jobs: build: diff --git a/.gitignore b/.gitignore index 505b7ac60..2dd3a6fde 100644 --- a/.gitignore +++ b/.gitignore @@ -365,5 +365,6 @@ docs/assets/main.js # Testing files coverage/ +nyc/ .nyc_output/ build-data.json \ No newline at end of file diff --git a/internal/test-utils/.gitignore b/internal/test-utils/.gitignore new file mode 100644 index 000000000..ee26a5e7b --- /dev/null +++ b/internal/test-utils/.gitignore @@ -0,0 +1,52 @@ +# Compiled TypeScript and CSS +dist +lib + +# Babel +public/scripts/es5 + +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt +.cache-loader + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- +node_modules + +# Typings +typings + +# Debug log from npm +npm-debug.log + +# Code coverage +nyc +.nyc_output/ + +# Chart dependencies +**/charts/*.tgz + +# Generated modules +intel_modules/ +temp_modules/ diff --git a/internal/test-utils/.npmignore b/internal/test-utils/.npmignore new file mode 100644 index 000000000..a40f882cf --- /dev/null +++ b/internal/test-utils/.npmignore @@ -0,0 +1,6 @@ +nyc +*.log +**/*.tsbuildinfo +src/test +dist/test +**/_api-extractor-temp/** diff --git a/internal/test-utils/LICENSE b/internal/test-utils/LICENSE new file mode 100644 index 000000000..60af0a6a4 --- /dev/null +++ b/internal/test-utils/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) Microsoft Corporation and contributors. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/internal/test-utils/README.md b/internal/test-utils/README.md new file mode 100644 index 000000000..68cfea66a --- /dev/null +++ b/internal/test-utils/README.md @@ -0,0 +1,3 @@ +This package contains code to setup tests for live share data objects using a local fluid server. + +Code is duplicated and simplified from "@fluid-private/test-version-utils" and "@fluid-private/test-drivers", which are no longer available over npm in fluid v2. diff --git a/internal/test-utils/package.json b/internal/test-utils/package.json new file mode 100644 index 000000000..c4b4de4b5 --- /dev/null +++ b/internal/test-utils/package.json @@ -0,0 +1,62 @@ +{ + "name": "@live-share-private/test-utils", + "version": "2.0.0-internal.2", + "description": "testing utils for live share", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/live-share-sdk", + "directory": "internal/test-utils" + }, + "license": "MIT", + "author": "Microsoft and contributors", + "sideEffects": false, + "main": "./bin/index.js", + "types": "./bin/index.d.ts", + "scripts": { + "build": "tsc -p tsconfig.json", + "eslint": "eslint --format stylish src", + "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout", + "format": "npm run prettier:fix", + "lint": "npm run prettier && npm run check:release-tags && npm run eslint", + "lint:fix": "npm run prettier:fix && npm run eslint:fix", + "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore", + "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore", + "tsc": "tsc" + }, + "dependencies": { + "@fluid-experimental/attributor": "^2.0.0-rc.1", + "@fluid-experimental/sequence-deprecated": "^2.0.0-rc.1", + "@fluidframework/agent-scheduler": "^2.0.0-rc.1", + "@fluidframework/aqueduct": "^2.0.0-rc.1.0.3", + "@fluidframework/cell": "^2.0.0-rc.1", + "@fluidframework/container-loader": "^2.0.0-rc.1.0.3", + "@fluidframework/container-runtime": "^2.0.0-rc.1.0.4", + "@fluidframework/core-interfaces": "^2.0.0-rc.1", + "@fluidframework/core-utils": "^2.0.0-rc.1", + "@fluidframework/counter": "^2.0.0-rc.1", + "@fluidframework/datastore-definitions": "^2.0.0-rc.1.0.4", + "@fluidframework/driver-definitions": "^2.0.0-rc.1", + "@fluidframework/local-driver": "^2.0.0-rc.1", + "@fluidframework/map": "^2.0.0-rc.1.0.4", + "@fluidframework/matrix": "^2.0.0-rc.1", + "@fluidframework/ordered-collection": "^2.0.0-rc.1", + "@fluidframework/register-collection": "^2.0.0-rc.1.0.4", + "@fluidframework/runtime-definitions": "^2.0.0-rc.1.0.4", + "@fluidframework/sequence": "^2.0.0-rc.1.0.4", + "@fluidframework/server-local-server": "^3.1.0-237980", + "@fluidframework/telemetry-utils": "^2.0.0-rc.1.0.4", + "@fluidframework/test-driver-definitions": "^2.0.0-rc.1", + "@fluidframework/test-utils": "^2.0.0-rc.1.0.3" + }, + "devDependencies": { + "@fluidframework/eslint-config-fluid": "^3.5.0", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "eslint": "~8.56.0", + "eslint-plugin-unused-imports": "^3.1.0", + "mocha-json-output-reporter": "^2.0.1", + "mocha-multi-reporters": "^1.5.1", + "prettier": "~3.0.3", + "rimraf": "^4.4.0", + "typescript": "~5.1.6" + } +} diff --git a/internal/test-utils/src/compatUtils.ts b/internal/test-utils/src/compatUtils.ts new file mode 100644 index 000000000..149a93861 --- /dev/null +++ b/internal/test-utils/src/compatUtils.ts @@ -0,0 +1,148 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import { IFluidLoadable } from "@fluidframework/core-interfaces"; +import { + IFluidDataStoreContext, + IFluidDataStoreFactory, +} from "@fluidframework/runtime-definitions"; +import { + IFluidDataStoreRuntime, + IChannelFactory, +} from "@fluidframework/datastore-definitions"; +import { ISharedDirectory } from "@fluidframework/map"; +import { unreachableCase } from "@fluidframework/core-utils"; +import { + ITestContainerConfig, + DataObjectFactoryType, + ChannelFactoryRegistry, + createTestContainerRuntimeFactory, + TestObjectProvider, +} from "@fluidframework/test-utils"; +import { mixinAttributor } from "@fluid-experimental/attributor"; +import { ContainerRuntimeApi, DataRuntimeApi, LoaderApi } from "./testApi"; +import { LocalServerTestDriver } from "./localServerTestDriver"; +import { LocalDriverApi } from "./localDriverApi"; + +/** + * @internal + */ +export const TestDataObjectType = "@fluid-example/test-dataStore"; + +/** + * @internal + */ +export interface ITestDataObject extends IFluidLoadable { + _context: IFluidDataStoreContext; + _runtime: IFluidDataStoreRuntime; + _root: ISharedDirectory; +} + +function createGetDataStoreFactoryFunction(api: typeof DataRuntimeApi) { + class TestDataObject extends api.DataObject implements ITestDataObject { + public get _context() { + return this.context; + } + public get _runtime() { + return this.runtime; + } + public get _root() { + return this.root; + } + } + + const registryMapping: { [index: string]: any } = {}; + for (const value of Object.values(api.dds)) { + registryMapping[value.getFactory().type] = value.getFactory(); + } + + function convertRegistry( + registry: ChannelFactoryRegistry = [] + ): ChannelFactoryRegistry { + const oldRegistry: [string | undefined, IChannelFactory][] = []; + for (const [key, factory] of registry) { + const oldFactory = registryMapping[factory.type]; + if (oldFactory === undefined) { + throw Error( + `Invalid or unimplemented channel factory: ${factory.type}` + ); + } + oldRegistry.push([key, oldFactory]); + } + + return oldRegistry; + } + + return function ( + containerOptions?: ITestContainerConfig + ): IFluidDataStoreFactory { + const registry = convertRegistry(containerOptions?.registry); + const fluidDataObjectType = containerOptions?.fluidDataObjectType; + switch (fluidDataObjectType) { + case undefined: + case DataObjectFactoryType.Primed: + return new api.DataObjectFactory( + TestDataObjectType, + TestDataObject, + [...registry].map((r) => r[1]), + {} + ); + case DataObjectFactoryType.Test: + return new api.TestFluidObjectFactory(registry); + default: + unreachableCase( + fluidDataObjectType, + `Unknown data store factory type ${fluidDataObjectType}` + ); + } + }; +} + +// Only support current version, not baseVersion support +/** + * @internal + */ +export const getDataStoreFactory = + createGetDataStoreFactoryFunction(DataRuntimeApi); + +/** + * @internal + */ +export async function getVersionedTestObjectProviderFromApis( + apis: Omit +) { + const driver = new LocalServerTestDriver(LocalDriverApi); + + const getDataStoreFactoryFn = createGetDataStoreFactoryFunction( + apis.dataRuntime + ); + const containerFactoryFn = (containerOptions?: ITestContainerConfig) => { + const dataStoreFactory = getDataStoreFactoryFn(containerOptions); + const runtimeCtor = + containerOptions?.enableAttribution === true + ? mixinAttributor(apis.containerRuntime.ContainerRuntime) + : apis.containerRuntime.ContainerRuntime; + const factoryCtor = createTestContainerRuntimeFactory(runtimeCtor); + return new factoryCtor( + TestDataObjectType, + dataStoreFactory, + containerOptions?.runtimeOptions + ); + }; + + return new TestObjectProvider( + apis.loader.Loader, + driver, + containerFactoryFn + ); +} + +export interface CompatApis { + containerRuntime: typeof ContainerRuntimeApi; + dataRuntime: typeof DataRuntimeApi; + dds: (typeof DataRuntimeApi)["dds"]; + driver: typeof LocalDriverApi; + loader: typeof LoaderApi; +} diff --git a/internal/test-utils/src/describeCompat.ts b/internal/test-utils/src/describeCompat.ts new file mode 100644 index 000000000..55270552c --- /dev/null +++ b/internal/test-utils/src/describeCompat.ts @@ -0,0 +1,181 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import { createChildLogger } from "@fluidframework/telemetry-utils"; +import { + getUnexpectedLogErrorException, + ITestObjectProvider, +} from "@fluidframework/test-utils"; +import { + CompatApis, + getVersionedTestObjectProviderFromApis, +} from "./compatUtils"; +import { ContainerRuntimeApi, DataRuntimeApi, LoaderApi } from "./testApi"; +import { LocalDriverApi } from "./localDriverApi"; + +/* + * Mocha Utils for test to generate the compat variants. + */ +function createCompatSuite( + tests: ( + this: Mocha.Suite, + provider: (options?: ITestObjectProviderOptions) => ITestObjectProvider, + apis: CompatApis + ) => void +): (this: Mocha.Suite) => void { + return function (this: Mocha.Suite) { + describe(`Fluid Test: ${this.title}`, () => { + let provider: ITestObjectProvider; + let resetAfterEach: boolean; + const apis: CompatApis = getVersionedApis(); + + before(async function () { + try { + provider = + await getVersionedTestObjectProviderFromApis(apis); + } catch (error) { + const logger = createChildLogger({ + logger: getTestLogger?.(), + namespace: "DescribeCompatSetup", + }); + logger.sendErrorEvent( + { + eventName: "TestObjectProviderLoadFailed", + driverType: "local", + }, + error + ); + throw error; + } + + Object.defineProperty(this, "__fluidTestProvider", { + get: () => provider, + }); + }); + + tests.bind(this)((options?: ITestObjectProviderOptions) => { + resetAfterEach = options?.resetAfterEach ?? true; + if (options?.syncSummarizer === true) { + provider.resetLoaderContainerTracker( + true /* syncSummarizerClients */ + ); + } + return provider; + }, apis); + + afterEach(function (this: Mocha.Context, done: Mocha.Done) { + const logErrors = getUnexpectedLogErrorException( + provider.logger + ); + // if the test failed for another reason + // then we don't need to check errors + // and fail the after each as well + if (this.currentTest?.state === "passed") { + done(logErrors); + } else { + done(); + } + if (resetAfterEach) { + provider.reset(); + } + }); + }); + }; +} + +/** + * Get versioned APIs for the given config. + */ +function getVersionedApis(): CompatApis { + return { + containerRuntime: ContainerRuntimeApi, + dataRuntime: DataRuntimeApi, + dds: DataRuntimeApi.dds, + driver: LocalDriverApi, + loader: LoaderApi, + }; +} + +/** + * @internal + */ +export interface ITestObjectProviderOptions { + /** If true, resets all state after each test completes. */ + resetAfterEach?: boolean; + /** If true, synchronizes summarizer client as well when ensureSynchronized() is called. */ + syncSummarizer?: boolean; +} + +/** + * @internal + */ +export type DescribeCompatSuite = ( + name: string, + tests: ( + this: Mocha.Suite, + provider: (options?: ITestObjectProviderOptions) => ITestObjectProvider, + apis: CompatApis + ) => void +) => Mocha.Suite | void; + +/** + * @internal + */ +export type DescribeCompat = DescribeCompatSuite & { + /** + * Like Mocha's `describe.skip`, but for compat tests. + */ + skip: DescribeCompatSuite; + + /** + * Like Mocha's `describe.only`, but for compat tests. + */ + only: DescribeCompatSuite; + + /** + * Run the test suite ignoring the compatibility matrix. In other words, all Fluid layers will + * reference the current code version. + * + * This is meant as a debug utility for e2e tests: do not check in tests that use it as they won't have any + * compat coverage (attempting to do so will fail the PR gate anyway). + */ + noCompat: DescribeCompatSuite; +}; + +function createCompatDescribe(): DescribeCompat { + const createCompatSuiteWithDefault = ( + tests: ( + this: Mocha.Suite, + provider: () => ITestObjectProvider, + apis: CompatApis + ) => void + ) => { + return createCompatSuite(tests); + }; + const d: DescribeCompat = (name: string, tests) => + describe(name, createCompatSuiteWithDefault(tests)); + d.skip = (name, tests) => + describe.skip(name, createCompatSuiteWithDefault(tests)); + + d.only = (name, tests) => + describe.only(name, createCompatSuiteWithDefault(tests)); + + d.noCompat = (name, tests) => + describe(name, createCompatSuiteWithDefault(tests)); + + return d; +} + +/** + * `describeCompat` expects 3 arguments (name: string, compatVersion: string, tests). + * There are three compatVersion options to generate different combinations, depending of the need of the tests: + * `FullCompat`: generate test variants with compat combinations that varies the version for all layers. + * `LoaderCompat`: generate test variants with compat combinations that only varies the loader version. + * Specific version (String) : specify a minimum compat version (e.g. "2.0.0-rc.1.0.0") which will be the minimum version a + * test suite will test against. This should be equal to the value of pkgVersion at the time you're writing the new test suite. + * + * @internal + */ +export const describeCompat: DescribeCompat = createCompatDescribe(); diff --git a/internal/test-utils/src/index.ts b/internal/test-utils/src/index.ts new file mode 100644 index 000000000..b9bec5840 --- /dev/null +++ b/internal/test-utils/src/index.ts @@ -0,0 +1,6 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +export { describeCompat } from "./describeCompat"; diff --git a/internal/test-utils/src/localDriverApi.ts b/internal/test-utils/src/localDriverApi.ts new file mode 100644 index 000000000..85b82793d --- /dev/null +++ b/internal/test-utils/src/localDriverApi.ts @@ -0,0 +1,26 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import { + LocalDocumentServiceFactory, + LocalResolver, + createLocalResolverCreateNewRequest, +} from "@fluidframework/local-driver"; +import { LocalDeltaConnectionServer } from "@fluidframework/server-local-server"; + +/** + * @internal + */ +export const LocalDriverApi = { + LocalDocumentServiceFactory, + LocalDeltaConnectionServer, + LocalResolver, + createLocalResolverCreateNewRequest, +}; + +/** + * @internal + */ +export type LocalDriverApiType = typeof LocalDriverApi; diff --git a/internal/test-utils/src/localServerTestDriver.ts b/internal/test-utils/src/localServerTestDriver.ts new file mode 100644 index 000000000..7b4829ef2 --- /dev/null +++ b/internal/test-utils/src/localServerTestDriver.ts @@ -0,0 +1,47 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ +import { IRequest } from "@fluidframework/core-interfaces"; +import { + IDocumentServiceFactory, + IUrlResolver, +} from "@fluidframework/driver-definitions"; +import { + ILocalDeltaConnectionServer, + LocalDeltaConnectionServer, +} from "@fluidframework/server-local-server"; +import { ITestDriver } from "@fluidframework/test-driver-definitions"; +import { LocalDriverApiType, LocalDriverApi } from "./localDriverApi.js"; + +/** + * @internal + */ +export class LocalServerTestDriver implements ITestDriver { + private readonly _server = LocalDeltaConnectionServer.create(); + public readonly endpointName = "local"; + public readonly type = "local"; + public readonly version = ""; + + public get server(): ILocalDeltaConnectionServer { + return this._server; + } + + constructor(private readonly api: LocalDriverApiType = LocalDriverApi) { + this._server = api.LocalDeltaConnectionServer.create(); + } + + createDocumentServiceFactory(): IDocumentServiceFactory { + return new this.api.LocalDocumentServiceFactory(this._server); + } + createUrlResolver(): IUrlResolver { + return new this.api.LocalResolver(); + } + createCreateNewRequest(testId: string): IRequest { + return this.api.createLocalResolverCreateNewRequest(testId); + } + + async createContainerUrl(testId: string): Promise { + return `http://localhost/${testId}`; + } +} diff --git a/internal/test-utils/src/testApi.ts b/internal/test-utils/src/testApi.ts new file mode 100644 index 000000000..1a32d7cf1 --- /dev/null +++ b/internal/test-utils/src/testApi.ts @@ -0,0 +1,95 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +// Loader API +import { Loader } from "@fluidframework/container-loader"; + +// ContainerRuntime API +import { ContainerRuntime } from "@fluidframework/container-runtime"; + +// Data Runtime API +import * as agentScheduler from "@fluidframework/agent-scheduler"; +import * as cell from "@fluidframework/cell"; +import { SharedCell } from "@fluidframework/cell"; +import * as counter from "@fluidframework/counter"; +import { SharedCounter } from "@fluidframework/counter"; +import * as map from "@fluidframework/map"; +import { SharedDirectory, SharedMap } from "@fluidframework/map"; +import * as matrix from "@fluidframework/matrix"; +import { SharedMatrix } from "@fluidframework/matrix"; +import * as orderedCollection from "@fluidframework/ordered-collection"; +import { ConsensusQueue } from "@fluidframework/ordered-collection"; +import * as registerCollection from "@fluidframework/register-collection"; +import { ConsensusRegisterCollection } from "@fluidframework/register-collection"; +import * as sequence from "@fluidframework/sequence"; +import { SharedString } from "@fluidframework/sequence"; +import { TestFluidObjectFactory } from "@fluidframework/test-utils"; + +// ContainerRuntime and Data Runtime API +import { + ContainerRuntimeFactoryWithDefaultDataStore, + DataObject, + DataObjectFactory, +} from "@fluidframework/aqueduct"; +import * as sequenceDeprecated from "@fluid-experimental/sequence-deprecated"; + +// #region Current versions of the APIs. + +/** + * @internal + */ +export const LoaderApi = { + version: "", + Loader, +}; + +/** + * @internal + */ +export const ContainerRuntimeApi = { + version: "", + ContainerRuntime, + ContainerRuntimeFactoryWithDefaultDataStore, +}; + +/** + * @internal + */ +export const DataRuntimeApi = { + version: "", + DataObject, + DataObjectFactory, + TestFluidObjectFactory, + dds: { + SharedCell, + SharedCounter, + SharedDirectory, + SharedMap, + SharedMatrix, + ConsensusQueue, + ConsensusRegisterCollection, + SharedString, + }, + /** + * Contains all APIs from imported DDS packages. + * Keep in mind that regardless of the DataRuntime version, + * the APIs will be typechecked as if they were from the latest version. + * + * @remarks - Using these APIs in an e2e test puts additional burden on the test author and anyone making + * changes to those APIs in the future, since this will necessitate back-compat logic in the tests. + * Using non-stable APIs in e2e tests for that reason is discouraged. + */ + packages: { + cell, + counter, + map, + matrix, + orderedCollection, + registerCollection, + sequence, + sequenceDeprecated, + agentScheduler, + }, +}; diff --git a/internal/test-utils/tsconfig.json b/internal/test-utils/tsconfig.json new file mode 100644 index 000000000..dac5d720a --- /dev/null +++ b/internal/test-utils/tsconfig.json @@ -0,0 +1,75 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, + "lib": [ + "es2020", + "DOM" + ] /* Specify library files to be included in the compilation. */, + "allowJs": false /* Allow javascript files to be compiled. */, + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + "declaration": true /* Generates corresponding '.d.ts' file. */, + "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */, + "sourceMap": true /* Generates corresponding '.map' file. */, + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "./bin" /* Redirect output structure to the directory. */, + // "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true /* Skip type checking of declaration files. */, + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + }, + "exclude": ["build", "dist", "node_modules"], + "include": ["test/**/*.ts"], + "files": ["src/index.ts"] +} diff --git a/internal/test-utils/tsconfig.tsbuildinfo b/internal/test-utils/tsconfig.tsbuildinfo new file mode 100644 index 000000000..172956bba --- /dev/null +++ b/internal/test-utils/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es5.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2016.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2017.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2018.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2019.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.dom.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.decorators.d.ts","../../../../.nvm/versions/node/v18.18.1/lib/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/agentkeepalive/index.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/disposable.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/error.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/events.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/fluidrouter.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/provider.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/fluidloadable.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/fluidpackage.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/logger.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/config.d.ts","../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts","../../node_modules/@fluidframework/driver-definitions/dist/urlresolver.d.ts","../../node_modules/@fluidframework/driver-definitions/dist/drivererror.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/users.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/clients.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/config.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/consensus.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/date.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/protocol.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/scopes.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/tokens.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/sockets.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/storage.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/summary.d.ts","../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts","../../node_modules/@fluidframework/driver-definitions/dist/storage.d.ts","../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts","../../node_modules/@fluidframework/test-driver-definitions/dist/interfaces.d.ts","../../node_modules/@fluidframework/test-driver-definitions/dist/index.d.ts","../../node_modules/@fluidframework/core-utils/dist/assert.d.ts","../../node_modules/@fluidframework/core-utils/dist/compare.d.ts","../../node_modules/@fluidframework/core-utils/dist/delay.d.ts","../../node_modules/@fluidframework/core-utils/dist/heap.d.ts","../../node_modules/@fluidframework/core-utils/dist/lazy.d.ts","../../node_modules/@fluidframework/core-utils/dist/promisecache.d.ts","../../node_modules/@fluidframework/core-utils/dist/promises.d.ts","../../node_modules/@fluidframework/core-utils/dist/timer.d.ts","../../node_modules/@fluidframework/core-utils/dist/unreachable.d.ts","../../node_modules/@fluidframework/core-utils/dist/index.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/users.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/clients.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/config.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/consensus.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/date.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/protocol.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/scopes.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/tokens.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/sockets.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/storage.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/summary.d.ts","./node_modules/@fluidframework/protocol-definitions/dist/index.d.ts","./node_modules/@fluidframework/server-services-core/dist/cache.d.ts","./node_modules/@fluidframework/server-services-core/dist/celanames.d.ts","./node_modules/@fluidframework/server-services-core/dist/clientmanager.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/events/index.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/dom-events.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/index.d.ts","../../node_modules/@types/nconf/index.d.ts","./node_modules/@fluidframework/server-services-core/dist/messages.d.ts","../../node_modules/@fluidframework/common-utils/dist/assert.d.ts","../../node_modules/@fluidframework/common-utils/dist/base64encoding.d.ts","../../node_modules/@fluidframework/common-utils/dist/buffershared.d.ts","../../node_modules/@fluidframework/common-utils/dist/delay.d.ts","../../node_modules/@fluidframework/common-definitions/dist/disposable.d.ts","../../node_modules/@fluidframework/common-definitions/dist/events.d.ts","../../node_modules/@fluidframework/common-definitions/dist/logger.d.ts","../../node_modules/@fluidframework/common-definitions/dist/index.d.ts","../../node_modules/@fluidframework/common-utils/dist/disposal.d.ts","../../node_modules/@fluidframework/common-utils/dist/typedeventemitter.d.ts","../../node_modules/@fluidframework/common-utils/dist/eventforwarder.d.ts","../../node_modules/@fluidframework/common-utils/dist/heap.d.ts","../../node_modules/@fluidframework/common-utils/dist/buffernode.d.ts","../../node_modules/@fluidframework/common-utils/dist/hashfilenode.d.ts","../../node_modules/@fluidframework/common-utils/dist/performanceisomorphic.d.ts","../../node_modules/@fluidframework/common-utils/dist/indexnode.d.ts","../../node_modules/@fluidframework/common-utils/dist/lazy.d.ts","../../node_modules/@fluidframework/common-utils/dist/logger.d.ts","../../node_modules/@fluidframework/common-utils/dist/promisecache.d.ts","../../node_modules/@fluidframework/common-utils/dist/promises.d.ts","../../node_modules/@fluidframework/common-utils/dist/rangetracker.d.ts","../../node_modules/@fluidframework/common-utils/dist/ratelimiter.d.ts","../../node_modules/@fluidframework/common-utils/dist/safeparser.d.ts","../../node_modules/@fluidframework/common-utils/dist/timer.d.ts","../../node_modules/@fluidframework/common-utils/dist/trace.d.ts","../../node_modules/@fluidframework/common-utils/dist/unreachable.d.ts","../../node_modules/@fluidframework/common-utils/dist/index.d.ts","./node_modules/@fluidframework/server-services-core/dist/queue.d.ts","./node_modules/@fluidframework/server-services-core/dist/lambdas.d.ts","./node_modules/@fluidframework/server-services-core/dist/combinedcontext.d.ts","./node_modules/@fluidframework/server-services-core/dist/combinedlambda.d.ts","./node_modules/@fluidframework/server-services-core/dist/combinedproducer.d.ts","./node_modules/@fluidframework/server-services-core/dist/configuration.d.ts","./node_modules/@fluidframework/gitresources/dist/resources.d.ts","./node_modules/@fluidframework/gitresources/dist/services.d.ts","./node_modules/@fluidframework/gitresources/dist/index.d.ts","./node_modules/@fluidframework/server-services-client/dist/auth.d.ts","./node_modules/@fluidframework/server-services-client/dist/array.d.ts","./node_modules/@fluidframework/server-services-client/dist/constants.d.ts","./node_modules/@fluidframework/server-services-client/dist/error.d.ts","./node_modules/@fluidframework/server-services-client/dist/generatenames.d.ts","./node_modules/@fluidframework/server-services-client/dist/storagecontracts.d.ts","./node_modules/@fluidframework/server-services-client/dist/storage.d.ts","./node_modules/@fluidframework/server-services-client/dist/gitmanager.d.ts","./node_modules/@fluidframework/server-services-client/dist/heap.d.ts","../../node_modules/axios/index.d.ts","./node_modules/@fluidframework/server-services-client/dist/restwrapper.d.ts","./node_modules/@fluidframework/server-services-client/dist/historian.d.ts","./node_modules/@fluidframework/server-services-client/dist/interfaces.d.ts","./node_modules/@fluidframework/server-services-client/dist/promisetimeout.d.ts","./node_modules/@fluidframework/server-services-client/dist/restlessclient.d.ts","./node_modules/@fluidframework/server-services-client/dist/rollinghash.d.ts","./node_modules/@fluidframework/server-services-client/dist/scopes.d.ts","./node_modules/@fluidframework/protocol-base/dist/githelper.d.ts","./node_modules/@fluidframework/protocol-base/dist/quorum.d.ts","./node_modules/@fluidframework/protocol-base/dist/protocol.d.ts","./node_modules/@fluidframework/protocol-base/dist/index.d.ts","./node_modules/@fluidframework/server-services-client/dist/scribehelper.d.ts","./node_modules/@fluidframework/server-services-client/dist/storageutils.d.ts","./node_modules/@fluidframework/server-services-client/dist/summarytreeuploadmanager.d.ts","./node_modules/@fluidframework/server-services-client/dist/timeoutcontext.d.ts","./node_modules/@fluidframework/server-services-client/dist/utils.d.ts","./node_modules/@fluidframework/server-services-client/dist/wholesummaryuploadmanager.d.ts","./node_modules/@fluidframework/server-services-client/dist/index.d.ts","./node_modules/@fluidframework/server-services-core/dist/document.d.ts","./node_modules/@fluidframework/server-services-core/dist/http.d.ts","./node_modules/@fluidframework/server-services-core/dist/orderer.d.ts","./node_modules/@fluidframework/server-services-core/dist/database.d.ts","./node_modules/@fluidframework/server-services-core/dist/delta.d.ts","./node_modules/@fluidframework/server-services-core/dist/documentmanager.d.ts","./node_modules/@fluidframework/server-services-core/dist/taskmessages.d.ts","./node_modules/@fluidframework/server-services-core/dist/emptytaskmessagesender.d.ts","./node_modules/@fluidframework/server-services-core/dist/metricclient.d.ts","./node_modules/@fluidframework/server-services-core/dist/mongo.d.ts","./node_modules/@fluidframework/server-services-core/dist/mongodatabasemanager.d.ts","./node_modules/@fluidframework/server-services-core/dist/mongodocumentrepository.d.ts","./node_modules/@fluidframework/server-services-core/dist/mongocheckpointrepository.d.ts","./node_modules/@fluidframework/server-services-core/dist/checkpointservice.d.ts","./node_modules/@fluidframework/server-services-core/dist/pendingboxcar.d.ts","./node_modules/@fluidframework/server-services-core/dist/publisher.d.ts","./node_modules/@fluidframework/server-services-core/dist/runner.d.ts","./node_modules/@fluidframework/server-services-core/dist/runwithretry.d.ts","./node_modules/@fluidframework/server-services-core/dist/tenant.d.ts","./node_modules/@fluidframework/server-services-core/dist/secretmanager.d.ts","./node_modules/@fluidframework/server-services-core/dist/storagenameallocator.d.ts","./node_modules/@fluidframework/server-services-core/dist/storagenameretriever.d.ts","./node_modules/@fluidframework/server-services-core/dist/throttler.d.ts","./node_modules/@fluidframework/server-services-core/dist/token.d.ts","./node_modules/@fluidframework/server-services-core/dist/usagedata.d.ts","./node_modules/@fluidframework/server-services-core/dist/zookeeper.d.ts","./node_modules/@fluidframework/server-services-core/dist/tokenrevocationmanager.d.ts","./node_modules/@fluidframework/server-services-core/dist/servicemessage.d.ts","./node_modules/@fluidframework/server-services-core/dist/clusterdraining.d.ts","./node_modules/@fluidframework/server-services-core/dist/websockettracker.d.ts","./node_modules/@fluidframework/server-services-core/dist/index.d.ts","../../node_modules/@types/ms/index.d.ts","../../node_modules/@types/debug/index.d.ts","./node_modules/@fluidframework/server-test-utils/dist/logger.d.ts","./node_modules/@fluidframework/server-test-utils/dist/messagefactory.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testcache.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testdeltamanager.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testnotimplementeddocumentrepository.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testnotimplementedcheckpointrepository.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testnotimplementedcheckpointservice.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testclientmanager.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testcollection.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testcontext.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testdocumentstorage.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testhistorian.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testkafka.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testpublisher.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testtenantmanager.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testthrottleandusagestoragemanager.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testthrottler.d.ts","./node_modules/@fluidframework/server-test-utils/dist/testthrottlerhelper.d.ts","./node_modules/@fluidframework/server-test-utils/dist/index.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/interfaces.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/localcontext.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/localkafka.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/locallambdacontroller.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/localnode.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/localnodefactory.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/pubsub.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/localorderer.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/localordermanager.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/nodemanager.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/reservationmanager.d.ts","./node_modules/@fluidframework/server-memory-orderer/dist/index.d.ts","./node_modules/@fluidframework/server-local-server/dist/localwebsocketserver.d.ts","./node_modules/@fluidframework/server-local-server/dist/localdeltaconnectionserver.d.ts","./node_modules/@fluidframework/server-local-server/dist/localorderermanager.d.ts","./node_modules/@fluidframework/server-local-server/dist/index.d.ts","../../node_modules/@fluidframework/server-services-core/dist/cache.d.ts","../../node_modules/@fluidframework/server-services-core/dist/celanames.d.ts","../../node_modules/@fluidframework/server-services-core/dist/clientmanager.d.ts","../../node_modules/@fluidframework/server-services-core/dist/messages.d.ts","../../node_modules/@fluidframework/server-services-core/dist/queue.d.ts","../../node_modules/@fluidframework/server-services-core/dist/lambdas.d.ts","../../node_modules/@fluidframework/server-services-core/dist/combinedcontext.d.ts","../../node_modules/@fluidframework/server-services-core/dist/combinedlambda.d.ts","../../node_modules/@fluidframework/server-services-core/dist/combinedproducer.d.ts","../../node_modules/@fluidframework/server-services-core/dist/configuration.d.ts","../../node_modules/@fluidframework/gitresources/dist/resources.d.ts","../../node_modules/@fluidframework/gitresources/dist/services.d.ts","../../node_modules/@fluidframework/gitresources/dist/index.d.ts","../../node_modules/@fluidframework/server-services-client/dist/auth.d.ts","../../node_modules/@fluidframework/server-services-client/dist/array.d.ts","../../node_modules/@fluidframework/server-services-client/dist/constants.d.ts","../../node_modules/@fluidframework/server-services-client/dist/error.d.ts","../../node_modules/@fluidframework/server-services-client/dist/generatenames.d.ts","../../node_modules/@fluidframework/server-services-client/dist/storagecontracts.d.ts","../../node_modules/@fluidframework/server-services-client/dist/storage.d.ts","../../node_modules/@fluidframework/server-services-client/dist/gitmanager.d.ts","../../node_modules/@fluidframework/server-services-client/dist/restwrapper.d.ts","../../node_modules/@fluidframework/server-services-client/dist/historian.d.ts","../../node_modules/@fluidframework/server-services-client/dist/interfaces.d.ts","../../node_modules/@fluidframework/server-services-client/dist/promisetimeout.d.ts","../../node_modules/@fluidframework/server-services-client/dist/restlessclient.d.ts","../../node_modules/@fluidframework/server-services-client/dist/rollinghash.d.ts","../../node_modules/@fluidframework/server-services-client/dist/scopes.d.ts","../../node_modules/@fluidframework/protocol-base/dist/githelper.d.ts","../../node_modules/@fluidframework/protocol-base/dist/quorum.d.ts","../../node_modules/@fluidframework/protocol-base/dist/protocol.d.ts","../../node_modules/@fluidframework/protocol-base/dist/index.d.ts","../../node_modules/@fluidframework/server-services-client/dist/scribehelper.d.ts","../../node_modules/@fluidframework/server-services-client/dist/storageutils.d.ts","../../node_modules/@fluidframework/server-services-client/dist/summarytreeuploadmanager.d.ts","../../node_modules/@fluidframework/server-services-client/dist/timeoutcontext.d.ts","../../node_modules/@fluidframework/server-services-client/dist/utils.d.ts","../../node_modules/@fluidframework/server-services-client/dist/wholesummaryuploadmanager.d.ts","../../node_modules/@fluidframework/server-services-client/dist/index.d.ts","../../node_modules/@fluidframework/server-services-core/dist/document.d.ts","../../node_modules/@fluidframework/server-services-core/dist/http.d.ts","../../node_modules/@fluidframework/server-services-core/dist/orderer.d.ts","../../node_modules/@fluidframework/server-services-core/dist/database.d.ts","../../node_modules/@fluidframework/server-services-core/dist/delta.d.ts","../../node_modules/@fluidframework/server-services-core/dist/documentmanager.d.ts","../../node_modules/@fluidframework/server-services-core/dist/taskmessages.d.ts","../../node_modules/@fluidframework/server-services-core/dist/emptytaskmessagesender.d.ts","../../node_modules/@fluidframework/server-services-core/dist/metricclient.d.ts","../../node_modules/@fluidframework/server-services-core/dist/mongo.d.ts","../../node_modules/@fluidframework/server-services-core/dist/mongodatabasemanager.d.ts","../../node_modules/@fluidframework/server-services-core/dist/mongodocumentrepository.d.ts","../../node_modules/@fluidframework/server-services-core/dist/mongocheckpointrepository.d.ts","../../node_modules/@fluidframework/server-services-core/dist/checkpointservice.d.ts","../../node_modules/@fluidframework/server-services-core/dist/pendingboxcar.d.ts","../../node_modules/@fluidframework/server-services-core/dist/publisher.d.ts","../../node_modules/@fluidframework/server-services-core/dist/runner.d.ts","../../node_modules/@fluidframework/server-services-core/dist/runwithretry.d.ts","../../node_modules/@fluidframework/server-services-core/dist/tenant.d.ts","../../node_modules/@fluidframework/server-services-core/dist/secretmanager.d.ts","../../node_modules/@fluidframework/server-services-core/dist/storagenameallocator.d.ts","../../node_modules/@fluidframework/server-services-core/dist/storagenameretriever.d.ts","../../node_modules/@fluidframework/server-services-core/dist/throttler.d.ts","../../node_modules/@fluidframework/server-services-core/dist/token.d.ts","../../node_modules/@fluidframework/server-services-core/dist/usagedata.d.ts","../../node_modules/@fluidframework/server-services-core/dist/zookeeper.d.ts","../../node_modules/@fluidframework/server-services-core/dist/tokenrevocationmanager.d.ts","../../node_modules/@fluidframework/server-services-core/dist/servicemessage.d.ts","../../node_modules/@fluidframework/server-services-core/dist/websockettracker.d.ts","../../node_modules/@fluidframework/server-services-core/dist/index.d.ts","../../node_modules/@fluidframework/local-driver/dist/localdeltastorageservice.d.ts","../../node_modules/@fluid-internal/client-utils/dist/buffernode.d.ts","../../node_modules/@fluid-internal/client-utils/dist/hashfilenode.d.ts","../../node_modules/@fluid-internal/client-utils/dist/performanceisomorphic.d.ts","../../node_modules/@fluid-internal/client-utils/dist/base64encoding.d.ts","../../node_modules/@fluid-internal/client-utils/dist/buffershared.d.ts","../../node_modules/@fluid-internal/client-utils/dist/typedeventemitter.d.ts","../../node_modules/@fluid-internal/client-utils/dist/eventforwarder.d.ts","../../node_modules/@fluid-internal/client-utils/dist/trace.d.ts","../../node_modules/@fluid-internal/client-utils/dist/indexnode.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/telemetrytypes.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/logger.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/config.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/fluiderrorbase.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/errorlogging.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/error.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/eventemitterwitherrorhandling.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/events.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/mocklogger.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/thresholdcounter.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/sampledtelemetryhelper.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/utils.d.ts","../../node_modules/@fluidframework/telemetry-utils/dist/index.d.ts","../../node_modules/@socket.io/component-emitter/index.d.ts","../../node_modules/engine.io-parser/build/esm/commons.d.ts","../../node_modules/engine.io-parser/build/esm/encodepacket.d.ts","../../node_modules/engine.io-parser/build/esm/decodepacket.d.ts","../../node_modules/engine.io-parser/build/esm/index.d.ts","../../node_modules/engine.io-client/build/esm/transport.d.ts","../../node_modules/engine.io-client/build/esm/socket.d.ts","../../node_modules/engine.io-client/build/esm/transports/polling.d.ts","../../node_modules/engine.io-client/build/esm/transports/websocket.d.ts","../../node_modules/engine.io-client/build/esm/transports/webtransport.d.ts","../../node_modules/engine.io-client/build/esm/transports/index.d.ts","../../node_modules/engine.io-client/build/esm/util.d.ts","../../node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts","../../node_modules/engine.io-client/build/esm/transports/websocket-constructor.d.ts","../../node_modules/engine.io-client/build/esm/index.d.ts","../../node_modules/socket.io-parser/build/esm/index.d.ts","../../node_modules/socket.io-client/build/esm/socket.d.ts","../../node_modules/socket.io-client/build/esm/manager.d.ts","../../node_modules/socket.io-client/build/esm/index.d.ts","../../node_modules/@fluidframework/driver-base/dist/documentdeltaconnection.d.ts","../../node_modules/@fluidframework/driver-base/dist/driverutils.d.ts","../../node_modules/@fluidframework/driver-base/dist/index.d.ts","../../node_modules/@fluidframework/local-driver/dist/localdocumentdeltaconnection.d.ts","../../node_modules/@fluidframework/routerlicious-driver/dist/tokens.d.ts","../../node_modules/@fluidframework/routerlicious-driver/dist/defaulttokenprovider.d.ts","../../node_modules/@fluidframework/routerlicious-driver/dist/errorutils.d.ts","../../node_modules/@fluidframework/routerlicious-driver/dist/policies.d.ts","../../node_modules/@fluidframework/routerlicious-driver/dist/documentservicefactory.d.ts","../../node_modules/@fluidframework/routerlicious-driver/dist/index.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/logger.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/messagefactory.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testcache.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testdeltamanager.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testnotimplementeddocumentrepository.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testnotimplementedcheckpointrepository.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testnotimplementedcheckpointservice.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testclientmanager.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testcollection.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testcontext.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testdocumentstorage.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testhistorian.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testkafka.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testpublisher.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testtenantmanager.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testthrottleandusagestoragemanager.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testthrottler.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/testthrottlerhelper.d.ts","../../node_modules/@fluidframework/server-test-utils/dist/index.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/interfaces.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/localcontext.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/localkafka.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/locallambdacontroller.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/localnode.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/localnodefactory.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/pubsub.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/localorderer.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/localordermanager.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/nodemanager.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/reservationmanager.d.ts","../../node_modules/@fluidframework/server-memory-orderer/dist/index.d.ts","../../node_modules/@fluidframework/server-local-server/dist/localwebsocketserver.d.ts","../../node_modules/@fluidframework/server-local-server/dist/localdeltaconnectionserver.d.ts","../../node_modules/@fluidframework/server-local-server/dist/localorderermanager.d.ts","../../node_modules/@fluidframework/server-local-server/dist/index.d.ts","../../node_modules/@fluidframework/local-driver/dist/localdocumentservice.d.ts","../../node_modules/@fluidframework/local-driver/dist/localdocumentservicefactory.d.ts","../../node_modules/@fluidframework/local-driver/dist/localdocumentstorageservice.d.ts","../../node_modules/@fluidframework/local-driver/dist/localresolver.d.ts","../../node_modules/@fluidframework/local-driver/dist/localsessionstoragedb.d.ts","../../node_modules/@fluidframework/local-driver/dist/index.d.ts","./src/packageversion.ts","./src/localdriverapi.ts","./src/localservertestdriver.ts","../../node_modules/@fluidframework/tinylicious-driver/dist/insecuretinylicioustokenprovider.d.ts","../../node_modules/@fluidframework/tinylicious-driver/dist/insecuretinyliciousurlresolver.d.ts","../../node_modules/@fluidframework/tinylicious-driver/dist/index.d.ts","./src/routerliciousdriverapi.ts","./src/tinylicioustestdriver.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/insecureusers.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/insecuretokenprovider.d.ts","../../node_modules/@fluidframework/container-definitions/dist/audience.d.ts","../../node_modules/@fluidframework/container-definitions/dist/fluidpackage.d.ts","../../node_modules/@fluidframework/container-definitions/dist/browserpackage.d.ts","../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts","../../node_modules/@fluidframework/container-definitions/dist/error.d.ts","../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts","../../node_modules/@fluidframework/container-definitions/dist/fluidmodule.d.ts","../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts","../../node_modules/@fluidframework/container-definitions/dist/index.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/attribution.d.ts","../../node_modules/@fluidframework/id-compressor/dist/types/identifiers.d.ts","../../node_modules/@fluidframework/id-compressor/dist/types/persisted-types/0.0.1.d.ts","../../node_modules/@fluidframework/id-compressor/dist/types/persisted-types/index.d.ts","../../node_modules/@fluidframework/id-compressor/dist/types/idcompressor.d.ts","../../node_modules/@fluidframework/id-compressor/dist/types/index.d.ts","../../node_modules/@fluidframework/id-compressor/dist/idcompressor.d.ts","../../node_modules/@fluidframework/id-compressor/dist/identifiers.d.ts","../../node_modules/@fluidframework/id-compressor/dist/utilities.d.ts","../../node_modules/@fluidframework/id-compressor/dist/index.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/datastorefactory.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/datastoreregistry.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/garbagecollection.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/protocol.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/summary.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/datastorecontext.d.ts","../../node_modules/@fluidframework/runtime-definitions/dist/index.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/mocksdatastorecontext.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/mockdeltas.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/mockhandle.d.ts","../../node_modules/@fluidframework/datastore-definitions/dist/storage.d.ts","../../node_modules/@fluidframework/datastore-definitions/dist/datastoreruntime.d.ts","../../node_modules/@fluidframework/datastore-definitions/dist/channel.d.ts","../../node_modules/@fluidframework/datastore-definitions/dist/jsonable.d.ts","../../node_modules/@fluidframework/datastore-definitions/dist/serializable.d.ts","../../node_modules/@fluidframework/datastore-definitions/dist/index.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/mocks.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/mocksforreconnection.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/mockstorage.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/validateassertionerror.d.ts","../../node_modules/@fluidframework/test-runtime-utils/dist/index.d.ts","../../node_modules/@fluidframework/driver-utils/dist/buildsnapshottree.d.ts","../../node_modules/@fluidframework/driver-utils/dist/blob.d.ts","../../node_modules/@fluidframework/driver-utils/dist/documentstorageserviceproxy.d.ts","../../node_modules/@fluidframework/driver-utils/dist/error.d.ts","../../node_modules/@fluidframework/driver-utils/dist/insecureurlresolver.d.ts","../../node_modules/@fluidframework/driver-utils/dist/messagerecognition.d.ts","../../node_modules/@fluidframework/driver-utils/dist/network.d.ts","../../node_modules/@fluidframework/driver-utils/dist/networkutils.d.ts","../../node_modules/@fluidframework/driver-utils/dist/parallelrequests.d.ts","../../node_modules/@fluidframework/driver-utils/dist/prefetchdocumentstorageservice.d.ts","../../node_modules/@fluidframework/driver-utils/dist/ratelimiter.d.ts","../../node_modules/@fluidframework/driver-utils/dist/readandparse.d.ts","../../node_modules/@fluidframework/driver-utils/dist/runwithretry.d.ts","../../node_modules/@fluidframework/driver-utils/dist/summaryforcreatenew.d.ts","../../node_modules/@fluidframework/driver-utils/dist/treeconversions.d.ts","../../node_modules/@fluidframework/driver-utils/dist/adapters/compression/compressiontypes.d.ts","../../node_modules/@fluidframework/driver-utils/dist/documentservicefactoryproxy.d.ts","../../node_modules/@fluidframework/driver-utils/dist/adapters/compression/documentservicefactorycompressionadapter.d.ts","../../node_modules/@fluidframework/driver-utils/dist/adapters/compression/summaryblob/documentstorageservicesummaryblobcompressionadapter.d.ts","../../node_modules/@fluidframework/driver-utils/dist/adapters/compression/summaryblob/index.d.ts","../../node_modules/@fluidframework/driver-utils/dist/adapters/compression/index.d.ts","../../node_modules/@fluidframework/driver-utils/dist/adapters/predefinedadapters.d.ts","../../node_modules/@fluidframework/driver-utils/dist/adapters/index.d.ts","../../node_modules/@fluidframework/driver-utils/dist/index.d.ts","./node_modules/@types/uuid/index.d.ts","./src/routerlicioustestdriver.ts","./src/factory.ts","./src/index.ts","../../node_modules/axios/index.d.cts","../../node_modules/@fluidframework/local-driver/lib/index.d.mts","../../node_modules/@fluidframework/core-interfaces/lib/index.d.mts","../../node_modules/@fluidframework/driver-definitions/lib/urlresolver.d.mts","../../node_modules/@fluidframework/driver-definitions/lib/index.d.mts","../../node_modules/@fluidframework/routerlicious-driver/lib/index.d.mts","../../node_modules/@fluidframework/tinylicious-driver/lib/index.d.mts","../../node_modules/socket.io-parser/build/esm-debug/index.d.ts"],"fileInfos":[{"version":"e216bfbf08a9f4836a0e695a19f55ebdd8310e4be1d1238c4cac27abf5e98404","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"1f0539108fad59d8e9d282900dc9bd4c99cb49eccfbe11df3edb2f53854068a0","2ea167b8505527403109dcdf0ce258986ddd684961f7eb5cd36e25f7ba339730","323e38eb371a86821896fb50ed926b0d59761d5a2e407a1b9ed62bba11a9872d","252ca73a7c260e4abb14585480df2308df333f0774c7203b364af4e10a4876f8","d1d878a1661002034e2dc6a7d40baa2e3d1aec74643c341f7469d604cc245192","a64edb16eacf69e9473e5b829d850ac4b526daf673e92a84628c8c492fe06d68","3c7959a597ebc1d6aecceae9f9625715fd1cb3eff0032cae7b49d6625c7dde1b","b83ea41a48ae78ade8ced9fa3fcbd5ffccf10ec7d417f3de1c73904403c43ade","c8c5ba100c8578755579f8fd6bc9c8f7753376a43d23f656a77d3c34cb6af92a","3c87e4cf3612aa6e87dc0b3dc7603827c216a212a7af332813dc6eee19024bff","06c8622d8f31b530058177e1ba6e97e3896c369be4b5f0d19e870512787e9e78","b68100223bfef208123ea4569c6c20eb6e11c07e3f88799f03f559fa5f4f4922","dbe4bad5c55676931c808dcbbfafcf614a89e55d7d5068aebc928e7ed17eafeb","cfd5b795605ba420d60d09cedbe5d233b9bb50901759ea843e73acbf0014b666","f338a331fc98b7a1f203f27b72934b22157bab6e23102f005b09786dcf383668","7336bc25cc72933b720c3bef0cb3087991aa27844c83376fc3fe36a824d7a8ed","5e661c9454b04066cceed04d87fbde484332b44405ad5d3d5e631e1bcb283b1a","1070df8aa24c5dd2823080a2882e5d09fb86fcbfc0104ccba13326121233de3f","2f1b2648a9ddeb7af4f497573aa751c99adf6ab11f40b554527f0f65fa5e39a8","20c4a80fbb0a5663564211f2148b3d8505fbb8ac0528dc7dd03c0357e6e18e48","5aa6397b22f8a04f8e5d97b2c08bb7038ca611363da1fe8e1174aa7114022248","c12cfe54ae9534e67fcef5c56efa1af3433b3dab19277866219e150a53db7aa6","63c4a0b4eb97c1f17198ffac8e868c2ade94bed702a93f364fb0de5459244a37","287492771a2f5f70e0618f932efa9895d5040901134d072c88fe79a3b46f1ca1","7f447c501d8bb805692f04ca839bd1cc4ba42589f28f6909db24490ecea872b8","e197b79669e5e7a62be85bb55a2c4b0a3935c9c21031f16b4801f9c1424fc7de","0f1e952e252c91440b1eb38287822d622dffd586addf0854becca9edef03ae73","a74b8f008dee8c60869db2a25bde16e8e75d38778eaa5edd5a879b88f1b0b2e2","451a375e557f2b1560aed82bc2882168b0af69e4b7fcad87025584e51c993564",{"version":"dcda3b134a932a5ecfbdac17a3cec3fe652ebcb719b0fedcc618916c4b081701","affectsGlobalScope":true},"3738606f7a546c0fdd74cfe1280a1efc502c80d5778a5527bcb8918fbc465ee5","df504094b5f46b960d326e01cdc2683b83cde9b1f3af52c22196360fd8191aef","7a2e7c19fbfd3ca11cd3fb90edf4fc3adf379bd31da785bef41f34a5c97d18c0","f4f9db86be98abda0930205133aa386c24ca11f277cfc0d0f1b0fa2de23c6bae","c718be4288049148aff73acb33942759a6a7b194c0fbf8c023c0186f403e64da","48e716f42a6444b2023acaaad75c390d6143dea43d52b37bfc5420fdfaa4f888","779978910a7760c3b0797084f6f7e6d9bceb5c2e30d63e9cb161716db1e32ed3","d3cf09decd9187dcbb925f0a0a7f4b2c3da80c3c1a9b636d2332a3aecd2b5992","568ea0e68446d5ba3c9f511a3a89d2c2c3eb2ec9d71f9c38a692fbb3915339ee","b3e9a7d4905609e07b8ae61b9f7d262240ef28797185b073d218f04486067e6b","f338a331fc98b7a1f203f27b72934b22157bab6e23102f005b09786dcf383668","7336bc25cc72933b720c3bef0cb3087991aa27844c83376fc3fe36a824d7a8ed","cb45b2d61ca2a978551d75614ffb129a4386b4b3b59dc7d05d5c721f6da97684","1070df8aa24c5dd2823080a2882e5d09fb86fcbfc0104ccba13326121233de3f","2f1b2648a9ddeb7af4f497573aa751c99adf6ab11f40b554527f0f65fa5e39a8","8bb104774ea2cd12848b1ecae4c2933f76b876ec4dc21160235f47a25ce9701e","5aa6397b22f8a04f8e5d97b2c08bb7038ca611363da1fe8e1174aa7114022248","c12cfe54ae9534e67fcef5c56efa1af3433b3dab19277866219e150a53db7aa6","63c4a0b4eb97c1f17198ffac8e868c2ade94bed702a93f364fb0de5459244a37","17797f8fd9ef3af7442b58158ce901230538678ff4f776d1bec3396ea9a7db61","b223ca15aac3a161f9f7eb5f7df3c98da26c84ce16866374d7919d196728f054","e197b79669e5e7a62be85bb55a2c4b0a3935c9c21031f16b4801f9c1424fc7de","da90818098a14385cbad7c1968aaf83e4910e808611c3da575b49219ed7fccd4","563e8705f59a2226ccfcb4a6a9ee82fed8600193b66463da98b2121fe70cb637","c173099d7fcca768782f4959243f92a721a577cb45c87a473e6d3fa6639584cd","3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","93d28b4eb12c68fccc1f2fc04a4ef83ea3b2a03b18055d3bf29cab267aa7042e","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"49026435d21e3d7559d723af3ae48f73ec28f9cba651b41bd2ac991012836122","affectsGlobalScope":true},"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89",{"version":"dafc58ee47fa25dbc68b27c638bd6153dd7659021c164f64b7760757e9f5a6ab","affectsGlobalScope":true},"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","fe39ceafa361b6d339b518936275eff89a77e7dfe92f2efa5fb97abf9a95ca49",{"version":"4009dd21843fe4a62d1d97b584a2937ca9f045df6fbd65c8b264d8dd04b656fd","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","5f74757c479da70bc82930f50c6a5cfea4ff9f2979fd965d4ff91de0f6291a22","278fe296432b9840660d6e0d1778b4b4897a591d4b910a5f7ac8db0b476a8af7","1c611ff373ce1958aafc40b328048ac2540ba5c7f373cf2897e0d9aeaabe90a0","bea5c9fc0843a6961411ab4a04df856a8372448bc0d180da0c3a054ff31044b8","715873cecbfcebb49f293f0521bd0955d6298486e2eeb9c7bbf5e9f20a6ed152","c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"6c7b9d2139abd8f2e83ed8fa018c3799ab3187755a6665621feb6e93d3429ac3","affectsGlobalScope":true},"5a2f6de23113659e83dc8c5edb9f3c5bcd6136f74dcc1785b3df4eef1271e1f3","021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","5899ab1898582115c432cccef063298f75477bf2cebe5473360043fddd67bcc6","6b97f4106d72ae6b4ebf4e46d2fe90f4d04dd04b3dbff6e294572440a428209d","e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","48fedd2f8549a2ae7e62f30fdb015779c2a7b536760730c5269406cd3d17cab2",{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true},"e0cc19f50900706e7aae038565e825f2014ac5325b99b3daabf8ecd5d3d09f1a","f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c",{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true},{"version":"645baafeaed6855c8796fcbae4e813021c65f36eaa3f6178535457a2366f6849","affectsGlobalScope":true},"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","d3e22aaa84d935196f465fff6645f88bb41352736c3130285eea0f2489c5f183","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","5195aeb0de306d1c5ca8033457fbcab5987657112fa6d4971cfeb7644493a369","c5dbf0003bc9f0f643e54cd00a3868d1afe85497fecb56be6f2373dc85102924",{"version":"6fa61015444e843013443f2e5ca6bee5f033cbf361f953fd932abb0c029b73b2","affectsGlobalScope":true},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","3df5b34f3449733bc4831b8d670f958a045e7a3f5d7b0e21991ef95408dbec13","76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02",{"version":"068b8ee5c2cd90d7a50f2efadbbe353cb10196a41189a48bf4b2a867363012b4","affectsGlobalScope":true},{"version":"0c312a7c5dec6c616f754d3a4b16318ce8d1cb912dfb3dfa0e808f45e66cbb21","affectsGlobalScope":true},"6f44a190351ab5e1811abebe007cf60518044772ccc08244f9f241706afa767f","fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","2641e5e19268b6f5038ad48a6e2598965301df8a77c48c99d8df760a6a154204",{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true},"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","c401bdd358473f97d31db4116a72b4ee68be364afbfb877d71f8748a679497e9","ace68684ddea258bbb08d07a5a16247f61bdc9d53fb502b15c9b39615f612c92","461f9060dd1fe58a9b79f5fa482fcf82580c47f58418fa3147ae2dd71dede99a","feb85f66b299d0c7379909f145010da50f187b4a87c9d3959d04fbdba4efe2a5","6b0004f4263d883c0428f6bcb6c777a50ea1b898ecb0ad624bf4f2a459d8cf80","32548c99315cdcd18f2d35d4874e86d3a65ab2b5106a6f01282a36a458c90b0e","58ca0005765de377f6af7e4f16e8f6e57a058ea2b7a732f7912807e0ea382ebb","2a6bd474eb954e8c55f890054787bbddd9b2798d298e743ed21758df69b5a303","abf6816f679f726d08e6732d433c94482efcd2a047bfbd7269d4ee8e56bbea13","3db678f64a08de6ed4971ae67dc59f70cbd810c67e15bc907f71ce71e5f61646","95578005d28f8532878f92217ac977b95dd3f61f45a4db882969e90dca98c28f","d8f1ffaf53542b1c5889927060616a3b36495881ece29b8e38b0b17a5bba1e63","d40f28fbc898cd4a152834c3838d26acb6447387958413a3e1a1bacc98e9b03b","3cf26bbbaa0f35f79bc74cc80347663689014af5637e09c07f88ceca8f50a4fc","c846f48f4361e54596493f0e00e6061aa7deeec84fbdcf74c302e1e83035ce6a","c603d9797601ceef13a55f78658c8fa2c4713bc9b7fdee6849115b9c414972ab","c09cc09af6c63564aaf8882cd1ad4522400930bbb3fcb2bdcc99d23c5f8d247b","3946f68bd37bad2765ea915e4aa750d30909a7bdc3012c030e1dafacced4b0a1","29b688cdaf703dfe8727069bcc384c5dbe6658e975152d42a873c8f40d324088","f973eeeb6c6f24a698824ea8b3a104632c82ef985143753d8ed4041ba948fdaa","94cc2d7bc4e0bb60472a4d1339d06072cd06965a58c335b609336c01795a2de9","001050d2385c4dd19b7043ef1b410dc22e1ac015e3e8dc2f312e16d1ad47a13c","c43867a3c095c21039c931980683d74c112f383b45b6a5b8a162564adb10643c","d380a790875c51668a846e69ef594be09715731f18b8e24bf6191ccc5dc96db4","68c6bfbcc44ace7fe4bbcc55810460b7356235624dc15ce7116e312eb8266c1f","0fd5c7cbde56982de70a99695bc4bfd7c6b30d9f3eab4bbd7770cc6442517914","43d3a46ed3aafbce9d061a5bd9acc5bea3b492b9a198092d7c52df51eb4a0865","259aa02b58eebacdc00fb938f402c7228b2f540809a3e4b6cd302defcee4b92a","29accd4fc02fc3278fe31791bb6d42612ca54b1f1541116f78a404941e79cf7b","c3ecdd7ddf8b68236165d28c2ed233f3fadee20bb59aad7ba038ae6c16d85a4c","f5f44f4d7d9be0736cd33cabb3e6148da1422f40305b82cd29a43ef36d6376cd","fcc20c59dab713ebd2d77bb0f44238636a92cf936f97b3aa01d38f66250e1f50","a3c63a703635875d1efea296ccd5ee84130acaeb6c8d4210451a45d0e2745c41","480d6b12495d954a5c59a93183f0f1887495ff0b68a28087aa9058ec8f782cbd","0d9049f3b835eb6be2ad399a11f20e7753f7c5ee3b4fe6e1c561bb3b4ba443ef","7b029c55b78626c3d13bccb4b77dd75047b73d84a7272405a770c3bab61bff15","c7c0b008caa3b7840ac9c52ee5ece3a36b65047ee12210dd2ea5276147a3a2ec","8d69c50f39132a4e9290f41cec755fa8bfa559362fb126f599409bdb6d8a3c7f","5c359ff6b9f27ed265bb87736679ba5eb9ef83d356e72f57f207b7b1faaa2be1","244159bc6d99d3f66d2e4233c45fb688f4eb5d753183df4f539bf8f32c8f1330","964cf42a495adc2cc2037613f43522be40fc82012446fbfa4a0c4e3cef2bb97e","0f1e425551df9aa6b11615a21f9d10903b47595cd31ac94cf4668a8dd0c05493","df5ad3e5f00364b3f1beb243a4ce7538b0cead886bfc7c9ef7a6b4084d120bff","63ea694c3e35f63c6c4261977c8a0c6c8a8c1d39989d5f7cddbe7e31a90680e3","a6af53ae0a4603cf6255dbd8bb4209edfad8e952bfa762684033782a28f68272","cbaac46ec418641fcb50afd7d0c8bf9462b6f7ca83af24d1317659a721175e2a","467c234ece0262e142939e2740ce970a71e7dca4adeeed872f0797fd4c3b34ac","f64487e06875cfbe0cc854328920403df337dc6c1925070995653ac71c266c0e","508d1d9d7b04b090a99cd0ccf53b7e1e45ec2f96577b34e60fb9847c3d612efb","c6991234729127037d9d3653d89f1c8097caf2e22bf07bd603df5bc324b1c2ee","e1c249a691a5debf16ec5d8127c4b34f2bc12621d626a332cfec3d2592a317f7","6dba67434473193e6248d4db56aa0a23eed8791e861c863b36a4c347c5c9a307","6dcb16b880a06d2dd2912d2ce33c6f5bb09f4e7fa0f94090595caabeeb5454c6","a146e3f554d4f4eeb8fadf905892103cec35a60690c5d0437f65d1a5c85ecac7","65415fad6e906843d03b4f9ffecc427c7264a7b99824d95600f3ba24b0e8c511","ad12999de217ddbea616ff753af3f34217e717ffa9c67b62ca777e35ab3c5874","f6f348594ff4e973a6f4eb9362471771a16d153104dd54414467769f01af4432","966d70d89d30e36a2e59e4accce507aa318c714c62dd41871e24c348455aa5c2","539c78bde44b8b6a595df8e4ddd3a9c5a4952a66aeaaca822515b312ac7ae3d5","1fe8f0c13354c3939901e103ab22444de77b9e4aa6337e6fdaf2e4c3276fff45","2b86ecc37fe743c9cdd7b0f602dde4e82df61e65f8b967ed6d76d4eea337d81d","4030b77e9ae60454573a3719eb115cbf2011e77f3ce3cfb6e3fc5472d760cdf8","d54de56aae4ea724dd68867575ec03773571d1da9021d2a3faf1230ea7f5a833","144e4a91dc7f7037ed34641eadb23bd804d97e2003f6127d396cadd6fe036dd9","0eaa5c5acab4c493c1b6205679fd55a3040f1e64d3104f658c1e34f3de0d9c02","e2cc6b18283a190ecbc8d2672d0972a9dd13eb974800952978ca6a858a7762cd","55827029b21b504bb993c4db18c782b3210e4326791d876e1c5b0ada996efd8d","1ef9d602026166f18df649f140027aaffe8a6bc6c4fd3255e2526f6f4a298ec1","1fed74dba3d945050f578010f36b01f87c81c85e70737b267bf79220e18e4380","700f36126f73ca804f813ce2548fed7265601b97445477c00992a65c519b9c64","865ad0975ae1da3d138922ee6f8361736ae84f3f458a3100984694060dd3d1c2","e2f6c974f55db571bbbc394d721016b49c907de932636c1f7a3c61f6449faf99","826998b9f2e477c5fb5dbcbf168f5d51f72196918e95b51e7c805e2b3a21302b","ad026571287c9f31c732fa858baec2de491730bff7ba17247edfe1edb2ceed94","13e463d59ee7be9e0d5f47db8aba3d498463e5f7ab499130a295a1e73297ab04","12ae74b5e66f0196fbeffcc1210f3a0e6855b4bfd8647c168fc0567882e608be","17e45f875f2552ef03b308f6242364d89d951a5490cc4abca7fc71caa500075e","cebd90ae1f1adfb07838c6f6d712975ca8433084ebb3ff6fc41a39c4ba4392a5","11ac7b421b95660cded5b955e43bbd496506e99d2a20ebb28e4893e4b62e22bd","e24f8a1db683f107c5ae493a6679744ccf2a3ee988c77f0b51ff90352778f2f0","a3d5cab76c67bc71f1e47fcc5d597d0753f3950347e050d2f3f0c128e7430ca6","9b6f7d1161bdc0422c102c61fb5b8438bb660b63466f6225d024b7c32ffc2fd0","7b243f178e0eddca23bac2e3c39781470c4f4280f72bf53860994bc3cd5ae0c3","57dd51ded61d067162e67bb136d6269df67299f17f5a1fd0ec32a68480c07cb8","964fbd88f705cd0e00c21b775b52e294192d749d182932348dfda323e49ddc74","e82f515f241eb9184cfaf9c303dc91de3529828be9c3c602ae97bb0bac418222","680df5a3635017efcbc272ee6bf3b419e7a575b646df72938a09b8d8399315ba","ad9d6e569ebf745a6517baee7f72d9030275510c87efe63d190ce1ab2ca7578c","ced78442f2a8a65a8ab008a4892ad4eb22953e6697b89764b25ad4f0c4825068","1a9f546b43ccffed20bde218d717ffcbcca5dbc6b7ef796f768dfe85d96e9e02","78ea139925ff0b981392b6e4da9e774330d1dba0adcc1a397810cdd45097a117","42bb09a0ee838e5c0c4709d397283a035939ae99679cb4301a35fa21512da31a","b6d69c8f8f0a5500c248191142d0b8931c792bbfa1e04fb20fc09ac4fa6a032f","70c090654200b566593653b0b5491124f2a1f4cec372e8e1647ed4080e1a2757","c810c40efe9c73aea40a5b112ae6a52e10d0ec3c8720b533a7ad51f303da9070","53d0d58da4962f18e328dbacb7cd0eb7067ce0385138e90187a8007701d7dafd","de4922e19f27b6605c31567b6d9bca9dc137b223b2d8a329c8c27941c516c24c","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","aa4b05181ea7df35382d12fdb06ff0dd8b6e5183f572483e8ef8473ca5f209bb","65834bde83f0841502806c9c32e72e30b618a87abf8e634cebe13427bfe342aa","650e33bbefe6511a04bf7ceb2585ac959992753acdc9ebff3c9a14ec35f58218","9553ca48840172371ecc4d8fb9256d65d87b212e7f5f9729505667e50c55819b","e57d22ad77cfade24633fa913c058a4808b8deb05a7d1a117a005c31a7ac0070","75bd9c38752d263279213294a5cd5d299ac942b17015636cc072604ec6f36d66","1a1e506008918880f6287dfb132a971e6365685f6ad389fe83a9f667d812bfbc","a833732440deaa9f5d1a83e11586fbaa014a38d21e51dff0668fa2cd88411c42","49779cf9f366644d54a627f33aa2d4b10c406ca583f7c776f0ba91c89c4eef24","6b9c37249aee3d8cfb736fdc33367a660aa988e265571dc96bb19f6d39b3b697","127d46ca2b06c299acb4c611974bb2a514c6c8dba3e1fff785f6d3b91094f113","3262e34e0eea982fffd22ca370e5635ad067cfda3a972623b6281341ca2b6531","47c2a8c06b90e091e43e4634dd696c24922237f4eadad16c606083ce3dba1b0c","80215616fe17781ab5837ca991a1436db1bb56078e6a5cdf884902cb7747b068","aa0202c1c61ec4fd5aef58f697e40966d9d689cf0e4d8fa01baba8ebe5f713b2","92b32a29fe763ddf8fa4c9c0ca9625b2e8ddc9bd08bc79fadbc9addf6c542c55","72e1b346af8458ef00eeef693433ac9886cfe80fec95f4b3bb8ca289678193d8","94e14855249a3b55dd3ec614770ceddb1ea073c2507fc3a618d876e1dfa03b36","13dfbe74283a413686ba822474ed67b34063bdf34b0d848d3184e20b49d00e85","ff09548f022deb10e9dbfc58934fb79e93eefe133d42129e20b8e25b5ccbf3e1","dc99c3ca26ac64205794519982d57edcd20fa034df76a9b17bdbf45f778886e6","b687b72c9056a174005bb25dfd6b2022d9bd0f27e25b8d0cca6bc201c8ab37df","af762f7b10f26f3cdffaa5b0e5480b0e2f1ad7a9a42ab0c47db9d20b8c4220df","8cbbc61e47b2b7dc3ab5d04e6344d8299e23d43244792593122dfed58f50c3c2","65d74041d453ea6a86ded3c1c1e0d9b915a93db98882f7c667eb94454b4bbe18","cd32a10a63d80e05777ff980e86c754a0cb54b4867515f6cd536f749f1f8ee1c","5463dbd064e1a0e773d38092e6e18a92b7867fefd0e2ac668c4636e8a111af93","ddd54674ee93bdee9b190170af8d699716c8b547b4cef51ebe5f1dbdfd76b91e","b90a3eef20d83f300c74dccc60f7595d6a22e8bca5cca246c64d272746749d43","cbb2b3a5e3099a762096f6a31d189def6801779e704d00bef659d0681a3508a3","7c45a46ca2182d34c276d00690da5d2e7264dde74b453fbbca07501df62d7db6","b3479e1df52a53f3217e5eb4df0f2e4079dbfdec152fed7d4d19ae7424adc783","f151a2964b82a536472ad8adf14ea21cc22d49b462e2bf7fbc07c894145a8323","a2e83fe09a6ad494998abdab2cc35670edde0817a682c707e55de16955523355","8557af38076c04f257f0d94dcd14354f3d1cc9f74e0a1162185918c2a3253cb5","da90818098a14385cbad7c1968aaf83e4910e808611c3da575b49219ed7fccd4","563e8705f59a2226ccfcb4a6a9ee82fed8600193b66463da98b2121fe70cb637","c173099d7fcca768782f4959243f92a721a577cb45c87a473e6d3fa6639584cd","ace68684ddea258bbb08d07a5a16247f61bdc9d53fb502b15c9b39615f612c92","c3ecdd7ddf8b68236165d28c2ed233f3fadee20bb59aad7ba038ae6c16d85a4c","f5f44f4d7d9be0736cd33cabb3e6148da1422f40305b82cd29a43ef36d6376cd","fcc20c59dab713ebd2d77bb0f44238636a92cf936f97b3aa01d38f66250e1f50","a3c63a703635875d1efea296ccd5ee84130acaeb6c8d4210451a45d0e2745c41","480d6b12495d954a5c59a93183f0f1887495ff0b68a28087aa9058ec8f782cbd","b759d38a00cace9c30461cf1340aa664c80917aa67e8dc4e420a63a393b52bb5","7b029c55b78626c3d13bccb4b77dd75047b73d84a7272405a770c3bab61bff15","c7c0b008caa3b7840ac9c52ee5ece3a36b65047ee12210dd2ea5276147a3a2ec","8d69c50f39132a4e9290f41cec755fa8bfa559362fb126f599409bdb6d8a3c7f","5c359ff6b9f27ed265bb87736679ba5eb9ef83d356e72f57f207b7b1faaa2be1","a48d08ece3b6e81687bb41fa00d85552fd39bd9da492c098cad622933b16661e","964cf42a495adc2cc2037613f43522be40fc82012446fbfa4a0c4e3cef2bb97e","0f1e425551df9aa6b11615a21f9d10903b47595cd31ac94cf4668a8dd0c05493","df5ad3e5f00364b3f1beb243a4ce7538b0cead886bfc7c9ef7a6b4084d120bff","63ea694c3e35f63c6c4261977c8a0c6c8a8c1d39989d5f7cddbe7e31a90680e3","a6af53ae0a4603cf6255dbd8bb4209edfad8e952bfa762684033782a28f68272","cbaac46ec418641fcb50afd7d0c8bf9462b6f7ca83af24d1317659a721175e2a","583afb8a108dd9eb775d9e3b9192abfb39abfa4e427df93bdebc6186f1b93f77","c6991234729127037d9d3653d89f1c8097caf2e22bf07bd603df5bc324b1c2ee","0f2d704b8c4d56eae35f88e646ebb05d3aac6bb9c3da915b0eaf6be8ea2e4758","6dba67434473193e6248d4db56aa0a23eed8791e861c863b36a4c347c5c9a307","6dcb16b880a06d2dd2912d2ce33c6f5bb09f4e7fa0f94090595caabeeb5454c6","a146e3f554d4f4eeb8fadf905892103cec35a60690c5d0437f65d1a5c85ecac7","65415fad6e906843d03b4f9ffecc427c7264a7b99824d95600f3ba24b0e8c511","ad12999de217ddbea616ff753af3f34217e717ffa9c67b62ca777e35ab3c5874","f6f348594ff4e973a6f4eb9362471771a16d153104dd54414467769f01af4432","966d70d89d30e36a2e59e4accce507aa318c714c62dd41871e24c348455aa5c2","539c78bde44b8b6a595df8e4ddd3a9c5a4952a66aeaaca822515b312ac7ae3d5","1fe8f0c13354c3939901e103ab22444de77b9e4aa6337e6fdaf2e4c3276fff45","2b86ecc37fe743c9cdd7b0f602dde4e82df61e65f8b967ed6d76d4eea337d81d","4030b77e9ae60454573a3719eb115cbf2011e77f3ce3cfb6e3fc5472d760cdf8","d54de56aae4ea724dd68867575ec03773571d1da9021d2a3faf1230ea7f5a833","144e4a91dc7f7037ed34641eadb23bd804d97e2003f6127d396cadd6fe036dd9","0eaa5c5acab4c493c1b6205679fd55a3040f1e64d3104f658c1e34f3de0d9c02","ba7373cda53b37cf5f7214aabfc4bfe27f1aec4b48cdb1442224066d9a2671bf","55827029b21b504bb993c4db18c782b3210e4326791d876e1c5b0ada996efd8d","1ef9d602026166f18df649f140027aaffe8a6bc6c4fd3255e2526f6f4a298ec1","1fed74dba3d945050f578010f36b01f87c81c85e70737b267bf79220e18e4380","700f36126f73ca804f813ce2548fed7265601b97445477c00992a65c519b9c64","865ad0975ae1da3d138922ee6f8361736ae84f3f458a3100984694060dd3d1c2","e2f6c974f55db571bbbc394d721016b49c907de932636c1f7a3c61f6449faf99","826998b9f2e477c5fb5dbcbf168f5d51f72196918e95b51e7c805e2b3a21302b","ad026571287c9f31c732fa858baec2de491730bff7ba17247edfe1edb2ceed94","13e463d59ee7be9e0d5f47db8aba3d498463e5f7ab499130a295a1e73297ab04","12ae74b5e66f0196fbeffcc1210f3a0e6855b4bfd8647c168fc0567882e608be","17e45f875f2552ef03b308f6242364d89d951a5490cc4abca7fc71caa500075e","cebd90ae1f1adfb07838c6f6d712975ca8433084ebb3ff6fc41a39c4ba4392a5","11ac7b421b95660cded5b955e43bbd496506e99d2a20ebb28e4893e4b62e22bd","e24f8a1db683f107c5ae493a6679744ccf2a3ee988c77f0b51ff90352778f2f0","a3d5cab76c67bc71f1e47fcc5d597d0753f3950347e050d2f3f0c128e7430ca6","9b6f7d1161bdc0422c102c61fb5b8438bb660b63466f6225d024b7c32ffc2fd0","7b243f178e0eddca23bac2e3c39781470c4f4280f72bf53860994bc3cd5ae0c3","57dd51ded61d067162e67bb136d6269df67299f17f5a1fd0ec32a68480c07cb8","964fbd88f705cd0e00c21b775b52e294192d749d182932348dfda323e49ddc74","e82f515f241eb9184cfaf9c303dc91de3529828be9c3c602ae97bb0bac418222","680df5a3635017efcbc272ee6bf3b419e7a575b646df72938a09b8d8399315ba","ad9d6e569ebf745a6517baee7f72d9030275510c87efe63d190ce1ab2ca7578c","ced78442f2a8a65a8ab008a4892ad4eb22953e6697b89764b25ad4f0c4825068","1a9f546b43ccffed20bde218d717ffcbcca5dbc6b7ef796f768dfe85d96e9e02","78ea139925ff0b981392b6e4da9e774330d1dba0adcc1a397810cdd45097a117","42bb09a0ee838e5c0c4709d397283a035939ae99679cb4301a35fa21512da31a","b6d69c8f8f0a5500c248191142d0b8931c792bbfa1e04fb20fc09ac4fa6a032f","70c090654200b566593653b0b5491124f2a1f4cec372e8e1647ed4080e1a2757","53d0d58da4962f18e328dbacb7cd0eb7067ce0385138e90187a8007701d7dafd","ada14ecae259b6b34dad9fa7fecf0d8ae26cd04dfc312a53c4b0ccb472bb9309","66966d396f3451fc8d0a5125475d7e24ea95d68e4f176e3af8c78fa9e1cd2795","4812ad98953705fa59c7c5b7c4ad46672531497e5c236f1bd625c479114dda00","9dcebbc6c3ba0e08658aa8ac54a9d605e252185b7c227a1cec09a52cdb736e1d","858f82bb3501bc4e3ec08c4d9f8035768a62549d4de42804600e9eb63a475e36","b6e4b2df38794096aba6944a0941accf45da9b97d2da719dd8a95d883b0fc7b1","023683fdc80a7f5c8dc1426427f328373aa309bf28be20bb7ff9b5fe1a3010c3","89770f74968d22e5195c92e6a15a2315b35c44a795bc488bc2c2c9cf94e3b34f","81b828cedde10b708124cf4acabddc57e5c17e54a42e07506ea5f4fbde663d87","5fa5ca164fea16db2c611d502b3f5c82c1f02417507de0c4debeaf924f771a7a","6e33f96796b3f6ad6f737d1d28d82b66427966907b8703b98b58c2ae8a5b2333","7256febd272a24bd76fc5ad02e1adddc9e52a412139783837f9930b9e3ea2435","d86f9872317cb0a8247a958182d56078fcc6d57669d79962d3501e9f79ec076c","35fc3a1f8c2f11cccb720d532639cdaced8a52d5800fd8da54c73c4ff405f99d","fe7c0cebf68625c1820b1fc93319648d9409021d2bad14a002645ca938a4ed6a","2933d72e14929db9787067dcf54092df7fa805b5cd899e5887d857962c34dbde","bdff031b82377b6a28afb4192490abbe16f065130ccf2e2294aebbe50a0146c4","2b69bdd0d8c3cf8a1996b403ad7759677175442562e89bb0f4b2d091ff707c97","10bd790f2555d8adc0a03f461660eba554273e3246c0ceb3f6a5f417d6629748","55aa8f99f91f68660dfb603d17d32801962c338a90a7d9661936e4c582a66608","8de633078fc317e8d998cf1f6b4b9d57c89eada17505da12b496e1d9686d3b2e","c878e4bdfd75a03485af04beb1651ff5010359446d41572222536d00a5ee2502","d3d2e941165ff1b1e63bf19c863b92b89e50a1f6f2fa8339a1dbfecabd46f756","a91c5524a4df7051a0384c05ab0683261a40eec16d0cab13470aabb18eb761b6","14ecfc29e0c44ad4c5e50f9b597492cd8f45a2a635db8b5fe911a5da83e26cf8","bd93a3a1fabff2b95fe9442989cafdda76c3c8949ae1fc4bc75a92d04396d9e2","02ed2766d79a00719ac3cc77851d54bd7197c1b12085ea12126bc2a65068223e","4b84373e192b7e0f8569b65eb16857098a6ee279b75d49223db2a751fdd7efde","fc85a7c96dc69c9e16ccc8d9520075d1ec272e0036aa26c88251709ba25ac841","7c37569e586a3276ae7cbc405c9f1c51efdf3f603cc8b76dd2196d1b01c2f9d0","bef359bd6998f4ce186f7450ec3fbd9cf47ee3097d75c26828b6d985c843a48d","696a04758e6c58966e18bb99a64292017fac57f0ba5482e1bc0b617be850b12e","46fe6faf3d6907bb675b5c37df15b6021b9ca1e4f91b25ccc422630b4c1568e3","c45a995ea8fd0d701c3e013dcf7a106809d9b1517c7115ade3f58d4196bd350c","0332891c6714ceea22d919677ba76e7875f4be1104dc1c2a19b9359b7a2e08e4","38a217719a1e847d3b56f0e513075f07740ea536a838c332d02b2ce4288f23be","d51809d133c78da34a13a1b4267e29afb0d979f50acbeb4321e10d74380beeea","68745f37d24b1b5800c45d0c5c00abfcbb031f9be0bcecdafd29405667397abe","fccc4725f7937821ed7744c796c090963929da13a497a05a58ba478d1c1442ef","7537e0e842b0da6682fd234989bac6c8a2fe146520225b142c75f39fb31b2549","29b531d00f444dac2e3479c2def9654fb71a2c0df68aaa7f134a6fed897412f9","60fbce4fe62a585d67228f8c1e43e7f1e5493519ac7f3d0fb383d95c1f690a1b","ec680627cfcc2c14c92a3771593020cd6ef28b20ac2c11595c788c22e5ed8825","eab9f911bbc4f6ad22381245527dd59ec7961feb385539a93deaa64ce9acffb6","067b2b20a1277e3379840be584fb58ee04851935cc07879d2b6fd36b7cfc9106","a1af693f9be467c12c034a2f30126579f32648ff74e25cd733f03994314ff27f","6e63d0927c992bbaa6f4b6d2b8725622573aa64ff6483706150d338ed6c12c3e","0a7b40ea5973f8441be1d0ec6c6ee50472532c8ad0118b0c91396933ad7ae1fa","26e924322c7ce85c97c9a8b286b3f40a2aa394e648a0b0a0244ab1e066b51f09","db69cc9ac3a31dc9a2101753edb73bd5ce48fc3d678bd123ff1fc0e8bd6d9da1","91ced9c18c0b2fcbcc2356cc48232a1ea9f35f8c6200648c14fb594ea7182857","f820c1e15dea8665742bedd00f36bc16404e53b2b6efb1ee39cd9755d5ac19d7","4c102ca82ea788c3b0ae184a6b259bb8fef744bf040e15d1ef3737599ce17a49","aa4b05181ea7df35382d12fdb06ff0dd8b6e5183f572483e8ef8473ca5f209bb","65834bde83f0841502806c9c32e72e30b618a87abf8e634cebe13427bfe342aa","650e33bbefe6511a04bf7ceb2585ac959992753acdc9ebff3c9a14ec35f58218","9553ca48840172371ecc4d8fb9256d65d87b212e7f5f9729505667e50c55819b","e57d22ad77cfade24633fa913c058a4808b8deb05a7d1a117a005c31a7ac0070","75bd9c38752d263279213294a5cd5d299ac942b17015636cc072604ec6f36d66","1a1e506008918880f6287dfb132a971e6365685f6ad389fe83a9f667d812bfbc","a833732440deaa9f5d1a83e11586fbaa014a38d21e51dff0668fa2cd88411c42","49779cf9f366644d54a627f33aa2d4b10c406ca583f7c776f0ba91c89c4eef24","6b9c37249aee3d8cfb736fdc33367a660aa988e265571dc96bb19f6d39b3b697","127d46ca2b06c299acb4c611974bb2a514c6c8dba3e1fff785f6d3b91094f113","3262e34e0eea982fffd22ca370e5635ad067cfda3a972623b6281341ca2b6531","47c2a8c06b90e091e43e4634dd696c24922237f4eadad16c606083ce3dba1b0c","80215616fe17781ab5837ca991a1436db1bb56078e6a5cdf884902cb7747b068","aa0202c1c61ec4fd5aef58f697e40966d9d689cf0e4d8fa01baba8ebe5f713b2","92b32a29fe763ddf8fa4c9c0ca9625b2e8ddc9bd08bc79fadbc9addf6c542c55","72e1b346af8458ef00eeef693433ac9886cfe80fec95f4b3bb8ca289678193d8","94e14855249a3b55dd3ec614770ceddb1ea073c2507fc3a618d876e1dfa03b36","13dfbe74283a413686ba822474ed67b34063bdf34b0d848d3184e20b49d00e85","ff09548f022deb10e9dbfc58934fb79e93eefe133d42129e20b8e25b5ccbf3e1","dc99c3ca26ac64205794519982d57edcd20fa034df76a9b17bdbf45f778886e6","b687b72c9056a174005bb25dfd6b2022d9bd0f27e25b8d0cca6bc201c8ab37df","af762f7b10f26f3cdffaa5b0e5480b0e2f1ad7a9a42ab0c47db9d20b8c4220df","8cbbc61e47b2b7dc3ab5d04e6344d8299e23d43244792593122dfed58f50c3c2","65d74041d453ea6a86ded3c1c1e0d9b915a93db98882f7c667eb94454b4bbe18","cd32a10a63d80e05777ff980e86c754a0cb54b4867515f6cd536f749f1f8ee1c","5463dbd064e1a0e773d38092e6e18a92b7867fefd0e2ac668c4636e8a111af93","ddd54674ee93bdee9b190170af8d699716c8b547b4cef51ebe5f1dbdfd76b91e","b90a3eef20d83f300c74dccc60f7595d6a22e8bca5cca246c64d272746749d43","cbb2b3a5e3099a762096f6a31d189def6801779e704d00bef659d0681a3508a3","7c45a46ca2182d34c276d00690da5d2e7264dde74b453fbbca07501df62d7db6","b3479e1df52a53f3217e5eb4df0f2e4079dbfdec152fed7d4d19ae7424adc783","f151a2964b82a536472ad8adf14ea21cc22d49b462e2bf7fbc07c894145a8323","a2e83fe09a6ad494998abdab2cc35670edde0817a682c707e55de16955523355","8557af38076c04f257f0d94dcd14354f3d1cc9f74e0a1162185918c2a3253cb5","0a0464d3c5431ef57ef90dab3a55e8414d6f90533627c16460646f64b12693fb","e3272b2b6000622540c4ce783c4e867261b48a2d901b2f5d067f09a7c93a613f","9ad9ca17ed9724c164dae6eec3397a2ba773b93f05905b517e687f3f2faafb2b","256e85620e8136812d0c46a1b2e6e4da93b452722fc130167877194dc74c1684","dbcaacea5434cae4d8e131db08b851528c9597e03f2a5ea15480e980d752ce09","ffaacbbd1227d7eb932a9dfec51dfa5f69e9f282fe6848ca37c8a21ba311562a",{"version":"5f5dec849850dbe07f77c50369d100c6a95f3a967adc93f43377d3cbfa01c4e4","signature":"6b080ae8df9c7c47ca8748287600ad4b3ee5a9dad4d678ebd6e7823968205a32"},{"version":"8f378b28883029f5be6c6891850e8e4508f54a63f56c588e547fa60072b71f72","signature":"8b83875ae31088f3d1bcfdf664b3648f09a547fdff9ae2d9e9707922be9771e3"},{"version":"a8eee722ae3dfbe147678d83b4b9f06e591326be1be5a589a4b37b0235193ff7","signature":"0575e7800f441aa6a3a00c2c263628ff25ba465e89241de86589ba2406cbd63e"},"7db93310b26eec00c09fb942380e587b30407ee7178b7dd6b1a508a7d6077568","bbcd98df2336ea9ca777ebae6be9ae46aa0a4d43808c7b0e1bcfe3c002d6962f","e643de99243f81207ffe2ce7dbfe6b55a1e8e546e97181192cddb710f9918dc5",{"version":"bbe8fc4f27df7bfb4e766fcdac3797a0527c3fc2819acacbed4dfae2e6e65a82","signature":"4ea6214ce8762d62fa5c3063a6a92bec7cd35c4c05dc12f9f3e5675e7876db1e"},{"version":"1df87e603e0631cf86b342697c8294c32b41d69cef57ee2a47285d3ced2fbebb","signature":"cb7e26c03aff899c7fb8ba9b4825219d5e086a372c4c9920740a66a95900732b"},"56bc515e7cdeeb3c960c34c15ad265b3a27ed8720dc2d4d5bcfceb2595f4a450","81c91a4c3b0c20bda8cca5423c6807a63515d48d4bdbc53db176f078f3a92526","bfe930af35cb57b0561009b48a54fd84d6ea68224d5adb235a577c4f4ef68ec5","e0f031b4e6818a76fa3fd6bf38aa29264bc598dee1601f0087ec9537b0ffc8fa","aac4e6377f752a85c57ee66bcd7b36f6d757c692dab7e43d1bf64a17b8608f5d","62e51bdb51dbd23440d4c2b3976178ec7ca00adb1690c5fc56848085dbb3ef9a","9a76bec121a708a33b6b43fcfd1442898cf978a2ac2a9f15ca8cb5966d8c4b06","78cb0f496f365d27d213be6da0777ddba8ff8ef3a09e2a7d638ad5b1a8086540","bb4ce47a759e6c6a80e4ed1115e72f5830fbac8e940e8d9661ba1f95eea1d58f","a301f0459e7a00c0c5acf7cf82eb1cdf3f58194c51dd2cb00d7c86089af14df1","e92fda58674904c0704ab9d368dffc40bb0ead8b3325c9a10323386cd885b0f5","dcab3465b724aed54a583a74831cf8197a701cba8f1598495324eb323621dfe6","da2b5982235725afe9a0aed6ed60c6c0ccec4d9a9795b86aafdb1443fb913e54","7f93f4c204e36e7c4db3eab8eb1b536ade99629591449780ab063d14ac579292","bb5798e6512df7e32d326445d8e4d96d4adcc0de4120c3b3cd5eb267d8d89c2e","cf94ad90795e7d46d8eac710770036cb38f90cdac9e5581bc5e6b4f31d5ffdfd","d0694b66ec2d6f02ee196495d6a75790c08d2c16bafe5bd8e74ec96bb2d8431a","a4fc63e89fdf3b910bc942f3735c490edb1e9184cbc2d80387dd0dc52d49f0a7","8d523e6a4bb252bdb3441284623fd45c1607326ae037561365d08858055391d8","2728ef0658cb9efc597dd29d00156f1d298b3dc3478f99205c37155928922dd8","d0d88f7468427dcd2f2356aa08322cbfa16a8dd800611d850bd699b97f5b7ca3","a2b426dc2db567da3111136e5dd3ac1ce666fb8066a1535931fc9b40f49bbe6c","9f881daa662d54fda5c67ead52b1c024410d273672a8cb2e241a07fc2461a56f","7189e88a8093ae3ee36a1ce2ab8978c18fd0d8c5ecf6d2525cfab1fc425016ac","eda60e730f313d5d280e01f60b23db6f1158f7fcacad2892a37bee53ebbfd827","1d26859aa495b18bb96c30b081290ce275a50bbbd95e238ebbdd2ff631089be5","9961dd61083c50f45a7d5e4ad0a510648df4c080b4e77a6609f05f37310fedfc","5999a2ff4a66451434052e5eda20e2ef0e2758f88a18d7f1245d86c44572b959","90da881d9a9757da8b8e477a8f3f13b69fc86eca6dc8abbf784d133546348dde","ac79bc6b150d5263ecba0a6be6a448fe7eabfcbbc368194d662e647ae9d3fdbc","dde88288512456171ef12e02a22144c0e3289738a2378620252454d8aef95739","4d949922c12ae2d15d4a010ce13d61eede41c6850b04c9fc970eb4bcb433bdc1","7c914bab31ace660ddb5e2b0ae2aa924d2b5faaeeca0261e0ada1ebba9722305","a6c6e0d17dd706d93c88377cc29f4cd1d6fd70e0162cb7610300c2d81f83a3d3","ea06b244f942be5467b237178774fc052573152ef69d1d9e1bf1c061af15df10","8a8cd239a260d899d1dd92b8bae39c412ee4175ad9ead9832514f66b500ee676","4e622d02fb2d2bff3cea84857d46f58841fd1e9c776ed531af29235f6999b33b","60a4e5eef20a7803ee8eb778b6cd22259d83bb337113ea8865260cd18424c4f6","a024f84f26b95098b7785e802bedc96a76913716624ed568ec6ec00f040cb558","22e9d0cf03baae41d990f7c00c25f1e9c2f2550657a2e429bd7785c1a92cf688","7b839cab81ef228b8b4bc801e4cb6ffe5bcb59cc2e8da4c0e9c759fcd45388c5","ccff76e52a25a6a592715c5f167595d0f530142a58ff1d8feafeb1879a1996f2","11f7be8f77e1c8bc6b26d0b289d1f65dab807cb6dc22dbe40150808cf62af8a9","db29510b78c9a0abb195e3c0752cf961b716ad7a05a17e1857eedd0b0180bd0e","ff5e1bab0ab65344e5f0524b1f57d0d18288f96b74eaec2e492de9cbc6745f80","8c4fe6ec9b96ad444f9d16bd8dea18ce718027a357ed6c9153b92798735f4eaa","0d585153128de22400c9019778adedb8ffc3b41f7b2df76f3dcb53690f39a971","05d94cbe6d182223c53e85e4a2962b78b57c756b5800c2fd5b1c03e90fc15d3a","9c9fad129175148440d53268d1d3d839aa041016621a3a41be24abda3e25a3aa","dc35fc3eacf34575409fadd368b00dc3a89477a0027428f4210bd56eb6bea43a","6f82c16c3e436915f5792401fa64dcc12648a512d05baa35f19ce8731b5cb303","9536444828264f4e5022ab5e51c57a212f46889dee2a7173d9b883cc1872a1fe","8325275b6d3be9d8ee53d08fa85de396f02119d4badb336b873ce6524c36246e","c7758e6a96449c33c0f043c8a6ab99b0d089243be754cb1d03c5f65a3b6e8094","8fa0d1ea1b1229a37aefaa60a0a0249ab5f0dd53d1aa196146dbd8724942434c","af3fbc1db8f057f05e01960b8db4fc759185b09365b967da7f3a5b96465fe9da","a8c9e9f1a591481d756c2448a305f0058c8e83726fde616e0bb474f0c74e39b3","0e97456057e413a64f5a103df512abbeebfffa5c69445c5df0471cb89cbf699c","e8cf14c649c3aa51be5b9a197dfe8ef5a5a1dc82f3bfb0e1d323439b1c68c59a","b417d435356381d85e9ca31e7b6c895631f40e01ac52fa42500f29e720656658","3f5e1e7005c7720145df60b0ba437e2d58357ca93b0baff5580ece09ba7cb950","10aa47e00a95f55c322857804ae1c1adbb69e39160dcbbe61b2bbe2efc9c6e14","3b168db0ce7997b45e1511a0801ac3816a9b1cab961d1943e3cbc8a3edec1c1f","6570704cf843c84d2e025e7d3964a1c2a378735c47ac4b8fb93505dd187fed6f","ebc87f2ccf4fb6479809e5b2b29f10f76a21321394649b50fa20b9d2ed4cb606","349f403183a0197bb3398dc4c3e0a68a7d0309fafc9a9fea644272849c23b803","7d2b7fe4adb76d8253f20e4dbdce044f1cdfab4902ec33c3604585f553883f7d",{"version":"e7aebbeb8600f5704d11f2ca1d3e598a8882160bd25b04d23f4006c4fa04b6af","signature":"dd12965c23ca00125ca4c91c98475b6d061678a1a32f1d5767e13794121239e3"},{"version":"609d7ea3407e80c8ab1f0772a8d44857a7f89d5c9896df7f065dcf69c72ce7da","signature":"bda8626de9b0d73e6624f40a1a1872db5b7a750d907b6c03b820b17008ae0072"},{"version":"139bbe121a9501b94e581f36d94cedbb125e2b8ea4a00aa3a16d698481332547","signature":"6cf6ab44be875ef8698c4ad136861e121ff9d751e747b67821b4de8959142603"}],"root":[[487,489],493,494,[562,564]],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSources":true,"module":1,"noImplicitAny":false,"noUnusedLocals":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":7},"fileIdsList":[[226,227],[226],[99,228],[246,247,248],[99,247],[99,219],[88],[89],[88,89,90,91,92,93,94,95,96,97,98],[89,90,93,95],[92],[321,322,323],[99,287,308,321],[256,287,320],[287,320],[309,310,311,312,314,315,316,317,318,319],[99,153,190,287],[287],[287,309],[153,190,287,309,311],[153,190,287,309],[287,309,313],[99,256,287,309,311,312,315],[153,190,287,309,318],[99],[99,228,234,235],[228,234,235,239],[229,230,231,232,233,234,235,236,237,239,240,241,242,243,244,245,250,251,252,253,254,255],[238],[99,228,249],[99,228,234],[234],[99,234,235],[234,235],[257,260],[221],[220,221],[192,220],[192,257,259],[99,192,221,228,256],[257],[263],[156,190],[100,101,102,192,220,221,222,223,224,225,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286],[153,190,191,192,220],[99,221],[260],[192,257,259,260,266],[99,225,258],[219,220],[192,219],[191,221],[275],[256],[99,287],[258],[290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307],[287,289],[153,190,287],[99,228,256,287],[228,256,287],[256,287],[103],[140],[141,146,174],[142,153,154,161,171,182],[142,143,153,161],[144,183],[145,146,154,162],[146,171,179],[147,149,153,161],[140,148],[149,150],[153],[151,153],[140,153],[153,154,155,171,182],[153,154,155,168,171,174],[138,187],[149,153,156,161,171,182],[153,154,156,157,161,171,179,182],[156,158,171,179,182],[103,104,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189],[153,159],[160,182,187],[149,153,161,171],[162],[163],[140,164],[165,181,187],[166],[167],[153,168,169],[168,170,183,185],[141,153,171,172,173,174],[141,171,173],[171,172],[174],[175],[140,171],[153,177,178],[177,178],[146,161,171,179],[180],[161,181],[141,156,167,182],[146,183],[171,184],[160,185],[186],[141,146,153,155,164,171,182,185,187],[171,188],[48,77,87,156,488,489,493,494,562],[488,489,493,494,562,563],[324,486,487],[59,60,75,77,324,488],[445,487],[59,60,75,77,445,493,536,560,561],[59,60,75,77,492,493],[59,60,153,190,400],[395],[395,396,397,398,399,400,401,402],[59,60,153,190],[197,198,199],[200],[153,200,202],[205],[193,194,195,196,201,202,203,204,207,208,209,210,211,212,213,214,215,216,217,218],[205,206,207],[153,200],[73,153],[498],[59,60,73,75],[59,60],[59,60,498,502],[59,60,497,498,499,500,501,502,503,504],[59,60,73,75,497,498,500,501,502,503],[59,60,73,75,497,498,500,501,504],[54],[52,53,55],[49,50,51,52,53,54,55,56,57,58],[78,79,80,81,82,83,84,85,86],[59,60,73,522,526,527],[59,60,73,505,515,522,528],[526,527,528,529,530],[59,60,529],[59,60,73,75,416,435],[73,416],[436,437],[60],[60,61,74],[59,60,61,73],[59,60,73,75,552,553],[552,554,556],[73,75,539,557],[555],[557,558],[75,557],[73],[73,75],[75,416],[537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,559],[59,60,75],[59,60,75,416],[59,60,416],[59,60,73,75,416],[73,75,539],[75],[416],[335,336],[335],[59,60,511],[511],[511,512,514],[507,509],[507,509,510],[507],[508],[511,513],[394,439,481,482,483,484,485],[73,75,393],[59,60,73,393,435,438],[59,60,73,75,439,445,480],[59,60,73,75,480],[73,75,363,480],[393,464],[73,337],[353,354,355],[73,354],[73,219],[62],[63],[62,63,64,65,66,67,68,69,70,71,72],[63,64,67,69],[66],[440],[59,60,73,75,363,440,443],[440,441,442,443,444],[59,60,73,75,505,515,516,517,518,519,520],[521],[516],[506,515,516,517,518,519,520,521],[59,60,73,518],[477,478,479],[73,393,464,477],[363,393,476],[393,476],[465,466,467,468,470,471,472,473,474,475],[73,153,190,393],[393],[393,465],[153,190,393,465,467],[153,190,393,465],[393,465,469],[73,363,393,465,467,468,471],[153,190,393,465,474],[73,337,343,344],[337,343,344,346],[338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,357,358,359,360,361,362],[73,337,356],[73,337,343],[343],[73,343,344],[343,344],[364,367],[330],[329,330],[328,329],[328,364,366],[73,328,330,337,363],[364],[370],[325,326,327,328,329,330,331,332,333,334,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392],[153,190,191,328,329],[73,330],[367],[328,364,366,367,373],[73,334,365],[219,329],[219,328],[191,330],[382],[363],[73,393],[365],[446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463],[289,393],[153,190,393],[73,337,363,393],[337,363,393],[363,393],[59,60,87,404,405],[59,60,73,407,408],[59,60,404,407],[59,60,403],[153,190,404],[404,405,406,407,408,409,410,411,412,413,414,415],[59,60,403,404],[59,60,404],[404],[76],[495,496,523,524,525,532,533,534,535],[73,445,495],[73,153,190,403,505],[59,60,73,153,190,416,505,515,522,524,531],[59,60,73,75,416,505,515,522],[73,532],[73,531],[490,491],[73,445],[288],[156,158,161],[422,423,427,428,429,430],[417,421,422],[417,421,423],[424,425,426],[422],[421,422],[418],[174,190,418,419,420],[432,433,434],[417,431,432,433],[417,432,434],[417],[115,119,182],[115,171,182],[110],[112,115,179,182],[161,179],[190],[110,190],[112,115,161,182],[107,108,111,114,141,153,171,182],[107,113],[111,115,141,174,182,190],[141,190],[131,141,190],[109,110,190],[115],[109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137],[115,122,123],[113,115,123,124],[114],[107,110,115],[115,119,123,124],[119],[113,115,118,182],[107,112,113,115,119,122],[141,171],[110,115,131,141,187,190],[565],[77,488,489,493,494,562],[324,566],[77,324,488,567,568,569],[570],[77,493,560,567,568,569],[77,493,567,568,569,571],[433,434,572],[417,431,433,572],[417,434,572]],"referencedMap":[[228,1],[227,2],[246,3],[249,4],[248,5],[247,6],[89,7],[91,8],[99,9],[96,10],[97,11],[95,7],[324,12],[322,13],[323,14],[321,15],[320,16],[309,17],[310,18],[311,19],[312,20],[313,21],[314,22],[316,23],[317,19],[318,21],[315,18],[319,24],[229,25],[236,26],[240,27],[256,28],[243,29],[239,29],[244,25],[250,30],[235,31],[234,25],[251,32],[252,33],[254,29],[255,34],[270,35],[102,25],[222,36],[223,37],[224,38],[225,25],[260,39],[261,25],[257,40],[262,41],[264,42],[258,43],[287,44],[221,45],[192,46],[265,25],[266,47],[269,35],[267,48],[268,35],[259,49],[271,50],[220,51],[273,52],[276,53],[275,54],[279,55],[280,25],[283,54],[286,56],[308,57],[290,58],[291,55],[292,18],[297,55],[298,18],[299,59],[293,55],[300,60],[301,61],[302,18],[295,18],[296,18],[294,18],[303,18],[304,62],[305,18],[306,18],[307,18],[103,63],[104,63],[140,64],[141,65],[142,66],[143,67],[144,68],[145,69],[146,70],[147,71],[148,72],[149,73],[150,73],[152,74],[151,75],[153,76],[154,77],[155,78],[139,79],[156,80],[157,81],[158,82],[190,83],[159,84],[160,85],[161,86],[162,87],[163,88],[164,89],[165,90],[166,91],[167,92],[168,93],[169,93],[170,94],[171,95],[173,96],[172,97],[174,98],[175,99],[176,100],[177,101],[178,102],[179,103],[180,104],[181,105],[182,106],[183,107],[184,108],[185,109],[186,110],[187,111],[188,112],[563,113],[564,114],[488,115],[489,116],[493,117],[562,118],[494,119],[401,120],[396,121],[403,122],[400,123],[200,124],[201,125],[203,126],[206,127],[219,128],[208,129],[210,125],[202,130],[497,131],[499,132],[500,133],[501,134],[503,135],[505,136],[504,137],[502,138],[50,134],[55,139],[54,140],[59,141],[87,142],[528,143],[527,144],[531,145],[530,146],[436,147],[437,148],[438,149],[61,150],[75,151],[74,152],[60,134],[554,153],[557,154],[555,155],[556,156],[559,157],[558,158],[538,159],[537,159],[553,133],[539,160],[540,161],[560,162],[541,163],[542,159],[543,164],[544,165],[545,166],[546,167],[548,168],[549,169],[550,159],[551,159],[337,170],[336,171],[512,172],[513,173],[515,174],[510,175],[511,176],[508,177],[509,178],[514,179],[486,180],[394,181],[439,182],[481,183],[482,184],[483,185],[484,163],[485,186],[353,187],[356,188],[355,189],[354,190],[63,191],[65,192],[73,193],[70,194],[71,195],[69,191],[441,196],[444,197],[442,161],[445,198],[440,159],[506,159],[521,199],[516,200],[517,201],[522,202],[519,159],[520,203],[480,204],[478,205],[479,206],[477,207],[476,208],[465,209],[466,210],[467,211],[468,212],[469,213],[470,214],[472,215],[473,211],[474,213],[471,210],[475,216],[338,159],[345,217],[347,218],[363,219],[350,29],[346,29],[351,159],[357,220],[344,221],[343,159],[358,222],[359,223],[361,29],[362,224],[377,225],[327,159],[331,226],[332,227],[333,228],[334,159],[367,229],[368,159],[364,230],[369,231],[371,232],[365,43],[393,233],[330,234],[328,235],[372,159],[373,236],[376,225],[374,237],[375,225],[366,238],[378,239],[329,240],[380,241],[383,242],[382,243],[386,244],[387,159],[390,243],[392,245],[464,246],[446,247],[447,244],[448,210],[453,244],[454,210],[455,248],[449,244],[456,249],[457,250],[458,210],[451,210],[452,210],[450,210],[459,210],[460,251],[461,210],[462,210],[463,210],[406,252],[409,253],[408,254],[410,255],[411,256],[407,134],[416,257],[405,258],[412,259],[414,259],[404,134],[413,260],[415,259],[77,261],[76,163],[536,262],[496,263],[495,159],[524,264],[525,134],[532,265],[523,266],[533,267],[534,268],[492,269],[490,270],[491,163],[289,271],[48,272],[431,273],[423,274],[422,275],[427,276],[424,274],[425,277],[426,278],[420,279],[419,279],[421,280],[435,281],[434,282],[433,283],[432,284],[122,285],[129,286],[121,285],[136,287],[113,288],[112,289],[135,290],[130,291],[133,292],[115,293],[114,294],[110,295],[109,296],[132,297],[111,298],[116,299],[120,299],[138,300],[137,299],[124,301],[125,302],[127,303],[123,304],[126,305],[131,290],[118,306],[119,307],[128,308],[108,309],[134,310]],"exportedModulesMap":[[228,1],[227,2],[246,3],[249,4],[248,5],[247,6],[89,7],[91,8],[99,9],[96,10],[97,11],[95,7],[324,12],[322,13],[323,14],[321,15],[320,16],[309,17],[310,18],[311,19],[312,20],[313,21],[314,22],[316,23],[317,19],[318,21],[315,18],[319,24],[229,25],[236,26],[240,27],[256,28],[243,311],[239,311],[244,25],[250,30],[235,31],[234,25],[251,32],[252,33],[254,311],[255,34],[270,35],[102,25],[222,36],[223,37],[224,38],[225,25],[260,39],[261,25],[257,40],[262,41],[264,42],[258,43],[287,44],[221,45],[192,46],[265,25],[266,47],[269,35],[267,48],[268,35],[259,49],[271,50],[220,51],[273,52],[276,53],[275,54],[279,55],[280,25],[283,54],[286,56],[308,57],[290,58],[291,55],[292,18],[297,55],[298,18],[299,59],[293,55],[300,60],[301,61],[302,18],[295,18],[296,18],[294,18],[303,18],[304,62],[305,18],[306,18],[307,18],[103,63],[104,63],[140,64],[141,65],[142,66],[143,67],[144,68],[145,69],[146,70],[147,71],[148,72],[149,73],[150,73],[152,74],[151,75],[153,76],[154,77],[155,78],[139,79],[156,80],[157,81],[158,82],[190,83],[159,84],[160,85],[161,86],[162,87],[163,88],[164,89],[165,90],[166,91],[167,92],[168,93],[169,93],[170,94],[171,95],[173,96],[172,97],[174,98],[175,99],[176,100],[177,101],[178,102],[179,103],[180,104],[181,105],[182,106],[183,107],[184,108],[185,109],[186,110],[187,111],[188,112],[563,312],[564,114],[488,313],[489,314],[493,315],[562,316],[494,317],[401,120],[396,121],[403,122],[400,123],[200,124],[201,125],[203,126],[206,127],[219,128],[208,129],[210,125],[202,130],[497,131],[499,132],[500,133],[501,134],[503,135],[505,136],[504,137],[502,138],[50,134],[55,139],[54,140],[59,141],[87,142],[528,143],[527,144],[531,145],[530,146],[436,147],[437,148],[438,149],[61,150],[75,151],[74,152],[60,134],[554,153],[557,154],[555,155],[556,156],[559,157],[558,158],[538,159],[537,159],[553,133],[539,160],[540,161],[560,162],[541,163],[542,159],[543,164],[544,165],[545,166],[546,167],[548,168],[549,169],[550,159],[551,159],[337,170],[336,171],[512,172],[513,173],[515,174],[510,175],[511,176],[508,177],[509,178],[514,179],[486,180],[394,181],[439,182],[481,183],[482,184],[483,185],[484,163],[485,186],[353,187],[356,188],[355,189],[354,190],[63,191],[65,192],[73,193],[70,194],[71,195],[69,191],[441,196],[444,197],[442,161],[445,198],[440,159],[506,159],[521,199],[516,200],[517,201],[522,202],[519,159],[520,203],[480,204],[478,205],[479,206],[477,207],[476,208],[465,209],[466,210],[467,211],[468,212],[469,213],[470,214],[472,215],[473,211],[474,213],[471,210],[475,216],[338,159],[345,217],[347,218],[363,219],[350,311],[346,311],[351,159],[357,220],[344,221],[343,159],[358,222],[359,223],[361,311],[362,224],[377,225],[327,159],[331,226],[332,227],[333,228],[334,159],[367,229],[368,159],[364,230],[369,231],[371,232],[365,43],[393,233],[330,234],[328,235],[372,159],[373,236],[376,225],[374,237],[375,225],[366,238],[378,239],[329,240],[380,241],[383,242],[382,243],[386,244],[387,159],[390,243],[392,245],[464,246],[446,247],[447,244],[448,210],[453,244],[454,210],[455,248],[449,244],[456,249],[457,250],[458,210],[451,210],[452,210],[450,210],[459,210],[460,251],[461,210],[462,210],[463,210],[406,252],[409,253],[408,254],[410,255],[411,256],[407,134],[416,257],[405,258],[412,259],[414,259],[404,134],[413,260],[415,259],[77,261],[76,163],[536,262],[496,263],[495,159],[524,264],[525,134],[532,265],[523,266],[533,267],[534,268],[492,269],[490,270],[491,163],[289,271],[48,272],[431,273],[423,274],[422,275],[427,276],[424,274],[425,277],[426,278],[420,279],[419,279],[421,280],[435,318],[434,319],[433,320],[432,284],[122,285],[129,286],[121,285],[136,287],[113,288],[112,289],[135,290],[130,291],[133,292],[115,293],[114,294],[110,295],[109,296],[132,297],[111,298],[116,299],[120,299],[138,300],[137,299],[124,301],[125,302],[127,303],[123,304],[126,305],[131,290],[118,306],[119,307],[128,308],[108,309],[134,310]],"semanticDiagnosticsPerFile":[46,47,8,9,11,10,2,12,13,14,15,16,17,18,19,3,20,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,1,45,228,226,227,246,249,248,247,89,90,91,92,99,93,94,96,97,98,95,88,324,322,323,321,320,309,310,311,312,313,314,316,317,318,315,319,230,229,231,232,233,236,237,240,256,241,242,243,239,244,245,250,235,234,251,252,253,254,255,100,101,270,102,285,222,223,224,225,260,261,257,262,264,258,287,221,192,265,266,269,267,268,259,271,272,220,273,274,276,284,277,278,263,275,279,280,283,281,286,282,308,290,291,292,297,298,299,293,300,301,302,295,296,294,303,304,305,306,307,103,104,140,141,142,143,144,145,146,147,148,149,150,152,151,153,154,155,139,189,156,157,158,190,159,160,161,162,163,164,165,166,167,168,169,170,171,173,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,561,563,564,488,489,487,493,562,494,398,395,399,401,396,403,397,402,400,197,198,200,199,193,194,205,195,196,201,203,206,204,219,208,209,210,207,211,212,213,214,215,216,217,202,218,497,499,500,501,503,498,505,504,502,58,49,50,51,55,56,52,54,59,57,53,78,79,80,81,87,82,83,84,85,86,528,527,531,529,530,526,436,437,438,61,75,74,60,552,554,557,555,556,559,558,538,537,553,539,540,560,541,542,543,544,545,546,547,548,549,550,551,337,335,336,512,513,515,510,507,511,508,509,514,486,394,439,481,482,483,484,485,353,356,355,354,63,64,65,66,73,67,68,70,71,72,69,62,441,444,442,445,443,440,506,521,516,517,518,522,519,520,480,478,479,477,476,465,466,467,468,469,470,472,473,474,471,475,339,338,340,341,342,345,347,363,348,349,350,346,351,352,357,344,343,358,359,360,361,362,325,326,377,327,331,332,333,334,367,368,364,369,371,365,393,330,328,372,373,376,374,375,366,378,379,329,380,381,383,391,384,385,370,382,386,387,390,388,392,389,464,446,447,448,453,454,455,449,456,457,458,451,452,450,459,460,461,462,463,406,409,408,410,411,407,416,405,412,414,404,413,415,77,76,536,496,495,524,525,532,523,533,534,535,492,490,491,417,289,105,288,191,48,238,106,429,431,423,422,427,424,430,425,426,428,418,420,419,421,435,434,433,432,122,129,121,136,113,112,135,130,133,115,114,110,109,132,111,116,117,120,107,138,137,124,125,127,123,126,131,118,119,128,108,134]},"version":"5.4.0-dev.20231219"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0dbc899c7..9fbe1239d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "packages/live-share-media", "packages/live-share-turbo", "packages/live-share-react", + "internal/test-utils", "samples/javascript/*", "samples/typescript/*" ], @@ -26,11 +27,638 @@ "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "prettier": "^2.8.8", - "sxh": "^1.0.0", "typedoc": "^0.24.6", "typescript": "^5.0.4" } }, + "internal/test-utils": { + "name": "@live-share-private/test-utils", + "version": "2.0.0-internal.2", + "license": "MIT", + "dependencies": { + "@fluid-experimental/attributor": "^2.0.0-rc.1", + "@fluid-experimental/sequence-deprecated": "^2.0.0-rc.1", + "@fluidframework/agent-scheduler": "^2.0.0-rc.1", + "@fluidframework/aqueduct": "^2.0.0-rc.1.0.3", + "@fluidframework/cell": "^2.0.0-rc.1", + "@fluidframework/container-loader": "^2.0.0-rc.1.0.3", + "@fluidframework/container-runtime": "^2.0.0-rc.1.0.4", + "@fluidframework/core-interfaces": "^2.0.0-rc.1", + "@fluidframework/core-utils": "^2.0.0-rc.1", + "@fluidframework/counter": "^2.0.0-rc.1", + "@fluidframework/datastore-definitions": "^2.0.0-rc.1.0.4", + "@fluidframework/driver-definitions": "^2.0.0-rc.1", + "@fluidframework/local-driver": "^2.0.0-rc.1", + "@fluidframework/map": "^2.0.0-rc.1.0.4", + "@fluidframework/matrix": "^2.0.0-rc.1", + "@fluidframework/ordered-collection": "^2.0.0-rc.1", + "@fluidframework/register-collection": "^2.0.0-rc.1.0.4", + "@fluidframework/runtime-definitions": "^2.0.0-rc.1.0.4", + "@fluidframework/sequence": "^2.0.0-rc.1.0.4", + "@fluidframework/server-local-server": "^3.1.0-237980", + "@fluidframework/telemetry-utils": "^2.0.0-rc.1.0.4", + "@fluidframework/test-driver-definitions": "^2.0.0-rc.1", + "@fluidframework/test-utils": "^2.0.0-rc.1.0.3" + }, + "devDependencies": { + "@fluidframework/eslint-config-fluid": "^3.5.0", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "eslint": "~8.56.0", + "eslint-plugin-unused-imports": "^3.1.0", + "mocha-json-output-reporter": "^2.0.1", + "mocha-multi-reporters": "^1.5.1", + "prettier": "~3.0.3", + "rimraf": "^4.4.0", + "typescript": "~5.1.6" + } + }, + "internal/test-utils/node_modules/@fluidframework/gitresources": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/gitresources/-/gitresources-3.1.0-240326.tgz", + "integrity": "sha512-ZYA+xIk4/nHKbpzz3vqr2LrE/yCsuvL+5UgmgZG9hTdaAQEvOo/QNbLn29VCP6Gnv58Xmyt8Wo609DtnnAhqLw==" + }, + "internal/test-utils/node_modules/@fluidframework/protocol-base": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/protocol-base/-/protocol-base-3.1.0-240326.tgz", + "integrity": "sha512-UCnYMx1KOTwknIcHznoJuQQGVluXhFYASnczCDJiC5dRVpwAaj+Z7FaPF+mtPDnJ6rtAjLTc8yHIDscc5PKS0Q==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/gitresources": "3.1.0-240326", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "events": "^3.1.0" + } + }, + "internal/test-utils/node_modules/@fluidframework/protocol-definitions": { + "version": "3.2.0-237840", + "resolved": "https://registry.npmjs.org/@fluidframework/protocol-definitions/-/protocol-definitions-3.2.0-237840.tgz", + "integrity": "sha512-NlAZT7WjESOzQYiFRIXiWi58ISlubc69zrC2bObHuDE/hMdIEA0mVnJS8x8A/WHaikNEjZ1cyryJsRscSjg5WA==" + }, + "internal/test-utils/node_modules/@fluidframework/server-lambdas": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-lambdas/-/server-lambdas-3.1.0-240326.tgz", + "integrity": "sha512-UsoEQYWjrST+tNCtyvF6iOuk3VuhrkIYDLdXQnYOZblHsAw+T1f6McUt8is572Um3noRA5VwL7xiffMO65CArQ==", + "dependencies": { + "@fluidframework/common-definitions": "^1.1.0", + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/gitresources": "3.1.0-240326", + "@fluidframework/protocol-base": "3.1.0-240326", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "@fluidframework/server-lambdas-driver": "3.1.0-240326", + "@fluidframework/server-services-client": "3.1.0-240326", + "@fluidframework/server-services-core": "3.1.0-240326", + "@fluidframework/server-services-telemetry": "3.1.0-240326", + "@types/semver": "^7.5.0", + "assert": "^2.0.0", + "async": "^3.2.2", + "axios": "^1.6.2", + "buffer": "^6.0.3", + "double-ended-queue": "^2.1.0-0", + "events": "^3.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "nconf": "^0.12.0", + "semver": "^7.5.3", + "sha.js": "^2.4.11", + "uuid": "^9.0.0" + } + }, + "internal/test-utils/node_modules/@fluidframework/server-lambdas-driver": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-lambdas-driver/-/server-lambdas-driver-3.1.0-240326.tgz", + "integrity": "sha512-/+Q4KmJN17Pg50Yy1ZPCiouE87sHu9l7EAOMVFH/DE6yYxqfnDv2Qomm9GpcXO3gUgrmvAgKciRPJICAF/q4Vg==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/server-services-client": "3.1.0-240326", + "@fluidframework/server-services-core": "3.1.0-240326", + "@fluidframework/server-services-telemetry": "3.1.0-240326", + "assert": "^2.0.0", + "async": "^3.2.2", + "events": "^3.1.0", + "lodash": "^4.17.21", + "nconf": "^0.12.0", + "serialize-error": "^8.1.0" + } + }, + "internal/test-utils/node_modules/@fluidframework/server-local-server": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-local-server/-/server-local-server-3.1.0-240326.tgz", + "integrity": "sha512-fTvqo/pPOTG+aqvvQVFETAWCPywk34jmfXvYgokTrITWgGNlNJzYxTfJTfqXHMqnsVdCdFSIJiH26gIfHpteZw==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "@fluidframework/server-lambdas": "3.1.0-240326", + "@fluidframework/server-memory-orderer": "3.1.0-240326", + "@fluidframework/server-services-client": "3.1.0-240326", + "@fluidframework/server-services-core": "3.1.0-240326", + "@fluidframework/server-services-telemetry": "3.1.0-240326", + "@fluidframework/server-test-utils": "3.1.0-240326", + "debug": "^4.3.4", + "events": "^3.1.0", + "jsrsasign": "^11.0.0", + "uuid": "^9.0.0" + } + }, + "internal/test-utils/node_modules/@fluidframework/server-memory-orderer": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-memory-orderer/-/server-memory-orderer-3.1.0-240326.tgz", + "integrity": "sha512-66dXxi46YGK+yxC3xS/DK3yNQfkHL5Rvzj+3//J4iLEG3ouPPgIXy/gAuD2uukdu5rmX4KEZDMwzhv/GaJkysw==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/protocol-base": "3.1.0-240326", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "@fluidframework/server-lambdas": "3.1.0-240326", + "@fluidframework/server-services-client": "3.1.0-240326", + "@fluidframework/server-services-core": "3.1.0-240326", + "@fluidframework/server-services-telemetry": "3.1.0-240326", + "@types/debug": "^4.1.5", + "@types/double-ended-queue": "^2.1.0", + "@types/lodash": "^4.14.118", + "@types/node": "^18.17.1", + "@types/ws": "^6.0.1", + "assert": "^2.0.0", + "debug": "^4.3.4", + "double-ended-queue": "^2.1.0-0", + "events": "^3.1.0", + "lodash": "^4.17.21", + "sillyname": "^0.1.0", + "uuid": "^9.0.0", + "ws": "^7.4.6" + } + }, + "internal/test-utils/node_modules/@fluidframework/server-services-client": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-client/-/server-services-client-3.1.0-240326.tgz", + "integrity": "sha512-q72lcFbMyM2GkNhhXjVTFmeP9mJQ1SYtmkL/SKlng5gk/TCV5kui99asdaBmmATnOTM0FzuK/Z0Bra5Hv980QQ==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/gitresources": "3.1.0-240326", + "@fluidframework/protocol-base": "3.1.0-240326", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "axios": "^1.6.2", + "crc-32": "1.2.0", + "debug": "^4.3.4", + "json-stringify-safe": "^5.0.1", + "jsrsasign": "^11.0.0", + "jwt-decode": "^4.0.0", + "sillyname": "^0.1.0", + "uuid": "^9.0.0" + } + }, + "internal/test-utils/node_modules/@fluidframework/server-services-core": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-core/-/server-services-core-3.1.0-240326.tgz", + "integrity": "sha512-CK/yvBq94bHQm4qgCUp3EnfQedS7Dlyrsx7SE7FxeLLj4zm1Df8h1UX7t91SzJRyHMTI4l5xLrES6jbvp8vHRA==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/gitresources": "3.1.0-240326", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "@fluidframework/server-services-client": "3.1.0-240326", + "@fluidframework/server-services-telemetry": "3.1.0-240326", + "@types/nconf": "^0.10.2", + "@types/node": "^18.17.1", + "debug": "^4.3.4", + "events": "^3.1.0", + "nconf": "^0.12.0" + } + }, + "internal/test-utils/node_modules/@fluidframework/server-services-telemetry": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-telemetry/-/server-services-telemetry-3.1.0-240326.tgz", + "integrity": "sha512-G8baYbIFOkpq4sa9GkpzYYnx1oBBfdzdsI0CCsEY9D0XNmETgm0Qf+qspfGUB5BvwvoAB6ciyGkjXGRZQ4ytYw==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "json-stringify-safe": "^5.0.1", + "path-browserify": "^1.0.1", + "serialize-error": "^8.1.0", + "uuid": "^9.0.0" + } + }, + "internal/test-utils/node_modules/@fluidframework/server-test-utils": { + "version": "3.1.0-240326", + "resolved": "https://registry.npmjs.org/@fluidframework/server-test-utils/-/server-test-utils-3.1.0-240326.tgz", + "integrity": "sha512-BpOkkU/jfpdM/dB/aAYUGpcBzsZoJoA1ozVrVRO2cAVrnjJxgzXN1pSe5EDGmcr9KI1tHBstpxRZmOHdYkQ47w==", + "dependencies": { + "@fluidframework/common-utils": "^3.1.0", + "@fluidframework/gitresources": "3.1.0-240326", + "@fluidframework/protocol-base": "3.1.0-240326", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "@fluidframework/server-services-client": "3.1.0-240326", + "@fluidframework/server-services-core": "3.1.0-240326", + "@fluidframework/server-services-telemetry": "3.1.0-240326", + "assert": "^2.0.0", + "debug": "^4.3.4", + "events": "^3.1.0", + "lodash": "^4.17.21", + "string-hash": "^1.1.3", + "uuid": "^9.0.0" + } + }, + "internal/test-utils/node_modules/@types/node": { + "version": "18.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", + "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "internal/test-utils/node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.1.tgz", + "integrity": "sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/type-utils": "7.1.1", + "@typescript-eslint/utils": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "internal/test-utils/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.1.tgz", + "integrity": "sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.1.1", + "@typescript-eslint/utils": "7.1.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "internal/test-utils/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.1.tgz", + "integrity": "sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/typescript-estree": "7.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "internal/test-utils/node_modules/@typescript-eslint/parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.1.tgz", + "integrity": "sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/typescript-estree": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "internal/test-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.1.tgz", + "integrity": "sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "internal/test-utils/node_modules/@typescript-eslint/types": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.1.tgz", + "integrity": "sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "internal/test-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.1.tgz", + "integrity": "sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "internal/test-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.1.tgz", + "integrity": "sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.1.1", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "internal/test-utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "internal/test-utils/node_modules/eslint-plugin-unused-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.1.0.tgz", + "integrity": "sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==", + "dev": true, + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "6 - 7", + "eslint": "8" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "internal/test-utils/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "internal/test-utils/node_modules/glob/node_modules/minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "internal/test-utils/node_modules/jsrsasign": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-11.1.0.tgz", + "integrity": "sha512-Ov74K9GihaK9/9WncTe1mPmvrO7Py665TUfUKvraXBpu+xcTWitrtuOwcjf4KMU9maPaYn0OuaWy0HOzy/GBXg==", + "funding": { + "url": "https://github.com/kjur/jsrsasign#donations" + } + }, + "internal/test-utils/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "internal/test-utils/node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "internal/test-utils/node_modules/rimraf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", + "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", + "dev": true, + "dependencies": { + "glob": "^9.2.0" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "internal/test-utils/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "internal/test-version-utils": { + "name": "@fluid-private/test-version-utils", + "version": "2.0.0-rc.2.0.0", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@fluid-experimental/attributor": "^2.0.0-rc.1", + "@fluid-experimental/sequence-deprecated": "^2.0.0-rc.1", + "@fluid-private/test-drivers": "^2.0.0-rc.1", + "@fluid-tools/version-tools": "^0.34.0", + "@fluidframework/agent-scheduler": "^2.0.0-rc.1", + "@fluidframework/aqueduct": "^2.0.0-rc.1", + "@fluidframework/cell": "^2.0.0-rc.1", + "@fluidframework/container-definitions": "^2.0.0-rc.1", + "@fluidframework/container-loader": "^2.0.0-rc.1", + "@fluidframework/container-runtime": "^2.0.0-rc.1", + "@fluidframework/core-interfaces": "^2.0.0-rc.1", + "@fluidframework/core-utils": "^2.0.0-rc.1", + "@fluidframework/counter": "^2.0.0-rc.1", + "@fluidframework/datastore-definitions": "^2.0.0-rc.1", + "@fluidframework/driver-definitions": "^2.0.0-rc.1", + "@fluidframework/driver-utils": "^2.0.0-rc.1", + "@fluidframework/map": "^2.0.0-rc.1", + "@fluidframework/matrix": "^2.0.0-rc.1", + "@fluidframework/ordered-collection": "^2.0.0-rc.1", + "@fluidframework/protocol-definitions": "^3.2.0-237840", + "@fluidframework/register-collection": "^2.0.0-rc.1", + "@fluidframework/runtime-definitions": "^2.0.0-rc.1", + "@fluidframework/sequence": "^2.0.0-rc.1", + "@fluidframework/telemetry-utils": "^2.0.0-rc.1", + "@fluidframework/test-driver-definitions": "^2.0.0-rc.1", + "@fluidframework/test-utils": "^2.0.0-rc.1", + "nconf": "^0.12.0", + "proper-lockfile": "^4.1.2", + "semver": "^7.5.3" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.13.3", + "@fluid-tools/build-cli": "^0.34.0", + "@fluidframework/build-common": "^2.0.3", + "@fluidframework/build-tools": "^0.34.0", + "@fluidframework/eslint-config-fluid": "^3.5.0", + "@fluidframework/mocha-test-setup": "^2.0.0-rc.1", + "@microsoft/api-extractor": "^7.39.1", + "@types/mocha": "^9.1.1", + "@types/nock": "^9.3.0", + "@types/node": "^18.19.0", + "@types/proper-lockfile": "^4.1.4", + "@types/semver": "^7.5.0", + "@types/uuid": "^9.0.2", + "c8": "^8.0.1", + "copyfiles": "^2.4.1", + "cross-env": "^7.0.3", + "eslint": "~8.50.0", + "mocha": "^10.2.0", + "mocha-json-output-reporter": "^2.0.1", + "mocha-multi-reporters": "^1.5.1", + "moment": "^2.21.0", + "nock": "^13.3.3", + "prettier": "~3.0.3", + "rimraf": "^4.4.0", + "ts-loader": "^9.3.0", + "typescript": "~5.1.6", + "uuid": "^9.0.0", + "webpack": "^5.82.0", + "webpack-cli": "^4.9.2" + } + }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", @@ -576,6 +1204,20 @@ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.40.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", + "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", + "dev": true, + "dependencies": { + "comment-parser": "1.4.0", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/@esbuild/android-arm": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", @@ -2237,13 +2879,45 @@ "@swc/helpers": "^0.5.1" } }, + "node_modules/@fluid-experimental/attributor": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluid-experimental/attributor/-/attributor-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-oYPkHPbtUxHwLztpUlHwT/WHdE5PKr4DPcY75DYMgyP/CanUNkeZxwtm2bJA1EazdnKUTps7vQQXm5fyVtEB1A==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-runtime": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "lz4js": "^0.2.0" + } + }, + "node_modules/@fluid-experimental/sequence-deprecated": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluid-experimental/sequence-deprecated/-/sequence-deprecated-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-rnBwN6koQomrhiUoZO+7YzMjLTLzJGL7FfRJ/y/OfWl1IzjYF9cpgPSxnBkC8ZVfMIWS1oUIOWhKH422qNsOqg==", + "dependencies": { + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/merge-tree": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/sequence": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" + } + }, "node_modules/@fluid-internal/client-utils": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluid-internal/client-utils/-/client-utils-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-udcDKSKpJ/t0wuialWYCwdHzBFHPd6nwQsgYuakNHSAdzmIQprlmIn/jrbZwAWGQummkNK2k/yXytyyOxe3s2A==", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluid-internal/client-utils/-/client-utils-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-rNTytq3S3HaUCHwnGx0+UqmxamJoXS0SKgfjBV1g6s1OXhV3eV4oU9s820YpyMrj4j9O09z5BSKtadqKRRX6yQ==", "dependencies": { - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@types/events": "^3.0.0", "base64-js": "^1.5.1", "buffer": "^6.0.3", @@ -2252,6 +2926,25 @@ "sha.js": "^2.4.11" } }, + "node_modules/@fluidframework/agent-scheduler": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/agent-scheduler/-/agent-scheduler-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-8WBTQZxVaJ/HY4Kh1C88j5kc+ExJYyJQtpHlgOIaOyZVAXU30n8dv52U8V5qCIkV6fK7I02XxnakNklF/8E/4w==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/map": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/register-collection": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "uuid": "^9.0.0" + } + }, "node_modules/@fluidframework/aqueduct": { "version": "2.0.0-rc.1.0.3", "resolved": "https://registry.npmjs.org/@fluidframework/aqueduct/-/aqueduct-2.0.0-rc.1.0.3.tgz", @@ -2295,6 +2988,20 @@ "axios": "^1.6.2" } }, + "node_modules/@fluidframework/cell": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/cell/-/cell-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-eIi1VIc/TejRe2DSRUj1SajCVbYKi6C5WrUASg+0EDo5iseEB2XI5r3jYQluteB8rrndt2dVw+bClK61o2Ju4w==", + "dependencies": { + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" + } + }, "node_modules/@fluidframework/common-definitions": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@fluidframework/common-definitions/-/common-definitions-1.1.0.tgz", @@ -2315,12 +3022,12 @@ } }, "node_modules/@fluidframework/container-definitions": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/container-definitions/-/container-definitions-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-H73Z7jlnUIEys5J8ItmCn1Y+rtNHh9StouohR9J97QS0vHFTdPi0l9jOkxI+UkmKe4bFT7aUePuiRMZfEfDKCw==", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/container-definitions/-/container-definitions-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-Ll8JSUqnbAT1XDADh571GAIKFxImofEeeJwNuX+0pWDG1gbysrN2Q5sBb9c+kzqY+oVfXzIVLFJ8sDojMTULtA==", "dependencies": { - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", "events": "^3.1.0" } @@ -2347,124 +3054,453 @@ } }, "node_modules/@fluidframework/container-runtime": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime/-/container-runtime-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-mC4zXzgYxXJpycgr2H+uxuomJEpR2JYlun956mtv/3Uvq4pkJ1ZXKlVSe73sZG063mwTUa1w+R7Hqvs5yMjZFw==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/id-compressor": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@tylerbu/sorted-btree-es6": "^1.8.0", + "double-ended-queue": "^2.1.0-0", + "events": "^3.1.0", + "lz4js": "^0.2.0", + "uuid": "^9.0.0" + } + }, + "node_modules/@fluidframework/container-runtime-definitions": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime-definitions/-/container-runtime-definitions-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-x+RxpUUM5RFEXZJkqOSb1FiC5Rjll9gFEZa0SaSw6pK3n8T3Hf5tDEMUcN0CF631ZRZ+7uNbIzRrOWvLCEPv4g==", + "dependencies": { + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" + } + }, + "node_modules/@fluidframework/core-interfaces": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/core-interfaces/-/core-interfaces-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-b9DCsA8z9ParTxNQNL3G8V4Cb6RxNzszXUdp8NWcSp+KJQUcGP3ypTIo5udI9RQuntXxDN93NTGW0mWvoToYQA==" + }, + "node_modules/@fluidframework/core-utils": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/core-utils/-/core-utils-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-gtkWPBOWJDbRLkEKShUDrbUNMOvHl56roZnMej8Agcsb31IqdoCOTXkgWtalnHL2BKDyWODELhUXB26u9zyhQA==" + }, + "node_modules/@fluidframework/counter": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/counter/-/counter-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-/zHnCCSFPZwSgFFxH5MRLdJH42FvdDoAa6Kct5vAFhE3Tgpu/1ALM0+lsoooEZtAUbVKCMogNWvBn33iXgs/ow==", + "dependencies": { + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" + } + }, + "node_modules/@fluidframework/datastore": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/datastore/-/datastore-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-NYXcGb3B0kmiS8TuuPQI9btu+RJZLJHwTDgTLDr52p02vdrdJtPvX05UXJmU2kVu04zOLv8vbEJ1Af5B/xrIkw==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "lodash": "^4.17.21", + "uuid": "^9.0.0" + } + }, + "node_modules/@fluidframework/datastore-definitions": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/datastore-definitions/-/datastore-definitions-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-oTCudfTKjaqkNk8DmEEjIfHi3UrFUIW8WPf4mUTTAraS64LkkpWJuAelNSPcHkjN4/S+2qiToU3bLEQn4ApwIA==", + "dependencies": { + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/id-compressor": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" + } + }, + "node_modules/@fluidframework/driver-base": { "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime/-/container-runtime-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-1U7Mb+LkaAsjk9reDAGGViTwn+utCQGsLWhKE3lRQ1JpxK40WsVnQYknPdd1tw+6/iZT9X7cMYGLnJ2lF5MHsQ==", + "resolved": "https://registry.npmjs.org/@fluidframework/driver-base/-/driver-base-2.0.0-rc.1.0.3.tgz", + "integrity": "sha512-4jI6AjeXX14dH6+cri8mRGxFUeaATtGxom3d5R3iVDjguzjPmMxKlSbul43/zutUHmRbrbp3GaaWRwqYsbHUAA==", "dependencies": { "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/id-compressor": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@tylerbu/sorted-btree-es6": "^1.8.0", - "double-ended-queue": "^2.1.0-0", - "events": "^3.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0" + } + }, + "node_modules/@fluidframework/driver-definitions": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/driver-definitions/-/driver-definitions-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-h8hzdK7kdgJCE8XV3PQS11ipfppvTfqkcoHGaeQ9tLatdNqpJW2nGFCAZ6KorCIdiNYnStjxFmhhHmZ1jraK4w==", + "dependencies": { + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0" + } + }, + "node_modules/@fluidframework/driver-utils": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/driver-utils/-/driver-utils-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-njfT/nyve7n9Y0KcCG9awg8vgUKAUFd9Jb5cezz68mwlAqw8+Y3xe1jSJQ0UV5XVxPUuAIyd3te2/wchhzNw6A==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/gitresources": "^3.0.0", + "@fluidframework/protocol-base": "^3.0.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "axios": "^1.6.2", "lz4js": "^0.2.0", + "url": "^0.11.0", "uuid": "^9.0.0" } }, - "node_modules/@fluidframework/container-runtime-definitions": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime-definitions/-/container-runtime-definitions-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-EafHKu/foXzo11XiLJU6q32o8B7hB8Y6CkSzZ+4HSO0rZhViauuXzWB9s/i4JylO30fBRhW1a4BHBCC3sfa21w==", + "node_modules/@fluidframework/eslint-config-fluid": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@fluidframework/eslint-config-fluid/-/eslint-config-fluid-3.5.0.tgz", + "integrity": "sha512-lpvCjZ56QlaSD+v75blAIYXExeK8U54xcT4UuhzTno+6kbaJg4AIB2xedelFGeSON96uUpTauHX4cvuF5/VoNw==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "^0.14.2", + "@rushstack/eslint-patch": "~1.4.0", + "@rushstack/eslint-plugin": "~0.13.0", + "@rushstack/eslint-plugin-security": "~0.7.0", + "@typescript-eslint/eslint-plugin": "~6.7.2", + "@typescript-eslint/parser": "~6.7.2", + "eslint-config-prettier": "~9.0.0", + "eslint-import-resolver-typescript": "~3.6.1", + "eslint-plugin-eslint-comments": "~3.2.0", + "eslint-plugin-import": "npm:eslint-plugin-i@~2.29.0", + "eslint-plugin-jsdoc": "~46.8.1", + "eslint-plugin-promise": "~6.1.1", + "eslint-plugin-react": "~7.33.2", + "eslint-plugin-react-hooks": "~4.6.0", + "eslint-plugin-tsdoc": "~0.2.17", + "eslint-plugin-unicorn": "~48.0.1", + "eslint-plugin-unused-imports": "~3.0.0", + "ts-morph": "^20.0.0" + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@ts-morph/common": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.21.0.tgz", + "integrity": "sha512-ES110Mmne5Vi4ypUKrtVQfXFDtCsDXiUiGxF6ILVlE90dDD4fdpC1LSjydl/ml7xJWKSDZwUYD2zkOePMSrPBA==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.12", + "minimatch": "^7.4.3", + "mkdirp": "^2.1.6", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", + "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/type-utils": "6.7.5", + "@typescript-eslint/utils": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/parser": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", + "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/scope-manager": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", + "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/type-utils": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", + "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/utils": "6.7.5", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/types": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", + "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", + "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/utils": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", + "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", + "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.5", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@fluidframework/eslint-config-fluid/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@fluidframework/core-interfaces": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/core-interfaces/-/core-interfaces-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-Qw1jr5yhkJpFh/uMiU04PM4FoQoFSnNnUoaSdclMsUk0I8CZMQThmMOBkiwlpYsWeHcWZq9FEONWLaujiU6e9w==" - }, - "node_modules/@fluidframework/core-utils": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/core-utils/-/core-utils-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-7ifcm/hDORnmN8t+gwHXey6ipWlEKaD6Z4d9LonzH2Nj0K9KCY5oPoBsgO3kJ4PC86VpJtk4JY0eC7fHvcyX9Q==" + "node_modules/@fluidframework/eslint-config-fluid/node_modules/code-block-writer": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz", + "integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==", + "dev": true }, - "node_modules/@fluidframework/datastore": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/datastore/-/datastore-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-UJy71kM1iXro6P9psYxKUd+pO6aAqRA+Q3+ozuYKr9CrcgZtk7Kpp9Xng2xwkILrPDYHaaCSKWOuWZUBul9WpA==", - "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "lodash": "^4.17.21", - "uuid": "^9.0.0" + "node_modules/@fluidframework/eslint-config-fluid/node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/@fluidframework/datastore-definitions": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/datastore-definitions/-/datastore-definitions-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-8sUKttyvHtLqoGTQlUKq9AxNGf60MJmUA5gTucxcdfiA44/AySwmGTlIZqaY4i3xzf1p9MWUsIz8VOaZfAT+7A==", + "node_modules/@fluidframework/eslint-config-fluid/node_modules/eslint-plugin-unused-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.0.0.tgz", + "integrity": "sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==", + "dev": true, "dependencies": { - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/id-compressor": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0" + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^6.0.0", + "eslint": "^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } } }, - "node_modules/@fluidframework/driver-base": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/driver-base/-/driver-base-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-4jI6AjeXX14dH6+cri8mRGxFUeaATtGxom3d5R3iVDjguzjPmMxKlSbul43/zutUHmRbrbp3GaaWRwqYsbHUAA==", + "node_modules/@fluidframework/eslint-config-fluid/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dev": true, "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@fluidframework/driver-definitions": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/driver-definitions/-/driver-definitions-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-MzyWQ/6/O78fL5FK6ZvQRFMmN0RRwc+g3EzMgRKacnoL4p/x1cZ/qI02/xR20zw7k/AuWAXY3bzZWDdWb+jK9g==", - "dependencies": { - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/protocol-definitions": "^3.1.0" + "node_modules/@fluidframework/eslint-config-fluid/node_modules/mkdirp": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", + "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@fluidframework/driver-utils": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/driver-utils/-/driver-utils-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-OwRx65WLr8TOyDPXiMIKF5Bw/t+WdpeOzBmBjw7BnHTTcexYk+pY/FKQdFEEVffc4PhA7y/LLIVZz3ZWwTR62w==", + "node_modules/@fluidframework/eslint-config-fluid/node_modules/ts-morph": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-20.0.0.tgz", + "integrity": "sha512-JVmEJy2Wow5n/84I3igthL9sudQ8qzjh/6i4tmYCm6IqYyKFlNbJZi7oBdjyqcWSWYRu3CtL0xbT6fS03ESZIg==", + "dev": true, "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/gitresources": "^3.0.0", - "@fluidframework/protocol-base": "^3.0.0", - "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "axios": "^1.6.2", - "lz4js": "^0.2.0", - "url": "^0.11.0", - "uuid": "^9.0.0" + "@ts-morph/common": "~0.21.0", + "code-block-writer": "^12.0.0" } }, "node_modules/@fluidframework/fluid-static": { @@ -2492,14 +3528,14 @@ "integrity": "sha512-kpbONpwCIE7q2G+Q+KTfBHUz+VneL/7tPWlYFZ96uP0dpeBVdSJdf9dgd0ILIzs6rpO6XRpceI2D503LRU6j9g==" }, "node_modules/@fluidframework/id-compressor": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/id-compressor/-/id-compressor-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-OInGvGWqN83XBd15KPs+FY2c8sLpwOF8c2JL+GXnxuKz31RYQOf1ukijNwcOmZFOP/xGhpssFy+MRv+RtC2J7g==", - "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/id-compressor/-/id-compressor-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-ePsAK+KxxotmFw0BkoU+ArBbeWd8AHLQ4/zKKgqdw6pYtUCKkRoub4NfJ/f07dtdrAhEKZRxZ8Np0Y6Gn7IBbQ==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@tylerbu/sorted-btree-es6": "^1.8.0", "uuid": "^9.0.0" } @@ -2508,7 +3544,6 @@ "version": "2.0.0-rc.1.0.3", "resolved": "https://registry.npmjs.org/@fluidframework/local-driver/-/local-driver-2.0.0-rc.1.0.3.tgz", "integrity": "sha512-tsMnI98fSHNqIshDGvFWlYv597xXy7i9jJmktShxReP61BgyCLenNHEAiLFFnFY+YhWJb/EimZPkj+jdntn+Mg==", - "dev": true, "dependencies": { "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", @@ -2531,39 +3566,93 @@ } }, "node_modules/@fluidframework/map": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/map/-/map-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-lxVB6Bb3H7Icj9xjNfqY5Bo/lMFAKizDTuFxh9OeVliuDy4OW7ytwZmh2Ee7oYHMtVtBeDr8BimUMvFh8RSRMQ==", - "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/merge-tree": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/map/-/map-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-Kc5He/nRCbaiUtVLCRKHMc0OHYpmz0XLP7K+b/MxdUmlmNKIRtjzmdEImSIs2VgGMDKipqrw8HprCI/zkokMGw==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/merge-tree": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "path-browserify": "^1.0.1" } }, + "node_modules/@fluidframework/matrix": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/matrix/-/matrix-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-Ep0zycfPfS42W76ztKZywwLPXc9uCrN6sPnd+271tvlqjvhUPNrth2VMOLe4aZd85/GodC/2nqMILopicfj5dQ==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/merge-tree": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@tiny-calc/nano": "0.0.0-alpha.5", + "events": "^3.1.0", + "tslib": "^1.10.0" + } + }, + "node_modules/@fluidframework/matrix/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@fluidframework/merge-tree": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/merge-tree/-/merge-tree-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-xHBH69U7hEWS2xwa2gOARp6umoywgn9EHO0swlybO/irgRVqG5TwfhyDAoUoIFkIcSZICjxSxZhsWayQiiywWw==", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/merge-tree/-/merge-tree-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-I5OFN4VI+bgdfwLZjqf4cTnVB/dYQ8I1mBQLCN00xDM/n/scfj7lo9hVGttwMEZvceFLBzuLa/9v07qh7VLY+w==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/protocol-definitions": "^3.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" + } + }, + "node_modules/@fluidframework/mocha-test-setup": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/mocha-test-setup/-/mocha-test-setup-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-+UgAY/HoF0iAyQQV2Jz3db5yBt9zDnbjAl189e4YtkmqKYBLzU2RCmwFY7gDAGybLzdGNbaF9g9ashq6N8s4RA==", + "dev": true, "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/test-driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "mocha": "^10.2.0", + "source-map-support": "^0.5.21" + } + }, + "node_modules/@fluidframework/ordered-collection": { + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/ordered-collection/-/ordered-collection-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-d/K4hfB/izlBjnWx7ovQPxn3NW6wI9JjXQuYYfFFDuw2ck5ERLYHFGImotZAHYr0/SrlSN4Mo3jhbD73iduQ7A==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0" + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "uuid": "^9.0.0" } }, "node_modules/@fluidframework/protocol-base": { @@ -2583,18 +3672,18 @@ "integrity": "sha512-BgGF82z4sk5M4torMR38NGjHjFG9t6Y653UcGOlXiIaGQMDZpRfrxiIuq53Gb12OTfUgbNtvBJL1W46JfLvzQw==" }, "node_modules/@fluidframework/register-collection": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/register-collection/-/register-collection-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-Wy/LjrLgsLTr0j/Ll6b5Ba4USrDFCCTLGtWmt0fmAUaOv5s7t7EK82mp4epJ3vB/xiAO2R/pD2va4cmKoHVD8A==", - "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/register-collection/-/register-collection-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-SiBF9Cr37LafFtgLXvh3Ag7ozp0EbdhwbdcvzZlHoyAAiMmORajjnZDAAC05b75+ip5px8112CkWwmGumlz8AQ==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0" + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" } }, "node_modules/@fluidframework/request-handler": { @@ -2633,49 +3722,49 @@ } }, "node_modules/@fluidframework/runtime-definitions": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/runtime-definitions/-/runtime-definitions-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-VUP4IIS53XOA4pTmCLXn6xMFDdbfc9C0kDBWhU9AfpO92G5tz06VEgV/Xhu5HxuhTdG8DYbqyr7u41MPTIRjDg==", - "dependencies": { - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/id-compressor": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/runtime-definitions/-/runtime-definitions-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-13daERnsRtNrOM1t2qNuOVINXVDvJW11EYkUs91e1XJGPuR+QCKTSFYX1J5HfY6uo18jjFexEVlDJHjtRYrmVQ==", + "dependencies": { + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/id-compressor": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0" } }, "node_modules/@fluidframework/runtime-utils": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/runtime-utils/-/runtime-utils-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-HD/sC8C/NcwhUW3zR44erNaTF9JFlw3dbSxqNPhUmibiBZ9siFVN1lDz3vg2787ezQgLsykGFGNfnS6mC2eS8w==", - "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/runtime-utils/-/runtime-utils-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-Zw/Rd0PLEzaFaVpbIIxGfY1UuaZK1OP4oGuCVNrOW0uJNHYqY2W0Wa6VtzLzbO2lFdEQGJqHU3f1ZU7PbDKSog==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0" + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0" } }, "node_modules/@fluidframework/sequence": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/sequence/-/sequence-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-wKIcbLcBasxCTxEJym39KwWN0P41RH7yep2ti/3EW2O1PkZnPJCPBdb3xBjsvY2zSJRQX8PJHINSfbmrpH99tQ==", - "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/merge-tree": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/sequence/-/sequence-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-FIOXvv+FoC2rof7dEFz2ai2sGPZo4nb9MSeCECP8FBG61qI1Lwf8msf6FUFUPIhD2/HeU0oF8QYtfAdwmtd3Cw==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/merge-tree": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/shared-object-base": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "uuid": "^9.0.0" } }, @@ -2683,7 +3772,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@fluidframework/server-lambdas/-/server-lambdas-3.0.0.tgz", "integrity": "sha512-vx6vlFJ1uW/hxam14NumitMeCw4vpmu863CR8MtNlzWem1YtHkYCjBYl/8tz8ziBUZTCaFeHg2xPyl3U8s2Tjw==", - "dev": true, "dependencies": { "@fluidframework/common-definitions": "^1.1.0", "@fluidframework/common-utils": "^3.1.0", @@ -2713,7 +3801,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@fluidframework/server-lambdas-driver/-/server-lambdas-driver-3.0.0.tgz", "integrity": "sha512-3DqlnteWnb5GOEL0yp6aYZ7m9+xvbjDGtBJEE9gq3kA2bpnYB9Z51g08DsFQonzfEdllSO8iVt5/GAsBNkluXQ==", - "dev": true, "dependencies": { "@fluidframework/common-utils": "^3.1.0", "@fluidframework/server-services-client": "~3.0.0", @@ -2731,7 +3818,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@fluidframework/server-local-server/-/server-local-server-3.0.0.tgz", "integrity": "sha512-7ZlJ0wlS5384WO7NAaiGX0JuhT0UNeJDDBJIylMn5ZB7f0Aj/CGrC5B+wLhFTnhA0QYIjZ+MtwV91yyLFQG5hg==", - "dev": true, "dependencies": { "@fluidframework/common-utils": "^3.1.0", "@fluidframework/protocol-definitions": "^3.1.0", @@ -2751,7 +3837,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@fluidframework/server-memory-orderer/-/server-memory-orderer-3.0.0.tgz", "integrity": "sha512-zT+/rmEVFc07TAdy0KZ8zq9Fmz5SWm6K8HeAKfbWLduUioVKR+2LjYoxg6sKQTOVXLlS9auhgMUSln9WHu++Sw==", - "dev": true, "dependencies": { "@fluidframework/common-utils": "^3.1.0", "@fluidframework/protocol-base": "~3.0.0", @@ -2779,7 +3864,6 @@ "version": "18.19.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz", "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==", - "dev": true, "dependencies": { "undici-types": "~5.26.4" } @@ -2788,7 +3872,6 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, "engines": { "node": ">=8.3.0" }, @@ -2829,7 +3912,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@fluidframework/server-services-core/-/server-services-core-3.0.0.tgz", "integrity": "sha512-MyZnArgoNWHldCONx0oEhC7kzNY9hfemHdKH07ESFjpj9d2AqzDNfM/lZfb6uK5oiTs7G2sbR8VTdWWJZdzz8g==", - "dev": true, "dependencies": { "@fluidframework/common-utils": "^3.1.0", "@fluidframework/gitresources": "~3.0.0", @@ -2847,7 +3929,6 @@ "version": "18.19.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz", "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==", - "dev": true, "dependencies": { "undici-types": "~5.26.4" } @@ -2856,7 +3937,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@fluidframework/server-services-telemetry/-/server-services-telemetry-3.0.0.tgz", "integrity": "sha512-6t8aapyGgoCefgkHhU6CAdZEqPf43nHOulht5ghEBuyhrxqY+BEJYtNq9/5O4E7kpph1d1M/tYPIZD1adjgCIQ==", - "dev": true, "dependencies": { "@fluidframework/common-utils": "^3.1.0", "json-stringify-safe": "^5.0.1", @@ -2869,7 +3949,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@fluidframework/server-test-utils/-/server-test-utils-3.0.0.tgz", "integrity": "sha512-XX2Tdfga0nL/KBtND6QngRQ/rk5p1Pd8knOp0b6Cz3T5kf2UrRnkft11e0QPe3xtVs2JCB8tvpptsF3Uj7qxSw==", - "dev": true, "dependencies": { "@fluidframework/common-utils": "^3.1.0", "@fluidframework/gitresources": "~3.0.0", @@ -2887,21 +3966,21 @@ } }, "node_modules/@fluidframework/shared-object-base": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/shared-object-base/-/shared-object-base-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-VDSphSUc6RJ7ATtPnss+oiaiorEWGQ+tABmUl5OPPVi31mHuvQtnNRdoITlyqM8M4DF2eqoVcXHeH3mIDrKlfA==", - "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/container-runtime": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/shared-object-base/-/shared-object-base-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-RSDwwCjoCck7Z7Tb1OEGJt6Qavl0nOkQkE6S1hEZRvaWa/+bNcl8QKm5hwUQKoHTW+FaR8jInHaz2eRbasynYg==", + "dependencies": { + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/container-runtime": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/datastore-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", - "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/runtime-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/telemetry-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "uuid": "^9.0.0" } }, @@ -2914,13 +3993,13 @@ } }, "node_modules/@fluidframework/telemetry-utils": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/telemetry-utils/-/telemetry-utils-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-5+4xRh1D8tuoO5Ayomr6onaGmpHXr5pJ0PT5nueUnlP6wOgfk569Ot2KOq+Ag0FjQQDtnSRM/mXKxqNmhhpYlg==", + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/telemetry-utils/-/telemetry-utils-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-j7WbFtY8Kh5wPHLh7SRc9kVs5YFvydEWrKe2EqpEKFjb1Spz2KPdcha4BbeF3estpcH/uySmAamclIUJ1ffnkw==", "dependencies": { - "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/core-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/core-utils": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", "debug": "^4.3.4", "events": "^3.1.0", @@ -2928,13 +4007,12 @@ } }, "node_modules/@fluidframework/test-driver-definitions": { - "version": "2.0.0-rc.1.0.3", - "resolved": "https://registry.npmjs.org/@fluidframework/test-driver-definitions/-/test-driver-definitions-2.0.0-rc.1.0.3.tgz", - "integrity": "sha512-9ESfhpj7SxRuXOBMEcokWZy7xDcXFJCj2QOQPTqgp2QmnMNy93s/LYySRau3Fxn99qnaHfHKvtLDTx+5TsVmsw==", - "dev": true, + "version": "2.0.0-rc.1.0.4", + "resolved": "https://registry.npmjs.org/@fluidframework/test-driver-definitions/-/test-driver-definitions-2.0.0-rc.1.0.4.tgz", + "integrity": "sha512-Mcq/cdG+uke0LuplZ5VxDYrj9rX0dr5OG40nRrJJ68jzW3NZHC8yRzFqxglUIraTOHGgUKdaizn3vUzyzXvIhQ==", "dependencies": { - "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", - "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", + "@fluidframework/core-interfaces": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", + "@fluidframework/driver-definitions": ">=2.0.0-rc.1.0.4 <2.0.0-rc.1.1.0", "@fluidframework/protocol-definitions": "^3.1.0", "uuid": "^9.0.0" } @@ -2943,7 +4021,6 @@ "version": "2.0.0-rc.1.0.3", "resolved": "https://registry.npmjs.org/@fluidframework/test-runtime-utils/-/test-runtime-utils-2.0.0-rc.1.0.3.tgz", "integrity": "sha512-1VPJarGDsv+LpE3tr6DDPgLIW+x4ojWcH9dGgT2gR100GLnBW1MJvaLmJfetw8eG+XbUxqXMYi58M/V674mhAQ==", - "dev": true, "dependencies": { "@fluid-internal/client-utils": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", @@ -2966,7 +4043,6 @@ "version": "2.0.0-rc.1.0.3", "resolved": "https://registry.npmjs.org/@fluidframework/test-utils/-/test-utils-2.0.0-rc.1.0.3.tgz", "integrity": "sha512-1NqniWGIBiuEgCHx9bfqnLnVl9A3DESqM8CJizauBStSbzHGV8rN0xDtXmRBYtKK1W10H36W3M1+/ZTOHg1zqw==", - "dev": true, "dependencies": { "@fluidframework/aqueduct": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", "@fluidframework/container-definitions": ">=2.0.0-rc.1.0.3 <2.0.0-rc.1.1.0", @@ -3445,6 +4521,10 @@ "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" }, + "node_modules/@live-share-private/test-utils": { + "resolved": "internal/test-utils", + "link": true + }, "node_modules/@microsoft/01.dice-roller": { "resolved": "samples/javascript/01.dice-roller", "link": true @@ -3529,6 +4609,37 @@ "debug": "^4.3.3" } }, + "node_modules/@microsoft/tsdoc": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", + "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", + "dev": true + }, + "node_modules/@microsoft/tsdoc-config": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", + "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" + } + }, + "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3689,13 +4800,51 @@ "node": ">=12" } }, - "node_modules/@remix-run/router": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.0.tgz", - "integrity": "sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ==", - "engines": { - "node": ">=14.0.0" - } + "node_modules/@remix-run/router": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.0.tgz", + "integrity": "sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.4.0.tgz", + "integrity": "sha512-cEjvTPU32OM9lUFegJagO0mRnIn+rbqrG89vV8/xLnLFX0DoR0r1oy5IlTga71Q7uT3Qus7qm7wgeiMT/+Irlg==", + "dev": true + }, + "node_modules/@rushstack/eslint-plugin": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin/-/eslint-plugin-0.13.1.tgz", + "integrity": "sha512-qQ6iPCm8SFuY+bpcSv5hlYtdwDHcFlE6wlpUHa0ywG9tGVBYM5But8S4qVRFq1iejAuFX+ubNUOyFJHvxpox+A==", + "dev": true, + "dependencies": { + "@rushstack/tree-pattern": "0.3.1", + "@typescript-eslint/experimental-utils": "~5.59.2" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@rushstack/eslint-plugin-security": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin-security/-/eslint-plugin-security-0.7.1.tgz", + "integrity": "sha512-84N42tlONhcbXdlk5Rkb+/pVxPnH+ojX8XwtFoecCRV88/4Ii7eGEyJPb73lOpHaE3NJxLzLVIeixKYQmdjImA==", + "dev": true, + "dependencies": { + "@rushstack/tree-pattern": "0.3.1", + "@typescript-eslint/experimental-utils": "~5.59.2" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@rushstack/tree-pattern": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@rushstack/tree-pattern/-/tree-pattern-0.3.1.tgz", + "integrity": "sha512-2yn4qTkXZTByQffL3ymS6viYuyZk3YnJT49bopGBlm9Thtyfa7iuFUV6tt+09YIRO1sjmSWILf4dPj6+Dr5YVA==", + "dev": true }, "node_modules/@sideway/address": { "version": "4.1.5", @@ -3853,6 +5002,11 @@ "@testing-library/dom": ">=7.21.4" } }, + "node_modules/@tiny-calc/nano": { + "version": "0.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@tiny-calc/nano/-/nano-0.0.0-alpha.5.tgz", + "integrity": "sha512-Hs37tz9ZtvK21/5s4tjt5RBa/PFHKYS0AzvdxiXuSd3+AKQN2ygxw7uwD9j0DIG9qONddg1vIASO77JIGyZzyw==" + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -3898,7 +5052,6 @@ "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dev": true, "dependencies": { "@types/ms": "*" } @@ -3906,8 +5059,7 @@ "node_modules/@types/double-ended-queue": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/@types/double-ended-queue/-/double-ended-queue-2.1.7.tgz", - "integrity": "sha512-OVbdb2iOJakEg/Ou6dVZsH0LLxlO+GFjc1FB2W8/jT7bnhoFVJwnZOqi/H26ospeMBaEbGiX3Qy2a7r6pfZKXQ==", - "dev": true + "integrity": "sha512-OVbdb2iOJakEg/Ou6dVZsH0LLxlO+GFjc1FB2W8/jT7bnhoFVJwnZOqi/H26ospeMBaEbGiX3Qy2a7r6pfZKXQ==" }, "node_modules/@types/eslint": { "version": "8.56.2", @@ -4018,8 +5170,7 @@ "node_modules/@types/lodash": { "version": "4.14.202", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", - "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", - "dev": true + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" }, "node_modules/@types/mocha": { "version": "10.0.6", @@ -4030,14 +5181,12 @@ "node_modules/@types/ms": { "version": "0.7.34", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "dev": true + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/nconf": { "version": "0.10.6", "resolved": "https://registry.npmjs.org/@types/nconf/-/nconf-0.10.6.tgz", - "integrity": "sha512-nzmiF6CdR2MNa73WRSerRsJ0KLUWonZD0Iti0Tq3CIn09HLAVnSXqwoITLw8TsLQ3JvmRJ/T0t/HDlYiM4pFjA==", - "dev": true + "integrity": "sha512-nzmiF6CdR2MNa73WRSerRsJ0KLUWonZD0Iti0Tq3CIn09HLAVnSXqwoITLw8TsLQ3JvmRJ/T0t/HDlYiM4pFjA==" }, "node_modules/@types/node": { "version": "20.11.19", @@ -4047,6 +5196,12 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "node_modules/@types/prop-types": { "version": "15.7.11", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", @@ -4078,8 +5233,7 @@ "node_modules/@types/semver": { "version": "7.5.7", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz", - "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==", - "dev": true + "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==" }, "node_modules/@types/stack-utils": { "version": "2.0.3", @@ -4104,7 +5258,6 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -4166,6 +5319,125 @@ } } }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.11.tgz", + "integrity": "sha512-GkQGV0UF/V5Ra7gZMBmiD1WrYUFOJNvCZs+XQnUyJoxmqfWMXVNyB2NVCPRKefoQcpvTv9UpJyfCvsJFs8NzzQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "5.59.11" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", + "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", + "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", + "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.11.tgz", + "integrity": "sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", + "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/parser": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", @@ -4734,6 +6006,15 @@ "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -4890,7 +6171,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "is-nan": "^1.3.2", @@ -4914,8 +6194,7 @@ "node_modules/async": { "version": "3.2.5", "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, "node_modules/asynciterator.prototype": { "version": "1.0.0", @@ -5032,8 +6311,7 @@ "node_modules/best-random": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/best-random/-/best-random-1.0.3.tgz", - "integrity": "sha512-zrncs76CBFyhE7KVsq85lsc/TT5PUfGTS8arh2aJZcIzQU+WdGNwWYwFsn+w/nuedk04efQdqMy8g5C5pw4shQ==", - "dev": true + "integrity": "sha512-zrncs76CBFyhE7KVsq85lsc/TT5PUfGTS8arh2aJZcIzQU+WdGNwWYwFsn+w/nuedk04efQdqMy8g5C5pw4shQ==" }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -5147,6 +6425,18 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", @@ -5317,6 +6607,27 @@ "node": ">=8" } }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clean-regexp/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -5410,6 +6721,15 @@ "node": ">= 6" } }, + "node_modules/comment-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", + "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", @@ -5982,6 +7302,16 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -6036,7 +7366,6 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -6279,7 +7608,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, "engines": { "node": ">=6" } @@ -6384,6 +7712,171 @@ "eslint": ">=7.0.0" } }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-plugin-import": { + "name": "eslint-plugin-i", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-i/-/eslint-plugin-i-2.29.1.tgz", + "integrity": "sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "doctrine": "^3.0.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "get-tsconfig": "^4.7.2", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://opencollective.com/unts" + }, + "peerDependencies": { + "eslint": "^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "46.8.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", + "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", + "dev": true, + "dependencies": { + "@es-joy/jsdoccomment": "~0.40.1", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.0", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", + "spdx-expression-parse": "^3.0.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, "node_modules/eslint-plugin-prettier": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", @@ -6405,6 +7898,18 @@ } } }, + "node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, "node_modules/eslint-plugin-react": { "version": "7.33.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", @@ -6468,6 +7973,69 @@ "semver": "bin/semver.js" } }, + "node_modules/eslint-plugin-tsdoc": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.17.tgz", + "integrity": "sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "@microsoft/tsdoc-config": "0.16.2" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "48.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.1.tgz", + "integrity": "sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^3.8.0", + "clean-regexp": "^1.0.0", + "esquery": "^1.5.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", + "lodash": "^4.17.21", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.5.4", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=8.44.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -7136,7 +8704,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -7200,6 +8767,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/get-uri": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", @@ -7549,7 +9128,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, + "devOptional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -7760,6 +9339,21 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -7840,7 +9434,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7875,7 +9468,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -8035,7 +9627,6 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, "dependencies": { "which-typed-array": "^1.1.14" }, @@ -8607,6 +10198,12 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, "node_modules/joi": { "version": "17.12.1", "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", @@ -8643,6 +10240,15 @@ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", "dev": true }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/jsdom": { "version": "21.1.2", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.2.tgz", @@ -9209,6 +10815,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/mitt": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", @@ -9290,6 +10905,32 @@ "node": ">= 14.0.0" } }, + "node_modules/mocha-json-output-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mocha-json-output-reporter/-/mocha-json-output-reporter-2.1.0.tgz", + "integrity": "sha512-FF2BItlMo8nK9+SgN/WAD01ue7G+qI1Po0U3JCZXQiiyTJ5OV3KcT1mSoZKirjYP73JFZznaaPC6Mp052PF3Vw==", + "dev": true, + "peerDependencies": { + "mocha": "^10.0.0", + "moment": "^2.21.0" + } + }, + "node_modules/mocha-multi-reporters": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/mocha-multi-reporters/-/mocha-multi-reporters-1.5.1.tgz", + "integrity": "sha512-Yb4QJOaGLIcmB0VY7Wif5AjvLMUFAdV57D2TWEva1Y0kU/3LjKpeRVmlMIfuO1SVbauve459kgtIizADqxMWPg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "mocha": ">=3.1.2" + } + }, "node_modules/mocha/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -9444,6 +11085,16 @@ "node": ">=10" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "dev": true, + "peer": true, + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -9483,7 +11134,6 @@ "version": "0.12.1", "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.1.tgz", "integrity": "sha512-p2cfF+B3XXacQdswUYWZ0w6Vld0832A/tuqjLBu3H1sfUcby4N2oVbGhyuCkZv+t3iY3aiFEj7gZGqax9Q2c1w==", - "dev": true, "dependencies": { "async": "^3.0.0", "ini": "^2.0.0", @@ -9498,7 +11148,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -9508,14 +11157,12 @@ "node_modules/nconf/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/nconf/node_modules/ini": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, "engines": { "node": ">=10" } @@ -9524,7 +11171,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -9533,7 +11179,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -9547,7 +11192,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -9564,7 +11208,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -9573,7 +11216,6 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -9591,7 +11233,6 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, "engines": { "node": ">=10" } @@ -10309,6 +11950,40 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -10456,6 +12131,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss": { "version": "8.4.35", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", @@ -10956,6 +12640,108 @@ "node": ">=6" } }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/read-pkg/node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -11019,6 +12805,15 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -11036,6 +12831,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regjsparser": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, "node_modules/release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", @@ -11052,7 +12868,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11116,6 +12931,15 @@ "node": ">=4" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -11267,7 +13091,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "devOptional": true }, "node_modules/saxes": { "version": "6.0.0", @@ -11347,14 +13171,12 @@ "node_modules/secure-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", - "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg==", - "dev": true + "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg==" }, "node_modules/semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -11369,7 +13191,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -11380,14 +13201,12 @@ "node_modules/semver/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/serialize-error": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", - "dev": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -11872,8 +13691,7 @@ "node_modules/string-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", - "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", - "dev": true + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" }, "node_modules/string-width": { "version": "3.1.0", @@ -11979,7 +13797,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12056,12 +13873,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sxh": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sxh/-/sxh-1.0.0.tgz", - "integrity": "sha512-mfkOqpA7uR/p72kdeRJArJmi9wDJBbD8GumWwtdsOZKmUoHqgDdnMs6T5G8YcxczkwW3sQfA6s4VazmPF6tA5g==", - "dev": true - }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -12082,7 +13893,6 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "peer": true, "engines": { "node": ">=6" } @@ -12283,6 +14093,18 @@ "tree-kill": "cli.js" } }, + "node_modules/ts-api-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/ts-mocha": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.0.0.tgz", @@ -12422,7 +14244,6 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, "engines": { "node": ">=10" }, @@ -12714,7 +14535,6 @@ "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -13397,8 +15217,10 @@ "devDependencies": { "@fluid-internal/client-utils": "^2.0.0-rc.1", "@fluidframework/azure-client": "^2.0.0-rc.1", + "@fluidframework/mocha-test-setup": "^2.0.0-rc.1", "@fluidframework/test-runtime-utils": "^2.0.0-rc.1", "@fluidframework/test-utils": "^2.0.0-rc.1", + "@live-share-private/test-utils": "^2.0.0-internal.2", "@types/assert": "^1.5.6", "@types/mocha": "^10.0.1", "@types/node": "^20.2.3", @@ -13438,7 +15260,10 @@ "version": "2.0.0-internal.2", "license": "SEE LICENSE IN LICENSE", "devDependencies": { + "@fluidframework/mocha-test-setup": "^2.0.0-rc.1", "@fluidframework/test-runtime-utils": "^2.0.0-rc.1", + "@fluidframework/test-utils": "^2.0.0-rc.1", + "@live-share-private/test-utils": "^2.0.0-internal.2", "@microsoft/live-share": "2.0.0-internal.2", "@types/assert": "^1.5.6", "@types/mocha": "^10.0.1", diff --git a/package.json b/package.json index aeac2230f..c4abf4ae6 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,13 @@ "packages/live-share-media", "packages/live-share-turbo", "packages/live-share-react", + "internal/test-utils", "samples/javascript/*", "samples/typescript/*" ], "scripts": { - "build": "node workspace-cmd-util.js build packages samples/javascript samples/typescript", - "build:packages": "node workspace-cmd-util.js build packages", + "build": "node workspace-cmd-util.js build internal packages samples/javascript samples/typescript", + "build:packages": "node workspace-cmd-util.js build internal packages", "build:samples": "node workspace-cmd-util.js build samples/javascript samples/typescript", "build:docs": "typedoc packages/live-share packages/live-share-media packages/live-share-turbo packages/live-share-canvas", "test:packages": "node workspace-cmd-util.js test packages", @@ -31,7 +32,6 @@ "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "prettier": "^2.8.8", - "sxh": "^1.0.0", "typedoc": "^0.24.6", "typescript": "^5.0.4" } diff --git a/packages/live-share-media/package.json b/packages/live-share-media/package.json index 6d1cb4b42..f4fc69c7b 100644 --- a/packages/live-share-media/package.json +++ b/packages/live-share-media/package.json @@ -16,7 +16,10 @@ }, "devDependencies": { "@microsoft/live-share": "2.0.0-internal.2", + "@fluidframework/mocha-test-setup": "^2.0.0-rc.1", "@fluidframework/test-runtime-utils": "^2.0.0-rc.1", + "@fluidframework/test-utils": "^2.0.0-rc.1", + "@live-share-private/test-utils": "^2.0.0-internal.2", "@types/assert": "^1.5.6", "@types/mocha": "^10.0.1", "@types/node": "^20.2.3", diff --git a/packages/live-share-media/src/test/LiveMediaSession_ManualActionHandler.spec.ts b/packages/live-share-media/src/test/LiveMediaSession_ManualActionHandler.spec.ts index 644df0529..4654dd233 100644 --- a/packages/live-share-media/src/test/LiveMediaSession_ManualActionHandler.spec.ts +++ b/packages/live-share-media/src/test/LiveMediaSession_ManualActionHandler.spec.ts @@ -6,9 +6,11 @@ import { TestLiveMediaSession, TestMediaTimeStampProvider } from "./TestUtils"; import { Deferred } from "@microsoft/live-share/src/internals/Deferred"; import { strict as assert } from "assert"; -import { requestFluidObject } from "@fluidframework/runtime-utils"; -import { ITestObjectProvider } from "@fluidframework/test-utils"; -import { describeNoCompat } from "@fluidframework/test-version-utils"; +import { + ITestObjectProvider, + fluidEntryPoint, + getContainerEntryPointBackCompat, +} from "@fluidframework/test-utils"; import { ITimestampProvider, LiveEventScope, @@ -25,6 +27,7 @@ import { ExtendedMediaSessionActionDetails, } from "../MediaSessionExtensions"; import { IMediaPlayerState } from "../LiveMediaSessionCoordinator"; +import { describeCompat } from "@live-share-private/test-utils"; async function getObjects( getTestObjectProvider, @@ -59,17 +62,18 @@ async function getObjects( let provider: ITestObjectProvider = getTestObjectProvider(); - let container1 = await provider.createContainer(ObjectProxy1.factory); - let object1 = await requestFluidObject( - container1, - "default" + let container1 = await provider.createContainer( + ObjectProxy1.factory as fluidEntryPoint + ); + let object1 = await getContainerEntryPointBackCompat( + container1 ); object1.coordinator.positionUpdateInterval = 0.02; - - let container2 = await provider.loadContainer(ObjectProxy2.factory); - let object2 = await requestFluidObject( - container2, - "default" + let container2 = await provider.loadContainer( + ObjectProxy2.factory as fluidEntryPoint + ); + let object2 = await getContainerEntryPointBackCompat( + container2 ); object2.coordinator.positionUpdateInterval = 0.02; @@ -119,7 +123,7 @@ async function getObjects( }; } -describeNoCompat( +describeCompat( "LiveMediaSession Manual Action Handlers (mostly testing coordinator)", (getTestObjectProvider) => { it("should send 'positionUpdate' event when someone joins.", async () => { diff --git a/packages/live-share-media/src/test/LiveMediaSession_Synchronizer.spec.ts b/packages/live-share-media/src/test/LiveMediaSession_Synchronizer.spec.ts index 01213cdc9..fc04d8a12 100644 --- a/packages/live-share-media/src/test/LiveMediaSession_Synchronizer.spec.ts +++ b/packages/live-share-media/src/test/LiveMediaSession_Synchronizer.spec.ts @@ -10,9 +10,11 @@ import { } from "./TestUtils"; import { Deferred } from "@microsoft/live-share/src/internals/Deferred"; import { strict as assert } from "assert"; -import { requestFluidObject } from "@fluidframework/runtime-utils"; -import { ITestObjectProvider } from "@fluidframework/test-utils"; -import { describeNoCompat } from "@fluidframework/test-version-utils"; +import { + ITestObjectProvider, + fluidEntryPoint, + getContainerEntryPointBackCompat, +} from "@fluidframework/test-utils"; import { ITimestampProvider, LocalTimestampProvider, @@ -35,6 +37,7 @@ import { MediaPlayerSynchronizer, MediaPlayerSynchronizerEvents, } from "../MediaPlayerSynchronizer"; +import { describeCompat } from "@live-share-private/test-utils"; async function getObjects( getTestObjectProvider, @@ -69,17 +72,18 @@ async function getObjects( let provider: ITestObjectProvider = getTestObjectProvider(); - let container1 = await provider.createContainer(ObjectProxy1.factory); - let object1 = await requestFluidObject( - container1, - "default" + let container1 = await provider.createContainer( + ObjectProxy1.factory as fluidEntryPoint + ); + let object1 = await getContainerEntryPointBackCompat( + container1 ); object1.coordinator.positionUpdateInterval = 0.02; - - let container2 = await provider.loadContainer(ObjectProxy2.factory); - let object2 = await requestFluidObject( - container2, - "default" + let container2 = await provider.loadContainer( + ObjectProxy2.factory as fluidEntryPoint + ); + let object2 = await getContainerEntryPointBackCompat( + container2 ); object2.coordinator.positionUpdateInterval = 0.02; // need to be connected to send signals @@ -111,7 +115,7 @@ async function getObjects( }; } -describeNoCompat( +describeCompat( "LiveMediaSession Using MediaPlayerSynchronizer", (getTestObjectProvider) => { it("should play and pause on both", async () => { diff --git a/packages/live-share-react/src/live-hooks/useLiveCanvas.ts b/packages/live-share-react/src/live-hooks/useLiveCanvas.ts index fc6631143..8096c944b 100644 --- a/packages/live-share-react/src/live-hooks/useLiveCanvas.ts +++ b/packages/live-share-react/src/live-hooks/useLiveCanvas.ts @@ -82,7 +82,7 @@ export function useLiveCanvas( // cleanup function to be called when the component is unmount return () => { - // liveCanvas.dispose(); + liveCanvas.dispose(); inkingManager.removeAllListeners(); }; }, [liveCanvas]); diff --git a/packages/live-share-react/src/live-hooks/useMediaSynchronizer.ts b/packages/live-share-react/src/live-hooks/useMediaSynchronizer.ts index ddeac7b6b..263f723dc 100644 --- a/packages/live-share-react/src/live-hooks/useMediaSynchronizer.ts +++ b/packages/live-share-react/src/live-hooks/useMediaSynchronizer.ts @@ -250,7 +250,7 @@ export function useMediaSynchronizer( synchronizer.removeAllListeners(); mediaSession.removeAllListeners(); synchronizer?.end(); - // mediaSession?.dispose(); + mediaSession?.dispose(); }; }, [mediaSession, mediaPlayerElement]); diff --git a/packages/live-share-turbo/src/dds-objects/DynamicObjectManager.ts b/packages/live-share-turbo/src/dds-objects/DynamicObjectManager.ts index ecdfcb750..0265ef049 100644 --- a/packages/live-share-turbo/src/dds-objects/DynamicObjectManager.ts +++ b/packages/live-share-turbo/src/dds-objects/DynamicObjectManager.ts @@ -21,7 +21,7 @@ DynamicObjectRegistry.registerObjectClass( ); type DynamicObjectsCollection = ConsensusRegisterCollection>; -const dynamicObjectsCollectionKey = "<>"; +const dynamicObjectsCollectionKey = "liveShareConsensusRegisterCollectionKey"; /** * Fluid DataObject used in `FluidTurboClient` for the purposes of dynamically loading DDSes. diff --git a/packages/live-share-turbo/src/internals/schema.ts b/packages/live-share-turbo/src/internals/schema.ts index b4d44f6e5..0e27b2fb3 100644 --- a/packages/live-share-turbo/src/internals/schema.ts +++ b/packages/live-share-turbo/src/internals/schema.ts @@ -3,12 +3,7 @@ * Licensed under the Microsoft Live Share SDK License. */ -import { DynamicObjectRegistry } from "@microsoft/live-share"; -import { - ContainerSchema, - LoadableObjectClassRecord, - SharedMap, -} from "fluid-framework"; +import { ContainerSchema, SharedMap } from "fluid-framework"; import { DynamicObjectManager } from "../dds-objects"; /** diff --git a/packages/live-share-turbo/src/test/AzureTurboClient.spec.ts b/packages/live-share-turbo/src/test/AzureTurboClient.spec.ts index e7184af73..f040c5065 100644 --- a/packages/live-share-turbo/src/test/AzureTurboClient.spec.ts +++ b/packages/live-share-turbo/src/test/AzureTurboClient.spec.ts @@ -14,9 +14,21 @@ import { AzureLocalConnectionConfig, } from "@fluidframework/azure-client"; import { AzureTurboClient } from "../AzureTurboClient"; -import { InsecureTokenProvider } from "@fluidframework/test-client-utils"; -import { generateUser } from "@fluidframework/server-services-client"; +import { + IInsecureUser, + InsecureTokenProvider, +} from "@fluidframework/test-runtime-utils"; import { LiveEvent } from "@microsoft/live-share"; +import { v4 as uuid } from "uuid"; + +function generateUser(): IInsecureUser { + const randomUser = { + id: uuid(), + name: uuid(), + }; + + return randomUser; +} describe("AzureTurboClient", () => { (window.performance as any).mark = () => { diff --git a/packages/live-share-turbo/src/test/getContainerSchema.spec.ts b/packages/live-share-turbo/src/test/getContainerSchema.spec.ts index f0dff60df..052edf69a 100644 --- a/packages/live-share-turbo/src/test/getContainerSchema.spec.ts +++ b/packages/live-share-turbo/src/test/getContainerSchema.spec.ts @@ -5,12 +5,9 @@ import { LiveEvent, TestLiveShareHost } from "@microsoft/live-share"; import { strict as assert } from "assert"; -import { - LoadableObjectClassRecord, - SharedMap, - SharedString, -} from "fluid-framework"; +import { LoadableObjectClassRecord, SharedMap } from "fluid-framework"; import { LiveShareTurboClient } from "../LiveShareTurboClient"; +import { SharedString } from "@fluidframework/sequence"; class TestLiveShareTurboClient extends LiveShareTurboClient { // exposes protected method as public diff --git a/packages/live-share/package.json b/packages/live-share/package.json index 8d62842c8..5bbee8040 100644 --- a/packages/live-share/package.json +++ b/packages/live-share/package.json @@ -18,10 +18,12 @@ "uuid": "^9.0.0" }, "devDependencies": { - "@fluidframework/test-utils": "^2.0.0-rc.1", + "@fluid-internal/client-utils": "^2.0.0-rc.1", "@fluidframework/azure-client": "^2.0.0-rc.1", + "@fluidframework/mocha-test-setup": "^2.0.0-rc.1", "@fluidframework/test-runtime-utils": "^2.0.0-rc.1", - "@fluid-internal/client-utils": "^2.0.0-rc.1", + "@fluidframework/test-utils": "^2.0.0-rc.1", + "@live-share-private/test-utils": "^2.0.0-internal.2", "@types/assert": "^1.5.6", "@types/mocha": "^10.0.1", "@types/node": "^20.2.3", diff --git a/packages/live-share/src/LiveDataObject.ts b/packages/live-share/src/LiveDataObject.ts index 7837392f4..ee0d5b6e7 100644 --- a/packages/live-share/src/LiveDataObject.ts +++ b/packages/live-share/src/LiveDataObject.ts @@ -76,8 +76,16 @@ export abstract class LiveDataObject< public constructor(props: IDataObjectProps) { super(props); + this.runtime.once("dispose", () => { + this.dispose(); + }); } + /** + * Disposes of the object when its container is disposed of. + */ + public dispose(): void {} + /** * Get the client info for a given clientId * @param clientId Fluid clientId we are requesting user info for diff --git a/packages/live-share/src/LiveFollowMode.ts b/packages/live-share/src/LiveFollowMode.ts index f3e7c19a2..3b2b66629 100644 --- a/packages/live-share/src/LiveFollowMode.ts +++ b/packages/live-share/src/LiveFollowMode.ts @@ -674,11 +674,11 @@ export class LiveFollowMode extends LiveDataObject<{ /** * Disposes of the object when its container is disposed of. */ - // public dispose(): void { - // super.dispose(); - // this.presence.dispose(); - // this.presentingUserIdState.dispose(); - // } + public dispose(): void { + super.dispose(); + this.presence.dispose(); + this.presentingUserIdState.dispose(); + } /** * initializingFirstTime is run only once by the first client to create the DataObject. Here we use it to diff --git a/packages/live-share/src/LivePresence.ts b/packages/live-share/src/LivePresence.ts index dfcb6db38..7dc05ccf8 100644 --- a/packages/live-share/src/LivePresence.ts +++ b/packages/live-share/src/LivePresence.ts @@ -212,12 +212,12 @@ export class LivePresence< /** * Disposes of the object when its container is disposed of. */ - // public dispose(): void { - // super.dispose(); - // if (this._synchronizer) { - // this._synchronizer.dispose(); - // } - // } + public dispose(): void { + super.dispose(); + if (this._synchronizer) { + this._synchronizer.dispose(); + } + } /** * Returns a snapshot of the current list of presence objects being tracked. diff --git a/packages/live-share/src/LiveState.ts b/packages/live-share/src/LiveState.ts index 9649fd203..8af107502 100644 --- a/packages/live-share/src/LiveState.ts +++ b/packages/live-share/src/LiveState.ts @@ -175,12 +175,12 @@ export class LiveState extends LiveDataObject<{ /** * Disposes of the object when its container is disposed of. */ - // public dispose(): void { - // super.dispose(); - // if (this._synchronizer) { - // this._synchronizer.dispose(); - // } - // } + public dispose(): void { + super.dispose(); + if (this._synchronizer) { + this._synchronizer.dispose(); + } + } /** * Set a new state value diff --git a/packages/live-share/src/LiveTimer.ts b/packages/live-share/src/LiveTimer.ts index c5866aa64..bfef199cd 100644 --- a/packages/live-share/src/LiveTimer.ts +++ b/packages/live-share/src/LiveTimer.ts @@ -215,12 +215,12 @@ export class LiveTimer extends LiveDataObject<{ /** * Disposes of the object when its container is disposed of. */ - // public dispose(): void { - // super.dispose(); - // if (this._synchronizer) { - // this._synchronizer.dispose(); - // } - // } + public dispose(): void { + super.dispose(); + if (this._synchronizer) { + this._synchronizer.dispose(); + } + } /** * Starts the timer with a specified duration. diff --git a/packages/live-share/src/test/LiveEvent.spec.ts b/packages/live-share/src/test/LiveEvent.spec.ts index 31f25a00f..c8dfb1d05 100644 --- a/packages/live-share/src/test/LiveEvent.spec.ts +++ b/packages/live-share/src/test/LiveEvent.spec.ts @@ -4,9 +4,11 @@ */ import { strict as assert } from "assert"; -import { requestFluidObject } from "@fluidframework/runtime-utils"; -import { ITestObjectProvider } from "@fluidframework/test-utils"; -import { describeNoCompat } from "@fluidframework/test-version-utils"; +import { + ITestObjectProvider, + fluidEntryPoint, + getContainerEntryPointBackCompat, +} from "@fluidframework/test-utils"; import { LiveEvent } from "../LiveEvent"; import { Deferred } from "../internals"; import { MockTimestampProvider } from "./MockTimestampProvider"; @@ -17,8 +19,9 @@ import { TestLiveShareHost } from "../TestLiveShareHost"; import { getLiveDataObjectClass } from "../schema-injection-utils"; import { LiveShareRuntime } from "../LiveShareRuntime"; import { DataObjectClass } from "fluid-framework"; +import { describeCompat } from "@live-share-private/test-utils"; -describeNoCompat("LiveEvent", (getTestObjectProvider) => { +describeCompat("LiveEvent", (getTestObjectProvider) => { let provider: ITestObjectProvider; let object1: LiveEvent; let object2: LiveEvent; @@ -45,15 +48,16 @@ describeNoCompat("LiveEvent", (getTestObjectProvider) => { beforeEach(async () => { provider = getTestObjectProvider(); + const container1 = await provider.createContainer( - LiveEventProxy1.factory + LiveEventProxy1.factory as fluidEntryPoint ); - object1 = await requestFluidObject(container1, "default"); + object1 = await getContainerEntryPointBackCompat(container1); const container2 = await provider.loadContainer( - LiveEventProxy2.factory + LiveEventProxy2.factory as fluidEntryPoint ); - object2 = await requestFluidObject(container2, "default"); + object2 = await getContainerEntryPointBackCompat(container2); // need to be connected to send signals if (!container1.connect) { diff --git a/packages/live-share/src/test/LiveFollowMode.spec.ts b/packages/live-share/src/test/LiveFollowMode.spec.ts index 5f0eba9cd..1f743eedd 100644 --- a/packages/live-share/src/test/LiveFollowMode.spec.ts +++ b/packages/live-share/src/test/LiveFollowMode.spec.ts @@ -4,9 +4,11 @@ */ import { strict as assert } from "assert"; -import { requestFluidObject } from "@fluidframework/runtime-utils"; -import { ITestObjectProvider } from "@fluidframework/test-utils"; -import { describeNoCompat } from "@fluidframework/test-version-utils"; +import { + ITestObjectProvider, + fluidEntryPoint, + getContainerEntryPointBackCompat, +} from "@fluidframework/test-utils"; import { FollowModeType, IFollowModePresenceUserData, @@ -17,6 +19,7 @@ import { Deferred, waitForDelay } from "../internals"; import { getLiveDataObjectClass } from "../schema-injection-utils"; import { MockLiveShareRuntime } from "./MockLiveShareRuntime"; import { LivePresenceUser } from "../LivePresenceUser"; +import { describeCompat } from "@live-share-private/test-utils"; interface TestFollowData { page: string; @@ -39,17 +42,20 @@ async function getObjects(getTestObjectProvider) { let provider: ITestObjectProvider = getTestObjectProvider(); - let container1 = await provider.createContainer(ObjectProxy1.factory); - let object1 = await requestFluidObject>( - container1, - "default" + let container1 = await provider.createContainer( + ObjectProxy1.factory as fluidEntryPoint + ); + let object1 = await getContainerEntryPointBackCompat( + container1 ); - let container2 = await provider.loadContainer(ObjectProxy2.factory); - let object2 = await requestFluidObject>( - container2, - "default" + let container2 = await provider.loadContainer( + ObjectProxy2.factory as fluidEntryPoint ); + let object2 = await getContainerEntryPointBackCompat( + container2 + ); + // need to be connected to send signals if (!container1.connect) { await new Promise((resolve) => container1.once("connected", resolve)); @@ -76,7 +82,7 @@ const mockDefaultValue: TestFollowData = { page: "foo", }; -describeNoCompat("LiveFollowMode", (getTestObjectProvider) => { +describeCompat("LiveFollowMode", (getTestObjectProvider) => { it("Should initialize with correct defaults", async () => { const { object1, object2, dispose } = await getObjects( getTestObjectProvider diff --git a/packages/live-share/src/test/LivePresence.spec.ts b/packages/live-share/src/test/LivePresence.spec.ts index a792296bb..f71079a19 100644 --- a/packages/live-share/src/test/LivePresence.spec.ts +++ b/packages/live-share/src/test/LivePresence.spec.ts @@ -4,9 +4,11 @@ */ import { strict as assert } from "assert"; -import { requestFluidObject } from "@fluidframework/runtime-utils"; -import { ITestObjectProvider } from "@fluidframework/test-utils"; -import { describeNoCompat } from "@fluidframework/test-version-utils"; +import { + ITestObjectProvider, + fluidEntryPoint, + getContainerEntryPointBackCompat, +} from "@fluidframework/test-utils"; import { LivePresence } from "../LivePresence"; import { PresenceState } from "../LivePresenceUser"; import { waitForDelay } from "../internals"; @@ -22,6 +24,7 @@ import { import { TestLiveShareHost } from "../TestLiveShareHost"; import { getLiveDataObjectClass } from "../schema-injection-utils"; import { MockLiveShareRuntime } from "./MockLiveShareRuntime"; +import { describeCompat } from "@live-share-private/test-utils"; class TestLivePresence< TData extends object = object @@ -58,17 +61,19 @@ async function getObjects( let provider: ITestObjectProvider = getTestObjectProvider(); - let container1 = await provider.createContainer(ObjectProxy1.factory); - let object1 = await requestFluidObject>( - container1, - "default" + let container1 = await provider.createContainer( + ObjectProxy1.factory as fluidEntryPoint ); + let object1 = await getContainerEntryPointBackCompat< + TestLivePresence<{ foo: string }> + >(container1); - let container2 = await provider.loadContainer(ObjectProxy2.factory); - let object2 = await requestFluidObject>( - container2, - "default" + let container2 = await provider.loadContainer( + ObjectProxy2.factory as fluidEntryPoint ); + let object2 = await getContainerEntryPointBackCompat< + TestLivePresence<{ foo: string }> + >(container2); // need to be connected to send signals if (!container1.connect) { await new Promise((resolve) => container1.once("connected", resolve)); @@ -104,7 +109,7 @@ async function getObjects( }; } -describeNoCompat("LivePresence", (getTestObjectProvider) => { +describeCompat("LivePresence", (getTestObjectProvider) => { it("Should exchange initial presence information", async () => { const { object1, object2, disposeAll } = await getObjects( getTestObjectProvider @@ -292,6 +297,7 @@ describeNoCompat("LivePresence", (getTestObjectProvider) => { await waitForDelay(1); assert( + // @ts-ignore invalid, assersion earlier in test is making the linter think this assertion is unintentional. object2PresenceChangeCount == 4, `expected 4 events from object2, ${object2PresenceChangeCount}` ); @@ -300,6 +306,7 @@ describeNoCompat("LivePresence", (getTestObjectProvider) => { `expected two events from object2 that was online, ${object2PresenceChangeOnlineCount}` ); assert( + // @ts-ignore invalid, assersion earlier in test is making the linter think this assertion is unintentional. object2PresenceChangeOfflineCount == 2, `expected two events from object2 that was offline, ${object2PresenceChangeOfflineCount}` ); diff --git a/packages/live-share/src/test/LiveState.spec.ts b/packages/live-share/src/test/LiveState.spec.ts index 5c467292f..c6e88280e 100644 --- a/packages/live-share/src/test/LiveState.spec.ts +++ b/packages/live-share/src/test/LiveState.spec.ts @@ -4,13 +4,16 @@ */ import { strict as assert } from "assert"; -import { requestFluidObject } from "@fluidframework/runtime-utils"; -import { ITestObjectProvider } from "@fluidframework/test-utils"; -import { describeNoCompat } from "@fluidframework/test-version-utils"; +import { + ITestObjectProvider, + fluidEntryPoint, + getContainerEntryPointBackCompat, +} from "@fluidframework/test-utils"; import { LiveState } from "../LiveState"; import { Deferred } from "../internals"; import { getLiveDataObjectClass } from "../schema-injection-utils"; import { MockLiveShareRuntime } from "./MockLiveShareRuntime"; +import { describeCompat } from "@live-share-private/test-utils"; interface TestStateData { status: string; @@ -22,29 +25,33 @@ async function getObjects(getTestObjectProvider) { let liveRuntime1 = new MockLiveShareRuntime(false); let liveRuntime2 = new MockLiveShareRuntime(false); - let ObjectProxy1: any = getLiveDataObjectClass< - LiveState - >(LiveState, liveRuntime1); - let ObjectProxy2: any = getLiveDataObjectClass< - LiveState - >(LiveState, liveRuntime2); + let ObjectProxy1: any = getLiveDataObjectClass>( + LiveState, + liveRuntime1 + ); + let ObjectProxy2: any = getLiveDataObjectClass>( + LiveState, + liveRuntime2 + ); await liveRuntime1.start(); await liveRuntime2.start(); let provider: ITestObjectProvider = getTestObjectProvider(); - let container1 = await provider.createContainer(ObjectProxy1.factory); - let object1 = await requestFluidObject>( - container1, - "default" + let container1 = await provider.createContainer( + ObjectProxy1.factory as fluidEntryPoint ); + let object1 = await getContainerEntryPointBackCompat< + LiveState + >(container1); - let container2 = await provider.loadContainer(ObjectProxy2.factory); - let object2 = await requestFluidObject>( - container2, - "default" + let container2 = await provider.loadContainer( + ObjectProxy2.factory as fluidEntryPoint ); + let object2 = await getContainerEntryPointBackCompat< + LiveState + >(container2); // need to be connected to send signals if (!container1.connect) { await new Promise((resolve) => container1.once("connected", resolve)); @@ -72,7 +79,7 @@ const mockDefaultValue: TestStateData = { value: "defaultValue", }; -describeNoCompat("LiveState", (getTestObjectProvider) => { +describeCompat("LiveState", (getTestObjectProvider) => { it("Should changeState() to new state and value", async () => { const { object1, object2, dispose } = await getObjects( getTestObjectProvider diff --git a/packages/live-share/src/test/LiveTimer.spec.ts b/packages/live-share/src/test/LiveTimer.spec.ts index 6b239da0d..a4d9a74f5 100644 --- a/packages/live-share/src/test/LiveTimer.spec.ts +++ b/packages/live-share/src/test/LiveTimer.spec.ts @@ -4,13 +4,16 @@ */ import { strict as assert } from "assert"; -import { requestFluidObject } from "@fluidframework/runtime-utils"; -import { ITestObjectProvider } from "@fluidframework/test-utils"; -import { describeNoCompat } from "@fluidframework/test-version-utils"; +import { + ITestObjectProvider, + fluidEntryPoint, + getContainerEntryPointBackCompat, +} from "@fluidframework/test-utils"; import { LiveTimer } from "../LiveTimer"; import { Deferred, waitForDelay } from "../internals"; import { getLiveDataObjectClass } from "../schema-injection-utils"; import { MockLiveShareRuntime } from "./MockLiveShareRuntime"; +import { describeCompat } from "@live-share-private/test-utils"; async function getObjects( getTestObjectProvider, @@ -34,11 +37,15 @@ async function getObjects( let provider: ITestObjectProvider = getTestObjectProvider(); - let container1 = await provider.createContainer(ObjectProxy1.factory); - let object1 = await requestFluidObject(container1, "default"); + let container1 = await provider.createContainer( + ObjectProxy1.factory as fluidEntryPoint + ); + let object1 = await getContainerEntryPointBackCompat(container1); - let container2 = await provider.loadContainer(ObjectProxy2.factory); - let object2 = await requestFluidObject(container2, "default"); + let container2 = await provider.loadContainer( + ObjectProxy2.factory as fluidEntryPoint + ); + let object2 = await getContainerEntryPointBackCompat(container2); // need to be connected to send signals if (!container1.connect) { await new Promise((resolve) => container1.once("connected", resolve)); @@ -62,7 +69,7 @@ async function getObjects( } const milliTolerance = 31; -describeNoCompat("LiveTimer", (getTestObjectProvider) => { +describeCompat("LiveTimer", (getTestObjectProvider) => { it("Should raise local and remote start events", async () => { const { object1, object2, dispose } = await getObjects( getTestObjectProvider