summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-09-15 15:34:16 +0800
committerEltrac <hi@guhub.cn>2025-09-15 15:34:16 +0800
commiteb4009e21b5c1d94353862d10ae4d4c96ef4ca8b (patch)
tree6f00305cc0139bf002b415ff199c8bd949d0330a
parentb45e9a3858c0a5c7e3494e6d3fa7940e6c19aec0 (diff)
chore(build): set up npm and parcel
-rw-r--r--.gitignore2
-rw-r--r--dist/lightbox.min.js231
-rw-r--r--dist/lightbox.min.js.map1
-rw-r--r--package-lock.json3074
-rw-r--r--package.json83
-rw-r--r--test/index.html2
6 files changed, 3392 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..299cd68
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/node_modules
+/.parcel-cache
diff --git a/dist/lightbox.min.js b/dist/lightbox.min.js
new file mode 100644
index 0000000..84921d8
--- /dev/null
+++ b/dist/lightbox.min.js
@@ -0,0 +1,231 @@
+class $1e566b6277893a87$export$2e2bcd8739ae039 {
+ zIndex = 900;
+ zIndexHidden = -100;
+ constructor(){
+ const overlay = document.createElement('div');
+ overlay.id = 'libo-overlay';
+ overlay.classList.add('libo-overlay');
+ // initialized state
+ overlay.style.zIndex = this.zIndexHidden;
+ overlay.style.opacity = '0';
+ this.element = overlay;
+ document.body.appendChild(overlay);
+ return this;
+ }
+ show() {
+ this.element.style.opacity = '1';
+ this.element.style.zIndex = this.zIndex;
+ }
+ hide() {
+ this.element.style.opacity = '0';
+ this.element.style.zIndex = '-100';
+ }
+}
+
+
+class $ec04822463bc4394$export$2e2bcd8739ae039 {
+ zIndex = '1000';
+ isOpen = false;
+ /**
+ * ============
+ * Constructors
+ * ============
+ */ constructor(image){
+ this.create(image);
+ this.calculateStartsAndFinals();
+ return this;
+ }
+ create(image) {
+ // create shadow image
+ const shadowImage = document.createElement('img');
+ shadowImage.src = image.src;
+ shadowImage.id = `libo-shadow-${image.id}`;
+ shadowImage.classList.add('libo-shadow');
+ // style and position shadow image
+ shadowImage.style.top = image.offsetTop;
+ shadowImage.style.left = image.offsetLeft;
+ shadowImage.style.width = image.offsetWidth;
+ shadowImage.style.height = image.offsetHeight;
+ shadowImage.style.zIndex = this.zIndex;
+ document.body.appendChild(shadowImage);
+ this.element = shadowImage;
+ }
+ calculateStartsAndFinals() {
+ // get starting state
+ const s = {
+ top: this.element.offsetTop,
+ left: this.element.offsetLeft,
+ width: this.element.offsetWidth,
+ height: this.element.offsetHeight
+ };
+ const f = {};
+ const margin = 50;
+ // calculate final size
+ const nw = this.element.naturalWidth;
+ const nh = this.element.naturalHeight;
+ const ratio = nw / nh;
+ const ww = window.innerWidth - margin * 2;
+ const wh = window.innerHeight - margin * 2;
+ f.width = Math.min(nw, ww);
+ f.height = f.width / ratio;
+ if (f.height >= wh) {
+ f.height = wh;
+ f.width = f.height * ratio;
+ }
+ // calculate final position
+ f.left = (ww - f.width) / 2 + margin;
+ f.top = (wh - f.height) / 2 + margin;
+ this.finalState = f;
+ this.startingState = s;
+ }
+ /**
+ * ============
+ * Actions
+ * ============
+ */ open() {
+ this.isOpen = true;
+ this.animate(this.startingState, this.finalState);
+ }
+ close() {
+ this.isOpen = false;
+ this.animate(this.finalState, this.startingState);
+ }
+ animate(starts, finals) {
+ // Set up the interval for smooth transition
+ const steps = 20; // Number of steps for smoothness
+ let step = 0;
+ // Using requestAnimationFrame for smoother animation
+ const frame = ()=>{
+ // Calculate the progress (from 0 to 1)
+ const progress = step / steps;
+ // Interpolate the current values based on progress
+ const currentTop = starts.top + (finals.top - starts.top) * progress;
+ const currentLeft = starts.left + (finals.left - starts.left) * progress;
+ const currentWidth = starts.width + (finals.width - starts.width) * progress;
+ const currentHeight = starts.height + (finals.height - starts.height) * progress;
+ // Update the element's style
+ this.element.style.top = `${currentTop}px`;
+ this.element.style.left = `${currentLeft}px`;
+ this.element.style.width = `${currentWidth}px`;
+ this.element.style.height = `${currentHeight}px`;
+ // Log current size for debugging
+ console.log(`Step ${step}: ${currentTop}, ${currentLeft}`);
+ // Increase the step count
+ step++;
+ // Continue animating until we reach the final step
+ if (step <= steps) requestAnimationFrame(frame);
+ else {
+ this.element.classList.toggle('open');
+ if (!this.isOpen) this.destroyItself();
+ }
+ };
+ // Start the animation
+ requestAnimationFrame(frame);
+ }
+ placeItself() {
+ document.body.appendChild(this.element);
+ }
+ destroyItself() {
+ if (!document.body.contains(this.element)) return;
+ document.body.removeChild(this.element);
+ }
+}
+
+
+class $3e29c386d1910a1d$export$2e2bcd8739ae039 {
+ currentImage = null;
+ shadows = {};
+ /**
+ * ============
+ * Initializers
+ * ============
+ */ constructor({ container: container }){
+ this.container = container;
+ this.initOverlay();
+ this.initImages();
+ this.initControls();
+ }
+ initOverlay() {
+ this.overlay = new (0, $1e566b6277893a87$export$2e2bcd8739ae039)();
+ this.overlay.element.addEventListener('click', (e)=>{
+ this.closeCurrent();
+ });
+ }
+ initImages() {
+ this.images = document.querySelectorAll(`${this.container} img[data-libo]`);
+ function wrapInLink(image) {
+ // wrap image with a link if it's not already wrapped
+ const parent = image.parentElement;
+ let link;
+ if (!parent || parent.tagName !== 'A') {
+ link = document.createElement('a');
+ link.href = image.src;
+ // replace image with the linked one
+ parent.insertBefore(link, image);
+ link.appendChild(image);
+ } else link = parent;
+ return link;
+ }
+ this.images.forEach((image)=>{
+ // generate unique id for each image
+ image.id = crypto.randomUUID();
+ // make sure every image has a link
+ const link = wrapInLink(image);
+ // click link to open lightbox
+ link.addEventListener('click', (e)=>{
+ e.preventDefault();
+ this.openLightBox(image);
+ });
+ });
+ }
+ initControls() {
+ // keyboard shortcuts
+ document.addEventListener('keydown', (e)=>{
+ if (e.key === 'Escape' || e.key === ' ') this.closeCurrent();
+ });
+ // scroll to dismiss
+ document.body.addEventListener('wheel', (e)=>{
+ this.closeCurrent();
+ });
+ }
+ /**
+ * ============
+ * Actions
+ * ============
+ */ openLightBox(image) {
+ // hide and store original image
+ image.style.visibility = 'hidden';
+ this.currentImage = image;
+ // get shadow of this image
+ const shadow = this.shadows[image.id] || new (0, $ec04822463bc4394$export$2e2bcd8739ae039)(image);
+ if (!this.shadows[image.id]) this.shadows[image.id] = shadow;
+ // place and open shadow
+ if (!document.body.contains(shadow.element)) shadow.placeItself();
+ shadow.open();
+ this.overlay.show();
+ }
+ closeLightBox(image) {
+ // show and unstore original image
+ image.style.visibility = 'visible';
+ this.currentImage = null;
+ // close shadow
+ const shadow = this.shadows[image.id];
+ if (!shadow) return;
+ shadow.close();
+ this.overlay.hide();
+ }
+ closeCurrent() {
+ if (!this.currentImage) return;
+ this.closeLightBox(this.currentImage);
+ }
+ closeAll() {
+ this.images.forEach((image)=>{
+ this.closeLightBox(image);
+ });
+ this.overlay.hide();
+ }
+}
+
+
+export {$3e29c386d1910a1d$export$2e2bcd8739ae039 as default};
+//# sourceMappingURL=lightbox.min.js.map
diff --git a/dist/lightbox.min.js.map b/dist/lightbox.min.js.map
new file mode 100644
index 0000000..5dd3139
--- /dev/null
+++ b/dist/lightbox.min.js.map
@@ -0,0 +1 @@
+{"mappings":"ACAe;IACb,SAAS,IAAI;IACb,eAAe,KAAK;IAEpB,aAAc;QACZ,MAAM,UAAU,SAAS,aAAa,CAAC;QACvC,QAAQ,EAAE,GAAG;QACb,QAAQ,SAAS,CAAC,GAAG,CAAC;QAEtB,oBAAoB;QACpB,QAAQ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY;QACxC,QAAQ,KAAK,CAAC,OAAO,GAAG;QAExB,IAAI,CAAC,OAAO,GAAG;QACf,SAAS,IAAI,CAAC,WAAW,CAAC;QAE1B,OAAO,IAAI;IACb;IAEA,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;IACzC;IAEA,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG;IAC9B;AACF;;;AC5Be;IACb,SAAS,OAAM;IACf,SAAS,MAAK;IAEd;;;;GAIC,GAED,YAAY,KAAK,CAAE;QACjB,IAAI,CAAC,MAAM,CAAC;QACZ,IAAI,CAAC,wBAAwB;QAC7B,OAAO,IAAI;IACb;IAEA,OAAO,KAAK,EAAE;QACZ,sBAAsB;QACtB,MAAM,cAAc,SAAS,aAAa,CAAC;QAC3C,YAAY,GAAG,GAAG,MAAM,GAAG;QAC3B,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE;QAC1C,YAAY,SAAS,CAAC,GAAG,CAAC;QAE1B,kCAAkC;QAClC,YAAY,KAAK,CAAC,GAAG,GAAG,MAAM,SAAS;QACvC,YAAY,KAAK,CAAC,IAAI,GAAG,MAAM,UAAU;QACzC,YAAY,KAAK,CAAC,KAAK,GAAG,MAAM,WAAW;QAC3C,YAAY,KAAK,CAAC,MAAM,GAAG,MAAM,YAAY;QAC7C,YAAY,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAEtC,SAAS,IAAI,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG;IACjB;IAEA,2BAA2B;QACzB,qBAAqB;QACrB,MAAM,IAAI;YACR,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS;YAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;YAC/B,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY;QACnC;QAEA,MAAM,IAAI,CAAC;QACX,MAAM,SAAS;QAEf,uBAAuB;QACvB,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY;QACpC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa;QACrC,MAAM,QAAQ,KAAK;QAEnB,MAAM,KAAK,OAAO,UAAU,GAAG,SAAO;QACtC,MAAM,KAAK,OAAO,WAAW,GAAG,SAAO;QAEvC,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,IAAI;QACvB,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG;QAErB,IAAI,EAAE,MAAM,IAAI,IAAI;YAClB,EAAE,MAAM,GAAG;YACX,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG;QACvB;QAEA,2BAA2B;QAC3B,EAAE,IAAI,GAAG,AAAC,CAAA,KAAK,EAAE,KAAK,AAAD,IAAK,IAAI;QAC9B,EAAE,GAAG,GAAG,AAAC,CAAA,KAAK,EAAE,MAAM,AAAD,IAAK,IAAI;QAE9B,IAAI,CAAC,UAAU,GAAG;QAClB,IAAI,CAAC,aAAa,GAAG;IACvB;IAEA;;;;GAIC,GAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU;IAClD;IAEA,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa;IAClD;IAEA,QAAQ,MAAM,EAAE,MAAM,EAAE;QACtB,4CAA4C;QAC5C,MAAM,QAAQ,IAAI,iCAAiC;QACnD,IAAI,OAAO;QAEX,qDAAqD;QACrD,MAAM,QAAQ;YACZ,uCAAuC;YACvC,MAAM,WAAW,OAAO;YAExB,mDAAmD;YACnD,MAAM,aAAa,OAAO,GAAG,GAAG,AAAC,CAAA,OAAO,GAAG,GAAG,OAAO,GAAG,AAAD,IAAK;YAC5D,MAAM,cAAc,OAAO,IAAI,GAAG,AAAC,CAAA,OAAO,IAAI,GAAG,OAAO,IAAI,AAAD,IAAK;YAChE,MAAM,eAAe,OAAO,KAAK,GAAG,AAAC,CAAA,OAAO,KAAK,GAAG,OAAO,KAAK,AAAD,IAAK;YACpE,MAAM,gBAAgB,OAAO,MAAM,GAAG,AAAC,CAAA,OAAO,MAAM,GAAG,OAAO,MAAM,AAAD,IAAK;YAExE,6BAA6B;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,YAAY,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,EAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;YAEhD,iCAAiC;YACjC,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,aAAa;YAEzD,0BAA0B;YAC1B;YAEA,mDAAmD;YACnD,IAAI,QAAQ,OACV,sBAAsB;iBACjB;gBACL,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa;YACtC;QACF;QAEA,sBAAsB;QACtB,sBAAsB;IACxB;IAEA,cAAc;QACZ,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO;IACxC;IAEA,gBAAgB;QACd,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG;QAC3C,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO;IACxC;AACF;;;AFpIe;IACb,eAAe,KAAK;IACpB,UAAU,CAAC,EAAE;IAEb;;;;GAIC,GAED,YAAY,aAAE,SAAS,EAAE,CAAE;QACzB,IAAI,CAAC,SAAS,GAAG;QACjB,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,YAAY;IACnB;IAEA,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,GAAA,wCAAM;QACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAA;YAC7C,IAAI,CAAC,YAAY;QACnB;IACF;IAEA,aAAa;QACX,IAAI,CAAC,MAAM,GAAG,SAAS,gBAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QAE1E,SAAS,WAAW,KAAK;YACvB,qDAAqD;YACrD,MAAM,SAAS,MAAM,aAAa;YAClC,IAAI;YACJ,IAAI,CAAC,UAAU,OAAO,OAAO,KAAK,KAAK;gBACrC,OAAO,SAAS,aAAa,CAAC;gBAC9B,KAAK,IAAI,GAAG,MAAM,GAAG;gBACrB,oCAAoC;gBACpC,OAAO,YAAY,CAAC,MAAM;gBAC1B,KAAK,WAAW,CAAC;YACnB,OACE,OAAO;YAET,OAAO;QACT;QAEA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAClB,oCAAoC;YACpC,MAAM,EAAE,GAAG,OAAO,UAAU;YAC5B,mCAAmC;YACnC,MAAM,OAAO,WAAW;YACxB,8BAA8B;YAC9B,KAAK,gBAAgB,CAAC,SAAS,CAAA;gBAC7B,EAAE,cAAc;gBAChB,IAAI,CAAC,YAAY,CAAC;YACpB;QACF;IACF;IAEA,eAAe;QACb,qBAAqB;QACrB,SAAS,gBAAgB,CAAC,WAAW,CAAA;YACnC,IAAI,EAAE,GAAG,KAAK,YAAY,EAAE,GAAG,KAAK,KAClC,IAAI,CAAC,YAAY;QAErB;QACA,oBAAoB;QACpB,SAAS,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAA;YACtC,IAAI,CAAC,YAAY;QACnB;IACF;IAEA;;;;GAIC,GAED,aAAa,KAAK,EAAE;QAClB,gCAAgC;QAChC,MAAM,KAAK,CAAC,UAAU,GAAG;QACzB,IAAI,CAAC,YAAY,GAAG;QAEpB,2BAA2B;QAC3B,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAA,GAAA,wCAAK,EAAE;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EACzB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG;QAG3B,wBAAwB;QACxB,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,OAAO,GAAG,OAAO,WAAW;QAC/D,OAAO,IAAI;QAEX,IAAI,CAAC,OAAO,CAAC,IAAI;IACnB;IAEA,cAAc,KAAK,EAAE;QACnB,kCAAkC;QAClC,MAAM,KAAK,CAAC,UAAU,GAAG;QACzB,IAAI,CAAC,YAAY,GAAG;QAEpB,eAAe;QACf,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ;QACb,OAAO,KAAK;QAEZ,IAAI,CAAC,OAAO,CAAC,IAAI;IACnB;IAEA,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY;IACtC;IAEA,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAClB,IAAI,CAAC,aAAa,CAAC;QACrB;QACA,IAAI,CAAC,OAAO,CAAC,IAAI;IACnB;AACF","sources":["src/lightbox.js","src/overlay.js","src/shadow.js"],"sourcesContent":["import Overlay from './overlay.js';\nimport Shadow from './shadow.js';\n\nexport default class LightBox {\n currentImage = null;\n shadows = {};\n\n /**\n * ============\n * Initializers\n * ============\n */\n\n constructor({ container }) {\n this.container = container;\n this.initOverlay();\n this.initImages();\n this.initControls();\n }\n\n initOverlay() {\n this.overlay = new Overlay();\n this.overlay.element.addEventListener('click', e => {\n this.closeCurrent();\n });\n }\n\n initImages() {\n this.images = document.querySelectorAll(`${this.container} img[data-libo]`);\n\n function wrapInLink(image) {\n // wrap image with a link if it's not already wrapped\n const parent = image.parentElement;\n let link;\n if (!parent || parent.tagName !== 'A') {\n link = document.createElement('a');\n link.href = image.src;\n // replace image with the linked one\n parent.insertBefore(link, image);\n link.appendChild(image);\n } else {\n link = parent;\n }\n return link;\n }\n\n this.images.forEach(image => {\n // generate unique id for each image\n image.id = crypto.randomUUID();\n // make sure every image has a link\n const link = wrapInLink(image);\n // click link to open lightbox\n link.addEventListener('click', e => {\n e.preventDefault();\n this.openLightBox(image);\n });\n });\n }\n\n initControls() {\n // keyboard shortcuts\n document.addEventListener('keydown', e => {\n if (e.key === 'Escape' || e.key === ' ') {\n this.closeCurrent();\n }\n });\n // scroll to dismiss\n document.body.addEventListener('wheel', e => {\n this.closeCurrent();\n });\n }\n\n /**\n * ============\n * Actions\n * ============\n */\n\n openLightBox(image) {\n // hide and store original image\n image.style.visibility = 'hidden';\n this.currentImage = image;\n\n // get shadow of this image\n const shadow = this.shadows[image.id] || new Shadow(image);\n if (!this.shadows[image.id]) {\n this.shadows[image.id] = shadow;\n }\n\n // place and open shadow\n if (!document.body.contains(shadow.element)) shadow.placeItself();\n shadow.open();\n\n this.overlay.show();\n }\n\n closeLightBox(image) {\n // show and unstore original image\n image.style.visibility = 'visible';\n this.currentImage = null;\n\n // close shadow\n const shadow = this.shadows[image.id];\n if (!shadow) return;\n shadow.close();\n\n this.overlay.hide();\n }\n\n closeCurrent() {\n if (!this.currentImage) return;\n this.closeLightBox(this.currentImage);\n }\n\n closeAll() {\n this.images.forEach(image => {\n this.closeLightBox(image);\n });\n this.overlay.hide();\n }\n}\n","export default class Overlay {\n zIndex = 900;\n zIndexHidden = -100;\n\n constructor() {\n const overlay = document.createElement('div');\n overlay.id = 'libo-overlay';\n overlay.classList.add('libo-overlay');\n\n // initialized state\n overlay.style.zIndex = this.zIndexHidden;\n overlay.style.opacity = '0';\n\n this.element = overlay;\n document.body.appendChild(overlay);\n\n return this;\n }\n\n show() {\n this.element.style.opacity = '1';\n this.element.style.zIndex = this.zIndex;\n }\n\n hide() {\n this.element.style.opacity = '0';\n this.element.style.zIndex = '-100';\n }\n}\n","export default class Shadow {\n zIndex = '1000'\n isOpen = false\n\n /**\n * ============\n * Constructors\n * ============\n */\n\n constructor(image) {\n this.create(image);\n this.calculateStartsAndFinals();\n return this;\n }\n\n create(image) {\n // create shadow image\n const shadowImage = document.createElement('img');\n shadowImage.src = image.src;\n shadowImage.id = `libo-shadow-${image.id}`;\n shadowImage.classList.add('libo-shadow');\n\n // style and position shadow image\n shadowImage.style.top = image.offsetTop;\n shadowImage.style.left = image.offsetLeft;\n shadowImage.style.width = image.offsetWidth;\n shadowImage.style.height = image.offsetHeight;\n shadowImage.style.zIndex = this.zIndex;\n\n document.body.appendChild(shadowImage);\n this.element = shadowImage;\n }\n\n calculateStartsAndFinals() {\n // get starting state\n const s = {\n top: this.element.offsetTop,\n left: this.element.offsetLeft,\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }\n\n const f = {};\n const margin = 50;\n\n // calculate final size\n const nw = this.element.naturalWidth;\n const nh = this.element.naturalHeight;\n const ratio = nw / nh;\n\n const ww = window.innerWidth - margin*2;\n const wh = window.innerHeight - margin*2;\n\n f.width = Math.min(nw, ww);\n f.height = f.width / ratio;\n\n if (f.height >= wh) {\n f.height = wh;\n f.width = f.height * ratio;\n }\n\n // calculate final position\n f.left = (ww - f.width) / 2 + margin;\n f.top = (wh - f.height) / 2 + margin;\n\n this.finalState = f;\n this.startingState = s;\n }\n\n /**\n * ============\n * Actions\n * ============\n */\n\n open() {\n this.isOpen = true;\n this.animate(this.startingState, this.finalState)\n }\n\n close() {\n this.isOpen = false;\n this.animate(this.finalState, this.startingState);\n }\n\n animate(starts, finals) {\n // Set up the interval for smooth transition\n const steps = 20; // Number of steps for smoothness\n let step = 0;\n\n // Using requestAnimationFrame for smoother animation\n const frame = () => {\n // Calculate the progress (from 0 to 1)\n const progress = step / steps;\n\n // Interpolate the current values based on progress\n const currentTop = starts.top + (finals.top - starts.top) * progress;\n const currentLeft = starts.left + (finals.left - starts.left) * progress;\n const currentWidth = starts.width + (finals.width - starts.width) * progress;\n const currentHeight = starts.height + (finals.height - starts.height) * progress;\n\n // Update the element's style\n this.element.style.top = `${currentTop}px`;\n this.element.style.left = `${currentLeft}px`;\n this.element.style.width = `${currentWidth}px`;\n this.element.style.height = `${currentHeight}px`;\n\n // Log current size for debugging\n console.log(`Step ${step}: ${currentTop}, ${currentLeft}`);\n\n // Increase the step count\n step++;\n\n // Continue animating until we reach the final step\n if (step <= steps) {\n requestAnimationFrame(frame);\n } else {\n this.element.classList.toggle('open');\n if (!this.isOpen) this.destroyItself();\n }\n };\n\n // Start the animation\n requestAnimationFrame(frame);\n }\n\n placeItself() {\n document.body.appendChild(this.element);\n }\n\n destroyItself() {\n if (!document.body.contains(this.element)) return;\n document.body.removeChild(this.element);\n }\n}\n"],"names":[],"version":3,"file":"lightbox.min.js.map","sourceRoot":"../"} \ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..d716725
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,3074 @@
+{
+ "name": "libo",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "devDependencies": {
+ "parcel": "^2.15.4"
+ }
+ },
+ "node_modules/@lezer/common": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz",
+ "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@lezer/lr": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz",
+ "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@lmdb/lmdb-darwin-arm64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz",
+ "integrity": "sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-darwin-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz",
+ "integrity": "sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-arm": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz",
+ "integrity": "sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-arm64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz",
+ "integrity": "sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz",
+ "integrity": "sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-win32-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz",
+ "integrity": "sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@mischnic/json-sourcemap": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz",
+ "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@lezer/common": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "json5": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
+ "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
+ "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
+ "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
+ "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
+ "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
+ "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@parcel/bundler-default": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.15.4.tgz",
+ "integrity": "sha512-4vkaZuwGqL8L7NqEgjRznz9/QoeVKk0Z6z2nzfpdnSWA4xX3moUj+JeoqGUbyFGuPzfCma4SA4+txnQbKu0edQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/graph": "3.5.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/cache": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.15.4.tgz",
+ "integrity": "sha512-x/QgMuVvXQV6uNhIF+6kz6SzhVVkwf6WPSVG/xQvGMEiBabForDVYIhIEuN3RzUXCU352CGM6d8TtLLg61W1fw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/fs": "2.15.4",
+ "@parcel/logger": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "lmdb": "2.8.5"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@parcel/codeframe": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.15.4.tgz",
+ "integrity": "sha512-ErAPEQaJIpB+ocNZ3rl8AEK6piA7JBInwZLNU0eHMthm01Ssb10JkpAadyn1w9IVfCey+kqQcEeWv47Yh6mL1Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/compressor-raw": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.15.4.tgz",
+ "integrity": "sha512-gECePZxVXBwyo0DYbAq4V4SimVzHaJ3p8QOgFIfOqNmlEBbhLf3QSjArFPJNKiHZaJuclh4a+IShFBN+u6tXXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/config-default": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.15.4.tgz",
+ "integrity": "sha512-chUE4NpcSXpMfTcSmgl4Q78zH+ZFe0qdgZLBtF4EH2QQakW7wAXAYRxS2/P3xFkUj0/51sExhbCFWgulrlGDPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/bundler-default": "2.15.4",
+ "@parcel/compressor-raw": "2.15.4",
+ "@parcel/namer-default": "2.15.4",
+ "@parcel/optimizer-css": "2.15.4",
+ "@parcel/optimizer-html": "2.15.4",
+ "@parcel/optimizer-image": "2.15.4",
+ "@parcel/optimizer-svg": "2.15.4",
+ "@parcel/optimizer-swc": "2.15.4",
+ "@parcel/packager-css": "2.15.4",
+ "@parcel/packager-html": "2.15.4",
+ "@parcel/packager-js": "2.15.4",
+ "@parcel/packager-raw": "2.15.4",
+ "@parcel/packager-svg": "2.15.4",
+ "@parcel/packager-wasm": "2.15.4",
+ "@parcel/reporter-dev-server": "2.15.4",
+ "@parcel/resolver-default": "2.15.4",
+ "@parcel/runtime-browser-hmr": "2.15.4",
+ "@parcel/runtime-js": "2.15.4",
+ "@parcel/runtime-rsc": "2.15.4",
+ "@parcel/runtime-service-worker": "2.15.4",
+ "@parcel/transformer-babel": "2.15.4",
+ "@parcel/transformer-css": "2.15.4",
+ "@parcel/transformer-html": "2.15.4",
+ "@parcel/transformer-image": "2.15.4",
+ "@parcel/transformer-js": "2.15.4",
+ "@parcel/transformer-json": "2.15.4",
+ "@parcel/transformer-node": "2.15.4",
+ "@parcel/transformer-postcss": "2.15.4",
+ "@parcel/transformer-posthtml": "2.15.4",
+ "@parcel/transformer-raw": "2.15.4",
+ "@parcel/transformer-react-refresh-wrap": "2.15.4",
+ "@parcel/transformer-svg": "2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@parcel/core": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.15.4.tgz",
+ "integrity": "sha512-+TXxTm58lFwXXObFAEclwKX1p1AdixcD+M7T4NeFIQzQ4F20Vr+6oybCSqW1exNA3uHqVDDFLx7TT78seVjvkg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.1",
+ "@parcel/cache": "2.15.4",
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/events": "2.15.4",
+ "@parcel/feature-flags": "2.15.4",
+ "@parcel/fs": "2.15.4",
+ "@parcel/graph": "3.5.4",
+ "@parcel/logger": "2.15.4",
+ "@parcel/package-manager": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/profiler": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/types": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "@parcel/workers": "2.15.4",
+ "base-x": "^3.0.11",
+ "browserslist": "^4.24.5",
+ "clone": "^2.1.2",
+ "dotenv": "^16.5.0",
+ "dotenv-expand": "^11.0.7",
+ "json5": "^2.2.3",
+ "msgpackr": "^1.11.2",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/diagnostic": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.15.4.tgz",
+ "integrity": "sha512-8MAqefwzBKceNN3364OLm+p4HRD7AfimfFW3MntLxPB6bnelc9UBg5c9zEm34zYEctbmky8gqYgAUSDjqYC5Hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/error-overlay": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/error-overlay/-/error-overlay-2.15.4.tgz",
+ "integrity": "sha512-xxeaWm8fV8Z4uGy/c09mOvmFSHBOgF1gCMQwLCwZvfMLqIWkdZaUQ2cRhWZIS6pOXaRVC7YpcXzk2DOiSUNSbQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/events": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.15.4.tgz",
+ "integrity": "sha512-SBq4zstaFr7XQaXNaQmUuVh1swCUHrhtPCOSofvkJoQGhjsuhQlh4t0NmUikyKNdj7C1j40xCS1kGHuUO29b0g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/feature-flags": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/feature-flags/-/feature-flags-2.15.4.tgz",
+ "integrity": "sha512-DJqZVtbfjWJseM0gk7yyDkAuOhP7/FVwZ/YVqjozIqXBhmQm07xctiqNQyZX2vBbQsxmVbjpqyq+DOj45WPEzQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/fs": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.15.4.tgz",
+ "integrity": "sha512-5cahD2ByQaSi+YN0aDvrMWXZvs3mP7C5ey8zcDTDn7JxJa51sMqOQcdU3VUTzQFtAPeRM2KxUkxLhBBXgQqHZA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/feature-flags": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/types-internal": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "@parcel/watcher": "^2.0.7",
+ "@parcel/workers": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@parcel/graph": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.5.4.tgz",
+ "integrity": "sha512-uF7kyQXWK2fQZvG5eE0N3avYGLQE5Q0vyJsyypNcFW3kXNnrkZCUtbG7urmdae9mmZ2jXIVN4q4Bhd9pefGj9A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/feature-flags": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/logger": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.15.4.tgz",
+ "integrity": "sha512-rQ7F5+FMQ7t+w5NGFRT8CWHhym0aunduufCjlafvRzUSKEN/5/nwTfCe9I5QsthGlXJWs+ZTy4zQ+wLtZQRBKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/events": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/markdown-ansi": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.15.4.tgz",
+ "integrity": "sha512-u5Lwcr4ZVBSLFbKYht+mJqJ3ZMXvJdmDMU5eDtrIEKPpu9LrIDdPpDEXBoyO6pDsoV/2AqyXUUMzBRyCatkkoQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/namer-default": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.15.4.tgz",
+ "integrity": "sha512-EXsoQ1S+5ZIfy8431E7F0vVS7bfH5JpZ+vFVcUpArJDkhmMG7T/eP6Kp9CXHLJmn7ki1x7iIVytrja0XXRQWBQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/node-resolver-core": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.6.4.tgz",
+ "integrity": "sha512-g3+usMnr7pfRqbMAksOpNA7GJk7HUNW1Wxx7Shhp4w0K9JUdVrd2LRKwZxbqL7H9NqWtVvUOT9cZbMlDR6bO1w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.1",
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/fs": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-css": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.15.4.tgz",
+ "integrity": "sha512-KQLuqwcvVFTNFtM+bzfvQivwunmhVAngmR4NiI8zQaykidYH28V8YkVAQmpbLbgoGad/UgG7grb0UshvnrQHpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.15.4",
+ "browserslist": "^4.24.5",
+ "lightningcss": "^1.30.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-html": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-html/-/optimizer-html-2.15.4.tgz",
+ "integrity": "sha512-gBvt6RdDVMyO1Flvdtc8DxpxLgIXhaKuVXEjHdAP7sEW0SMdSd6r/tl6Plmcszig7sDwhDf6IsQOIvbzGHYZZg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/utils": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-image": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.15.4.tgz",
+ "integrity": "sha512-M8fo7eEL6JRcmLhSX9pUUGU4MPrPrE9cMNcwIt3DQLnSvQ+sshhUDa6t9hKWeHHhs16BHvxrvksN2TIbkgHODQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "@parcel/workers": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@parcel/optimizer-svg": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-svg/-/optimizer-svg-2.15.4.tgz",
+ "integrity": "sha512-pPdjRaLPqjAEROXIHLc6JWLLki56alhuUNbalhLqBCgktZrrq2dGCjBEVgxqRczc9D+ePCX/e/xci4tC0Tkcbg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/utils": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-swc": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.15.4.tgz",
+ "integrity": "sha512-2m5cYESVCq6AGx252eSTArZ1Oc1Ve4GBGL7NhvgbNqOthyXlc2qAed6rCkARrBd8pfEl5+2XHeK1ijDAZdIZ/A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.15.4",
+ "@swc/core": "^1.11.24",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/package-manager": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.15.4.tgz",
+ "integrity": "sha512-KZONBcEJ24moQdrpU0zJh9CYk3KKbpB5RUM70utAORem1yQKms+0Y4YED3njq6nZzbgwUN/Csc+powUHLZStvg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/fs": "2.15.4",
+ "@parcel/logger": "2.15.4",
+ "@parcel/node-resolver-core": "3.6.4",
+ "@parcel/types": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "@parcel/workers": "2.15.4",
+ "@swc/core": "^1.11.24",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@parcel/packager-css": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.15.4.tgz",
+ "integrity": "sha512-bzSaNf+I5lmJFu95wSG2k7pGwjCDesZsV6Y9sozIL2LoSxqvkGhm/ABXAa3Ed7dLe3tSAEBzJcyqShQgLzSzuw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.15.4",
+ "lightningcss": "^1.30.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-html": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.15.4.tgz",
+ "integrity": "sha512-Uayux6A2Anm66Kmq22QhD0TuVp9LiRCMuPUzBd6n4ekNlG0Lzm6K3/okMkPG65nKbNjq5qcPscFWlDxggvjt2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/types": "2.15.4",
+ "@parcel/utils": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-js": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.15.4.tgz",
+ "integrity": "sha512-96bqhs1jyd28CfWQD+Yn8rSsd1ar7voHWyBtMLimsK+bDJIzL26Z7jWyRDwXRuLErYC01EoXRIRctxtmeRVJ2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/types": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "globals": "^13.24.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-raw": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.15.4.tgz",
+ "integrity": "sha512-CaSpDt5jjcO0SYCtsDhw6yfTDQuDFQ875H42W/ftvSQL7RfLRljPthnbdcy9chvKBbvRBQF+0z8Sxwehrd5hsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-svg": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.15.4.tgz",
+ "integrity": "sha512-qHsyOgnzoA2XGMLIYUnX79XAaV327VTWQvIzju/OmOjcff4o3uiEcNL8w9k3p2w2oPXOLoQ0THMiivoUQSM8GQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/types": "2.15.4",
+ "@parcel/utils": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-wasm": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.15.4.tgz",
+ "integrity": "sha512-YPVij7zrBchtXr/y29P4uh3C/+19PMhhLibYF/8oMJKkFkeU3Uv00/XLm915vdBPrIPjgw0YuIfLzUKip1uGtg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/plugin": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.15.4.tgz",
+ "integrity": "sha512-XVehjmzk8ZDOFf/BXo26L76ZqCGNKIQcN2ngxAnq0KRY/WFanL8yLaL0qQq+c9whlu09hkGz1CuhFBLAIjJMYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/types": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/profiler": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.15.4.tgz",
+ "integrity": "sha512-ezVZlttUmQ1MQD5e8yVb07vSGYEFOB59Y/jaxL9mGSLZkVhMIIHe/7SuA+4qVAH8dlg6bslXRqlsunLMPEgPsg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/events": "2.15.4",
+ "@parcel/types-internal": "2.15.4",
+ "chrome-trace-event": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-cli": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.15.4.tgz",
+ "integrity": "sha512-us0HIwuJqpSguf+yi4n8foabVs26JGvRB/eSOf0KkRldxFciYLn4NJ8rt3Xm1zvxlDiSkD4v2n77u+ouIZ+AEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/types": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "chalk": "^4.1.2",
+ "term-size": "^2.2.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-dev-server": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.15.4.tgz",
+ "integrity": "sha512-uCNeDyArNNXI9YThlxyTx7+5ZSxlewyUdyrLdDZCqvn8s1xNB9W8sUNVps7mJZQSc+2ZRk3wyDemURD67uJk/A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/codeframe": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-tracer": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.15.4.tgz",
+ "integrity": "sha512-9W1xsb/FtobCQ4z847nI6hFDaTZHLeThv/z05EF77R30RX2k+unG9ac5NQB1v4KLx09Bhfre32+sjYNReWxWlg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "chrome-trace-event": "^1.0.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/resolver-default": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.15.4.tgz",
+ "integrity": "sha512-4uKo3FFnubtIc4rM9jZiQQXpa1slawyRy5btJEfTFvbcnz0dm3WThLrsPDMfmPwNr9F/n5x8yzDLI6/fZ/elgA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/node-resolver-core": "3.6.4",
+ "@parcel/plugin": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-browser-hmr": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.15.4.tgz",
+ "integrity": "sha512-KRGzbxDUOQUkrJKxxY0WyU7oVaa9TvWTRlpuGJXzQJs/hw8vkAAoAm8+ptpypvBC8LnxFHzGbSyHPfL8C8MQOw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/utils": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-js": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.15.4.tgz",
+ "integrity": "sha512-zNRK+693CMkYiA0ckjPOmz+JVHD9bVzp27itcMyuDH6l/Or8m09RgCC4DIdIxBqiplsDSe39DwEc5X7b0vvcjw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-rsc": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-rsc/-/runtime-rsc-2.15.4.tgz",
+ "integrity": "sha512-yHc4HEwzCQYLqa6Q1WtZ8xJeaDAk0p2i0b3ABq2I+izmRjer4jertlsEwh9mf9Z1eUGtJobdGYzl8Ai1VfhC3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-service-worker": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.15.4.tgz",
+ "integrity": "sha512-NGq/wS34GIVzo2ZURBjCqgHV+PU7eTcngCzmmk/wrCEeWnr13ld+CAIxVZoqyNJwYsF6VQanrjSM2/LhCXEdyA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.15.4.tgz",
+ "integrity": "sha512-OxOux8z8YEYg23+15uMmYaloFp3x1RwcliBay6HqxUW7RTmtI1/z+xd8AtienCckACD60gvDGy04LjgbEGdJVg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/rust-darwin-arm64": "2.15.4",
+ "@parcel/rust-darwin-x64": "2.15.4",
+ "@parcel/rust-linux-arm-gnueabihf": "2.15.4",
+ "@parcel/rust-linux-arm64-gnu": "2.15.4",
+ "@parcel/rust-linux-arm64-musl": "2.15.4",
+ "@parcel/rust-linux-x64-gnu": "2.15.4",
+ "@parcel/rust-linux-x64-musl": "2.15.4",
+ "@parcel/rust-win32-x64-msvc": "2.15.4"
+ },
+ "peerDependencies": {
+ "napi-wasm": "^1.1.2"
+ },
+ "peerDependenciesMeta": {
+ "napi-wasm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@parcel/rust-darwin-arm64": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-darwin-arm64/-/rust-darwin-arm64-2.15.4.tgz",
+ "integrity": "sha512-cEpNDeEtvM5Nhj0QLN95QbcZ9yY6Z5W3+2OeHvnojEAP8Rp1XGzqVTTZdlyKyN1KTiyfzIOiQJCiEcr+kMc5Nw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-darwin-x64": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-darwin-x64/-/rust-darwin-x64-2.15.4.tgz",
+ "integrity": "sha512-jL9i13sXKeBXXz8Z3BNYoScPOi+ljBA0ubAE3PN5DCoAA6wS4/FsAiRSIUw+3uxqASBD7+JvaT5sDUga1Xft5g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-arm-gnueabihf": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm-gnueabihf/-/rust-linux-arm-gnueabihf-2.15.4.tgz",
+ "integrity": "sha512-c8HpVdDugCutlMILoOlkTioih9HGJpQrzS2G3cg/O1a5ZTacooGf3eGJGoh6dUBEv9WEaEb6zsTRwFv2BgtZcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-arm64-gnu": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm64-gnu/-/rust-linux-arm64-gnu-2.15.4.tgz",
+ "integrity": "sha512-Wcfs/JY4FnuLxQaU+VX2rI4j376Qo2LkZmq4zp9frnsajaAqmloVQfnbUkdnQPEL4I38eHXerzBX3LoXSxnZKA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-arm64-musl": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm64-musl/-/rust-linux-arm64-musl-2.15.4.tgz",
+ "integrity": "sha512-xf9HxosEn3dU5M0zDSXqBaG8rEjLThRdTYqpkxHW/qQGzy0Se+/ntg8PeDHsSG5E9OK8xrcKH46Lhaw0QBF/Zw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-x64-gnu": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-x64-gnu/-/rust-linux-x64-gnu-2.15.4.tgz",
+ "integrity": "sha512-RigXVCFj6h0AXmkuxU61rfgYuW+PXBR6qSkR2I20yKnAXoMfxLaZy9YJ3sAPMEjT9zXgzGAX+3syItMF+bRjaw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-x64-musl": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-x64-musl/-/rust-linux-x64-musl-2.15.4.tgz",
+ "integrity": "sha512-tHlRgonSr5ca8OvhbGzZUggCgCOirRz5dHhPSCm4ajMxeDMamwprq6lKy0sCNTXht4TXIEyugBcfEuRKEeVIBw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-win32-x64-msvc": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-win32-x64-msvc/-/rust-win32-x64-msvc-2.15.4.tgz",
+ "integrity": "sha512-YsX6vMl/bfyxqZSN7yiaZQKLoJKELSZYcvg8gIv4CF1xkaTdmfr6gvq2iCyoV+bwrodNohN4Xfl8r7Wniu1/UA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/source-map": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz",
+ "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-libc": "^1.0.3"
+ },
+ "engines": {
+ "node": "^12.18.3 || >=14"
+ }
+ },
+ "node_modules/@parcel/transformer-babel": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.15.4.tgz",
+ "integrity": "sha512-rb4nqZcTLkLD3nvuYJ9wwNb8x6cajBK2l6csdYMLEI4516SkIzkO/gs2cZ9M5q+CMhxAqpdEnrwektbOtQQasg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.15.4",
+ "browserslist": "^4.24.5",
+ "json5": "^2.2.3",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-css": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.15.4.tgz",
+ "integrity": "sha512-6tVwSJsOssXgcB5XMAQGsexAffoBEi8GVql3YQqzI1EwVYs9zr+B5mfbesb4aWcegR02w99NHJYFP9CrOr3SWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.15.4",
+ "browserslist": "^4.24.5",
+ "lightningcss": "^1.30.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-html": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.15.4.tgz",
+ "integrity": "sha512-gzYPbbyEuV8nzPojw86eD5Kf93AYUWcY8lu33gu0XHROJH7mq5MAwPwtb/U+EfpeCd0/oKbLzA2mkQksM1NncQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-image": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.15.4.tgz",
+ "integrity": "sha512-KOVwj2gKjUybuzHwarC/YVqRf3r2BD4/2ysckozj6DIji/bq3fd2rE9yqxWXO+zt918PsOSTzMKwRnaseaXLKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "@parcel/workers": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@parcel/transformer-js": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.15.4.tgz",
+ "integrity": "sha512-HX76PalPjqCLmXJnuSeMr2km8WlnUsW8oaRZ6FuZtSo9QD8BqIcwKGxSbIy9JHkObBgmrMOVpGtYrJM4/BlYbg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.15.4",
+ "@parcel/workers": "2.15.4",
+ "@swc/helpers": "^0.5.0",
+ "browserslist": "^4.24.5",
+ "nullthrows": "^1.1.1",
+ "regenerator-runtime": "^0.14.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@parcel/transformer-json": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.15.4.tgz",
+ "integrity": "sha512-1ASeOSH3gPeaXyy/TZ7ce2TOfJ3ZeK5SBnDs+MM8LFcQsTwdRJKjX/4Qq9RgtMRryYAGHgMa09Gvp9FuFRyd+w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "json5": "^2.2.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-node": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-node/-/transformer-node-2.15.4.tgz",
+ "integrity": "sha512-zV5jvZA971eQMcFtaWZkW1UfAH/G6XVM/87oJ2B4ip9o9aKUWIl296rrfg2xWxUQyPhy11B17CJ6b8NgieqqrQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-postcss": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.15.4.tgz",
+ "integrity": "sha512-cNueSpOj3ulmMX85xr9clh/t0+mzVE+Q3H7Cf/OammqUkG/xjmilq4q7ZTgQFyUtUdWpE9LWWHojbJuz6k2Ulw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "clone": "^2.1.2",
+ "nullthrows": "^1.1.1",
+ "postcss-value-parser": "^4.2.0",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-posthtml": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.15.4.tgz",
+ "integrity": "sha512-dETI+CeKMwu5Dpvu8BrQtex6nwzbNWKQkXseiM5x6+Wf3j9RD2NVpAMBRMjLkw1XlC9Whz1egxLSgKlMKbjg0w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4",
+ "@parcel/utils": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-raw": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.15.4.tgz",
+ "integrity": "sha512-pY2j09UCW2v1fwQtVLlCztSdPOxhq0YcWmTHCk/mRp8zuUR+eyHgsz48FrUxRF7cr/EBjc0zlFcregRMRcaTMg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-react-refresh-wrap": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.15.4.tgz",
+ "integrity": "sha512-MgoQrV8+BVjrczAns5ZZbTERGB3/U4MaCBmbg3CuiTiIyS8IJQnGi+OhYRdKAB4NlsgpMZ5T2JrRbQUIm9MM8Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/error-overlay": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "react-refresh": "^0.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-svg": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.15.4.tgz",
+ "integrity": "sha512-Q22e0VRbx62VXFlvJWIlc8ihlLaPQgtnAZz5E1/+ojiNb+k0PmIRjNJclVWPF6IdCsLO5tnGfUOaXe2OnZz28Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/plugin": "2.15.4",
+ "@parcel/rust": "2.15.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.15.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/types": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.15.4.tgz",
+ "integrity": "sha512-fS3UMMinLtzn/NTSx/qx38saBgRniylldh0XZEUcGeME4D2Llu/QlLv+YZ/LJqrFci3fPRM+YAn2K+JT/u+/0w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/types-internal": "2.15.4",
+ "@parcel/workers": "2.15.4"
+ }
+ },
+ "node_modules/@parcel/types-internal": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/types-internal/-/types-internal-2.15.4.tgz",
+ "integrity": "sha512-kl5QEZ8PTWRvMkwmk7IG3VpP/5/MSGwt9Nrj9ctXLdZkDdXZpK7IbXAthLQ4zrByMaqZULL2IyDuBqBgfuAqlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/feature-flags": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "utility-types": "^3.11.0"
+ }
+ },
+ "node_modules/@parcel/utils": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.15.4.tgz",
+ "integrity": "sha512-29m09sfPx0GHnmy1kkZ5XezprepdFGKKKUEJkyiYA4ERf55jjdnU2/GP4sWlZXxjh2Y+JFoCAFlCamEClq/8eA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/codeframe": "2.15.4",
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/logger": "2.15.4",
+ "@parcel/markdown-ansi": "2.15.4",
+ "@parcel/rust": "2.15.4",
+ "@parcel/source-map": "^2.1.1",
+ "chalk": "^4.1.2",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
+ "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.1",
+ "@parcel/watcher-darwin-arm64": "2.5.1",
+ "@parcel/watcher-darwin-x64": "2.5.1",
+ "@parcel/watcher-freebsd-x64": "2.5.1",
+ "@parcel/watcher-linux-arm-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm-musl": "2.5.1",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm64-musl": "2.5.1",
+ "@parcel/watcher-linux-x64-glibc": "2.5.1",
+ "@parcel/watcher-linux-x64-musl": "2.5.1",
+ "@parcel/watcher-win32-arm64": "2.5.1",
+ "@parcel/watcher-win32-ia32": "2.5.1",
+ "@parcel/watcher-win32-x64": "2.5.1"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
+ "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
+ "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
+ "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
+ "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
+ "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
+ "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
+ "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
+ "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
+ "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
+ "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
+ "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
+ "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
+ "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/workers": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.15.4.tgz",
+ "integrity": "sha512-wZ/5/mfjs5aeqhXY0c6fwuaBFeNpOXoOq2CKPSMDXt+GX2u/9/1bpVxN9XeGTAJO+ZD++CLq0hyzTnIHy58nyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/logger": "2.15.4",
+ "@parcel/profiler": "2.15.4",
+ "@parcel/types-internal": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.15.4"
+ }
+ },
+ "node_modules/@swc/core": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz",
+ "integrity": "sha512-WezcBo8a0Dg2rnR82zhwoR6aRNxeTGfK5QCD6TQ+kg3xx/zNT02s/0o+81h/3zhvFSB24NtqEr8FTw88O5W/JQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/counter": "^0.1.3",
+ "@swc/types": "^0.1.24"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/swc"
+ },
+ "optionalDependencies": {
+ "@swc/core-darwin-arm64": "1.13.5",
+ "@swc/core-darwin-x64": "1.13.5",
+ "@swc/core-linux-arm-gnueabihf": "1.13.5",
+ "@swc/core-linux-arm64-gnu": "1.13.5",
+ "@swc/core-linux-arm64-musl": "1.13.5",
+ "@swc/core-linux-x64-gnu": "1.13.5",
+ "@swc/core-linux-x64-musl": "1.13.5",
+ "@swc/core-win32-arm64-msvc": "1.13.5",
+ "@swc/core-win32-ia32-msvc": "1.13.5",
+ "@swc/core-win32-x64-msvc": "1.13.5"
+ },
+ "peerDependencies": {
+ "@swc/helpers": ">=0.5.17"
+ },
+ "peerDependenciesMeta": {
+ "@swc/helpers": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.13.5.tgz",
+ "integrity": "sha512-lKNv7SujeXvKn16gvQqUQI5DdyY8v7xcoO3k06/FJbHJS90zEwZdQiMNRiqpYw/orU543tPaWgz7cIYWhbopiQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.13.5.tgz",
+ "integrity": "sha512-ILd38Fg/w23vHb0yVjlWvQBoE37ZJTdlLHa8LRCFDdX4WKfnVBiblsCU9ar4QTMNdeTBEX9iUF4IrbNWhaF1Ng==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.13.5.tgz",
+ "integrity": "sha512-Q6eS3Pt8GLkXxqz9TAw+AUk9HpVJt8Uzm54MvPsqp2yuGmY0/sNaPPNVqctCX9fu/Nu8eaWUen0si6iEiCsazQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.13.5.tgz",
+ "integrity": "sha512-aNDfeN+9af+y+M2MYfxCzCy/VDq7Z5YIbMqRI739o8Ganz6ST+27kjQFd8Y/57JN/hcnUEa9xqdS3XY7WaVtSw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.13.5.tgz",
+ "integrity": "sha512-9+ZxFN5GJag4CnYnq6apKTnnezpfJhCumyz0504/JbHLo+Ue+ZtJnf3RhyA9W9TINtLE0bC4hKpWi8ZKoETyOQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-gnu": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.13.5.tgz",
+ "integrity": "sha512-WD530qvHrki8Ywt/PloKUjaRKgstQqNGvmZl54g06kA+hqtSE2FTG9gngXr3UJxYu/cNAjJYiBifm7+w4nbHbA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-musl": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.13.5.tgz",
+ "integrity": "sha512-Luj8y4OFYx4DHNQTWjdIuKTq2f5k6uSXICqx+FSabnXptaOBAbJHNbHT/06JZh6NRUouaf0mYXN0mcsqvkhd7Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.13.5.tgz",
+ "integrity": "sha512-cZ6UpumhF9SDJvv4DA2fo9WIzlNFuKSkZpZmPG1c+4PFSEMy5DFOjBSllCvnqihCabzXzpn6ykCwBmHpy31vQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.13.5.tgz",
+ "integrity": "sha512-C5Yi/xIikrFUzZcyGj9L3RpKljFvKiDMtyDzPKzlsDrKIw2EYY+bF88gB6oGY5RGmv4DAX8dbnpRAqgFD0FMEw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.5.tgz",
+ "integrity": "sha512-YrKdMVxbYmlfybCSbRtrilc6UA8GF5aPmGKBdPvjrarvsmf4i7ZHGCEnLtfOMd3Lwbs2WUZq3WdMbozYeLU93Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.5.17",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz",
+ "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@swc/types": {
+ "version": "0.1.25",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz",
+ "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/counter": "^0.1.3"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/base-x": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz",
+ "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.3.tgz",
+ "integrity": "sha512-mcE+Wr2CAhHNWxXN/DdTI+n4gsPc5QpXpWnyCQWiQYIYZX+ZMJ8juXZgjRa/0/YPJo/NSsgW15/YgmI4nbysYw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.26.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.0.tgz",
+ "integrity": "sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "baseline-browser-mapping": "^2.8.2",
+ "caniuse-lite": "^1.0.30001741",
+ "electron-to-chromium": "^1.5.218",
+ "node-releases": "^2.0.21",
+ "update-browserslist-db": "^1.1.3"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001741",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz",
+ "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/commander": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.6.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
+ "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "11.0.7",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz",
+ "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dotenv": "^16.4.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.218",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.218.tgz",
+ "integrity": "sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/get-port": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz",
+ "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lightningcss": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz",
+ "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-darwin-arm64": "1.30.1",
+ "lightningcss-darwin-x64": "1.30.1",
+ "lightningcss-freebsd-x64": "1.30.1",
+ "lightningcss-linux-arm-gnueabihf": "1.30.1",
+ "lightningcss-linux-arm64-gnu": "1.30.1",
+ "lightningcss-linux-arm64-musl": "1.30.1",
+ "lightningcss-linux-x64-gnu": "1.30.1",
+ "lightningcss-linux-x64-musl": "1.30.1",
+ "lightningcss-win32-arm64-msvc": "1.30.1",
+ "lightningcss-win32-x64-msvc": "1.30.1"
+ }
+ },
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz",
+ "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz",
+ "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz",
+ "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz",
+ "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz",
+ "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz",
+ "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz",
+ "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz",
+ "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz",
+ "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz",
+ "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss/node_modules/detect-libc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.0.tgz",
+ "integrity": "sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lmdb": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz",
+ "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "msgpackr": "^1.9.5",
+ "node-addon-api": "^6.1.0",
+ "node-gyp-build-optional-packages": "5.1.1",
+ "ordered-binary": "^1.4.1",
+ "weak-lru-cache": "^1.2.2"
+ },
+ "bin": {
+ "download-lmdb-prebuilds": "bin/download-prebuilds.js"
+ },
+ "optionalDependencies": {
+ "@lmdb/lmdb-darwin-arm64": "2.8.5",
+ "@lmdb/lmdb-darwin-x64": "2.8.5",
+ "@lmdb/lmdb-linux-arm": "2.8.5",
+ "@lmdb/lmdb-linux-arm64": "2.8.5",
+ "@lmdb/lmdb-linux-x64": "2.8.5",
+ "@lmdb/lmdb-win32-x64": "2.8.5"
+ }
+ },
+ "node_modules/lmdb/node_modules/node-addon-api": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+ "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/msgpackr": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz",
+ "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==",
+ "dev": true,
+ "license": "MIT",
+ "optionalDependencies": {
+ "msgpackr-extract": "^3.0.2"
+ }
+ },
+ "node_modules/msgpackr-extract": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
+ "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "node-gyp-build-optional-packages": "5.2.2"
+ },
+ "bin": {
+ "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
+ },
+ "optionalDependencies": {
+ "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
+ }
+ },
+ "node_modules/msgpackr-extract/node_modules/detect-libc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.0.tgz",
+ "integrity": "sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
+ "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^2.0.1"
+ },
+ "bin": {
+ "node-gyp-build-optional-packages": "bin.js",
+ "node-gyp-build-optional-packages-optional": "optional.js",
+ "node-gyp-build-optional-packages-test": "build-test.js"
+ }
+ },
+ "node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-gyp-build-optional-packages": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz",
+ "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-libc": "^2.0.1"
+ },
+ "bin": {
+ "node-gyp-build-optional-packages": "bin.js",
+ "node-gyp-build-optional-packages-optional": "optional.js",
+ "node-gyp-build-optional-packages-test": "build-test.js"
+ }
+ },
+ "node_modules/node-gyp-build-optional-packages/node_modules/detect-libc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.0.tgz",
+ "integrity": "sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.21",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz",
+ "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nullthrows": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
+ "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ordered-binary": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz",
+ "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/parcel": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.15.4.tgz",
+ "integrity": "sha512-eZHQ/omuQ7yBYB9XezyzSqhc826oy/uhloCNiej1CTZ+twAqJVtp4MRvTGMcivKhE+WE8QkYD5XkJHLLQsJQcg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/config-default": "2.15.4",
+ "@parcel/core": "2.15.4",
+ "@parcel/diagnostic": "2.15.4",
+ "@parcel/events": "2.15.4",
+ "@parcel/feature-flags": "2.15.4",
+ "@parcel/fs": "2.15.4",
+ "@parcel/logger": "2.15.4",
+ "@parcel/package-manager": "2.15.4",
+ "@parcel/reporter-cli": "2.15.4",
+ "@parcel/reporter-dev-server": "2.15.4",
+ "@parcel/reporter-tracer": "2.15.4",
+ "@parcel/utils": "2.15.4",
+ "chalk": "^4.1.2",
+ "commander": "^12.1.0",
+ "get-port": "^4.2.0"
+ },
+ "bin": {
+ "parcel": "lib/bin.js"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/react-refresh": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.16.0.tgz",
+ "integrity": "sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/term-size": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
+ "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+ "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/utility-types": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz",
+ "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/weak-lru-cache": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz",
+ "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==",
+ "dev": true,
+ "license": "MIT"
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..f8c3cfd
--- /dev/null
+++ b/package.json
@@ -0,0 +1,83 @@
+{
+ "name": "libo",
+ "version": "1.0.0",
+ "description": "Light-weight and focused JavaScript image lightbox plugin.",
+ "keywords": [
+ "lightbox"
+ ],
+ "homepage": "https://github.com/BigCoke233/libo#readme",
+ "bugs": {
+ "url": "https://github.com/BigCoke233/libo/issues"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/BigCoke233/libo.git"
+ },
+ "license": "MIT",
+ "author": "Eltrac",
+ "type": "module",
+ "source": "src/lightbox.js",
+ "main": "dist/lightbox.min.js",
+ "directories": {
+ "test": "test"
+ },
+ "scripts": {
+ "test": "parcel watch",
+ "build": "parcel build"
+ },
+ "dependencies": {
+ "ansi-styles": "^4.3.0",
+ "base-x": "^3.0.11",
+ "baseline-browser-mapping": "^2.8.3",
+ "braces": "^3.0.3",
+ "browserslist": "^4.26.0",
+ "caniuse-lite": "^1.0.30001741",
+ "chalk": "^4.1.2",
+ "chrome-trace-event": "^1.0.4",
+ "clone": "^2.1.2",
+ "color-convert": "^2.0.1",
+ "color-name": "^1.1.4",
+ "commander": "^12.1.0",
+ "detect-libc": "^1.0.3",
+ "dotenv": "^16.6.1",
+ "dotenv-expand": "^11.0.7",
+ "electron-to-chromium": "^1.5.218",
+ "escalade": "^3.2.0",
+ "fill-range": "^7.1.1",
+ "get-port": "^4.2.0",
+ "globals": "^13.24.0",
+ "has-flag": "^4.0.0",
+ "is-extglob": "^2.1.1",
+ "is-glob": "^4.0.3",
+ "is-number": "^7.0.0",
+ "json5": "^2.2.3",
+ "lightningcss": "^1.30.1",
+ "lightningcss-darwin-arm64": "^1.30.1",
+ "lmdb": "^2.8.5",
+ "micromatch": "^4.0.8",
+ "msgpackr": "^1.11.5",
+ "msgpackr-extract": "^3.0.3",
+ "node-addon-api": "^7.1.1",
+ "node-gyp-build-optional-packages": "^5.1.1",
+ "node-releases": "^2.0.21",
+ "nullthrows": "^1.1.1",
+ "ordered-binary": "^1.6.0",
+ "parcel": "^2.15.4",
+ "picocolors": "^1.1.1",
+ "picomatch": "^2.3.1",
+ "postcss-value-parser": "^4.2.0",
+ "react-refresh": "^0.16.0",
+ "regenerator-runtime": "^0.14.1",
+ "safe-buffer": "^5.2.1",
+ "semver": "^7.7.2",
+ "supports-color": "^7.2.0",
+ "term-size": "^2.2.1",
+ "to-regex-range": "^5.0.1",
+ "tslib": "^2.8.1",
+ "type-fest": "^0.20.2",
+ "update-browserslist-db": "^1.1.3",
+ "utility-types": "^3.11.0",
+ "weak-lru-cache": "^1.2.2"
+ },
+ "devDependencies": {}
+}
diff --git a/test/index.html b/test/index.html
index e5812d2..3b443ef 100644
--- a/test/index.html
+++ b/test/index.html
@@ -23,7 +23,7 @@
/>
</div>
<script type="module">
- import LightBox from '/src/lightbox.js';
+ import LightBox from '/dist/lightbox.min.js';
const lightbox = new LightBox({
container: '.libo'
});