diff --git a/.gitignore b/.gitignore
index bf8d7112..4c9d9b0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,7 @@ types/
.npmrc
.pnpm-store
+
+# temp transpiled TS files that don't always get cleaned up
+vite.config.ts.timestamp-*.mjs
+vite.config.ts.timestamp-*.mts
\ No newline at end of file
diff --git a/packages/arcball/src/arcball.d.ts b/packages/arcball/src/arcball.d.ts
index 34e28601..d3fdacfb 100644
--- a/packages/arcball/src/arcball.d.ts
+++ b/packages/arcball/src/arcball.d.ts
@@ -7,6 +7,8 @@ declare module '@itk-viewer/arcball' {
pan: (dpan: ReadonlyVec2 | ReadonlyVec3) => void;
zoom: (delta: number) => void;
lookAt: (eye: ReadonlyVec3, center: ReadonlyVec3, up: ReadonlyVec3) => void;
+ center: vec3;
+ rotation: quat;
distance: number;
};
diff --git a/packages/element/examples/multi-views.html b/packages/element/examples/multi-views.html
index 3e44675f..5a61e595 100644
--- a/packages/element/examples/multi-views.html
+++ b/packages/element/examples/multi-views.html
@@ -4,7 +4,7 @@
-
itk-view-2d
+ Multiple Views
diff --git a/packages/element/examples/view-3d.html b/packages/element/examples/view-3d.html
index 70f3eaba..b6f80a92 100644
--- a/packages/element/examples/view-3d.html
+++ b/packages/element/examples/view-3d.html
@@ -4,7 +4,7 @@
- itk-view-2d
+ itk-view-3d
diff --git a/packages/element/package.json b/packages/element/package.json
index 7c9f2085..42114567 100644
--- a/packages/element/package.json
+++ b/packages/element/package.json
@@ -50,16 +50,16 @@
"vite-plugin-static-copy": "^0.17.0"
},
"dependencies": {
+ "@itk-viewer/arcball": "workspace:^",
"@itk-viewer/io": "workspace:^",
"@itk-viewer/remote-viewport": "workspace:^",
"@itk-viewer/viewer": "workspace:^",
"@itk-viewer/vtkjs": "workspace:^",
- "@itk-viewer/arcball": "workspace:^",
"@lit/context": "^1.1.0",
"gl-matrix": "^3.4.3",
"itk-wasm": "1.0.0-b.160",
"lit": "^3.1.0",
- "xstate": "5.5.1",
+ "xstate": "5.5.2",
"xstate-lit": "^2.0.4"
}
}
diff --git a/packages/element/src/itk-camera.ts b/packages/element/src/itk-camera.ts
index 29800a51..ea9abfaa 100644
--- a/packages/element/src/itk-camera.ts
+++ b/packages/element/src/itk-camera.ts
@@ -1,9 +1,9 @@
import { LitElement, PropertyValues, html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
-import { ReadonlyMat4, mat4 } from 'gl-matrix';
+import { ReadonlyQuat, ReadonlyVec3, quat, vec3 } from 'gl-matrix';
import { createArcballCamera, ArcballCamera } from '@itk-viewer/arcball';
-import { Camera, LookAtParams } from '@itk-viewer/viewer/camera.js';
+import { Camera, Pose } from '@itk-viewer/viewer/camera.js';
import { SelectorController } from 'xstate-lit';
const PAN_SPEED = 1;
@@ -12,15 +12,17 @@ const ZOOM_SPEED = 0.001;
const bindCamera = (
camera: ArcballCamera,
viewport: HTMLElement,
- onUpdate: (view: ReadonlyMat4) => unknown,
+ onUpdate: (
+ center: ReadonlyVec3,
+ rotation: ReadonlyQuat,
+ distance: number,
+ ) => unknown,
) => {
let width = viewport.clientWidth;
let height = viewport.clientHeight;
- const view = mat4.create();
-
const updateView = () => {
- onUpdate(camera.view(view));
+ onUpdate(camera.center, camera.rotation, camera.distance);
};
const resizeObserver = new ResizeObserver((entries) => {
@@ -115,8 +117,6 @@ const bindCamera = (
viewport.removeEventListener('contextmenu', preventDefault);
};
- updateView();
-
return unBind;
};
@@ -125,8 +125,8 @@ export class ItkCamera extends LitElement {
@property({ attribute: false })
actor: Camera | undefined;
- oldLookAt: LookAtParams | undefined;
- lookAt: SelectorController | undefined;
+ oldPose: Pose | undefined;
+ pose: SelectorController | undefined;
cameraController: ArcballCamera;
unBind: (() => unknown) | undefined;
@@ -141,13 +141,21 @@ export class ItkCamera extends LitElement {
}
firstUpdated(): void {
- this.unBind = bindCamera(this.cameraController, this, (pose) => {
- if (!this.actor) return;
- this.actor.send({
- type: 'setPose',
- pose,
- });
- });
+ this.unBind = bindCamera(
+ this.cameraController,
+ this,
+ (center, rotation, distance) => {
+ if (!this.actor) return;
+ this.actor.send({
+ type: 'setPose',
+ pose: {
+ center,
+ rotation,
+ distance,
+ },
+ });
+ },
+ );
}
disconnectedCallback(): void {
@@ -157,18 +165,19 @@ export class ItkCamera extends LitElement {
willUpdate(changedProperties: PropertyValues) {
if (changedProperties.has('actor') && this.actor) {
- this.lookAt = new SelectorController(
+ this.pose = new SelectorController(
this,
this.actor,
- (state) => state?.context.lookAt,
+ (state) => state?.context.pose,
);
}
- if (this.lookAt?.value !== this.oldLookAt) {
- this.oldLookAt = this.lookAt?.value;
- if (this.lookAt?.value) {
- const { eye, center, up } = this.lookAt.value;
- this.cameraController.lookAt(eye, center, up);
+ if (this.pose?.value !== this.oldPose) {
+ this.oldPose = this.pose?.value;
+ if (this.pose?.value) {
+ vec3.copy(this.cameraController.center, this.pose.value.center);
+ quat.copy(this.cameraController.rotation, this.pose.value.rotation);
+ this.cameraController.distance = this.pose.value.distance;
}
}
}
diff --git a/packages/remote-viewport/package.json b/packages/remote-viewport/package.json
index 551b61a4..aaddaed6 100644
--- a/packages/remote-viewport/package.json
+++ b/packages/remote-viewport/package.json
@@ -30,6 +30,6 @@
"@itk-wasm/htj2k": "2.1.0",
"gl-matrix": "^3.4.3",
"imjoy-rpc": "^0.5.46",
- "xstate": "5.5.1"
+ "xstate": "5.5.2"
}
}
diff --git a/packages/remote-viewport/src/remote-machine.ts b/packages/remote-viewport/src/remote-machine.ts
index b6640f8d..4e70851c 100644
--- a/packages/remote-viewport/src/remote-machine.ts
+++ b/packages/remote-viewport/src/remote-machine.ts
@@ -23,6 +23,7 @@ import {
createBounds,
ensuredDims,
} from '@itk-viewer/io/dimensionUtils.js';
+import { toMat4 } from '@itk-viewer/viewer/camera.js';
const MAX_IMAGE_BYTES_DEFAULT = 4000 * 1000 * 1000; // 4000 MB
@@ -192,10 +193,11 @@ export const remoteMachine = createMachine(
id: 'remote',
context: ({ spawn, self }) => {
const viewport = spawn(viewportMachine, { id: 'viewport' });
+ const tempMat = mat4.create();
viewport.getSnapshot().context.camera.subscribe((state) => {
self.send({
type: 'cameraPoseUpdated',
- pose: state.context.pose,
+ pose: toMat4(tempMat, state.context.pose),
});
});
return {
diff --git a/packages/viewer/package.json b/packages/viewer/package.json
index 4d537b6c..c0f7d66c 100644
--- a/packages/viewer/package.json
+++ b/packages/viewer/package.json
@@ -47,6 +47,6 @@
"dependencies": {
"@itk-viewer/io": "workspace:^",
"gl-matrix": "^3.4.3",
- "xstate": "5.5.1"
+ "xstate": "5.5.2"
}
}
diff --git a/packages/viewer/src/camera.ts b/packages/viewer/src/camera.ts
index a72e9075..d11e52c9 100644
--- a/packages/viewer/src/camera.ts
+++ b/packages/viewer/src/camera.ts
@@ -1,27 +1,60 @@
-import { ReadonlyMat4, ReadonlyVec3, mat4 } from 'gl-matrix';
+import { Bounds } from '@itk-viewer/io/types.js';
+import { ReadonlyVec3, mat4, vec3, quat, ReadonlyQuat } from 'gl-matrix';
import { ActorRefFrom, AnyActorRef, assign, createActor, setup } from 'xstate';
-export type LookAtParams = {
- eye: ReadonlyVec3;
- center: ReadonlyVec3;
- up: ReadonlyVec3;
+export type Pose = {
+ center: vec3;
+ rotation: quat;
+ distance: number;
};
+export type ReadonlyPose = {
+ readonly center: ReadonlyVec3;
+ readonly rotation: ReadonlyQuat;
+ readonly distance: number;
+};
+
+const createPose = () => ({
+ center: vec3.create(),
+ rotation: quat.create(),
+ distance: 1,
+});
+
+const copyPose = (out: Pose, source: ReadonlyPose) => {
+ return {
+ center: vec3.copy(out.center, source.center),
+ rotation: quat.copy(out.rotation, source.rotation),
+ distance: source.distance,
+ };
+};
+
+export const toMat4 = (() => {
+ const scratch0 = new Float32Array(16);
+ const scratch1 = new Float32Array(16);
+ const matTemp = mat4.create();
+ return (out: mat4, pose: ReadonlyPose) => {
+ scratch1[0] = scratch1[1] = 0.0;
+ scratch1[2] = -pose.distance;
+ mat4.fromRotationTranslation(
+ matTemp,
+ quat.conjugate(scratch0, pose.rotation),
+ scratch1,
+ );
+ mat4.translate(out, matTemp, vec3.negate(scratch0, pose.center));
+ return out;
+ };
+})();
+
type Context = {
- pose: ReadonlyMat4;
- lookAt: LookAtParams;
+ pose: Pose;
verticalFieldOfView: number;
+ parallelScaleRatio: number; // distance to parallelScale
poseWatchers: Array;
};
type SetPoseEvent = {
type: 'setPose';
- pose: ReadonlyMat4;
-};
-
-type LookAtEvent = {
- type: 'lookAt';
- lookAt: LookAtParams;
+ pose: ReadonlyPose & { parallelScale?: number };
};
export const cameraMachine = setup({
@@ -30,16 +63,19 @@ export const cameraMachine = setup({
events:
| { type: 'watchPose'; watcher: AnyActorRef }
| { type: 'watchPoseStop'; watcher: AnyActorRef }
- | SetPoseEvent
- | LookAtEvent;
+ | SetPoseEvent;
},
actions: {
emitNewPose: (
{ context: { poseWatchers } },
- params: { pose: ReadonlyMat4 },
+ params: { pose: Pose; parallelScaleRatio: number },
) => {
Object.values(poseWatchers).forEach((actor) => {
- actor.send({ type: 'setCameraPose', pose: params.pose });
+ actor.send({
+ type: 'setCameraPose',
+ pose: params.pose,
+ parallelScaleRatio: params.parallelScaleRatio,
+ });
});
},
},
@@ -47,8 +83,8 @@ export const cameraMachine = setup({
id: 'camera',
initial: 'active',
context: {
- pose: mat4.create(),
- lookAt: { eye: [0, 0, 0], center: [0, 0, 1], up: [0, 1, 0] },
+ pose: createPose(),
+ parallelScaleRatio: 1,
verticalFieldOfView: 50,
poseWatchers: [],
},
@@ -58,26 +94,22 @@ export const cameraMachine = setup({
setPose: {
actions: [
assign({
- pose: ({ event: { pose } }: { event: SetPoseEvent }) => pose,
- }),
- {
- type: 'emitNewPose',
- params: ({ context: { pose } }) => ({ pose }),
- },
- ],
- },
- lookAt: {
- actions: [
- assign({
- lookAt: ({ event: { lookAt } }) => lookAt,
- pose: ({ event: { lookAt } }) => {
- const { eye, center, up } = lookAt;
- return mat4.lookAt(mat4.create(), eye, center, up);
+ pose: ({ event: { pose }, context }) => {
+ return copyPose(context.pose, pose);
+ },
+ parallelScaleRatio: ({ event: { pose }, context }) => {
+ const { distance, parallelScale = undefined } = pose;
+ if (parallelScale === undefined)
+ return context.parallelScaleRatio;
+ return parallelScale / distance;
},
}),
{
type: 'emitNewPose',
- params: ({ context: { pose } }) => ({ pose }),
+ params: ({ context: { pose, parallelScaleRatio } }) => ({
+ pose,
+ parallelScaleRatio,
+ }),
},
],
},
@@ -91,8 +123,8 @@ export const cameraMachine = setup({
return [...poseWatchers, watcher];
},
}),
- ({ context: { pose }, event: { watcher } }) => {
- watcher.send({ type: 'setCameraPose', pose });
+ ({ context: { pose, parallelScaleRatio }, event: { watcher } }) => {
+ watcher.send({ type: 'setCameraPose', pose, parallelScaleRatio });
},
],
},
@@ -118,3 +150,61 @@ export const createCamera = () => {
};
export type Camera = ActorRefFrom;
+
+export const reset3d = (
+ pose: Pose,
+ verticalFieldOfView: number,
+ bounds: Bounds,
+) => {
+ const center = vec3.fromValues(
+ (bounds[0] + bounds[1]) / 2.0,
+ (bounds[2] + bounds[3]) / 2.0,
+ (bounds[4] + bounds[5]) / 2.0,
+ );
+
+ let w1 = bounds[1] - bounds[0];
+ let w2 = bounds[3] - bounds[2];
+ let w3 = bounds[5] - bounds[4];
+ w1 *= w1;
+ w2 *= w2;
+ w3 *= w3;
+ let radius = w1 + w2 + w3;
+ // If we have just a single point, pick a radius of 1.0
+ radius = radius === 0 ? 1.0 : radius;
+ // compute the radius of the enclosing sphere
+ radius = Math.sqrt(radius) * 0.5;
+
+ const angle = verticalFieldOfView * (Math.PI / 180); // to radians
+ const distance = radius / Math.sin(angle * 0.5);
+
+ return { center, rotation: pose.rotation, distance };
+};
+
+export const reset2d = (
+ pose: Pose,
+ verticalFieldOfView: number,
+ bounds: Bounds,
+) => {
+ const center = vec3.fromValues(
+ (bounds[0] + bounds[1]) / 2.0,
+ (bounds[2] + bounds[3]) / 2.0,
+ (bounds[4] + bounds[5]) / 2.0,
+ );
+
+ let w1 = bounds[1] - bounds[0];
+ let w2 = bounds[3] - bounds[2];
+ let w3 = bounds[5] - bounds[4];
+ w1 *= w1;
+ w2 *= w2;
+ w3 *= w3;
+ let radius = w1 + w2 + w3;
+ // If we have just a single point, pick a radius of 1.0
+ radius = radius === 0 ? 1.0 : radius;
+ // compute the radius of the enclosing sphere
+ radius = Math.sqrt(radius) * 0.5;
+
+ const angle = verticalFieldOfView * (Math.PI / 180); // to radians
+ const distance = radius / Math.sin(angle * 0.5);
+
+ return { center, rotation: pose.rotation, distance, parallelScale: radius };
+};
diff --git a/packages/viewer/src/view-2d.ts b/packages/viewer/src/view-2d.ts
index e7b98fd7..991983f3 100644
--- a/packages/viewer/src/view-2d.ts
+++ b/packages/viewer/src/view-2d.ts
@@ -11,13 +11,15 @@ import {
BuiltImage,
} from '@itk-viewer/io/MultiscaleSpatialImage.js';
import { CreateChild } from './children.js';
-import { Camera } from './camera.js';
+import { Camera, reset2d } from './camera.js';
+import { ViewportActor } from './viewport.js';
const viewContext = {
slice: 0.5,
scale: 0,
image: undefined as MultiscaleSpatialImage | undefined,
spawned: {} as Record,
+ viewport: undefined as ViewportActor | undefined,
camera: undefined as Camera | undefined,
};
@@ -28,6 +30,7 @@ export const view2d = setup({
| { type: 'setImage'; image: MultiscaleSpatialImage }
| { type: 'setSlice'; slice: number }
| { type: 'setScale'; scale: number }
+ | { type: 'setViewport'; viewport: ViewportActor }
| { type: 'setCamera'; camera: Camera }
| CreateChild;
},
@@ -52,6 +55,25 @@ export const view2d = setup({
},
),
},
+ actions: {
+ forwardToSpawned: ({ context, event }) => {
+ Object.values(context.spawned).forEach((actor) => {
+ actor.send(event);
+ });
+ },
+ resetCameraPose: async ({ context: { image, camera } }) => {
+ if (!image || !camera) return;
+
+ const bounds = await image.getWorldBounds(image.coarsestScale);
+ const { pose: currentPose, verticalFieldOfView } =
+ camera.getSnapshot().context;
+ const pose = reset2d(currentPose, verticalFieldOfView, bounds);
+ camera.send({
+ type: 'setPose',
+ pose,
+ });
+ },
+ },
}).createMachine({
context: () => {
return JSON.parse(JSON.stringify(viewContext));
@@ -89,6 +111,7 @@ export const view2d = setup({
scale: ({ event }) => event.image.coarsestScale,
slice: 0.5,
}),
+ 'resetCameraPose',
enqueueActions(({ context, enqueue }) => {
Object.values(context.spawned).forEach((actor) => {
enqueue.sendTo(actor, {
@@ -108,11 +131,19 @@ export const view2d = setup({
actions: [assign({ scale: ({ event }) => event.scale })],
target: '.buildingImage',
},
+ setViewport: {
+ actions: [
+ assign({
+ viewport: ({ event: { viewport } }) => viewport,
+ }),
+ ],
+ },
setCamera: {
actions: [
assign({
camera: ({ event: { camera } }) => camera,
}),
+ 'resetCameraPose',
'forwardToSpawned',
],
},
diff --git a/packages/viewer/src/view-3d.ts b/packages/viewer/src/view-3d.ts
index 5f8d0abf..ee96b885 100644
--- a/packages/viewer/src/view-3d.ts
+++ b/packages/viewer/src/view-3d.ts
@@ -12,7 +12,7 @@ import {
BuiltImage,
} from '@itk-viewer/io/MultiscaleSpatialImage.js';
import { CreateChild } from './children.js';
-import { Camera } from './camera.js';
+import { Camera, reset3d } from './camera.js';
const viewContext = {
scale: 0,
@@ -52,6 +52,19 @@ export const view3d = setup({
actor.send(event);
});
},
+ resetCameraPose: async ({ context: { image, camera } }) => {
+ if (!image || !camera) return;
+
+ const bounds = await image.getWorldBounds(image.coarsestScale);
+ const { pose: currentPose, verticalFieldOfView } =
+ camera.getSnapshot().context;
+ const pose = reset3d(currentPose, verticalFieldOfView, bounds);
+
+ camera.send({
+ type: 'setPose',
+ pose,
+ });
+ },
},
}).createMachine({
context: () => {
@@ -89,6 +102,7 @@ export const view3d = setup({
image: ({ event }) => event.image,
scale: ({ event }) => event.image.coarsestScale,
}),
+ 'resetCameraPose',
enqueueActions(({ context, enqueue }) => {
Object.values(context.spawned).forEach((actor) => {
enqueue.sendTo(actor, {
@@ -109,6 +123,7 @@ export const view3d = setup({
assign({
camera: ({ event: { camera } }) => camera,
}),
+ 'resetCameraPose',
'forwardToSpawned',
],
},
diff --git a/packages/viewer/src/viewport.ts b/packages/viewer/src/viewport.ts
index 05ef152d..89732676 100644
--- a/packages/viewer/src/viewport.ts
+++ b/packages/viewer/src/viewport.ts
@@ -1,8 +1,8 @@
import { Actor, AnyActorRef, assign, sendParent, setup } from 'xstate';
-import { ReadonlyMat4, vec3 } from 'gl-matrix';
+import { ReadonlyMat4 } from 'gl-matrix';
import { MultiscaleSpatialImage } from '@itk-viewer/io/MultiscaleSpatialImage.js';
-import { cameraMachine, Camera } from './camera.js';
+import { cameraMachine, Camera, reset3d } from './camera.js';
import { CreateChild } from './children.js';
type Context = {
@@ -48,57 +48,18 @@ export const viewportMachine = setup({
actor.send(event);
});
},
- sendImage: ({ context }) => {
- Object.values(context.spawned).forEach((actor) => {
- actor.send({ type: 'setImage', image: context.image });
- });
- },
resetCameraPose: async ({ context: { image }, self }) => {
const { camera } = self.getSnapshot().children;
if (!image || !camera) return;
+ const bounds = await image.getWorldBounds(image.coarsestScale);
const { pose: currentPose, verticalFieldOfView } =
camera.getSnapshot().context;
-
- const bounds = await image.getWorldBounds(image.coarsestScale);
-
- const center = vec3.fromValues(
- (bounds[0] + bounds[1]) / 2.0,
- (bounds[2] + bounds[3]) / 2.0,
- (bounds[4] + bounds[5]) / 2.0,
- );
-
- let w1 = bounds[1] - bounds[0];
- let w2 = bounds[3] - bounds[2];
- let w3 = bounds[5] - bounds[4];
- w1 *= w1;
- w2 *= w2;
- w3 *= w3;
- let radius = w1 + w2 + w3;
- // If we have just a single point, pick a radius of 1.0
- radius = radius === 0 ? 1.0 : radius;
- // compute the radius of the enclosing sphere
- radius = Math.sqrt(radius) * 0.5;
-
- const angle = verticalFieldOfView * (Math.PI / 180); // to radians
- const distance = radius / Math.sin(angle * 0.5);
-
- const forward = [currentPose[8], currentPose[9], currentPose[10]];
- const up = vec3.fromValues(
- currentPose[4],
- currentPose[5],
- currentPose[6],
- );
-
- const eye = vec3.fromValues(
- center[0] + distance * forward[0],
- center[1] + distance * forward[1],
- center[2] + distance * forward[2],
- );
+ const pose = reset3d(currentPose, verticalFieldOfView, bounds);
camera.send({
- type: 'lookAt',
- lookAt: { eye, center: center, up },
+ type: 'setPose',
+ pose,
});
},
},
@@ -109,7 +70,7 @@ export const viewportMachine = setup({
spawned: {},
camera: spawn(cameraMachine, { id: 'camera' }),
}),
- type: 'parallel',
+ initial: 'active',
states: {
active: {
on: {
@@ -123,6 +84,7 @@ export const viewportMachine = setup({
self,
}) => {
const child = spawn(logic);
+ child.send({ type: 'setViewport', viewport: self });
const { camera } = self.getSnapshot().children;
child.send({ type: 'setCamera', camera });
const id = Object.keys(spawned).length.toString();
@@ -140,8 +102,8 @@ export const viewportMachine = setup({
assign({
image: ({ event: { image } }: { event: SetImageEvent }) => image,
}),
- 'sendImage',
'resetCameraPose',
+ 'forwardToSpawned',
],
},
setCamera: {
@@ -150,8 +112,8 @@ export const viewportMachine = setup({
camera: ({ event: { camera } }: { event: SetCameraEvent }) =>
camera,
}),
- 'forwardToSpawned',
'resetCameraPose',
+ 'forwardToSpawned',
],
},
setResolution: {
diff --git a/packages/vtkjs/package.json b/packages/vtkjs/package.json
index 3ab64830..bf940993 100644
--- a/packages/vtkjs/package.json
+++ b/packages/vtkjs/package.json
@@ -29,6 +29,6 @@
"@itk-viewer/io": "workspace:^",
"@itk-viewer/viewer": "workspace:^",
"@kitware/vtk.js": "^29.3.0",
- "xstate": "5.5.1"
+ "xstate": "5.5.2"
}
}
diff --git a/packages/vtkjs/src/view-2d-vtkjs.machine.ts b/packages/vtkjs/src/view-2d-vtkjs.machine.ts
index 949d4929..268d38a6 100644
--- a/packages/vtkjs/src/view-2d-vtkjs.machine.ts
+++ b/packages/vtkjs/src/view-2d-vtkjs.machine.ts
@@ -1,10 +1,9 @@
import { assign, setup } from 'xstate';
-import { ReadonlyMat4 } from 'gl-matrix';
import GenericRenderWindow, {
vtkGenericRenderWindow,
} from '@kitware/vtk.js/Rendering/Misc/GenericRenderWindow.js';
import { BuiltImage } from '@itk-viewer/io/MultiscaleSpatialImage.js';
-import { Camera } from '@itk-viewer/viewer/camera.js';
+import { Camera, Pose } from '@itk-viewer/viewer/camera.js';
export type Context = {
rendererContainer: vtkGenericRenderWindow;
@@ -23,7 +22,7 @@ export const view2dLogic = setup({
| SetContainerEvent
| { type: 'imageBuilt'; image: BuiltImage }
| { type: 'setSlice'; slice: number }
- | { type: 'setCameraPose'; pose: ReadonlyMat4 }
+ | { type: 'setCameraPose'; pose: Pose; parallelScaleRatio: number }
| { type: 'setCamera'; camera: Camera };
},
actions: {
@@ -34,7 +33,7 @@ export const view2dLogic = setup({
throw new Error('Function not implemented.');
},
// eslint-disable-next-line @typescript-eslint/no-unused-vars
- applyCameraPose: (_, __: { pose: ReadonlyMat4 }) => {
+ applyCameraPose: (_, __: { pose: Pose; parallelScaleRatio: number }) => {
throw new Error('Function not implemented.');
},
},
@@ -75,7 +74,10 @@ export const view2dLogic = setup({
actions: [
{
type: 'applyCameraPose',
- params: ({ event }) => ({ pose: event.pose }),
+ params: ({ event }) => ({
+ pose: event.pose,
+ parallelScaleRatio: event.parallelScaleRatio,
+ }),
},
],
},
diff --git a/packages/vtkjs/src/view-2d-vtkjs.ts b/packages/vtkjs/src/view-2d-vtkjs.ts
index b49fb663..c9bcbe55 100644
--- a/packages/vtkjs/src/view-2d-vtkjs.ts
+++ b/packages/vtkjs/src/view-2d-vtkjs.ts
@@ -1,5 +1,5 @@
import { AnyEventObject } from 'xstate';
-import { ReadonlyMat4, mat4 } from 'gl-matrix';
+import { mat4 } from 'gl-matrix';
import '@kitware/vtk.js/Rendering/Profiles/Volume';
import { vtkGenericRenderWindow } from '@kitware/vtk.js/Rendering/Misc/GenericRenderWindow.js';
@@ -8,8 +8,8 @@ import vtkImageSlice from '@kitware/vtk.js/Rendering/Core/ImageSlice.js';
import vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer.js';
import vtkRenderWindow from '@kitware/vtk.js/Rendering/Core/RenderWindow.js';
import vtkITKHelper from '@kitware/vtk.js/Common/DataModel/ITKHelper.js';
-// import Constants from '@kitware/vtk.js/Rendering/Core/ImageMapper/Constants.js';
+import { Pose, toMat4 } from '@itk-viewer/viewer/camera.js';
import {
Context,
SetContainerEvent,
@@ -39,8 +39,8 @@ const setupContainer = (
renderWindow.getInteractor().setInteractorStyle(undefined);
- // const camera = renderer!.getActiveCamera();
- // camera.setParallelProjection(true);
+ const camera = renderer!.getActiveCamera();
+ camera.setParallelProjection(true);
return { actor, mapper, renderer, renderWindow };
};
@@ -51,6 +51,7 @@ const createImplementation = () => {
let renderer: vtkRenderer.vtkRenderer | undefined = undefined;
let renderWindow: vtkRenderWindow.vtkRenderWindow | undefined = undefined;
+ const viewMat = mat4.create();
let addedActorToRenderer = false;
const cleanupContainer = (rendererContainer: vtkGenericRenderWindow) => {
@@ -90,25 +91,43 @@ const createImplementation = () => {
renderWindow = scene.renderWindow;
},
- imageBuilt: ({ event }: { event: AnyEventObject }) => {
+ imageBuilt: ({
+ event,
+ context,
+ }: {
+ event: AnyEventObject;
+ context: Context;
+ }) => {
const { image } = event;
const vtkImage = vtkITKHelper.convertItkToVtkImage(image);
mapper!.setInputData(vtkImage);
- // mapper!.setSliceAtFocalPoint(true);
- // mapper!.setSlicingMode(Constants.SlicingMode.Z);
// add actor to renderer after mapper has data to avoid vtkjs message
if (!addedActorToRenderer) {
addedActorToRenderer = true;
renderer!.addActor(actor!);
+
+ const snap = context.camera!.getSnapshot();
+ toMat4(viewMat, snap.context.pose);
+ const cameraVtk = renderer!.getActiveCamera();
+ cameraVtk.setViewMatrix(viewMat as mat4);
}
render();
},
- applyCameraPose: (_: unknown, params: { pose: ReadonlyMat4 }) => {
+ applyCameraPose: (
+ _: unknown,
+ {
+ pose,
+ parallelScaleRatio,
+ }: { pose: Pose; parallelScaleRatio: number },
+ ) => {
const cameraVtk = renderer?.getActiveCamera();
if (!cameraVtk) return;
- cameraVtk.setViewMatrix(params.pose as mat4);
+ toMat4(viewMat, pose);
+ cameraVtk.setViewMatrix(viewMat as mat4);
+ cameraVtk.setParallelScale(parallelScaleRatio * pose.distance);
+
render();
},
},
diff --git a/packages/vtkjs/src/view-3d-vtkjs.machine.ts b/packages/vtkjs/src/view-3d-vtkjs.machine.ts
index 9252f53a..182b2a20 100644
--- a/packages/vtkjs/src/view-3d-vtkjs.machine.ts
+++ b/packages/vtkjs/src/view-3d-vtkjs.machine.ts
@@ -3,8 +3,7 @@ import GenericRenderWindow, {
vtkGenericRenderWindow,
} from '@kitware/vtk.js/Rendering/Misc/GenericRenderWindow.js';
import { BuiltImage } from '@itk-viewer/io/MultiscaleSpatialImage.js';
-import { Camera } from '@itk-viewer/viewer/camera.js';
-import { ReadonlyMat4 } from 'gl-matrix';
+import { Camera, ReadonlyPose } from '@itk-viewer/viewer/camera.js';
export type Context = {
rendererContainer: vtkGenericRenderWindow;
@@ -23,7 +22,7 @@ export const view3dLogic = setup({
| SetContainerEvent
| { type: 'imageBuilt'; image: BuiltImage }
| { type: 'setSlice'; slice: number }
- | { type: 'setCameraPose'; pose: ReadonlyMat4 }
+ | { type: 'setCameraPose'; pose: ReadonlyPose }
| { type: 'setCamera'; camera: Camera };
},
actions: {
@@ -34,7 +33,7 @@ export const view3dLogic = setup({
throw new Error('Function not implemented.');
},
// eslint-disable-next-line @typescript-eslint/no-unused-vars
- applyCameraPose: (_, __: { pose: ReadonlyMat4 }) => {
+ applyCameraPose: (_, __: { pose: ReadonlyPose }) => {
throw new Error('Function not implemented.');
},
},
diff --git a/packages/vtkjs/src/view-3d-vtkjs.ts b/packages/vtkjs/src/view-3d-vtkjs.ts
index 15ed4ee5..34243c86 100644
--- a/packages/vtkjs/src/view-3d-vtkjs.ts
+++ b/packages/vtkjs/src/view-3d-vtkjs.ts
@@ -1,5 +1,5 @@
import { AnyEventObject } from 'xstate';
-import { ReadonlyMat4, mat4 } from 'gl-matrix';
+import { mat4 } from 'gl-matrix';
import '@kitware/vtk.js/Rendering/Profiles/Volume';
import vtkVolume from '@kitware/vtk.js/Rendering/Core/Volume.js';
@@ -16,6 +16,7 @@ import {
SetContainerEvent,
view3dLogic,
} from './view-3d-vtkjs.machine.js';
+import { ReadonlyPose, toMat4 } from '@itk-viewer/viewer/camera.js';
const setupContainer = (
rendererContainer: vtkGenericRenderWindow,
@@ -51,6 +52,7 @@ const createImplementation = () => {
let piecewiseFunction: vtkPiecewiseFunction.vtkPiecewiseFunction | undefined =
undefined;
+ const viewMat = mat4.create();
let addedActorToRenderer = false;
const cleanupContainer = (rendererContainer: vtkGenericRenderWindow) => {
@@ -146,11 +148,11 @@ const createImplementation = () => {
render();
},
- applyCameraPose: (_: unknown, params: { pose: ReadonlyMat4 }) => {
+ applyCameraPose: (_: unknown, { pose }: { pose: ReadonlyPose }) => {
const cameraVtk = renderer?.getActiveCamera();
if (!cameraVtk) return;
- cameraVtk.setViewMatrix(params.pose as mat4);
-
+ toMat4(viewMat, pose);
+ cameraVtk.setViewMatrix(viewMat as mat4);
render();
},
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c7f3c4fc..19ec6468 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -106,11 +106,11 @@ importers:
specifier: ^3.1.0
version: 3.1.0
xstate:
- specifier: 5.5.1
- version: 5.5.1
+ specifier: 5.5.2
+ version: 5.5.2
xstate-lit:
specifier: ^2.0.4
- version: 2.0.4(@lit/context@1.1.0)(lit@3.1.0)(xstate@5.5.1)
+ version: 2.0.4(@lit/context@1.1.0)(lit@3.1.0)(xstate@5.5.2)
devDependencies:
typescript:
specifier: ^5.3.3
@@ -208,8 +208,8 @@ importers:
specifier: ^0.5.46
version: 0.5.46
xstate:
- specifier: 5.5.1
- version: 5.5.1
+ specifier: 5.5.2
+ version: 5.5.2
devDependencies:
typescript:
specifier: ^5.3.3
@@ -227,8 +227,8 @@ importers:
specifier: ^3.4.3
version: 3.4.3
xstate:
- specifier: 5.5.1
- version: 5.5.1
+ specifier: 5.5.2
+ version: 5.5.2
devDependencies:
typescript:
specifier: ^5.3.3
@@ -247,10 +247,10 @@ importers:
version: link:../viewer
'@kitware/vtk.js':
specifier: ^29.3.0
- version: 29.3.1(@babel/preset-env@7.23.8)(autoprefixer@10.4.16)(webpack@5.89.0)(wslink@1.12.4)
+ version: 29.3.1(@babel/preset-env@7.23.9)(autoprefixer@10.4.17)(webpack@5.90.0)(wslink@1.12.4)
xstate:
- specifier: 5.5.1
- version: 5.5.1
+ specifier: 5.5.2
+ version: 5.5.2
devDependencies:
itk-wasm:
specifier: 1.0.0-b.160
@@ -343,7 +343,7 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/trace-mapping': 0.3.22
dev: false
/@azure/abort-controller@1.1.0:
@@ -476,22 +476,22 @@ packages:
engines: {node: '>=6.9.0'}
dev: false
- /@babel/core@7.23.7:
- resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==}
+ /@babel/core@7.23.9:
+ resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.1
'@babel/code-frame': 7.23.5
'@babel/generator': 7.23.6
'@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
- '@babel/helpers': 7.23.8
- '@babel/parser': 7.23.6
- '@babel/template': 7.22.15
- '@babel/traverse': 7.23.7
- '@babel/types': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9)
+ '@babel/helpers': 7.23.9
+ '@babel/parser': 7.23.9
+ '@babel/template': 7.23.9
+ '@babel/traverse': 7.23.9
+ '@babel/types': 7.23.9
convert-source-map: 2.0.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -503,9 +503,9 @@ packages:
resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
'@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/trace-mapping': 0.3.22
jsesc: 2.5.2
dev: false
@@ -513,14 +513,14 @@ packages:
resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-compilation-targets@7.23.6:
@@ -529,50 +529,50 @@ packages:
dependencies:
'@babel/compat-data': 7.23.5
'@babel/helper-validator-option': 7.23.5
- browserslist: 4.22.2
+ browserslist: 4.22.3
lru-cache: 5.1.1
semver: 6.3.1
dev: false
- /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.23.7):
- resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==}
+ /@babel/helper-create-class-features-plugin@7.23.9(@babel/core@7.23.9):
+ resolution: {integrity: sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-annotate-as-pure': 7.22.5
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-function-name': 7.23.0
'@babel/helper-member-expression-to-functions': 7.23.0
'@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9)
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
semver: 6.3.1
dev: false
- /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7):
+ /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9):
resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-annotate-as-pure': 7.22.5
regexpu-core: 5.3.2
semver: 6.3.1
dev: false
- /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.7):
- resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==}
+ /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@@ -588,38 +588,38 @@ packages:
resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.22.15
- '@babel/types': 7.23.6
+ '@babel/template': 7.23.9
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-hoist-variables@7.22.5:
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-member-expression-to-functions@7.23.0:
resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-module-imports@7.22.15:
resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
- /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7):
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-module-imports': 7.22.15
'@babel/helper-simple-access': 7.22.5
@@ -631,7 +631,7 @@ packages:
resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-plugin-utils@7.22.5:
@@ -639,25 +639,25 @@ packages:
engines: {node: '>=6.9.0'}
dev: false
- /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7):
+ /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9):
resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-annotate-as-pure': 7.22.5
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-wrap-function': 7.22.20
dev: false
- /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7):
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9):
resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-member-expression-to-functions': 7.23.0
'@babel/helper-optimise-call-expression': 7.22.5
@@ -667,21 +667,21 @@ packages:
resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-skip-transparent-expression-wrappers@7.22.5:
resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-split-export-declaration@7.22.6:
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
/@babel/helper-string-parser@7.23.4:
@@ -703,17 +703,17 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-function-name': 7.23.0
- '@babel/template': 7.22.15
- '@babel/types': 7.23.6
+ '@babel/template': 7.23.9
+ '@babel/types': 7.23.9
dev: false
- /@babel/helpers@7.23.8:
- resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==}
+ /@babel/helpers@7.23.9:
+ resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.22.15
- '@babel/traverse': 7.23.7
- '@babel/types': 7.23.6
+ '@babel/template': 7.23.9
+ '@babel/traverse': 7.23.9
+ '@babel/types': 7.23.9
transitivePeerDependencies:
- supports-color
dev: false
@@ -736,856 +736,856 @@ packages:
js-tokens: 4.0.0
dev: false
- /@babel/parser@7.23.6:
- resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
+ /@babel/parser@7.23.9:
+ resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
dev: false
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.13.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7)
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9)
dev: false
- /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.7):
+ /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9):
resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7):
+ /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9):
resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
dev: false
- /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7):
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9):
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7):
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9):
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7):
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9):
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9):
resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9):
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7):
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9):
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9):
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7):
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9):
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9):
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7):
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9):
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9):
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9):
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7):
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9):
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7):
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9):
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7):
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9):
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7):
+ /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9):
resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.7):
- resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==}
+ /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9):
+ resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7)
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7)
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.12.0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.7):
+ /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9):
resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-annotate-as-pure': 7.22.5
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-function-name': 7.23.0
'@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9)
'@babel/helper-split-export-declaration': 7.22.6
globals: 11.12.0
dev: false
- /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/template': 7.22.15
+ '@babel/template': 7.23.9
dev: false
- /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7):
+ /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9):
resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
dev: false
- /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-function-name': 7.23.0
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
'@babel/helper-simple-access': 7.22.5
dev: false
- /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7):
- resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==}
+ /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9):
+ resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
'@babel/helper-validator-identifier': 7.22.20
dev: false
- /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7):
+ /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9):
resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/compat-data': 7.23.5
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7)
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7):
+ /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9):
resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7)
+ '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9)
dev: false
- /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
regenerator-transform: 0.15.2
dev: false
- /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
dev: false
- /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7):
+ /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9):
resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9)
'@babel/helper-plugin-utils': 7.22.5
dev: false
- /@babel/preset-env@7.23.8(@babel/core@7.23.7):
- resolution: {integrity: sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==}
+ /@babel/preset-env@7.23.9(@babel/core@7.23.9):
+ resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/compat-data': 7.23.5
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
'@babel/helper-validator-option': 7.23.5
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.7)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.7)
- '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.23.7)
- '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.7)
- '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.7)
- '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.7)
- '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.7)
- '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7)
- '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.7)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.7)
- babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7)
- babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7)
- babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7)
- core-js-compat: 3.35.0
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9)
+ '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9)
+ '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9)
+ '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9)
+ '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9)
+ '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9)
+ '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.9)
+ '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.9)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9)
+ babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9)
+ babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9)
+ babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9)
+ core-js-compat: 3.35.1
semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: false
- /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7):
+ /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9):
resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
peerDependencies:
'@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/core': 7.23.7
+ '@babel/core': 7.23.9
'@babel/helper-plugin-utils': 7.22.5
- '@babel/types': 7.23.6
+ '@babel/types': 7.23.9
esutils: 2.0.3
dev: false
@@ -1599,24 +1599,24 @@ packages:
dependencies:
regenerator-runtime: 0.14.0
- /@babel/runtime@7.23.8:
- resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==}
+ /@babel/runtime@7.23.9:
+ resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==}
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.14.1
dev: false
- /@babel/template@7.22.15:
- resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
+ /@babel/template@7.23.9:
+ resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.23.5
- '@babel/parser': 7.23.6
- '@babel/types': 7.23.6
+ '@babel/parser': 7.23.9
+ '@babel/types': 7.23.9
dev: false
- /@babel/traverse@7.23.7:
- resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==}
+ /@babel/traverse@7.23.9:
+ resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.23.5
@@ -1625,16 +1625,16 @@ packages:
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.23.6
- '@babel/types': 7.23.6
- debug: 4.3.4(supports-color@8.1.1)
+ '@babel/parser': 7.23.9
+ '@babel/types': 7.23.9
+ debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
dev: false
- /@babel/types@7.23.6:
- resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
+ /@babel/types@7.23.9:
+ resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-string-parser': 7.23.4
@@ -2362,7 +2362,7 @@ packages:
dependencies:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/trace-mapping': 0.3.22
dev: false
/@jridgewell/resolve-uri@3.1.1:
@@ -2379,7 +2379,7 @@ packages:
resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
dependencies:
'@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/trace-mapping': 0.3.22
dev: false
/@jridgewell/sourcemap-codec@1.4.15:
@@ -2393,14 +2393,14 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: false
- /@jridgewell/trace-mapping@0.3.20:
- resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ /@jridgewell/trace-mapping@0.3.22:
+ resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==}
dependencies:
'@jridgewell/resolve-uri': 3.1.1
'@jridgewell/sourcemap-codec': 1.4.15
dev: false
- /@kitware/vtk.js@29.3.1(@babel/preset-env@7.23.8)(autoprefixer@10.4.16)(webpack@5.89.0)(wslink@1.12.4):
+ /@kitware/vtk.js@29.3.1(@babel/preset-env@7.23.9)(autoprefixer@10.4.17)(webpack@5.90.0)(wslink@1.12.4):
resolution: {integrity: sha512-TM3uBVwJWdMIU+VD+OnSxQU45lJiJiOxxkx56Du6K4d18u5fHi7nBkSlNhTtOCX5H8amwIofaPCKRnYRNkjosA==}
hasBin: true
peerDependencies:
@@ -2408,10 +2408,10 @@ packages:
autoprefixer: ^10.4.7
wslink: ^1.1.0
dependencies:
- '@babel/preset-env': 7.23.8(@babel/core@7.23.7)
+ '@babel/preset-env': 7.23.9(@babel/core@7.23.9)
'@babel/runtime': 7.22.11
'@types/webxr': 0.5.7
- autoprefixer: 10.4.16(postcss@8.4.33)
+ autoprefixer: 10.4.17(postcss@8.4.33)
commander: 9.2.0
d3-scale: 4.0.2
fast-deep-equal: 3.1.3
@@ -2424,7 +2424,7 @@ packages:
spark-md5: 3.0.2
stream-browserify: 3.0.0
webworker-promise: 0.5.0
- worker-loader: 3.0.8(webpack@5.89.0)
+ worker-loader: 3.0.8(webpack@5.90.0)
wslink: 1.12.4
xmlbuilder2: 3.0.2
transitivePeerDependencies:
@@ -2728,8 +2728,8 @@ packages:
undici-types: 5.26.5
dev: true
- /@types/node@20.11.0:
- resolution: {integrity: sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==}
+ /@types/node@20.11.9:
+ resolution: {integrity: sha512-CQXNuMoS/VcoAMISe5pm4JnEd1Br5jildbQEToEMQvutmv+EaQr90ry9raiudgpyDuqFiV9e4rnjSfLNq12M5w==}
dependencies:
undici-types: 5.26.5
dev: false
@@ -3218,15 +3218,15 @@ packages:
engines: {node: '>= 4.0.0'}
dev: true
- /autoprefixer@10.4.16(postcss@8.4.33):
- resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
+ /autoprefixer@10.4.17(postcss@8.4.33):
+ resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
peerDependencies:
postcss: ^8.1.0
dependencies:
- browserslist: 4.22.2
- caniuse-lite: 1.0.30001576
+ browserslist: 4.22.3
+ caniuse-lite: 1.0.30001581
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.0.0
@@ -3256,38 +3256,38 @@ packages:
transitivePeerDependencies:
- debug
- /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.7):
- resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==}
+ /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9):
+ resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/compat-data': 7.23.5
- '@babel/core': 7.23.7
- '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: false
- /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.7):
- resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==}
+ /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
- core-js-compat: 3.35.0
+ '@babel/core': 7.23.9
+ '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9)
+ core-js-compat: 3.35.1
transitivePeerDependencies:
- supports-color
dev: false
- /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.7):
- resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==}
+ /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9):
+ resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/core': 7.23.7
- '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
+ '@babel/core': 7.23.9
+ '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9)
transitivePeerDependencies:
- supports-color
dev: false
@@ -3364,15 +3364,15 @@ packages:
update-browserslist-db: 1.0.11(browserslist@4.21.10)
dev: false
- /browserslist@4.22.2:
- resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
+ /browserslist@4.22.3:
+ resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001576
- electron-to-chromium: 1.4.628
+ caniuse-lite: 1.0.30001581
+ electron-to-chromium: 1.4.648
node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.22.2)
+ update-browserslist-db: 1.0.13(browserslist@4.22.3)
dev: false
/buffer-crc32@0.2.13:
@@ -3425,8 +3425,8 @@ packages:
resolution: {integrity: sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==}
dev: false
- /caniuse-lite@1.0.30001576:
- resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==}
+ /caniuse-lite@1.0.30001581:
+ resolution: {integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==}
dev: false
/caseless@0.12.0:
@@ -3617,10 +3617,10 @@ packages:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
dev: false
- /core-js-compat@3.35.0:
- resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==}
+ /core-js-compat@3.35.1:
+ resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==}
dependencies:
- browserslist: 4.22.2
+ browserslist: 4.22.3
dev: false
/core-util-is@1.0.2:
@@ -3804,6 +3804,18 @@ packages:
supports-color: 8.1.1
dev: true
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: false
+
/debug@4.3.4(supports-color@8.1.1):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
@@ -3815,6 +3827,7 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 8.1.1
+ dev: true
/decamelize-keys@1.1.1:
resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
@@ -3884,8 +3897,8 @@ packages:
resolution: {integrity: sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==}
dev: false
- /electron-to-chromium@1.4.628:
- resolution: {integrity: sha512-2k7t5PHvLsufpP6Zwk0nof62yLOsCf032wZx7/q0mv8gwlXjhcxI3lz6f0jBr0GrnWKcm3burXzI3t5IrcdUxw==}
+ /electron-to-chromium@1.4.648:
+ resolution: {integrity: sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==}
dev: false
/emoji-regex@8.0.0:
@@ -3911,7 +3924,7 @@ packages:
resolution: {integrity: sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==}
dependencies:
'@socket.io/component-emitter': 3.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
engine.io-parser: 5.2.1
ws: 8.11.0
xmlhttprequest-ssl: 2.0.0
@@ -5053,7 +5066,7 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 20.11.0
+ '@types/node': 20.11.9
merge-stream: 2.0.0
supports-color: 8.1.1
dev: false
@@ -5938,7 +5951,7 @@ packages:
/regenerator-transform@0.15.2:
resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
dependencies:
- '@babel/runtime': 7.23.8
+ '@babel/runtime': 7.23.9
dev: false
/regexp.prototype.flags@1.5.0:
@@ -6257,7 +6270,7 @@ packages:
engines: {node: '>=10.0.0'}
dependencies:
'@socket.io/component-emitter': 3.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
engine.io-client: 6.5.2
socket.io-parser: 4.2.4
transitivePeerDependencies:
@@ -6271,7 +6284,7 @@ packages:
engines: {node: '>=10.0.0'}
dependencies:
'@socket.io/component-emitter': 3.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: false
@@ -6491,7 +6504,7 @@ packages:
engines: {node: '>=8'}
dev: true
- /terser-webpack-plugin@5.3.10(webpack@5.89.0):
+ /terser-webpack-plugin@5.3.10(webpack@5.90.0):
resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
engines: {node: '>= 10.13.0'}
peerDependencies:
@@ -6507,12 +6520,12 @@ packages:
uglify-js:
optional: true
dependencies:
- '@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/trace-mapping': 0.3.22
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.26.0
- webpack: 5.89.0
+ terser: 5.27.0
+ webpack: 5.90.0
dev: false
/terser-webpack-plugin@5.3.9(webpack@5.88.2):
@@ -6550,8 +6563,8 @@ packages:
source-map-support: 0.5.21
dev: false
- /terser@5.26.0:
- resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==}
+ /terser@5.27.0:
+ resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -6822,13 +6835,13 @@ packages:
picocolors: 1.0.0
dev: false
- /update-browserslist-db@1.0.13(browserslist@4.22.2):
+ /update-browserslist-db@1.0.13(browserslist@4.22.3):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.22.2
+ browserslist: 4.22.3
escalade: 3.1.1
picocolors: 1.0.0
dev: false
@@ -7025,8 +7038,8 @@ packages:
- uglify-js
dev: false
- /webpack@5.89.0:
- resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==}
+ /webpack@5.90.0:
+ resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
@@ -7042,7 +7055,7 @@ packages:
'@webassemblyjs/wasm-parser': 1.11.6
acorn: 8.11.3
acorn-import-assertions: 1.9.0(acorn@8.11.3)
- browserslist: 4.22.2
+ browserslist: 4.22.3
chrome-trace-event: 1.0.3
enhanced-resolve: 5.15.0
es-module-lexer: 1.4.1
@@ -7056,7 +7069,7 @@ packages:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(webpack@5.89.0)
+ terser-webpack-plugin: 5.3.10(webpack@5.90.0)
watchpack: 2.4.0
webpack-sources: 3.2.3
transitivePeerDependencies:
@@ -7143,7 +7156,7 @@ packages:
isexe: 3.1.1
dev: true
- /worker-loader@3.0.8(webpack@5.89.0):
+ /worker-loader@3.0.8(webpack@5.90.0):
resolution: {integrity: sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==}
engines: {node: '>= 10.13.0'}
peerDependencies:
@@ -7151,7 +7164,7 @@ packages:
dependencies:
loader-utils: 2.0.4
schema-utils: 3.3.0
- webpack: 5.89.0
+ webpack: 5.90.0
dev: false
/wrap-ansi@6.2.0:
@@ -7232,7 +7245,7 @@ packages:
engines: {node: '>=0.4.0'}
dev: false
- /xstate-lit@2.0.4(@lit/context@1.1.0)(lit@3.1.0)(xstate@5.5.1):
+ /xstate-lit@2.0.4(@lit/context@1.1.0)(lit@3.1.0)(xstate@5.5.2):
resolution: {integrity: sha512-CzHl9QT0Bab7+SBjM4FG08LyMFjaZtMxYSgrOLmwisj2tP2/m9OTeT5xpzidHRzBYIo2IPomW4K4V9QWLyLIXw==}
peerDependencies:
'@lit/context': ^1.1.0
@@ -7244,11 +7257,11 @@ packages:
dependencies:
'@lit/context': 1.1.0
lit: 3.1.0
- xstate: 5.5.1
+ xstate: 5.5.2
dev: false
- /xstate@5.5.1:
- resolution: {integrity: sha512-12Was43pPJKg3JWoelOREtTNYgFz6tRlNrMaRuqOibEe3pn8/uOWiP8ySMfOynyIjHUxd4BU7wV9O54Ma3FM6g==}
+ /xstate@5.5.2:
+ resolution: {integrity: sha512-RLf9wc5HDO0pvj2TQQ+lY6tDW8CU8Entfgmtzzo6NhkC8qOEBXSN6WUSvnUM7NHZgdih06+by1b4nbaHVu1c+g==}
dev: false
/y18n@4.0.3: